Commit graph

216 commits

Author SHA1 Message Date
Filippos Karapetis
15cb36a7ee Made is_object() a method of the segment manager
svn-id: r44042
2009-09-12 17:42:04 +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
0c7093e05c SCI:
* removed kNOP
* renamed k_Unknown to kUnknown
* added FIXME to kfunct_mappers table
* more cleanup

svn-id: r43906
2009-09-02 11:35:00 +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
a6f457b45d Rewrote the static selector mapper to use SCI versions instead of game IDs, and split the selectors in SCI generations
svn-id: r43863
2009-08-31 20:45:46 +00:00
Walter van Niftrik
1d6f946ba7 SCI: Add stub for PalVary.
svn-id: r43857
2009-08-31 18:42:07 +00:00
Matthew Hoops
3687544fbb Adding support for AVI in SCI games (such as kq6) and implement kPlatform.
svn-id: r43834
2009-08-30 19:47:47 +00:00
Walter van Niftrik
3e543d2518 SCI: Add lofs detection.
svn-id: r43824
2009-08-30 14:53:58 +00:00
Filippos Karapetis
faa3c64d1b Stop loading opcodes from vocab.998. They are the same in all SCI games and are hardcoded anyway (plus, vocab.998 is unreliable in some games, e.g. QFG3, or completely missing in others). Also hardcoded the opcode names for the script debugger, the only place they're actually used. The only place where vocab.998 is loaded on demand is when using the "opcodes" console command (for debug/verification purposes)
svn-id: r43775
2009-08-27 23:39:59 +00:00
Matthew Hoops
b5da8a5cdc - Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and SCI_VERSION_3 (each version has a different kernel table).
- Improve map detection.
- Fix SCI32 object and script initialization (Torin's Passage and GK1 scripts now start up, and probably most SCI2/2.1 games).
- Add SCI2 and SCI2.1 kernel tables.

svn-id: r43742
2009-08-25 23:02:57 +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
Filippos Karapetis
60af2db2fd - Added more mappings from Sierra's internal IDs to our own ones. Hopefully, all SCI0-SCI11 games can now be detected correctly from the fallback detector
- Simplified some checks for old script types

svn-id: r43678
2009-08-23 21:57:30 +00:00
Filippos Karapetis
db0cd620f6 Started rewriting the SCI engine to use FSNode instead of file names. This is the proper solution for removing the hack in the fallback detector, but it still needs work. Also, reduced the things needed to be initialized a bit, so that the detection is a bit faster
svn-id: r43510
2009-08-18 14:10:31 +00:00
Walter van Niftrik
260a2019b6 SCI: Add autodetection for DoSound. Cleanup.
svn-id: r43482
2009-08-17 15:49:22 +00:00
Johannes Schickel
71c9700420 Fix compilation of the SCI engine. It seems that all of the SCI header files I touched (and probably others I luckily didn't touch) seem to assume that files including them will supply needed types. That looks like a major issue in SCI. Someone with knowledge of the SCI code should look into this and cleanup the includes of *all* SCI headers.
svn-id: r43459
2009-08-17 07:36:08 +00:00
Walter van Niftrik
00f4794c0a SCI: Stage 1 of the game detection overhaul. The end goal is to autodetect
as much as possible. All SCI_VERSION_* information was removed from
detection.cpp (much of it was incorrect anyway).

svn-id: r43449
2009-08-16 19:18:19 +00:00
Walter van Niftrik
65e9ae163f SCI: Added a crude speed throttler.
svn-id: r43289
2009-08-11 20:18:15 +00:00
Walter van Niftrik
dd9e569325 SCI: Improved multilanguage support for SCI1 and SCI1.1.
svn-id: r43217
2009-08-10 18:37:47 +00:00
Filippos Karapetis
31a0c80905 Moved the kernel and the vocabulary outside of the engine state (they're static data, which never changes during a game)
svn-id: r42398
2009-07-11 23:45:54 +00:00
Filippos Karapetis
0b47fa50ae Applied a slightly modified patch from clone2727 which adds static selector names to some demos which are missing them (KQ4, LSL1, LSL3, Iceman and Christmas1992)
svn-id: r42372
2009-07-11 06:33:19 +00:00
Filippos Karapetis
a9aaf56b3e Cleanup: added an enum for the auto-detected features, removed the selectors which are only used for auto-detection from the convenience selector map and placed feature auto-detection in a separate function. Also, now the automatically detected graphics resources are shown in the console.
svn-id: r42212
2009-07-07 11:14:18 +00:00
Filippos Karapetis
d55f7e72d0 Added auto-detection for games with older headers for script blocks, and removed game flag GF_SCI0_OLD
svn-id: r42211
2009-07-07 10:28:05 +00:00
Filippos Karapetis
87988c69ee Assigned several unimplemented/unused kernel functions as stubs, so that we know when they're used and how they're called
svn-id: r42170
2009-07-06 11:19:19 +00:00
Filippos Karapetis
c31d1b3180 - Fixed feature auto-detection for Conquests of Camelot
- Auto-detected features are now printed in the console (to ease debugging)

svn-id: r42132
2009-07-05 11:49:05 +00:00
Filippos Karapetis
5c60d94725 SCI1 games with absolute parameters to lofs instructions are automatically detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag
svn-id: r42118
2009-07-05 11:08:53 +00:00
Filippos Karapetis
c5522b3766 - Kernel function names are no longer loaded from vocab.999, but are constructed from the hardcoded function table, depending on the SCI version used
- SCI0 games using older graphics functions are now detected by the presence of the "curAngle" selector
- SCI0 games using a SCI1 table (like KQ1 demo version and full version) are detected by the presence of the "sightAngle" selector (as no SCI0 game seems to have it)

svn-id: r42095
2009-07-04 15:45:04 +00:00
Filippos Karapetis
df9570cb32 SCI0 games using older graphics functions are automatically detected now, from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag
svn-id: r42081
2009-07-03 23:37:08 +00:00
Max Horn
42de7a1573 Patch
svn-id: r41647
2009-06-18 22:09:57 +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
Max Horn
870db34cd1 SCI: Renamed _kfuncTable -> _kernelFuncs; and simplified/streamlined the kernel func map in kernel.cpp a bit
svn-id: r41176
2009-06-04 21:42:24 +00:00
Max Horn
ae3c6c3053 SCI: cleanup
svn-id: r41173
2009-06-04 20:51:09 +00:00
Max Horn
382ebea3fa SCI: Renamed various debug related global variables to have a g_ prefix; and moved any 'extern' decls of them into a new header file
svn-id: r41163
2009-06-04 11:28:05 +00:00
Filippos Karapetis
98f64cfa2f Removed the gfxw_new_visual and gfxw_new_port wrappers, moved _kfuncTable inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct
svn-id: r41125
2009-06-02 14:16:59 +00:00
Filippos Karapetis
99c6874630 Split the kernel functions away from the vocabulary functions (WIP, saving/loading is broken)
svn-id: r41101
2009-06-01 14:12:43 +00:00
Filippos Karapetis
c730e0290d Replaced kernel_oops with error(), and added an enum to clarify the cases where invoke_selector should stop
svn-id: r41095
2009-06-01 08:00:58 +00:00
Filippos Karapetis
a4d13cef8c More objectification of the Vocabulary functions
svn-id: r41057
2009-05-31 02:37:24 +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
Filippos Karapetis
69582f0179 Moved 3 more debug commands to console.cpp ("simkey", "segment_table" and "show_map") and removed the GFXWC macro. Some cleanup
svn-id: r41032
2009-05-30 14:30:39 +00:00
Filippos Karapetis
b1997801da - Moved some debug code into console.cpp, adding 3 console commands: resource_types, sci0_palette and exit
- Removed the "man" command
- Removed the commands which set the SCI01 priority table flags and the crossblit alpha threshold (they're too specific, and not really useful anymore)
- Removed some leftover debug code from gfxop_clear_box()

svn-id: r41010
2009-05-29 17:19:39 +00:00
Filippos Karapetis
39f9894ee5 Added a stub for SetVideoMode(), and fixed some of the palette glitches in the intro of KQ6 thanks to some comments by waltervn. Also, commented out the bounds rect in gfxr_pic_t, as it's currently unused
svn-id: r40808
2009-05-23 13:26:45 +00:00
Walter van Niftrik
36fe37443d SCI: Added support for KQ6 movies.
svn-id: r40774
2009-05-21 22:03:23 +00:00
Max Horn
7d54385dea SCI: Moved some private decls from kernel.h to kernel.cpp; removed pointless (and incorrect) fallback code in k_Unknown
svn-id: r40739
2009-05-20 17:52:12 +00:00
Walter van Niftrik
df3357159c SCI: Added some stubs for LSL6CD (lores).
svn-id: r40719
2009-05-19 02:10:58 +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
Walter van Niftrik
c299dbeb26 SCI: Merged Message() and GetMessage(). Set SCI1.1 to use SCI1 kernel table (for now).
svn-id: r40481
2009-05-12 12:31:09 +00:00
Max Horn
7c75e8e2ef SCI: Reduced header deps
svn-id: r40451
2009-05-11 13:31:17 +00:00