Difference between revisions of "Gob/TODO"

From ScummVM :: Wiki
< Gob
Jump to navigation Jump to search
(Update status)
(Update)
Line 5: Line 5:
* Alignment fixes (done?)
* Alignment fixes (done?)


== General glitches/todos in Gobliins 2 ==
== Bugs, glitches and todos ==


* Missing soundkeys in the intro
=== 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
* 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
* 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
* 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 ==
== File-specific tasks ==
Line 15: Line 40:
=== gob.cpp ===
=== 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)
* Reduce kMD5FileSizeLimit from 1MB to e.g. 80 kb (this might require recomputing some MD5s, but is faster, and good enough for finger printing)
=== draw_v2.cpp ===
* The mouse cursor drawing is now done using the ScummVM backend. With Gob2, sometimes, when the cursor was turned off and should be turned on again, it'll only appear after the mouse is moved (noticable in Ween).


=== text.cpp ===
=== text.cpp ===
Line 30: Line 52:
=== music.cpp ===
=== 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.
* 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

Revision as of 08:57, 18 December 2006

Status

Gobliiins 1 is completable. Gobliins 2 is completable with major glitches.

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
  • 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)

text.cpp

  • This file should be removed and is not currently required for compilation but we need to inspect which variables does it set and to which values and convert them to our Config Manager. We should support all video outputs and at least PC speaker and Adlib.

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