Age | Commit message (Collapse) | Author |
|
Fixes #11070
|
|
Reverts an unintended change to the message recursion loop introduced in
56ea963cea3cdf04c44d3d6f545df664f4a27e8d that breaks the message stack
|
|
Adds a new workaround system for known broken messages and their
corresponding audio and sync resources. This replaces all special
cases in c++ and several script patches with data structures and
generic handling.
Common message bugs:
- Wrong tuple requested by game script
- Wrong tuple in message resource
- Wrong message text that exists in another record
- Missing message text
- Audio or sync resource with different tuple than message
|
|
Fixes 17 message texts, bug #10964
|
|
Fixes an inaccurate message when examining the statue, bug #10770
|
|
Fixes mixed up text/audio when giving her flowers, bug #10849
|
|
|
|
Fixes wrong message in floppy versions, bug #10723
|
|
Fixes bug #10137
|
|
This code is currently untestable and is almost certainly at least
partly based on guesswork & not actual reverse-engineering (as was
the case for all other pre-2015 SCI32 code), so future developers
interested in adding SCI32 Mac support should use it only as an
intermediate reference rather than as known good code.
|
|
|
|
|
|
|
|
|
|
In SSCI, strchr is called against a hex string with a duplicate 0
("01234567890abcdef") to determine the decimal value of hex digits,
which means the values A-F are incorrectly interpreted as 11-16
instead of 10-15.
All versions of SSCI with support for hexadecimal escape sequences
in messages (starting somewhere around Feb 1993) are buggy.
The native save/load dialog of SCI32 relies on this defect to
render the up and down arrows of the game selector.
Fixes Trac#9582.
|
|
This change invalidates earlier SCI32 save games, which separated
arrays and strings in an incompatible manner. Old save games
contain invalid references to a string segment which no longer
exists, and contain incompatible array structures that lack
critical type information.
|
|
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This happens during the intro of LSL6 hires (room 110)
|
|
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'
This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
|
|
|
|
svn-id: r55750
|
|
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
|
|
svn-id: r51669
|
|
svn-id: r51457
|
|
commented out a related unused variable in kSetQuitStr
svn-id: r51456
|
|
somewhere, not working 100%
svn-id: r50089
|
|
into errors, instead of warnings
svn-id: r49972
|
|
svn-id: r49582
|
|
pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
|
|
svn-id: r48359
|
|
svn-id: r48048
|
|
svn-id: r48046
|
|
- 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
|
|
svn-id: r46492
|
|
svn-id: r46465
|
|
used, and removed tools.*. Also, removed all the unused includes to tools.h from several places
svn-id: r45176
|
|
svn-id: r44890
|
|
svn-id: r44873
|
|
svn-id: r44869
|
|
svn-id: r44860
|
|
svn-id: r44587
|
|
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
|
|
svn-id: r43850
|
|
- Replaced some EngineState parameters
- The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions
- Plugged 2 leaks in the fallback detector
- Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency
svn-id: r43722
|