Menu

#2034 MANIAC V2: Early collision with Green Tentacle

closed-fixed
kirben
5
2014-11-28
2005-05-20
Quietust
No

Running ScummVM 0.8.0CVS (May 20 2005 13:16:51)

Whenever a kid walks up the stairs from the 2nd floor
to the 3rd floor while Green Tentacle is still waiting
for food+drink, (s)he will say "Oomph!" and the
'tentacle' sound will be played (unless the kid runs
away in fear). Happens with PC V1/V2 and Amiga versions
(but not the NES version) and does not occur in the
original Amiga interpreter (currently not able to test
others).

Discussion

  • Eugene Sandulenko

    Logged In: YES
    user_id=166507

    Also while testing bug #862245. I found that it is possible
    to walk over bath in bathroom. Just click on it near corner.
    Moreover when curtain is open and you click on the mummy,
    Dave walks over it and actors priority puts him behind the
    mummy. See attached savegame.

     
  • Eugene Sandulenko

     
  • Eugene Sandulenko

    Logged In: YES
    user_id=166507

    Forgot to mention is that savegame is for English v1 Maniac

     
  • kirben

    kirben - 2006-03-14

    Logged In: YES
    user_id=34715

    The problem occurs in script 161:
    [0000] (A3) Var[72] = getActorY(Var[114])
    [0003] (43) Var[109] = getActorX(14)
    [0006] (5A) Var[109] += 2;
    [000A] (C3) Var[1] = getActorX(Var[114])
    [000D] (84) if (Var[1] <= Var[109]) {
    [0012] (1A) Var[71] = 35;
    [0016] (5A) Var[71] += 3;
    [001A] (9B) setBitVar(2952,Var[114],1)
    [001F] (19) doSentence(STOP)
    [0021] (FE) walkActorTo(Var[114],Var[71],Var[72])
    [0025] (1C) startSound(36)
    [0027] (48) if (VAR_HAVE_MSG == 0) {
    [002D] (D8) printEgo("Oomph!")
    [0035] (**) }
    [0035] (BB) waitForActor(Var[114])
    [0037] (91) animateActor(Var[114],244)
    [003A] (9B) setBitVar(2952,Var[114],0)
    [003F] (**) }
    [003F] (3E) walkActorTo(14,32,Var[72])
    [0043] (80) breakHere()
    [0044] (80) breakHere()
    [0045] (18) goto 0000;
    [0048] (A0) stopObjectCode()
    END

    Var[114] is set to VAR_EGO at this point, the script
    compares the X position of kid and Green Tentacle. For some
    reason the kid is been reported as already been past Green
    Tentacle, causing the "Oomph!" message to be triggered.

    The kid is been reported at 7, while Green Tentacle is been
    reported at 17, when I climb the stairs.

     
  • Max Horn

    Max Horn - 2006-08-26

    Logged In: YES
    user_id=12935

    So... does Var[114] contain a wrong value? Or should script 161 not be running?
    Or what else is going wrong?

     
  • Max Horn

    Max Horn - 2007-03-13

    Logged In: YES
    user_id=12935
    Originator: NO

    I am a bit confused -- what does the attached savegame have to do with the bug reported here?

    The walk behavior in the bathroom is still buggy, though, even after my walk code changes. The actors won't walk "onto" the bath tube anymore, but they will "walk on the spot". So it might be a good idea to (re)open a (new?) issue for that one, with the savegame attached here.

     
  • kirben

    kirben - 2007-03-14

    Logged In: YES
    user_id=34715
    Originator: NO

    File Added: maniac64.s05

     
  • kirben

    kirben - 2007-03-14

    V1 Maniac saved game

     
  • kirben

    kirben - 2008-04-17

    Logged In: YES
    user_id=34715
    Originator: NO

    To clarify my earlier message:
    Script 161, is started by script 51, which is started by the entry script for room 12.

    Script 161 should be running, and controls Green Tenacle at this point of game.

    The problem is the player actor's x position is reported incorrectly, when script 161 is first started, causing the 'Oomph!' to be said.

    The initial player actor's x position doesn't seem to be set correctly, when first set via the showActors() in startScene(). And doesn't get corrected until the later part of loadRoomWithEgo opcode.

     
  • Tobias Gunkel

    Tobias Gunkel - 2010-04-10

    This bug has already been fixed by segra for the V0 engine with patch #2970176 (V0: MM Verb + Anim Fix).

    Quote:
    *Fixes the Oompf script problem where green tentacle could be easily bypass
    ed, and how the script executes the moment you enter the room (this is beca
    use 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)

    Maybe that part of the patch is applicable for the other engines, too.

     
  • Max Horn

    Max Horn - 2011-05-15
    • summary: MANIAC: Early collision with Green Tentacle --> MANIAC V2: Early collision with Green Tentacle
     
  • kirben

    kirben - 2014-11-28

    Fixed in ScummVM GiT, thanks to patch from segrax.

    Use the next daily snapshot of ScummVM GiT.

     
  • kirben

    kirben - 2014-11-28
    • status: open --> closed-fixed
    • assigned_to: kirben