aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/todo.txt
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/todo.txt')
-rw-r--r--engines/neverhood/todo.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/engines/neverhood/todo.txt b/engines/neverhood/todo.txt
new file mode 100644
index 0000000000..9d781e06ec
--- /dev/null
+++ b/engines/neverhood/todo.txt
@@ -0,0 +1,45 @@
+NOTE:
+-------
+Some of the TODOs should be done AFTER the whole game logic is implemented
+else the game disasm and reimplemtation code become even more different
+(unless I decide it's ok to do it :)
+
+TODOs which can be done any time:
+-----------------------------------
+- Cleanup
+- Clean up staticdata structs to look more like the ones in create_neverhood
+ (e.g. by using template classes etc.)
+ - Or use a common base class and manage all stuff in one single table and cast stuff accordingly
+
+TODOs which should be done only after the game logic is finished:
+-------------------------------------------------------------------
+- Maybe rework organization of files (e.g. put ALL Sprites into one separate file, same with Modules and Scenes)
+ - This would solve the problem of how to organize stuff which is used several times, and less headers would have to be included
+ - The move special scenes (SmackerScene) into the scenes file
+
+DONE:
+-------
+- Implement game menus
+- Rework sound system (I don't like that SoundResources need to be explicitly initialized in Scene constructors)
+ - Should be just a handle object which initializes itself
+ - Play routine should fill the handle so it can be stopped/queried later
+ - Basically like ScummVM own sound handles
+- RE and implement yet unknown music/sound stuff
+- Implement clever sprite redrawing code (dirty rectangles, microtiles etc.), only redraw what's neccessary
+- Rework the resource system
+ - The current system can be simplified a lot
+ - Also resource purging needs to be implemented
+- Maybe merge CollisionMan with Scene (since it's so far never used independently)
+- Give placeholder stuff (e.g. sub?????, _flag??? etc.) better fitting names
+- Use CursorMan for the mouse cursor (instead of using it like a normal sprite)
+ - This whould make it neccessary to call _system->updateScreen more often else
+ the mouse movement would be choppy
+
+TODOs which are experimental:
+-------------------------------
+NOTE: Since they affect the whole game, they really should be only implemented once the full game logic is implemented.
+These are nothing more than wild ideas for now, any might never be implemented.
+- Use states instead of separate callback methods
+- Try to move more stuff to neverhood.dat
+- Try to use more template functions instead of manually creating functions
+ (Can be coupled with the above to move parameters to the dat and only use IDs)