Difference between revisions of "Gob/TODO"

From ScummVM :: Wiki
< Gob
Jump to navigation Jump to search
m (Hang in EGA version has been fixed)
(Use Tracker template instead of BugTrackSF)
 
(122 intermediate revisions by 11 users not shown)
Line 1: Line 1:
== Status ==
{{Infobox_TODO|
Game is completable. There are occasonal minor graphical glitches.
taskname=Gob Engine TODO|
techcontact=[[Gob]] Engine Team|
subsystem=Engine|
}}


== Problematic places ==
== Bugs, glitches and ToDos ==
* map_loadDataFromAvo() in map.cpp. These are plain calls to memcpy() so all read data is not endian safe and moreover it could read wrong size if sizeof(structure) is used in length calcualtion. All structures should be unwind, i,e, read element by element and FROM_LE_XX wraps applied.
=== Script bugs ===
* Bargon Attack: Graphical glitch when loading a save made on the Bargon bridge after transforming self (the original actor appears as well).
* Fascination: Some versions have incorrect timing in several places as they used loading time. Fixing the scripts is required in those cases (before entering the lab was the most visible example) - '''Now fixed in Amiga and Atari versions'''
* Fascination: The game sometimes hangs in the parking lot when the card is used directly, without the code. - '''This also occurs in the original exe'''
* Gobliins 2: Leaving Vivalzart's screen and returning after putting the mushroom into the machine yields another mushroom in the inventory. Letting Winkle use that one with the machine locks him up.
* Gobliins 2: In music land, trying to switch the screen should be prohibited by the scripts, but isn't. A workaround keeps ScummVM from crashing and shows a dialog box instead. {{Tracker|id=3155}}
* Gobliins 2: In the bubble screen, the game lets you try to release the prince before acquiring the safety pin, leaving you in an unfinishable state. {{Tracker|id=3392}}
* Goblins 3: 'A Bell' button hotspot disappears. {{Tracker|id=3805}}
* Goblins 3: Chessboard scene reloads after the rat is first used. {{Tracker|id=3986}}
* Goblins 3: Unable to enter the Battlefield. {{Tracker|id=4022}}
* Goblins 3: Unable to progress through queen's throne room. {{Tracker|id=4016}}
* Lost in Time: sprite gets corrupted during a dialogue. {{Tracker|id=3839}}
* Woodruff: Infinite hypnotic CDs. {{Tracker|id=3750}}
* Woodruff: Access to the Laboratory. {{Tracker|id=3751}}
* Woodruff: Wrong code for safe in temple. {{Tracker|id=3777}}
* Woodruff: Bluxtre nut not drawn after leaving it on the ground. {{Tracker|id=3742}}


* data_readData(). Same as above.
=== General ===
* Mouse cursor sometimes shown when it shouldn't and vice versa. (Introduced when I changed cursor handling to the CursorManager; my solution isn't all that great, apparently.)
* The number of used jokers isn't saved correctly: you'll always have 5 to spend again after loading. This is a result of using individual files for each save slot and letting the user exit with CTRL-Q (the number of jokers is saved globally for the whole game and only when exiting using the menu).


== Bugs ==
=== Graphics ===
* Keyboard input is buggy as some keypressed get ignored. Particularly noticeable when entering screen code
* When game calls delay() screen doesn't get redrawn. Noticeable at "please wait" screen and especially cutscenes (try screen #5 FTWKFEN)
* Demo doesn't handle last screen properly. It hangs instead of printing ordering info


== Main and long-term goals ==
* A few graphical glitches remain:
* Convert it to C++ classes. This should be done on per-file basis.
** Goblins 3: double sprite glitch in the queen level {{Tracker|id=3401}}
* Alignment fixes
** Lost in Time: sprite gets corrupted during a dialogue {{Tracker|id=3839}}
** Lost in Time: palette issue with sprites {{Tracker|id=3838}}
** Woodruff: Palette glitch {{Tracker|id=3768}} (Also happens in the original)
** Woodruff: Graphic glitches {{Tracker|id=3848}} (2 of 3 also happens in the original)
** Woodruff: GFX Glitches {{Tracker|id=4491}} (Also happens in the original)
 
=== Sound ===
* Ween: Wrong speaker sound when putting away items on some machines.
* Fascination: The duration of short sounds is sometimes incorrect. The most obvious problem is the sound of the keys of the phone: the sound is not played for each key (first room). This may be similar to the Ween sound issue.


== File-specific tasks ==
== File-specific tasks ==
=== cdrom.cpp ===
=== video.cpp ===
* Support for gob1cd tracks. ''sev is working on this''
* Add support for other rendering modes (EGA/CGA/Hercules) lega.gdr, l360.gdr, lcga.gdr.
 
=== music.cpp ===
* Gobliiins Mac: musmac1.adl isn't played correctly at all.
 
== Game-specific tasks ==
=== Fascination ===
* Add support to the [[RAC file]], which is used by the protection of the CD version. (not really required, the game works with extracted STKs)


=== gob.cpp ===
=== Inca 2 ===
* Write proper game detection. (MD5-based?)


=== interp.cpp ===
* The (hard-coded) space shooter isn't yet implemented.
* Since neither VGA nor CD versions have protection screen we may skip it in EGA version too
* A few graphic glitches remain.


=== sound.cpp ===
=== Little Red Riding Hood ===
* Has yet to be written from sound.asm
* Support Red Book audio in CD versions


=== text.cpp ===
* Handle direction keys, so that the arcade part is playable
* 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.


=== util.cpp ===
=== Playtoons ===
* Get rid of rand() and use RandomSource


=== video.cpp ===
* Creation tool is not working properly.
* Implement pDrawLine function from the VGA driver (lvga.gdr) ''Is it ever used?''
* Clicking on a word should spell it, not the first word of the sentence
* Add support for other rendering modes (EGA/CGA/Hercules) lega.gdr, l360.gdr, lcga.gdr
 
=== The Last Dynasty ===
 
* Space shooter is hard-coded there, too.
* The game currently loops strangely, thanks to the faked shooter return code.
 
=== Urban Runner ===
 
* When mousing over the register in the hotel action sequence, the inventory pops up.
* Corrupt encoded frames in videos are skipped or masked by original interpreter. Need to do the same.
** Most of these are now detected and corrected masked, but three cases still remain as of 2011-04-26:
*** < 1sec white glitch in video triggered when Max approaches Door in Basement ("mxport2").
*** ~1sec white glitch in video as Adda escapes from warehouse.
*** Large red/orange glitch in Inspector Van Dell video shown after Max complete Pool Hall entry ("sn6").
 
=== Woodruff ===
 
* Crash while loading the "Game over" screen for the Rummy game: {{Tracker|id=3749}}

Latest revision as of 16:55, 21 February 2016

TODO List
Name Gob Engine TODO
Technical Contact(s) Gob Engine Team
Subsystem Engine

Bugs, glitches and ToDos

Script bugs

  • Bargon Attack: Graphical glitch when loading a save made on the Bargon bridge after transforming self (the original actor appears as well).
  • Fascination: Some versions have incorrect timing in several places as they used loading time. Fixing the scripts is required in those cases (before entering the lab was the most visible example) - Now fixed in Amiga and Atari versions
  • Fascination: The game sometimes hangs in the parking lot when the card is used directly, without the code. - This also occurs in the original exe
  • Gobliins 2: Leaving Vivalzart's screen and returning after putting the mushroom into the machine yields another mushroom in the inventory. Letting Winkle use that one with the machine locks him up.
  • Gobliins 2: In music land, trying to switch the screen should be prohibited by the scripts, but isn't. A workaround keeps ScummVM from crashing and shows a dialog box instead. [Bug #3155]
  • Gobliins 2: In the bubble screen, the game lets you try to release the prince before acquiring the safety pin, leaving you in an unfinishable state. [Bug #3392]
  • Goblins 3: 'A Bell' button hotspot disappears. [Bug #3805]
  • Goblins 3: Chessboard scene reloads after the rat is first used. [Bug #3986]
  • Goblins 3: Unable to enter the Battlefield. [Bug #4022]
  • Goblins 3: Unable to progress through queen's throne room. [Bug #4016]
  • Lost in Time: sprite gets corrupted during a dialogue. [Bug #3839]
  • Woodruff: Infinite hypnotic CDs. [Bug #3750]
  • Woodruff: Access to the Laboratory. [Bug #3751]
  • Woodruff: Wrong code for safe in temple. [Bug #3777]
  • Woodruff: Bluxtre nut not drawn after leaving it on the ground. [Bug #3742]

General

  • Mouse cursor sometimes shown when it shouldn't and vice versa. (Introduced when I changed cursor handling to the CursorManager; my solution isn't all that great, apparently.)
  • The number of used jokers isn't saved correctly: you'll always have 5 to spend again after loading. This is a result of using individual files for each save slot and letting the user exit with CTRL-Q (the number of jokers is saved globally for the whole game and only when exiting using the menu).

Graphics

  • A few graphical glitches remain:
    • Goblins 3: double sprite glitch in the queen level [Bug #3401]
    • Lost in Time: sprite gets corrupted during a dialogue [Bug #3839]
    • Lost in Time: palette issue with sprites [Bug #3838]
    • Woodruff: Palette glitch [Bug #3768] (Also happens in the original)
    • Woodruff: Graphic glitches [Bug #3848] (2 of 3 also happens in the original)
    • Woodruff: GFX Glitches [Bug #4491] (Also happens in the original)

Sound

  • Ween: Wrong speaker sound when putting away items on some machines.
  • Fascination: The duration of short sounds is sometimes incorrect. The most obvious problem is the sound of the keys of the phone: the sound is not played for each key (first room). This may be similar to the Ween sound issue.

File-specific tasks

video.cpp

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

music.cpp

  • Gobliiins Mac: musmac1.adl isn't played correctly at all.

Game-specific tasks

Fascination

  • Add support to the RAC file, which is used by the protection of the CD version. (not really required, the game works with extracted STKs)

Inca 2

  • The (hard-coded) space shooter isn't yet implemented.
  • A few graphic glitches remain.

Little Red Riding Hood

  • Handle direction keys, so that the arcade part is playable

Playtoons

  • Creation tool is not working properly.
  • Clicking on a word should spell it, not the first word of the sentence

The Last Dynasty

  • Space shooter is hard-coded there, too.
  • The game currently loops strangely, thanks to the faked shooter return code.

Urban Runner

  • When mousing over the register in the hotel action sequence, the inventory pops up.
  • Corrupt encoded frames in videos are skipped or masked by original interpreter. Need to do the same.
    • Most of these are now detected and corrected masked, but three cases still remain as of 2011-04-26:
      • < 1sec white glitch in video triggered when Max approaches Door in Basement ("mxport2").
      • ~1sec white glitch in video as Adda escapes from warehouse.
      • Large red/orange glitch in Inspector Van Dell video shown after Max complete Pool Hall entry ("sn6").

Woodruff

  • Crash while loading the "Game over" screen for the Rummy game: [Bug #3749]