scummvm/engines/neverhood
Torbjörn Andersson 0f3e7531c1 NEVERHOOD: Possible fix for bad car behaviour
This is something I found when trying the savegame from bug #6932,
but I still don't know if it actually is that bug.

From what I understand, there are two different cases in the
moveCarToPoint() method: One where you click on a different
section on a track than you're on, and one where you click on the
same section on the track that you're on.

In the latter case, it sends message 0x2004 to the car, which is
then handled by AsCommonCar::handleMessage(). That one will assume
that the parameter is a point, but this can also be encoded as an
integer with 16 bits for the X coordinate and 16 bits for the Y
coordinate. See MessageParam::asPoint().

If we only pass an X coordinate to the message, the Y coordinate
is assumed to be 0, and we do this in a couple of places. I do not
know the exact implications of that, but in the two cases I've
changed here, it meant that clicking on the track below the car
would still make it go up, because it thought you were travelling
towards the top of the screen.

So I think this is the appropriate fix, but even if it is, I do
not know if it's enough or if it should be changed in other places
as well.
2015-10-11 08:00:23 +02:00
..
modules NEVERHOOD: Possible fix for bad car behaviour 2015-10-11 08:00:23 +02:00
background.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
background.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
blbarchive.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
blbarchive.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
configure.engine NEVERHOOD: Set engine to 'built by default' 2014-01-11 17:21:59 +01:00
console.cpp NEVERHOOD: Remove trailing whitespace 2014-10-28 16:18:11 +02:00
console.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
detection.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
diskplayerscene.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
diskplayerscene.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
entity.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
entity.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
gamemodule.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
gamemodule.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
gamevars.cpp ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
gamevars.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
graphics.cpp NEVERHOOD: Implement clipping in BaseSurface::copyFrom 2014-06-26 19:19:28 +02:00
graphics.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
klaymen.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
klaymen.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
menumodule.cpp JANITORIAL: Remove unnecessary semicolons 2015-01-21 01:29:22 +01:00
menumodule.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
messages.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
microtiles.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
microtiles.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
module.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
module.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
module.mk NEVERHOOD: Move module-specific Klaymen code to its respective module 2013-10-06 04:56:41 +03:00
mouse.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
mouse.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
navigationscene.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
navigationscene.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
neverhood.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
neverhood.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
palette.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
palette.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
POTFILES I18N: Move specification of engine specific files to enginedir/POTFILES. 2013-08-12 17:54:31 +02:00
resource.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
resource.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
resourceman.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
resourceman.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
saveload.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
scene.cpp ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
scene.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
screen.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
screen.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
smackerplayer.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
smackerplayer.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
smackerscene.cpp NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
smackerscene.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
sound.cpp NEVERHOOD: Remove trailing whitespace 2014-10-28 16:18:11 +02:00
sound.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
sprite.cpp NEVERHOOD: Fix uninitialized variables in Sprite (bug #6663) 2014-06-30 13:09:59 +02:00
sprite.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
staticdata.cpp NEVERHOOD: Fix memory leak from static data loading. 2014-05-05 11:29:41 +01:00
staticdata.h NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00