Opened 9 years ago

Closed 4 years ago

#4928 closed defect (fixed)

AGI: SQ2 : Falling Off Log Almost Immediate

Reported by: digitall Owned by: m-kiewitz
Priority: high Component: Engine: AGI
Keywords: Cc:
Game: Space Quest 2

Description

In Space Quest II: Vohaul's Revenge (2.0F 1989-01-05 3.5"/DOS/English) (AGI) :
When you try to "Climb Log" to cross the Chasm, you fall off almost immediately as if you had tried to stand..

ScummVM 1.2.0svn51067 (Jul 20 2010 18:47:29)
Features compiled in: Vorbis FLAC MP3 ALSA SEQ RGB zLib FluidSynth
on Linux 2.6.34 x86_32

Ticket imported from: #3032379. Ticket imported from: bugs/4928.

Attachments (5)

sq2.009 (5.0 KB ) - added by digitall 9 years ago.
Savegame For Replication
sq2.002 (4.9 KB ) - added by digitall 9 years ago.
"Climb Tree" Savegame for first case of bug i.e. first crossing of Log
SQ2SG.11 (2.9 KB ) - added by digitall 9 years ago.
Original intrepreter savegame for "Climb Tree" comparison
sq2sg.1 (3.6 KB ) - added by eriktorbjorn 9 years ago.
NAGI savegame near fissure.
sq2.028 (5.5 KB ) - added by eriktorbjorn 4 years ago.

Download all attachments as: .zip

Change History (31)

by digitall, 9 years ago

Attachment: sq2.009 added

Savegame For Replication

comment:1 by digitall, 9 years ago

For clarity, this bug prevents game completion and is found in Room 16.
The engine reports "Emulating Sierra AGI v2.936".

I have bisected this and have found that the issue was introduced by r49744 :
r49744 | sev | 2010-06-15 11:32:01 +0100 (Tue, 15 Jun 2010) | 4 lines

AGI: Fix bug #1875842.

Bug #1875842: "AGI: Character loses final walking position".
Do not reset ADJ_EGO_XY if non-directional keys were pressed.
---

It is likely that this is causing a spurious keyboard movement event after "Climb Log"
which means Roger immediately stands up and dies.

comment:2 by fingolfin, 9 years ago

Owner: set to sev-

comment:3 by sev-, 9 years ago

This bug is nice to get fixed before the release. Raising priority for keeping the track.

comment:4 by sev-, 9 years ago

Priority: normalhigh

comment:5 by digitall, 9 years ago

I can still replicate this with v1.2.0 branch SVN r52828.

I'm not sure why Scarlatti didn't hit this when playtesting with r52740, but I suspect may either be due to the differences between V2.0A and V2.0F, or platform.

comment:6 by SF/escarlate, 9 years ago

I tried it out with svn52835 and v2.0A, using a savegame. It still works fine. I'm able to climb the log, cross the chasm both ways and tie the rope later without any problems.

comment:7 by eriktorbjorn, 9 years ago

I can reproduce the bug with my copy of 2.0F. Though it doesn't happen if I walk around a bit before I climb the log. (Even just pressing "5" to stop walking works.)

comment:8 by eriktorbjorn, 9 years ago

And I just noticed that if I use the mouse to walk around a bit, I still fall off. I have to use the keyboard to stop to avoid it.

comment:9 by eriktorbjorn, 9 years ago

So maybe there should simply be a v->flags &= ~ADJ_EGO_XY; is mainCycle() when it notices that you've reached your destination? On the other hand, that still doesn't restore the old behaviour where it seem that pressing any key whatsoever (e.g. to type "climb log") would clear the flag.

I don't know, I'm just not familiar enough with the AGI engine.

comment:10 by digitall, 9 years ago

Attaching savegame of the other point this occurs i.e. "Climb Tree" to go over the gorge left to right.

I agree with eriktorbjorn in that it is avoidable. It only seems to occur if you use the keyboard to walk to the tree and are stopped by it before typing "Climb Tree" i.e. you fall off because the keyboard walking is still locked in.

Will have to try this with original interpreter under DosBox to confirm that this behaviour does differ from original though.

by digitall, 9 years ago

Attachment: sq2.002 added

"Climb Tree" Savegame for first case of bug i.e. first crossing of Log

by digitall, 9 years ago

Attachment: SQ2SG.11 added

Original intrepreter savegame for "Climb Tree" comparison

comment:11 by digitall, 9 years ago

Original interpreter under DosBox does not seem to exhibit this behaviour i.e. real regression.
Attached original interpreter savegame to allow comparison.

comment:12 by eriktorbjorn, 9 years ago

> It only seems to occur if you use the keyboard to walk to the tree
> and are stopped by it before typing "Climb Tree"

I'm not sure I understand... I wasn't able to reproduce it at all when using the keyboard to walk. Even typing "climb log" while still moving seemed to be safe.

If I used the mouse to move instead - and I wouldn't be surprised if many players do - I couldn't find any way to cross safely.

by eriktorbjorn, 9 years ago

Attachment: sq2sg.1 added

NAGI savegame near fissure.

comment:13 by eriktorbjorn, 9 years ago

Sev asked me to try if I could reproduce the bug with NAGI. I couldn't, not even by typing "climb log" while walking with the mouse. (I don't think my proposed patch covers that case.) I've attached a savegame.

Just like in ScummVM, you still have to use the keyboard to cross the log. (Unless you're very, very precise, I guess.)

The latest released NAGI source code wouldn't build on my computer, but the version at http://github.com/sonneveld/nagi worked.

comment:14 by eriktorbjorn, 9 years ago

Game: Space Quest 2Police Quest 1

comment:15 by eriktorbjorn, 9 years ago

Game: Police Quest 1Space Quest 2

comment:16 by bluegr, 8 years ago

Summary: SQ2 : Falling Off Log Almost ImmediateAGI: SQ2 : Falling Off Log Almost Immediate

comment:17 by sev-, 8 years ago

Owner: sev- removed

comment:18 by m-kiewitz, 4 years ago

digitall, can you please try out my current pull request, if it fixes this issue?

I just looked into it and it seems our whole user key -> direction handling was inaccurate. On top our VM Var 6 <-> ego direction handling was inaccurate as well. At least I can walk to the log with the mouse or via keyboard, then enter "climb log" and I won't fall off. It seems I have to press left to successfully climb the log. When I use the mouse, I fall off. Although maybe I would have to click better?!

comment:19 by digitall, 4 years ago

Will give it a try and update this when I have.

comment:20 by m-kiewitz, 4 years ago

Commit 8a595e7771aa89d06876e13d7ab6751e26da8982 was just accepted (as well as plenty of others). Bug needs to be checked. As I said - no idea if climbing over with the mouse is supposed to work. Maybe someone should check a version, that has official mouse support and check, if the original interpreter lets you fall off as well. At least I'm not falling off immediately, only when I click somewhere while ego is actually climbing.

comment:21 by m-kiewitz, 4 years ago

Owner: set to m-kiewitz

comment:22 by m-kiewitz, 4 years ago

Status: newpending

comment:23 by m-kiewitz, 4 years ago

I also noticed that the adj.ego.xy flag is set in the saved game. Quite a lot was changed, so for proper testing one would have to start from the beginning to make sure everything is working fine.

by eriktorbjorn, 4 years ago

Attachment: sq2.028 added

comment:24 by eriktorbjorn, 4 years ago

Here's a fresh savegame shortly before arriving at the chasm. It's from the English DOS version of the game.

comment:25 by SF/pauliusz, 4 years ago

With 1.8.1 I was able to pass this fallen log on Android. With 1.7.0 it was not possible.

comment:26 by m-kiewitz, 4 years ago

Resolution: fixed
Status: pendingclosed
Note: See TracTickets for help on using tickets.