Difference between revisions of "MADE/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Update on PMV videos)
(Update on script functions and screen effects)
Line 6: Line 6:
==  Bugs, glitches and ToDos ==
==  Bugs, glitches and ToDos ==
=== Script bugs ===
=== Script bugs ===
* Implement several missing opcodes (check script.cpp below)
Implement/finish up some commands and script functions:
* Implement several missing script functions (check scriptfuncs.cpp below)
* 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 ===
=== General ===
Line 13: Line 36:


=== Graphics ===
=== Graphics ===
* Some screen effects are missing
* 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())
* Use "dirty rectangles" (e.g. in updateSprites())


Line 41: Line 79:
* Finish up Screen::show()
* Finish up Screen::show()
* Finish up printText()
* 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 ==
==  Bugs of the original engine ==
* The screen effect palette changes incorrectly after a PMV video
* The screen effect palette changes incorrectly after a PMV video

Revision as of 21:32, 20 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/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