MADE/TODO
Status
- Return to Zork is completable
- Leather Goddesses of Phobos 2 is completable
- 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
- sfGetCdTime
- sfGetSynthType
- For Return to Zork:
- sfGetSoundEnergy (used to animate the mouths of characters when they're talking)
- sfShakeScreen
- For Manhole:NE:
- sfPlayNote
- sfStopNote
- sfPlayTele
- sfStopTele
General
- LGoP2 does not wait for a mouse click when examining some objects - e.g. the magazines in the Indian's teepee or the human prisoners on planet X. This makes the message shown when examining those objects disappear prematurely
Graphics
- Some screen effects are missing:
- FX 1
- FX 3
- FX 4
- FX 5
- FX 6
- FX 7
- FX 8
- 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
- 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 drawMenuText in drawSpriteChannels -> it's never used
- 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