How fvlvte/czysta-c-gjerka works
Gjerka is a small Windows/OpenGL game runtime with a menu-driven view loop, a tile-world renderer, and gameplay/editor code in the core. The principal runtime path creates a window and menu, processes window events, updates the active view, and renders frames; gameplay and tile editing are additional domain paths implemented in the core. Bitmap loading, texture upload, and font rendering form the resource/rendering layer. No README is present, and several modules are represented only by the tree, so links to their behavior are omitted where the sampled code does not establish them.
Main entry points: core.c Core loop and handlers · render.opengl.c OpenGL renderer · window.win32.c Window and events · view.c View manager
Components 18
Runtime and views
- Core loop and handlers
gjerka/core.c - View manager
gjerka/view.c - Main menu view
gjerka/view_mainMenu.c
Game and world
- Game state
gjerka/game.h - Tile world
gjerka/world.c - Editor state
gjerka/core.c
Rendering
- OpenGL renderer
gjerka/render.opengl.c - Font manager
gjerka/font.c
Assets and platform
- Window and events
gjerka/window.win32.c - Font glyph data
gjerka/font_0_64.c - Asset manager
gjerka/assetManager.c - Bitmap loader
gjerka/image.c - System services
gjerka/system.win32.c - World bitmap
gjerka/asset/aha.bmp - Font bitmap
gjerka/asset/fonts/1f32_0.bmp
Other components
- Player / user
- Windows OS
- OpenGL
Connections 35
- Player / user → Window and events: sends input
- Windows OS → Window and events: delivers events
- Core loop and handlers → Window and events: creates window
- Core loop and handlers → View manager: creates manager
- Core loop and handlers → Main menu view: creates view
- Core loop and handlers → View manager: sets active view
- Core loop and handlers → View manager: binds window
- Core loop and handlers → Window and events: updates events
- Window and events → Core loop and handlers: stores input
- Core loop and handlers → View manager: updates view
- View manager → Main menu view: draws callback
- View manager → OpenGL renderer: begins and ends frame
- Window and events → Windows OS: creates and polls
- Window and events → OpenGL renderer: swaps buffers
- OpenGL renderer → OpenGL: issues draw calls
- OpenGL renderer → Font manager: initializes fonts
- OpenGL renderer → Font glyph data: uses glyph data
- Core loop and handlers → Game state: updates movement
- Core loop and handlers → Tile world: renders world
- Core loop and handlers → OpenGL renderer: draws entities and text
- Core loop and handlers → Editor state: handles tile selection
- Core loop and handlers → Tile world: renders editor
- Core loop and handlers → Asset manager: fetches UI asset
- Asset manager → Bitmap loader: loads bitmap
- Asset manager → OpenGL renderer: uploads texture
- Tile world → Bitmap loader: loads bitmap
- Tile world → OpenGL renderer: uploads and draws tiles
- Tile world → World bitmap: loads image data
- Bitmap loader → System services: reads file
- Font manager → Font bitmap: loads font page
- Font manager → Bitmap loader: loads bitmap
- Font manager → OpenGL renderer: uses textures
- OpenGL renderer → Window and events: flushes frame
- Window and events → System services: uses timing and memory
- Core loop and handlers → System services: uses timing and memory