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)

maniaca.s10 (5.8 KB ) - added by SF/zaurak 14 years ago.
Savegame 1 -> Öffne Paket -> 2 inventory entries for "stamps" (Briefmarken)
maniaca.s11 (7.0 KB ) - added by SF/zaurak 14 years ago.
Savegame 2 -> Benutz Briefmarken mit Kassette in Umschlag -> inventory entries for "demo band tape inside envelope" (Kassette in Umschlag) disapears
MMC64 Öffne Paket C64.png (5.0 KB ) - added by SF/zaurak 14 years ago.
Screenshot from C64 -> correct behavior after "open parcel" (Öffne Paket)
MMC64 Öffne Paket ScummVM 1.png (10.9 KB ) - added by SF/zaurak 14 years ago.
Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) outside the house
MMC64 Öffne Paket ScummVM 2.png (12.8 KB ) - added by SF/zaurak 14 years ago.
Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) on the first floor
fixed.png (30.6 KB ) - added by SF/segra 11 years ago.
mm.png (22.7 KB ) - added by SF/zaurak 11 years ago.

Download all attachments as: .zip

Change History (17)

by SF/zaurak, 14 years ago

Attachment: maniaca.s10 added

Savegame 1 -> Öffne Paket -> 2 inventory entries for "stamps" (Briefmarken)

by SF/zaurak, 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 SF/zaurak, 14 years ago

Attachment: MMC64 Öffne Paket C64.png added

Screenshot from C64 -> correct behavior after "open parcel" (Öffne Paket)

by SF/zaurak, 14 years ago

Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) outside the house

by SF/zaurak, 14 years ago

Screenshot ScummVM -> wrong behavior after "open parcel" (Öffne Paket) on the first floor

comment:1 by SF/zaurak, 14 years ago

Due to this bug, the game is not completable using the path by getting a music contract.

comment:2 by SF/tobigun, 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 Kirben, 14 years ago

Fixed in ScummVM SVN, by the patch provided by segra.

Use the next daily snapshot of ScummVM SVN.

comment:4 by Kirben, 14 years ago

Owner: set to Kirben
Resolution: fixed
Status: newclosed

comment:5 by SF/zaurak, 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 Kirben, 14 years ago

Owner: Kirben removed
Resolution: fixed
Status: closednew

comment:7 by fingolfin, 14 years ago

Summary: MMC64: Bug while getting the stamps from the parcelMANIAC C64: Bug while getting the stamps from the parcel

by SF/segra, 11 years ago

Attachment: fixed.png added

comment:8 by SF/segra, 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 SF/zaurak, 11 years ago

Attachment: mm.png added

comment:9 by SF/zaurak, 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 segrax, 8 years ago

Owner: set to segrax
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.