Commit Graph
87 Commits
Author SHA1 Message Date
Filippos Karapetis 3490819a66 - Removed debug_mode from the engine state
- Turned all SCIkwarn and SCIkdebug functions to ScummVM's debugC function
- Placed some debug code in appropriate defines: DEBUG_PARSER, DEBUG_AVOIDPATH and DEBUG_SOUND
- Removed the "debuglog" command and the "script_checkloads_flag" and "sci_debug_flags" variables

svn-id: r41033
2009-05-30 15:40:49 +00:00
Max Horn 813853ccc2 SCI: Converted several fprintf(stderr) calls to warning/error (the remaining fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations)
svn-id: r40993
2009-05-29 13:07:14 +00:00
Willem Jan Palenstijn 67fa1fb59c SCI: Fix potential dangling pointer more robustly,
by changing the executionStack implementation to a list.

svn-id: r40971
2009-05-28 22:42:18 +00:00
Max Horn 99b520dd09 SCI: Merged SfxPlayer/NewPlayer code into sfx/core.cpp
svn-id: r40965
2009-05-28 22:02:45 +00:00
Willem Jan Palenstijn 7d5bbd7f71 SCI: Fix potential dangling pointer after reallocation
svn-id: r40963
2009-05-28 19:18:29 +00:00
Filippos Karapetis 4799cbf1c3 Removed the PREG, PSTK, IS_NULL_REG and REG_EQ defines
svn-id: r40767
2009-05-21 17:18:46 +00:00
Walter van Niftrik a1364e37f7 SCI: Some debugger fixes and cleanup.
svn-id: r40732
2009-05-19 20:40:21 +00:00
Max Horn 8add60bf8c SCI: Cleanup/paranoia checks
svn-id: r40711
2009-05-19 00:02:10 +00:00
Max Horn b0c1cf52e0 SCI: Got rid of EngineState::execution_stack_pos; overally, the resulting code should be even stricter in detecting invalid VM stack access (and some bugs when loading saves might be fixed now...)
svn-id: r40694
2009-05-18 18:15:45 +00:00
Max Horn fc9096ba1d SCI: Replaced SegManager::getHeap() by Script::getHeap()
svn-id: r40683
2009-05-18 12:34:03 +00:00
Walter van Niftrik 7c5fbf83f5 SCI: LSL6 invalid selector workaround is now always active, not just at
startup. Added support for mirrored pic drawing.

svn-id: r40648
2009-05-17 13:37:54 +00:00
Walter van Niftrik 7f5bd2447e SCI: Allow the VM to continue when the invalid selector access occurs at the start of LSL6.
svn-id: r40627
2009-05-16 12:46:59 +00:00
Filippos Karapetis 87e8f94fde - Moved all the files out of /sci/scicore and into /sci
- Moved /scicore/sciconsole.h into /engine, and renamed /engine/scriptconsole.cpp to /engine/sciconsole.cpp

svn-id: r40608
2009-05-15 14:07:45 +00:00
Max Horn 9c44705f05 SCI: Got rid of SEG_ID/SCRIPT_ID
svn-id: r40599
2009-05-15 09:28:31 +00:00
Max Horn 8f0b776afb SCI: Added SegManager::getScriptIfLoaded() method
svn-id: r40598
2009-05-15 09:27:39 +00:00
Max Horn 75c0d719c9 SCI: Turned several script related SegManager methods into Script methods
svn-id: r40597
2009-05-15 09:27:07 +00:00
Filippos Karapetis 565cfa074d Simplified SCI versions to be SCI version generations, and fixed some game entries in the process. Also, added a sanity check for invalid game entries
svn-id: r40596
2009-05-15 09:04:21 +00:00
Max Horn cd063606a0 SCI: Changed sci_obj_* enum value names to uppercase, in accordance with our code formatting conventions
svn-id: r40578
2009-05-14 23:09:30 +00:00
Max Horn a3efc5611c Fixed various GCC 4.2 warnings, among them an actual longstanding bug (3 years :) in the quicktime midi code
svn-id: r40577
2009-05-14 23:09:04 +00:00
Filippos Karapetis 4a9e7e4393 Replaced the SCI_VERSION_FTU_DOSOUND_VARIANT_2 version check with the game feature flag GF_SCI1_NEWDOSOUND
svn-id: r40561
2009-05-14 13:51:42 +00:00
Filippos Karapetis f75c950457 - Replaced SCI_VERSION_FTU_LOFS_ABSOLUTE with the GF_SCI1_LOFSABSOLUTE game flag
- Moved the version defines outside of versions.h

svn-id: r40559
2009-05-14 12:38:50 +00:00
Filippos Karapetis 999d46b241 Started using game-specific flags and removed/replaced some SCI version checks with flags.
- The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag
- The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag
- Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag
- Removed the leftover min_version and max_version variables from gamestate
- Cleaned up kGetTime() a bit

svn-id: r40552
2009-05-14 09:12:27 +00:00
Filippos Karapetis e940bcff23 - Simplified SCI version detection a bit and clarified the different version feature flags (not used yet)
- Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these)
- Removed the empty GameFlags structure and replaced it with a 32-bit integer instead

svn-id: r40524
2009-05-13 16:52:41 +00:00
Max Horn 7f29670843 SCI: Changed object / script local vars storage to use a Common::Array
svn-id: r40515
2009-05-12 23:30:42 +00:00
Max Horn 5481806635 SCI: Hook FreeSCI console commands into the ScummVM console (incomplete as of now, because printf output is not yet redirect to the GUI console)
svn-id: r40459
2009-05-11 18:02:48 +00:00
Max Horn 1949133d22 SCI: Simplified the Table class, by making it use an Common::Array internally. Increased savegame version, breaking compatibility to the previous one -- sorry for that, but some of my previous changes accidentally messed up the table syncing, resulting in messed up savegames anyway; these breakages should be fixed with this commit
svn-id: r40453
2009-05-11 13:32:00 +00:00
Max Horn 019f87fd1b SCI: Changed object list in Script instances to use Common:::Array
svn-id: r40431
2009-05-10 19:17:51 +00:00
Max Horn 8d2f80fd51 SCI: Added operator== and !=, as well as an isNull method to reg_t
svn-id: r40356
2009-05-06 11:07:04 +00:00
Max Horn a41069d69b SCI: Started adding methods to MemObject subclasses: constructors, destructors, dereference() (and currently commented out refs to Common::Serializable
svn-id: r40295
2009-05-03 22:47:04 +00:00
Max Horn 82f2672008 SCI: Changed SegManager to store the heap pointers in a Common::Arrray
svn-id: r40293
2009-05-03 22:46:11 +00:00
Max Horn 5e955ea045 SCI: Continue transition from MemObject to MemObjectNEW
svn-id: r40274
2009-05-03 11:07:07 +00:00
Max Horn 50c8821072 SCI: Renamed MemObject::type and ::segmgr_id to _type resp. _segmgrId, and added accessor methods getType() and getSegMgrId()
svn-id: r40271
2009-05-03 09:30:33 +00:00
Max Horn d695c24b9b SCI: Changed various params of type MemObject* to the more specific type Script&
svn-id: r40269
2009-05-03 09:21:08 +00:00
Max Horn 58ee0314ae SCI: Added SegManager::getScript method and modified code to make use of it; moved VERIFY from seg_manager.h to seg_manager.cpp
svn-id: r40268
2009-05-03 09:20:21 +00:00
Max Horn ed914d6740 SCI: Improved the Table template a bit by taking advantage of C++ features
svn-id: r40190
2009-04-28 22:56:44 +00:00
Max Horn 294bd0dc07 SCI: Renamed execution_stack -> _executionStack and turned it into a Common::Array
svn-id: r40182
2009-04-28 15:58:19 +00:00
Max Horn b5e9d79e15 SCI: Turned classtable into a Common::Array<Class>
svn-id: r40161
2009-04-27 12:31:27 +00:00
Max Horn 3af8918e1a SCI: Changed kfunct_table to a Common::Array
svn-id: r40080
2009-04-22 17:54:11 +00:00
Max Horn 5325f9b76e SCI: Renamed global array 'formats' to the slightly more descriptive g_opcode_formats
svn-id: r40031
2009-04-20 19:28:33 +00:00
Max Horn 57f367acb5 SCI: Renamed bp_flag -> breakpointFlag; replaced global send_calls_allocated & send_calls vars by a local Common::Stack instance
svn-id: r39930
2009-04-11 09:58:30 +00:00
Max Horn b76f7fea4e SCI: Changed some char* into Common::String
svn-id: r39663
2009-03-24 12:46:48 +00:00
Max Horn 6a2efdd36d SCI: cleanup
svn-id: r39353
2009-03-12 03:26:58 +00:00
Max Horn 642bad22d8 SCI: Removed most uses of the 'inline' keyword. It is usually better to let the compiler figure out what to inline. As it is, most of these looked as if they were randomly placed ;)
svn-id: r39352
2009-03-12 03:26:47 +00:00
Filippos Karapetis 1e29983d8e Replaced getInt16, getUInt16 and putInt16
svn-id: r39189
2009-03-07 16:14:20 +00:00
Max Horn 25e7d3a08d SCI: Renamed some sfx header files
svn-id: r39006
2009-03-01 06:02:17 +00:00
Jordi Vilalta Prat 7050c7b03f SCI: Use the ResourceType enum instead of integers where it makes sense
svn-id: r38988
2009-02-28 23:46:50 +00:00
Greg Frieger 61ab59138a resource_t struct replaced with stub Resource class for future objectifying. Also the crash when exiting SCI1 games was fixed
svn-id: r38982
2009-02-28 21:59:49 +00:00
Greg Frieger 4dd1b7dad5 Turned ResourceManager into a class, along with all related functions
svn-id: r38978
2009-02-28 20:45:36 +00:00
Andre Heider b2cd5beb9e clean up some warnings
svn-id: r38965
2009-02-28 13:41:43 +00:00
Jordi Vilalta Prat 501e4bb91a SCI: Renamed some kernel types and general cleanup
svn-id: r38961
2009-02-28 11:12:59 +00:00