164 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
0192d2f2de SCI: Fix restarting SCI engine with different SCI version 2011-11-29 18:34:34 +01:00
Filippos Karapetis
4f69967773 SCI: Added a new debug flag, "DebugMode" for SCI32 games
This is used to enable the embedded debugger in several SCI32 games
(PQ4, QFG4, GK1, GK2, KQ7, SQ6 and LSL7)
2011-10-29 18:32:52 +03:00
Filippos Karapetis
4ac2940bc5 SCI: Added skeleton code for kEditText (still not working) 2011-10-28 22:20:33 +03:00
Filippos Karapetis
ac559b0212 SCI: Renamed GfxControls to GfxControls16 2011-10-26 01:54:27 +03:00
Filippos Karapetis
41cc1932d2 SCI32: Added an initial skeleton structure for the SCI2 text drawing code
This includes kCreateTextBitmap, and moves all of the text drawing code
into the new GfxText32 class
2011-09-03 14:51:51 +03:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Max Horn
11bd6da595 SCI: Switch some char* to Common::String& 2011-06-03 16:16:38 +02:00
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
md5
a43689550e SCI: Removed forward references to obsolete classes 2011-03-20 14:54:36 +02:00
Walter van Niftrik
a2b75466da SCI: Add comment. 2011-03-05 01:15:06 +01:00
Walter van Niftrik
f96e93047a SCI: Use BE string handling for Mac games. 2011-03-04 21:12:00 +01:00
md5
4d33923436 SCI: Cleanup of the save/load dialog patching code and the lofs type detection code 2011-02-28 00:15:47 +02:00
md5
72f65b3946 SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY
This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2011-02-27 16:48:53 +02:00
Matthew Hoops
266806d892 SCI: Fix Mac icon bar palettes
The Mac icon bar uses a palette from the executable and keeps those entries in the palette constantly.

In addition, we're now performing gamma correction on the Mac-based colors so that they are in the same gamma as SCI. The color matching now works with this and using the same color finding as the Mac Palette Manager.
2011-02-17 13:38:23 -05:00
Filippos Karapetis
6f9ac84f77 SCI: Converted the robot decoder into a regular video decoder, and decoupled it from the
SciEngine class

- Robot videos are now shown in frameOut(), like they should, and kRobot(sync) is only
used for syncing with the game scripts
- Hooked video playing into the "play_video" console command

svn-id: r55801
2011-02-07 12:24:09 +00:00
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