Opened 17 years ago

Closed 17 years ago

#2954 closed defect (invalid)

GOB2: can't take objects

Reported by: (none) Owned by: DrMcCoy
Priority: normal Component: Engine: Gob
Version: Keywords:
Cc: Game: Gobliins 2

Description

ScummVM 0.10.0svn (Dec 20 2006 10:32:56) Features compiled in: Vorbis FLAC MP3 zLib MPEG2

Neither distracting the old people nor the nobleman let me take the onjects (sausage, milk). The game just stucks the actor who wants to take for one second and then returns to normal, nothing taken, thaough i can't go on in the game, stuck at the first screen

Gobliins 2 (CD) English

Amiga OS4 gcc version 4.0.2 (AmigaOS build 20051012)

Ticket imported from: #1619319. Ticket imported from: bugs/2954.

Attachments (6)

gob2-log.zip (16.8 KB ) - added by SF/*anonymous 17 years ago.
Gob2.log ~1.6MB
gob2debug.diff (1.6 KB ) - added by DrMcCoy 17 years ago.
Patch for some debug output
gob2debug.zip (9.9 KB ) - added by SF/*anonymous 17 years ago.
log after the .diff
gob2debug2.zip (35.0 KB ) - added by SF/*anonymous 17 years ago.
The rest…
gob2debug2.diff (1.6 KB ) - added by DrMcCoy 17 years ago.
New patch for some debug output
gob2debugfinal.zip (46.2 KB ) - added by SF/*anonymous 17 years ago.
Final - merged and hopefully with enough info

Download all attachments as: .zip

Change History (23)

comment:1 by DrMcCoy, 17 years ago

Hmm, that's bad. Sounds like a problem the code has with your OS, signness, alignment or the like. :/

comment:2 by DrMcCoy, 17 years ago

Owner: set to DrMcCoy

comment:3 by DrMcCoy, 17 years ago

Could you remove the return in Parse::printExpr() (parse.cpp:166), add a 'warning("PrintText(%s)", _textToPrint);' to Draw_v2::spriteOperation() after the 'case DRAW_PRINTTEXT:' (draw_v2.cpp:716), run it with "-d5 --debugflags=DrawOpcodes,FuncOpcodes" and attach the output here? That could show what went wrong.

by SF/*anonymous, 17 years ago

Attachment: gob2-log.zip added

Gob2.log ~1.6MB

comment:4 by (none), 17 years ago

Sure, thanks for looking

I attached it as zip file, the log is huge... File Added: gob2-log.zip

by DrMcCoy, 17 years ago

Attachment: gob2debug.diff added

Patch for some debug output

comment:5 by DrMcCoy, 17 years ago

Hmm, I need more debug output... Could you please apply the attached patch, run ScummVM with "-d5 --debugflags=DrawOpcodes,FuncOpcodes", do the steps that lead to the bug and attach the output here? File Added: gob2debug.diff

by SF/*anonymous, 17 years ago

Attachment: gob2debug.zip added

log after the .diff

comment:6 by (none), 17 years ago

Done

There is also a slight pause (halt of all characters and the mouse pointer) as soon as the NPC's are about to talk.

Let me know if i can do more, thanks a lot File Added: gob2debug.zip

comment:7 by DrMcCoy, 17 years ago

Erm, there's lots of output missing in the log, are you sure you've redirected all streams into the file?

by SF/*anonymous, 17 years ago

Attachment: gob2debug2.zip added

The rest...

comment:8 by (none), 17 years ago

The lines that missing are in the new log. Unfortunately i can't merge them :-/

If i try to log one to a file the other will get displayed but not logged and vice versa :-( File Added: gob2debug2.zip

by DrMcCoy, 17 years ago

Attachment: gob2debug2.diff added

New patch for some debug output

comment:9 by DrMcCoy, 17 years ago

Unfortunately, I need them merged... Therefore, could you do /another/ fresh checkout, apply the new attached patch, run ScummVM with "-d5 --debugflags=DrawOpcodes,FuncOpcodes", do the steps that lead to the bug and again attach the output here? File Added: gob2debug2.diff

by SF/*anonymous, 17 years ago

Attachment: gob2debugfinal.zip added

Final - merged and hopefully with enough info

comment:10 by (none), 17 years ago

Thanks for the changes, now i was able to log everything into one file. Attached...

The only thing i still get into the shell window is this, but its probably only harmless warnings!?

WARNING: GOB2 Stub! _word_2E8E2, _word_2FC9C, _word_2FC9E, _word_2E51F, _off_2E51B, _off_2E517! WARNING: GOB2 Stub! _byte_2FC82, _byte_2FC83, _word_2FC80! WARNING: GOB2 Stub! _byte_2FC9B, _dword_2F2B6! WARNING: GOB2 Stub! _word_2F9C0, _word_2F9BE, _word_2F9BC, _word_2F9BA, _dword_2F9B6, _dword_2F9B2! WARNING: Couldn't open drive: Invalid CD-ROM drive index! WARNING: STUB: Video::initDriver! WARNING: GOB2 Stub! Inter_v2::o2_initMult(), wide frontSurface, using the extra space as animSurf! WARNING: SoundKeyCount: 0! WARNING: GOB2 Stub! Mult_Data.somepointer09, Mult_Data.somepointer10! WARNING: GOB2 Stub! Inter_v2::o2_initMult(), wide frontSurface, using the extra space as animSurf! WARNING: SoundKeyCount: 171! WARNING: GOB2 Stub! Mult_Data.somepointer09, Mult_Data.somepointer10! WARNING: STUB: Video::freeDriver! WARNING: cleanup: Allocated sprites left: 1! File Added: gob2debugfinal.zip

comment:11 by (none), 17 years ago

An example of what happens

The left screen from the beginning, the one with the chicken...Fingus grabs the chicken and should hold it by the neck for at least some seconds, now Winkle ought to be able to grab an egg from ... well, wherever he puts his hand there (YUCK!) :-)

For me, as soon as i let Winkle grab the egg the chicken is set back to the ground immediately and biting leaving me without a chance to grab the egg, there is no some seconds delay. (seems the script is intercepted at the point of interacting with an object when one goblin already interacting ... if that makes any sense)

comment:12 by (none), 17 years ago

I just found out that the bottle (example from the first screen) isn't useable/pointable/simply not there when the "Old Men" starts talking. The text bar beneath doesn't show any "Bottle" whatever i try.

As soon as the "Old Men" finished, the bottle is useable again and turns up in the text bar when pointing at it.

Of course one can still send one Goblin to the Bottle and AFTER that send the second goblin to talk to the people. Then the bottle will be tried to pick up, but isn't, strange ???

comment:13 by DrMcCoy, 17 years ago

Errrm, wait, you do know that you have to send Winkle to get the nobleman's salami and pick the bottle with Fingus when the old people are laughing, right? Simply talking to the old people and picking the bottle with the other goblin doesn't work, that's not the correct solution.

comment:14 by (none), 17 years ago

Uhhm, ye..no.. :-)

I thought distracting the two by simply talking to them is enough. :-)

Anyway, something is still wrong, what WOULD happen if you just talk to them with one goblin and try to pick up the bottle with the other? Could you check that, please? For the goblin at the bottle simply refuses to pick it up and turns to the left and back to face the player (screen).

That shouldn't happen, should it? I mean, i for one was totally puzzled what to do until you gave me the spoiler...

Thanks by the way (i'm feeling dumb, now ... again) :-/

comment:15 by DrMcCoy, 17 years ago

"I thought distracting the two by simply talking to them is enough. :-)"

Nope, that not enough.

"For the goblin at the bottle simply refuses to pick it up and turns to the left and back to face the player (screen)."

That's exactly what's supposed to happen, that's what happens with the original in dosbox as well.

"I mean, i for one was totally puzzled what to do until you gave me the spoiler..."

Well, it is an adventure game... ;)

"Thanks by the way (i'm feeling dumb, now ... again) :-/"

Don't, we all make mistakes. :) I for one am glad it's not a real bug, because I really had no clue what was wrong, it even worked with a Debian in qemu-ppc. I was already thinking about buying AmigaOS 4 (if I could find (and afford) it), on the off-chance it would work in qemu-ppc.

So, just to be sure, does the real solution work? Can I close this?

comment:16 by (none), 17 years ago

>So, just to be sure, does the real solution work? Can I close this?

Yes, you can, your hint worked and your explanations gave me the needed information to savely say it was entirely my fault... :-)

D'OH!!!

comment:17 by DrMcCoy, 17 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.