Filippos Karapetis
577d7e41c9
SCI: Change Script::getObject() to accept a reg_t
...
This is needed for upcoming changes to the Script class
2012-06-15 12:24:14 +03:00
Filippos Karapetis
9c8ff41181
SCI: Add known large SCI3 scripts
2012-06-14 12:20:41 +03:00
Filippos Karapetis
267c6f1756
SCI: Made more fields of the Script class private. Some cleanup.
2011-11-05 03:00:42 +02: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
Matthew Hoops
9539017ee3
ALL: initialise -> initialize
2011-05-25 11:17:11 -04:00
Willem Jan Palenstijn
c01fed7159
SCI: Avoid incrementing lockers of deleted script
...
Having a deleted script with non-zero lockers had the side effect of
making the deleted script re-appear in the GC's work list, including
any (deleted) objects in the script.
This should be the root cause of bugs #3299458 and #3295849 , so
also delete the workaround added for that in 35086fe1
.
2011-05-13 23:09:04 +02:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
Willem Jan Palenstijn
eb8b1a962b
SCI: Fix precedence (bug #3087872 )
2011-04-20 23:38:28 +02:00
md5
ca1f9a075f
SCI: Got rid of VERIFY() and removed some newlines in error messages
2011-03-14 20:00:26 +02:00
md5
c3d8f5610f
SCI: Fixed script bug #3059871 - "SCI Fanmade - Ocean Battle: Crash while playing"
2011-03-02 08:25:35 +02:00
Filippos Karapetis
2d5dc8c638
SCI: Cleanup
...
svn-id: r55123
2011-01-04 23:19:04 +00:00
Filippos Karapetis
f2234f8ee3
SCI: Fixed part of bug #3150767 - "KQ5 French crash on startup, only partial English text"
...
This is a regression from r54510
svn-id: r55122
2011-01-04 23:11:19 +00:00
Filippos Karapetis
32d7e687ee
SCI: debugC calls no longer require a debug level of 2 to show output
...
svn-id: r55086
2011-01-01 12:48:12 +00:00
Lars Skovlund
f1cd95e462
Simplify SCI3 relocation code, also making it correct.
...
svn-id: r54985
2010-12-21 15:34:02 +00:00
Filippos Karapetis
3485d433c5
SCI: Fixed bug #3034713 - "ICEMAN Demo: Fails to find base object"
...
This could happen because objects in scripts can be in the wrong order.
Same thing happens in the French and German version of KQ5 (bug #3035396 ).
Removed the scriptObjRemove() method, which is in fact a hack.
svn-id: r54510
2010-11-27 18:08:47 +00:00
Filippos Karapetis
7fc171e3bc
SCI: Some slight changes to get the "find_callk" console command working in KQ5
...
- Ignore invalid object in KQ5 script 784
- Script 980 looks to be an unused leftover, as its object contain references to
classes placed in script 988, which is missing
svn-id: r54455
2010-11-24 11:57:11 +00:00
Johannes Schickel
b593b15c50
SCI: Slight formatting fix.
...
svn-id: r54330
2010-11-18 17:25:09 +00:00
Lars Skovlund
c5252071db
SCI3: Add proper support for the calle instruction
...
svn-id: r54327
2010-11-18 17:04:00 +00:00
Lars Skovlund
1621e7d5c0
Fix operator precedence problem
...
svn-id: r54324
2010-11-18 16:58:25 +00:00
Filippos Karapetis
ba6de1bcdf
SCI: Added sanity checks for SCI3 scripts bigger than 64KB
...
- Extended the "verify_scripts" console command for SCI3 scripts
- Added a check for such large scripts when scripts are loaded, with
an error for now, till a mechanism to support such scripts with a
16-bit addressing scheme is in place (e.g. overlaying, or splitting
scripts). Either way, such scripts should span over more than one segment
svn-id: r54304
2010-11-17 20:46:59 +00:00
Lars Skovlund
e551f3bf33
SCI3: Handle script exports correctly
...
svn-id: r54302
2010-11-17 20:37:13 +00:00
Max Horn
3d7f7b49fe
SCI: Make class table size OB1 workaround slightly more readable
...
svn-id: r54290
2010-11-17 13:01:58 +00:00
Filippos Karapetis
b707d6e7dc
SCI: More work on SCI3, based on a patch by lskovlun
...
- Added SCI3 equivalents for access to object selectors
- Added SCI3 implementation of object relocation
- Added SCI3 implementation of Script::initialiseClasses()
svn-id: r54283
2010-11-17 11:15:52 +00:00
Filippos Karapetis
59ad5085bc
SCI: Some more work on SCI3, based on a patch by lskovlun
...
- Added a SCI3 implementation of Script::load()
- Added a SCI3 implementation of Script::initialiseClasses()
- Removed some duplicate code
svn-id: r54282
2010-11-17 09:28:04 +00:00
Filippos Karapetis
e4c967a301
SCI: Added the SCI3 equivalent of initialiseObjects(), from a patch by lskovlun
...
svn-id: r54281
2010-11-17 09:10:43 +00:00
Filippos Karapetis
f44b084deb
SCI: Some restructuring. Added some SCI3 placeholders/stubs
...
svn-id: r54280
2010-11-17 08:53:02 +00:00
Filippos Karapetis
0470e47145
SCI: The heap was a separate resource in SCI1.1 - SCI2.1 games only. It was later
...
merged into the script files again in SCI3
svn-id: r54279
2010-11-17 08:30:08 +00:00
Filippos Karapetis
7d71d07075
SCI: Renamed findBlock() to findBlockSCI0()
...
svn-id: r54077
2010-11-04 23:19:23 +00:00
Filippos Karapetis
e242814990
SCI: Proper fix for bug #3038837 - "HOYLE3: EGA/VGA Crashes" and some cleanup
...
System scripts (i.e. 0 and 900-999) are now protected and never destroyed during a
game
svn-id: r52702
2010-09-13 13:17:55 +00:00
Filippos Karapetis
b6488818a5
SCI: Bugfix for rev #52688 .
...
We can't just set the lockers of script 0 to 1, as at that point
the objects associated with the script are marked to be deleted,
thus we need to reload the script
svn-id: r52693
2010-09-12 21:50:52 +00:00
Lars Skovlund
de6555663d
Workaround for bug #038837 : HOYLE3: EGA/VGA Crashes. Needs further
...
investigation and a proper fix post-release
svn-id: r52688
2010-09-12 18:13:14 +00:00
Filippos Karapetis
3daf588e08
SCI: Janitorial - fixed spaces and typos
...
svn-id: r52527
2010-09-04 17:16:41 +00:00
Filippos Karapetis
34195238bb
SCI: Don't try to initialize non-existent scripts, error out instead
...
(Invalid scripts may be requested to be loaded when warping to an incorrect room)
svn-id: r52524
2010-09-04 15:38:24 +00:00
Filippos Karapetis
c34cec4e15
SCI: Fixed bug #3037595 - "KQ4: Crash reading message in the bottle (whale mouth)"
...
svn-id: r52516
2010-09-04 09:41:39 +00:00
Filippos Karapetis
190043e6b7
SCI: Resolved a FIXME concerning scripts with more than one export table (it only makes sense for SCI0-SCI1 games)
...
svn-id: r52179
2010-08-18 00:04:21 +00:00
Martin Kiewitz
c70f16c55d
SCI: making camelot fix camelot-only for now
...
fixes kq6 getting assert as well (bug 3042866)
svn-id: r51970
2010-08-11 06:13:08 +00:00
Martin Kiewitz
3b9ebd6353
SCI: adding patch for eq1cd
...
fixes ego swimming left/right of room 660 and getting a "message not found" error and a GE? signature mismatch - in sierra sci this also resulted in "message not found" and a hang afterwards - bug #3038387
svn-id: r51951
2010-08-10 15:18:18 +00:00
Filippos Karapetis
57fd588327
SCI: Split the new script patch code in a separate file
...
svn-id: r51810
2010-08-06 22:36:46 +00:00
Martin Kiewitz
dfe4c8d9a0
SCI: fixing typo
...
svn-id: r51809
2010-08-06 22:14:38 +00:00
Martin Kiewitz
8ddcf3942b
SCI: adding patch for lsl6 issue
...
fixes crashing when dieing at least in german lsl6, caused by temp memory space corruption. Also happened in sierra sci.
svn-id: r51807
2010-08-06 21:51:45 +00:00
Filippos Karapetis
96fd9e6c82
SCI: Added support for scripts that have more than one export table. Fixes bug #3039785 - "Conquests of Camelot: Crash in Glastonbury Tor"
...
svn-id: r51805
2010-08-06 21:21:39 +00:00
Martin Kiewitz
7b0a5ec099
SCI: adjusting patch to write 0 instead of 1
...
patch still worked, but 0 was meant to be there thx to lskovlun to point this out
svn-id: r51796
2010-08-06 19:13:19 +00:00
Martin Kiewitz
753c431937
SCI: adding script patching
...
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow
svn-id: r51795
2010-08-06 18:54:58 +00:00
Martin Kiewitz
afed447b6f
SCI: fix warnings
...
svn-id: r51788
2010-08-06 15:12:03 +00:00
Martin Kiewitz
2a4768401e
SCI: some work on the script patcher
...
signature matching is working (added hoyle 4 signature)
svn-id: r51787
2010-08-06 15:06:42 +00:00
Filippos Karapetis
c61ed6e3aa
SCI: Removed the language check from the
...
KQ5 workaround, as there could be an issue
with other non-English versions, too (e.g.
the Spanish floppy version)
svn-id: r51472
2010-07-29 15:50:53 +00:00
Filippos Karapetis
123d1f6bf6
Extended the workaround for KQ5 French floppy for the German floppy too. Fixes bug #3035396 - "KQ5: Crash when start the game"
...
svn-id: r51471
2010-07-29 15:40:09 +00:00
Martin Kiewitz
472dbc9f7d
SCI: fix initializing script 99 of sq3
...
svn-id: r51097
2010-07-21 19:19:33 +00:00
Martin Kiewitz
bb1c722a0b
SCI: adding workaround for sq3
...
fixing off-by-one error when initializing script 93
svn-id: r51091
2010-07-21 17:42:51 +00:00
Martin Kiewitz
dbc1607603
SCI: add script number to r51008 change
...
svn-id: r51009
2010-07-18 20:19:14 +00:00