Filippos Karapetis
844ef9ba1a
Merged all the script relocation code inside script_instantiate(), and changed the warning when reading an invalid species into an error (as it's severe, and if it happens it means something is seriously wrong)
...
svn-id: r49361
2010-05-31 18:35:13 +00:00
Filippos Karapetis
66d4bddb30
Merged several script instantiation-related functions inside script_instantiate()
...
svn-id: r49343
2010-05-31 08:11:49 +00:00
Max Horn
4e25867a67
SCI: Merge setLockers(1) call into Script::init
...
svn-id: r49337
2010-05-30 23:00:32 +00:00
Filippos Karapetis
a0ee93ece5
SCI: Script exports and synonyms are now initialized when a script is loaded. Removed a sanity check inside script_instantiate_sci0 for a bug which no longer exists
...
svn-id: r49336
2010-05-30 21:49:07 +00:00
Filippos Karapetis
3b96e4833e
Cleanup
...
svn-id: r49334
2010-05-30 20:30:07 +00:00
Filippos Karapetis
dc4d61f718
- Merged the SCI0 scriptRelocate() and SCI11 heapRelocate() functions inside relocate(). scriptRelocate checked one more relocation entry, which seems wrong, so we're now checking for the correct number of relocations in all SCI versions
...
- Re-added the error when script + heap exceed 64KB (better than an assert) - this should theoretically never happen, and it never has for the games tested
- Removed the relocated sanity check - again, it shouldn't occur (else something else is wrong)
svn-id: r49332
2010-05-30 20:06:50 +00:00
Filippos Karapetis
016862ac3a
Moved setScriptSize() inside Script::init(), and removed a FIXME - the SCI1.1 word-align is done inside Script::init()
...
svn-id: r49330
2010-05-30 18:45:07 +00:00
Filippos Karapetis
29c2f30558
Unified the script loading code, and marked an issue with the SCI11 heap addresses
...
svn-id: r49329
2010-05-30 17:02:21 +00:00
Filippos Karapetis
c32e88fe0b
Limit access to the _bufSize, _scriptSize and _heapSize members of the Script class
...
svn-id: r49327
2010-05-30 16:14:31 +00:00
Filippos Karapetis
5f2ff0b1e7
Limit access to the _classTable array (now it's directly accessible only inside saveLoadWithSerializer()
...
svn-id: r49318
2010-05-29 23:56:37 +00:00
Filippos Karapetis
a6156a6805
Removed the scriptRelocateExportsSci11() hack. The open spell in QFG1VGA works now (thanks to waltervn for all his help on this)
...
svn-id: r49311
2010-05-29 15:29:27 +00:00
Martin Kiewitz
453d13dc2d
SCI: fixing -propDict- selector on instances to contain -propDict- of the corresponding class - fixes sq4cd/room 381 talk-clicking on robot - thx to waltervn & wjp
...
svn-id: r49263
2010-05-27 17:41:20 +00:00
Max Horn
db475d1501
SCI: More const related changes; remove unnecessary casts which hide const issues
...
svn-id: r49248
2010-05-26 18:11:17 +00:00
Filippos Karapetis
1c0bbb10cb
More work on controlling access to members of the Object class:
...
- Moved the code for initializing the object class, species and base object inside the Object class
- Made propertyOffsetToId() a method of the Object class
- Made relocateObject() a method of the Object class
- The Object getVariable() method now returns a reference to the requested variable
Only SegManager::reconstructScripts() is left needing direct access to the members of the Object class
svn-id: r49228
2010-05-26 08:27:24 +00:00
Filippos Karapetis
6408504c93
Slight cleanup
...
svn-id: r49129
2010-05-21 13:31:45 +00:00
Filippos Karapetis
92c1f4625d
Fixed silly typo in #49099 . Iceman works again (thanks m_kiewitz)
...
svn-id: r49104
2010-05-19 17:11:15 +00:00
Filippos Karapetis
893af1600a
Fixed signed/unsigned warning, changed to CamelCase
...
svn-id: r49100
2010-05-19 14:45:56 +00:00
Filippos Karapetis
d1f1c71f50
Cleaned up script_instantiate_sci0()
...
svn-id: r49099
2010-05-19 14:43:16 +00:00
Matthew Hoops
3dda73d9a2
Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
...
svn-id: r49070
2010-05-18 04:17:58 +00:00
Walter van Niftrik
b6c92b90b6
SCI: Fix regression in locals init for re-used segments
...
svn-id: r48783
2010-04-24 14:10:52 +00:00
Max Horn
9575cc08a2
SCI: Move GameFeatures from EngineState to SciEngine
...
svn-id: r48049
2010-02-13 17:44:58 +00:00
Filippos Karapetis
2fb37063a4
Placed all the game feature detection code in a separate class
...
svn-id: r47850
2010-02-03 11:02:43 +00:00
Max Horn
bca7c6eef3
SCI: Move more stuff around
...
svn-id: r47836
2010-02-03 01:34:15 +00:00
Max Horn
6c322506dd
SCI: Move some code around (no code changes)
...
svn-id: r47823
2010-02-02 22:50:32 +00:00
Max Horn
b124a0c1cd
SCI: Reduce header interdependencies a bit
...
svn-id: r47666
2010-01-29 11:05:06 +00:00
Walter van Niftrik
31728b32ca
SCI: Add debug opcodes
...
svn-id: r47646
2010-01-28 19:22:58 +00:00
Johannes Schickel
aed02365ec
Strip trailing spaces/tabs.
...
svn-id: r47541
2010-01-25 01:39:44 +00:00
Martin Kiewitz
0dddf869fb
SCI: changed scalesignal to scaleSignal - selector works now :)
...
svn-id: r47312
2010-01-15 21:26:02 +00:00
Martin Kiewitz
0338198876
SCI: adding scalesignal selector
...
svn-id: r47306
2010-01-15 13:33:26 +00:00
Martin Kiewitz
575bc45301
SCI: adjusting cel drawing according to left/top of plane
...
svn-id: r47002
2010-01-05 00:12:31 +00:00
Filippos Karapetis
a4990f6f33
Now using m_kiewitz's picture code to show pictures in SCI32. Also took some bits off a similar patch from clone2727. The Sierra logo screen and the menu screen in GK1 should now be shown fully!
...
svn-id: r46609
2009-12-27 01:49:39 +00:00
Matthew Hoops
ef79d7f017
SCI32:
...
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing).
- Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music.
- Some other minor SCI32 changes.
svn-id: r46462
2009-12-21 14:32:54 +00:00
Filippos Karapetis
551ca5f2c0
Changed the lofs detection to iterate through all the methods of the Game object again, instead of a specific selector - fixes Jones
...
svn-id: r46006
2009-11-20 14:17:47 +00:00
Filippos Karapetis
e7820f972d
Selector cleanup: rearranged all selectors to be in the same order as in Sierra's dictionary files, and removed several unused selectors
...
svn-id: r46005
2009-11-20 13:29:42 +00:00
Filippos Karapetis
893a8bb808
Some corrections for the lofs autodetection - SQ4 floppy works again
...
svn-id: r46002
2009-11-20 10:29:42 +00:00
Filippos Karapetis
effdfcd4b8
Added references to the scaleX and scaleY selectors, used for SCI1.1 view scaling
...
svn-id: r45659
2009-11-04 12:16:08 +00:00
Filippos Karapetis
bcade54247
Started rewriting the check for the graphics functions type (still not finished)
...
svn-id: r44787
2009-10-08 14:37:55 +00:00
Walter van Niftrik
725377f090
SCI: Fix scrolling in SCI1 list controls.
...
svn-id: r44429
2009-09-27 23:06:39 +00:00
Filippos Karapetis
13ad217cdd
- Moved the SCI version in a global variable
...
- Changed all the SCI version checks to use getSciVersion()
- Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine)
The fallback detector should work correctly now
svn-id: r44269
2009-09-23 10:55:35 +00:00
Max Horn
364640cfd5
SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCache
...
svn-id: r44152
2009-09-17 13:21:42 +00:00
Filippos Karapetis
1bbab8f191
Some renaming:
...
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
2009-09-02 12:02:37 +00:00
Walter van Niftrik
3e543d2518
SCI: Add lofs detection.
...
svn-id: r43824
2009-08-30 14:53:58 +00:00
Walter van Niftrik
cf5483c3d8
SCI: Add SetCursor detection. Cleanup.
...
svn-id: r43812
2009-08-30 01:37:52 +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
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
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
ed66cad677
- Simplified the parameters of some functions
...
- Replaced some EngineState parameters
- The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions
- Plugged 2 leaks in the fallback detector
- Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency
svn-id: r43722
2009-08-25 08:38:14 +00:00
Walter van Niftrik
00f4794c0a
SCI: Stage 1 of the game detection overhaul. The end goal is to autodetect
...
as much as possible. All SCI_VERSION_* information was removed from
detection.cpp (much of it was incorrect anyway).
svn-id: r43449
2009-08-16 19:18:19 +00:00
Walter van Niftrik
f99932b72a
SCI: Added enum for map and volume versions. Removed res_version setting from
...
detection.cpp (should be detectable). Cleanup.
svn-id: r43390
2009-08-15 00:28:59 +00:00