Opened 17 years ago

Closed 13 years ago

#215 closed defect (fixed)

FOA: Jerky movement in car chase

Reported by: SF/jbergstrom Owned by: Kirben
Priority: low Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 4

Description

ver. 0.2.0 devel(042002)
English CD-talkie, Win32

When Indy rides a camel the camel doesn't move very
smoothly, but with noticeably long steps. The same
happens in the Monte Carlo car chase.

Ticket imported from: #551715. Ticket imported from: bugs/215.

Attachments (2)

atlantis.s11 (74.9 KB ) - added by eriktorbjorn 16 years ago.
Saved game right before the camel ride
atlantis.s12 (76.9 KB ) - added by eriktorbjorn 16 years ago.
Saved game right before the car chase

Download all attachments as: .zip

Change History (20)

comment:1 by SF/jackburton, 17 years ago

This is as the original worked, AFAIR.

comment:2 by SF/jbergstrom, 17 years ago

OK, the camel might be intended to move in steps but the
cars really should move smoothly. In my original they do,
at least.

comment:3 by fingolfin, 17 years ago

Summary: Jerky movement in overhead view actionsFOA: Jerky movement in overhead view actions

comment:4 by fingolfin, 17 years ago

Priority: normallow

comment:5 by fingolfin, 16 years ago

A late happy birthday to this bug report ;-)

comment:6 by fingolfin, 16 years ago

If you provide me with a save game just before the car race, I'll try to
look into it.

by eriktorbjorn, 16 years ago

Attachment: atlantis.s11 added

Saved game right before the camel ride

by eriktorbjorn, 16 years ago

Attachment: atlantis.s12 added

Saved game right before the car chase

comment:7 by eriktorbjorn, 16 years ago

I made these two savegames with the latest CVS snapshot.
Will they do?

comment:8 by fingolfin, 16 years ago

Just to clarify this: the camel ride is working perfectly fine. The
scripts that control it only work on a very low resolution, and
that's why the movement is jerky.

Sadly I can't load the car crash save game :-(

comment:9 by fingolfin, 16 years ago

Summary: FOA: Jerky movement in overhead view actionsFOA: Jerky movement in car chase

comment:10 by fingolfin, 16 years ago

Sadly, that second savegame does *not* work for me. It dies with
an assertion:
scumm/script.cpp:1185: failed assertion `idx < 5'

comment:11 by eriktorbjorn, 16 years ago

At least in the CD version, the car chase is in room 70.
What happens if you skip to there with the debugger?

comment:12 by fingolfin, 16 years ago

That works quite well, thanks erik.
Hm, the "walk speed" of the "indy car" is set to (10,5). Otherwise,
the code looks pretty similiar to the desert chase (that is, there
are some huge strings which essentially contain a description of
the allowed paths for the car/camel, and the scripts parse those
strings).
It's a pity I can't use the original, it would be very nice to be able
to exactly compare its behaviour to what we get.

comment:13 by SF/ender, 16 years ago

This is getting on to be a two year old bug. Has anybody
managed to confirm that there actually IS a problem here,
yet? :P

comment:14 by fingolfin, 16 years ago

Well, so far we mostly have what jbergstrom said. I have no way
currently to check this with the original. So I dunno.

comment:15 by Kirben, 15 years ago

The problem still occurs, the cars are much more smoother in
the original game.
If you want to compare, use boot param 8888 in original game
and ScummVM.
To activate debug mode of original FOA:
Skip introduction.
Type 'shinymetal' without quotes
Use 'CTRL d' to activate debug mode.
Use 'CTRL l" to choose boot param.
Enter 8888
Skip LA logo.

comment:16 by fingolfin, 15 years ago

AH thanks Kirben, very useful! That information combined with dosbox
allowed me to experience the scene with the original engine and
compare it directly to ScummVM (although dosbox isn't quite running FOA
at 100% on my machine, but it's good enough).

Looking at this, it seems to me that our actor movement is actually OK --
the original is just as jerky. Only that in ScummVm this is far more
noticable. That is, after each movement phase, there is a relatively long
"standing" phase; so we have a small pause between each step, causing
the jerky look & feel.

Not sure what is causing this... maybe our timing code needs some
tweaking. <shrug>

comment:17 by fingolfin, 14 years ago

Another idea: Maybe a subtle difference with the walking
code, in particular the _moving field and the waitForActor
opcode is the cause.

Also, everything becomes smooth if I change the value "15"
in ScummEngine::go to something a lot smaller. Of course
then the rest of the game becomes faster (too fast; the 15
is an approximation for 1000/60, I think, turning
jiffies/ticks, 1/60th of a second, into milliseconds).

Or if VAR_TIMER_NEXT had a smaller value (instead of the
default 6) during the car chase scene, things would be
smoother. But nothing in the scripts attempts such a thing.

comment:18 by Kirben, 13 years ago

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