|
|
(39 intermediate revisions by 9 users not shown) |
Line 1: |
Line 1: |
| | {{Infobox_TODO| |
| | taskname=MADE Engine TODO| |
| | techcontact=[[MADE]] Engine Team| |
| | subsystem=Engine| |
| | }} |
| | |
| == Status == | | == Status == |
| * Return to Zork is completable | | * Return to Zork is completable |
| * Leather Goddesses of Phobos 2 is completable with glitches | | * Leather Goddesses of Phobos 2 is completable |
| * The Manhole is playable | | * The Manhole is playable |
| | * Rodney's Funscreen is playable |
|
| |
|
| == Bugs, glitches and ToDos == | | == Still missing/incomplete game features == |
| === Script bugs ===
| | * The following script functions need to be implemented/finished: |
| Implement/finish up some commands and script functions:
| | ** sfShakeScreen (for RtZ) |
| * Commands:
| | ** sfPlayNote (Used in The Manhole) |
| ** cmd_restart (used in RtZ) | | *** Figure out exactly what the second parameter modifies |
| | | * File-specific tasks: |
| * Script functions:
| | ** Finish up printText() in screen.cpp |
| * For all:
| | * Only soundblaster music is played. MIDI music playing/MT32 instrument mapping needs more work |
| ** sfPollEvent | | * Dirty rectangle handling |
| ** sfPlayMusic (for LGoP2/Manhole)
| | * RTZ Japanese Font (DOS/FM-Towns/PC-98) |
| ** sfGetMusicBeat | | ** Uses the KROM file found in the base directory for all three |
| ** sfPlayCd, sfStopCd, sfGetCdStatus, sfGetCdTime | | * Implement missing optional keyboard controls {{Tracker|id=5457}} |
| ** sfGetSynthType
| | * Implement RTZ loading compatibility if possible. |
| ** sfIsSlowSystem
| | ** RTZ savegames are not portable between v1.0 and v1.1+ versions, despite internal version being 623 for all. |
| * For Return to Zork:
| | ** V1.0 savegames are 2 bytes larger (when decompressed by gunzip) compared to v1.1+ (19064 vs. 19062 bytes for English). |
| ** 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 ===
| |
| * The initial bird animation shown when starting the actual game in RtZ is no longer shown (regression, which may be caused by the recent moving of sfPollEvent to runScript)
| |
| * There are graphical glitches with animations in LGoP2. The screen is not updated correctly (regression from the auto dirty rectangles calculation code)
| |
| | |
| === 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. This is probably caused by missing screen effects. | |
| * 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 == | | == Bugs of the original engine == |
| * The screen effect palette changes incorrectly after a PMV video | | ==== Not Yet Fixed ==== |
| | * The screen effect palette changes incorrectly after a PMV video {{Tracker|id=4457}} |
| | * 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 |