Open main menu

MADE/TODO

< MADE
Revision as of 22:51, 28 May 2008 by Md5 (talk | contribs) (sfIsSlowSystem does not need to be implemented (it's set via command line manually for slower systems))

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
  • 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

- 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 11 (inverse of 10)
    • FX 13 (inverse of 12)
    • 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

resource.cpp

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