Open main menu

Difference between revisions of "SAGA/TODO"

167 bytes added ,  02:04, 11 July 2007
Cleanup, added links to the ITE glitch bug report and to Wyrmkeep's ITE updates page
(Mention the chapter where the nightfall scene is shown)
(Cleanup, added links to the ITE glitch bug report and to Wyrmkeep's ITE updates page)
Line 1: Line 1:
== Status ==
== Status ==
* '''ITE''' is completable with rare minor gfx glitches.<br>
=== ITE ===
* '''IHNM''' (demo) is not supported yet
* Completable with rare minor gfx glitches
* '''IHNM''' (full game) shows complete intro. Also, some chapters are partially working, but it's not possible to return to the character selection screen once a chapter is completed (or abruptly stopped by a wrong player option). ScummVM returns to the correct screen where AM is talking, but some variables are wrong and AM's speech is incorrect and the player is not taken back to the character selection screen.
* The Amiga version is not supported yet
* The original DOS demo is not supported yet, as it is based on very early version of engine, so many structures are different. Most of the resources have been mapped but they're still untested. The actors and objects list needs to be moved to our code. They've been found but not processed yet
* There are currently two versions of ITE that are not uniquely identified: the Wyrmkeep "Win32 CD Version" and the original "DOS/Win32 CD Version", as the data files themselves are exactly the same, and only the original interpreter was different. When adding games, the user gets to do the disambiguation. If the user selects the "Win32 CD Version", the Dreamers Guild logo is not shown at the beginning of the introduction, and the credits are a bit different. In the Win32 CD Version, the file "graphics/credit3n.dlt" exists, but changes are needed to the Advanced Game Detector to detect the existence of this file.
 
=== IHNM ===
* The demo is not supported yet
* The full game is partially working, but it's not possible to return to the character selection screen once a chapter is completed (or abruptly stopped by a wrong player option). ScummVM returns to the correct screen where AM is talking, but some variables are wrong and AM's speech is incorrect and the player is not taken back to the character selection screen.
** '''Chapter 1''' (Gorrister): '''Completable''' with full points but has some glitches
** '''Chapter 1''' (Gorrister): '''Completable''' with full points but has some glitches
** '''Chapter 2''' (Ellen): '''Completable''' with full points but has some glitches
** '''Chapter 2''' (Ellen): '''Completable''' with full points but has some glitches
Line 16: Line 22:
* ['''Important'''] Investigate which variables are set after a chapter is complete, which will allow the player to go back to the character selection screen
* ['''Important'''] Investigate which variables are set after a chapter is complete, which will allow the player to go back to the character selection screen
** ''When a wrong monitor is selected with Ted, normally the door closes, screen goes black and AM says "Oh oh oh sorry Ted, try again", and we're taken to the character selection screen again. ScummVM goes to AM's screen but the speech is all wrong, and we never see the player selection screen
** ''When a wrong monitor is selected with Ted, normally the door closes, screen goes black and AM says "Oh oh oh sorry Ted, try again", and we're taken to the character selection screen again. ScummVM goes to AM's screen but the speech is all wrong, and we never see the player selection screen
* ['''Important'''] Properly handle objects that have more than 1 frame
* ['''Important'''] Properly handle objects that have more than 1 frame. Refer to the [[SAGA/TODO#Sprite_bugs|sprite bugs]] section below


=== General ===
=== General ===
Line 55: Line 61:


== ITE ToDos ==
== ITE ToDos ==
* Amiga versions of the game would be nice to support. Though Amiga porter which once appeared at our forums doesn't reply to sev's letters. Maybe another dev should try that?
* Original DOS demo. It is based on very early version of engine, so many structures are different. I've mapped most of resources but they stay untested.
** Move actors and objects list to our code. I've found them but not yet processed.
=== Requests ===
* We need to find out where following functions are called:
* We need to find out where following functions are called:
** SF_cycleColors -- all implementation bits sit in palanim.cpp
** SF_cycleColors -- all implementation bits sit in palanim.cpp
** sfPlayVoice -- used in ITE CD
** sfPlayVoice -- used in ITE CD
* There are currently two versions of ITE that are not uniquely identified: the Wyrmkeep "Win32 CD Version" and the original "DOS/Win32 CD Version", as the data files themselves are exactly the same, and only the original interpreter was different. When adding games, the user gets to do the disambiguation. If the user selects the "Win32 CD Version", the Dreamers Guild logo is not shown at the beginning of the introduction, and the credits are a bit different. In the Win32 CD Version, the file "graphics/credit3n.dlt" exists, but changes are needed to the Advanced Game Detector to detect the existence of this file.


=== BUGS ===
=== Graphics glitches ===
* Occasional graphics glitches in ISO rooms. (At least in the Rats maze.) Most notable when entering rounded doors. (3d draw sequence is wrong). A screenshot showing the problem can be seen here:
* Occasional graphics glitches in the Rats maze, when entering rounded doors which lead to another room. The 3D draw sequence is wrong, and the sprite is masked for the door sprite, ignoring the archway above the door. A screenshot showing the problem can be seen here:
{| border=0 align=center
{| border=0 align=center
[[Image:Ite_glitch.png|thumbnail|70px|none|frame|Glitch in the Rat's maze]]
[[Image:Ite_glitch.png|thumbnail|70px|none|frame|Glitch in the Rat's maze]]
|}
|}


The problem seems to be with IsoMap::drawSpriteMetaTile, called from IsoMap::drawTiles
The problem seems to be with IsoMap::drawSpriteMetaTile, called from IsoMap::drawTiles. Refer to the bug report [http://sourceforge.net/tracker/index.php?func=detail&aid=1735437&group_id=37116&atid=418820 here]
=== Interface ===
 
* wrong Option button draw sequence - some dots have inproper color. [[Image:ITE-Buttons.png|thumbnail|frame|right|Differences in option buttons drawing]]
* Wrong Option button draw sequence - some dots have inproper color.  
{| border=0 align=center
[[Image:ITE-Buttons.png|thumbnail|frame|right|Differences in option buttons drawing]]
|}


=== Original engine bugs ===
=== Original engine bugs ===
* Actors are drawn (some pixels above status bar) at Chota's falling.  - Original engine draws its too - so it is not our bug
* Actors are drawn (some pixels above status bar) at Chota's falling.  - Original engine draws its too - so it is not our bug
* There is a missing sound sample in the intro of some ITE versions: "''The humans also knew the Secret of Life, and they used it to give us the Four Great Gifts:''". The missing sound sample is played correctly with the file P2_A.iaf, found in Wyrmkeep's update 2
* There is a missing sound sample in the intro of some ITE versions: "''The humans also knew the Secret of Life, and they used it to give us the Four Great Gifts:''". The missing sound sample is played correctly with the file P2_A.iaf, found in [http://www.wyrmkeep.com/ite/update.html Wyrmkeep's update 2]


== ToDos for both IHNM and ITE ==
 
== Long-term ToDos for the SAGA engine ==
=== Bugs/misfeatures ===
* handleConverseUpdate scrolls converse too quickly.
* handleConverseUpdate scrolls converse too quickly.
* handleCommandUpdate scrolls inventory too quickly.
* handleCommandUpdate scrolls inventory too quickly.
* Sometimes, incorrect music data is parsed to the MIDI parser, leading to a crash. This is occuring frequently in ITE, and rarely in IHNM. Perhaps it's related to some unhandled meta events. The crash always happens at sound/midiparser_xmidi.cpp in MidiParser_XMIDI::readVLQ2 at line 58. Refer to the bug report [http://sourceforge.net/tracker/index.php?func=detail&aid=1734416&group_id=37116&atid=418820 here]
* Sometimes, incorrect music data is parsed to the MIDI parser, leading to a crash. This is occuring frequently in ITE, and rarely in IHNM. Perhaps it's related to some unhandled meta events. The crash always happens at sound/midiparser_xmidi.cpp in MidiParser_XMIDI::readVLQ2 at line 58. Refer to the bug report [http://sourceforge.net/tracker/index.php?func=detail&aid=1734416&group_id=37116&atid=418820 here]
== Long-term ToDos ==
=== Bugs/misfeatures ===
* Make actor animation Event-driven. See FIXME in actor.cpp. Maybe it should be INTERVAL_EVENT
* Make actor animation Event-driven. See FIXME in actor.cpp. Maybe it should be INTERVAL_EVENT
* Inspect Font module - free memory, GameFontIds <-> FONT_ID
* Inspect Font module - free memory, GameFontIds <-> FONT_ID
1,507

edits