370 Commits

Author SHA1 Message Date
Martin Kiewitz
0b5a09f836 SCI32: fix kString calling from within kArray
(didn't work since the introduction of kString signatures and the
kString split-up)
2016-01-04 14:58:02 +01:00
Martin Kiewitz
0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
2015-12-29 01:44:11 +01:00
Martin Kiewitz
7f9f305111 SCI: improve debug output for signature mismatch
dump parameter list to debugger as well
2015-03-20 16:06:19 +01:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Martin Kiewitz
ba3656d84e SCI: fix script patcher for games w/o vocab 2013-11-21 22:41:07 +01:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Matthew Hoops
ee86e671f1 SCI: Fix Phantasmagoria Mac's kDoSound 2013-04-28 13:43:17 -04:00
Matthew Hoops
81f5a89093 SCI: Fix SCI32 BE selector name count 2013-04-26 21:31:32 -04:00
Filippos Karapetis
a0ad504059 SCI: Update some kernel table related comments 2012-07-04 01:06:58 +03:00
Filippos Karapetis
72c59baf24 SCI: Merge and simplify the code that sets the kernel functions 2012-07-04 01:02:15 +03:00
Filippos Karapetis
2b50824133 SCI: Add setter/getter methods to reg_t's
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
2012-06-18 05:24:06 +03:00
Filippos Karapetis
041b1447c0 SCI: Replace RAW_IS_OBJECT with a method 2012-06-15 22:32:15 +03:00
Filippos Karapetis
160732b2f7 Revert "SCI: Change Script::getObject() to accept a reg_t"
This reverts commit 577d7e41c9ca2c498dc85e41c373fbdca8d2ed41.
2012-06-15 22:32:14 +03:00
Filippos Karapetis
577d7e41c9 SCI: Change Script::getObject() to accept a reg_t
This is needed for upcoming changes to the Script class
2012-06-15 12:24:14 +03:00
Willem Jan Palenstijn
0192d2f2de SCI: Fix restarting SCI engine with different SCI version 2011-11-29 18:34:34 +01:00
Willem Jan Palenstijn
097b4e5c7a SCI: Add RtL FIXME 2011-11-29 16:11:33 +01:00
Filippos Karapetis
701e318360 SCI: Set the correct number of kernel functions for SCI3 2011-10-18 02:36:59 +03:00
Filippos Karapetis
b807041ad2 SCI: Ignore invalid pointers if the kernel function signature specifies it
SCI scripts can send stale pointers to kernel functions (e.g. after
loading a saved game). This is normal in some cases (such as kDisplay
and kGraphRestoreBox), and their signatures are set to allow invalid
pointers.
Thus, in such cases, allow invalid pointers, as the kernel functions
will handle them themselves. Fixes bug #3412002, and properly fixes bugs
#3389579, #3292251, #3308087 and #3056811. Removed a relevant TODO.
2011-09-22 04:18:13 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops
758e495872 SCI: Add support for the KQ5 FM Towns resource format
Thanks to alexbevi for providing details on the format
2011-02-16 14:24:38 -05:00
Matthew Hoops
53d862af0b SCI: Add support for BE selector name tables
svn-id: r55780
2011-02-05 08:16:29 +00:00
Filippos Karapetis
da52b3a267 SCI2.1: Added a comment with the SCI2.1 games using a SCI2 kernel
svn-id: r55176
2011-01-08 23:14:11 +00:00
Filippos Karapetis
32d7e687ee SCI: debugC calls no longer require a debug level of 2 to show output
svn-id: r55086
2011-01-01 12:48:12 +00:00
Filippos Karapetis
de2ef2edc0 SCI: Removed the system strings code and replaced it with a much more simplified version, thus greatly simplifying handling of system strings
svn-id: r54805
2010-12-07 00:47:05 +00:00
Filippos Karapetis
49468fdfff SCI3: Added another previously unused opcode (0x27 / 0x4e)
svn-id: r54341
2010-11-18 19:20:30 +00:00
Lars Skovlund
8a6efcac65 SCI3: Implement opcode to retrieve the info selector.
svn-id: r54303
2010-11-17 20:43:51 +00:00
Filippos Karapetis
cc403e542d SCI: Don't check for SCI2/SCI2.1 kernel types in SCI3 games.
Patch by lskovlun

svn-id: r54216
2010-11-12 00:01:13 +00:00
Max Horn
ba3e826872 SCI: Remove any use of printf
svn-id: r54037
2010-11-02 09:49:47 +00:00
Max Horn
e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Filippos Karapetis
3d85d6804b SCI: Added a new debug command, "find_callk"
This command can be used to find the object methods (including their
corresponding objects and owner scripts) that call a specific kernel
call. This shall aid us track all the spots where a particular kernel
function is called from, therefore it'll be a bit easier to find
examples where unimplemented kernel functions are called

svn-id: r53646
2010-10-20 17:31:29 +00:00
Filippos Karapetis
8a93da0516 SCI: Updated comment concerning kCantBeHere and removed a wrong check for Hoyle 3
svn-id: r52523
2010-09-04 14:46:29 +00:00
Matthew Hoops
642b03fb44 SCI: Add kDisplay workarounds for the Hero's Quest demo
svn-id: r51742
2010-08-04 17:50:09 +00:00
Martin Kiewitz
fcede4680a SCI: adding bpk debug command
currently removing or listing such breakpoints is not yet supported

svn-id: r51710
2010-08-03 19:06:40 +00:00
Martin Kiewitz
a1001731fa SCI: fixing leak kernel subfunctions
svn-id: r51665
2010-08-02 22:12:45 +00:00
Johannes Schickel
4423ad9333 SCI: Cleanup.
svn-id: r51584
2010-08-01 17:59:14 +00:00
Martin Kiewitz
f3851674f3 SCI: changing noname selector names
removing space from previous name

svn-id: r51582
2010-08-01 17:51:21 +00:00
Martin Kiewitz
2c9d30290e SCI: fixing hoyle 3
hoyle 3 is using kCanBeHere, but it has cantBeHere and canBeHere selectors so our auto detection would fail
it also has a cantBeHere stub in Actor, thus it won't set acc at all. We reset acc because of that before calling cantBeHere selector (!) of the actors (canBeHere isnt used) so that we wont get a collision otherwise because acc is non zero when calling kDoBresen (fixes all sorts of bugs, clone2727 should clean it up :P

svn-id: r51485
2010-07-29 22:52:48 +00:00
Martin Kiewitz
4101d40957 SCI: finished logkernel command
use 'logkernel DoSound' on to log calls to all kDoSound subfunctions. use 'logkernel DoSoundPlay' to log calls to kDoSound(play)

svn-id: r51483
2010-07-29 21:33:42 +00:00
Martin Kiewitz
1c24f2ca8f SCI: midi hold behaviour fixed
we shouldnt react on hold midi data when no actual hold was called, fixes eq2/amulet problem (bug #3035392)

svn-id: r51482
2010-07-29 21:12:16 +00:00
Martin Kiewitz
41ed8b4389 SCI: some subfunction support for logkernel
svn-id: r51475
2010-07-29 17:22:38 +00:00
Matthew Hoops
828434456f SCI: Better fix for bug #3035058 - ECOQUEST demo: Missing subtitles
The demo really uses kGetMessage and not kMessage. We now detect which version of the message function is used. Thanks to Walter for pointing this out.

svn-id: r51384
2010-07-27 19:07:39 +00:00
Martin Kiewitz
b984d9afc0 SCI: logkernel changes
removing old manual debug code, use logkernel * on/off to log all calls

svn-id: r51222
2010-07-23 20:59:27 +00:00
Martin Kiewitz
3a45e47c5c SCI: adding new debug command logkernel
svn-id: r51220
2010-07-23 20:47:15 +00:00
Filippos Karapetis
2ed45d3719 SCI: Moved all the static kernel-related tables in a separate file. Also, moved kStub, kStubNull and kDummy inside kmisc.cpp, together with the other misc kernel calls
svn-id: r51089
2010-07-21 14:50:31 +00:00
Filippos Karapetis
3184aac398 SCI: Moved all the workaround tables in a separate file, to keep them apart from the actual code
svn-id: r51088
2010-07-21 14:18:26 +00:00
Martin Kiewitz
2a47f573dd SCI: some sci32 fixes
kOnMe, kLocal2Global, kGlobal2Local now hires capable, hotspots seem to work in lsl6 and sq6, although pressing on start in sq6 doesn't work yet, you need to click on the rightmost/bottom area

svn-id: r51074
2010-07-20 21:22:39 +00:00
Martin Kiewitz
a0ce89d2e9 SCI: clean up workaround tables/code
svn-id: r51068
2010-07-20 17:58:04 +00:00
Martin Kiewitz
90d45aaa7d SCI: adding workaround for sq1 in bar
kGraph(drawLine) gets called sometimes with additional parameter

svn-id: r51065
2010-07-20 14:53:55 +00:00
Martin Kiewitz
ef69fb1af5 SCI: adding uninit workarounds for cnick games
longbow and king's quest
KQ has the same issues as hoyle 3

svn-id: r51063
2010-07-20 14:27:30 +00:00
Martin Kiewitz
0b3f816c8b SCI: change the workaround-types
0 is now don't call
1 is do call
2 is don't call and fake acc

makes more sense

svn-id: r51060
2010-07-20 11:45:06 +00:00