Filippos Karapetis
c40b9801df
SCI: Silenced warning when exiting in LSL6 (bug report #3035533 ), and commented out a related unused variable in kSetQuitStr
...
svn-id: r51456
2010-07-29 07:58:48 +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
Matthew Hoops
cf26b88e54
SCI: Fix bug #3035058 - ECOQUEST demo: Missing subtitles
...
The demo uses a special version of kMessage to get its messages.
svn-id: r51376
2010-07-27 15:45:21 +00:00
Filippos Karapetis
9862f3fe24
SCI: Moved the SCI32 kernel functions out of kernel32.cpp and into their respective files
...
svn-id: r51108
2010-07-21 21:18:21 +00:00
Willem Jan Palenstijn
a03afd1898
SCI: Make kStrAt clear segment when writing characters
...
This is necessary since the uninitialized value detection from r50211,
and is analogous to seg_manager.cpp's setChar.
(Triggered in LSL3 age verification.)
svn-id: r50234
2010-06-24 21:09:38 +00:00
Martin Kiewitz
05e2bbcc33
SCI: dont display string set by kSetQuitStr
...
svn-id: r50090
2010-06-20 18:22:49 +00:00
Max Horn
bb528d894c
SCI: Rewrap some overlong comments
...
svn-id: r50012
2010-06-18 09:37:06 +00:00
Martin Kiewitz
753fdd6c12
SCI: break on anything, warn on anything but spaces in kReadNumber
...
svn-id: r49355
2010-05-31 13:52:07 +00:00
Martin Kiewitz
a963917e89
SCI: added TODO at kReadNumber space code
...
svn-id: r49348
2010-05-31 12:11:42 +00:00
Martin Kiewitz
9d50dac101
SCI: skip spaces in kReadNumber - this happens in lsl3 intro
...
svn-id: r49345
2010-05-31 09:31:05 +00:00
Martin Kiewitz
7001d3e615
SCI: when getting invalid chars in kReadNumber don't error() out, but create a warning - we get invalid chars in the intro of lsl5, cause currently unknown
...
svn-id: r49344
2010-05-31 09:21:15 +00:00
Filippos Karapetis
67de5b1bd3
Mass renaming of selector-related functions, and removed some defines which were just cloaking functions with a different name
...
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase
svn-id: r49317
2010-05-29 23:37:15 +00:00
Martin Kiewitz
d35121fc61
SCI: fixing kReadNumber to behave like in sierra sci (non standard atoi implementation) - fixes big door not unlocking in sq4
...
svn-id: r49250
2010-05-26 20:48:08 +00:00
Filippos Karapetis
46af5a5162
- Moved kernel_lookup_text inside the Kernel class
...
- Added a pointer to the segment manager from within the Kernel class, thus simplifying the calls to it
svn-id: r49076
2010-05-18 12:16:48 +00:00
Max Horn
92c896d883
Patch #2973290 : Semicolon cleanup
...
svn-id: r48359
2010-03-22 20:28:08 +00:00
Matthew Hoops
cf005b6238
SCI32 reorders the REF* subops in kMessage; fixes GK1 conversations.
...
svn-id: r48066
2010-02-15 17:10:40 +00:00
Max Horn
b9a11ddb0b
SCI: Move language related code from EngineState to SciEngine
...
svn-id: r48052
2010-02-13 17:46:44 +00:00
Max Horn
a82939c9be
SCI: Get rid of EngineState::resMan
...
svn-id: r48048
2010-02-13 17:44:19 +00:00
Matthew Hoops
9183ab57a3
SCI1 Mac games can call kGetFarText with a NULL destination, so we need to allocate the memory. King's Quest V Mac is now playable.
...
svn-id: r47950
2010-02-07 04:25:05 +00:00
Max Horn
f86618f92b
SCI: Add a 'SELECTOR' macro
...
svn-id: r47918
2010-02-05 22:55:18 +00:00
Willem Jan Palenstijn
06bd17ee71
SCI: Remove extra '\n's in debugC messages
...
svn-id: r47707
2010-01-30 11:59:05 +00:00
Matthew Hoops
bc64dfb52e
Implement kString(Printf) and resizing of SCI32 strings in kFormat().
...
svn-id: r47697
2010-01-30 02:40:15 +00:00
Filippos Karapetis
928b4a6df6
Added support for String types to kFormat (seems to work but needs testing...)
...
svn-id: r47694
2010-01-30 01:45:59 +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
Walter van Niftrik
bffdcc9e54
SCI: Fix left aligning and centering in kFormat.
...
svn-id: r47500
2010-01-24 15:21:51 +00:00
Filippos Karapetis
aab6485d32
Always memset the newly malloc'ed argument memory to 0 inside kFormat
...
svn-id: r47498
2010-01-24 11:57:10 +00:00
Filippos Karapetis
1352940688
Replaced CHECK_OVERFLOW1 with asserts
...
svn-id: r47496
2010-01-24 11:00:21 +00:00
Filippos Karapetis
df149e1509
Separated the parser code
...
svn-id: r47480
2010-01-23 17:55:54 +00:00
Matthew Hoops
5382aa1ab0
SCI32:
...
- Set signature for Array/String
- Add the kernel table differences for the GK2 demo
- Implement kMessage changes in SCI32
- Use an empty string as the default path for all games now (and modify kValidPath to accept that only as valid)
- Add dereferencing for Arrays
svn-id: r46756
2009-12-30 16:00:56 +00:00
Filippos Karapetis
66d3540f2c
Cleanup
...
svn-id: r45652
2009-11-04 09:31:35 +00:00
Martin Kiewitz
3ec76350ec
SCI: kStrAt offset checking fixed
...
svn-id: r45537
2009-10-30 14:22:22 +00:00
Martin Kiewitz
0c2ab71829
SCI: kStrAt / dont do call, when offset exceeds maxSize. fixes crash in kq5
...
svn-id: r45530
2009-10-30 10:06:35 +00:00
Max Horn
9e64255bd1
SCI: Rename game_obj to _gameObj
...
svn-id: r45235
2009-10-18 19:43:27 +00:00
Max Horn
f3ab3051d8
SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit
...
svn-id: r45234
2009-10-18 19:42:56 +00:00
Filippos Karapetis
6d5f1e4403
Added a sanity check in kStrAt()
...
svn-id: r45213
2009-10-18 10:39:10 +00:00
Martin Kiewitz
b1c35d548d
SCI: kStrAt added fixme comment
...
svn-id: r45203
2009-10-17 21:22:27 +00:00
Walter van Niftrik
0d6ab8c73a
SCI: Add support for reg_t based segments to Message()
...
svn-id: r45113
2009-10-15 11:57:36 +00:00
Filippos Karapetis
ba297ab7b1
Replaced make_reg(0, -1) with SIGNAL_REG and fixed a warning (MessageRecord is a struct)
...
svn-id: r44865
2009-10-10 10:46:11 +00:00
Walter van Niftrik
6c1cac3956
SCI: kMessage() rewrite
...
svn-id: r44860
2009-10-10 02:16:23 +00:00
Max Horn
0988e273ec
SCI: Turn lookup_node & lookup_list into SegManager::lookupNode & SegManager::lookupList
...
svn-id: r44769
2009-10-07 23:34:24 +00:00
Filippos Karapetis
9f5c52b410
Fixed a potential buffer overflow in kFormat, which occurs in the "About" screen in KQ4
...
svn-id: r44738
2009-10-07 16:47:06 +00:00
Max Horn
6ad5840181
SCI: Rename EngineState::segMan to _segMan
...
svn-id: r44629
2009-10-04 18:38:18 +00:00
Martin Kiewitz
a139ddd840
SCI: kReadNumber crash fix for lsl1
...
svn-id: r44597
2009-10-04 11:05:38 +00:00
Willem Jan Palenstijn
876a28d261
SCI: cleanup
...
svn-id: r44528
2009-10-01 17:30:10 +00:00
Filippos Karapetis
6697f46922
Rewrote weird-looking code, which might lead to undefined behavior, according to GNU
...
svn-id: r44523
2009-10-01 15:33:38 +00:00
Filippos Karapetis
1497f9845a
Fixed regression in r44417, found by waltervn. The score in KQ1SCI should be diplayed correctly again
...
svn-id: r44490
2009-09-30 15:21:44 +00:00
Filippos Karapetis
fa077237c1
Fixed a crash when starting KQ1SCI
...
svn-id: r44484
2009-09-30 13:09:18 +00:00
Filippos Karapetis
fd21bb2611
- Moved the list of synonyms and parser nodes inside the vocabulary class
...
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class
svn-id: r44481
2009-09-30 12:17:38 +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