Difference between revisions of "SAGA/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Some glitches, reported by eriktorbjorn)
(Removed bugs of original games from the TODO page)
Line 41: Line 41:
** 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
== Bugs in the original games ==
* ['''IHNM'''] Chapter 1 (Gorrister): After digging Glynis' grave, when loading a game the grave is no longer there
* ['''IHNM'''] After reading the note in the starting room of Gorrister's chapter, the hotspot for the note moves to the upper-left corner, so you can read it again and again. That happens in the original too, though.
* ['''ITE'''] Actors are drawn (some pixels above status bar) at Chota's falling.  - Original engine draws its too - so it is not our bug
* ['''ITE'''] 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]





Revision as of 07:55, 15 October 2007

Status

ITE

  • ITE is completable
  • The Amiga version is not supported yet
  • Demo versions:
    • The older non-interactive demos are supported
    • The newer interactive demo versions of the game are supported
    • 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


IHNM

  • The demo has two parts, an interactive and a non-interactive one. It's playable and probably completable
  • The full game is completable, with some glitches


ToDos

General

  • [IHNM/ITE] The first frame of animations is not shown when changing scenes. Perhaps a problem with the rendering pipeline. Currently, there's a hack to show it correctly. This issue is apparent in IHNM in Nimdok's chapter, with the mob of prisoners, when the prisoners break loose and take the prison
  • [IHNM] The (dis)appearing compact disk in Ellen's chapter is currently handled with a hack
  • [IHNM] Pathfinding bugs: When a character moves over an exit zone while doing an action, he stops his action and exits the room instead. The known places where this occurs are:
    • Chapter 1 (Gorrister): the graffitti in the restroom can't be examined. He just walks back to the bar instead
    • Chapter 2 (Ellen): When trying to interact with the monitor on the right in the monitors room, Ellen enters the next room instead. The character interacts correctly with the monitor in the IHNM demo, but there the monitor has a corresponding hitzone, which does not exist in the full version
  • [ITE] 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
  • [IHNM] When skipping the intro, the screen should fade down
  • [IHNM] If F5 is pressed to bring up the Load/Save dialog while the cursor is hidden, the cursor remains hidden. (The original - which uses Tab instead - doesn't allow you to do that at all, it seems.)
  • [IHNM] It looks like we may be using the wrong palette for the "boss key" (F9) screen
  • [IHNM] When clicking on Gorrister in the character selection screen, it seems that it doesn't play the entire animation. He should disappear completely (he does in the original), but in ScummVM he doesn't. Not always, at least.
  • [IHNM] In the room with Gorrister's heart, it seems the player can't just walk to the left side of the room to leave it. The tear has to be "used", though it's not necessary in the original. (Except from the inside.)


compress_saga tool

  • [IHNM] Currently, the SFX.RES file in IHNM cannot be compressed
  • [ITE] MacBinary files are not supported yet (used by the Mac CD Guild version)


Opcodes

  • [ITE] We need to find out where following script functions are called:
    • SF_cycleColors -- all implementation bits sit in palanim.cpp
    • sfPlayVoice -- used in ITE CD


Long-term ToDos for the SAGA engine

Optimizations

  • Make actor animation Event-driven. See FIXME in actor.cpp. Maybe it should be INTERVAL_EVENT
  • 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. Use "dirty rectangles" instead
  • Remove use of floating point, especially doubles.
  • The text is not always positioned like in the original (can be seen in ITE, but it's more apparent in IHNM, where text that should be on the top of the screen is in the bottom)


MIDI related

  • 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...?