Commit graph

87 commits

Author SHA1 Message Date
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
Max Horn
ebcfd9b016 SCI: Got rid of GFXW() macro; turned GfxWidget::widfree into destructors
svn-id: r40107
2009-04-24 10:48:25 +00:00
Max Horn
9445439c4f SCI: Renamed gfxw_widget_t and subtypes to GfxWidget etc.
svn-id: r40104
2009-04-24 10:46:20 +00:00
Max Horn
86b3657476 SCI: Started to C++ify the gfxw_widget_t codebase
svn-id: r40103
2009-04-24 10:45:09 +00:00
Walter van Niftrik
197c2bbb99 SCI: Replaced AATree by Common::List in AvoidPath. AATree does not help when
the input size is this small.

svn-id: r39855
2009-04-05 00:06:22 +00:00
Max Horn
cf3265a1c9 SCI: Fix warning on OSX
svn-id: r39810
2009-04-03 14:53:56 +00:00
Filippos Karapetis
8ae0ed1706 Applied fingolfin's suggestion to remove the roundf() implementation and make the code in that bit simpler and more readable (since points are always positive)
svn-id: r39802
2009-04-02 19:37:56 +00:00
Filippos Karapetis
6fe12a0888 pic_port_bounds was only set from command-line parameters it seems, so it's safe to put it together with the rest of the options
svn-id: r39800
2009-04-02 16:38:33 +00:00
Filippos Karapetis
9180f3a9a1 Fixed compilation under MSVC by implementing roundf()
svn-id: r39799
2009-04-02 16:30:42 +00:00
Walter van Niftrik
88ec6f407c SCI: AvoidPath cleanup.
svn-id: r39798
2009-04-02 15:28:34 +00:00
Walter van Niftrik
3dc820796d SCI: Avoidpath cleanup.
svn-id: r39797
2009-04-02 00:04:20 +00:00
Walter van Niftrik
e860473d80 SCI: AvoidPath workaround for intersecting polygons in Longbow, room 210.
svn-id: r39714
2009-03-27 23:01:13 +00:00