aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2011-03-05SCI: Further clarify commentLars Skovlund
2011-03-05SCI: Added some support code for Longbow Amigamd5
2011-03-04SCI: Remove SCI version check from READ/WRITE_SCI1ENDIAN_UINT16.Walter van Niftrik
2011-03-04SCI: Use BE string handling for Mac games.Walter van Niftrik
2011-03-04SCI: Some palette related changesmd5
- 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-04SCI: Fixed a issue with signed characters in setChar()md5
This was visible in the password of LSL5 Amiga. Thanks to waltervn for finding this
2011-03-04SCI: Removed warning from kReadNumbermd5
2011-03-04SCI21: kSave(1) is kRestoreGamemd5
2011-03-04SCI: Improved debug output of validate_property()md5
2011-03-03SCI: Fixed comment in pointerComparisonWithInteger()md5
2011-03-03SCI: Simplified arithmetic reg_t operations, based on fingolfin's commentsmd5
- 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-03SCI: Fixed path finding in Amiga SCI1 gamesmd5
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-03SCI: Make some reg_t methods private resp. inlineMax Horn
2011-03-02SCI: Fixed text positioning in the credits screen of Dr. Brain Amigamd5
The additional text positioning code in kDisplay was added in SCI1 middle, not SCI1 late. Also, did some slight cleanup
2011-03-02SCI: Fix garbage collection for SCI32Matthew Hoops
SCI32 has no ports
2011-03-02SCI: Bug fixes to the reg_t addition operatormd5
Thanks to fingolfin's comments regarding these
2011-03-02SCI: Fixed script bug #3059871 - "SCI Fanmade - Ocean Battle: Crash while ↵md5
playing"
2011-03-02SCI: Cleanupmd5
2011-03-01SCI: Fixed the background color of the status bar in Amiga versionsmd5
2011-02-28SCI: Skip Ports when iterating over Windows in GCWillem Jan Palenstijn
2011-02-28SCI: Fix crash with hunk refs in logkernel outputWillem Jan Palenstijn
2011-02-28SCI: Removed the script patch for the scrubbing scene. The crash no longer ↵md5
occurs with the latest fixes to kDoBresen
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