Commit Graph
25 Commits
Author SHA1 Message Date
Filippos Karapetis e317958d4c SCI: Remove superfluous cast to boolean and fix code styling 2016-03-01 01:23:55 +02:00
Lars Skovlund a375cbf42b SCI3: Collect bits for managing kInfoFlagViewVisible 2016-02-29 16:00:13 +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
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Willem Jan Palenstijn 78e7f5b51c SCI: Make second pass when loading objects
This is because objects may be loaded before their base objects,
which causes initBaseObject to fail for SCI0.

Script::initializeObjectsSci0 already did this, but
SegManager::saveLoadWithSerializer did not when calling
initBaseObject after loading a savegame.
2013-12-14 14:19:33 +01: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 a0add53c60 SCI: Change getClassAddress() to only require the caller segment
The caller offset is never actually used inside the function
2012-06-15 22:32:17 +03:00
Filippos Karapetis 9aaefbd536 SCI: _propertyOffsetsSci3 and classpos should be 32-bit integers
These are needed for future handling of large SCI3 script files
2012-06-15 12:24:18 +03:00
Filippos Karapetis d71aec0b39 SCI: Changed a warning about wrong object variable count into a debugC 2011-10-11 01:39:56 +03:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
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-06-20 00:59:48 +02:00
Max Horn 8615cecfe0 SCI: Constify Object::_baseVars
This may have to be undone if we ever want to start free'ing _baseVars again.
2011-05-25 16:44:50 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops 8f40a18146 SCI: Remove a space at the end of a warning 2011-03-14 18:48:43 -04:00
Willem Jan Palenstijn c1cdc49ac5 SCI: Add code to enumerate shadowed selectors
If an object defines more variables than its base class, some method
selectors may be hidden. This code tries to enumerate the affected
selectors. It may be useful for mass-scanning objects using
'find_callk Dummy'.

It's disabled by default currently since it does things to partially
uninitialized objects that I can't guarantee are 100% safe at this
point.
2011-03-14 20:34:16 +01:00
Willem Jan Palenstijn 0360b4ac95 SCI: Add reference to related bug to comment 2011-03-13 18:28:01 +01:00
Willem Jan Palenstijn bd6602ea6f SCI: Clarify fix for KQ5 witch freeze bug #3034714
The cause for this bug turns out to be a corrupt object that as
a side effect accidentally bypasses its own corruption. See the
added comments for details.

Also add a warning that points out similarly corrupted objects.
2011-03-11 23:09:13 +01:00
Willem Jan Palenstijn 190bd60505 SCI: Make SCI3 propertyId endianness hack a bit cleaner
svn-id: r55542
2011-01-26 16:51:18 +00:00
Max Horn fec516e2b0 SCI: cleanup
svn-id: r55539
2011-01-25 20:21:57 +00:00
Lars Skovlund e1a9c866bf SCI3: Fix script abort during startup on Big Endian platforms
svn-id: r55525
2011-01-25 10:21:44 +00:00
Lars Skovlund a03a3fd411 Fix code formatting
svn-id: r55026
2010-12-23 14:05:16 +00:00
Lars Skovlund 5b2071487f SCI: Unbreak script loading on big-endian machines. Thanks to [md5] and wjp.
svn-id: r55025
2010-12-23 14:03:58 +00:00
Filippos Karapetis 42dc70bb83 - SCI: Added code to free the _baseVars value in SCI3 as well. Both free() operations
have been commented out for now, as MSVC complains about heap corruption in SCI3 games
- Code formatting fixes

svn-id: r54991
2010-12-21 21:18:25 +00:00
Lars Skovlund 7b0760f1bc Make Object::_baseMethod a Common::Array. This is intended to clean up
the Object class, and it also plugs a leak.

svn-id: r54986
2010-12-21 15:36:27 +00:00
Filippos Karapetis eba5c441b2 SCI: Fixed bug #3044050 - "SQ4FLOPPY: Crash while flying in Skate-o-Rama"
Fixed Object::locateVarSelector() for SCI0-SCI1 games, as it wasn't checking the
class for object variables

svn-id: r54415
2010-11-22 10:23:53 +00:00
Filippos Karapetis 3b07056a47 SCI: Moved the Object class in a separate file
svn-id: r54361
2010-11-19 08:18:24 +00:00