Follow the setup instructions here.
- Input Handling
- Integrate ImGui
- Basic Audio Engine Setup
- Text Rendering
- Load different fonts
- Resource System for textures (Try to make extensible for other things as well)
- Renderer Draw Texture From Source
- Animated Sprites
- Setup application to be accessible from anywhere in code (singleton or manager class)
- Make CMake generate more visual studio friendly project
- Add header for colour
- Add header for traps
- Precompiled headers
- Smart Pointer/Reference headers
- Get rid of smart pointers (I've decided I don't like them)
- Convert fonts to use resource system
- Convert shaders to use resource system
- Gamestate with layer system
- Implement custom dynamic cast for pointer classes
- Make sprite animation be based on timers
- Write better ImGui logic
- Use git submodules
- Integrate FrameBuffer code
- Logger
- Profiler
- Console
- Sprite colour tinting
- Make origin consistent (decide on where it is and make sure code matches it)
- Handle resize events from SDL (still needs to be better)
- UI System
- Dynamic text
- UI serializer
- Automatically deserialize UI files in a certain folder
- UI editor
- Buttons & UI Event system
- Remove sandbox game from repository
- Update CMakelists so projects can have minimal CMakelists
- Setup sample game repository
- Plan editor architecture
- Plan data driving game data
- Draw entire string as one texture
- Cache strings that don't change for text rendering
- Cache strings for UI dynamic text