aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2012-07-03SCI: Remove an unnecessary warning and related FIXME commentsFilippos Karapetis
It's perfectly normal behavior to have locals with a smaller segment ID than the ID of their respective script, e.g. when scripts are uninstantiated and then instantiated again
2012-07-03SCI: Remove unnecessary const-castWillem Jan Palenstijn
2012-07-02SCI: Add a hack for a bug in the script handling codeFilippos Karapetis
When resetting the segment manager, sometimes the locals block for a script is placed in a segment smaller than the script itself. This shouldn't be happening, but it isn't fatal, however it should be resolved in a proper manner
2012-07-02SCI: Fix a workaround for an uninitialized variable in SQ4CDFilippos Karapetis
This makes sure that the workaround works for subclassed objects as well, such as "theProfessor" talker. Fixes bug #3539350 - "SCI: SQ4 CD - Crash in sewer when text and speech enabled"
2012-07-01Merge pull request #239 from bluegr/skipsavecompressionFilippos Karapetis
COMMON: Allow the savefile manager to create uncompressed saves
2012-06-28SCI: Fix bug #3538418 in SQ4CDFilippos Karapetis
Add a script patch for another speech/subtitles script, which handles the babble icon shown in the quit/death dialogs (e.g. the two guys from Andromeda in the quit dialog). Now, these dialogs have speech both in the speech and the speech + subtitles modes
2012-06-28SCI: Remove an incorrect error check in validateExportFunc()Filippos Karapetis
2012-06-26SCI: Rename a parameter in validateExportFunc()Filippos Karapetis
This ensures that it won't be confused with a function with the same name
2012-06-24SCI: Add a workaround for script bug #3537232Filippos Karapetis
The bug in question is "SCI: SQ4 Floppy DOS title screen skipping too quickly", and is caused by game scripts not waiting between palette calls
2012-06-23SCI: Change the program counter (PC) to be a 32-bit variableFilippos Karapetis
This is needed for future support of large SCI3 scripts. The program counter is isolated and does not interfere with other parts of the VM, plus it does not get stored in saved games, so it's pretty straightforward to convert
2012-06-23SCI: Clean up validateExportFunc() and related functionsFilippos Karapetis
Also renamed some SCI3 related code to indicate when it's SCI3 specific
2012-06-23SCI: Add support for the debug opcode "file" in our script dissassemblerFilippos Karapetis
Also set the correct name for the debug opcode "line"
2012-06-23SCI: Remove a duplicate sanity checkFilippos Karapetis
2012-06-23SCI: Implement kPlayVMD subop 23 (set palette range)Filippos Karapetis
Fixes the wrong palette during video sequences in GK2 and the demo of RAMA
2012-06-21SCI: Fix silly typoFilippos Karapetis
Thanks to digitall for spotting this
2012-06-21SCI: Fix warningsFilippos Karapetis
2012-06-21SCI: Don't compress exported heroes in the Quest for Glory gamesFilippos Karapetis
This allows them to be used by other games in the series not supported by ScummVM (i.e. QFG4, QFG5 and the fanmade AGS version of QFG2)
2012-06-20Merge pull request #246 from lordhoto/osystem-void-buffersJohannes Schickel
OSYSTEM: Use void buffers for screen/overlay/mouse buffers and proper pitch values for overlay code
2012-06-20SCI: Change kRemapColors(5) again. Fixes the colors in QFG4Filippos Karapetis
2012-06-20SCI: Add a warning for kRemapColors(RemapByPercent)Filippos Karapetis
2012-06-20SCI: Implement kRemapColors(5 - set color intensity)Filippos Karapetis
It's finally nighttime in the first murder scene in PQ4
2012-06-18SCI: Store script sizes in 32-bit integersFilippos Karapetis
Since scripts can be larger than 64KB, and getBufSize() returns a 32-bit integer, adapt variables that store script sizes accordingly
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
2012-06-18SCI: Add a check for empty VMD file namesFilippos Karapetis
2012-06-16SCI: Get rid of casts on OSystem::copyRectToScreen calls.Johannes Schickel
2012-06-15SCI: Change getClassAddress() to only require the caller segmentFilippos Karapetis
The caller offset is never actually used inside the function
2012-06-15SCI: Replace RAW_IS_OBJECT with a methodFilippos Karapetis
2012-06-15SCI: Fix warningsFilippos Karapetis
Thanks to DrMcCoy for reporting them
2012-06-15Revert "SCI: Change Script::getObject() to accept a reg_t"Filippos Karapetis
This reverts commit 577d7e41c9ca2c498dc85e41c373fbdca8d2ed41.
2012-06-15SCI: Further cleanup of the script codeFilippos Karapetis
Merge the init() and load() Script methods and reset the script when necessary
2012-06-15SCI: _propertyOffsetsSci3 and classpos should be 32-bit integersFilippos Karapetis
These are needed for future handling of large SCI3 script files
2012-06-15SCI: Clean up the script initialization codeFilippos Karapetis
2012-06-15SCI: Change Script::getObject() to accept a reg_tFilippos Karapetis
This is needed for upcoming changes to the Script class
2012-06-14SCI: Change the script buffer size to be a size_t as wellFilippos Karapetis
This will be needed in the future to load large SCI3 scripts
2012-06-14SCI: Add known large SCI3 scriptsFilippos Karapetis
2012-06-14SCI: A separate implementation is needed for syncStringHeap() for SCI3Filippos Karapetis
2012-06-14SCI: Add handling of two more configuration settings for LSL7Filippos Karapetis
2012-06-13SCI: Fix the loading screen and the loading functionality in ShiversFilippos Karapetis
Shivers uses extra special hardcoded save files together with the normal ones that are used to store slot names and spot descriptions. The scheme is a bit odd, and since the names of the extra save files are hardcoded, this scheme is problematic to use. We skip the creation of these files altogether and use virtual files instead, which means that the (broken) spot descriptions won't be visible next to each save description. This isn't a major issue for now, and it's left as a future TODO to implement this feature in a cleaner way, and not with extra save files. This scheme fixes the slot descriptions in the loading screen. Also, kCD(1) has been implemented, which fixes loading of the save states themselves
2012-06-13SCI: Shuffle the kernel functions inside kfile.cppFilippos Karapetis
This puts them in the order that they are defined in the kernel tables
2012-06-13SCI: Handle the torindebug config setting for Torin's Passage FrenchFilippos Karapetis
Thanks to LePhilousophe for testing and providing a patch
2012-06-13SCI: Add a workaround for the French version of Torin's PassageFilippos Karapetis
Thanks to LePhilousophe for playing and providing the workaround
2012-06-13SCI: Only include kSave_subops if ENABLE_SCI32 is definedFilippos Karapetis
2012-06-13SCI: Use the later SCI file functions for the SCI0 onesFilippos Karapetis
They are essentially the same (with the exception of the return values), so unifying them reduces code duplication
2012-06-13SCI: Change kSave() to be a kernel function with subopsFilippos Karapetis
2012-06-13SCI: Move all file-related functions in file.*Filippos Karapetis
This way, there is a clear separation of the actual SCI kernel file functions and the file classes and wrappers of ScummVM
2012-06-13SCI: Reorder the file kernel functions a bitFilippos Karapetis
2012-06-13SCI: Implement the file operations needed for the save dialog in PhantasmagoriaFilippos Karapetis
Phantasmagoria's scripts keep polling for the existence of the savegame index file and request to read and write it using the same parameters when opening it. The index file is closed and reopened for every save slot, which is slow and can be much slower on non-desktop devices. Also, the game scripts request seeking in writable streams and request to expand the existing index file. To provide this functionality and to reduce constant slow file opening and closing, this virtual class has been introduced
2012-06-13SCI: Add debug code to automatically skip robot videosFilippos Karapetis
2012-06-11SCI: Fix comment in kString(at)Matthew Hoops
2012-06-11SCI: Add support for variable selectors in kListFirstTrue / kListAllTrueFilippos Karapetis
This is used by Torin's Passage (e.g. when trying to open the menu). Based on a slightly modified patch by LePhilousophe