Commit graph

60 commits

Author SHA1 Message Date
athrxx
49c62b319d SCUMM: minor walk code cleanup
(remove remainders of obsolete workaround for zeppelin maze - I have tested the maze, it works fine)
2021-07-10 01:10:04 +02:00
Paul Gilbert
0136043f09 COMMON: Revert Change Rect and Point to have int32 fields
This reverts commit 1c3e7fb4e9.
2021-07-06 20:35:42 -07:00
Paul Gilbert
1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
athrxx
8cbcde0c57 SCUMM: fix bug 12666 ("Dodgy path finding in Indy 3")
The particular scene with Indy and Donovan's men had all sorts of pathfinding issues compared to DOSBox:
- Indy's initial facing was downwards instead of to the right when walking from the window to the "meeting point" and the path he walked wasn't exactly correct.
- One of Donovan's men was facing down instead of left.
- Indy would take several weird up and down walks at the walk box transition from box 1 to box 3
- Indy would walk over the grass instead of on the road.

All fixes are from disasm. Some code I have removed (or rather commented out) seems to have been meant as a fix for bug no. 1778. So maybe that one has to be fixed again (correctly), but I don't know that yet.

The scene is not 100% fixed yet. Donovan's men walk a bit too much upwards in the beginning. But I can do that separately...

It will really be necessary to do some testing (and possibly more fixing) in the catacombs, in castle brunwald and in the zeppelin maze.
2021-06-29 23:19:29 +02:00
sluicebox
674ed112aa JANITORIAL: Update more old bug tracker numbers
I missed the six digit ones and a few others in:
93eeffc84d
2021-06-09 14:28:52 -06:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Robert Crossfield
67071b42bc SCUMM: Maniac V0: Implement 'simulator' for CPU lag (as the original engine occasionally ran at less than 60Hz). Fix call to 'getClosestPtOnBox', whcih was being passed X * V12_X_MULTIPLIER and Y * V12_Y_MULTIPLIER, but the box coordinates, where not 2016-07-19 20:39:58 +10:00
Robert Crossfield
44000ba826 SCUMM: Maniac V0: Implement original walkbox queue, Cleanup actor walk code 2016-07-19 18:54:14 +10:00
Robert Crossfield
29d46e8a10 SCUMM: Maniac V0: If boxes are neighbors, walk directly to the new box. Remove extra call to 'animateCostume'. Remove now unnecessary V0 walk calc functions 2014-11-29 09:07:10 +11:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Tobias Gunkel
9dd6105ce6 SCUMM: replace "c64" with "v0" when it applies to both C64 and AppleII v0 versions
In addition some routines (e.g. the gfx ones) that are even used in v1.
2012-02-11 08:30:08 +01:00
Matthew Hoops
9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
Matthew Hoops
1277975c66 ALL: neighbour -> neighbor 2011-05-25 10:50:46 -04:00
Max Horn
b37463fe59 SCUMM: Move class ResourceManager to its own header 2011-05-13 11:47:08 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Travis Howell
5942382ad4 SCUMM: Add patch #3093051 - MMC64: Ladder facing patch.
svn-id: r53799
2010-10-25 07:07:23 +00:00
Travis Howell
ba979cbd56 Add patch #2856940 - MM C64: corner walkboxes fixed.
svn-id: r45438
2009-10-27 12:08:19 +00:00
Travis Howell
26948eca76 Add patch #2846425 - MM C64: walkbox fixed, with minor changes.
svn-id: r45437
2009-10-27 11:32:33 +00:00
Max Horn
d0876b06ed Remove some unused variables
svn-id: r44853
2009-10-09 22:21:45 +00:00
Travis Howell
870e0341bb Correct error in revision 26678.
svn-id: r42673
2009-07-23 07:49:28 +00:00
Max Horn
a6b57dc3a9 - Added GCC_PRINTF attribute to several funcs where it makes sense
- change some constants from double to float, to avoid "loss of precision due to implicit conversion" warnings
- removed duplicate prototypes for some funcs
- fixed some "increases required alignment of target type" warnings

svn-id: r42009
2009-07-01 20:51:04 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Max Horn
6f4b567124 SCUMM: Split intern.h into multiple headers
svn-id: r39567
2009-03-20 16:33:58 +00:00
Max Horn
f2111eeb45 SCUMM: Made some potentially ambiguous (to the reader, at least) checks slightly less ambiguous
svn-id: r33919
2008-08-15 22:06:15 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
e1bcd70436 Re-added __attribute__(packed)
svn-id: r27830
2007-07-01 18:18:43 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
3821ef456a Change getNumBoxes() to properly read the full uint16 box count (shouldn't affect anything, though)
svn-id: r26678
2007-04-29 18:22:07 +00:00
Max Horn
b07482b0b2 A long time ago, in a virtual machine far, far away...
It is a period of bug fixing. Rebel
developers, coding from a public
project, have won their umpteenth victory
against the evil Actor Walk Bugs.
 
During the debugging, programmers 
used secret plans to the LucasArts'
ultimate tool, the SCUMM engine, an
extensible scripting system with enough
power to create an entire adventure.

Pursued by ensuing sinister regressions,
High King Fingolfin gleefully jumps up
and down, making use of the hotkey
that can save his games and restore
them back again later....

[With apologies to George Lucas. Good
riddance to bugs #751662, #771483, #959001,
#1329457, #1329498, #1329529, #1527672,
#1538260, #1571701, #1571705, #1571740,
and a warm welcome to the regressions
this change will cause. :-) ]

svn-id: r26090
2007-03-11 15:23:50 +00:00
Max Horn
344e9ba5a8 typo
svn-id: r26067
2007-03-10 19:09:20 +00:00
Max Horn
f3e970f5b7 SCUMM: Renamed ActorOldWalk to Actor_v3, added new subclass Actor_v2
svn-id: r26057
2007-03-10 13:53:11 +00:00
Max Horn
be052be462 Rewrote the actor walk code for SCUMM V0-V2 games: Now it uses the C64 character coordinates internally, not pixel coordinates. This should fix some walk bugs, but also might cause some regressions. Watch out
svn-id: r25370
2007-02-04 01:24:43 +00:00
Travis Howell
9865bc8fa5 Fix compile of SCUMM engine.
svn-id: r25368
2007-02-04 00:17:35 +00:00
Max Horn
69ba8e57c2 Changed old FIXME comment into a WORKAROUND comment (it worked fine all these years, after all :); also added some paranoia checks
svn-id: r25366
2007-02-03 23:10:17 +00:00
Max Horn
ae4ea4d989 Introduced ActorOldWalk subclass of Actor (for V1-V3 walk code)
svn-id: r24924
2006-12-25 17:21:54 +00:00
Max Horn
e4c471b9d7 Fix for bug #1599113: SCUMM: Failed assertion in getBoxCoordinates()
svn-id: r24754
2006-11-20 20:40:27 +00:00
Max Horn
0cf2d2ffd9 cleanup
svn-id: r24650
2006-11-07 20:55:05 +00:00
Max Horn
41b4a34b5b cleanup
svn-id: r24565
2006-10-29 13:30:20 +00:00
Max Horn
a0b9f78bd3 SCUMM: Introduced V12_X_MULTIPLIER and V12_Y_MULTIPLIER to make it a bit easier to find spots where we convert between C64-style coordinates and pixel coordinates (but beware, this probably doesnt't cover all relevant instances)
svn-id: r24384
2006-10-19 00:26:55 +00:00
Max Horn
169bc3880d cleanup
svn-id: r24373
2006-10-18 15:55:10 +00:00
Max Horn
865e7b7c02 cleanup
svn-id: r24372
2006-10-18 15:09:11 +00:00
Max Horn
74c5d457e4 SCUMM: Be less generous to code invoking checkXYInBoxBounds with a bad box param: we now abort instead of ignoring it silently. May cause some trivial-to-fix regressions
svn-id: r24369
2006-10-18 14:30:29 +00:00
Max Horn
f51e01a0aa SCUMM: Yet another minox walkbox cleanup
svn-id: r24366
2006-10-18 14:01:06 +00:00
Max Horn
dd7e4ff3e7 SCUMM: walbox related cleanup
svn-id: r24365
2006-10-18 13:33:42 +00:00
Max Horn
54790cc217 typo
svn-id: r24114
2006-10-04 20:20:50 +00:00
Max Horn
51017cf1b2 Renamed ScummEngine::res to _res and allocate the ResourceManager on the heap (i.e. _res is a pointer now)
svn-id: r23922
2006-09-17 20:36:48 +00:00
Max Horn
b860f002b2 Replaced checkRange by assertRange, which has (a) an (IMO) more logical order of parameters, and (b) removes lots of useless duplicate information in error messages
svn-id: r23885
2006-09-16 13:38:43 +00:00
Max Horn
a0599ab773 Cleaned up some comments
svn-id: r23641
2006-07-31 10:57:19 +00:00
Torbjörn Andersson
c32076e5d0 Use #include "..." instead of #include <...> for pack-start.h and pack-end.h
for consistency with other #includes.

svn-id: r23585
2006-07-23 16:13:26 +00:00