aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2011-02-28SCI: Removed several workarounds which are no longer needed, after the ↵md5
changes regarding hunk pointers in r0d555c4
2011-02-28SCI: Add workaround for PQ:SWAT.Lars Skovlund
This is a bug in the SCI32 class library, and there are similar workarounds for a number of SCI32 games.
2011-02-28SCI: Moved hunk pointer handling to the GC, and removed some related workaroundsmd5
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-28SCI: Add FIXME comment to workaroundWillem Jan Palenstijn
2011-02-28SCI: Cleanup of the save/load dialog patching code and the lofs type ↵md5
detection code
2011-02-27SCI: Remove kDoBresen special case for SCI_VERSION_1_EGA_ONLYWillem Jan Palenstijn
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-27SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLYmd5
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-27SCI: Improved the readability of the kDoBresen code a bitmd5
2011-02-27SCI: Don't set b_movCnt to moveSpeed while walkingWillem Jan Palenstijn
This fixes moonwalking in LSL1 and movement speed in KQ5. It appears to be have been a RE bug.
2011-02-26SCI: Fixed a memory leak. Thanks to digitall for finding this using Valgrindmd5
2011-02-26SCI2+: Mention that the actual problem with text wrapping happens because of ↵md5
the unimplemented kTextSize kernel call in SCI32
2011-02-24SCI: Added an initial implementation of RemapByPercent, which fixes the ↵md5
palette in the PQ:SWAT demo
2011-02-24SCI: Added a patch for script bug #3034579 - "KQ6CD: Missing speech"md5
2011-02-22SCI: Some work on kRemapColors, and added a note that it operates on an RGBAmd5
palette
2011-02-22SCI: Added code to aid in detecting infinite loops in scriptsmd5
When the ABORT_ON_INFINITE_LOOP define is defined in vm.cpp, the VM will now abort in cases where a conditional statement is followed by an unconditional jump (which will most likely lead to an infinite loop). Aids in detecting infinite loop bugs such as #3040722.
2011-02-21SCI: Spell 'canister' correctlyMatthew Hoops
2011-02-21SCI: Fixed script bug #3040722 in QFG3md5
2011-02-21SCI: Throw a warning instead of an error if there ever is a modulus calculationmd5
with negative numbers in SCI0 games older than 0.000.685
2011-02-21SCI: SCI1.1 script also compare pointers with integers (e.g. QFG3, room 440)md5
2011-02-21SCI: Added a custom modulo reg_t operatormd5
This version only handles signed integers. The modulo operator was changed in SCI0 late (Iceman, and perhaps all SCI0 0.000.685 and later) so that it handles negative numbers as well. We need to see if there really is a need to keep two different modulo operators (which will only be necessary if any SCI0 game asks for the modulo of a negative number by mistake, or a number larger than 32767). Thus, error out in such a case for SCI0, so that this can be investigated properly
2011-02-20SCI: Add support for enabling/disabling Mac icon bar imagesMatthew Hoops
2011-02-20SCI: Fix KQ6 Mac video positioningMatthew Hoops
2011-02-20SCI: Moved the gcCountdown() code inside the op_callk case, since that's the ↵md5
only place where it's used
2011-02-19SCI: Some spacing fixes and typosmd5
2011-02-19SCI: Refactored the reg_t related operations and comparisonsmd5
This refactoring reduces a lot of code duplication, allows for better control, makes the code more readable and allows us to remove a lot of now unneeded workarounds
2011-02-16SCI: Add workaround for uninitialized read in KQ5 FM TownsMatthew Hoops
Thanks to alexbevi
2011-02-16SCI: Add support for the KQ5 FM Towns resource formatMatthew Hoops
Thanks to alexbevi for providing details on the format
2011-02-15SCI: Fill in the remaining Mac-specific kPlatform subopsMatthew Hoops
2011-02-15SCI: Cleaned up kMapKeyToDir and removed an incorrect heuristicmd5
The heuristic in question was used to detect the pseudo mouse control functionality, however the change in controls seems to have occurred with the transition to cursor views. Fixes keypad control in Conquest of the Longbow. Moreover, the code also checked for key scan code 76 when checking for the middle keypad button, which seems to be a mistake, as that case never occurred.
2011-02-15SCI: Removed several redundant helper functionsmd5
Removed validate_arithmetic(), signed_validate_arithmetic(), validate_unsignedInteger() and validate_signedInteger()
2011-02-14SCI: Fix loading SCI32 gamesMatthew Hoops
The frames/items in GfxFrameout need to be cleared upon loading
2011-02-15SCI2+: Set the correct segment for SCI32 strings/arrays when loadingmd5
This was an omission, observed after a discussion with clone2727
2011-02-14SCI: Fix loading pre-version 28 saved gamesMatthew Hoops
This is a regression from a9b051beff3157e1aa8
2011-02-13Remove erroneous comment. It reflected a false belief resulting fromLars Skovlund
a missing parameter check, which has also been added.
2011-02-13SCI: Switch to true color mode for the GK2 demo Indeo3 videoMatthew Hoops
2011-02-13SCI: Fix VMD coordinatesMatthew Hoops
The suffix check for "vmd" failed for uppercase files.
2011-02-12JANITORIAL: Remove extraneous parenthesesOri Avtalion
svn-id: r55890
2011-02-11SCI: Simplify SegManager::saveLoadWithSerializer, cleanupMax Horn
svn-id: r55883
2011-02-10SCI: Added a workaround for MUMG DeluxeFilippos Karapetis
svn-id: r55873
2011-02-10SCI: Added resource manager support for changing the audio directory ↵Filippos Karapetis
dynamically. Also, moved some audio-specific resource code inside resource_audio.cpp This functionality is used by kSetLanguage(), called when switching the language in MUMG Deluxe from the game's main menu. svn-id: r55872
2011-02-10SCI: Fix (rare) leak in kSaveGame, tweak kFileIOFindNext, cleanupMax Horn
svn-id: r55867
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-02-09SCI: Do not try to dereference object name when it's not a pointer.Walter van Niftrik
Stops flood of warnings in some Mac titles. svn-id: r55849
2011-02-08SCI: Changed the warning when applying script patches into a debug output callFilippos Karapetis
svn-id: r55837
2011-02-08SCI: Some work on robot videosFilippos Karapetis
- The size of the videos is now calculated when they are loaded (this helps remove some nasty hacks and constant memory reallocations and simplifies the code) - Some work on frame placement (e.g. in robot 1305, Phantasmagoria) svn-id: r55830
2011-02-07GUI: Rename SaveLoadChooser::runModal to runModalWithPluginAndTargetMax Horn
This avoids hiding an overloaded virtual method, which in turn can cause weird bugs (see also the next commit). svn-id: r55815
2011-02-07SCI: Converted the robot decoder into a regular video decoder, and decoupled ↵Filippos Karapetis
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-06SCI: Improve Mac SCI1.1+ cursor supportMatthew Hoops
The scripts can pass a list of view id's from the DOS version that get remapped to CURS/crsr id's. GK1 cursors now work and Phantasmagoria uses the correct ones. svn-id: r55791
2011-02-05SCI: Add support for BE selector name tablesMatthew Hoops
svn-id: r55780
2011-02-04SCI: Rewrote the robot playing code in a way similar to other video decodersFilippos Karapetis
- The code now streams videos instead of loading them in memory, without utilizing seeking - Removed the sound-related robot code from the graphics classes - Started implementing the code for the sound in robot videos (still not finished) svn-id: r55772