Willem Jan Palenstijn
95b080f60b
Fix compile errors
...
svn-id: r49535
2010-06-09 08:49:37 +00:00
Filippos Karapetis
9304b5fbeb
Merged the restarting_flags, script_abort_flag, and restoring members of the EngineState class into one variable, abortScriptProcessing. The flag kept to signify a game restart has been placed in a boolean, gameWasRestarted
...
svn-id: r49518
2010-06-08 21:05:46 +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
5d21ff280a
Silenced some superfluous warnings in KQ5CD
...
svn-id: r49294
2010-05-28 16:47:30 +00:00
Martin Kiewitz
830d17ed31
SCI: renaming MacIconBar to GfxMacIconBar
...
svn-id: r49202
2010-05-24 21:47:06 +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
7cd9a23c0d
Remove the unused SCI_GAME_WAS_RESTARTED_AT_LEAST_ONCE flag
...
svn-id: r49161
2010-05-23 17:03:16 +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
c874ff15a8
Cleaned up the game ID code:
...
- The game ID is now obtained from ScummVM ID directly, not by converting Sierra's internal ID
- Moved the code which reads the internal Sierra ID inside the resource manager
- Moved the code which converts the internal Sierra ID to ScummVM's IDs together with the rest of the detection code
svn-id: r49152
2010-05-23 10:28:03 +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
Martin Kiewitz
4119fdb9a9
SCI: adding speed throttler special case for iceman / submarine control room
...
svn-id: r49056
2010-05-17 09:32:16 +00:00
Max Horn
2e68de1e5a
SCI: Turn kernel_sleep() into SciEvent::sleep()
...
svn-id: r48119
2010-02-23 22:47:53 +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
1e67b56eee
SCI: Revert r47925 and put fix inside GC instead.
...
svn-id: r47940
2010-02-06 19:41:55 +00:00
Walter van Niftrik
38b0a148e6
SCI: Don't call garbage collector directly from kFlushResources() as this is no longer safe.
...
svn-id: r47925
2010-02-06 04:13:00 +00:00
Matthew Hoops
c72c2ff711
kPlatform(0) should return the SCI platform number. Fixes playing AVI's in KQ7 Windows. Also, adding/updating detection entries for KQ7 Windows.
...
svn-id: r47791
2010-02-01 04:14:16 +00:00
Walter van Niftrik
a92bb6193b
SCI: Implement kMemorySegment().
...
svn-id: r47776
2010-01-31 19:47:54 +00:00
Walter van Niftrik
473d8b7c2f
SCI: Add string support for odd-offset pointers into reg_t-based segments.
...
svn-id: r47572
2010-01-26 19:51:08 +00:00
Johannes Schickel
aed02365ec
Strip trailing spaces/tabs.
...
svn-id: r47541
2010-01-25 01:39:44 +00:00
Eugene Sandulenko
fb178c0a62
Mark lsl3 as a workaround.
...
svn-id: r47347
2010-01-17 20:23:11 +00:00
Martin Kiewitz
35c2469c0b
SCI: speed throttler - hardcoded exception for room 290/lsl3, should fix pushup count later in the game
...
svn-id: r47346
2010-01-17 20:17:00 +00:00
Martin Kiewitz
3e44180e47
SCI: speed throttler changed, now gets triggered by kAnimate, removed initial no-delay, i'm still getting animation now in iceman and sq3, slow palette animation in longbow fixed
...
svn-id: r47343
2010-01-17 18:41:28 +00:00
Filippos Karapetis
84cd8d2dc7
Renamed /gui to /graphics and /sfx to /sound, to better illustrate their purpose
...
svn-id: r47007
2010-01-05 01:22:16 +00:00
Matthew Hoops
1f2c92076b
Fix the GK1 CD intro sequence (regression from r46839, which fixed a regression from r46656). kPlatform with no arguments is different in SCI32.
...
svn-id: r46874
2010-01-02 03:44:40 +00:00
Filippos Karapetis
763c59bd46
Fixed KQ5CD (regression from rev. 46656)
...
svn-id: r46839
2010-01-01 17:16:12 +00:00
Matthew Hoops
264bec306a
Implement kPlatform subfunctions 0 and 2, and stub 1 and 3 (CD speed and CD check). This fixes the DOS version of GK1 CD to play the SEQ's instead of the AVI's.
...
svn-id: r46656
2009-12-27 19:16:06 +00:00
Martin Kiewitz
a5f1808c83
SCI: SciEvent created, kernel_sleep() created
...
svn-id: r46252
2009-12-04 17:38:24 +00:00
Johannes Schickel
0867129399
Formatting.
...
svn-id: r45553
2009-10-30 23:44:12 +00:00
Filippos Karapetis
1c158c52a1
Cleaned up kPlatform() a bit, and changed it to return appropriate values for the CD hires version of KQ6
...
svn-id: r45551
2009-10-30 22:53:00 +00:00
Martin Kiewitz
fa627f4233
SCI: kGameIsRestarting - another change, setting back delay back to 30msecs, but no delay during initial 50 calls. This seems to make qfg2 and iceman happy.
...
svn-id: r45376
2009-10-25 20:12:12 +00:00
Martin Kiewitz
c0235a268d
SCI: kGameIsRestarting - changing speed throttler to 10 msecs, lsl5 is still "somewhat" playable, codename iceman and qfg2 didnt show some animations cause of the higher delay
...
svn-id: r45375
2009-10-25 20:03:10 +00:00
Martin Kiewitz
9c9181eed6
SCI: speed throttler moved to kGameIsRestarting for all games. Also made the delay shorter. sq3 now seems to work fine, kq1 also has animations and lsl5 mud wrestling is also working correctly.
...
svn-id: r45345
2009-10-23 11:25:48 +00:00
Martin Kiewitz
8e6291f7bb
SCI: kGameIsRestarting - implemented speed throttler in here for sci0/sci01 games, test only!
...
svn-id: r45342
2009-10-22 21:30:30 +00:00
Filippos Karapetis
d95ed75789
Removed the wrong code for kGetTime case 1 in some SCI0 games - that case has always remained the same in all SCI versions. Added a warning in case we got some other case than 0 or 1 in SCI0 games
...
svn-id: r44855
2009-10-09 23:15:54 +00:00
Max Horn
42120ed626
Introduce a new struct TimeDate, replacing struct tm in client code. May lead to compilation issues in ports, which should be trivial to fix, though
...
svn-id: r44793
2009-10-08 19:41:38 +00:00
Filippos Karapetis
c17495d895
- Fixed kGetTime() again
...
- Removed the odd way of calculating elapsed time in SciGui(). We got _system->getMillis() for that purpose
- Replaced the code in SciGui::wait() with the one in SciGui32::wait (which works fine, and is correct). The code in SciGui() was not polling for events while waiting, either
svn-id: r44712
2009-10-06 17:45:57 +00:00
Max Horn
db8c6e3f6c
SCI: Really remove sci/gui/gui.h include from engine/state.h
...
svn-id: r44644
2009-10-04 22:43:30 +00:00
Max Horn
6ad5840181
SCI: Rename EngineState::segMan to _segMan
...
svn-id: r44629
2009-10-04 18:38:18 +00:00
Willem Jan Palenstijn
b9cdb1abb7
SCI: Merge new GUI code written by m_kiewitz.
...
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-10-03 20:49:18 +00:00
Filippos Karapetis
30084d72a5
Added a new special reg_t, SIGNAL_REG, for signaling when an error occurs (usually), or to signal success in some special occasions
...
svn-id: r44505
2009-09-30 23:00:03 +00:00
Filippos Karapetis
f9296a6445
- Changed the unimplemented debug SCI kernel functions (InspectObj, 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-29 14:24:07 +00:00
Willem Jan Palenstijn
d3c1916384
SCI: Major string handling update.
...
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-27 01:50:26 +00:00
Filippos Karapetis
180b3f1247
Create a define for the special "signal" offset used throughout the engine, and fixed the arbitrary 0 values from commit #44294 , set when some math functions do invalid calculations
...
svn-id: r44359
2009-09-25 16:15:57 +00:00
Max Horn
4221773f6a
SCI: Pedantic cleanup
...
svn-id: r44356
2009-09-25 13:01:35 +00:00
Max Horn
5f440854b7
SCI: Add EngineState::_kernel member for convenience
...
svn-id: r44173
2009-09-17 17:00:36 +00:00
Max Horn
b2c386ed00
SCI: Move parts of struct ScriptState into a new struct DebugState
...
svn-id: r44151
2009-09-17 13:21:19 +00:00
Max Horn
10f898c90e
SCI: Rename MemObject -> SegmentObj
...
svn-id: r44130
2009-09-17 00:45:12 +00:00
Max Horn
b26f744e23
SCI: cleanup
...
svn-id: r44128
2009-09-16 23:55:11 +00:00
Filippos Karapetis
e1de3d0f3f
Removed some unused variables from the engine state
...
svn-id: r44099
2009-09-15 07:59:48 +00:00
Max Horn
bfe1538715
SCI: Misc cleanup
...
svn-id: r44093
2009-09-14 22:34:53 +00:00