Difference between revisions of "Cine/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
m (Cine TODO moved to Cine/TODO: subpage)
(Use Tracker template instead of BugTrackSF)
 
(38 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Status ==
{{Infobox_TODO|
Future Wars was completable with original cinE. Operation Stealth has gfx glitches and now crashes early,
taskname=Cine Engine TODO|
techcontact=[[Cine]] Engine Team|
subsystem=Engine|
}}


== Source Cleanup ==
== Source Cleanup ==
* try to OO'ify the code (wrap the code into C++ classes where applicable/suitable)
* Wrap the code into C++ classes where applicable/suitable. Possible classes candidates :
** Gfx/Screen (bg_list.cpp, gfx.cpp)
** Script (script.cpp)
** Resource (bg.cpp, msg.cpp, part.cpp, prc.cpp, pal.cpp)
** CineEngine (object.cpp, anim.cpp, various.cpp)
** Sound (already done)
* rename functions and variables that need it
* rename functions and variables that need it
* reorganize functions and variables in cine/various.cpp
== ToDo ==
* implement, adapt or remove the following options in the system menu :
** Pause
** Restart Game
** Change Backup Drive
* Add code to replace the original save/load dialogs with ScummVM dialogs, thus allowing 255 saveslots, rather than limited to 10 slots.
* Add ScummVM savegame thumbnail support (Need to maintain loading of older savegames where this is not present).
* add support for AtariST sound and music resources (if different from Amiga)
* add support PC Speaker instruments in the PC SoundFX player code (write PCSoundDriver subclasses)
* (maybe) add support for MIDI playback on General Midi devices. Currently the MIDI driver uses MT-32 specific sysEx commands to setup the instruments etc.
* add code for fadeIn/fadeOut
* optimize the rendering (doing a full screen and palette refresh on each frame could be avoided)
* use Common::List instead of custom linked lists (should allow removal and/or simplification of several functions)
* [[cruisE]] and [[Cine]] have several chunks of code in common, find a way to factorize
** sound code/system
** gfx routines
** unpacking routine
** resource loading (parts, vol.cnf)
* finish Operation Stealth support
** Graphics Glitches:
*** Scene 1 Room 4 (Airport - Baggage Belt) - Palette glitch if "Operate" is performed on "American Passport" inventory item.
*** Double fade out glitch on scene changes, notably in Scene 2 Room 5 (Bank Vault).
*** Scene 3 Underwater Animation Sequence seem very hard in last screen. Timing bug? Add "oxygenCheat" command for playtesting?
*** Scene 6 Room 2 (Mansion Study, Safe Closeup) - LED Digits (mainly 4) Missing Segments.
*** Scene 8 (Cutscene - Top Of Porthole Tunnel Ladder) - Background around Ego (John) square with incorrect color.
*** Scene 8 Room 1 (Piranha Tank Cage) - Background to right of Cage incorrect color - Grey.
*** Scene 8 Room 1 (Piranha Tank Cage) - John on Wire to Grill animation is incorrect..
*** Scene 9 Room 12 (Master Control Room) - Background around console lights in bottom-left corner has square with incorrect color.
*** Scene 9 Room 12 (Master Control Room) - Countdown LED Digits (mainly 4) Missing Segments.
*** Scene 9 (On Gantry before boarding Helicopter) - Ego (John) background is incorrect and Ego is Black - incorrect palette?
** Save/Load not possible between Scene 5 (Otto throws John into Sea off Boat) until after Scene 6 Labyrinth Arcade Sequence and During Scene 8 Rat Labyrinth Arcade Sequences - Think this was possible in the original and makes the arcade sequences much harder.
** WARNING: Unable to find part file for filename '02-.ADL'!
** WARNING: Unable to load soundfx instrument '02-.ADL'!
** WARNING: Unable to find part file for filename 'QTRACK32.SPL'!
** Misspelling Script Bugs :
*** Object "Bench of Bank Notes" - Should be Bunch
*** Read(y) - Missing y
*** Passport "English" should be British
*** Electrique Cable (for Razor) - should be Electric
* Clean up any remaining memory leaks


== Bugs ==
== Bugs ==
* fix gfx layers (FW)
* Future Wars: Looping samples don't loop in Amiga version{{Tracker|id=4440}}
* alignment fixes (done ?)
* endianness fixes (done ?)
 
== Features ==
* finish OS support (crash early in-game)
* improve memory management
* add support for MT-32 tracks
* cleanup the BASESON.SND handling, in particular try to re-use the part loading code for that

Latest revision as of 17:03, 21 February 2016

TODO List
Name Cine Engine TODO
Technical Contact(s) Cine Engine Team
Subsystem Engine

Source Cleanup

  • Wrap the code into C++ classes where applicable/suitable. Possible classes candidates :
    • Gfx/Screen (bg_list.cpp, gfx.cpp)
    • Script (script.cpp)
    • Resource (bg.cpp, msg.cpp, part.cpp, prc.cpp, pal.cpp)
    • CineEngine (object.cpp, anim.cpp, various.cpp)
    • Sound (already done)
  • rename functions and variables that need it
  • reorganize functions and variables in cine/various.cpp

ToDo

  • implement, adapt or remove the following options in the system menu :
    • Pause
    • Restart Game
    • Change Backup Drive
  • Add code to replace the original save/load dialogs with ScummVM dialogs, thus allowing 255 saveslots, rather than limited to 10 slots.
  • Add ScummVM savegame thumbnail support (Need to maintain loading of older savegames where this is not present).
  • add support for AtariST sound and music resources (if different from Amiga)
  • add support PC Speaker instruments in the PC SoundFX player code (write PCSoundDriver subclasses)
  • (maybe) add support for MIDI playback on General Midi devices. Currently the MIDI driver uses MT-32 specific sysEx commands to setup the instruments etc.
  • add code for fadeIn/fadeOut
  • optimize the rendering (doing a full screen and palette refresh on each frame could be avoided)
  • use Common::List instead of custom linked lists (should allow removal and/or simplification of several functions)
  • cruisE and Cine have several chunks of code in common, find a way to factorize
    • sound code/system
    • gfx routines
    • unpacking routine
    • resource loading (parts, vol.cnf)
  • finish Operation Stealth support
    • Graphics Glitches:
      • Scene 1 Room 4 (Airport - Baggage Belt) - Palette glitch if "Operate" is performed on "American Passport" inventory item.
      • Double fade out glitch on scene changes, notably in Scene 2 Room 5 (Bank Vault).
      • Scene 3 Underwater Animation Sequence seem very hard in last screen. Timing bug? Add "oxygenCheat" command for playtesting?
      • Scene 6 Room 2 (Mansion Study, Safe Closeup) - LED Digits (mainly 4) Missing Segments.
      • Scene 8 (Cutscene - Top Of Porthole Tunnel Ladder) - Background around Ego (John) square with incorrect color.
      • Scene 8 Room 1 (Piranha Tank Cage) - Background to right of Cage incorrect color - Grey.
      • Scene 8 Room 1 (Piranha Tank Cage) - John on Wire to Grill animation is incorrect..
      • Scene 9 Room 12 (Master Control Room) - Background around console lights in bottom-left corner has square with incorrect color.
      • Scene 9 Room 12 (Master Control Room) - Countdown LED Digits (mainly 4) Missing Segments.
      • Scene 9 (On Gantry before boarding Helicopter) - Ego (John) background is incorrect and Ego is Black - incorrect palette?
    • Save/Load not possible between Scene 5 (Otto throws John into Sea off Boat) until after Scene 6 Labyrinth Arcade Sequence and During Scene 8 Rat Labyrinth Arcade Sequences - Think this was possible in the original and makes the arcade sequences much harder.
    • WARNING: Unable to find part file for filename '02-.ADL'!
    • WARNING: Unable to load soundfx instrument '02-.ADL'!
    • WARNING: Unable to find part file for filename 'QTRACK32.SPL'!
    • Misspelling Script Bugs :
      • Object "Bench of Bank Notes" - Should be Bunch
      • Read(y) - Missing y
      • Passport "English" should be British
      • Electrique Cable (for Razor) - should be Electric
  • Clean up any remaining memory leaks

Bugs

  • Future Wars: Looping samples don't loop in Amiga version[Bug #4440]