Difference between revisions of "Cine/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(another possible souce cleanup...)
(moving stuff around)
Line 6: Line 6:
* rename functions and variables that need it
* rename functions and variables that need it
* try to remove the huge switch in computeScriptStackSub, the computations performed should rely on the opcodes table setup in setupOpcodes. Maybe extend the "OpcodeProc" type to have a size field and base the "stack size" computation on it.
* try to remove the huge switch in computeScriptStackSub, the computations performed should rely on the opcodes table setup in setupOpcodes. Maybe extend the "OpcodeProc" type to have a size field and base the "stack size" computation on it.
* cleanup loading of BASESON.SND, this is just another bundle file, the existing code in part.cpp should be able to deal with it
* reorganize functions and variables in cine/various.cpp


== Bugs ==
== Bugs ==
* fix gfx layers (FW)
* fix gfx layers / z-ordering (FW)
* alignment fixes (done ?)
* alignment fixes (done ?)
* endianness fixes (done ?)
* endianness fixes (done ?)
Line 16: Line 18:
* add support for SoundFX music modules in Amiga/Atari versions (this should be done without duplicating the existing code in cine/sfx_player.cpp, if possible)
* add support for SoundFX music modules in Amiga/Atari versions (this should be done without duplicating the existing code in cine/sfx_player.cpp, if possible)
* add support for MT32 and PC Speaker instruments in the PC SoundFX player code
* add support for MT32 and PC Speaker instruments in the PC SoundFX player code
* reorganize functions and variables in cine/various.cpp
* revise the way z-ordering is done
* reconsider the various memory allocations (especially the buffers for offscreen rendering)
* reconsider the various memory allocations (especially the buffers for offscreen rendering)
* the original Amiga version of FW used 32 colors, allowing to display the control menu with some kind of transparency
* the original Amiga version of FW used 32 colors, allowing to display the control menu with some kind of transparency
* cleanup loading of BASESON.SND, this is just another bundle file, the existing code in part.cpp should be able to deal with it
* finish OS support (crash early in-game)
* finish OS support (crash early in-game)
== Notes ==
Future Wars and Operation Stealth used the first version of the engine, called '''Cinematique'''.
For Cruise for a Corpse, the engine was largely modified and doesn't have much in common with the initial version (it seems that only the resource loading/unpacking and music/sound routines have been re-used). That second version of the engine was named '''Cinematique Evolution'''.

Revision as of 23:15, 16 March 2007

Status

Future Wars was completable with original cinE. Operation Stealth has gfx glitches and now crashes early.

Source Cleanup

  • try to OO'ify the code (wrap the code into C++ classes where applicable/suitable)
  • rename functions and variables that need it
  • try to remove the huge switch in computeScriptStackSub, the computations performed should rely on the opcodes table setup in setupOpcodes. Maybe extend the "OpcodeProc" type to have a size field and base the "stack size" computation on it.
  • cleanup loading of BASESON.SND, this is just another bundle file, the existing code in part.cpp should be able to deal with it
  • reorganize functions and variables in cine/various.cpp

Bugs

  • fix gfx layers / z-ordering (FW)
  • alignment fixes (done ?)
  • endianness fixes (done ?)

ToDo

  • add support for sound effects in Amiga/Atari versions
  • add support for SoundFX music modules in Amiga/Atari versions (this should be done without duplicating the existing code in cine/sfx_player.cpp, if possible)
  • add support for MT32 and PC Speaker instruments in the PC SoundFX player code
  • reconsider the various memory allocations (especially the buffers for offscreen rendering)
  • the original Amiga version of FW used 32 colors, allowing to display the control menu with some kind of transparency
  • finish OS support (crash early in-game)