Gob/TODO

From ScummVM :: Wiki
< Gob
Revision as of 20:48, 19 December 2006 by Clone2727 (talk | contribs) (Gob TODO moved to Gob/TODO: subpage)
Jump to navigation Jump to search

Status

Gobliiins 1 is completable. Gobliins 2 is completable with rare bugs.

Show stoppers

  • Alignment fixes (done?)

Bugs, glitches and todos

General

  • Vivalzart: After putting the mushroom in the machine, leaving the room yields another mushroom in the inventory. Letting Winkle use that one with the machine locks him up (script bug, happens in the original as well)
  • Bargon intro is missing scenes
  • Graphical glitches in Bargon (incorrect drawing of partly-covered objects and wrong drawing positions)
  • Mouse cursor sometimes shown when it shouldn't and vice versa (introduced when I changed it to use the CursorManager; my solution isn't all that great, apparently)
  • Animated cursors in Ween and Bargon aren't looping correctly, they blink after every cycle

Missing stuff

  • Wide surfaces (640x200) & scrolling (needed for Ween and Bargon)
  • Missing opcodes (0x21, 0x84, 0x86, 0x87, 0x88)
  • IMD-stubs (sound?)

Sound

  • Missing soundkeys in the intro (while the snatched-away prince is shown)
  • Wrong neck-twisting sound repeat count in intro
  • Some sounds sounding wrong, negative frequencies
  • Sounds being cut of wrong, with a click
  • No speech in Bargon intro (.SND-files?)

Code/Style

  • "Unnamed" functions & vars
  • Stop (ab)using Game::_soundSamples for ADLs
  • Before changing the font and using the note-pad, Draw::_backSurface is dumped to a file and read again afterwards. That probably should be avoided by using a temporary surface
  • Code dup (quite a lot actually)

Memory

  • Leaks (lots)
  • My glibc sometimes detects corrupted double-linked list and double frees; not good

File-specific tasks

gob.cpp

  • Reduce kMD5FileSizeLimit from 1MB to e.g. 80 kb (this might require recomputing some MD5s, but is faster, and good enough for finger printing)

video.cpp

  • Add support for other rendering modes (EGA/CGA/Hercules) lega.gdr, l360.gdr, lcga.gdr

mult.h/mult_v1.cpp/mult_v2.cpp

  • Merge Mult_v2::_multData2 and the loose variables in Mult

music.cpp

  • The Gobliins 2 intro music has broken percussions. The stand-alone player plays it correctly, so that bug was most likely produced by me while cramming the player's source into ScummVM.
  • Missing commands (0x10, 0x50, 0x60 (+ other?))
  • musmac1.adl from Gobliiins Mac version isn't played correctly at all