aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.h
AgeCommit message (Collapse)Author
2009-10-03SCI: Merge new GUI code written by m_kiewitz.Willem Jan Palenstijn
This is a major rewrite of the graphics code. A slightly adapted version of the old code is still available and currently the default. The new code is selectable in sci.cpp, but is not yet finished. svn-id: r44565
2009-09-29- Changed the unimplemented debug SCI kernel functions (InspectObj, ↵Filippos Karapetis
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-27SCI: Major string handling update.Willem Jan Palenstijn
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-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
2009-09-21SCI: Workaround for crash in debugger's backtraceMax Horn
svn-id: r44239
2009-09-17SCI: Add EngineState::_kernel member for convenienceMax Horn
svn-id: r44173
2009-09-17SCI: Rename WAS_FUNCT_NR to FAKE_FUNCT_NR; turn some #defines into enumsMax Horn
svn-id: r44169
2009-09-17SCI: Removed dead codeMax Horn
svn-id: r44159
2009-09-17SCI: Get rid of the not_register() hackMax Horn
svn-id: r44153
2009-09-17SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCacheMax Horn
svn-id: r44152
2009-09-17SCI: cleanupMax Horn
svn-id: r44150
2009-09-14SCI: kernelDeref*() functions are now seSegmentManager methodsMax Horn
svn-id: r44082
2009-09-14SCI: Merge kernelDerefCharPtr and kernelDerefString and change it from a ↵Max Horn
macro to a function svn-id: r44081
2009-09-12Made is_object() a method of the segment managerFilippos Karapetis
svn-id: r44042
2009-09-06SCI: Rename resManager -> resMan; segManager -> segManMax Horn
svn-id: r43980
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
2009-09-02SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefStringMax Horn
svn-id: r43907
2009-09-02SCI:Max Horn
* removed kNOP * renamed k_Unknown to kUnknown * added FIXME to kfunct_mappers table * more cleanup svn-id: r43906
2009-09-02SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be ↵Max Horn
removed eventually) svn-id: r43905
2009-08-31Rewrote the static selector mapper to use SCI versions instead of game IDs, ↵Filippos Karapetis
and split the selectors in SCI generations svn-id: r43863
2009-08-31SCI: Add stub for PalVary.Walter van Niftrik
svn-id: r43857
2009-08-30Adding support for AVI in SCI games (such as kq6) and implement kPlatform.Matthew Hoops
svn-id: r43834
2009-08-30SCI: Add lofs detection.Walter van Niftrik
svn-id: r43824
2009-08-27Stop loading opcodes from vocab.998. They are the same in all SCI games and ↵Filippos Karapetis
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-25- Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and ↵Matthew Hoops
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- Replaced more cases of EngineState parametersFilippos Karapetis
- Made some version comparisons for old SCI0 versions easier to read - Removed the GET_SEL32SV macro svn-id: r43729
2009-08-25- Simplified the parameters of some functionsFilippos Karapetis
- 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-23- Added more mappings from Sierra's internal IDs to our own ones. Hopefully, ↵Filippos Karapetis
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-18Started rewriting the SCI engine to use FSNode instead of file names. This ↵Filippos Karapetis
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-17SCI: Add autodetection for DoSound. Cleanup.Walter van Niftrik
svn-id: r43482
2009-08-17Fix compilation of the SCI engine. It seems that all of the SCI header files ↵Johannes Schickel
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-16SCI: Stage 1 of the game detection overhaul. The end goal is to autodetectWalter van Niftrik
as much as possible. All SCI_VERSION_* information was removed from detection.cpp (much of it was incorrect anyway). svn-id: r43449
2009-08-11SCI: Added a crude speed throttler.Walter van Niftrik
svn-id: r43289
2009-08-10SCI: Improved multilanguage support for SCI1 and SCI1.1.Walter van Niftrik
svn-id: r43217
2009-07-11Moved the kernel and the vocabulary outside of the engine state (they're ↵Filippos Karapetis
static data, which never changes during a game) svn-id: r42398
2009-07-11Applied a slightly modified patch from clone2727 which adds static selector ↵Filippos Karapetis
names to some demos which are missing them (KQ4, LSL1, LSL3, Iceman and Christmas1992) svn-id: r42372
2009-07-07Cleanup: added an enum for the auto-detected features, removed the selectors ↵Filippos Karapetis
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-07Added auto-detection for games with older headers for script blocks, and ↵Filippos Karapetis
removed game flag GF_SCI0_OLD svn-id: r42211
2009-07-06Assigned several unimplemented/unused kernel functions as stubs, so that we ↵Filippos Karapetis
know when they're used and how they're called svn-id: r42170
2009-07-05- Fixed feature auto-detection for Conquests of CamelotFilippos Karapetis
- Auto-detected features are now printed in the console (to ease debugging) svn-id: r42132
2009-07-05SCI1 games with absolute parameters to lofs instructions are automatically ↵Filippos Karapetis
detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag svn-id: r42118
2009-07-04- Kernel function names are no longer loaded from vocab.999, but are ↵Filippos Karapetis
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-03SCI0 games using older graphics functions are automatically detected now, ↵Filippos Karapetis
from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag svn-id: r42081
2009-06-18PatchMax Horn
svn-id: r41647
2009-06-07Replaced KP_ALT, SKPV_OR_ALT and UKPV_OR_ALTFilippos Karapetis
svn-id: r41340
2009-06-07Replaced/removed KP_UINT, KP_SINT, SKPV and UKPV as well as the ↵Filippos Karapetis
VIEW_PRIORITY and PRIORITY_BAND_FIRST wrappers svn-id: r41338
2009-06-04SCI: Renamed _kfuncTable -> _kernelFuncs; and simplified/streamlined the ↵Max Horn
kernel func map in kernel.cpp a bit svn-id: r41176
2009-06-04SCI: cleanupMax Horn
svn-id: r41173
2009-06-04SCI: Renamed various debug related global variables to have a g_ prefix; and ↵Max Horn
moved any 'extern' decls of them into a new header file svn-id: r41163
2009-06-02Removed the gfxw_new_visual and gfxw_new_port wrappers, moved _kfuncTable ↵Filippos Karapetis
inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct svn-id: r41125