Difference between revisions of "Cine/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Removed fixed OS bug. Remaining GFX glitches still occur.)
(Use Tracker template instead of BugTrackSF)
 
(7 intermediate revisions by 3 users not shown)
Line 20: Line 20:
** Restart Game
** Restart Game
** Change Backup Drive
** 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 for AtariST sound and music resources (if different from Amiga)
* add support PC Speaker instruments in the PC SoundFX player code (write PCSoundDriver subclasses)
* add support PC Speaker instruments in the PC SoundFX player code (write PCSoundDriver subclasses)
Line 32: Line 34:
** resource loading (parts, vol.cnf)
** resource loading (parts, vol.cnf)
* finish Operation Stealth support
* finish Operation Stealth support
** Lockup in Scene 5 when "operate Girl" underwater. Traced with gdb to sound.cpp:792 i.e. _fadeOutTimer infinite loop. This was introduced by the addition of the MT-32 output driver for Future Wars and associated mutex changes. Looks like the timer was decremented by callbacks occuring during the load method call, but these are now mutexed so this causes an lockup if used.
** Graphics Glitches:
** Graphics Glitches:
*** Upon loading savegames, Palette is incorrect until you change screen.
*** 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 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 (Cutscene - Top Of Porthole Tunnel Ladder) - Background around Ego (John) square with incorrect color.
Line 54: Line 57:


== Bugs ==
== Bugs ==
* Future Wars: Looping samples don't loop in Amiga version ([http://sourceforge.net/tracker/?func=detail&aid=3091660&group_id=37116&atid=418820 #3091660])
* Future Wars: Looping samples don't loop in Amiga version{{Tracker|id=4440}}

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]