1401 Commits

Author SHA1 Message Date
Max Horn
11a16fa30e Coding best practice: Whenever possible, pass objects by reference instead of by value. Also make variables or data table which are only used locally "static".
svn-id: r43882
2009-09-01 13:03:12 +00:00
Max Horn
8e28469f1f Coding best practice: Always use enums instead of #defines to define integer constants (for many good reasons)
svn-id: r43881
2009-09-01 13:02:47 +00:00
Filippos Karapetis
28d7d59de3 Changed an error to a warning, as it occurs at the beginning of EcoQuest 1 CD and doesn't seem to have any side effects
svn-id: r43876
2009-09-01 06:51:40 +00:00
Filippos Karapetis
267bbb2bb4 Fixed the crash at the beginning of EcoQuest 1 CD
svn-id: r43875
2009-09-01 06:45:30 +00:00
Filippos Karapetis
814a37846e Fixed regression with some weird mouse cursors (e.g. in EcoQuest)
svn-id: r43874
2009-09-01 06:21:23 +00:00
Walter van Niftrik
53380a2cbf SCI: Fix bug in SCI1.1 varselector search.
svn-id: r43872
2009-09-01 02:50:40 +00:00
Walter van Niftrik
2777e9f349 SCI: Fix relative cues in SCI1.
svn-id: r43871
2009-09-01 02:11:55 +00:00
Filippos Karapetis
fed9e3e2df Cleanup
svn-id: r43869
2009-08-31 21:50:14 +00:00
Filippos Karapetis
fa9ce61a5d Cleanup
svn-id: r43866
2009-08-31 21:41:25 +00:00
Filippos Karapetis
a6f457b45d Rewrote the static selector mapper to use SCI versions instead of game IDs, and split the selectors in SCI generations
svn-id: r43863
2009-08-31 20:45:46 +00:00
Filippos Karapetis
2c9c1119af - Removed the now-unused "setTarget" selector
- Added the "setCursor" selector
- Replaced the selector table of the LSL5 demo with the one from the LSL1 demo (we no longer get a warning about an invalid selector)
- Changed the selector table of the xmas1992 demo to use the table from KQ6 floppy
- Set Laura Bow 2 floppy to use the KQ6 floppy table

svn-id: r43859
2009-08-31 20:21:52 +00:00
Filippos Karapetis
186267a302 Some adjustments to the output of the "selector" and "selectors" console commands
svn-id: r43858
2009-08-31 20:09:36 +00:00
Walter van Niftrik
1d6f946ba7 SCI: Add stub for PalVary.
svn-id: r43857
2009-08-31 18:42:07 +00:00
Filippos Karapetis
cc17addebf Removed many bogus return values in the SCI graphics functions - some functions always returned "true", whereas in others they errored out in fatal conditions before any value was returned. FreeSCI was returning values from the graphics drivers it used. In ScummVM, we have one graphics driver, and we error out in fatal conditions anyway, so these error checks are no longer necessary, and the resulting code looks much neater
svn-id: r43851
2009-08-31 14:24:35 +00:00
Walter van Niftrik
41e24b7495 SCI: Fix messages in QFG remake.
svn-id: r43850
2009-08-31 12:32:05 +00:00
Matthew Hoops
3687544fbb Adding support for AVI in SCI games (such as kq6) and implement kPlatform.
svn-id: r43834
2009-08-30 19:47:47 +00:00
Walter van Niftrik
cc6e21635e SCI: Fix detection of QFG1 remake.
svn-id: r43832
2009-08-30 19:33:34 +00:00
Walter van Niftrik
b16641c0b8 SCI: Fix missing 'else' in r43824.
svn-id: r43831
2009-08-30 17:47:48 +00:00
Filippos Karapetis
138414b836 Fixed a regression in the sound of the demos of LSL3 and LSL5
svn-id: r43825
2009-08-30 15:08:27 +00:00
Walter van Niftrik
3e543d2518 SCI: Add lofs detection.
svn-id: r43824
2009-08-30 14:53:58 +00:00
Matthew Hoops
ad144c8ee8 Silence gcc warning.
svn-id: r43814
2009-08-30 02:10:25 +00:00
Walter van Niftrik
40d6119fd5 SCI: Add support for SetCursor with 4 args.
svn-id: r43813
2009-08-30 01:38:14 +00:00
Walter van Niftrik
cf5483c3d8 SCI: Add SetCursor detection. Cleanup.
svn-id: r43812
2009-08-30 01:37:52 +00:00
Walter van Niftrik
fff023794f SCI: Cleanup
svn-id: r43811
2009-08-30 01:37:27 +00:00
Filippos Karapetis
bc8770cafb Removed the "op_" prefix from opcode names in the script debugger
svn-id: r43798
2009-08-29 11:56:59 +00:00
Johannes Schickel
174311e325 Use Common::String::clear instead of assigning "".
svn-id: r43787
2009-08-29 06:04:21 +00:00
Johannes Schickel
2bddb68289 - Added static and const to static data.
- Slight formatting fixes.

svn-id: r43786
2009-08-29 06:03:56 +00:00
Filippos Karapetis
2874593dec The first part of the selector table (the first 83 entries) is almost the same in all SCI versions (up to and including the "z" selector), therefore the hardcoded selector tables can be simplified a lot
svn-id: r43780
2009-08-28 14:33:26 +00:00
Filippos Karapetis
af2668145a - Removed the unused selectors "prevSignal", "who" and "distance" from the quick access selector array
- Added the "motionCue" and "egoMoveSpeed" selectors to the selector array, to limit the places where findSelector() is used only in debugging functions
- Reordered the selector initialization in mapSelectors(), so that their order matches the order found in vocab.997

svn-id: r43779
2009-08-28 10:13:03 +00:00
Filippos Karapetis
c8b4fbe9c3 Removed the unused selectors (edgeHit, semanticFail and baseSetter)
svn-id: r43776
2009-08-28 00:20:27 +00:00
Filippos Karapetis
faa3c64d1b Stop loading opcodes from vocab.998. They are the same in all SCI games and are hardcoded anyway (plus, vocab.998 is unreliable in some games, e.g. QFG3, or completely missing in others). Also hardcoded the opcode names for the script debugger, the only place they're actually used. The only place where vocab.998 is loaded on demand is when using the "opcodes" console command (for debug/verification purposes)
svn-id: r43775
2009-08-27 23:39:59 +00:00
Matthew Hoops
e8406cc7c3 Throw a warning when kGetSaveDir is called with a parameter
svn-id: r43774
2009-08-27 17:25:13 +00:00
Filippos Karapetis
3963a68937 Removed the signature check from GetSaveDir in order to let the scripts in GK progress a bit further
svn-id: r43771
2009-08-27 15:08:21 +00:00
Matthew Hoops
5d83522e75 Add the minor differences of SCI3 to the SCI2.1 kernel table.
svn-id: r43763
2009-08-27 01:39:30 +00:00
Matthew Hoops
2ceafbae77 - Fix the opcode formats for some opcodes in SCI32 (some arguments are now words instead of bytes).
- Fix the SCI2.1 kernel table.
- Add DoSound detection for SCI2.

svn-id: r43762
2009-08-26 22:11:31 +00:00
Matthew Hoops
0a40bb4d88 Missed another comma....
svn-id: r43761
2009-08-26 20:57:43 +00:00
Filippos Karapetis
ba6a054dc5 Committed a slight patch by clone2727, which contains debug code to dump the selector table from a game. This is very useful to construct selector tables for games which don't have a vocab.997 resource, using dumped tables from similar versions or games
svn-id: r43760
2009-08-26 18:13:11 +00:00
Filippos Karapetis
205aa58cf9 Added a safeguard to avoid getting stuck in an endless loop when initializing some problematic scripts in certain demos (e.g. the EcoQuest 1 demo), and fixed the return values of script_instantiate_sci0() in the process
svn-id: r43759
2009-08-26 16:50:22 +00:00
Filippos Karapetis
ed6b9175d0 Further work on the fallback detector: added several demos
svn-id: r43756
2009-08-26 10:01:05 +00:00
Filippos Karapetis
f128f49ea6 If a resource map entry can't be read, retry with the volume version instead, if it's different than the map version
svn-id: r43755
2009-08-26 09:38:51 +00:00
Filippos Karapetis
6e469002dd Formatting
svn-id: r43754
2009-08-26 09:36:54 +00:00
Matthew Hoops
6a50e6dc7f Oops! Missed a comma.
svn-id: r43753
2009-08-26 06:28:12 +00:00
Filippos Karapetis
5ac2b5522d Added code to distinguish between the demo and full versions of fairytales
svn-id: r43752
2009-08-26 01:38:18 +00:00
Filippos Karapetis
fcf4366230 Started working on distinguishing the Sierra game demos. Also added a note about a potential problem with language detection with some SCI games
svn-id: r43751
2009-08-26 01:26:56 +00:00
Filippos Karapetis
3583216c82 Wording
svn-id: r43750
2009-08-26 00:37:04 +00:00
Filippos Karapetis
ed9313f3c1 Added automatic detection of the game language to the fallback detector
svn-id: r43749
2009-08-26 00:27:14 +00:00
Filippos Karapetis
c212b5ad1d Disabled the signature checks for kNewWindow and kGetEvent, which are different in Mac versions. At least, Mac versions should start now
svn-id: r43747
2009-08-25 23:39:06 +00:00
Filippos Karapetis
c3db0d3f2a - Finished automatic detection of the game platform in the fallback detector
- Added detection for GK1 to the fallback detector
- Removed the rest of the executable reading code, as it's no longer used

svn-id: r43746
2009-08-25 23:36:20 +00:00
Filippos Karapetis
f7acc7f669 Fixed compilation when ENABLE_SCI32 is not set
svn-id: r43744
2009-08-25 23:15:18 +00:00
Matthew Hoops
b5da8a5cdc - Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and SCI_VERSION_3 (each version has a different kernel table).
- Improve map detection.
- Fix SCI32 object and script initialization (Torin's Passage and GK1 scripts now start up, and probably most SCI2/2.1 games).
- Add SCI2 and SCI2.1 kernel tables.

svn-id: r43742
2009-08-25 23:02:57 +00:00