Commit Graph

148 Commits

Author SHA1 Message Date
Filippos Karapetis
a6e9fe69c3 SCI: Set the printLang and parseLang selectors again when restarting, if necessary.
This sets the language again correctly to the language selected in the launcher when
restarting multilingual games.

svn-id: r55561
2011-01-27 10:49:11 +00:00
Filippos Karapetis
89087b18c7 SCI21: Allow the game scripts to sync robot videos, like in SSCI. Also, references of the SciEngine class to itself via g_sci have been removed
svn-id: r55422
2011-01-22 13:01:10 +00:00
Filippos Karapetis
a5db890260 SCI: Sync in-game speech/subtitle options with the ones from the ScummVM GUI.
- Obtain speech/subtitle options from the ScummVM GUI and set them in CD games.
- Also, set simultaneous speech and subtitles in games that support them
(currently SQ4 CD and Freddy Pharkas CD). There is no GUI option for setting
simultaneous speech and subtitles in Freddy Pharkas CD, so this is the only
current way of achieving this (unless the text speed slider inside the Freddy
Pharkas options window is repurposed - but that will require extensive changes)

svn-id: r55005
2010-12-22 13:58:28 +00:00
Filippos Karapetis
394daa5704 SCI: Added engine method isCD()
svn-id: r54475
2010-11-25 14:19:02 +00:00
Filippos Karapetis
581a090204 SCI3: Removed detection and any possible support of Shivers 2
Shivers 2 doesn't contain SCI scripts. The whole game logic has
been reimplemented from SCI in native code placed in DLL files.
Each room has its own DLL file, and some SCI functions have been
reimplemented/rewritten for this purpose in native code. The
game and demo have all the resources of a SCI game, apart from
the SCI scripts themselves. Thus, they cannot be directly
supported, unless their whole room logic is rewritten from
scratch, which classifies Shivers 2 as "not SCI"

svn-id: r54173
2010-11-09 22:01:12 +00:00
Filippos Karapetis
5cfb461b5b SCI: Added detection of some fan made script patches.
When such a script patch is found, a dialog pops up at the beginning
of the game, asking the user to remove it. The issues that these
script patches fix have already been fixed in ScummVM, thus these
patches aren't necessary, plus they can lead to crashes, freezes, buggy
behavior and/or unexpected errors, thus it is better if they aren't
used at all, if possible

svn-id: r53920
2010-10-29 10:58:54 +00:00
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Matthew Hoops
07abe3d603 SCI: Add detection for Hoyle4 Mac
svn-id: r53397
2010-10-13 03:28:59 +00:00
Martin Kiewitz
cf3289ee3f SCI: adding "bpr" and "bpw" debug commands
"bpr" breakpoint on reading of selectors
"bpw" breakpoint of writing of selectors
"bpx" is now breakpoint on executing of selectors only

svn-id: r52490
2010-09-02 09:05:08 +00:00
Martin Kiewitz
ff7476d9f1 SCI: adding virtual lists for qfg-import rooms
now lists import files of all possible games, adds game title before that, removes game prefixes for all files

svn-id: r52441
2010-08-29 15:13:25 +00:00
Filippos Karapetis
3f1f894e8e SCI: Added proper handling of QFG exported character files.
Now, QFG2, 3 and 4 may read exported characters from all
other QFG games, like the originals did. Fixes bug
#3054692 - "QFG2/QFG3 Import issues".

svn-id: r52430
2010-08-29 00:17:56 +00:00
Martin Kiewitz
e93eaa0d95 SCI: some more work on replacing restore dialog
svn-id: r52314
2010-08-23 23:04:07 +00:00
Martin Kiewitz
0c5561105c SCI: storing game super class address now inside SciEngine
svn-id: r52311
2010-08-23 20:29:13 +00:00
Martin Kiewitz
7b8add291e SCI: multiple changes for mother goose vga
which is sci1 and sci1.1
fixes bug #3051145
- separating this mother goose from ega and sci2.1
- adding workaround when restoring saved games in these games, games try to calculate restored savedgameid instead of looking it up, we patch this code out and also set the global to the current savedgameid
- adding workaround for scripts checking savedgameid to be below 13 (our savedgameids begin at 100 now)
- changing official range for savedgameids from 1000->1999 to 100->199, otherwise mother goose would have required much larger patches and this range should be fine even if we replace savedgame dialogs later

svn-id: r52301
2010-08-23 16:33:19 +00:00
Johannes Schickel
e29d6e681a SCI: Switch to Common::RandomSource.
Since I got no response to my mail to -devel, I just assume that there is
no specific reason for using rand() in SCI.

As explained in my mail to -devel about why SCI uses rand, this might allow
SCI to work with our event recording, when that ever gets finished.

I adapted kRandom so that it also supports negative random numbers. And
furthermore that the toNumber argument is smaller than the fromNumber
argument. I am not sure whether that really happens though, but it should
be safer to have this. I marked that place with an TODO/CHECKME.

svn-id: r51521
2010-07-30 22:47:01 +00:00
Martin Kiewitz
b873cf2ebf SCI: changes for mother goose sci2.1
changed signature for kSetCursor sci2.1
added workarounds
added separate gameid for mother goose sci2.1

svn-id: r51385
2010-07-27 19:09:57 +00:00
Martin Kiewitz
2a0cff5c6d SCI: implement foreign vocabulary support
not fully working, extended chars do not work currently as input

svn-id: r51027
2010-07-19 13:50:06 +00:00
Martin Kiewitz
f456b7cfa2 SCI: separating qfg1ega and qfg1vga gameids
svn-id: r50881
2010-07-14 11:53:12 +00:00
Max Horn
03c0faa5d7 SCI: Move breakpoint checks into SciEngine methods
svn-id: r50837
2010-07-12 23:21:03 +00:00
Max Horn
1d3a0f6dec SCI: Turn global object g_debugState into SciEngine member var
svn-id: r50836
2010-07-12 23:20:33 +00:00
Martin Kiewitz
d52a872724 SCI: changing gameid of lsl6 sci2.1 into "lsl6hires". We need to keep workarounds etc. separate, scripts are not compatible
svn-id: r50829
2010-07-12 19:55:42 +00:00
Martin Kiewitz
e807983e8f SCI: removed unused debug flags, changed fileio debug prints to only happen on debugflag "file"
svn-id: r50782
2010-07-10 14:00:43 +00:00
Filippos Karapetis
bff3e89e48 SCI: Removed the FreeSCI music code
svn-id: r50532
2010-06-30 13:49:05 +00:00
Filippos Karapetis
9f1320d5cc SCI: Made the SoundCommandParser a member of the SciEngine class and removed it from the EngineState, since it's static throughout the course of a game
svn-id: r50484
2010-06-29 09:00:08 +00:00
Max Horn
6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +00:00
Max Horn
23d384e6b8 SCI: Remove SciEngine::getFlags()
svn-id: r50272
2010-06-25 16:12:38 +00:00
Max Horn
359be0c066 SCI: Change SciEngine's 'char *getGameID()' to 'Common::String getGameId()'
svn-id: r49968
2010-06-17 23:14:34 +00:00
Max Horn
337711d321 SCI: Get rid of duplicate _system member in SciEngine
svn-id: r49965
2010-06-17 23:12:59 +00:00
Max Horn
8e07a1e167 SCI: Moved the event code a little bit around.
* Move sleep() from EventManager to SciEngine
* Rename EventManager methods: get -> getSciEvent, and
  getFromScummVM -> getScummVMEvent
* Make scancode_rows static const
* Turn altify & numlockify from EventManager methods into static
  functions (and comment out the currently unused numlockify)

svn-id: r49959
2010-06-17 23:10:37 +00:00
Martin Kiewitz
b25aba1d1e SCI: SciGui/SciGui32 gone for good...
svn-id: r49860
2010-06-15 15:44:24 +00:00
Martin Kiewitz
ba2de6dfa4 SCI: putting SciGui::init into SciEngine, removing it from SciGui(32)
svn-id: r49854
2010-06-15 13:34:40 +00:00
Martin Kiewitz
891b568fde SCI: move textSize and textFonts and textColors inside gfxText16
svn-id: r49851
2010-06-15 13:01:07 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Filippos Karapetis
93f33c7dab Resolved a FIXME with getSciLanguage(), by creating a separate setter. Also, some camelCase changes
svn-id: r49568
2010-06-10 11:18:10 +00:00
Filippos Karapetis
0ab7c908bb Removed the pointer to the game object from the EngineState class
svn-id: r49562
2010-06-10 08:11:38 +00:00
Filippos Karapetis
50c1f4e545 Moved the MoveCountType enum above the GameFeatures class, as it's the only class using it
svn-id: r49561
2010-06-10 07:48:32 +00:00
Filippos Karapetis
abc5f97608 Fixed compilation with the old music code
svn-id: r49560
2010-06-10 07:41:48 +00:00
Filippos Karapetis
9b8e4e8359 Moved all of the game init/run/exit logic inside the SciEngine class
svn-id: r49559
2010-06-10 07:32:05 +00:00
Filippos Karapetis
5cb311ee2c Renamed the SciEvent class to EventManager, to separate it from the sciEvent structure, and removed it from the engine state
svn-id: r49534
2010-06-09 07:59:42 +00:00
Martin Kiewitz
830d17ed31 SCI: renaming MacIconBar to GfxMacIconBar
svn-id: r49202
2010-05-24 21:47:06 +00:00
Matthew Hoops
d49fb8f42d Add support for showing the icon bar in SCI1.1 Mac.
svn-id: r49196
2010-05-24 17:21:11 +00:00
Max Horn
5568a8473b Get rid of Engine::_gameDataDir.
This greatly reduces indirect dependencies on several header files
from common.

svn-id: r48933
2010-05-04 11:56:52 +00:00
Walter van Niftrik
c0c351c766 SCI: Don't add subtitles for monolingual strings.
svn-id: r48697
2010-04-18 00:56:04 +00:00
Filippos Karapetis
07e405588d Moved the reference to AudioPlayer inside SciEngine (as it doesn't have a state, per se, and is static)
svn-id: r48059
2010-02-14 12:23:22 +00:00
Max Horn
b9a11ddb0b SCI: Move language related code from EngineState to SciEngine
svn-id: r48052
2010-02-13 17:46:44 +00:00
Max Horn
e45f0f309a SCI: Remove EngineState::_kernel, use SciEngine::_kernel instead
svn-id: r48050
2010-02-13 17:45:40 +00:00
Max Horn
9575cc08a2 SCI: Move GameFeatures from EngineState to SciEngine
svn-id: r48049
2010-02-13 17:44:58 +00:00
Max Horn
a82939c9be SCI: Get rid of EngineState::resMan
svn-id: r48048
2010-02-13 17:44:19 +00:00
Max Horn
721a57a661 SCI: Move Gui/Gfx related permanent objects from EngineState to SciEngine
svn-id: r48047
2010-02-13 17:43:31 +00:00
Max Horn
ac4d325e0d SCI: Add global g_sci pointer to the active SciEngine instance
svn-id: r48046
2010-02-13 17:42:49 +00:00