Commit Graph

4837 Commits

Author SHA1 Message Date
Filippos Karapetis
34195238bb SCI: Don't try to initialize non-existent scripts, error out instead
(Invalid scripts may be requested to be loaded when warping to an incorrect room)

svn-id: r52524
2010-09-04 15:38:24 +00:00
Filippos Karapetis
8a93da0516 SCI: Updated comment concerning kCantBeHere and removed a wrong check for Hoyle 3
svn-id: r52523
2010-09-04 14:46:29 +00:00
Martin Kiewitz
7836bb87fd SCI: fixing typo in kDoAvoider
svn-id: r52520
2010-09-04 11:27:03 +00:00
Martin Kiewitz
e7f834e103 SCI: delete on textedit control now checks string
svn-id: r52518
2010-09-04 10:39:22 +00:00
Martin Kiewitz
afada2b60d SCI: fixing comment
svn-id: r52517
2010-09-04 09:58:37 +00:00
Filippos Karapetis
c34cec4e15 SCI: Fixed bug #3037595 - "KQ4: Crash reading message in the bottle (whale mouth)"
svn-id: r52516
2010-09-04 09:41:39 +00:00
Martin Kiewitz
f95a2ac499 SCI: removing non-sierra sci code in kDirLoop
svn-id: r52515
2010-09-04 09:20:38 +00:00
Martin Kiewitz
89d4e44281 SCI: doing detectDoSoundType() properly sci0early
checking, if sound resources are sci0early or late for sci0early games instead of hardcoding lsl2

svn-id: r52514
2010-09-04 08:51:10 +00:00
Martin Kiewitz
92c3a4b5aa SCI: lsl2 early uses sci0late sound
fixes bug #3037012 and lsl2 now has music everywhere

svn-id: r52513
2010-09-04 08:28:53 +00:00
Martin Kiewitz
acc294c7a8 SCI: properly reversed kDoAvoider
getAngle()-code is missing though. Still fixes lsl2early hang on airport (bug #3037036), fixes kq4early unicorn doing moonwalk (kq4late still works as well)

svn-id: r52512
2010-09-04 07:29:27 +00:00
Filippos Karapetis
976458058d SCI: Fixed bug #3058865 - "Jones in the Fast Lane CD: Graphics Missing"
svn-id: r52511
2010-09-03 22:51:27 +00:00
Martin Kiewitz
e4c07925ec SCI: kDirLoop freshly reversed
svn-id: r52510
2010-09-03 22:15:08 +00:00
Martin Kiewitz
87b78b1673 SCI: kClone/kDisposeClone behaviour more accurate
now also checking -info- selector, if object is supposed to get freed. Fixes kq4 early hanging (in intro, when opening door, etc.)

svn-id: r52508
2010-09-03 18:14:59 +00:00
Martin Kiewitz
b7a2fd899e SCI: adding mother goose title
svn-id: r52507
2010-09-03 17:49:22 +00:00
Filippos Karapetis
f78b4b9f85 SCI: Added a warning when using GM with SCI1 games
The MT-32 <-> GM mapping has only been worked on for
SCI0/SCI01 games. Throw a warning when the user
chooses GM in a SCI1 game, and there is no after
market GM support from Sierra for this game

svn-id: r52505
2010-09-03 12:42:35 +00:00
Filippos Karapetis
ace4477041 SCI: Rewrote the game name IDs of the Mt32MemoryTimbreMaps array to be like the game IDs we use
svn-id: r52504
2010-09-03 08:46:07 +00:00
Filippos Karapetis
d87fa1c890 SCI: Show a warning window regarding GM in some games.
Sierra has released a patch adding after market General MIDI support for 8 SCI1
games (LSL1, LSL5, Hoyle 3, SQ1, SQ4, Eco1 floppy, Longbow and Fairy Tales). If
the user has selected the General MIDI music driver in one of these games and
no associated MIDI patch is found, show an informational dialog on game startup
in order to inform the user to download Sierra's MIDI patch, together with some
short instructions.

svn-id: r52500
2010-09-02 21:50:00 +00:00
Filippos Karapetis
2f88eec713 SCI: Fixed compilation when VM_DEBUG_SEND is enabled
svn-id: r52498
2010-09-02 18:58:25 +00:00
Filippos Karapetis
a816a27928 SCI: Added a FIXME for bug #3038870, related to kParse()
svn-id: r52497
2010-09-02 13:50:49 +00:00
Martin Kiewitz
82f138b728 SCI: fixing debug output for bpx
svn-id: r52491
2010-09-02 10:21:20 +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
Torbjörn Andersson
9324a80d93 JANITORIAL: Remove extra semi-colons.
svn-id: r52489
2010-09-02 05:12:07 +00:00
Martin Kiewitz
64313cd7f1 SCI: set master volume correctly
and merge it together with global volume, fixes bug #3053104)

svn-id: r52484
2010-09-01 19:20:17 +00:00
Martin Kiewitz
81eb3cfba1 SCI: disable dialog replacement for jones
fixes odd crash right at the start, although you can't save/restore in jones o_O (fixes bug #3057080)

svn-id: r52479
2010-09-01 09:48:00 +00:00
Filippos Karapetis
5666df7b38 SCI: Added the Italian version of QFG3 (bug #3053457)
svn-id: r52478
2010-08-31 21:22:52 +00:00
Filippos Karapetis
7dffcf43c2 SCI: Added a workaround for bug #3056811 - "SQ5: Game crashes while playing "Battle Cruiser""
svn-id: r52477
2010-08-31 21:18:20 +00:00
Martin Kiewitz
fa7c6a9969 SCI: adding workaround for platform-specific
incompatibility with some sierra games. Some games open a new menu, set mouse cursor within that menu and expect the mouse cursor to be in there and will close it, if it's outside. In case of Wiimote/touch interfaces this logic won't work of course. Fixes island of dr. brain and QfG1VGA on Wii and touch-interface platforms

svn-id: r52474
2010-08-31 15:50:46 +00:00
Martin Kiewitz
4ecb2b6047 SCI: renaming fb01-enable to "native_fb01"
svn-id: r52471
2010-08-31 11:51:43 +00:00
Martin Kiewitz
55f8415187 SCI: forgot one rename of "enable_fb01"
svn-id: r52470
2010-08-31 11:43:56 +00:00
Martin Kiewitz
aae0d9284e SCI: renaming config-variables
"sci_dither" got removed, "undither" renamed to "sci_undither". Also changed logic for handling "sci_originalsaveload"

svn-id: r52469
2010-08-31 11:38:07 +00:00
Johannes Schickel
737b9bc632 SCI: Remove duplicate comment line.
svn-id: r52468
2010-08-31 11:27:01 +00:00
Martin Kiewitz
839945795e SCI: enable new kDoBresen/InitBresen
enable replacement of save/load dialogs per default
add config-var "sci_originalsaveload" for not replacing dialogs
add config-var "sci_dither" for enabling dithering in EGA games
new kDoBresen fix qfg2 walk against wall bug (#3053131) and hoyle3 unreadable dice bug (#3036922)

svn-id: r52467
2010-08-31 10:53:27 +00:00
Filippos Karapetis
7e6141dcfa SCI: Added automatic detection of some static selectors
which keep changing location in each game

svn-id: r52466
2010-08-31 10:12:35 +00:00
Filippos Karapetis
07e4fe9fdc SCI: Disabled some debug related GC code, which effectively
wastes cycles if we're not debugging the GC

svn-id: r52465
2010-08-31 09:45:36 +00:00
Martin Kiewitz
4f70b6814b SCI: fix warning
svn-id: r52457
2010-08-30 17:06:11 +00:00
Martin Kiewitz
6d09028607 SCI: ability to ignore movecount for new DoBresen
fixes later sci games, when using new kDoBresen/kInitBresen

svn-id: r52454
2010-08-30 14:36:37 +00:00
Martin Kiewitz
d02628a0dc SCI: freshly reversed kDoBresen/kInitBresen
fixes qfg2 walking against wall, etc. BUT its currently disabled by default. You need to comment out the #define USE_OLD_BRESEN line in kmovement.cpp

svn-id: r52453
2010-08-30 14:06:18 +00:00
Martin Kiewitz
80b405ecb4 SCI: adding comments for kDoBresen
svn-id: r52452
2010-08-30 10:49:32 +00:00
Martin Kiewitz
1067a72769 SCI: adding comments for r52450
svn-id: r52451
2010-08-30 10:18:31 +00:00
Martin Kiewitz
154099d0a4 SCI: check filesize of qfg import files
filter out files that are larger than 1k, actually removes real saved games from the list

svn-id: r52450
2010-08-30 10:14:50 +00:00
Martin Kiewitz
6d7d0ee940 SCI: reverting r52448
broke importing, also savedgames are named "qfg1.0xx", so they werent showed before anyway and ".sav" is not mandatory for exported character files.

svn-id: r52449
2010-08-30 08:47:57 +00:00
Filippos Karapetis
3e6d55aee7 SCI: Only show exported characters in the QFG import screens.
QFG can't import saved games, thus there is no point in including them in the
character import screens.

svn-id: r52448
2010-08-29 23:35:23 +00:00
Filippos Karapetis
e004831576 SCI: Fixed bug #3038767 - "SCI Fanmade - Cascade Quest: Crash when restoring a game"
svn-id: r52447
2010-08-29 23:25:30 +00:00
Martin Kiewitz
b53d4dcd96 SCI: cleanup kDoBresen (no real code change)
svn-id: r52446
2010-08-29 21:11:36 +00:00
Martin Kiewitz
4f8daaf596 SCI: fix typo in comment
svn-id: r52445
2010-08-29 20:26:30 +00:00
Martin Kiewitz
fc3dfd1bf7 SCI: adding comment about invalid rect return val
svn-id: r52444
2010-08-29 18:19:11 +00:00
Martin Kiewitz
2fb722056c SCI: fix warning (thx wjp, thank you not msvc)
svn-id: r52443
2010-08-29 15:23:08 +00:00
Martin Kiewitz
357fb5c604 SCI: fix build
svn-id: r52442
2010-08-29 15:18:24 +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
8ba02169f8 SCI: Properly fixed bug #3053268 - "QFG1 VGA: Fetch spell crashes game"
svn-id: r52440
2010-08-29 12:54:15 +00:00
Filippos Karapetis
99d2f23ab3 SCI: fixed debug output
svn-id: r52438
2010-08-29 11:10:18 +00:00
Filippos Karapetis
6a058892fb SCI: Throw a warning in QFG import screens for unmatched files
The original SCI games supported up to 12 characters for file names, thus we
use the file name returned as a mask to find the actual file, as we don't
wrap/unwrap save file names in these screens. If no files match, or if more
than 1 files match, throw a warning.

svn-id: r52437
2010-08-29 11:08:27 +00:00
Martin Kiewitz
9e9db758fb SCI: changing scroll transition behaviour
makes scroll smooth on linux (and maybe others too)

svn-id: r52436
2010-08-29 10:39:34 +00:00
Filippos Karapetis
a32926147c SCI: Fixed bug #3051475 - "MOTHERGOOSE CD: Crash after giving the pipe to the king"
svn-id: r52433
2010-08-29 02:31:18 +00:00
Filippos Karapetis
b0b4ddcc52 SCI: Fixed bug #3037874 - "SCI1.1: High cpu usage when a textbox is displayed"
svn-id: r52432
2010-08-29 00:58:27 +00:00
Filippos Karapetis
9096848e4b SCI: Throttle the invocations of Engine::shouldQuit()
SCI constantly invoked Engine::shouldQuit(), which in
turn called 2 virtual functions. This added a significant
overhead, as this was called constantly without any
throttling whatsoever. Now, the invocation of shouldQuit()
is throttled to be on each frame update (i.e. at a rate of
60fps). Thanks to wjp for profiling this.

svn-id: r52431
2010-08-29 00:39:33 +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
Filippos Karapetis
fa04c9dd38 SCI: Fixed bug #3054613, "QFG character saves, naming convention"
svn-id: r52419
2010-08-27 23:21:08 +00:00
Torbjörn Andersson
b442ee7010 SCI: Fixed potential memory leak in convert_polygon()
svn-id: r52413
2010-08-27 17:26:34 +00:00
Martin Kiewitz
b5b4ecbed6 SCI: adding kq4 0.247
svn-id: r52412
2010-08-27 15:09:54 +00:00
Filippos Karapetis
0bc33f000f SCI: Possible fix for bug #3053268 - "QFG1 VGA: Fetch spell crashes game"
svn-id: r52411
2010-08-27 14:21:08 +00:00
Martin Kiewitz
f8276a36fb SCI: adjust r52397
actually they return 0:0, when no bytes were read, otherwise they return the destination pointer

svn-id: r52398
2010-08-26 07:31:54 +00:00
Martin Kiewitz
c0f81439dc SCI: kFileIOReadString/kFGets return byte count
in sierra sci of read bytes

svn-id: r52397
2010-08-26 07:26:30 +00:00
Willem Jan Palenstijn
ca81bdde9b SCI: Return empty string from fgets with maxsize 1
This should fix r3049360 in Hoyle4.

svn-id: r52396
2010-08-25 22:05:10 +00:00
Martin Kiewitz
6de3b6c55c SCI: adding detection for freddy pharkas "fred"
fixes blop not appearing during intro song, because game thought we were too slow (bug #3051514)

svn-id: r52392
2010-08-25 17:49:03 +00:00
Eugene Sandulenko
15e50a64b8 SCI: Make use of new ADGF_PIRATED flag
svn-id: r52385
2010-08-25 11:51:26 +00:00
Martin Kiewitz
3900aa96b6 SCI: apply qfg1vga fight patch on weapon master
fixes fighting the weapon master as well...

svn-id: r52381
2010-08-25 11:28:27 +00:00
Eugene Sandulenko
def042e412 SCI: md5s from Bug #3049193
svn-id: r52380
2010-08-25 11:00:48 +00:00
Martin Kiewitz
a55dbc831d SCI: making loading from ScummVM menu work correctly
using a trick for indirectly calling GameObject::init and then restoring, fixes text color/font code issues, also removing all the hackery

svn-id: r52379
2010-08-25 10:38:09 +00:00
Willem Jan Palenstijn
b2ebb62e11 SCI: Make assert stricter.
(Thanks to fuzzie.)

svn-id: r52376
2010-08-25 09:02:43 +00:00
Martin Kiewitz
9ca5165606 SCI: adding pharkas patch for ladder issue
in room 320, fixes bug #3037192

svn-id: r52362
2010-08-24 22:24:25 +00:00
Martin Kiewitz
4a6553098f SCI: adding qfg1vga patch for fight issue
fixes bug #3036756

svn-id: r52361
2010-08-24 21:53:06 +00:00
Martin Kiewitz
85c35f41ca SCI: fixing comment of r52351
svn-id: r52353
2010-08-24 17:33:35 +00:00
Filippos Karapetis
27fbfcc34e SCI: Fixed bug #3052359 - "Hoyle1: Hearts Crash"
svn-id: r52352
2010-08-24 17:28:52 +00:00
Martin Kiewitz
3e6fb233ac SCI: fix race condition in sierra kPalVary code
we are loading pictures very fast, this results in a kPalVary race condition, because sierra set timer to 1 tick, when it was getting called with 0 ticks and required the timer to occur before the transition. Fixes freddy pharkas nighttime being daytime during transitions (bug #3051905)

svn-id: r52351
2010-08-24 17:22:05 +00:00
Filippos Karapetis
d48e173da1 SCI: added another version of Hoyle 1 (bug report #3052366)
svn-id: r52350
2010-08-24 17:17:13 +00:00
Filippos Karapetis
d1e45fd5d9 SCI: Removed a now unused selector from the selector cache
svn-id: r52349
2010-08-24 17:12:31 +00:00
Martin Kiewitz
01a8fc604b SCI: replacing save dialog as well
experimental feature - enable by putting "scireplacedialog=true" inside scummvm section of scummvm.ini

LSL6 currently loses the ability to quicksave, when using the feature. Although i don't see it as a huge loss. That way it's now possible to save to up to 100 slots instead of just 20.

svn-id: r52345
2010-08-24 15:11:53 +00:00
Filippos Karapetis
cd61674010 SCI: Check for the existence of script 180 before accessing it.
Fixes the Longbow demo

svn-id: r52344
2010-08-24 14:58:29 +00:00
Filippos Karapetis
ff9b897d8c SCI: Define xLast/yLast for LB2 floppy (which has no selector
vocabulary), since they're used inside kDoBresen()

svn-id: r52343
2010-08-24 14:54:16 +00:00
Martin Kiewitz
5fbe5f049b SCI: more work on replacing save dialog
also removing some previous code, because it wont work that way

svn-id: r52342
2010-08-24 14:40:18 +00:00
Martin Kiewitz
af6492fa45 SCI: some work on replacing save dialog
svn-id: r52341
2010-08-24 13:50:55 +00:00
Martin Kiewitz
10a1806f32 SCI: fixing const cast warning
making clone happy :D

svn-id: r52339
2010-08-24 13:37:24 +00:00
Martin Kiewitz
347accf2d7 SCI: dont load target palette when gameIsRestarting != 0
fixes sepia palette getting applied when loading in pharkas (part of bug #3051905)

svn-id: r52326
2010-08-24 11:21:32 +00:00
Martin Kiewitz
b192de5423 SCI: changing signature of kRestoreGame
and changing patch code accordingly

svn-id: r52320
2010-08-24 09:11:53 +00:00
Martin Kiewitz
d828b36d76 SCI: changing maximum slots from 0-999 to 0-99
svn-id: r52319
2010-08-24 09:05:54 +00:00
Martin Kiewitz
d5d8434fd6 SCI: now pausing/unpausing music in replaced restore dialog
dialog will not get replaced in sci32, nor in mother goose. Enable by adding "scireplacedialog" inside scummvm section of scummvm.ini file. Note: this feature is experimental

svn-id: r52318
2010-08-24 09:00:53 +00:00
Martin Kiewitz
f1f24b7b28 SCI: bit more work on restore dialog replacing
(works now, if enabled - but music isn't yet paused)

svn-id: r52317
2010-08-24 08:31:57 +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
45a87ffe3f SCI: some work on replacing sierra restore dialog
svn-id: r52305
2010-08-23 19:10:06 +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
Martin Kiewitz
d6fc42ebc9 SCI: slightly changing msecs for scrolling
svn-id: r52299
2010-08-23 13:57:00 +00:00
Filippos Karapetis
23d4177d20 SCI: Check for EOF and errors when reading from a file. Fixes bug #3049360 - "SCI: Bug in file read/write operations"
svn-id: r52298
2010-08-23 12:56:41 +00:00
Willem Jan Palenstijn
eeff13d747 SCI: Fix whitespace
svn-id: r52297
2010-08-23 10:18:06 +00:00
Filippos Karapetis
f960f5da23 SCI: Fixed bug #3051163 - "MOTHERGOOSE: Crash at the very end" and merged 2 SQ6 workarounds
svn-id: r52294
2010-08-23 08:29:16 +00:00
Filippos Karapetis
542711cea7 SCI: Fixed bug #3048908 - "PQ3EGA: Wrong speech bubble background colors" and added a FIXME inside kGraphDrawLine
svn-id: r52291
2010-08-22 23:55:29 +00:00
Filippos Karapetis
11d5f5ac06 SCI: Fixed bug #3050856 - "SQ3 : Crash at intro"
svn-id: r52289
2010-08-22 23:11:55 +00:00
Matthew Hoops
66f7e4306c SCI: Add uninit'd workaround for the SQ6 demo
svn-id: r52283
2010-08-22 17:55:29 +00:00
Filippos Karapetis
68f3cc944c SCI: Reimplemented the kShow kernel command, used by the inbuilt SCI debugger. There is no real need to implement kernel debug commands, but since this one maps almost directly to our own "show" debug command, it has been reimplemented (was removed in rev #45310). Normally, there is no real need to implement kernel functions for debug functionality, since there are advanced tools for this purpose nowadays (plus, ScummVM's debugger). Fixes bug #3050616 - "QFG1 EGA: priority/control/view functions crash, debug mode"
svn-id: r52281
2010-08-22 16:30:33 +00:00