Cine/TODO

From ScummVM :: Wiki
< Cine
Revision as of 17:35, 6 March 2011 by DJWillis (talk | contribs) (Add TODO Infobox.)
Jump to navigation Jump to search
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 for MT32 and PC Speaker instruments in the PC SoundFX player code (write PCSoundDriver subclasses)
  • 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
    • Palette not correct on loading savegames for first screen.
    • Z-Order not correct e.g. Scene 2 in the Bank Vault
    • 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: Undefined opcode 0x40 in OSScriptInfo::opcodeHandler!
    • 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)