346 Commits

Author SHA1 Message Date
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
Martin Kiewitz
3c97772d6e SCI: added workaround for kq1 kDoSound(fade)
gets called with object 0:0 in several scenes, just ignore that call

svn-id: r51059
2010-07-20 11:29:56 +00:00
Martin Kiewitz
a24de29358 SCI: renaming kDoSound(resume) to resumeAfterRestore
kDoSound(resumeAfterRestore) is called right after restoring a saved game for sound-sci0 games, we already resume playing music inside restore, so we don't need to implement this at all

svn-id: r51058
2010-07-20 11:17:33 +00:00
Martin Kiewitz
8ea7eec267 SCI: lsl6 workaround switched on for all rooms
lsl6 workaround also happens later, so we switch it to all rooms

svn-id: r51026
2010-07-19 13:05:41 +00:00
Martin Kiewitz
6bebc0df45 SCI: fixing signature for kDoSound(setReverb)
fixes lsl5 signature mismatch, signature was wrong

svn-id: r51020
2010-07-19 08:17:09 +00:00
David Turner
efbac08e6b SCI : Corrected valgrind error on engine exit
svn-id: r51011
2010-07-18 22:11:22 +00:00
Matthew Hoops
2127da538d SCI: Add Mac signature for kTextSize which can have an extra integer parameter.
svn-id: r51004
2010-07-18 18:38:49 +00:00
Martin Kiewitz
4595b8818a SCI: adding room numbers to all workarounds
svn-id: r50990
2010-07-18 13:08:47 +00:00
Martin Kiewitz
723f15c084 SCI: removing kSetPort 4 argument support from r44938, which was wrong - adding workaround for lsl6 ending - fixes lsl6 ending
svn-id: r50967
2010-07-17 19:52:19 +00:00
Martin Kiewitz
3ceb02f08a SCI: adding signatures for 4-parameter variant of kDoSound(sendMidi), needs to get figured out how this works - fixes signature mismatch in lsl1
svn-id: r50937
2010-07-16 13:37:19 +00:00
Martin Kiewitz
7c210829dd SCI: removing #ifdef ENABLE_SCI32 from one single line (just a waste) and adding it to kDoSound (SCI2.1)
svn-id: r50897
2010-07-14 22:19:05 +00:00
Martin Kiewitz
3195ab099a SCI: added signatures for kFileIO, some changes to actual kFileIO code, removed some CHECKMEs/TODOs
svn-id: r50896
2010-07-14 22:07:36 +00:00
Martin Kiewitz
ede8fead94 SCI: changing kList(18) into StubNull, so that torin demo works a little more till we figure out what's supposed to be in there
svn-id: r50880
2010-07-14 11:41:24 +00:00
Martin Kiewitz
76f6449431 SCI: changing signature of kDoSound(play) in SCI2.1 to "o(i)" now, because qfg4 still uses "oi" calling
svn-id: r50879
2010-07-14 11:34:44 +00:00
Martin Kiewitz
539d10ea11 SCI: adding sound version 2.1, to properly add sci2.1 signature for kDoSound(play)
svn-id: r50878
2010-07-14 11:29:55 +00:00
Martin Kiewitz
b1f2ea64a7 SCI: replacing some tabs with spaces
svn-id: r50877
2010-07-14 11:10:33 +00:00
Martin Kiewitz
ef0119498b SCI: changing SIG_SCI2 back to SIG_SCI32, because all those signatures are meant for SCI2+, not SCI2 only. Changing SIG_SCI21 to only mean SCI2.1 instead of SCI2.1+, making main signature and mapping of kList exclusive to SCI2.1
svn-id: r50876
2010-07-14 10:45:42 +00:00
Martin Kiewitz
1ec55288c6 SCI: replacing fixme with todo
svn-id: r50875
2010-07-14 09:04:41 +00:00
Martin Kiewitz
646ea5828c SCI: moving hack signature for kDoSound(play) to SCI1LATE only, adding comment about this and changing signature for SCI1EARLY back to what it was.
svn-id: r50874
2010-07-14 09:00:44 +00:00
Filippos Karapetis
1ae8d1689d Oops... whitespace/layout again (I'm tired...)
svn-id: r50867
2010-07-14 02:36:49 +00:00
Filippos Karapetis
eb617f02db Whitespace/layout
svn-id: r50866
2010-07-14 02:34:14 +00:00
Filippos Karapetis
ab36bdfd00 SCI: Fixed script bug (invalid call to kStrCpy) in Island of Dr. Brain, room 260 (Hominy Homonym puzzle)
svn-id: r50865
2010-07-14 02:28:17 +00:00
Filippos Karapetis
2bfee401d2 SCI:
- Split SCI2 from SCI2.1 signature checks
- Added signature checking for the subops of the SCI2.1 kernel call kList
- Added support for calls to kAddToFront and kAddToEnd with 3 parameters (unimplemented code uncovered by the signature checks)
- Added a FIXME for a potential incorrect subop (uncovered by the signature checks), which might be related to the crashes in the demo of Torin's Passage

svn-id: r50861
2010-07-14 00:57:48 +00:00
Filippos Karapetis
28fca2dba3 Fixed the signature check for DoSound (play) for SCI2.1 games, so that they start again
svn-id: r50857
2010-07-13 23:46:17 +00:00
Martin Kiewitz
44626efdce SCI: removing old kernel signature stuff
svn-id: r50848
2010-07-13 18:11:50 +00:00