Opened 10 years ago

Closed 10 years ago

Last modified 12 months ago

#9144 closed patch

V0: MM Verb + Anim Fix

Reported by: SF/segra Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Maniac Mansion

Description

seeing as this was related to my last patch, ive deleted it and included it with this patch

*V0 has a hard coded table containing flags for each of the 25 actors, this table holds information about what happens when the actor speaks /walks
when your wearing the radiation suit for instance, you cant talk.. if the normal speak flag is enabled during this time, the character appears to hold the meteor (which is fine once you pick up the meteor, which forces the talk flag to on)

*Fixes the Oompf script problem where green tentacle could be easily bypassed, and how the script executes the moment you enter the room (this is because the original interpreter sets the actors X/Y to the previous X/Y before it starts the rooms scripts, after the script is running the actors proper x/y is set)

*There is a small patch to the animation system (some lines removed from costume.cpp) from Tobias Gunkel, it was easier to include in this patch as its directly related.

*Comments to the verb code

*improvements to the verb code

*stop changing to a new kid during certain times (when caught, etc)

Ticket imported from: #2970176. Ticket imported from: patches/1249.

Attachments (1)

v0_mm_verb_anim2.patch (13.6 KB ) - added by SF/segra 10 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by SF/segra, 10 years ago

let me rephrase that Oompf part,

when you enter the room with green tentacle, script 158 runs, checking the actor x/y , which was set to 0 near the start of 'o_loadRoomWithEgo', the original interpreter however sets it to the actors previous room x/y on the new room init (while this is probably a bug, the x/y are always greater than the tentacles, meaning the script wont execute the Oompf)

comment:2 by SF/segra, 10 years ago

added another fix for what-is script execution, when performing a "what-is" on the man eating plant, the actor says "it bit me!"

comment:3 by SF/tobigun, 10 years ago

For MSVC "const char v0ActorTalkArray[0x19]" should be "const byte v0ActorTalkArray[0x19]" as the type should be unsigned. Otherwise MSVC will abort compilation with some error messages.

comment:4 by SF/segra, 10 years ago

thanks tobigun, ive applied that change aswell as the use fix mentioned in my email

when attempting to use an object, which needs to be picked up, there was no check ensuring the object made it into the inventory, which was leading to a null ptr being

comment:5 by SF/segra, 10 years ago

added a couple more verb fixes, including the use of the walk-to scripts (which execute for certain objects, like the stairs before green tentacle), and the occasional use of script action 0x0F (which is the what-is verb, but never executed from what-is)

this action is only executed when a verb has been performed on an object, and no script for that object verb is available, 0x0F will be used, if it exists

by SF/segra, 10 years ago

Attachment: v0_mm_verb_anim2.patch added

comment:6 by Kirben, 10 years ago

Owner: set to Kirben
Status: newclosed

comment:7 by Kirben, 10 years ago

Thanks, I added the patch to ScummVM SVN.

comment:8 by digitall, 12 months ago

Component: Engine: SCUMM
Game: Maniac Mansion
Note: See TracTickets for help on using tickets.