aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2011-03-23AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclassesMax Horn
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-23ENGINES: Use Common::StackLock in more placesMax Horn
2011-03-22AUDIO: Add pure virtual MidiDriver::isOpen() methodMax Horn
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-20SCI: Moved the engine hunk pointer processing code inside the GfxPorts classmd5
This allows us make _windowList private again
2011-03-20SCI: Added a new console command "window_list" or "wl"md5
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-20SCI: Removed forward references to obsolete classesmd5
2011-03-20SCI: Added a new console command, "animate_list" or "al"md5
This shows the current animation list, along with object properties, positions and the scripts they belong to
2011-03-20SCI: Disabled the BTTR entry for LSL1 Amigamd5
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-19ALL: s/PI/M_PI/dhewg
Tip of the day: git grep -w PI
2011-03-19SCI: Changed several places that use PI to use the standard M_PI insteadmd5
2011-03-19SCI: Added another leftover debug script in the find_callk console commandmd5
2011-03-18SCI: Remove unused MAX_SAVE_DIR_SIZEMax Horn
2011-03-14SCI: Remove a space at the end of a warningMatthew Hoops
2011-03-14SCI: Fix the screen height of SQ1 MacMatthew Hoops
2011-03-14SCI: Add code to enumerate shadowed selectorsWillem Jan Palenstijn
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-14SCI: Fixed find_callkmd5
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-14SCI: Got rid of VERIFY() and removed some newlines in error messagesmd5
2011-03-14SCI: Ignore some more leftovers scripts in the find_callk console commandmd5
2011-03-14SCI: Removed obsolete comment about kDoBresen()md5
2011-03-13SCI: Add workaround for a QFG1 VGA Mac kFormat bugMatthew Hoops
Also, fix the kernel signature for kFormat to require two parameters
2011-03-13SCI: Fixed version and scene transitions for SCI1 Mac gamesmd5
2011-03-13SCI: Fixed the flashing icon bar in the Mac version of Castle of Dr. Brainmd5
Thanks to waltervn for his work and help on this
2011-03-13SCI: Cleanupmd5
2011-03-13SCI: Fixed regression of rev b1055a3c86. Japanese games should work againmd5
2011-03-13SCI: Add reference to related bug to commentWillem Jan Palenstijn
2011-03-13SCI: Restore full object state after collision in DoBresenWillem Jan Palenstijn
This makes the workaround for the hang in the Colonel's Bequest shower scene (bug #3122075) unnecessary.
2011-03-13SCI: Added another version of QFG1 / Hero's Quest (bug #3206006)md5
2011-03-13SCI: Fix warningWillem Jan Palenstijn
2011-03-12SCI: Continue disasm until no jumps go past the current opcodeWillem Jan Palenstijn
This should ensure disasm will disassemble an entire function, and not stop at an intermediate ret opcode.
2011-03-12SCI: Added proper fix for bug #3048054 - "LONGBOW: crash when opening hand code"md5
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-12SCI: Some changes to the "dissassemble" commandmd5
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-12SCI: Added automatic detection for several selectorsmd5
This ensures that these selectors will be detected regardless of the game ID, when they're missing
2011-03-12SCI: Moved a heap patch from kScriptID() into script_patches.cppmd5
2011-03-11SCI: Clarify fix for KQ5 witch freeze bug #3034714Willem Jan Palenstijn
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-11SCI: Fixed bug #3034714 - "KQ5CD: ScummVM freezes in dark forest"md5
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-10SCI: Fix mouse positions in upscaled gamesMatthew Hoops
A regression from 463e475bd65
2011-03-10SCI: Fix uncompressed SCI1.1 viewsMatthew Hoops
A regression from d2ad7898d93
2011-03-10SCI: kPurge is the SCI2+ version of kFlushResourcesmd5
2011-03-10SCI: Made some checks inside unditherBitmap() more understandablemd5
2011-03-10SCI: Don't try to uninstantiate scripts marked as deletedmd5
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-10SCI: Some renaming related to the undithering codemd5
Renamed some variables, functions and comments related to the undithering code, to make them a bit easier to understand
2011-03-10SCI: Fixed regression (shift key) in the latest event code cleanupmd5
2011-03-09SCI: Don't patch the save/load dialogs in Shiversmd5
Shivers uses a custom save/load system, so we can't replace its dialogs
2011-03-09SCI: Removed unnecessary parameter from deallocate()md5
2011-03-09SCI: Implement Mac iconbar event handling.Walter van Niftrik
2011-03-09Merge branch 'master' of github.com:scummvm/scummvmLars Skovlund
2011-03-09SCI32: Reroute kSave(5) to kGetSaveFiles(). Any differences to pre-SCI32Lars Skovlund
kGetSaveFiles() should be worked out there.
2011-03-09SCI: Whitespace fixesmd5
2011-03-09SCI: Some cleanup and fixes to the view unpacking codemd5
- 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-09SCI: Save mouse position in SciEvent.Johannes Schickel
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.