Toltecs

From ScummVM :: Wiki
Revision as of 15:02, 13 September 2012 by Md5 (talk | contribs) (Link to a video with a pathfinding problem in the Indian village)
Jump to navigation Jump to search
toltecs
Engine developer johndoe, md5
Companies that used it Revistronic
Games that use it 3 Skulls of the Toltecs
Date added to ScummVM 2011-11-20
First release containing it None

Status

  • The game is completable with some minor glitches (see bugs).

TODO

These are major issues which should be fixed first

  • Sound streaming in movies is problematic. Right now, part of the sound of a movie is preloaded and if there's still a sound buffer, it's loaded on the fly. When the sound buffer is later on loaded on the fly, the sound gets off sync. This is notable during the intro of the game (which is the longest video in the game)

Future TODO

These are minor issues which would be good to be fixed in the future

  • Check if background resources are used before purging them when changing scenes - check the comments inside sfLoadScene
  • When saving a game, save the whole screen when an animation is playing e.g. when playing animations (the script controlled ones, not the movies) it should save the whole screen when the game is saved when such an animation is running since it uses delta-frames so currently, once restored, the screen is wrong. This is only observed in a few places.
  • Some sounds are cut off prematurely (e.g. when an animation finishes before the sound sample, when changing scenes and a dialog is immediately started afterwards). This is by design (new animations and scene changes stop sounds that are already playing), so this requires changes to the way new scenes are started. We need to verify what the original does here.

Bugs

  • Pathfinding bugs in Fort Apache and the Indian village - e.g. when moving to the door on the right, the hero walks around a big path. Same when moving to the tent on the top in the Indian village. (this also happens in the original - check this video)
  • When getting the piano player off the well, he walks up facing to the left (his side animation is shown) - probably related to pathfinding?
  • Sometimes, some stray lines are drawn below fonts - probably because the text doesn't fit inside the screen and the surface is cut off incorrectly.
  • Some artifacts are drawn on screen occasionally (e.g. when text is shown over an animation).

Done

  • Save sound volume and panning in saved games
  • Implement music volume
  • Load/start sound and music of the saved scene when loading.
  • Crashes sometimes on scene changes
    • (I guess because some talktext is still running although the slot used by it has changed)
  • Crashes sometimes (e.g. when inside the barn and going up the ladder)
    • These crashes are caused by non-stopping background sounds, see TODO above.
  • The game music is in XMIDI. I'm assuming that the rest of the formats were because of badly dumped resources - finalize() calls were missing and the resulting music could contain anything.
  • Implement dirty rectangles (low priority)
  • Optimize segment mask redrawing (only redraw what's necessary)
  • Add movie playback functionality (movie format is known, needs implementing)
  • Add sound support (after rewrite of the resource system)
  • Still some clipping issues (walking upstairs in the saloon, when on top of the tower in the hideout)
  • Add game menu
    • Rewrite from scratch with only minor stuff from the disasm since the original menu is one huge messy function
  • Rewrite the resource system to something similar as used by M4
    • each resource type gets its own class, the resource cache manages the resource instances
    • generic resource class which has a method that creates a MemoryReadStream
    • rewrite parts of the engine to use the new resource system
  • Extend savegame format (savegame version, description, more data)

External Links