Module Index
All major code modules and subsystems in Galaxy Eggbert.
Application
GalaxyEggbertApp — engine lifecycle, event subscription
Game Coordinator
GalaxyEggbertGame — scene, world, all subsystems
Player (Blupi)
Physics, input, AABB collision, sprite animation
Objects (Decor)
Enemy pool, collectibles, patrol movement
World Data
Voxel world: 100³ blocks, chunk-based storage
Chunk
Palette-compressed 10³ voxel container
Camera
3rd-person orbit camera
HUD
Lives, keys, shield, gauge display
Phase Manager
Game-phase state machine and overlay
Sound Manager
93-channel WAV audio playback
Save Data
GameData — 640-byte binary save file
Rendering
Urho3D scene graph, materials, sprites
Audio
WAV playback via Urho3D audio subsystem
Input
Keyboard/mouse reading via Urho3D Input
World File (.vwr)
Binary voxel format: header, chunk table, palette
Level Loading
.vwr and .txt world loading pipeline
Module Responsibilities
| Module | Files | Notes |
|---|---|---|
| Application lifecycle | GalaxyEggbertApp.hpp/.cpp, Program.cpp | Entry point; wraps Urho3D Application |
| Game logic | GalaxyEggbertGame.hpp/.cpp | Owns scene, world, all subsystems; phase dispatch |
| Player physics | Blupi.hpp/.cpp | AABB voxel collision, billboard sprite |
| Object pool | Decor.hpp/.cpp, ObjectNode.hpp/.cpp | 100-slot pool; patrol, pickup, collision events |
| Voxel data model | World.hpp/.cpp, Chunk.hpp/.cpp, Block.hpp | Engine-agnostic; 54 unit tests |
| Camera | Camera.hpp/.cpp | Smooth 3rd-person orbit; follows Blupi |
| HUD | HUD.hpp/.cpp | Urho3D UI elements; lives, keys, shield, gauge |
| Phase/overlay | PhaseManager.hpp/.cpp | Screen transitions; fullscreen background images + text |
| Audio | SoundManager.hpp/.cpp | 93 WAV channels; volume table from mobile-eggbert |
| Save file | GameData.hpp/.cpp | 640-byte binary; cross-compatible with mobile-eggbert |
| Animation tables | Tables.hpp/.cpp | Ported from mobile-eggbert Tables.cpp |
| Block type constants | BlockTypes.hpp | Named tile IDs; UV helpers |
| Game definitions | include/GalaxyEggbert/def/ | All enums: GamePhase, ObjectType, SoundChannel, etc. |
| World I/O | Worlds/BinaryIO.cpp, BitPacking.cpp | VWR file read/write; bit-packing |