Open main menu

Tinsel/TODO

< Tinsel
Revision as of 02:07, 28 May 2012 by Digitall (talk | contribs) (Moving all "Happens in Original" bugs to BUGS page)
TODO List
Name Tinsel Engine TODO
Technical Contact(s) Tinsel Engine Team
Subsystem Engine

Missing features

  • The AdLib music does not sound right. I'm speculating that we would need to use the SAMPLE.* files from the original for Adlib instruments. Here is a description of the format probably used by SAMPLE.BNK: http://www.descent2.com/ddn/specs/bnk/ . The adlib.diff patch could possibly provide a starting point.
  • Return to launcher is currently impossible, because the game uses a ton of global variables to keeps its state. These are not reset when one exits one Tinsel game to the launcher and then starts another Tinsel game (possibly the same). A quick way to fix it would be the following:
    1. Identify all global variables (this includes "static" variables hidden inside function bodies).
    2. Optionally, remove the inline initialization for all of them. This way, Valgrind can detect if they are used uninitialized, which may help in tracking down problematic vars.
    3. Initialize each global variable (or at least each that needs it) in an InitFILENAME() method in each file, which is to be called by the TinselEngine constructor or some other appropriate place.
    4. On the long run, turning all these variables into members of to-be-added classes (i.e. objectifying the engine) is preferable, but the above seems to be the easiest and quickest solution.

Game issues

  • Perform play testing, look for problems, and then add them all here!
  • Check engine code for any 64-bit system incompatible code.
  • Check engine code for endian issues, specifically Big Endian issues.

Other stuff

  • Right now, we semi-arbitrarily assigned F5 & F7 to open the load/save dialogs (dreammaster did that to match Lure, which in turn follows the 'Sierra standard'). Maybe we can agree on some standard hotkeys which work in all (most/many) engines ?