Filippos Karapetis
d61c5ae529
SCI: make g_base_opcode_formats and SciOpcodes a bit more readable
2012-07-04 11:57:40 +03:00
Filippos Karapetis
20b6770808
SCI: Change the program counter (PC) to be a 32-bit variable
...
This is needed for future support of large SCI3 scripts. The program
counter is isolated and does not interfere with other parts of the VM,
plus it does not get stored in saved games, so it's pretty straightforward
to convert
2012-06-23 21:45:26 +03:00
Filippos Karapetis
2b50824133
SCI: Add setter/getter methods to reg_t's
...
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
2012-06-18 05:24:06 +03:00
Filippos Karapetis
041b1447c0
SCI: Replace RAW_IS_OBJECT with a method
2012-06-15 22:32:15 +03:00
Filippos Karapetis
b5eac1b35b
SCI: Fix case of the SciOpcodes enum
2012-05-20 21:35:27 +03:00
Filippos Karapetis
fceeca2666
SCI: Change sci_opcodes to CamelCase
2012-05-20 20:16:13 +03:00
Willem Jan Palenstijn
0192d2f2de
SCI: Fix restarting SCI engine with different SCI version
2011-11-29 18:34:34 +01:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
md5
76b68bf88c
SCI: Set the GC_INTERVAL define to its hexadecimal equivalent
2011-03-28 02:23:56 +03:00
md5
cc074b013f
SCI: Refactored and cleaned up the VM call stack handling code
...
- Removed the CallsStruct intermediate stack. Calls are inserted directly
in the execution stack
- Added a constructor for the ExecStack struct and removed
add_exec_stack_varselector() and add_exec_stack_entry()
2011-03-26 02:37:10 +02:00
Filippos Karapetis
d53e5fbfb7
SCI: Removed the restoring parameter of the run_vm() function
...
svn-id: r51076
2010-07-20 23:15:07 +00:00
Martin Kiewitz
6402d64419
SCI: cleanup of execstack, output of backtrace slightly modified, is now also displaying local calls and exports
...
svn-id: r50445
2010-06-28 14:21:56 +00:00
Max Horn
30218a2c32
SCI: Make Script member vars private; add const qualifiers
...
Only three Script members remain public (for now)
svn-id: r50428
2010-06-28 11:22:20 +00:00
Filippos Karapetis
bb992b0b93
SCI: Moved all the script-related code inside script.cpp/.h, and all script opcode-related code inside vm.cpp/.h
...
svn-id: r50396
2010-06-27 20:38:43 +00:00
Filippos Karapetis
7a14846bdd
Removed the misleading getHeap() function (only valid for SCI0-SCI1), plus removed some unused defines
...
svn-id: r50358
2010-06-26 23:48:27 +00:00
Martin Kiewitz
258494f036
SCI: adding capability to resolve local calls as well for valgrind-sci, adding another workaround for a script bug in sq1 (this time export 1 gets called locally)
...
svn-id: r50308
2010-06-26 08:29:55 +00:00
Martin Kiewitz
fc4fa25ec4
SCI: adding capability for detecting export-calls into valgrind-sci, adding workaround for export 1 of script 703 in sq1 (gets called from various objects)
...
svn-id: r50292
2010-06-25 22:34:53 +00:00
Matthew Hoops
7edbcc26f7
Cleanup uninitialized read workaround(s).
...
svn-id: r50225
2010-06-24 17:48:15 +00:00
Martin Kiewitz
e45ffc68a3
SCI: created a workaround table for uninitialized reads, removing old commented out workarounds for pharkas and laura bow 2
...
svn-id: r50214
2010-06-24 13:17:45 +00:00
Filippos Karapetis
0a102981f0
Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
...
svn-id: r50183
2010-06-23 15:23:37 +00:00
Martin Kiewitz
eeba2812c1
SCI: adding some more global scaling code, adding vanishingY and vanishingX as selectors
...
svn-id: r50180
2010-06-23 13:42:09 +00:00
Martin Kiewitz
3bc011357b
SCI: some initial work on global scaling
...
svn-id: r50179
2010-06-23 12:58:14 +00:00
Filippos Karapetis
9b8e4e8359
Moved all of the game init/run/exit logic inside the SciEngine class
...
svn-id: r49559
2010-06-10 07:32:05 +00:00
Filippos Karapetis
2c629a04dd
Merged script_init_engine() and game_init() and cleaned up SciEngine::run() a bit
...
svn-id: r49537
2010-06-09 10:45:54 +00:00
Filippos Karapetis
67690e89a3
Merged _game_run() inside game_run(). Some cleanup
...
svn-id: r49513
2010-06-08 18:44:27 +00:00
Filippos Karapetis
3c82b6578f
Now that EngineState is not deleted when loading games, we can move some more state-related variables to it, and remove several FIXME's about non-const global variables. Also, the entries in the data stack are now deleted when loading (fixes a memory leak - thanks to digitall for this).
...
svn-id: r49465
2010-06-06 23:00:33 +00:00
Filippos Karapetis
2ae4c5796b
The setCursor selector is no longer used for the detection of the kSetCursor() kernel function semantics
...
svn-id: r49408
2010-06-03 10:44:50 +00:00
Filippos Karapetis
86b452d36c
Moved several object-related defines inside vm.h into segment.h, where the Object class resides. Also, removed several unused defines
...
svn-id: r49406
2010-06-03 10:16:21 +00:00
Filippos Karapetis
5f2ff0b1e7
Limit access to the _classTable array (now it's directly accessible only inside saveLoadWithSerializer()
...
svn-id: r49318
2010-05-29 23:56:37 +00:00
Filippos Karapetis
67de5b1bd3
Mass renaming of selector-related functions, and removed some defines which were just cloaking functions with a different name
...
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase
svn-id: r49317
2010-05-29 23:37:15 +00:00
Matthew Hoops
d49fb8f42d
Add support for showing the icon bar in SCI1.1 Mac.
...
svn-id: r49196
2010-05-24 17:21:11 +00:00
Filippos Karapetis
9be4f6250c
Made shrink_execution_stack() a member of EngineState
...
svn-id: r49159
2010-05-23 16:44:36 +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
f3892a506b
- Removed the wrapper kalloc, kmem and kfree functions. Now, the associated Segment manager functions allocateHunkEntry, getHunkPointer and freeHunkEntry are used directly (which are more descriptive, anyway)
...
- Replaced the GET_SEGMENT macro by a method of the segment manager
- Removed the unused reference to the created hunk in allocateHunkEntry(), only the reg_t reference to it is returned now
svn-id: r49078
2010-05-18 13:05:09 +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
26b7f0bbb9
SCI: Remove hack in convertSierraGameId which caused a memory leak
...
svn-id: r48083
2010-02-17 23:36:50 +00:00
Max Horn
3b4c54f0e5
SCI: Add function readPMachineInstruction()
...
svn-id: r47956
2010-02-07 12:13:59 +00:00
Martin Kiewitz
3545438900
SCI: adding back selector for sci32
...
svn-id: r47879
2010-02-04 17:55:23 +00:00
Martin Kiewitz
6ea821fac7
SCI: adding selectors bottom and right
...
svn-id: r47876
2010-02-04 16:06:56 +00:00
Martin Kiewitz
e3cab50c15
SCI: adding support for resX, resY selectors for sci32
...
svn-id: r47874
2010-02-04 12:01:19 +00:00
Filippos Karapetis
887ca3145e
Initial implementation of text drawing for SCI2 (it's a hack for now, done the "SCI0-SCI11" way, and text splitting is wrong...)
...
svn-id: r47838
2010-02-03 01:36:53 +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
4b19acf255
SCI: Use Common::List and Common::String to simplify breakpoint handling (untested)
...
svn-id: r47824
2010-02-02 22:52:41 +00:00
Matthew Hoops
d883b6215f
Detect whether to use the modified SCI2 or SCI2.1 kernel table based on the kDoSound call used in Sound::play(), which fixes at least my version of KQ7 - probably others. The kernel table initialization now occurs after the script signatures are adjusted as we need it adjusted before checking through Sound::play for the kDoSound call.
...
svn-id: r47645
2010-01-28 18:57:31 +00:00
Johannes Schickel
aed02365ec
Strip trailing spaces/tabs.
...
svn-id: r47541
2010-01-25 01:39:44 +00:00
Martin Kiewitz
0dddf869fb
SCI: changed scalesignal to scaleSignal - selector works now :)
...
svn-id: r47312
2010-01-15 21:26:02 +00:00
Martin Kiewitz
0338198876
SCI: adding scalesignal selector
...
svn-id: r47306
2010-01-15 13:33:26 +00:00
Filippos Karapetis
f66d5a7f53
SCI: Removed the old graphics code
...
svn-id: r47005
2010-01-05 00:54:53 +00:00