- Level editor zoom
- Load tileset on level load (so we can edit levels)
- Make a Player struct
- Handle animation state
- Handle input states
- Camera system
- Matrix struct
- Camera struct
- Orthographic projection matrix
- Camera follows player with 2x zoom
- BBox offset/resize
- Simple lab tileset
- Cleanup/Refactor stream!
- Make debug flag part of Debug struct.
- Remove unnecessary prints
- Make a 'global' Window to be used during callback fns.
- Leverage top level imports throughout
- Refactor checkCollision and checkCollisionRelative to return an optional entity ID instead of a bool.
- Make active texture IDs predictable (maybe define them as enums?)
- Add Atlas struct that can be derived from Texture (e.g. tex.makeAtlas()). Refactor Animations to use Atlases
- Fix duplicate naming in texture.zig
- Look into naming of texture fields (id vs name)
- Move VAO generation and updating to the entity manager.
- Look at switching to orphanage serializer.
- Make a Player struct?
- Handle animation state management in player struct.
- Telly walk/run animation
- Telly jump/fall animation
- Improve animation definitions
- Basic animation state management
- Use multiple textures
- Look at switching to orphanage serializer
- Matrices!
- Orthographic projection matrix
- Create the concept of an Atlas
- Refactor animations to use an atlas
- Basic level editor
- de/serialize level data
- Save/load from file
- Basic level editor
- extend manager to create individual components
- toggle between tile mode and bbox mode
- remove bounding boxes
- clean up level editing stuff
- de/serialize level data
- Save/load from file
- Basic level editor
- Fix panic from last stream
- define bounding boxes for the environment
- de/serialize level data
- Save/load from file
- Review what we did last time
- Basic level editor
- select a tile
- click to add a tile
- drag to "draw" tiles snapped to a grid
- right click to delete
- break sprite -> bbox 1:1 relationship
- manager can debug-draw bounding boxes
- define bounding boxes for the environment
- de/serialize level data
- Save/load from file
- Clean up last stream's work
- Simple environment tiles
- Switch to OpenGL 4.5
- Start on level editor
- draw lines (show cursor position) | Debug shader?
- draw cursor snapped to grid
- draw specific textures (tilesets)
- select a tile
- click and drag to "draw" tiles snapped to a grid
- define bounding boxes for the environment
- de/serialize level data
- Save/load from file
- Basic input
- Bounding boxes and collision detection
- Gravity (mostly to play with collisions)
- Create some openGL helpers around VAO/VBO/EBO since we're starting to create/manage them in different files
- Level editor: undo/redo
- Metal renderer (thanks Apple)
- Vulkan renderer (replace OpenGL)?