Difference between revisions of "Tinsel/TODO"

Jump to navigation Jump to search
971 bytes removed ,  22:22, 3 October 2020
The RTL feature has been implemented
(Update DW1 Mac status)
(The RTL feature has been implemented)
Line 8: Line 8:


* 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.
* 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:
*# Identify all global variables (this includes "static" variables hidden inside function bodies).
*# Optionally, remove the inline initialization for all of them. This way, [http://valgrind.org/ Valgrind] can detect if they are used uninitialized, which may help in tracking down problematic vars.
*# 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.
*# 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.
* Check engine code for any 64-bit system incompatible code.
* Check engine code for any 64-bit system incompatible code.
* Check engine code for endian issues, specifically Big Endian issues (most issues should be fixed by now).
* Check engine code for endian issues, specifically Big Endian issues (most issues should be fixed by now).
1,502

edits

Navigation menu