Difference between revisions of "Mohawk/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(→‎Riven TODO: update a bit, cleanup)
(→‎Stack TODO/Known Bugs: xrwindowsetup has been implemented)
Line 96: Line 96:
* Missing randomized sunner videos.
* Missing randomized sunner videos.
** xjlagoon700_alert and xjlagoon800_alert need to be implemented.
** xjlagoon700_alert and xjlagoon800_alert need to be implemented.
** Has hardcoded background videos.
==== rspit (Rebel Age) ====
* Missing randomized rebel videos.
** xrwindowsetup needs to be implemented.
** Has hardcoded background videos.
** Has hardcoded background videos.

Revision as of 18:28, 22 March 2011

Name Mohawk Engine TODO
Technical Contact(s) Mohawk Engine Team
Subsystem Engine

Main Mohawk TODO


  • Backwards playback/seeking
    • Myst ME:
      • Myst Card 4113: Retracting weight in the clock tower
    • Myst Original:
      • Stoneship Card 2138: Chest key animation with no chest present
      • Stoneship Card 2132: Chest valve animation when chest is empty
      • Channelwood Card 3385: Closing stairs upper door animation
  • Playback at custom framerates - Needed for Myst Cabin Boiler videos.
  • The Cyan logo repeats some frames at the end. I call it "Cyan logo syndrome." This is caused by the lack of handling of multiple edit lists. FFmpeg doesn't handle this yet either.
  • Some Cinepak frames have corruption.
    • The Myst linking book video on D'ni has a corrupted Cinepak frame (data-wise). Right now, we just skip that frame (and throw a warning). It looks like QuickTime does this too.
    • The CD (but not the DVD) version of Riven has at least two videos with a corrupt frame: the wood chipper (when power is directed elsewhere) and using the trap book before talking with Gehn (when not on Tay).
  • Unify the 8bpp to 16/32bpp code snippets. This is mostly done already. I have a patch to add it to graphics/conversion.h, but still waiting on that one.


The game is playable and should be completable to all four endings, though many issues still need to be fixed.


  • Myst ME support is missing these codecs: QDesign Music 2 (partially working) and Sorenson Video 1.
  • Myst 10th Edition requires the Myst ME codecs plus Sorenson Video 3.
  • JPEG Optimization for Myst ME.
  • Add "Drop Page".
  • Add Transitions.
  • Myst Demo Only - Add "Return To Main Menu"
  • Myst ME Only - Add "Show Map" and Help System.
  • Myst Original - Background sound restarts incorrectly compared to original interpreter on a number of cards.
    Good test case for this is Myst Card 4697 and 4689 (Myst Imager Forechamber Tunnel - Background Music).
    These play resource Ids 4697 and 4689 from VIEW sound block respectively, which is the same sound, but glitches
    due to the playback restart. It is probable the original interpreter on new sound playback continues from the
    same time offset, if this is within the new sound's duration i.e. thus no "seam" is heard.

Stack TODO/Known Bugs

Myst Island

  • Cabin Boiler Movie Playback Logic - Card 4097, 4098
    • This also requires QT movie playback at custom rates - See above
  • Myst ME lacks the weight going back up - Card 4113


  • Animation of closing stairs upper door incorrect - Card 3385


  • Missing Var Getter
    • 13 - Fortress Elevator State..
    • 23 - Fortress Elevator State..
  • Missing opcodes
    • Singing Bird - Opcodes 101, 102 and 103
    • Fortress Rotation Control Levers - Opcodes 109, 110 and 111, and 112, 113 and 114
    • Fortress Rotation Holo-Simulator Levers - Opcodes 115, 116 and 117, and 118, 119 and 120
  • Card 6009: Cage Electrification far too quick, no audio... - Missing delay?
  • Card 6267: Code lock buttons don't light up - Missing delay?


  • Water Pump Buttons don't animate depression correctly...
    • Requires explicit delay workaround?
  • Chest key animation with no chest and Opening Chest Valve when empty in the Stoneship Lighthouse incorrect


  • Missing opcodes

Preview (Demo)

  • Missing opcodes

Riven TODO


The game first became completable with r52735. As of r55299, the game is completable with no prior knowledge.


(In Order of Priority):

  • Finish External Commands (Many are done, most are self-explanatory)
  • Complete the complexPlayMovie opcode
    • Used in a couple places, fairly straightforward, but will involve a new video loop
  • Transitions
  • Finish ambient sound handling: Only fading is left
  • Cleanup video handling, all involve the QuickTime overlay:
    • Rarely before a video, the screen that should be shown after the video flashes before the video starts (for example: opening the linking book in the Rebel tunnel puzzle).
    • Rarely after a video, the engine does not update with the correct screen. As far as I can tell, this only affects the easter egg videos on gspit and ospit under normal conditions. However, it can be noticed when skipping a video on occasion.
  • Cleanup hotspot debugging mode. The water effect and videos write over it.

Stack TODO/Known Bugs

gspit (Survey Island - internally Garden)

  • The underwater viewer is partially implemented.
    • xgwharksnd needs to be implemented.
    • Has hardcoded background sounds.

jspit (Jungle Island)

  • Missing randomized sunner videos.
    • xjlagoon700_alert and xjlagoon800_alert need to be implemented.
    • Has hardcoded background videos.

tspit (Temple Island)

  • Marbles not drawn on grid when standing one step back from the marble puzzle
    • xt7600_setupmarbles needs to be completed.

Living Books TODO

  • Take another look at how rewinding is meant to work.
  • Implement fading between palettes.
  • Add fading between pages - do full preloading (including sound) and use the relevant cursors.
  • Implement the hardcoded mini-games in Green Eggs and Ham and Arthur's Reading Race.
  • Implement the rest of the scripting used in the later LB games, including variable saving/loading.
  • Handle the proxies and compiled scripts used in v4 (The Rugrats Adventure Game, Arthur's Computer Adventure). fuzzie has preliminary code for this.


  • Implement the intro/transition videos (HQ/time tunnel).
  • Draw the text on Carmen's notes.
  • Fix feature priorities.
  • Implement music, environmental sounds, the rest of the animation code.
  • Implement the Chronopedia.
  • Render the torch mask for case 1.
  • Support the other sound sync cues.
  • Implement cases 3-20.
  • A host of other things, no doubt.

Other Games TODO

  • They (mostly) all use QuickTime video.
    • The re-release of Zoombinis uses Bink Video!
    • Some Kid Pix games use Smacker (in tSMK resources)
  • Some educational games (e.g. Treehouse, Zoombini) use some TrueType fonts.