aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kstring.cpp
AgeCommit message (Collapse)Author
2016-03-18SCI32: More correctly fix kStringCopy overflowColin Snover
This entire kString code needs to be reviewed/refactored, but at least this fix is more complete than the last one. Thanks to @lordhoto and @wjp for their assistance.
2016-03-18SCI32: Fix heap overflow (read) in kStringCopyColin Snover
2016-02-28SCI32: Non-titled text bitmap implementationColin Snover
This implementation is not 100% engine accurate, but it is more accurate than what was there, and hopefully the differences between this and the engine code are merely cosmetic. The known (intentional) differences are: 1. Uses ScummVM rects inside the engine code, converting to/from SCI rects on the kernel edges and when scaling 2. Fewer side effects when performing operations that *should* have been pure from the start (like text dimension calculation). Still not side-effect-free, but at least things like colours and alignment do not need to be reset every time a measurement is taken, unlike in the actual engine. Editor controls and some other kBitmap code are temporarily disabled as a result of changes to GfxText32 until they can be updated to be engine-accurate.
2016-01-15SCI: Add an initial implementation of kStringTrimFilippos Karapetis
Thanks to lskovlun for his help
2015-12-29SCI32: split up SCI2.1 into EARLY/MIDDLE/LATEMartin Kiewitz
- 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
2014-11-04SCI: kStrCat does language-splitting for QfG1 tooMartin Kiewitz
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
2013-04-23SCI: Fix kMessage REF subop orderingMatthew Hoops
Thanks to waltervn for testing values from running in DOSBox. Fixes bug #3034704
2013-01-25SCI: Fix kReadNumber sign/hex behaviourWillem Jan Palenstijn
Negative numbers now work, and hex overflow is handled like SSCI. Thanks to waltervn for testing.
2013-01-24SCI: Fix shadow warningWillem Jan Palenstijn
2013-01-23SCI: Bugfix for commit 0968acc: only filter out missing messages for the jarFilippos Karapetis
This is to properly fix bug #3601090 without removing any functionality. The additional check ensures that the look and hand icons work with the jar. Many thanks to lskovlun for debugging this and providing a fix
2013-01-23SCI: Fix script bug #3601090 - "SCI: Pepper's Adventures in Time: Game ↵Filippos Karapetis
becomes unsolvable" Many thanks to lskovlun for debugging this problem and finding the offending script code that caused it.
2013-01-23SCI: Slight cleanup in kMessage()Filippos Karapetis
2012-10-05SCI: Add kReadNumber fixmeWillem Jan Palenstijn
Thanks to Walter for noticing this.
2012-06-21SCI: Fix silly typoFilippos Karapetis
Thanks to digitall for spotting this
2012-06-21SCI: Fix warningsFilippos Karapetis
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
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-11SCI: Fix comment in kString(at)Matthew Hoops
2012-06-11SCI: Bugfix for negative numbers in kString(at)Filippos Karapetis
Fixes one of the bugs in the savegame selection screen in Phantasmagoria
2012-02-20COMMON: Move isFoo functions to namespace Common, add doxygen commentsMax Horn
2012-02-15ALL: Avoid using is* macros from ctype.hMax Horn
On some systems, passing signed chars to macros like isspace() etc. lead to a runtime error. Hence, mark these macros as forbidden by default, and introduce otherwise equivalent alternatives for them.
2012-01-16SCI: Remove outdated commentWillem Jan Palenstijn
2012-01-15SCI: Simplify kString(Dup) using the overloaded = operatorFilippos Karapetis
Thanks to wjp for his suggestion
2012-01-15SCI: Use fromString() in kString(Dup) to simplify codeFilippos Karapetis
2012-01-15SCI: Fix a nasty bug in kString(Dup)Filippos Karapetis
The rawString variable is no longer pointing to invalidated data. This fixes cases where strings are manipulated by game scripts, such as the graveyard and rada drum puzzles in GK1
2011-10-30SCI32: kString: Move variable declaration to prevent problemsLars Skovlund
with object lifetimes.
2011-09-25SCI2: kString(Format) uses %d for unsigned integers. Some cleanupFilippos Karapetis
2011-08-26SCI: Fixed bug #3396887 - "SCI: pq2-pc98-jp - Listing of items / Inventory ↵Filippos Karapetis
not working" Thanks to wjp for his valuable help on this
2011-07-18SCI: Fix kFormat's handling of %c with a 0 argumentWillem Jan Palenstijn
SSCI used a sprintf to handle %c, appending the result to the output, which is effectively a nop for a zero argument. This is bug #3368821. Thanks to digitall for tracing it to KFormat and testing this patch.
2011-07-07SCI: Applied patch #3357096 with minor modificationsFilippos Karapetis
This prevents a string pointer from getting invalidated under some circumstances in kString(Dup). Thanks to lephilousophe for the patch.
2011-06-23ANALYSIS: Add static casts to is* functionsLittleboy
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results. See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-29SCI: Added a more generalized fix for bug #3306417md5
2011-05-27SCI: Fixed bug #3306417 - "LAURA BOW 2: segmentation fault while talking to ↵md5
Dr. Myklos"
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-14ALL: centre -> centerMax Horn
2011-03-13SCI: Add workaround for a QFG1 VGA Mac kFormat bugMatthew Hoops
Also, fix the kernel signature for kFormat to require two parameters
2011-03-04SCI: Use BE string handling for Mac games.Walter van Niftrik
2011-03-04SCI: Removed warning from kReadNumbermd5
2011-01-07SCI2.1: Kernel function changes (after looking through all of the SCI2.1 games)Filippos Karapetis
- Replaced the stub kWinDLL (unused), as well as the not fully implemented kPrintDebug functions with empty function calls - Marked several unused or debug kernel functions as stub - Added some games where the rest of the unimplemented SCI2.1 kernel functions are used svn-id: r55138
2011-01-01SCI: debugC calls no longer require a debug level of 2 to show outputFilippos Karapetis
svn-id: r55086
2010-12-07SCI: Removed the system strings code and replaced it with a much more ↵Filippos Karapetis
simplified version, thus greatly simplifying handling of system strings svn-id: r54805
2010-11-28SCI: Fixed bug #3034471 - "SCI, Castlebrain/Amiga: Invisible text in word ↵Filippos Karapetis
search" Fixed some endianness issues in Amiga versions, thanks to wjp. Amiga versions expect a BE VM, thus we adjust accordingly in the places where memory is accessed directly (i.e. kStrAt, kMemory and all places that set/get characters from memory) svn-id: r54521
2010-11-21SCI: Removed the correct subops from kString in late SCI2.1/SCI3 games ↵Filippos Karapetis
(thanks to waltervn) svn-id: r54403
2010-11-21SCI: Adapted kArray/kString to use the new heuristic for late SCI2.1/SCI3 ↵Filippos Karapetis
games, and updated their subops accordingly svn-id: r54399
2010-11-19Some subfunctions changed positions in SCI3 kString. WIP.Lars Skovlund
And with this, LSL7 starts up. Yeah, baby! svn-id: r54374
2010-11-18SCI: Added a stub for a new subop in kString, and disabled ↵Filippos Karapetis
trackOriginAndFindWorkaround() for SCI3 games for now svn-id: r54352
2010-09-11SCI: In kFormat, handle arguments pointing to text resource 0 correctly.Lars Skovlund
Fixes Colonel's Bequest inventory formatting. svn-id: r52676
2010-09-09SCI: Implemented the kPrintDebug SCI2.1 kernel function, used in Shivers (demo)Filippos Karapetis
svn-id: r52665