Difference between revisions of "SCI/TODO"

Jump to navigation Jump to search
m (fixed small typo)
(savegame task is done)
Line 56: Line 56:
* Check old FreeSCI-scummvm branch / repos by Jordi for change that could be salvaged, e.g. the files <code>sfx/device/scumm-midi.cpp</code> and <code>sfx/softseq/scumm-adlib.cpp</code>, or the modifications to the SCI debugger to use the ScummVM console, and stuff.
* Check old FreeSCI-scummvm branch / repos by Jordi for change that could be salvaged, e.g. the files <code>sfx/device/scumm-midi.cpp</code> and <code>sfx/softseq/scumm-adlib.cpp</code>, or the modifications to the SCI debugger to use the ScummVM console, and stuff.
* Replace the SCI sound mixer by Audio::Mixer
* Replace the SCI sound mixer by Audio::Mixer
* I just made a big commit where I started to overhaul the file handling in SCI. It's incomplete, and may cause regressions, but it is a start. The biggest chunk left to take care of is engine/kfile.cpp, and in there mostly handling of savegames (and possibly of writing to other files -- if SCI ever does that?). This needs to be switched to the savefile API. One problem there is that FreeSCI apparently stored saves as multiple files, grouped by a directory. Does anybody know whether the original Sierra SCI also did this? Our savefile API does not (and will not) support subdirs. Some ideas on how to resolve this:
* I just made a big commit where I started to overhaul the file handling in SCI. It's incomplete, and may cause regressions, but it is a start. The biggest chunk left to take care of is engine/kfile.cpp, and in there mostly reading/writing from/to other files than regular savegames. This needs to be switched to the savefile API.
# Fake subdirs by turning save_0/FILE into save_0_FILE. Or even better, into TARGET-FILE.0 or something like that.
# Revise the save/load code in SCI to put all those files into some kind of archive file.
# Maybe we don't need all those files? In a KQ4 save I made, there were only two files: state, and KQ4.id, which seems redundant (could be encoded into a header prefixed to 'state', plus the filename)
* make the SCI tools compilable (to avoid bitrot, while we change code that they depend on), and finally usable again.
* make the SCI tools compilable (to avoid bitrot, while we change code that they depend on), and finally usable again.