Open main menu

SAGA/TODO

< SAGA
Revision as of 06:20, 5 July 2005 by Eriktorbjorn (talk | contribs) (I think this has been working right for quite some time now.)

Russian is allowed here. Можно пиÑ?ать и по-руÑ?Ñ?ки. Я переведу. [sev]

Status

Game is completable with occasional minor gfx glitches.

Short-term ToDos

  • Requests
    • We need to find out where following functions are called:
      • SF_cycleColors -- all implementation bits sit in palanim.cpp
      • sfPlayVoice -- used in ITE CD
  • BUGS
    • dragon-maze scene have inproper pal after zero state load
    • Protection screen (in Rats maze) is skipped in Floppy version.
    • Occasional graphics glitches in ISO rooms. (At least in the Rats maze.) Most notable when entering rounded doors. (3d draw sequence is wrong)
    • Subtitles get truncated at first encounter with Elara and most noteably in Okk's confess near Boars Castle.
    • When loading a savegame made during an "inset" scene where the background scene is not an ISO scene, Rif may show up in both scenes. Moreover with current code options panel is inserted between scenes when load from interface.
    • When savegame is loaded from interface script is running for a while and then game switches back to options panel which is completely wrong. This takes part in above bug.
    • At the glass makers's house, the leftmost mirrors cannot be examined. Rif leaves the house before he gets close enough.
    • Puzzle
      • Garbage isn't cleaned up when move Puzzle piece over the interface panel. The original clips the pieces so that they are never drawn over the interface panel.
      • No non-actor speech, so hints aren't visible.
      • Related to above. No CD voices in non-actor speech.
    • Ending sequence has zillions of GFX bugs
      • Actors are drawn at Chota's falling. They shouldn't
      • Inventory is visible when Chota's talking and his portrait is drawn on top of it
      • Celebration scene has inventory when it should be full screen
  • Interface
    • wrong Option button draw sequence - some dots have inproper color.
    • handleConverseUpdate scrolls converse too quickly.
    • handleCommandUpdate scrolls inventory too quickly.
    • Options dialog functionality.
    • "P" should be the hot-key for "Pick Up". In ScummVM, it's "Paws Game" instead.
  • DONE - review&remove it
    • Rif walks backwards at first enounter with Elara and in hardware store at Ferret Village.

Long-term ToDos

Bugs/misfeatures

  • Make actor animation Event-driven. See FIXME in actor.cpp. Maybe it should be INTERVAL_EVENT
  • No script func should use ScriptDataWord directly. All of them should be converted to appropriate data types via getTYPE() functions
  • Fix the usage of Rect so that it's more consistent with the rest of ScummVM, e.g. a rectangle covering the entire ITE screen should have right=320 and bottom=200. (eriktorbjorn, partly - mostly? - done)
  • 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
  • Optimize screen output. Now we blit whole screen for each frame.
  • 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...?
  • In the dog's castle at guards' room (scene_change 177 ang go down) subtitles aren't shown. In floppy version there is complete silence both textual and audial. Looks to me as if subtitles are drawn outside the screen. Are the coordinates calculated wrong, or should the text drawing code compensate?
  • Sound in old Win demo is all wrong -- either there is some unique sound format or I didn't guess it correctly
  • Remove use of floating point, especially doubles.

Legacy items

  • Remove any traces of the additional level of abstraction reinherit used
  • Remove homerolled high level data structures like stacks that should be provided by ScummVM if they aren't already.
  • OO'ify (blah_mod.h contains public stuff, blah.h private stuff) [almost done]
  • Remove use of floating point, especially doubles.