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