Commit graph

76 commits

Author SHA1 Message Date
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
Max Horn
8ac3db0801 SCI: Rename SegManager::kernelDeref*() methods to SegManager::deref*()
svn-id: r44083
2009-09-14 13:27:09 +00:00
Max Horn
0e834d0b87 SCI: kernelDeref*() functions are now seSegmentManager methods
svn-id: r44082
2009-09-14 13:13:20 +00:00
Filippos Karapetis
1bbab8f191 Some renaming:
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan

svn-id: r43908
2009-09-02 12:02:37 +00:00
Max Horn
b391f08b46 SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefString
svn-id: r43907
2009-09-02 11:38:16 +00:00
Max Horn
0c7093e05c SCI:
* removed kNOP
* renamed k_Unknown to kUnknown
* added FIXME to kfunct_mappers table
* more cleanup

svn-id: r43906
2009-09-02 11:35:00 +00:00
Max Horn
6c44eafa97 SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be removed eventually)
svn-id: r43905
2009-09-02 11:33:25 +00:00
Matthew Hoops
3687544fbb Adding support for AVI in SCI games (such as kq6) and implement kPlatform.
svn-id: r43834
2009-08-30 19:47:47 +00:00
Filippos Karapetis
ac025f4294 - Replaced more cases of EngineState parameters
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro

svn-id: r43729
2009-08-25 15:14:29 +00:00
Filippos Karapetis
ed66cad677 - Simplified the parameters of some functions
- 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-25 08:38:14 +00:00
Walter van Niftrik
a7ab084ecf SCI: Fix for the "Memory fragmented" dialogs popping up in some games.
svn-id: r43572
2009-08-20 21:18:52 +00:00
Walter van Niftrik
867b1c2b4d SCI: Fix warnings.
svn-id: r43218
2009-08-10 18:43:15 +00:00