Gob/TODO
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)
- Well: Saving after only of of the two goblins has been send diving down the well, saving produces a "broken" (unplayable) save
- The save name dialog isn't shown, the input is accepted, though
- 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
- 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