Difference between revisions of "SCUMM/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Fix link to bugs (it was giving a404 error). Also use the new bug IDs.)
(Fix use of Tracker template)
Line 12: Line 12:
** The main motivation for that is to improve detection speed: If a file has the right name but is big, we waste a lot of time reading 1MB of data and computing its MD5, when it should suffice to look at a few kilobytes at most.
** The main motivation for that is to improve detection speed: If a file has the right name but is big, we waste a lot of time reading 1MB of data and computing its MD5, when it should suffice to look at a few kilobytes at most.
** Alternatively, change it to 5000 bytes to match the AdvancedDetector. This will affect far more games, so we'd end up with many obsolete MD5 ideas. But since we are pretty good at detecting SCUMM games correctly even without MD5, this shouldn't be so bad. However, some files might not be easily distinguishable with only the first 5000 bytes, need to check on that.
** Alternatively, change it to 5000 bytes to match the AdvancedDetector. This will affect far more games, so we'd end up with many obsolete MD5 ideas. But since we are pretty good at detecting SCUMM games correctly even without MD5, this shouldn't be so bad. However, some files might not be easily distinguishable with only the first 5000 bytes, need to check on that.
* AdLib: There seems to be some loop/repeat mechanism in old AdLib sound effects that we do not handle. [http://vogons.zetafleet.com/viewtopic.php?t=8644 This thread] has some discussion, and recordings. Two good examples are the door opening sound in Indy 3 and Monkey Island 1 (floppy), and the typewriter sound in Indy 3. See {{Tracker|num=3830}}.
* AdLib: There seems to be some loop/repeat mechanism in old AdLib sound effects that we do not handle. [http://vogons.zetafleet.com/viewtopic.php?t=8644 This thread] has some discussion, and recordings. Two good examples are the door opening sound in Indy 3 and Monkey Island 1 (floppy), and the typewriter sound in Indy 3. See {{Tracker|id=3830}}.
* AdLib: We don't handle (global) music volume changes for AdLib sounds in older SCUMM games. See {{Tracker|num=1946}}.
* AdLib: We don't handle (global) music volume changes for AdLib sounds in older SCUMM games. See {{Tracker|id=1946}}.
* Add support for non-interactive demo of Monkey Island 2. This can be done either by hacking the SCUMM loop and adding code to parse the existing 'demo.rec' file and re-injecting events in the event loop. Another possible approach would be to "specialize" the (future) events recording/playback code to deal with the original SPUTM .rec files.
* Add support for non-interactive demo of Monkey Island 2. This can be done either by hacking the SCUMM loop and adding code to parse the existing 'demo.rec' file and re-injecting events in the event loop. Another possible approach would be to "specialize" the (future) events recording/playback code to deal with the original SPUTM .rec files.
* Work around actor (re)color bugs in Indy3 FM-TOWNS / VGA. See http://home.comcast.net/~ervind/ij3misc.html
* Work around actor (re)color bugs in Indy3 FM-TOWNS / VGA. See http://home.comcast.net/~ervind/ij3misc.html

Revision as of 16:59, 21 February 2016

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

General TODO

  • Make it possible to restart games properly
  • Possibly implement a new resource manager, which then also could be shared by ScummEX. [Jamieson has some ideas about this].
  • Clean up class Gdi. This class right now mostly is about decoding various graphic formats. However some other functionality has crept into it, too. It would be nice if class Gdi would only contain the GFX decoding code, and nothing else (assuming that is feasible w/o too much trouble). OTOH, the code which is responsible for managing virtual screens, rendering virtual screens to the real display etc. could be grouped into a new class (e.g. VSManager or so).
  • Reduce kMD5FileSizeLimit from 1MB to e.g. 80 kb (this will force us to recompute the MD5 for the mac bundles, but hopefully nothing else)
    • The main motivation for that is to improve detection speed: If a file has the right name but is big, we waste a lot of time reading 1MB of data and computing its MD5, when it should suffice to look at a few kilobytes at most.
    • Alternatively, change it to 5000 bytes to match the AdvancedDetector. This will affect far more games, so we'd end up with many obsolete MD5 ideas. But since we are pretty good at detecting SCUMM games correctly even without MD5, this shouldn't be so bad. However, some files might not be easily distinguishable with only the first 5000 bytes, need to check on that.
  • AdLib: There seems to be some loop/repeat mechanism in old AdLib sound effects that we do not handle. This thread has some discussion, and recordings. Two good examples are the door opening sound in Indy 3 and Monkey Island 1 (floppy), and the typewriter sound in Indy 3. See [Bug #3830].
  • AdLib: We don't handle (global) music volume changes for AdLib sounds in older SCUMM games. See [Bug #1946].
  • Add support for non-interactive demo of Monkey Island 2. This can be done either by hacking the SCUMM loop and adding code to parse the existing 'demo.rec' file and re-injecting events in the event loop. Another possible approach would be to "specialize" the (future) events recording/playback code to deal with the original SPUTM .rec files.
  • Work around actor (re)color bugs in Indy3 FM-TOWNS / VGA. See http://home.comcast.net/~ervind/ij3misc.html
  • Might also be nice to use the trick they used in AGI/Sarien to add custom recoloring to costumes at least for the EGA games. E.g. in MM, an actor with blue trousers working on a blue ground looks... stealthy :)
  • Add support for the original instrument samples for Indy4 Amiga and MI2 Amiga versions to make sound as per original interpreter. See here.

SCUMM V0

SCUMM NES

HE games

Bugs Also in the Original