Open main menu

Status

  • Return to Zork is completable
  • Leather Goddesses of Phobos 2 is completable
  • The Manhole is playable
  • Rodney's Funscreen is playable

Still missing game features

  • The music for LGoP2 and Manhole is not played
  • The intro credits in RtZ are not played
  • Only soundblaster music is played for RtZ
  • The first version of the Manhole is not supported

Bugs, glitches and ToDos

Script bugs

Implement/finish up some commands and script functions:

  • Commands:
  • Script functions:
  • For all:
    • sfGetMusicBeat
    • sfGetCdTime
    • sfGetSynthType
  • For Return to Zork:
    • sfGetSoundEnergy (used to animate the mouths of characters when they're talking). This has been implemented now, but the mouth animations are out of sync. This occurs because the original unpacked sounds on the fly, whereas ScummVM unpacks them when they're loaded. In ScummVM, the "sound energy" values are stored in an array (used as a stack), which means that sfGetSoundEnergy can empty that array prematurely. A proper fix would be to figure out when a value should be popped from the sound energy stack, or to unpack sounds on the fly like the original does
    • sfShakeScreen
  • For LGOP2/Manhole:NE:
    • sfPlayMusic
  • For Manhole:NE:
    • sfPlayNote
    • sfStopNote
    • sfPlayTele
    • sfStopTele

General

Graphics

  • Use "dirty rectangles" (e.g. in updateSprites())

Sound

  • Music is disabled in LGoP2 and Manhole (it's not loaded correctly)
  • Finish up MIDI music playing (only Soundblaster music is played for now)

Video

  • In RtZ's intro, after the flyover, an invalid number of sound chunks is read. There is currently a hack which stops the parser when this happens to prevent the game from crashing, but the intro credits screen is not shown

File-specific tasks

database.cpp

  • Read/verify database header
  • Verify save game header

pmvplayer.cpp

  • Read/evaluate PMV file header

screen.cpp

  • Implement clipRect in placeSprite(), placeAnim() and placeText()
  • Finish up Screen::show()
  • Finish up printText()

Bugs of the original engine

  • The screen effect palette changes incorrectly after a PMV video
  • Animations in LGoP2 are incorrectly drawn above text (they should be drawn below it). An example can be seen when talking to the Indian as Lydia and performing the kiss/screw action. Also, with Barth, it can be seen from the first screen if you try and shoot Barth's spaceship: Barth will say something, and the smoke from the spaceship will be incorrectly drawn above the letters