- Command to create a placeholder entity of a particular type in a file
- Reduce the opacity of wireframe around selected entity in editor
- Release mouse when window loses focus and limit fps
? Maybe reuse that same framebuffer/textures for active viewers
? When saving a scene entity entry, save the changed properties as well, that way when the scene is loaded, we load the base properties from archetype and the ones we changed per entry are saved when we saved the entity
this will prevent us from having needless amount of entities with only minor changes from one another
? Split up material declarations into their own separate files. Materials have a base material like Blinn or Unshaded and in the file we save an instance with modified properties.
@ -15,7 +14,6 @@ Todo:
? Change hierarchical transformations from parent/child to an entity having attachments/slots where another entity can be attached or mounted. This way we can have hierarchical transformations and not have to store
a whole enitity hierarchy when saving the entity. When loading the entity, we load the entity and see which entites are attached to it and get references to those entity in the scene, if they are not loaded we could
either load them there and then or complain to the scene that we couldn't find the attachements and just carry on as usual
- When loading entities, show an additional optional textfield where user can enter the name they want for the entity after it is loaded
- Add editor undo for transformation operations
- Decide how to handle scale when checking sphere-ray intersection
- Add material export for blender exporter?
@ -34,7 +32,6 @@ Todo:
- Basic Enemy
- Main Menu Scene
? Split this todo into gameplay/engine todos
- Multisampled buffers to bring back aa
- Change mouse behaviour to lock cursor when looking around so as not to interfere with gui elements when in editor mode
- Folder management api to create/delete folders when none exist. Dirent would suffice for our simple needs?
? Entity creator window to create new types of entities and write them
@ -43,10 +40,8 @@ Todo:
where new entities can be creating by dragging and dropping on to
the current scene
- Editor related messages/notifications in the bottom status bar
? Disable entity picking when tool is in use or only allow picking when pressing ALT
? Maybe remove physics engine and ode all together if we're not using it or investigate the memory leaks that it causes if we're going to keep it?
- Disable editor event recievers on game mode change
- Editor Undo
- Color picker
- Color palette, picker and dropper
- Key binding and function to snap editor camera to selected entity
@ -55,16 +50,11 @@ Todo:
- Mouse warp to opposite side of the window when it reaches bounds
- Add other axis combinations like YZ and XY to transform tool
- Transformation space selection for translation, rotation and scale.
- Subscribe and Unsubscribe based on game mode changes
- 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
- Show Transformation deltas for example a line showing where we are to where we are going to be if we click and apply the selected transformation
- 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
- Filter Scene hierarchy by search using entity name
- Command interface that allows applying commands to selected entity like r x 30 would rotate the selected entity or entities on x axis by 30 degrees
- Quick scene filter and entity selection by popping up a menu which has list of entities and fuzzy matches them based on the typed name
- Screen mouse coordinates to world-coordinates for aiming
- Player projectiles and sounds
- Space partitioning and scene handling
@ -85,9 +75,7 @@ Todo:
- 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
- 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
@ -108,6 +96,9 @@ Todo:
- Profit!
Improvements:
- Quick scene filter and entity selection by popping up a menu which has list of entities and fuzzy matches them based on the typed name
- Filter Scene hierarchy by search using entity name
- Show Transformation deltas for example a line showing where we are to where we are going to be if we click and apply the selected transformation
- Make selected mesh wireframe alpha in editor configurable
- Better naming semantics for example, init/deinit for initialization and cleanup and create/destroy when memory is allocated or deallocated
- Categorized entity list in editor for example different subtree for lights and static meshes
@ -402,4 +393,5 @@ Done:
* Add links to Itch.io builds of the game in readme and on the blog. Add link to blog in the readme as well
* Show version number in editor and console
* Save/Load base bounding boxes for entity types other than static mesh
* Disabled picking when a tool is active in editor
* Disabled picking when a tool is active in editor
* Simplified rendering further and removed unnecessary intermediate fbos