Open main menu


< Mohawk
Revision as of 16:02, 9 December 2010 by Clone2727 (talk | contribs) (update on multiple video codec situation)

Main Mohawk TODO


  • Seeking support
  • 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.
    • This would require seeking, so that needs to be implemented first.
  • 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 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.
  • Multiple codecs per video stream (Icky! Have I said how much I hate QuickTime?)
    • Riven uses this in two videos (see below)
    • Later LB games use an SMC+Cinepak combination
  • 8bpp Cinepak used in later LB games


The game is not currently completable for many many many reasons, but support is definitely increasing steadily. The ages are currently at least partially explorable.


(In Order of Priority):

  • JPEG Optimization for Myst ME (its speed currently brings the game to a crawl)
  • Hotspots/Resources
    • Type 10, 11 and 12 support required to implement slider functionality.
    • Opcodes
  • Video seeking (see above)
  • 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.
  • Loads of cleanup

Riven TODO


The game is completable as of r52735, provided you know the D'ni numbering system previously and the solution to the marble puzzle.


(In Order of Priority):

  • Finish External Commands (Many are done, most are self-explanatory)
    • Some require video seeking, see above
  • Cleanup SLST handling
    • Fading not handled
    • Some sounds do not play (maglev from tspit to jspit), is this right?
  • Transitions
  • Possibly make looping MP2 sound faster; there's a slight click between iterations.
  • Cleanup hotspot debugging mode. The water effect and videos write over it.

Stack TODO/Known Bugs


  • The Ytram trap only partially works currently.
    • xbsettrap, xbcheckcatch, and xbfreeytram need to be implemented.


  • The map viewer is not implemented, but you are still able to choose an island.
    • xgresetpins, xgrotatepins, and xgpincontrols need to be implemented.
  • The underwater viewer is not implemented.
    • xgplaywhark, xgrviewer, xgwharksnd, xglview_prisonoff, xglview_prisonon, xglview_villageoff, xglview_villageon, and xglviewer need to be implemented.
  • DVD version: The second movie when pushing either lever on card 262 will not display properly
    • Multiple video codecs in the stream (see above): QTRLE+Cinepak


  • Ambient sounds don't work when clicking on a stone in the rebel tunnel puzzle.
  • Missing randomized sunner videos.
    • xjlagoon700_alert and xjlagoon800_alert need to be implemented.
    • Has hardcoded background videos.
  • The whark numbers puzzle is not implemented.
    • xschool280_playwhark needs to be implemented.


  • Missing randomized Catherine videos.
    • Has hardcoded background videos.


  • Missing randomized rebel videos.
    • xrwindowsetup needs to be implemented.
    • Has hardcoded background videos.


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

Other Games TODO

  • They (mostly) all use QuickTime video.
    • 'QkBk' codec: "CDToons" video used by various Broderbund games. Also uses default QuickTime palettes.
    • The re-release of Zoombinis uses Bink Video!
    • Some Kid Pix games use Smacker (in tSMK resources)
  • CSAmtrak/CSWorld use .FON resources for fonts. They're basically .FNT files in an NE library.
  • Zoombini uses a TrueType Font.