Commit Graph
560 Commits
Author SHA1 Message Date
Filippos Karapetis 174a043aa7 Removed the exportsAreWide variable from the segment manager and save games, and moved validateExportFunc() in the Script class, thus resolving a TODO
svn-id: r49093
2010-05-19 08:50:24 +00:00
Filippos Karapetis 852cb16c49 Moved the breakpoint information inside the DebugState struct
svn-id: r49092
2010-05-19 07:25:06 +00:00
Filippos Karapetis 46af5a5162 - Moved kernel_lookup_text inside the Kernel class
- Added a pointer to the segment manager from within the Kernel class, thus simplifying the calls to it

svn-id: r49076
2010-05-18 12:16:48 +00:00
Filippos Karapetis 75f4791a4a - Moved determine_reg_type() and kernel_matches_signature() inside the Kernel class, where they belong
- Moved the kernel signature defines inside kernel.h
- Removed some unused references to EngineState

svn-id: r49075
2010-05-18 11:23:13 +00:00
Filippos Karapetis 8b7c29a4ad Moved breakpointWasHit inside the DebugState struct, thus resolving a FIXME
svn-id: r49071
2010-05-18 09:18:27 +00:00
Matthew Hoops 3dda73d9a2 Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
2010-05-18 04:17:58 +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
Torbjörn Andersson 65585f6433 Silenced some harmless cppcheck warnings about unreachable code after a return.
In this case, it was always a break after a return in a switch case. There are
similar cases which cppcheck didn't detect, and a couple of cases where we have
a break after a continue in a switch case (where the continue refers to an
outer loop), but I didn't touch those. Not yet, at least.

svn-id: r48218
2010-03-10 06:39:23 +00:00
Max Horn e45f0f309a SCI: Remove EngineState::_kernel, use SciEngine::_kernel instead
svn-id: r48050
2010-02-13 17:45:40 +00:00
Max Horn 9575cc08a2 SCI: Move GameFeatures from EngineState to SciEngine
svn-id: r48049
2010-02-13 17:44:58 +00:00
Max Horn a82939c9be SCI: Get rid of EngineState::resMan
svn-id: r48048
2010-02-13 17:44:19 +00:00
Max Horn ac4d325e0d SCI: Add global g_sci pointer to the active SciEngine instance
svn-id: r48046
2010-02-13 17:42:49 +00:00
Walter van Niftrik a3a07f19fc SCI: Revert r47929 (bad idea, as we may run out of offsets). Instead, adapt SCI32 list iteration code to store node successor before invoking.
svn-id: r48036
2010-02-12 02:23:28 +00:00
Max Horn 024e762bdb SCI: Move bulk of op_callk code to new func callKernelFunc()
svn-id: r47979
2010-02-07 17:57:51 +00:00
Max Horn 95b90fc40d SCI: cleanup; try to unify var names when reading PMachine instructions a bit
svn-id: r47978
2010-02-07 17:57:25 +00:00
Max Horn 2cc301e449 SCI: Simplify yet another case of weird 'unsigned to signed' conversion
svn-id: r47977
2010-02-07 17:56:57 +00:00
Max Horn e0218d1ba3 SCI: Get rid of GET_OP_ macros
svn-id: r47957
2010-02-07 12:14:26 +00:00
Max Horn 3b4c54f0e5 SCI: Add function readPMachineInstruction()
svn-id: r47956
2010-02-07 12:13:59 +00:00
Walter van Niftrik 742ddb7979 SCI: Run GC only when execution_stack_base is 0.
svn-id: r47929
2010-02-06 12:50:50 +00:00
Filippos Karapetis 2fb37063a4 Placed all the game feature detection code in a separate class
svn-id: r47850
2010-02-03 11:02:43 +00:00
Max Horn 09046947d4 SCI: Make add_exec_stack_entry & add_exec_stack_varselector static / private
svn-id: r47837
2010-02-03 01:34:39 +00:00
Max Horn 4ecaf4d4ac SCI: restoring param of run_vm is a bool, not an int
svn-id: r47834
2010-02-03 01:33:23 +00:00
Max Horn bb5e34a014 SCI: Get rid of EngineState::stack_segment
svn-id: r47833
2010-02-03 01:32:59 +00:00
Max Horn b2d69649f7 SCI: Rearrange members of class EngineState
svn-id: r47832
2010-02-03 01:32:27 +00:00
Max Horn 4b19acf255 SCI: Use Common::List and Common::String to simplify breakpoint handling (untested)
svn-id: r47824
2010-02-02 22:52:41 +00:00
Max Horn 6c322506dd SCI: Move some code around (no code changes)
svn-id: r47823
2010-02-02 22:50:32 +00:00
Filippos Karapetis 8b9cdd671f Removed an unused parameter from _game_run()
svn-id: r47734
2010-01-31 01:15:05 +00:00
Filippos Karapetis 4a4b69dbeb Fixed loading of saved games
svn-id: r47729
2010-01-30 23:40:29 +00:00
Max Horn 87856c545c SCI: Don't mess with save_slot just to be able to decide whether we already honored a load request or not
svn-id: r47726
2010-01-30 19:08:00 +00:00
Max Horn 4f4b559d1c SCI: Correct comments which talked about 'loading from GMM' when they really meant 'loading from launcher'
svn-id: r47725
2010-01-30 19:06:24 +00:00
Max Horn d0bcf4d281 SCI: Mark scriptState as one of the many evil global vars in the SCI engine
svn-id: r47724
2010-01-30 19:04:21 +00:00
Willem Jan Palenstijn 06bd17ee71 SCI: Remove extra '\n's in debugC messages
svn-id: r47707
2010-01-30 11:59:05 +00:00
Willem Jan Palenstijn 9449585893 Fix warning
svn-id: r47706
2010-01-30 11:17:08 +00:00
Filippos Karapetis 28aee9c5f3 Silenced a very annoying warning
svn-id: r47704
2010-01-30 07:11:38 +00:00
Walter van Niftrik 7dbd0fc181 SCI: Apply fix from r47683 to u> and u<= as well. Fixes Longbow.
svn-id: r47700
2010-01-30 04:01:15 +00:00
Walter van Niftrik 6703576452 SCI: Partly revert r47597, as it is superseded by r47683.
svn-id: r47686
2010-01-29 22:51:22 +00:00
Lars Skovlund 027b44673a Document my last change
svn-id: r47684
2010-01-29 22:29:03 +00:00
Lars Skovlund 0e8b8f1962 SCI: uge? and ult? opcodes now work correctly when comparing pointers with 1000.
svn-id: r47683
2010-01-29 22:17:27 +00:00
Max Horn b124a0c1cd SCI: Reduce header interdependencies a bit
svn-id: r47666
2010-01-29 11:05:06 +00:00
Walter van Niftrik 52ef12547f SCI: Added OnStartup debug flag to start the debugger at the start of the game.
svn-id: r47663
2010-01-29 01:31:05 +00:00
Walter van Niftrik 31728b32ca SCI: Add debug opcodes
svn-id: r47646
2010-01-28 19:22:58 +00:00
Filippos Karapetis 104cc92d6b Changed run_vm() to use the sci_opcodes enum, and fixed several wrong opcodes inside that enum
svn-id: r47642
2010-01-28 13:07:47 +00:00
Filippos Karapetis 3f4ef3aff8 Removed a hack for the demo version of Torin's passage. It errors out because the static selector vocabulary for SCI2+ games isn't implemented yet
svn-id: r47640
2010-01-28 10:34:11 +00:00
Walter van Niftrik ed199f38b4 SCI: Experimental fix for Longbow outlook crash.
When using a pointer in number arithmetic, substitute a large value instead
of 0 (cf. Hoyle hack in kAbs).

svn-id: r47597
2010-01-27 13:14:28 +00:00
Filippos Karapetis b24be4f526 Added support of the subtraction of two pointers, when they got the same segment. This operation will yield a number, like in C, and it's used by script 385 in Castle of Dr. Brain (the hangman script). Fixes exiting room 360 (the puzzle room) in Castle of Dr. Brain
svn-id: r47595
2010-01-27 12:13:39 +00:00
Walter van Niftrik 3f7b6f9472 SCI: Restore pointer checks removed in r47585.
svn-id: r47587
2010-01-27 03:37:56 +00:00
Walter van Niftrik 7c0dcf108c SCI: Add pointer comparison support to signed comparison operators.
svn-id: r47585
2010-01-27 01:47:41 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Johannes Schickel 8257b1106c Fix gcc warning.
svn-id: r47425
2010-01-21 22:44:25 +00:00