Commit Graph

5808 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
4c70d39933 SCI: Shrink rectangle updated by DrawControl(Text)
This fixes dialogs in Jones CD (bug #3297111) together
with 9e2c7f26d2.

This grow was probably accidentally added in
6fda9a5067. Assembly of KQ5CD and JonesCD
confirms it shouldn't be there.
2011-06-13 01:24:28 +02:00
Willem Jan Palenstijn
8e2f2e3730 SCI: Remove workaround that caused graphics corruption
This fixes coins disappearing in Mother Goose SCI1.1 (bug #3051136).
Filippos has confirmed the workaround is no longer necessary for the
menubar in LSL6 for which it was added.
2011-06-12 20:26:07 +02:00
Willem Jan Palenstijn
9e2c7f26d2 SCI: Treat all priorities above 15 as none
Before only 255 was treated this way. This fixes part of the broken
dialog boxes in Jones CD (bug #3297111) which use priority 254,
and matches Jones CD disassembly.
2011-06-12 20:25:46 +02:00
md5
60943efafd SCI: Fixed bug #3295931 - "SCI: JONES: Disabled commands are available using shortcuts" 2011-06-12 17:58:25 +03:00
md5
c5610182a6 SCI: Some fixes for the find_callk command 2011-06-12 15:36:08 +03:00
md5
7ab6dfc00e SCI: Fixed the show_saved_bits console command
This is achieved by hiding the graphical debugger overlay temporarily in
order to show the command's results
2011-06-12 15:07:42 +03:00
Willem Jan Palenstijn
4ec20f857f SCI: Add FIXME for bug #3051136 2011-06-12 02:02:06 +02:00
Willem Jan Palenstijn
4296ac6d15 SCI: Fix sign in disasm of relative jumps 2011-06-12 02:00:09 +02:00
Willem Jan Palenstijn
50176e7c5f SCI: Add saved_bits/show_saved_bits console commands 2011-06-12 01:55:30 +02:00
md5
ece449298d SCI: Fixed script bug #3313962 - "ECOQUEST2 Spanish: Crash near beginning" 2011-06-11 14:34:47 +03:00
md5
1f0f0595c4 SCI: Added the Spanish version of EcoQuest 2 (bug #3313962) 2011-06-11 14:33:06 +03:00
md5
eea48434f5 SCI: Changed order of script and room in error messages
This matches the order in which workarounds are stored in workarounds.cpp
2011-06-11 14:00:02 +03:00
Max Horn
b99d76acdb SCI: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:44 +02:00
Max Horn
4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00
Walter van Niftrik
ae4f63a256 SCI: Add more debug output to AmigaMac sound driver 2011-06-07 13:34:59 +02:00
Walter van Niftrik
12366c91e5 SCI: Use Sound debug channel in AmigaMac sound driver. 2011-06-07 01:39:00 +02:00
Walter van Niftrik
4628833a32 SCI: Set Mac versions of LSL1 and LSL5 to screen height 190.
This fixes bug #3310782. However, as I was unable to get the games working in
a Mac emulator, this is an educated guess at this point.
2011-06-04 15:32:57 +02:00
Max Horn
aec2ea9661 ENGINES: Remove some uses of g_engine 2011-06-03 18:21:58 +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
Walter van Niftrik
05ac17f7b9 SCI: Fix up start/end points when pathfinding with opt == 0.
Fixes bug #3304901: "SCI: Freddy Pharkas - Stuck in the brothel door".
2011-05-31 16:26:38 +02:00
md5
1ea96002b8 SCI: Added a more generalized fix for bug #3306417 2011-05-29 21:12:37 +03:00
Willem Jan Palenstijn
59dd072f63 SCI: Make 'quit' an alias for 'quit game' in the console 2011-05-29 16:01:56 +02:00
Lars Skovlund
cb990e68a1 SCI: Fix access to variables (gc_interval etc.) from the console 2011-05-27 17:34:43 +02:00
Lars Skovlund
ff62a6050a Revert "SCI: Don't attempt to modify null/disposed objects."
This fix for bug #3303802 is a potential cause of unreproducible bugs
in all SCI games that taint savegames.
This reverts commit 48140a012d.
2011-05-27 13:15:57 +02:00
md5
48140a012d SCI: Don't attempt to modify null/disposed objects.
These cases occur usually because of script bugs. Fixes script bug
#3303802 - "SCI: PQ1VGA - Crash at the jail"
2011-05-27 03:06:06 +03:00
md5
28b7cf71a9 SCI: Added a workaround for bug #3308087 - "SCI: SQ1VGA - Engine Abort Upon Loading Ulence Flats Save" 2011-05-27 02:47:48 +03:00
md5
a010884c9b SCI: Fixed bug #3306417 - "LAURA BOW 2: segmentation fault while talking to Dr. Myklos" 2011-05-27 02:32:22 +03:00
Matthew Hoops
9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
Matthew Hoops
28301e2bd1 ALL: analyse -> analyze 2011-05-25 10:50:47 -04:00
Matthew Hoops
eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04:00
Max Horn
8615cecfe0 SCI: Constify Object::_baseVars
This may have to be undone if we ever want to start free'ing _baseVars again.
2011-05-25 16:44:50 +02:00
Max Horn
6c5f50c246 COMMON: Add exit() to list of forbidden symbols 2011-05-23 19:39:26 +02:00
Willem Jan Palenstijn
0da3f8d8a5 SCI: Fix probable alt/shift mixup
A check for alt was changed into this check for shift in the
cleanup commit 906f024831.
2011-05-21 16:02:51 +02:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
Thierry Crozat
3c59e37035 ENGINES: Unify engine names
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
Willem Jan Palenstijn
0788493015 SCI: Don't do suffix expansions after exact dict match
This fixes the parsing of "buy healing pills" in QfG2 (bug #3288328).
The behaviour is half-confirmed with experimentation in SSCI.
2011-05-14 18:08:20 +02:00
Willem Jan Palenstijn
5fc5265b0d SCI: Fix crash in vo with unloaded superclass 2011-05-13 23:23:15 +02:00
Willem Jan Palenstijn
c01fed7159 SCI: Avoid incrementing lockers of deleted script
Having a deleted script with non-zero lockers had the side effect of
making the deleted script re-appear in the GC's work list, including
any (deleted) objects in the script.

This should be the root cause of bugs #3299458 and #3295849, so
also delete the workaround added for that in 35086fe1.
2011-05-13 23:09:04 +02:00
md5
bd2bfe85c9 SCI: Don't include several debug tables when REDUCE_MEMORY_USAGE is defined 2011-05-13 16:12:52 +03:00
md5
c9cef5e971 SCI: Marked the sanity check inside processWorkList() as a workaround
The sanity check added in rev #35086fe17c fixes the crashes with that
code when an invalid reference is about to be processed, but these
references shouldn't be in the stack at all in the first place, so the
root cause seems to be somewhere else.
2011-05-13 00:15:41 +03:00
md5
a3c6439a1a SCI: Added workarounds for bug #3292251, instead of patching the script
This fixes bug #3295853
2011-05-13 00:10:44 +03:00
md5
35086fe17c SCI: Fixed bugs #3299458 and #3295849 2011-05-12 12:52:12 +03:00
Tarek Soliman
33b1ca2b08 SCI: Fix signature of script patch qfg3DialogCrash (bug #3300241) 2011-05-12 09:33:40 +02:00
md5
3b75ff9132 SCI: Added a warning for SCI0 games like in bug #3297881
LB1 Amiga doesn't contain MT-32 music tracks. Added a warning for this
situation
2011-05-12 04:34:20 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
559fda409d SCI: Line wrap some comments 2011-05-09 14:46:17 +02:00
Max Horn
389b613190 SCI: Fix warning about potential strict-aliasing rules violation 2011-05-09 14:42:45 +02:00
Max Horn
76cf7bc907 SCI: Slight cleanup to undithering code 2011-05-09 14:41:49 +02:00
Matthew Hoops
0f0ae4576e SCI: Use new MacCursor code instead of convertCrsrCursor() 2011-05-05 19:27:28 -04:00
Johannes Schickel
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
Willem Jan Palenstijn
0ff44497c7 SCI: Round left/right edges in bitsShow to even coords
This fixes the vertical black line glitch in the QfG3 start menu (#3293351)
2011-05-01 13:41:06 +02:00
md5
6d05012bda SCI: Fixed bug #3289744 - "Hero Quest 1 demo crashes" 2011-04-29 03:06:15 +03:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Willem Jan Palenstijn
9f74a6eda2 SCI: Clarify comment from rev 5654e12 further 2011-04-28 12:03:10 +02:00
Ori Avtalion
3e01d35281 JANITORIAL: Format more forward declarations to follow convention 2011-04-28 12:32:01 +03:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
md5
d855092f96 SCI: Clarified comment in rev 5654e12
It's a bad idea to write comments when half asleep :P
2011-04-28 10:21:26 +03:00
md5
5654e12575 SCI: Added a more specific workaround for bug #3267956. This fixes bug #3291115 - "KQ6: Game freezes when getting paper from web" 2011-04-28 04:14:54 +03:00
md5
d28344bb55 SCI: Removed unused variables
Thanks to LordHoto and the trusty -Wunused-but-set-variable option :)
2011-04-27 13:13:35 +03:00
md5
14865cbf9c SCI: Fixed script bug #3292334 - "HOYLE4: Gin Rummy bug" 2011-04-26 19:08:02 +03:00
md5
c24d388468 SCI: Fixed script bug #3292251 - "SCI: QFG3: Script error when buying robe" 2011-04-26 18:24:53 +03:00
md5
1ba3d462d2 SCI: Fixed 2 script bugs in Hoyle 4 - hearts
This fixes bug #3292333 - "HOYLE4: Hearts bug"
2011-04-26 13:03:04 +03:00
md5
f752b1b2fc SCI: Fixed several uninitialized variable script bugs in Hoyle 4 Bridge
This fixes bug #3292332, along with other related issues
2011-04-26 12:56:11 +03:00
md5
ce704575a9 SCI: Updated the view type descriptions in the "version" console command 2011-04-26 12:56:09 +03:00
Willem Jan Palenstijn
dda6df668a SCI: Avoid (unused) sqrt of a negative number
This fixes bug #3289799.
2011-04-21 22:14:05 +02:00
Willem Jan Palenstijn
eb8b1a962b SCI: Fix precedence (bug #3087872) 2011-04-20 23:38:28 +02:00
Johannes Schickel
5af4b64c29 SCI: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:30:47 +02:00
md5
9a987001d4 SCI: Some initial work on supporting patch.005 in KQ1 Amiga 2011-04-15 11:20:07 +03:00
md5
6c4f09c058 SCI: Silenced the warning for kMacPlatform(1)
This warning produces a lot of spam in the console (e.g. it pops up
whenever the icon bar is opened in Dr. Brain Mac), thus it has been
silenced
2011-04-15 11:20:05 +03:00
Max Horn
2e095e25f2 ALL: centre -> center 2011-04-14 14:34:28 +02:00
Willem Jan Palenstijn
fc59a52e7a SCI: Remove left-over fixme comment
It should have been removed in b40b87fdb5
2011-04-13 18:57:18 +02:00
md5
22046d2480 SCI: Added handling for another version of mt32.drv (bug #3285556)
This is used in another version of KQ4 early (0.000.274)
2011-04-13 10:29:24 +03:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
md5
b4051db142 SCI: Extended the script workaround for the sign reading script (bugs #3272735, #3275413) 2011-04-05 10:23:51 +03:00
Max Horn
a4eea36b84 SCI: Initialize newPlane fully before adding it to _planes 2011-04-04 09:53:26 +02:00
md5
f4905eafd1 SCI: Added workaround for script bug #3272735 - "SCI: QFG2: Crash when typing 'read sign'" 2011-04-04 09:59:20 +03:00
md5
bfef0f5a6f SCI: Fixed fading-related bugs #3267956 and #3041738 2011-04-03 19:02:14 +03:00
md5
6d90b0739a SCI: Show object names in the songlib console command 2011-04-03 19:01:20 +03:00
md5
407b9c9b2e SCI: Added a workaround for script bug #3268076 - "MOTHERGOOSE: Crash after finishing the game" 2011-04-03 15:19:19 +03:00
md5
9654068659 SCI: Fixed bug #3266480 and partially fixed bug #3041738
Hopefully, this will fix some of the oddities happening because of music fading
2011-04-03 14:37:15 +03:00
md5
51f733b2a6 SCI: Changed debug console hotkey to Control-Shift-D instead of Control-D.
Applied from patch #3258985.
The previous hotkey interfered with the hotkeys of some games (e.g.
the "time of day" hotkey in QFG2, bug #3250996).
2011-04-03 14:35:54 +03:00
Matthew Hoops
9fb10f98e2 SCI: Fix Mac SCI32 picture transparency 2011-04-02 22:35:23 -04:00
Lars Skovlund
3ea76f39f9 SCI: Fix SQ1 droid zapping issue with a script patch, thanks to
dhewg for reporting.
2011-04-02 19:54:53 +02:00
dhewg
23ad90b781 SCI: Replace not required emumidi header 2011-04-02 13:31:53 +02:00
Matthew Hoops
2a2c7f5bef SCI: Minor cleanup 2011-03-30 16:00:46 -04:00
Lars Skovlund
40d922206b SCI32: Support for views with 640x400 native resolution
(fixes Wolfgang closeup, room 720)
2011-03-30 21:30:51 +02:00
dhewg
d83a83ef50 JANITORIAL: Remove/comment unused vars
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29 21:57:56 +02:00
Matthew Hoops
5bc5e95e12 SCI: Add workaround for a GK1 pointer comparison 2011-03-29 13:48:07 -04:00
Matthew Hoops
e1883a6cf4 SCI: Limit SCI32 view scaling to when we're actually scaling
Fixes bug #3253208
2011-03-29 10:56:19 -04:00
D G Turner
344369c294 SCI: Fix Compilation with --enable-release set. 2011-03-28 22:45:01 +01:00
Johannes Schickel
ef3324f8b2 SCI: Add detection entry for my GK1 floppy version. 2011-03-28 19:07:17 +02:00
md5
4133945850 SCI: Renamed restAdjust to r_rest (like r_acc and r_prev) 2011-03-28 02:23:58 +03:00
md5
9adae61df3 SCI: Error out when kMemorySegment() is requested to save more than 256 bytes 2011-03-28 02:23:57 +03:00
md5
76b68bf88c SCI: Set the GC_INTERVAL define to its hexadecimal equivalent 2011-03-28 02:23:56 +03:00
md5
6487d05ddf SCI: Moved some debug functions from vm.cpp to scriptdebug.cpp 2011-03-27 01:52:23 +02:00
Walter van Niftrik
6501a86095 SCI: Fix default pan value in MIDI driver. 2011-03-27 00:04:28 +01:00
md5
6ec9c9f62d SCI: Removed the READ_VAR and WRITE_VAR wrappers 2011-03-26 12:25:48 +02:00
md5
cc074b013f SCI: Refactored and cleaned up the VM call stack handling code
- Removed the CallsStruct intermediate stack. Calls are inserted directly
in the execution stack
- Added a constructor for the ExecStack struct and removed
add_exec_stack_varselector() and add_exec_stack_entry()
2011-03-26 02:37:10 +02:00
md5
10d1a58cb2 SCI: Reordered some functions 2011-03-25 14:09:09 +02:00
md5
d86504ef88 SCI: Cleaned up the BreakpointType enum and documented the bpe command 2011-03-25 13:37:00 +02:00
md5
4ceb4838ed SCI: Cleaned up send_selector()
- Placed all of the associated debug code in a separate function
- Unified debug output
2011-03-25 13:25:38 +02:00
md5
1f5c3a6967 SCI: Extended a workaround for KQ7 to apply in all rooms 2011-03-25 07:42:27 +02:00
md5
c2274e9065 SCI: Make sure that planeOffsetX is always correctly initialized
Fixes several issues with the menu in KQ7. Thanks to vakons for his patch.
Fixes bug #3231867 - "KQ7 scrolling bug"
2011-03-25 07:41:55 +02:00
dhewg
c144bbf957 SCI: Add two TODOs 2011-03-25 00:41:01 +01:00
D G Turner
bcb9179a8b SCI: Close Memory Leak from kAnimate Calls.
This was due to a missing destructor in the HunkTable.
Thanks to wjp for this patch.
2011-03-24 20:59:20 +00:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
2011-03-23 15:25:47 +01:00
Max Horn
7b02dac3c5 ENGINES: Use Common::StackLock in more places 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
md5
89f9c5a9c3 SCI: Moved the engine hunk pointer processing code inside the GfxPorts class
This allows us make _windowList private again
2011-03-20 15:29:12 +02:00
md5
4df049f4d7 SCI: Added a new console command "window_list" or "wl"
This can be used to see a list of the currently open windows. Also, added
a sanity check for the "al" command and performed some minor cleanup
2011-03-20 14:56:13 +02:00
md5
a43689550e SCI: Removed forward references to obsolete classes 2011-03-20 14:54:36 +02:00
md5
1e68000def SCI: Added a new console command, "animate_list" or "al"
This shows the current animation list, along with object properties,
positions and the scripts they belong to
2011-03-20 04:10:29 +02:00
md5
4b371a9e7a SCI: Disabled the BTTR entry for LSL1 Amiga
This version it contains a broken resource.002 file inside disk 3, which
contains a large chunk of zeros and several broken resources (e.g. pic
250 and views 250 and 251).
2011-03-20 03:02:02 +02:00
dhewg
2def212de7 ALL: s/PI/M_PI/
Tip of the day: git grep -w PI
2011-03-19 11:24:06 +01:00
md5
0eb2c4709e SCI: Changed several places that use PI to use the standard M_PI instead 2011-03-19 02:22:06 +02:00
md5
156f1c0178 SCI: Added another leftover debug script in the find_callk console command 2011-03-19 01:57:39 +02:00
Max Horn
4130f66af2 SCI: Remove unused MAX_SAVE_DIR_SIZE 2011-03-18 14:43:52 +01:00
Matthew Hoops
8f40a18146 SCI: Remove a space at the end of a warning 2011-03-14 18:48:43 -04:00
Matthew Hoops
6864a6084d SCI: Fix the screen height of SQ1 Mac 2011-03-14 18:48:43 -04:00
Willem Jan Palenstijn
c1cdc49ac5 SCI: Add code to enumerate shadowed selectors
If an object defines more variables than its base class, some method
selectors may be hidden. This code tries to enumerate the affected
selectors. It may be useful for mass-scanning objects using
'find_callk Dummy'.

It's disabled by default currently since it does things to partially
uninitialized objects that I can't guarantee are 100% safe at this
point.
2011-03-14 20:34:16 +01:00
md5
4c5950dff2 SCI: Fixed find_callk
Create a custom segment manager within find_callk, so that the game's
segment manager won't be affected by loading and unloading scripts in there
2011-03-14 21:33:07 +02:00
md5
ca1f9a075f SCI: Got rid of VERIFY() and removed some newlines in error messages 2011-03-14 20:00:26 +02:00
md5
75319afbfd SCI: Ignore some more leftovers scripts in the find_callk console command 2011-03-14 19:59:30 +02:00
md5
58498dca8e SCI: Removed obsolete comment about kDoBresen() 2011-03-14 13:15:00 +02:00
Matthew Hoops
0b9e6675ef SCI: Add workaround for a QFG1 VGA Mac kFormat bug
Also, fix the kernel signature for kFormat to require two parameters
2011-03-13 22:01:41 -04:00
md5
9e1245c420 SCI: Fixed version and scene transitions for SCI1 Mac games 2011-03-13 23:50:40 +02:00
md5
fd2c39591f SCI: Fixed the flashing icon bar in the Mac version of Castle of Dr. Brain
Thanks to waltervn for his work and help on this
2011-03-13 23:34:08 +02:00
md5
d7c8ed0f5d SCI: Cleanup 2011-03-13 23:34:06 +02:00
md5
5a7c2e0df5 SCI: Fixed regression of rev b1055a3c86. Japanese games should work again 2011-03-13 23:34:05 +02:00
Willem Jan Palenstijn
0360b4ac95 SCI: Add reference to related bug to comment 2011-03-13 18:28:01 +01:00
Willem Jan Palenstijn
5b820cee64 SCI: Restore full object state after collision in DoBresen
This makes the workaround for the hang in the Colonel's Bequest
shower scene (bug #3122075) unnecessary.
2011-03-13 14:48:38 +01:00
md5
1566ef32b6 SCI: Added another version of QFG1 / Hero's Quest (bug #3206006) 2011-03-13 04:19:44 +02:00
Willem Jan Palenstijn
8918d5e66c SCI: Fix warning 2011-03-13 00:27:28 +01:00
Willem Jan Palenstijn
6fe95780d3 SCI: Continue disasm until no jumps go past the current opcode
This should ensure disasm will disassemble an entire function, and
not stop at an intermediate ret opcode.
2011-03-12 23:46:32 +01:00
md5
fa10ee66e4 SCI: Added proper fix for bug #3048054 - "LONGBOW: crash when opening hand code"
This was caused by a buggy script, most probably the result of an
incorrect copy/paste while processing the original script. Fixed with a
script patch.
2011-03-12 23:48:56 +02:00
md5
5dce3235e9 SCI: Some changes to the "dissassemble" command
Fixed a bug (the "bwt" and "bc" options were inversed) and added the
ability to skip a defined number of ret calls, useful when a function
continues after a ret call
2011-03-12 23:45:36 +02:00
md5
0bc9db7872 SCI: Added automatic detection for several selectors
This ensures that these selectors will be detected regardless of the game
ID, when they're missing
2011-03-12 18:33:32 +02:00
md5
0b8c57be84 SCI: Moved a heap patch from kScriptID() into script_patches.cpp 2011-03-12 00:57:45 +02:00
Willem Jan Palenstijn
bd6602ea6f SCI: Clarify fix for KQ5 witch freeze bug #3034714
The cause for this bug turns out to be a corrupt object that as
a side effect accidentally bypasses its own corruption. See the
added comments for details.

Also add a warning that points out similarly corrupted objects.
2011-03-11 23:09:13 +01:00
md5
2a37ed395c SCI: Fixed bug #3034714 - "KQ5CD: ScummVM freezes in dark forest"
This is a heap patch for an odd object used in that scene, which will
suffice for now (until we find why this works in SSCI). Thanks to wjp
for his help and work on this
2011-03-11 18:06:30 +02:00
Matthew Hoops
9a4e433f88 SCI: Fix mouse positions in upscaled games
A regression from 463e475bd6
2011-03-10 20:02:05 -05:00
Matthew Hoops
2cbcc76789 SCI: Fix uncompressed SCI1.1 views
A regression from d2ad7898d9
2011-03-10 18:45:51 -05:00
md5
bca82642a7 SCI: kPurge is the SCI2+ version of kFlushResources 2011-03-10 22:42:58 +02:00
md5
24df295328 SCI: Made some checks inside unditherBitmap() more understandable 2011-03-10 21:50:06 +02:00
md5
0929d1e12d SCI: Don't try to uninstantiate scripts marked as deleted
Trying to delete a script marked as deleted should do nothing. Hoyle 3
tried to uninstantiate scripts more than once, and we incorrectly
decreased the reference count of associated scripts more than once,
thereby killing them. This properly fixes bug #3038837 (removed the
hack for it). Many many thanks to wjp for his help on this :)
2011-03-10 19:18:37 +02:00
md5
91d2d04f90 SCI: Some renaming related to the undithering code
Renamed some variables, functions and comments related to the
undithering code, to make them a bit easier to understand
2011-03-10 18:05:59 +02:00
md5
60bad3754b SCI: Fixed regression (shift key) in the latest event code cleanup 2011-03-10 03:11:23 +02:00
md5
3ee4830b2e SCI: Don't patch the save/load dialogs in Shivers
Shivers uses a custom save/load system, so we can't replace its dialogs
2011-03-09 23:45:42 +02:00
md5
5c504739bd SCI: Removed unnecessary parameter from deallocate() 2011-03-09 23:33:26 +02:00
Walter van Niftrik
952d1a084c SCI: Implement Mac iconbar event handling. 2011-03-09 21:05:19 +01:00
Lars Skovlund
354e7d0588 Merge branch 'master' of github.com:scummvm/scummvm 2011-03-09 20:19:50 +01:00
Lars Skovlund
a55a211ddc SCI32: Reroute kSave(5) to kGetSaveFiles(). Any differences to pre-SCI32
kGetSaveFiles() should be worked out there.
2011-03-09 20:18:34 +01:00
md5
cd816b24d7 SCI: Whitespace fixes 2011-03-09 15:14:12 +02:00
md5
7e517b7808 SCI: Some cleanup and fixes to the view unpacking code
- Added comments for all the different view unpacking algorithms
- Merged the SCI1 VGA and SCI1.1 VGA unpacking code
- Fixed views in Longbow Amiga (the palette is still broken, though)
- Used memset()/memcpy() instead of looping through
- Fixed a regression of rev. d2ad789 (LSL1 Spanish, bug #3135872)
2011-03-09 15:06:42 +02:00
Johannes Schickel
463e475bd6 SCI: Save mouse position in SciEvent.
Instead of querying the event manager for the current mouse cursor coordinates
kGetEvent now uses the saved mouse positions, which will assure every event
will be processed with the correct coordinates instead of the current ones.
Various other functions using SciEvent directly were adapted too.

This fixes cursor click positions for the WinCE backend.

Thanks to wjp and waltervn for helping me with this.
2011-03-09 01:19:12 +01:00
md5
906f024831 SCI: Cleanup of the event code 2011-03-09 01:47:53 +02:00
Willem Jan Palenstijn
eece58df7f SCI: Remove unused argument to said 2011-03-08 22:50:32 +01:00
md5
12e7d3078b SCI: Cleanup 2011-03-08 20:13:08 +02:00
md5
92093d267f SCI: Fixed typos 2011-03-08 15:24:59 +02:00
md5
0642b30933 SCI: Cleanup 2011-03-08 14:46:03 +02:00
md5
6a31e398f7 SCI: Comparisons between pointers and numbers are also done in SCI1.1
Fixes SQ4CD
2011-03-08 13:44:09 +02:00
Max Horn
2cbefc8bb5 SCI: Constify some code 2011-03-07 23:21:35 +01:00
Matthew Hoops
e815102659 Merge branch 'pe_exe' of https://github.com/clone2727/scummvm into clone2727-pe_exe 2011-03-07 17:07:59 -05:00
md5
4ddc66d68e SCI: Initial handling of the views in Longbow Amiga. Still not right 2011-03-07 13:23:52 +02:00
Matthew Hoops
6582b77f1c SCUMM: Use the new WinCursor code in SCUMM HE
Also, updated the MacResManager cursor code to reflect the SCUMM resource extractor code changes
2011-03-06 19:57:18 -05:00
Matthew Hoops
df1a800d01 SCI: Fix KQ6 Mac inventory cursors 2011-03-06 18:36:45 -05:00
Matthew Hoops
adfa5e1b86 SCI: Fix Mac SCI1.1 view decompression
A regression from d2ad7898d9
2011-03-06 12:46:01 -05:00
eriktorbjorn
6a8fadeec8 SCI: Silence GCC warning 2011-03-06 18:39:26 +01:00
md5
d2ad7898d9 SCI: Merged the cel data unpacking code for views and pictures 2011-03-06 19:22:32 +02:00
md5
0698ee61ab SCI: Some changes to picture drawing
- Fixed picture drawing for Longbow Amiga (view drawing is still wrong,
though)
- Added debug output for picture drawing
2011-03-06 17:30:14 +02:00
Lars Skovlund
1ad4feaf05 SCI: Further clarify comment 2011-03-05 21:46:03 +01:00
md5
b16967fece SCI: Cleared up the different view types and ordered them by color count 2011-03-05 18:47:14 +02:00
md5
dbd3f440d2 SCI: Added some support code for Longbow Amiga 2011-03-05 18:47:13 +02:00
Matthew Hoops
dbaad1a896 SCI: Fix Mac icon bar palette match order 2011-03-04 19:48:14 -05:00
Walter van Niftrik
a2b75466da SCI: Add comment. 2011-03-05 01:15:06 +01:00
Walter van Niftrik
23dcd3c761 SCI: Remove SCI version check from READ/WRITE_SCI1ENDIAN_UINT16. 2011-03-04 21:55:39 +01:00
Walter van Niftrik
39902452a2 SCI: Fix reg_t ASCII printing in debugger for BE. 2011-03-04 21:12:00 +01:00
Walter van Niftrik
f96e93047a SCI: Use BE string handling for Mac games. 2011-03-04 21:12:00 +01:00
md5
d95b5331fb SCI: Some palette related changes
- Moved palette color count inside the GfxPalette class
- Enabled all of the kPalette subops for 16 color SCI1 games, apart from
the ones for intensity palette animation, and palette resource loading
- Removed isVGA() and isAmiga32color() methods from the resource manager -
they ended up in having inconsistent code
2011-03-04 22:04:13 +02:00
md5
5b9677da72 SCI: Cleaned up some view type checks 2011-03-04 22:04:12 +02:00
md5
bc992d77de SCI: Enable fade transitions for SCI1 EGA games 2011-03-04 22:04:11 +02:00
Willem Jan Palenstijn
b40b87fdb5 SCI: Fix flood fill matching in EGA mode
In EGA games a pixel in the framebuffer is only 4 bits. We store a full
byte per pixel to allow undithering, but when comparing pixels for
flood-fill purposes, we should only compare the visible color of a
pixel.

This fixes bug #3078365 in Iceman.
2011-03-04 18:24:46 +01:00
md5
ef939772b3 SCI: Added support for 16/32 color view and picture patches
16 color patches (*.p16 and *.v16) are used in 16 color EGA SCI1 games
32 color patches (*.p32 and *.v32) are used in 32 color Amiga SCI1 games
Removed a workaround for SCI1 EGA (bug #3044500), as that bug has been
fixed already in the view patch. Thanks to waltervn for observing this.
2011-03-04 17:16:54 +02:00
md5
fe7d2026b1 SCI: Added a comment for the additional code in kDisplay
This extra code that is responsible for changing text placing has been
found in SCI1 middle (i.e. LSL1VGA) and newer games
2011-03-04 14:37:41 +02:00
md5
6b41673fab SCI: Amiga SCI1 middle games are actually SCI1 late
This fixes a lot of glitches, caused by the differences between the two
versions
2011-03-04 14:27:25 +02:00
md5
4314a61ab4 SCI: Fixed a issue with signed characters in setChar()
This was visible in the password of LSL5 Amiga. Thanks to waltervn for
finding this
2011-03-04 14:26:23 +02:00
md5
08af1d9d3f SCI: Don't patch save/restore dialogs in Phantasmagoria
That game has its own custom made save/load system
2011-03-04 01:42:53 +02:00
md5
18c0dae5fc SCI: Removed warning from kReadNumber 2011-03-04 01:42:09 +02:00
Willem Jan Palenstijn
78c00744c2 SCI: Add fixme for EGA flood fill bug (#3078365) 2011-03-04 00:28:23 +01:00
md5
1bdc6db980 SCI21: Now replacing save/restore dialogs in SCI2.1 and newer games 2011-03-04 00:25:23 +02:00
md5
9cc12cfc97 SCI21: kSave(1) is kRestoreGame 2011-03-04 00:25:22 +02:00
md5
e286b1b5f1 SCI: Removed a hack for SCI1 Amiga games in setOnScreen() 2011-03-04 00:25:21 +02:00
md5
c8225c9c0e SCI: Amiga SCI1 middle games use the new PC SCI1 late transition effects 2011-03-04 00:25:20 +02:00
md5
aaa6c9a071 SCI: Improved debug output of validate_property() 2011-03-04 00:25:19 +02:00
md5
f9354eb4d8 SCI: Fixed comment in pointerComparisonWithInteger() 2011-03-03 20:45:22 +02:00
md5
ea232049c9 SCI: Fixed a silly bug in WRITE_SCI1ENDIAN_UINT16, and unified the way
that the utility READ_* and WRITE_* operations are made
2011-03-03 19:49:09 +02:00
md5
00b37f8552 SCI: Simplified arithmetic reg_t operations, based on fingolfin's comments
- Folded all comparison operators in a single function, cmp()
- Simplified the + operator, and removed the SQ1 workaround, as it's not
needed anymore
- Removed the workaround for uninitialized variables in the * operator
- Removed division by zero workarounds in the / and % operators
- Added a better description of pointerComparisonWithInteger(), based
on fingolfin's description and comments. Also, changed the SCI versions
where this is used to SCI0-SCI1. The SCI1.1 case in QFG3 was a script
bug
2011-03-03 19:38:30 +02:00
md5
51437ba5e6 SCI: Fixed path finding in Amiga SCI1 games
Added wrapper functions to read/write from dynmem segments, as these are
treated as BE in Amiga versions (as we treat them like raw data instead
of reg_t's), whereas the rest are LE. Thanks to waltervn and wjp for their
help on this
2011-03-03 19:34:11 +02:00
md5
1aed9a1f34 SCI: Applied save/load dialog patching to all SCI0-SCI2.1 early games
Games that have the newer SCI2.1 kernel functions (i.e. kSave instead of
kSaveGame/kRestoreGame) aren't supported yet
2011-03-03 19:31:47 +02:00
Max Horn
ee86d6eb61 SCI: Make some reg_t methods private resp. inline 2011-03-03 16:38:26 +01:00
md5
d2acad39c8 SCI: Always clear looping and hold before jumpToTick() is called
Fixes a crash in LSL3 Amiga
2011-03-03 12:45:03 +02:00
md5
9af4453ee5 SCI: Don't ignore SysEx messages at the driver level but warn instead
SysEx messages in the driver are usually the result of a bug which should
be investigated and not silently ignored
2011-03-03 11:18:59 +02:00
md5
9d6ed4de31 SCI: Slight cleanup of some sound drivers 2011-03-03 01:47:08 +02:00
Willem Jan Palenstijn
3f05221334 SCI: Always add new windows to back of list up to SCI_1_EGA_ONLY.
Confirmed this behaviour in KQ1sci, KQ4, Iceman and QfG2.
Hoyle3-demo remains an exception.
2011-03-02 23:48:57 +01:00
Willem Jan Palenstijn
1ef1f3e671 SCI: Call Graph(RedrawBox) from EndUpdate for SCI0/01
Confirmed this behaviour in KQ1sci, KQ4, Iceman, and that
it isn't present in QfG2 and KQ5CD.

This fixes the graphics glitch in KQ4 when falling down the
stairs in room 61 (#3039775).
2011-03-02 23:48:57 +01:00
Willem Jan Palenstijn
a55179177e Revert "SCI: Fixed bug #3039775 - "KQ4: Graphics glitch [...]""
This reverts commit 74e99328ec.
SSCI takes care of this issue in a different manner, which
the next commit emulates.
2011-03-02 23:48:57 +01:00
md5
b1055a3c86 SCI: Fixed bug #3040161 - "LONGBOW: Textbox glitch"
GetLongest() could exceed the maximum width with the very last
character of a word. The same fix has been applied to the SCI32 code.
2011-03-02 20:38:21 +02:00
md5
ba42c6ff7d SCI: Fixed text positioning in the credits screen of Dr. Brain Amiga
The additional text positioning code in kDisplay was added in SCI1
middle, not SCI1 late. Also, did some slight cleanup
2011-03-02 20:07:46 +02:00
Matthew Hoops
167ff5dd1b SCI: Fix garbage collection for SCI32
SCI32 has no ports
2011-03-02 10:20:31 -05:00
md5
840178a907 SCI: Bug fixes to the reg_t addition operator
Thanks to fingolfin's comments regarding these
2011-03-02 16:33:12 +02:00
md5
74e99328ec SCI: Fixed bug #3039775 - "KQ4: Graphics glitch in the mansion tower" 2011-03-02 10:48:44 +02:00
Willem Jan Palenstijn
5972a6bbe9 SCI: Fix variable name 2011-03-02 08:37:22 +01:00
md5
c3d8f5610f SCI: Fixed script bug #3059871 - "SCI Fanmade - Ocean Battle: Crash while playing" 2011-03-02 08:25:35 +02:00
md5
ed7c481e93 SCI: Cleanup 2011-03-02 08:24:31 +02:00
Willem Jan Palenstijn
bc48b124f0 SCI: Change workaround for hoyle3-demo's rendering order
This behaviour much more closely matches SSCI.
2011-03-02 00:48:21 +01:00
md5
acb9879bb1 SCI: Fixed the background color of the status bar in Amiga versions 2011-03-01 18:29:34 +02:00
md5
d149405d79 SCI: Fixed bug #3039188 - "LSL2 Amiga: Failed to Initialize Sound Driver error"
This was a signed/unsigned issue. Also fixed compilation when DEBUG is
enabled. Thanks to waltervn for his help on this.
2011-03-01 16:28:08 +02:00
Willem Jan Palenstijn
db536da8d3 SCI: Skip Ports when iterating over Windows in GC 2011-02-28 21:37:12 +01:00
Willem Jan Palenstijn
ce288024b4 SCI: Fix crash with hunk refs in logkernel output 2011-02-28 21:37:12 +01:00
md5
3574235ba4 SCI: Removed the script patch for the scrubbing scene. The crash no longer occurs with the latest fixes to kDoBresen 2011-02-28 22:33:45 +02:00
md5
194081e7ae SCI: Removed several workarounds which are no longer needed, after the changes regarding hunk pointers in r0d555c4 2011-02-28 22:32:41 +02:00
md5
9fb1cbfc4e SCI: Added CD flags to the CD versions of LSL6 2011-02-28 22:24:21 +02:00
Lars Skovlund
baa9cbf45c SCI: Add workaround for PQ:SWAT.
This is a bug in the SCI32 class library, and there are similar workarounds
for a number of SCI32 games.
2011-02-28 21:20:54 +01:00
md5
0d555c497d SCI: Moved hunk pointer handling to the GC, and removed some related workarounds
SCI scripts can contain stale pointers, which are used later on. We now delete
the contents of hunk entries without invalidating the relevant pointers and let
the GC clear the references. Many thanks to waltervn and wjp for all their work
and help on this.
2011-02-28 15:56:03 +02:00
Willem Jan Palenstijn
9a60c58a8d SCI: Add FIXME comment to workaround 2011-02-28 10:17:35 +01:00
md5
1dcce4445c SCI: Reverted rc7bfbc3 and fixed the actual cause of bug #3106107
While fast forwarding a song, disable its hold value together with any possible
sound looping, so that the song won't loop forever.
2011-02-28 01:06:29 +02:00
md5
c7bfbc31e2 SCI: Fixed bug #3106107 - "QFG3: Crash when saving outside palace"
Ignore requests to alter a song's hold value while it's being faded, and reset
a song's hold value when fading starts. This ensures that the song will actually
stop when fading is done and won't keep looping forever.
2011-02-28 00:18:23 +02: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
Willem Jan Palenstijn
d17a889400 SCI: Fix negative window origin alignment.
SSCI does a shr 1; shl 1 here in SetOrigin.
This fixes a crash in the ending scene of SQ3 (#3194199).
2011-02-27 18:17:22 +01:00
md5
332abb91f3 SCI: Fixed GUI option flags for PQ:SWAT 2011-02-27 16:55:28 +02:00
Willem Jan Palenstijn
d7112b5bbc SCI: Remove kDoBresen special case for SCI_VERSION_1_EGA_ONLY
Confirmed with QfG2 disassembly (the only 1_EGA_ONLY game)
that it behaves the same as SCI_VERSION_1_EARLY games, except
for the uninitialized read already mentioned in kDoBresen.
2011-02-27 15:52:19 +01: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
Lars Skovlund
65b9e1784d SCI: Detect the version of PQ SWAT from gog.com 2011-02-27 15:20:02 +01:00
md5
37d610efd3 SCI: Improved the readability of the kDoBresen code a bit 2011-02-27 16:15:33 +02:00
Willem Jan Palenstijn
db89e9a42c SCI: Don't set b_movCnt to moveSpeed while walking
This fixes moonwalking in LSL1 and movement speed in KQ5.
It appears to be have been a RE bug.
2011-02-27 14:52:13 +01:00
Ori Avtalion
da62869baf SCI: Avoid hiding overloaded virtual methods 2011-02-26 21:22:03 +02:00
md5
9bd5e8ff15 SCI: Cleanup 2011-02-26 19:10:12 +02:00
md5
fe04339909 SCI: Removed the SCI32 version of kernelDrawCel() and placed its code inside the debug function cmdDrawCel, as it was hacked together to be used specifically in that command (thanks to salty-horse for spotting this) 2011-02-26 19:07:31 +02:00
md5
ab256842e4 SCI: Added a TODO concerning the workaround for SQ1EGA, as we don't know if it happens in the original version 2011-02-26 18:47:23 +02:00
md5
49f3f5e1e8 SCI: Fixed a memory leak. Thanks to digitall for finding this using Valgrind 2011-02-26 16:30:47 +02:00
md5
88235cee7c SCI: Some slight fixes for the code that reads the LSL2 early MT32.DLL driver, thanks to waltervn 2011-02-26 15:27:01 +02:00
md5
8571083700 SCI2+: Mention that the actual problem with text wrapping happens because of the unimplemented kTextSize kernel call in SCI32 2011-02-26 06:13:08 +02:00
md5
318c51a202 SCI: Added support for reading data off the MT32.DRV driver found in LSL2 early (bug #3192627) 2011-02-26 05:22:10 +02:00
md5
67aee1ebd8 SCI: Slight cleanup in the animate code 2011-02-26 05:19:11 +02:00
md5
8024f40638 SCI: Changed the fix for the intro of Longbow (bug #3044844) into a hack for that scene. Fixes the freeze in LSL6 (bug #3192166). Fading in KQ5 is unaffected by this. 2011-02-25 21:45:39 +02:00
md5
e0ce5a61b5 SCI: Added an initial implementation of RemapByPercent, which fixes the palette in the PQ:SWAT demo 2011-02-24 21:27:31 +02:00
md5
f890c1b6ed SCI: Fixed video playing in the PQ:SWAT demo 2011-02-24 21:27:30 +02:00
md5
8bd01f69b2 SCI: Added a workaround for script bug #3044500 - "SQ1EGA: Skimmer-Buyer Dialogue Portrait Backwards Anim" 2011-02-24 16:35:19 +02:00
md5
9ad4ad1abc SCI: Fixed two bugs related to music fading
- bug #3037594: "KQ5: Music not fading when brigands leave temple"
- bug #3044844: "LONGBOW: Intro skips each first verse of song"
2011-02-24 02:17:28 +02:00