Commit Graph
4076 Commits
Author SHA1 Message Date
Martin Kiewitz 9d5ee9cba0 SCI: fix sciAudio support on some platforms
The old code expected sciAudio FOpen calls to fail, because they
contained a directory name. On AmigaOS those calls succeeded.
Because of that at least on AmigaOS, sciAudio support didn't
work at all.

We now detect sciAudio FOpen calls and return a proper virtual file
handle. This should fix it on all platforms.

Also moved the SCI32 virtual save file handle from 200 to 32100.
2016-01-02 21:50:35 +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
Filippos Karapetis 3a29dfaebf SCI: Fix object init in SCI3 scripts which are larger than 64kb 2015-07-13 01:35:26 +03:00
Filippos Karapetis 138ec332d2 SCI: Fix wording for commit fc14641 2015-07-10 14:25:35 +03:00
Filippos Karapetis fc1464155a SCI: Enable the save game menu option when dying in PQ2 - bug #6875
This uses the same hack as the one used to reset the menus in Jones.
I've tested some more SCI games, and they don't disable menu entries
when loading a game. Hopefully, Jones and PQ2 are the only ones
2015-07-10 14:13:18 +03:00
Martin Kiewitz c64652bbb6 SCI: sq4cd: extend skateorama workaround bug #6853 2015-05-18 19:38:44 +02:00
Martin Kiewitz f0ccd3f91a SCI: sq4cd scriptpatch clothes change points #6866
script patch, so that points are awarded, when
changing back clothes. You have to clean out the
bank account again, because that's the problematic
script. Also happened in original interpreter.
Only happened for Space Quest 4 CD
worked in floppy
2015-05-18 19:15:35 +02:00
Martin Kiewitz 3b092e5d60 SCI: identifyOffsets() counter variables 2015-05-17 18:51:22 +02:00
Martin Kiewitz a6ceee0d67 SCI: qfg1vga: fix script patch sneak into castle
The original script patch only worked when speed
slider was all the way up.
2015-05-17 11:54:27 +02:00
Martin Kiewitz 3698ca8cf7 SCI: adjust SCI3 offset identify thx lskovlun 2015-05-15 23:46:25 +02:00
Martin Kiewitz c787560acb SCI: add SCI3 support for debug cmd scro 2015-05-14 20:58:14 +02:00
Martin Kiewitz 3183ef0854 SCI: add said-details to script_said debug cmd 2015-05-14 20:41:21 +02:00
Martin Kiewitz bfab4c4cbe SCI: debug commands scro, scrs and script_said
implement string collecting for SCI3
implement object offset collecting for SCI0-SCI2
implement said-str offset collecting for SCI0-SCI1
add new debug command scro / script_objects
add new debug command script_said
string without terminating NUL now a warning
the latter happens in qfg2 for amiga room 84
2015-05-14 20:33:21 +02:00
Martin Kiewitz fdfb7775a4 SCI: change qfg2 saurus ride script patch
the original script patch messed up room changes
2015-05-14 17:58:31 +02:00
Martin Kiewitz 66a4b3c805 SCI: add qfg2 airElemental workaround - bug #6859 2015-05-05 13:36:25 +02:00
Martin Kiewitz f1a75991ed SCI: fix bug in new string identifying code
fixes string identifying in mac SCI1.1 games
2015-05-04 21:50:42 +02:00
Martin Kiewitz ed7007162a SCI: Scripts: identify strings + debug command
debug command is called "script_strings" / "scrs"
2015-05-04 21:19:05 +02:00
Willem Jan Palenstijn 3d0c691694 SCI: Handle pronouns in parser
When parsing a sentence, its type 0x142 word (presumably the object) is
now stored. Any pronouns (type 0x080) are then automatically replaced by
this stored word.
2015-05-03 17:21:07 +02:00
Willem Jan Palenstijn 30b5497e24 SCI: Clarify function name 2015-05-03 13:45:05 +02:00
Martin Kiewitz cd2ead0a78 SCI: lsl5 script patch to fix game breaking bug
fixes green card phone number also calling limo
at the same time bug for the English PC 1.000
release.
2015-05-02 21:41:19 +02:00
Martin Kiewitz 02dd8cffcc SCI: move SCI32 plane clear to gamestate_restore() 2015-04-27 20:50:37 +02:00
Martin Kiewitz 031b9b8ced SCI: restore: clear screen when restoring
primarily to clear kPortrait graphics in kq6
when restoring during portrait animation
2015-04-26 15:50:12 +02:00
Martin Kiewitz 5f53b9255e SCI: restore: reset ports before loading memory
otherwise we could free hunk space of the
loaded saved game
2015-04-26 15:29:02 +02:00
Martin Kiewitz bfba28c335 SCI: implement delayed restore via ScummVM menu
will delay restoring a saved game until the next
 kGetEvent or kWait
also implement aborting playback for kPortrait
 and kShowMovie
2015-04-26 09:08:46 +02:00
Willem Jan Palenstijn 4c03e4b699 SCI: Stop processing in kGetEvent after loading
getSciEvent can trigger the main ScummVM menu, which can trigger loading
a game, which will invalidate the game state that kGetEvent is operating
on.

Other kernel functions may still have the same problem, and a better
solution may be necessary.
2015-04-26 00:48:07 +02:00
Martin Kiewitz 53f9dac75e SCI: script patch qfg2 saurus freeze - bug #5156
getting back on saurus in the desert by typing
command "ride" freezes the game. This patch
fixes the issue.

Attention: difficult bug to fix, may cause issues
2015-04-25 22:42:20 +02:00
Martin Kiewitz f4ce7851f8 SCI: script patch for sq4cd, walk in bug #5468
walk right up in the first room, only for SQ4 CD
2015-04-25 20:06:59 +02:00
Martin Kiewitz 817217c225 SCI: qfg1vga script patch 4 stag dagger bug #6135
fixes animation issue when throwing a dagger at
white stag in room 77
2015-04-24 18:25:58 +02:00
Martin Kiewitz 179ef7adb2 SCI: fix Camelot save on map screen bug #6744
don't put restored script windows into
_windowList[]
2015-04-23 18:54:07 +02:00
Martin Kiewitz cfcaba9284 SCI: kDoBresen adjustments for SCI<=1_EGA, thx wjp 2015-04-21 14:55:05 +02:00
Martin Kiewitz 09014d5b96 SCI: fix bug in new workaround sig code 2015-04-21 14:42:55 +02:00
Martin Kiewitz 6777785cdf SCI: workaround sig cleanup 2 2015-04-19 20:48:23 +02:00
Martin Kiewitz d8c732c2a1 SCI: workaround sig cleanup
old and now obsolete localCallOffset removed
2015-04-19 20:46:07 +02:00
Martin Kiewitz 34260a2cdd SCI: workaround sig fanmade Ocean Battle migrated 2015-04-19 20:25:12 +02:00
Martin Kiewitz 4a9f2fb1c4 SCI: workaround sig Jones in the fast lane migrated 2015-04-19 20:05:16 +02:00
Martin Kiewitz 2043103232 SCI: workaround sig Hoyle 1 migrated 2015-04-19 19:53:29 +02:00
Martin Kiewitz 9376b9db88 SCI: workaround sig Hoyle 4 migrated 2015-04-19 19:44:10 +02:00
Martin Kiewitz d70e4ee3f1 SCI: workaround sig Space Quest 1 migrated 2015-04-19 19:24:21 +02:00
Martin Kiewitz 9e887fe184 SCI: workaround sig for fanmade games kDeviceInfo 2015-04-19 19:08:16 +02:00
Martin Kiewitz 8f5d65d0f1 SCI: workaround sig Space Quest 4 migrated 2015-04-19 18:28:54 +02:00
Martin Kiewitz b8838d9bff SCI: workaround sig Conquests of Camelot migrated 2015-04-19 17:24:27 +02:00
Martin Kiewitz 76fa1a0c6f SCI: workaround sig Conquests of Longbow migrated 2015-04-19 16:18:44 +02:00
Martin Kiewitz 062c535d1b SCI: workaround sig pq2/demo:lb+hq1 migrated
- also kDisplay cleanup, removed dummy opcodes
- workarounds should be used instead
- fixed hq1 workaround entry, it seems we are able
   to read vocabulary now
2015-04-19 15:49:43 +02:00
Martin Kiewitz 270fbf2d6a SCI: workaround sig Quest for Glory 3 migrated 2015-04-19 13:40:01 +02:00
Martin Kiewitz 629f6a4208 SCI: workaround sig Quest for Glory 1 VGA migrated 2015-04-19 13:09:10 +02:00
Martin Kiewitz bbf9c83ebf SCI: workaround sig eco quest 2 update
sig also works on french version + sig extended
2015-04-19 11:50:01 +02:00
Martin Kiewitz 4122cdc130 SCI: workaround sig Eco Quest 2 migrated 2015-04-19 11:32:52 +02:00
Martin Kiewitz cf9fa4bd40 SCI: workaround sig Quest for Glory 1 EGA migrated 2015-04-18 23:57:48 +02:00
Martin Kiewitz d6000c927b SCI: workaround sig Quest for Glory 2 migrated 2015-04-18 23:40:00 +02:00
Martin Kiewitz 83c6e1543e SCI: add debug level for workarounds
It's called "Workarounds"
2015-04-18 23:13:11 +02:00