Difference between revisions of "MADE/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(ARCH, FREE and OMNI resources are not needed)
(The incorrect palette changes are also in the original)
Line 14: Line 14:
=== Graphics ===
=== Graphics ===
* Some screen effects are missing
* Some screen effects are missing
* The palette changes incorrectly in some screen effects (e.g. when the screen fades down)
* Use "dirty rectangles" (e.g. in updateSprites())
* Use "dirty rectangles" (e.g. in updateSprites())


Line 90: Line 89:
** sfPlaceMenu
** sfPlaceMenu
** sfIsSlowSystem
** sfIsSlowSystem
==  Bugs of the original engine ==
* The screen effect palette changes incorrectly after a PMV video

Revision as of 10:16, 17 May 2008

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 several missing opcodes (check script.cpp below)
  • Implement several missing script functions (check scriptfuncs.cpp below)

General

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

Graphics

  • Some screen effects are missing
  • 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

  • Letters in the intro text of RtZ are not erased properly
  • The white house in the intro of RtZ has some strange artifacts when the camera moves around it
  • 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
  • Sound in videos can sometimes be a little choppy (has this been fixed already?)
  • Do the sounds in RtZ have weird frequencies? (11127 or 22254)

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()

script.cpp

  • Implement the following commands (if needed):
    • cmd_svar
    • cmd_sset
    • cmd_split
    • cmd_snlit
    • cmd_yorn
    • cmd_class
    • cmd_vectorp
    • cmd_restart
    • cmd_catch, cmd_cdone, cmd_throw, cmd_functionp (are these debug-related?)
    • cmd_varx
    • cmd_setx

scriptfuncs.cpp

  • Implement/finish up the following script functions:
    • sfPollEvent
    • sfPlayMusic (for LGoP2/Manhole)
    • sfGetMusicBeat
    • sfAddSprite (for RtZ)
    • sfPlayCd, sfStopCd, sfGetCdStatus, sfGetCdTime, sfPlayCdSegment
    • sfGetSoundEnergy (used to animate the mouths of characters when they're talking)
    • sfGetSynthType
  • Are the following script functions needed at all?
    • sfSetTextPos
    • sfPlayNote
    • sfStopNote
    • sfPlayTele
    • sfStopTele
    • sfHomeText
    • sfLoadResText
    • sfClearMono
    • sfClearText
    • sfAnimText
    • sfSetMusicVolume
    • sfRestartEvents
    • sfSetChannelLocation
    • sfSetChannelContent
    • sfDrawAnimPic
    • sfReadText
    • sfShakeScreen
    • sfPlaceMenu
    • sfIsSlowSystem

Bugs of the original engine

  • The screen effect palette changes incorrectly after a PMV video