Open main menu

Status

  • Return to Zork is completable
  • Leather Goddesses of Phobos 2 is completable with glitches
  • The Manhole is playable

Bugs, glitches and ToDos

Script bugs

Implement/finish up some commands and script functions:

  • Commands:
    • cmd_restart (used in RtZ)
  • Script functions:
  • For all:
    • sfPollEvent
    • sfPlayMusic (for LGoP2/Manhole)
    • sfGetMusicBeat
    • sfPlayCd, sfStopCd, sfGetCdStatus, sfGetCdTime
    • sfGetSynthType
    • sfIsSlowSystem
  • For Return to Zork:
    • sfGetSoundEnergy (used to animate the mouths of characters when they're talking)
    • sfRestartEvents
    • sfDrawAnimPic
    • sfShakeScreen
  • For LGoP2:
    • sfHomeText
  • For Manhole:NE:
    • sfSetTextPos
    • sfPlayNote
    • sfStopNote
    • sfPlayTele
    • sfStopTele

General

  • Barth's blaster cannot be moved to the left of the screen

Graphics

  • Some screen effects are missing:
    • FX 1
    • FX 2
    • FX 3
    • FX 4
    • FX 5
    • FX 6
    • FX 7
    • FX 8
    • FX 11 (inverse of 10)
    • FX 13 (inverse of 12)
    • FX 15
    • FX 16
    • FX 18
    • FX 19
    • FX 20
  • 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

  • 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
  • Some of the "screwing" animations in LGoP2 are shown very quickly. This is probably caused by missing screen effects.
  • 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

resource.cpp

  • Implement resource destructors

screen.cpp

  • Implement drawMenuText in drawSpriteChannels
  • 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