Commit graph

162 commits

Author SHA1 Message Date
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Willem Jan Palenstijn
f5a6ad6ab9 SCI: Fix memory leak 2013-04-15 21:38:21 +02:00
Filippos Karapetis
e7d4f88a57 SCI: Add a workaround for bug #3568452 - "SCI: QFG1VGA - Path finding bug in the forest"
This workaround has been added for now to stop the game from freezing.
A more correct solution would be to match our pathfinding algorithm
to what SSCI is doing, but with this workaround we can stop the more
immediate problem (game freezing) now.
2012-10-22 13:17:57 +03:00
Filippos Karapetis
f2fa6a934d SCI: Fix compilation with MSVC (atan2() was ambiguous) 2012-10-01 03:06:59 +03:00
Willem Jan Palenstijn
17887e24a2 SCI: Implement kMergePoly
Thanks to Walter for creating debugging tools for MergePoly and testing.
2012-09-30 18:18:20 +02:00
Filippos Karapetis
2b50824133 SCI: Add setter/getter methods to reg_t's
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
2012-06-18 05:24:06 +03:00
Johannes Schickel
fa401a2d3d SCI: Remove unnecessary break after return statement. 2012-01-29 16:34:41 +01:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Walter van Niftrik
05ac17f7b9 SCI: Fix up start/end points when pathfinding with opt == 0.
Fixes bug #3304901: "SCI: Freddy Pharkas - Stuck in the brothel door".
2011-05-31 16:26:38 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Walter van Niftrik
23dcd3c761 SCI: Remove SCI version check from READ/WRITE_SCI1ENDIAN_UINT16. 2011-03-04 21:55:39 +01:00
md5
51437ba5e6 SCI: Fixed path finding in Amiga SCI1 games
Added wrapper functions to read/write from dynmem segments, as these are
treated as BE in Amiga versions (as we treat them like raw data instead
of reg_t's), whereas the rest are LE. Thanks to waltervn and wjp for their
help on this
2011-03-03 19:34:11 +02:00
Filippos Karapetis
32d7e687ee SCI: debugC calls no longer require a debug level of 2 to show output
svn-id: r55086
2011-01-01 12:48:12 +00:00
Walter van Niftrik
ecaab84cb5 SCI: Fixup pathfinding start point when on polygon edge.
We now also fixup the start point when it's on the edge of an obstacle. If the
start point is also on the edge of the screen, the actor is now allowed to
walk through that obstacle to find his way to clear territory. This is based
on observation of SSCI behavior.

svn-id: r54230
2010-11-13 14:46:27 +00:00
Walter van Niftrik
97067a75db SCI: Allow paths along the edge of the screen in kAvoidPath.
Paths along the edge of the screen are now taken as a last resort. Fixes
bugs #3047418 and #3059595.

svn-id: r54199
2010-11-11 11:24:12 +00:00
Filippos Karapetis
7f43ed3f9d SCI: Changed the check for vertex_min into an assert (thanks wjp)
svn-id: r53504
2010-10-15 15:40:36 +00:00
Filippos Karapetis
7cdddd5ffb SCI: Fixed code bugs from bug #3087872 - "SCI: Code analysis warnings"
svn-id: r53482
2010-10-15 12:40:24 +00:00
Torbjörn Andersson
b442ee7010 SCI: Fixed potential memory leak in convert_polygon()
svn-id: r52413
2010-08-27 17:26:34 +00:00
Filippos Karapetis
c04d3e4689 SCI: Fixed bug #3041232 - "LB2Floppy: Crash at Museum"
svn-id: r52197
2010-08-18 20:41:03 +00:00
Filippos Karapetis
e320103926 SCI: Refactored readPoint() to accept a segment reference to the polygon data, thus removing the check for invalid segment types. Also, added a sanity check to verify that the memory reference to polygon data is big enough to hold all the expected polygon vertices (thanks to waltervn)
svn-id: r52176
2010-08-17 23:55:07 +00:00
Filippos Karapetis
d8b0b445f3 Limited the sanity check in rev #52174 to invalid segment types only (apparently, polygon data may be placed in non-dynmem segments too)
svn-id: r52175
2010-08-17 23:11:30 +00:00
Filippos Karapetis
3c010fc2f9 SCI: Fixed bug #3034501 - "LSL6: Segfault while leaving the penthouse"
svn-id: r52174
2010-08-17 22:51:24 +00:00
Filippos Karapetis
d365b71945 SCI: Turned a warning into an error
svn-id: r51838
2010-08-07 16:42:10 +00:00
Filippos Karapetis
82bf2437e3 SCI: also break in AvoidPath instead of continuing, when the start point is contained in multiple polygons, otherwise we'll end up in an infinite loop
svn-id: r51458
2010-07-29 09:08:20 +00:00
Filippos Karapetis
c099127c3d SCI: Break out instead of continuing when an end point is contained in multiple polygons, while running the avoidpath algorithm (or we'll end up in an infinite loop). Fixes bug #3036299 - "LB2CD: Game Hangs at Speakeasy"
svn-id: r51450
2010-07-28 23:30:59 +00:00
Filippos Karapetis
9e164f429d SCI: Changed another warning into debug output
svn-id: r51445
2010-07-28 23:01:28 +00:00
Filippos Karapetis
a2b6b84bfb SCI: Changed a warning into a debug message
svn-id: r51444
2010-07-28 22:41:03 +00:00
Filippos Karapetis
9862f3fe24 SCI: Moved the SCI32 kernel functions out of kernel32.cpp and into their respective files
svn-id: r51108
2010-07-21 21:18:21 +00:00
Max Horn
6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +00:00
Filippos Karapetis
56bf0c0e63 Fixed kMergePoly after discussing with waltervn so that it correctly returns a pointer to an empty (for now) polygon array. This means that you can walk over enemy bodies after killing them in QFG1VGA, but at least it fixes the crashes after killing monsters
svn-id: r50160
2010-06-22 18:33:19 +00:00
Max Horn
5a95c2a652 SCI: Doxygenify some comments
svn-id: r50013
2010-06-18 09:37:25 +00:00
Max Horn
359be0c066 SCI: Change SciEngine's 'char *getGameID()' to 'Common::String getGameId()'
svn-id: r49968
2010-06-17 23:14:34 +00:00
Filippos Karapetis
67de5b1bd3 Mass renaming of selector-related functions, and removed some defines which were just cloaking functions with a different name
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase

svn-id: r49317
2010-05-29 23:37:15 +00:00
Filippos Karapetis
e694b66e4f Added comments to kMergePoly()
svn-id: r49289
2010-05-28 10:52:22 +00:00
Filippos Karapetis
967d9ea308 Added a stub for kMergePoly, to avoid crashing in QFG1VGA after killing a monster
svn-id: r49288
2010-05-28 10:45:20 +00:00
Filippos Karapetis
c874ff15a8 Cleaned up the game ID code:
- The game ID is now obtained from ScummVM ID directly, not by converting Sierra's internal ID
- Moved the code which reads the internal Sierra ID inside the resource manager
- Moved the code which converts the internal Sierra ID to ScummVM's IDs together with the rest of the detection code

svn-id: r49152
2010-05-23 10:28:03 +00:00
Max Horn
970745e60c Move DebugChannel related code to new header
svn-id: r48935
2010-05-04 11:59:22 +00:00
Max Horn
460d69e885 COMMON: Move DebugChannel stuff into a new DebugMan singleton
svn-id: r48821
2010-04-27 21:40:52 +00:00
Max Horn
903b694574 SCI: Cleanup resource.h
svn-id: r48084
2010-02-17 23:37:32 +00:00
Max Horn
721a57a661 SCI: Move Gui/Gfx related permanent objects from EngineState to SciEngine
svn-id: r48047
2010-02-13 17:43:31 +00:00
Walter van Niftrik
635c7d970c SCI: Fix VM crash when NULL_REG is passed to AvoidPath (SCI32).
svn-id: r47964
2010-02-07 14:32:49 +00:00
Filippos Karapetis
b2e8777e1e Silenced warning that intersectionX and intersectionY could be uninitialized
svn-id: r47928
2010-02-06 10:43:54 +00:00
Max Horn
f86618f92b SCI: Add a 'SELECTOR' macro
svn-id: r47918
2010-02-05 22:55:18 +00:00
Walter van Niftrik
19910ec279 SCI: Add implementation for Intersections().
svn-id: r47901
2010-02-05 12:57:05 +00:00
Martin Kiewitz
00ac235331 SCI: making pathfinding debug support also work in sci32 (though it just shows the path for 2.5 seconds there)
svn-id: r47888
2010-02-04 20:43:00 +00:00
Martin Kiewitz
e74bd30a2e SCI: putting most kGraph functions into GfxPaint16
svn-id: r47887
2010-02-04 20:18:01 +00:00
Walter van Niftrik
b0b7764178 SCI: Add stub for kIntersections()
svn-id: r47784
2010-01-31 22:38:07 +00:00
Martin Kiewitz
7184fa3bad SCI: renamed kernelFind() to kernelFindColor, so that it isnt that confusing :P
svn-id: r47753
2010-01-31 16:26:15 +00:00
Martin Kiewitz
72c2d360f7 SCI: renamed SciPalette to GfxPalette, Screen to GfxScreen, GfxPalette is now called directly w/o SciGui
svn-id: r47752
2010-01-31 16:21:11 +00:00