Difference between revisions of "Cine/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Remove another fixed OS Bug.)
(Add current blocking bug in OS support)
Line 32: Line 32:
 
** 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.
 
*** Upon loading savegames, Palette is incorrect until you change screen.

Revision as of 17:32, 11 August 2012

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 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
    • 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:
      • Upon loading savegames, Palette is incorrect until you change screen.
      • 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 Room 12 (Master Control Room) - Main Trajectory display horizontal black lines (image decode bug).
      • 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 (#3091660)