Filippos Karapetis
9072b0c26e
SCI32: Added some more stubs for picture manipulation, screen update and animation functions
...
svn-id: r46529
2009-12-24 15:02:06 +00:00
Filippos Karapetis
69fa167902
SCI32: The view related functions pass a view object as parameter, and the engine should deduce the parameters it needs from that object. Added stub view functions based on that fact. Also, added a sanity check in kCelHigh and kCelWide
...
svn-id: r46527
2009-12-24 13:50:50 +00:00
Matthew Hoops
65dcc0b2a3
SCI32:
...
- Fix dup for kArray/kString
- Implement kFileIO::rename (SCI1.1)
- Implement part of the SCI32 additions to kFileIO
- Implement the GetSaveDir part of kSave (SCI2.1)
- Torin (SCI2.1!) now shows signs of life -- it will create the torin.prf file with correct data!
svn-id: r46521
2009-12-24 02:43:07 +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
4f918cd68c
Removed dead code
...
svn-id: r46426
2009-12-20 12:43:36 +00:00
Martin Kiewitz
a5f1808c83
SCI: SciEvent created, kernel_sleep() created
...
svn-id: r46252
2009-12-04 17:38:24 +00:00
Filippos Karapetis
f755311114
priority_first and priority_last are not used by the new drawing code, thus the new code didn't handle priority changes by kGraph()
...
svn-id: r45658
2009-11-04 11:52:11 +00:00
Filippos Karapetis
86cafd561f
Some work on the kPortrait kernel function, used to show hires character portraits in the Windows CD version of KQ6
...
svn-id: r45552
2009-10-30 22:55:35 +00:00
Filippos Karapetis
394fc76719
Rewrote kBaseSetter() to use new graphics functions and behave like the original, and fixed a bug in the process (the previous code ignored z when calculating the height)
...
svn-id: r45463
2009-10-28 14:23:23 +00:00
Filippos Karapetis
b105d690e3
- Removed kShow() and the related code it uses - it's a debugging function, and we have the same functionality in the debug console
...
- Merged the view signal flags from kernel.h and gui_animate.h, and named them appropriately. Also, updated the notes next to them, cause some were incorrectly marked as not used in our engine
- Added a note about a hack used in the old GUI in the view signal flags
- Moved the control state flags inside gui_helpers.h
svn-id: r45310
2009-10-21 19:19:03 +00:00
Martin Kiewitz
361977e7ed
SCI/newgui: kPalette cleanup, preparing for sq5 paletteAnimate support
...
svn-id: r45273
2009-10-20 16:11:31 +00:00
Max Horn
f3ab3051d8
SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit
...
svn-id: r45234
2009-10-18 19:42:56 +00:00
Martin Kiewitz
942dc2ce84
SCI: included stub for kPalVary to make Pharkas work a little bit more (currently crashes in kMessage)
...
svn-id: r45102
2009-10-15 06:37:05 +00:00
Max Horn
c77be11ccd
SCI: cleanup
...
svn-id: r45040
2009-10-13 18:53:11 +00:00
Walter van Niftrik
6c1cac3956
SCI: kMessage() rewrite
...
svn-id: r44860
2009-10-10 02:16:23 +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
Max Horn
0988e273ec
SCI: Turn lookup_node & lookup_list into SegManager::lookupNode & SegManager::lookupList
...
svn-id: r44769
2009-10-07 23:34:24 +00:00
Willem Jan Palenstijn
d1bca7ced6
SCI: Minor cleanup
...
svn-id: r44706
2009-10-06 17:16:27 +00:00
Willem Jan Palenstijn
b9cdb1abb7
SCI: Merge new GUI code written by m_kiewitz.
...
This is a major rewrite of the graphics code. A slightly adapted
version of the old code is still available and currently the default.
The new code is selectable in sci.cpp, but is not yet finished.
svn-id: r44565
2009-10-03 20:49:18 +00:00
Filippos Karapetis
f9296a6445
- Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
...
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them
Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now
svn-id: r44461
2009-09-29 14:24:07 +00:00
Willem Jan Palenstijn
d3c1916384
SCI: Major string handling update.
...
All string access to segments should now work with both raw and non-raw
(reg_t) segments, using the new utility functions in segMan.
There will likely be regressions.
svn-id: r44388
2009-09-27 01:50:26 +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
7f728af76e
SCI: Workaround for crash in debugger's backtrace
...
svn-id: r44239
2009-09-21 21:38:07 +00:00
Max Horn
5f440854b7
SCI: Add EngineState::_kernel member for convenience
...
svn-id: r44173
2009-09-17 17:00:36 +00:00
Max Horn
9651562e72
SCI: Rename WAS_FUNCT_NR to FAKE_FUNCT_NR; turn some #defines into enums
...
svn-id: r44169
2009-09-17 16:49:31 +00:00
Max Horn
15652675b2
SCI: Removed dead code
...
svn-id: r44159
2009-09-17 14:53:42 +00:00
Max Horn
730c7c9641
SCI: Get rid of the not_register() hack
...
svn-id: r44153
2009-09-17 13:22:00 +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
Max Horn
d861f5c854
SCI: cleanup
...
svn-id: r44150
2009-09-17 13:20:58 +00:00
Max Horn
0e834d0b87
SCI: kernelDeref*() functions are now seSegmentManager methods
...
svn-id: r44082
2009-09-14 13:13:20 +00:00
Max Horn
c00edfb64f
SCI: Merge kernelDerefCharPtr and kernelDerefString and change it from a macro to a function
...
svn-id: r44081
2009-09-14 12:59:42 +00:00
Filippos Karapetis
15cb36a7ee
Made is_object() a method of the segment manager
...
svn-id: r44042
2009-09-12 17:42:04 +00:00
Max Horn
d04b5d2c9b
SCI: Rename resManager -> resMan; segManager -> segMan
...
svn-id: r43980
2009-09-06 12:57: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
Max Horn
b391f08b46
SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefString
...
svn-id: r43907
2009-09-02 11:38:16 +00:00
Max Horn
0c7093e05c
SCI:
...
* removed kNOP
* renamed k_Unknown to kUnknown
* added FIXME to kfunct_mappers table
* more cleanup
svn-id: r43906
2009-09-02 11:35:00 +00:00
Max Horn
6c44eafa97
SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be removed eventually)
...
svn-id: r43905
2009-09-02 11:33: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
Walter van Niftrik
1d6f946ba7
SCI: Add stub for PalVary.
...
svn-id: r43857
2009-08-31 18:42:07 +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
3e543d2518
SCI: Add lofs detection.
...
svn-id: r43824
2009-08-30 14:53:58 +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
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
Filippos Karapetis
ac025f4294
- Replaced more cases of EngineState parameters
...
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro
svn-id: r43729
2009-08-25 15:14:29 +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
Filippos Karapetis
60af2db2fd
- Added more mappings from Sierra's internal IDs to our own ones. Hopefully, all SCI0-SCI11 games can now be detected correctly from the fallback detector
...
- Simplified some checks for old script types
svn-id: r43678
2009-08-23 21:57:30 +00:00
Filippos Karapetis
db0cd620f6
Started rewriting the SCI engine to use FSNode instead of file names. This is the proper solution for removing the hack in the fallback detector, but it still needs work. Also, reduced the things needed to be initialized a bit, so that the detection is a bit faster
...
svn-id: r43510
2009-08-18 14:10:31 +00:00
Walter van Niftrik
260a2019b6
SCI: Add autodetection for DoSound. Cleanup.
...
svn-id: r43482
2009-08-17 15:49:22 +00:00
Johannes Schickel
71c9700420
Fix compilation of the SCI engine. It seems that all of the SCI header files I touched (and probably others I luckily didn't touch) seem to assume that files including them will supply needed types. That looks like a major issue in SCI. Someone with knowledge of the SCI code should look into this and cleanup the includes of *all* SCI headers.
...
svn-id: r43459
2009-08-17 07:36:08 +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