5500 Commits

Author SHA1 Message Date
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 463e475bd65
2011-03-10 20:02:05 -05:00
Matthew Hoops
2cbcc76789 SCI: Fix uncompressed SCI1.1 views
A regression from d2ad7898d93
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