Class Index
The real, current classes behind GalaxyEggbertCNA — not the retired Urho3D-era class names.
2026-07-04 rewrite
This reference previously documented classes (
GalaxyEggbertApp, Blupi,
Decor, HUD, PhaseManager, SoundManager,
CameraController, ObjectNode, GameData) that belonged to
a Urho3D-based architecture no longer present in the source tree. It now documents the classes
that actually exist in src/GalaxyEggbertCNA/ and the shared
include/GalaxyEggbert/Worlds/ data model.
GalaxyEggbertCNA — Application Layer
GalaxyEggbertCNA — World & Rendering
GEWorldRuntime
Loads .vwr (or secondary .txt) worlds; drives 6 fps tile animation.
GETerrainRenderer
Builds static + animated cube meshes from world blocks.
GETileAtlas
Block type → UV rect mapping into object-m.png.
GalaxyEggbertCNA — Player
Engine-Agnostic World Data Model (shared with Simple3D)
World
100×100×100 voxel world; save/load API (.vwr format).
Chunk
10×10×10 block container; palette + bit-packed indices.
Block
16-bit packed voxel value: 12-bit type + 4-bit metadata.
BlockMetadata
Bit-level accessor wrapper around the 4-bit metadata nibble.
VoxelConfig
Compile-time constants: ChunkSize=10, MaxPaletteEntries=256, etc.
Easy3D Helpers Used by GalaxyEggbertCNA
Easy3D::CubeMesh
CPU-side vertex/index builder for cube batches.
Easy3D::CubeMeshRenderer
Uploads cube mesh data to CNA buffers and draws it.
Enums and Definitions (include/GalaxyEggbert/def/)
| Enum | Description |
|---|---|
GamePhase | Screen/mode: None, First, Wait, Init, Play, Pause, Lost, Win, Trial, MainSetup, PlaySetup, Resume, Ranking |
ObjectType | 204 IDs (0–203), frozen to match mobile-eggbert's level format exactly |
BlupiAction | 88 animation states (Stop, March, Turn, Jump, Air, …), mirrors original ACTION_* |
SoundChannel | 93 channels (0–92), 1:1 with sound000.wav…sound092.wav |
SpriteChannel | Texture-atlas selector; mirrors original CH* constants |
DoorKeyFlags | Bitmask of held keys (Key1/Key2/Key3), serialized to save files |
Direction | None, Left, Right |
DecorAction | Camera-shake type: None, SmallShake, BigShake, ElectricShake |
GameSpeed | Slow=0, Normal=1, Fast=2, Faster=4, Fastest=8 |
KeyPressFlags | Bitmask: None, Jump, Fire, Down |
SecretPower | None, Shield, Power, Cloud, Hide |
ContinueMissionType | None, Pending, Active |
Utility
| Class/Namespace | File | Description |
|---|---|---|
BlockTypes (namespace) | include/GalaxyEggbert/BlockTypes.hpp | Block type constants; UV helpers; mobile icon ID conversion |
GameConstants | include/GalaxyEggbert/GameConstants.hpp | MAXCELX=100, MAXCELY=100, sprite cell sizes |