Difference between revisions of "SAGA/TODO"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 15: Line 15:
== Long-term ToDos ==
== Long-term ToDos ==
=== Bugs/misfeatures ===
=== Bugs/misfeatures ===
* And going to the house (from the overhead map) causes "ObjectMap::getHitZone wrong index 0x3!"
* Anim::readAnimHeader(): found different start: 2567. Fix Anim::play()! in ITE, when entering the forest.
* Anim::readAnimHeader(): found different start: 2567. Fix Anim::play()! in ITE, when entering the forest.
* 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
* No script func should use ScriptDataWord directly. All of them should be converted to appropriate data types via getTYPE() functions
* No script func should use ScriptDataWord directly. All of them should be converted to appropriate data types via getTYPE() functions

Revision as of 15:52, 22 April 2005

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

Short-term ToDos

  • Interface
    • handleConverseUpdate scrolls inventory too quickly
    • Restore inventory functionality
    • Scrolling in inventory
    • Options dialog
    • Save/Load dialog
  • Save/Load support
    • Quick save/load works (use F7/F8) but always put actors at exit #0.

Long-term ToDos

Bugs/misfeatures

  • And going to the house (from the overhead map) causes "ObjectMap::getHitZone wrong index 0x3!"
  • Anim::readAnimHeader(): found different start: 2567. Fix Anim::play()! in ITE, when entering the forest.
  • 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
  • Walk bug. When announcer puts medallion on Rif he should go backwards instead of turning and walking faced to screen
  • 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

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]

Plans

  • Remove use of floating point, especially doubles.
  • Implement ShowSaveReminder(), that is that diskette
  • Puzzle