Commit Graph
96 Commits
Author SHA1 Message Date
Max Horn 8ae9774a00 SCI: Turn more warnings into errors.
If one of these is triggered for you, you can add an exception to
the error, together with a comment explaining why this exception
is necessary. Ideally after verifying that the cause is a script
bug and not a bug in our code...

svn-id: r50442
2010-06-28 12:29:06 +00:00
Max Horn 6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +00:00
Filippos Karapetis 6d1f2d1d26 Fixed memory fragmentation warnings in Crazy Nick's games
svn-id: r50188
2010-06-23 17:30:18 +00:00
Max Horn bb528d894c SCI: Rewrap some overlong comments
svn-id: r50012
2010-06-18 09:37:06 +00:00
Max Horn 359be0c066 SCI: Change SciEngine's 'char *getGameID()' to 'Common::String getGameId()'
svn-id: r49968
2010-06-17 23:14:34 +00:00
Max Horn 8e07a1e167 SCI: Moved the event code a little bit around.
* Move sleep() from EventManager to SciEngine
* Rename EventManager methods: get -> getSciEvent, and
  getFromScummVM -> getScummVMEvent
* Make scancode_rows static const
* Turn altify & numlockify from EventManager methods into static
  functions (and comment out the currently unused numlockify)

svn-id: r49959
2010-06-17 23:10:37 +00:00
Martin Kiewitz b25aba1d1e SCI: SciGui/SciGui32 gone for good...
svn-id: r49860
2010-06-15 15:44:24 +00:00
Filippos Karapetis 377cfe6fef Added a new kernel function, kEmpty, for really empty (not dummy, i.e. unimplemented) functions
svn-id: r49591
2010-06-11 07:47:57 +00:00
Filippos Karapetis 711f679b7f camelCase changes
svn-id: r49570
2010-06-10 11:43:20 +00:00
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