Open main menu

Difference between revisions of "SAGA/TODO"

127 bytes added ,  11:28, 19 July 2007
Layout, grouped the status of the IHNM chapters and made new categories for optimizations and MIDI related issues. Also, mentioned the pause with digital music
(Update on the IHNM demo)
(Layout, grouped the status of the IHNM chapters and made new categories for optimizations and MIDI related issues. Also, mentioned the pause with digital music)
Line 8: Line 8:
* The demo is not supported yet, as the resource mapping is different. The resources for the demo are currently being mapped
* The demo is not supported yet, as the resource mapping is different. The resources for the demo are currently being mapped
* 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.
* 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
* Status:  
** '''Chapter 2''' (Ellen): '''Completable''' with full points but has some glitches
** '''Chapters 1-4''' (Gorrister, Ellen, Benny and Nimdok) are completable with full points but there are some occasional glitches
** '''Chapter 3''' (Benny): '''Completable''' with full points but has some glitches
** '''Chapter 5''' (Ted): Not completable, it's impossible to interact with the maid's door (the closed door is not drawn), therefore it's not possible to tell Surgat to unlock it and move further
** '''Chapter 4''' (Nimdok): '''Completable''' with full points but has some glitches
** '''Chapter 5''' (Ted): Not completable, it's impossible to interact with the maid's door (the closed door is not drawn)
** '''Chapter 6''' (Endgame): Not possible to test yet
** '''Chapter 6''' (Endgame): Not possible to test yet


Line 72: Line 70:
== Long-term ToDos for the SAGA engine ==
== Long-term ToDos for the SAGA engine ==
=== Bugs/misfeatures ===
=== 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]
* there's a slight pause (about a second or less) when a digital music track loops, when using compressed music. This pause does not exist when the music tracks are not compressed
 
 
=== Optimizations ===
* 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
* In many places RSC_LoadResource() is called but memory is not freed afterwards, i.e. there is a huge leak
* In many places RSC_LoadResource() is called but memory is not freed afterwards, i.e. there is a huge leak
* Optimize screen output. Now we blit whole screen for each frame.
* Optimize screen output. Now we blit whole screen for each frame. Use "dirty rectangles" instead
* Remove use of floating point, especially doubles.
 
 
=== MIDI related ===
* 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]
* When using the original XMIDI music resources, some songs play at the wrong speed. The worst example I've heard of this is the "Elk Fanfare" during the intro. It could be the meta events we don't handle, but at least the tempo event doesn't seem to make any difference. Maybe something in the data header instead...?
* When using the original XMIDI music resources, some songs play at the wrong speed. The worst example I've heard of this is the "Elk Fanfare" during the intro. It could be the meta events we don't handle, but at least the tempo event doesn't seem to make any difference. Maybe something in the data header instead...?
* Remove use of floating point, especially doubles.
1,489

edits