Opened 14 years ago
Closed 8 years ago
#5378 closed defect (fixed)
MANIAC C64: Bug while getting the stamps from the parcel
Reported by: | SF/zaurak | Owned by: | segrax |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Maniac Mansion |
Description
Version:ScummVM 1.2.0svn 52814 (Sep 20 2010 10:11:50) System: Windows XP Game: Maniac Mansion C64 (German language) playing with Dave, Syd & Bernard
After Syd gets the parcel, he can try to open it. Although he can't open it, he will get a few stamps instead, which are necessary to send the demo band tape (Kassette) inside the envelope later in the game.
Bug description: In the original game Syd will get stamps showing the entry "stamps" (Briefmarken) inside the inventory. These stamps can be used later on the demo band tape inside envelope (Kassette in Umschlag).
Using ScummVM the same action "Öffne Paket" (open parcel) will show different results depending on the Room Syd is situated in.
1.) Outside the house (Savegame 1, Screenshot 1): Syd will get two inventory entries "stamps" (Briefmarken) instead of one entry. This causes one more bug described later. 2.) Go inside the house and reach the first floor (Screenshot 2): Syd will get no stamps at all, although he pretends to get some.
If Syd gets two inventory entries for stamps and later tries to stick them onto the envelope (Benutze Briefmarken mit Kassette in Umschlag), then the inventory entry "demo tape inside envelope" (Kassette in Umschlag) disapears while both inventory entries for "stamps" (Briefmarken) remain (Savegame 2).
Ticket imported from: #3072094. Ticket imported from: bugs/5378.
Attachments (7)
Change History (17)
by , 14 years ago
Attachment: | maniaca.s10 added |
---|
by , 14 years ago
Attachment: | maniaca.s11 added |
---|
Savegame 2 -> Benutz Briefmarken mit Kassette in Umschlag -> inventory entries for "demo band tape inside envelope" (Kassette in Umschlag) disapears
by , 14 years ago
Attachment: | MMC64 Öffne Paket C64.png added |
---|
Screenshot from C64 -> correct behavior after "open parcel" (Öffne Paket)
by , 14 years ago
Attachment: | MMC64 Öffne Paket ScummVM 1.png added |
---|
Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) outside the house
by , 14 years ago
Attachment: | MMC64 Öffne Paket ScummVM 2.png added |
---|
Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) on the first floor
comment:1 by , 14 years ago
Due to this bug, the game is not completable using the path by getting a music contract.
comment:2 by , 14 years ago
In script roomobj-1-24 the following commands are executed if the parcel has not been opened before: [0050] (6F) if (getState08(activeObject)) { [0053] (69) setOwnerOf(132,VAR_EGO) [0056] (18) } else { [0059] (90) pickupObject(132) [005B] (**) } [005B] (75) printEgo("Oh, einige ungestempelte Marken!")
"if (getState08(activeObject)) {" checks if the parcel (the active object = object with ID 24) has been picked-up before (and is in the inventory of the actor) or if it still lies in the grass. So the stamps (object 132) will only be picked-up if the package is not in the inventory.
This check does not work correctly. Even if the parcel is in the inventory, the stamps will be picked-up again. The pick-up operation will check for the object in the current room. If the actor is located outside, the parcel is in the room, the stamps will show up twice. In the inside, the parcel is not in the room, the pick-up operation is aborted. In both cases a call to setOwnerOf() would have been the correct operation.
The pick-up operation is always called because getState08(activeObject) fails. For some reason, activeObject is 0 (no object active) instead of 24 and object 0 is not in the inventory.
To fix this bug, _activeObject must be set to the object of the operation, e.g. with "open parcel" it must be parcel (object 24).
comment:3 by , 14 years ago
Fixed in ScummVM SVN, by the patch provided by segra.
Use the next daily snapshot of ScummVM SVN.
comment:4 by , 14 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:5 by , 14 years ago
Tested using ScummVM 1.3.0svn53822 (Oct 25 2010 23:36:48). Getting the "stamps" (Briefmarken) now works. Then I played the game until Syd got the following items: "parcel" (Paket), "stamps" (Briefmarken) and" tape inside envelope" (Kassette in Umschlag). Then Syd uses the "stamps" onto the "tape inside envelope" (Benutz Briefmarken mit Kassette in Umschlag). Syd reports "Sie kleben!" (It sticks), but the item "tape inside envelope" (Kassette in Umschlag) disapears from the inventory while the item "stamps" (Briefmarken) is still present. Due to this bug, the game is still not completable using the path by getting a music contract.
comment:6 by , 14 years ago
Owner: | removed |
---|---|
Resolution: | fixed |
Status: | closed → new |
comment:7 by , 14 years ago
Summary: | MMC64: Bug while getting the stamps from the parcel → MANIAC C64: Bug while getting the stamps from the parcel |
---|
by , 11 years ago
comment:8 by , 11 years ago
Is this bug still occuring? I see 'tape in stamped en' after using the two together (as far as i can tell i did it correctly, i dont know german unfortunately!!)
by , 11 years ago
comment:9 by , 11 years ago
Seems to work fine now! After loading a previously saved game and then attaching the stamp onto the envelope works fine now! The bug doesn't seem to occure anymore.
comment:10 by , 8 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Savegame 1 -> Öffne Paket -> 2 inventory entries for "stamps" (Briefmarken)