Commit graph

244 commits

Author SHA1 Message Date
Filippos Karapetis
76bd1b7c0e Removed the sci_max_allowed_unknown_kernel_functions array
svn-id: r41094
2009-06-01 07:06:04 +00:00
Filippos Karapetis
e55388c787 Removed script_error_flag and script_debug_flag, which were used to error out if something went wrong and open the debugger console. Changed all the places where they were used to error() out instead, as ScummVM's debugger console can open on error()
svn-id: r41073
2009-05-31 15:34:23 +00:00
Max Horn
cf68dc1a7b SCI: Renamed some Vocabulary methods for clarity; also renamed decypherSaidBlock -> decipherSaidBlock; some cleanup in Console::cmdSentenceFragments
svn-id: r41072
2009-05-31 15:08:47 +00:00
Filippos Karapetis
4441ca4b3e - Further objectification of the SCI vocabulary functions
- Rewrote the sci_opcodes enum so that it's easier to read
- Made the engine error out if data is sent to an invalid selector (which is a fatal condition)

svn-id: r41069
2009-05-31 14:55:32 +00:00
Filippos Karapetis
e317012cce Further objectification of the SCI vocabulary functions. Removed the "kernel_words" console command, as it's exactly the same as "parser_words"
svn-id: r41065
2009-05-31 12:05:49 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Filippos Karapetis
76406c35ec Started objectifying the vocabulary functions (WIP)
svn-id: r41051
2009-05-30 22:15:00 +00:00
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
Max Horn
32975b25f4 SCI: cleanup
svn-id: r40959
2009-05-28 11:15:09 +00:00
Walter van Niftrik
fd191a4920 SCI: Changed signatures of StrLen and StrCpy to allow NULL pointers. This is
needed for a game bug in KQ6CD.

svn-id: r40930
2009-05-26 23:34:57 +00:00
Max Horn
c96cf97ea7 SCI: Merged vocab_debug.cpp into vocabulary.cpp; cleanup
svn-id: r40915
2009-05-26 14:44:14 +00:00
Max Horn
7d5f3e1714 Turned some static tables into static const tables; added some FIXME comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines)
svn-id: r40908
2009-05-26 11:30:21 +00:00
Walter van Niftrik
de5ca1e472 SCI: Some small fixes for KQ6CD.
svn-id: r40898
2009-05-26 00:03:41 +00:00
Walter van Niftrik
5e68c1f4a0 SCI: Force movie palettes (KQ6).
svn-id: r40883
2009-05-25 11:14:42 +00:00
Filippos Karapetis
39f9894ee5 Added a stub for SetVideoMode(), and fixed some of the palette glitches in the intro of KQ6 thanks to some comments by waltervn. Also, commented out the bounds rect in gfxr_pic_t, as it's currently unused
svn-id: r40808
2009-05-23 13:26:45 +00:00
Walter van Niftrik
36fe37443d SCI: Added support for KQ6 movies.
svn-id: r40774
2009-05-21 22:03:23 +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
Max Horn
4f55f1e730 SCI: Moved code related to loading/setting up kernel function names from vocab_debug.cpp to engine/kernel.cpp
svn-id: r40741
2009-05-20 17:52:49 +00:00
Max Horn
7d54385dea SCI: Moved some private decls from kernel.h to kernel.cpp; removed pointless (and incorrect) fallback code in k_Unknown
svn-id: r40739
2009-05-20 17:52:12 +00:00
Max Horn
f5f48fff3a SCI: Moved the few kernel functions that were in kernel.cpp to a new file kmisc.cpp
svn-id: r40738
2009-05-20 17:51:55 +00:00
Walter van Niftrik
df3357159c SCI: Added some stubs for LSL6CD (lores).
svn-id: r40719
2009-05-19 02:10:58 +00:00
Max Horn
a652e1ae3d SCI: Added FIXME
svn-id: r40695
2009-05-18 18:16:01 +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
790e235ae1 SCI: Removed ENTRY_IS_VALID macro
svn-id: r40690
2009-05-18 15:07:31 +00:00
Filippos Karapetis
1239949ef2 Changed errors to be fatal, as most of them are fatal conditions. Some of them have been changed to warnings for now, as they occur in certain games (e.g. SQ4 floppy, SQ4 CD and KQ5 CD)
svn-id: r40675
2009-05-18 07:55:13 +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
Filippos Karapetis
891a8fae05 - Removed SCI_VERSION_FTU_NEW_GETTIME
- Added defines for SCI0 flags, to simplify game entries
- Removed the leftover version_lock_flag from EngineState

svn-id: r40553
2009-05-14 10:24:39 +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
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
0255cd0213 SCI: Removed sci_memory.h/.cpp
svn-id: r40514
2009-05-12 23:30:10 +00:00
Walter van Niftrik
c299dbeb26 SCI: Merged Message() and GetMessage(). Set SCI1.1 to use SCI1 kernel table (for now).
svn-id: r40481
2009-05-12 12:31:09 +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
Walter van Niftrik
be7acea217 SCI: Set signature for GetMessage.
svn-id: r40396
2009-05-08 23:10:25 +00:00
Max Horn
b49dd22173 SCI: Renamed dstack_t -> DataStack; removed obsolete KF_OLD constant
svn-id: r40374
2009-05-08 09:53:31 +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
d960c1e2a5 SCI: Completed transition from MemObject (a union of various structs) to MemObjectNEW (a baseclass for these structs)
svn-id: r40294
2009-05-03 22:46:38 +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
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
Filippos Karapetis
f1893d8f25 WIP (still non-working) code for speech sync in CD talkie games (like e.g. KQ5 CD and SQ4 CD), taken from Greg's SCI implementation.
svn-id: r40142
2009-04-25 08:50:42 +00:00
Walter van Niftrik
d7180316dd SCI: Fix sci_max_allowed_unknown_kernel_functions[], it was missing an entry.
svn-id: r40118
2009-04-24 15:13:04 +00:00
Walter van Niftrik
db8b3cef61 SCI: Fix signature of kPalette().
svn-id: r40117
2009-04-24 14:50:01 +00:00
Filippos Karapetis
001699becb Removed a FIXME concerning CanBeHere and CantBeHere and added an explanation. Also, removed some unused code.
svn-id: r40094
2009-04-23 19:11:01 +00:00
Filippos Karapetis
bd2c2b0e50 WIP code for kGetMessage (tested with Eco Quest 1). Currently, it doesn't always work for some reason...
svn-id: r40092
2009-04-23 18:17:35 +00:00
Max Horn
3774b9cd0c SCI: Slim down struct SciKernelFunction
svn-id: r40081
2009-04-22 17:54:30 +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
b1e43f3ca0 SCI: Changed knames (kernel function name table) to Common::StringList
svn-id: r40078
2009-04-22 17:53:29 +00:00