MADE/TODO
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
- 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