Opened 10 months ago

Closed 10 months ago

Last modified 4 weeks ago

#14808 closed defect (pending)

TWINE: A couple of glitches from using the holomap

Reported by: antoniou79 Owned by: mgerhardy
Priority: normal Component: Engine: TwinE
Version: Keywords:
Cc: Game: Little Big Adventure

Description

This is with ScummVM 2.9.0git built from master HEAD on Windows, with the English version of LBA from GOG.

I've been playing through the game and noticed that if I am using the holomap in an area where there are NPCs patroling (soldiers or civilians / workers) then after exiting the holomap, the NPCs may display glitched behavior.

This is not consistently reproducible.

The most noteworthy glitches were:

  1. A soldier was patroling near Twinsen in the starting island. After using the holomap, the soldier slided quickly as if in fast-forward for a long distance (and out of his normal patroling area) into a stack of trees nearby.
  2. Within the tavern(?) in Principal Island, after using the holomap, the waiter was teleported outside the "map" and kept looping his falling-from-a-height animation.

I've only a screenshot from the second glitch though to attach.

Attachments (3)

scummvm-lba-win-1-00002.png (396.9 KB ) - added by antoniou79 10 months ago.
scummvm-00029.png (61.9 KB ) - added by antoniou79 10 months ago.
twine-movement-glitch.mkv (1.6 MB ) - added by mgerhardy 10 months ago.

Change History (10)

by antoniou79, 10 months ago

Attachment: scummvm-lba-win-1-00002.png added

comment:1 by antoniou79, 10 months ago

I forgot to clarify that I'm playing in the High resolution mode.
I'm attaching a screenshot of how the ScummVM Game options look for the game

by antoniou79, 10 months ago

Attachment: scummvm-00029.png added

comment:2 by mgerhardy, 10 months ago

maybe some missing freezeTime()/unfreezeTime() calls (see ScopedEngineFreeze) in the holomap code...

comment:3 by mgerhardy, 10 months ago

debugger commands to reproduce it and limit the actors to the glitching one

scene_actor 2
change_scene 14
give_allitems

activate holomap - wait a little - disable holomap

Last edited 10 months ago by mgerhardy (previous) (diff)

by mgerhardy, 10 months ago

Attachment: twine-movement-glitch.mkv added

comment:4 by mgerhardy, 10 months ago

Attached a video - it looks like the last position of the actor is not correct anymore and we are trying to lerp some random position against the last position before entering the holomap. If the random position is outside of the map, the actor might completely disappear and you would have to re-enter the scene to let it appear again.

---

# pre holomap actor 2

oldPos: 25749, 256, 27219!
pos: 25744, 256, 27190!
processActor: 25744, 256, 27190!

# holomap was active actor 2

oldPos: 25744, 256, 27190!
pos: 25744, 256, 27190!
processActor: 25744, 256, 27190!

## after doAnim() for actor 2

after: oldPos: 25744, 256, 27190!
after: pos: 25968, 256, 28636!
after: processActor: 25968, 256, 28636!

Last edited 10 months ago by mgerhardy (previous) (diff)

comment:5 by mgerhardy, 10 months ago

Owner: set to mgerhardy
Resolution: pending
Status: newclosed

should be fixed in master now (and is cherry-picked for a potential 2.8.1)

see https://github.com/scummvm/scummvm/commit/04c7c17b76e5ed3307687dd84a97cba7a6ad2f30

comment:6 by antoniou79, 10 months ago

Thank you for the fix!

I've used the holomap a few times on a new local development build of ScummVM 2.9.0git and indeed I did not get the fast-sliding NPCs.

Note: See TracTickets for help on using tickets.