Opened 8 years ago

Closed 7 years ago

#5793 closed defect (fixed)

IHNM: Can't use right monitor with ellen

Reported by: SF/umbrio Owned by: eriktorbjorn
Priority: normal Component: Engine: SAGA
Keywords: script Cc:
Game: I Have No Mouth

Description

When you select ellen and arrive to the monitors room there is 5 monitors, if you use right monitor instead of looking at the monitor enters the passageway, this not occur with the original, probed in dosbox. (strange bug but not very important except that it will not see the room information displayed on the monitor)

Scummvm 1.4git1018
S.O:Windows XP SP3
I have no mouth and I have scream (English & spanish version also)

Ticket imported from: #3360396. Ticket imported from: bugs/5793.

Attachments (3)

ihnm.s01 (19.3 KB ) - added by SF/umbrio 8 years ago.
saga-pathfind.txt (1.5 KB ) - added by eriktorbjorn 8 years ago.
Proof-of-concept patch against current Git
ihnm-pathfinder-workaround.txt (2.6 KB ) - added by eriktorbjorn 7 years ago.
Workaround patch against current Git

Download all attachments as: .zip

Change History (11)

by SF/umbrio, 8 years ago

Attachment: ihnm.s01 added

comment:1 by digitall, 8 years ago

This is a long standing known issue with the pathfinding when an exit zone overlaps a hit zone:
http://wiki.scummvm.org/index.php/SAGA/TODO#General

It has been reported before, but as not critical to completion it has not received a high priority:
https://sourceforge.net/tracker/index.php?func=detail&aid=1861129&group_id=37116&atid=418820

Will leave this open to see if we can get one of the SAGA devs to look at investigation and fix for this.

comment:2 by eriktorbjorn, 8 years ago

I don't know if it's a good idea, but I guess one possible workaround would be to treat exit zones as blocked, unless the final destination is in an exit zone. I'm attaching a proof-of-concept patch to show what I mean.

by eriktorbjorn, 8 years ago

Attachment: saga-pathfind.txt added

Proof-of-concept patch against current Git

comment:3 by eriktorbjorn, 8 years ago

Unfortunately, it turns out that this approach to the problem does introduce regressions. In the room before the room with the workstations in Ellen's chapter, only part of the hotspot for the upper right exit is an exit zone. So with this patch you need to click on the lower part of it to walk through. Not good, and I can't think of any way to fix it using this approach to the problem.

comment:4 by digitall, 8 years ago

One way would be to limit this fix to IHNM only by GID and by location to the two rooms which have known issues.
This would be a hack/workaround, rather than a fix, but would work.

This is fairly modular and with appropriate comments i.e. // WORKAROUND, it could be removed if/when a "real" fix is found.

comment:5 by eriktorbjorn, 8 years ago

I guess one part of the problem is that entering the exit zone probably is the right solution to the problem "move the actor's feet to te point closest to where the user clicked". But when we click on the monitor, we actually want to move the actor's feet to a spot in front of it, not a spot behind it.

I'm not sure if that opens up any possibilities.

by eriktorbjorn, 7 years ago

Workaround patch against current Git

comment:6 by eriktorbjorn, 7 years ago

I was asked if I could turn the patch into a case-by-case workaround. I still wish someone would figure out how to fix it properly, because there's nothing in this world that as permanent as a temporary solution, but here's what it could look like, I guess...

comment:7 by digitall, 7 years ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed

comment:8 by digitall, 7 years ago

eriktorbjorn: Have completed a full playtest of IHNM with your workaround patch with no regressions and it fixes the two locations where the problem occurred, so have committed this patch to Git master as commit: c825cc41a57b40a9af6ca51a3674b90e5f17e00f

Will close as fixed. Thanks again for the patch.

Note: See TracTickets for help on using tickets.