Commit graph

98 commits

Author SHA1 Message Date
Max Horn
51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Walter van Niftrik
6522df6d6d SCI: AvoidPath: Add simpler visibility algorithm (still disabled).
svn-id: r45590
2009-11-01 03:32:28 +00:00
Walter van Niftrik
4d2cfd5449 SCI: AvoidPath: Switch to A*
svn-id: r45586
2009-10-31 21:21:23 +00:00
Filippos Karapetis
932cd54bbe Rewrote the avoidpath debug code to use new graphics functions
svn-id: r45533
2009-10-30 11:26:00 +00:00
Walter van Niftrik
27df03a18e SCI: AvoidPath: Add workaround for pathfinding problem when Patti walks to
control room in LSL5, room 660.

svn-id: r45522
2009-10-30 04:47:02 +00:00
Walter van Niftrik
dba613ecd2 SCI: AvoidPath: Don't discard contained-access polygon when starting point
is right next to it.

svn-id: r45521
2009-10-30 03:54:50 +00:00
Filippos Karapetis
1e4e76af0f Fixed self-intersecting pathfinding polygons in SQ1, room 66. This addresses the issue where Roger is able to walk anywhere on screen. However, there is still a separate issue in that room, which makes him stay stuck in one direction (like he's "moonwalking") and it only occurs in the new GUI
svn-id: r45307
2009-10-21 14:13:08 +00:00
Filippos Karapetis
55dd109653 Changed kAvoidPath() to always avoid screen edges, after talking with waltervn. Also, formatted the comments of the dijkstra() function
svn-id: r45272
2009-10-20 14:43:44 +00:00
Filippos Karapetis
a88aa2f45f - Fixed the pathfinding issue for LSL5 room 640, where Patti walks off-screen (we still need a proper way of detecting this, though...)
- Made warnings where invalid pointers are dereferenced more precise

svn-id: r45257
2009-10-20 10:08:28 +00:00
Max Horn
f3ab3051d8 SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit
svn-id: r45234
2009-10-18 19:42:56 +00:00
Walter van Niftrik
b7b32cfe26 SCI: AvoidPath: skip polygons without vertices
svn-id: r45223
2009-10-18 14:35:36 +00:00
Max Horn
c77be11ccd SCI: cleanup
svn-id: r45040
2009-10-13 18:53:11 +00:00
Max Horn
2e964baeef Some const correctness changes; cleanup
svn-id: r44850
2009-10-09 21:47:33 +00:00
Max Horn
0988e273ec SCI: Turn lookup_node & lookup_list into SegManager::lookupNode & SegManager::lookupList
svn-id: r44769
2009-10-07 23:34:24 +00:00
Max Horn
6ad5840181 SCI: Rename EngineState::segMan to _segMan
svn-id: r44629
2009-10-04 18:38:18 +00:00
Filippos Karapetis
f9296a6445 - Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them

Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now

svn-id: r44461
2009-09-29 14:24:07 +00:00
Willem Jan Palenstijn
d3c1916384 SCI: Major string handling update.
All string access to segments should now work with both raw and non-raw
(reg_t) segments, using the new utility functions in segMan.

There will likely be regressions.

svn-id: r44388
2009-09-27 01:50:26 +00:00
Willem Jan Palenstijn
c12a78eaa8 SCI: Fix compile error with DEBUG_AVOIDPATH
svn-id: r44384
2009-09-26 22:56:15 +00:00
Max Horn
8ac3db0801 SCI: Rename SegManager::kernelDeref*() methods to SegManager::deref*()
svn-id: r44083
2009-09-14 13:27:09 +00:00
Max Horn
0e834d0b87 SCI: kernelDeref*() functions are now seSegmentManager methods
svn-id: r44082
2009-09-14 13:13:20 +00:00
Max Horn
d04b5d2c9b SCI: Rename resManager -> resMan; segManager -> segMan
svn-id: r43980
2009-09-06 12:57:42 +00:00
Filippos Karapetis
1bbab8f191 Some renaming:
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan

svn-id: r43908
2009-09-02 12:02:37 +00:00
Max Horn
b391f08b46 SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefString
svn-id: r43907
2009-09-02 11:38:16 +00:00
Max Horn
6c44eafa97 SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be removed eventually)
svn-id: r43905
2009-09-02 11:33:25 +00:00
Filippos Karapetis
fd92b49486 - Reverted the *vga targets back to *sci, and used the extras field again for VGA remakes
- The extras field is now filled by the fallback detector for VGA games

svn-id: r43893
2009-09-01 19:40:29 +00:00
Filippos Karapetis
a191728945 - Added MD5's for the 5 different Crazy Nick's collections
- Added the MD5's of the French versions of GK2 and SQ6 (bug reports #2846842 and #2846515)
- Added a different game id for QFG1 VGA (SCI1.1), to distinguish it from the older EGA version (SCI0) and added detection for the VGA version in the fallback detector
- Changed some VGA SCI game IDs: lsl1sci -> lsl1vga, pq1sci -> pq1vga, sq1sci -> sq1vga, to distinguish SCI VGA remakes from SCI EGA remakes (like with QFG1VGA)

svn-id: r43891
2009-09-01 19:05:21 +00:00
Filippos Karapetis
2e04dcb133 - Moved the Sierra game ID conversion code inside game.cpp, so that any game-specific workarounds are tested against ScummVM IDs
- Added detection for the EcoQuest 1 demo in the fallback detector
- Partially reverted my previous "fix" for EcoQuest 1 CD, and turned it into a script-specific hack for that game, for now
- Added handling of kDisposeScript calls made with 2 parameters, e.g. in KQ5CD and others (still untested, haven't found a test case)

svn-id: r43887
2009-09-01 17:09:59 +00:00
Filippos Karapetis
ac025f4294 - Replaced more cases of EngineState parameters
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro

svn-id: r43729
2009-08-25 15:14:29 +00:00
Filippos Karapetis
ed66cad677 - Simplified the parameters of some functions
- Replaced some EngineState parameters
- The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions
- Plugged 2 leaks in the fallback detector
- Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency

svn-id: r43722
2009-08-25 08:38:14 +00:00
Joost Peters
6a3c595b01 remove \n's from error() calls
svn-id: r43571
2009-08-20 21:03:03 +00:00
Filippos Karapetis
522b161bec Replaced sciprintf() calls with printf, DebugPrintf, warning and error calls
svn-id: r42167
2009-07-06 10:39:22 +00:00
Filippos Karapetis
3b687a7a04 Replaced KP_ALT, SKPV_OR_ALT and UKPV_OR_ALT
svn-id: r41340
2009-06-07 16:50:34 +00:00
Filippos Karapetis
744323ca33 Replaced/removed KP_UINT, KP_SINT, SKPV and UKPV as well as the VIEW_PRIORITY and PRIORITY_BAND_FIRST wrappers
svn-id: r41338
2009-06-07 15:53:30 +00:00
Johannes Schickel
abe8cf0625 Typo.
svn-id: r41054
2009-05-31 01:11:06 +00:00
Max Horn
70a04c8b51 SCI: Made vocab_version static again (a global static var is bad, but a really global var is worse); also clarified some FIXME comments that we want to avoid *any* non-const global var, no matter whether it is static or not
svn-id: r41045
2009-05-30 20:37:33 +00:00
Filippos Karapetis
3490819a66 - Removed debug_mode from the engine state
- Turned all SCIkwarn and SCIkdebug functions to ScummVM's debugC function
- Placed some debug code in appropriate defines: DEBUG_PARSER, DEBUG_AVOIDPATH and DEBUG_SOUND
- Removed the "debuglog" command and the "script_checkloads_flag" and "sci_debug_flags" variables

svn-id: r41033
2009-05-30 15:40:49 +00:00
Walter van Niftrik
e3178daf13 SCI: Cleanup.
svn-id: r40931
2009-05-27 00:24:32 +00:00
Max Horn
7d5f3e1714 Turned some static tables into static const tables; added some FIXME comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines)
svn-id: r40908
2009-05-26 11:30:21 +00:00
Max Horn
bba91075bf removed trailing whitespaces
svn-id: r40742
2009-05-20 17:53:31 +00:00
Filippos Karapetis
1e547f320c Removed the unused file and line parameters from the list and list node lookup functions, and removed the LOOKUP_LIST and LOOKUP_NODE defines. Also, disabled the unused LOOKUP_SPECIES define
svn-id: r40676
2009-05-18 08:28:04 +00:00
Filippos Karapetis
e940bcff23 - Simplified SCI version detection a bit and clarified the different version feature flags (not used yet)
- Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these)
- Removed the empty GameFlags structure and replaced it with a 32-bit integer instead

svn-id: r40524
2009-05-13 16:52:41 +00:00
Max Horn
0255cd0213 SCI: Removed sci_memory.h/.cpp
svn-id: r40514
2009-05-12 23:30:10 +00:00
Filippos Karapetis
acd5a87922 Moved the code which retrieves the current room number in a separate function and merged _sci1_alloc_system_colors inside _reset_graphics_input
svn-id: r40412
2009-05-10 10:27:45 +00:00
Walter van Niftrik
34bdd010c3 SCI: AvoidPath: Got rid of a warning.
svn-id: r40399
2009-05-09 09:52:46 +00:00
Walter van Niftrik
90cef59d3b SCI: AvoidPath: No longer excludes edges on screen borders for pathfinding, as
only the earlier games seem to do this. We may need to add a SCI version check
here if this change breaks anything in earlier games.

svn-id: r40398
2009-05-09 01:23:52 +00:00
Walter van Niftrik
a70531f814 SCI: AvoidPath: another workaround for ECO.
svn-id: r40397
2009-05-09 00:32:05 +00:00
Walter van Niftrik
418d80c8a8 SCI: AvoidPath: another workaround for ECO
svn-id: r40384
2009-05-08 14:29:20 +00:00
Walter van Niftrik
afa254721d SCI: AvoidPath: Fixed a regression caused by previous commit, and added a
workaround for ECO room 300.

svn-id: r40383
2009-05-08 12:39:37 +00:00
Walter van Niftrik
8346af68ec SCI: AvoidPath: added support for multiple contained-access polygons (ECO1).
svn-id: r40378
2009-05-08 11:08:53 +00:00
Max Horn
6343b2eee0 SCI: Changed GfxWidget::set_visual function pointer to virtual method setVisual
svn-id: r40108
2009-04-24 10:48:51 +00:00