You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
10 KiB
197 lines
10 KiB
Todo:
|
|
- Ray picking for editor
|
|
- Add warning to genie build script when running on windows and WindowsSdkVersion cannot be found. This happens when the script is not run from vcvarsall command prompt
|
|
- Improve README and add a screenshot to make the repository ready for making it public
|
|
- Refactor all global application state into 'Application_Context' struct. A single global instance of which is available everywhere
|
|
? Improve bounding sphere calculation
|
|
- Change the way lights are set as uniforms to remove snprintf calls per frame for every light attribute
|
|
- Screen mouse coordinates to world-coordinates for aiming
|
|
- Player projectiles and sounds
|
|
- Console commands
|
|
- Console command history
|
|
- Console command help
|
|
- Space partitioning and scene handling
|
|
- Move Gui_State and Editor_State into game_state and modify usage as needed
|
|
- Get editor camera speed and other settings from config file
|
|
- Recompile Soloud on windows to use static sdl2 backend
|
|
- Figure out a way to reduce of remove snprintf calls from render code
|
|
- Re-Implement saving/loading scene to/from files
|
|
- Implement storing console's scroll location and restore it when console is toggled
|
|
- Implement collision/physics data serialization, read and write.
|
|
- Physics forces/torque etc
|
|
- Implement physics debug visualizations for other primitives and tri mesh shapes
|
|
- Serializing/Deserializing physics data
|
|
- Proper implementation of Scene struct with per-scene settings and configurations that can be loaded/saved to file instead of just dumping entities into a file
|
|
- Necessary basic editor additions like placing objects, scaling, rotating etc
|
|
- Add fallback shader
|
|
- Implement Game States
|
|
- Store Materials in new format supported by parser
|
|
- Add model description file which has the same syntax supported by parser and modify old blender exporter to conform to new standards
|
|
- Fix bugs with sound sources not updating
|
|
- Add creating distributable build and uploading to itch.io account support to GENie under windows and linux.
|
|
- Remove hardcoded numerical values from sscanf and other format strings.
|
|
? Recalculated bounding boxes for rotated meshes
|
|
? Wrap malloc and free calls in custom functions to track usage
|
|
? File extension checking for asset loading
|
|
? Only allocate hashmap bucket when required
|
|
- Mapping actions to keybindings, for example map action "Jump" to Space key etc
|
|
? Add marking or queuing up custom meshes for debug render with particular transform and color for rendering bounding spheres for example
|
|
? Interleaved vbos for meshes and changes to blender exporter accordingly
|
|
- Enumerate and save all the uniform and attribute positions in shader when it is added and cache them in shader object?
|
|
? Better handling incase assets folder is not found
|
|
- Write entity to/from file
|
|
- Ogg format loading and playback
|
|
- Sound streaming
|
|
- Implment missing sound source properties (inner/outer cone, getting sound source data)
|
|
- Shadow maps
|
|
- Print processor stats and machine capabilites RAM etc on every run to log.
|
|
- Do input maps really need to be queried by their string names?
|
|
- Write default config/keybindings etc to file if none are found in preferences dir
|
|
- Multisampled textures and framebuffers
|
|
- Validate necessary assets at game launch
|
|
- Gamma correctness
|
|
- Log and debug/stats output in gui
|
|
- Event Subsystem
|
|
- Textual/Binary format for data serialization and persistance
|
|
- Array based string type comptible with cstring(char*)
|
|
- ???
|
|
- Profit!
|
|
|
|
Improvements:
|
|
- Better naming semantics for examples, init/deinit for initialization and cleanup and create/destroy when memory is allocated or deallocated
|
|
|
|
|
|
Bugs:
|
|
- Better handling of wav format checking at load time
|
|
- Fix light rotation/direction bugs
|
|
- Fix lights type not being correctly saved/loaded from file
|
|
- Fix mouse button press/release behaviour by investigating how sdl handles mouse release or by explicitly caching mouse state by using event callbacks recieved when a mousebutton release event is reported by sdl
|
|
- Fix culling
|
|
|
|
Done:
|
|
* Input
|
|
* Shaders
|
|
* Geometry
|
|
* change struct usage
|
|
* change Array implementation
|
|
* resolve vec-types sizes
|
|
* Transform
|
|
* Deltatime
|
|
* Investigate about Exit() and at_exit() functions and whether to use them or not.
|
|
* Fix readme markdown
|
|
* Framebuffer and resolution independent rendering
|
|
* A simpler build system without dependencies
|
|
* Remove dependencies
|
|
* Remove Kazmath dependency
|
|
* Entity
|
|
* Find a permanent solution for build system
|
|
* Textures
|
|
* Camera
|
|
* Test render
|
|
* Fix input lag and other framerate related issues
|
|
* Materials
|
|
* Mesh/Model
|
|
* Add modifiers to input maps to enable combinations for example, c-x, m-k etc
|
|
* Heirarchical Transforms
|
|
* Materials with textures
|
|
* Lights!
|
|
* Fix problems with texture units
|
|
* Fix problems with frustrum culling
|
|
* Gui
|
|
* Fix mouse bugs on windows
|
|
* Configuration/Settings load/save handling
|
|
* Fix mousewheel bugs and gui not responding to mousewheel input
|
|
* Setup cross compilation with mingw or stick to msvc?
|
|
* Toggleable debug drawing for meshes
|
|
* Font selection
|
|
* Font atlas proper cleanup
|
|
* In second refactor pass, use entities everywhere, no need to pass in transform and model separately for example since they're both part of the same entity anyway
|
|
* Show SDL dialogbox if we cannot launch at all?
|
|
* Writing back to config file
|
|
* Reading from config file
|
|
* Variant -> String conversion procedure. Use in editor for debug var slots
|
|
* Add strings and booleans to variant types
|
|
* Fix Key release not being reported
|
|
* OpenAL not working in releasebuilds
|
|
* 3d sound using OpenAL
|
|
* Fix frustum culling bugs
|
|
* Array-based Hashmaps
|
|
* Fix bugs with heirarchical transformations
|
|
* Remove reduntant "settings" structures and move all configuration stuff to config variables
|
|
* Log output to file on every run
|
|
* Add option to specify where to read/write files from instead of being hard-coded assets dir
|
|
* Fix input map bugs
|
|
* Live data views in editor
|
|
* Camera resize on window reisze
|
|
* Resizable framebuffers and textures
|
|
* Support for multiple color attachments in framebuffers?
|
|
* Better way to store and manage textures attached to framebuffers
|
|
* Variant type
|
|
* Editor
|
|
* Fix frustum culling sometimes not working
|
|
* Compile and test on windows
|
|
* Fix mouse bugs
|
|
* Fix issues with opengl context showing 2.1 only
|
|
* Improve this readme
|
|
* Replace orgfile with simple text readme and reduce duplication
|
|
* Fix camera acting all weird when right click is held
|
|
* Fix README to conform with markdown syntax
|
|
* Added video driver selection to make game launch under wayland or x11 on linux.
|
|
* Separate game code into a dynamical library that can be reloaded at runtime.
|
|
* Move game, common and game library related code into separate folders.
|
|
* Fixed game crashing on exit after game library has been reloaded more than once.
|
|
* Made game compile and run under windows with visual studio 2017 using GENie
|
|
* Implemented file copy and file delete on windows and linux.
|
|
* Implemented a work-around for dll locking on windows by creating a copy of the game lib at launch and when reloading,
|
|
unloading the current dll, deleting it and creating new copy of the updated dll and loading that
|
|
* Added file copy and delete to platform api
|
|
* Made dll reloading workaround compatilble on linux
|
|
* Default keybindings as fallback
|
|
* Implemented writing scene to file
|
|
* Fixed space not being added after light entities are written to file by adding missing new-line
|
|
* Fixed error caused by the way eof was checked in scene file
|
|
* Camera fbo params are now written to file when entity is saved
|
|
* Fixed several bugs with entity loading
|
|
* Removed duplicate parsing logic
|
|
* Fixed bugs in stripping key name for input map
|
|
* Modify entity loading logic to use the new parsing code by parsing all entity properties into a hashmap first then recreating entity from that
|
|
* Implmented writing to file through the new Parser and Parser_Objects
|
|
* Changed Config to read/write using new Parser and Parser_Objects
|
|
* Implemented Reading/Writing keybindings using new parser object
|
|
* Replaced OpenAL with Soloud with SDL2 backend
|
|
* Implemented sound/listener loading from scene file
|
|
* Finished loading scene from file
|
|
* Initial implementation of immediate-mode batched sprite render
|
|
* Fixed bugs with shader include file pre-processor
|
|
* Fixed bugs with editor's camera property viewer
|
|
* Fixed bugs related to changing camera projection
|
|
* Fixed bugs with sprite batch renderer not working with projection matrix
|
|
* Fixed broken orthographic camera
|
|
* Implement necessary changes to run Soloud on linux
|
|
* Moved third party libs/include directories into root/lib and root/include. Put common includes like header-only libs into root/include/common and others which require platform specific stuff into root/include/linux etc.
|
|
* Got rid of pkg-confg and system-installed SDL2 dependancy on linux and instead put custom compiled SDL libs in libs folder similar to how we're handling it in windows
|
|
* Proper physics time-step and speed
|
|
* Proper handling of rigidbody associated with an entity and notifying it of movement or collision
|
|
* Added physics spheres and other primitive shapes
|
|
* Separated collision shape and rigidbody
|
|
* Implemented Getting/Modifying primitive physics shapes' values like length, radius etc
|
|
* Update physics if entity position/rotation/scale etc are changed
|
|
* Implemented Physics raycasting
|
|
* Implemented immediate mode renderer that can draw arbitrary points, lines and triangles
|
|
* Converted IM_Vertex array to only be used as temporary storage for vertices between begin and end calls
|
|
* Implemented Debug physics mesh drawing for box and sphere primitives
|
|
* Completed Phase 1 of codebase refactoring
|
|
* Improved editor camera handling
|
|
* Re-implemented showing all the entities in the editor
|
|
* Player init, update, visual representation and movement
|
|
* Switching between editor and game mode/cameras
|
|
* In-game basis for scrollable console/log-viewer
|
|
* Console log output
|
|
* Console error/warning output
|
|
* Implemented Auto scrolling to the bottom in console
|
|
* Implemented screen coordinate to ray conversion and ray-sphere collision
|
|
* Split todo and readme into two files
|
|
* Replace all renderer_check_gl calls with GL_CHECK macro
|
|
* Fixed Console bug when enabled in editor mode
|
|
* Migrated from bitbucket to github and from mercurial back to git
|
|
* Removed the game executable and game library split.
|
|
|