aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kfile.cpp
AgeCommit message (Collapse)Author
2016-08-25SCI: Make kFileIORename use wrapped filenamesWillem Jan Palenstijn
This fixes deleting savegames in Phantasmagoria 1.
2016-08-23SCI32: Also handle game checks for "torinsg.cat" in TorinFilippos Karapetis
This shows the "Open..." button when continuing a game
2016-08-19SCI32: Partially implement kCDColin Snover
2016-08-11SCI32: Don't use autosave.cat in TorinWillem Jan Palenstijn
2016-07-29SCI32: Support Torin's autosave systemWillem Jan Palenstijn
Torin has two sets of saves: autosave.### and torinsg.###, both with their own slots and .cat file. The autosave system uses autosave.000 and autosave.001. It also checks the presence of autosave.cat to determine if it should show the chapter selection menu on startup.
2016-07-06SCI32: Add SaveFileRewriteStream for read/write access to filesWillem Jan Palenstijn
At least Phantasmagoria and PQ:SWAT require this. This adds a ReadStream/WriteStream to support this. It replaces the previous VirtualIndexFile which required reimplementation of most read/write functions.
2016-06-25SCI: Fix auto-saving in the fan-made Cascade QuestMartin Kiewitz
Script patch to change the fixed slot 999 to fixed slot 99 in the game scripts and additional code for kSaveGame, that checks for Cascade Quest + slot 99 and will then use ScummVM slot 0, which is our auto-save slot. Fixes bug #7007 Also added the game name to the other fan-made script patch.
2016-02-22SCI: Add hack for Pepper's Adventure in Time CDAUDIO issueMartin Kiewitz
Game checks for file CDAUDIO. Currently the kFileIO(Exists) code is working pretty slowly on at least Windows. Needs to get fixed properly by enhancing SaveFileManager(). This is primarily for branch 1.8.0.
2016-02-09SCI: Script patch for Mixed Up Mother Goose SCI1Martin Kiewitz
+ Mother Goose SCI1.1 Fixes graphic issues when restoring from GMM Also make the fix ups for Mixed Up Mother Goose, Jones + PQ2 get applied all the time (debugger command not included)
2016-02-05SCI: Blocking ScummVM auto-save slot 0 for savingMartin Kiewitz
Auto-saving is not used by SCI, but slot 0 is ScummVM "standard" for auto-saving, that's why it's not available for saving anymore. Jones still uses slot 0 for saving/restoring (because it's hardcoded and changing it would break it somewhat) Deleting + restoring is still possible of couse.
2016-01-02SCI: fix sciAudio support on some platformsMartin Kiewitz
The old code expected sciAudio FOpen calls to fail, because they contained a directory name. On AmigaOS those calls succeeded. Because of that at least on AmigaOS, sciAudio support didn't work at all. We now detect sciAudio FOpen calls and return a proper virtual file handle. This should fix it on all platforms. Also moved the SCI32 virtual save file handle from 200 to 32100.
2015-07-10SCI: Fix wording for commit fc14641Filippos Karapetis
2015-07-10SCI: Enable the save game menu option when dying in PQ2 - bug #6875Filippos Karapetis
This uses the same hack as the one used to reset the menus in Jones. I've tested some more SCI games, and they don't disable menu entries when loading a game. Hopefully, Jones and PQ2 are the only ones
2014-10-19SCI: Add notesWillem Jan Palenstijn
2014-10-19SCI: Enable some menus in Jones after restoring (bugs #6537 and #6723)Filippos Karapetis
The code path that is supposed to enable these never gets called when restoring from the main menu, or from the ScummVM launcher. Since the logic on when and what to enable is quite complex, the easiest thing to do is enable these entries manually after a game is loaded.
2014-06-02SCI: comment typo fixMartin Kiewitz
2014-06-02SCI: fix saving in mother goose sci0 (bug #6486)Martin Kiewitz
2014-03-28SCI: Initial implementation of the fanmade sciAudio libraryFilippos Karapetis
This is used in the fanmade games "LockerGnome Quest Redux" and "Betrayed Alliance"
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2014-02-17SCI: Allow saving without a VERSION file in JonesFilippos Karapetis
Apparently, the original does the same. Fixes bug #6535
2013-11-23SCI: Janitorial - Fix spacing errorsStrangerke
2013-04-27SCI: Change wording for bug/further info referencesFilippos Karapetis
2013-03-21SCI: Fix loading in JonesFilippos Karapetis
This has been broken for a (very) long time, a regression from commit 6ff4dd2
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-07-27SCI: Add support for kCD(0) with a parameterFilippos Karapetis
It's now possible to start a chapter in Phantasmagoria 1
2012-07-04SCI: FileIO subop 19 checks for directory validityFilippos Karapetis
This is used in Torin's Passage and LSL7 when autosaving
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-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: 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-10GUI: Refactor default savegame description creation.Johannes Schickel
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP. Now I added a method to SaveLoadChooser instead, which takes care of this. This might not be the best placement of such a functionality, thus I added a TODO which talks about moving it to a better place.
2012-06-10GUI: Add helper to SaveLoadChooser, which uses the currently active target.Johannes Schickel
This reduces the code duplication in all client code, which formerly duplicated the querying of the plugin, game id etc. and now simply calls the newly added method runModalWithCurrentTarget() on a SaveLoadChooser object.
2012-06-10GUI: Get rid of SaveLoadChooser::setSaveMode.Johannes Schickel
We already pass the title and process button name to the constructor of SaveLoadChooser and then do not offer any way of changing it, thus changing the edit mode of the chooser is kind of pointless and was never actually used. Instead we pass the mode on SaveLoadChooser construction now.
2012-05-26SCI: Add a TODO in kFileIOReadRawFilippos Karapetis
2012-05-26SCI: Bugfix for kFileIOReadRawFilippos Karapetis
Avoid overwriting the target buffer with junk when no data has been read
2012-05-14SCI: kMakeSaveFileName is actually using virtual savegame IDsFilippos Karapetis
2012-05-14SCI: Implement savegame deletion functionality in SCI32Filippos Karapetis
This is based on two kernel functions, kMakeSaveCatName and kMakeSaveFileName
2012-03-08SCI: Fix KQ6 Mac movies with resource fork namesMatthew Hoops
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2011-10-30SCI: Removed the hack for the creation of LARRY3.DRV, used in LSL3Filippos Karapetis
This is no longer necessary, as our file I/O code handles this case correctly now. Also, updated the description of file I/O on top.
2011-10-29SCI: Added a new debug flag, "DebugMode" for SCI32 gamesFilippos Karapetis
This is used to enable the embedded debugger in several SCI32 games (PQ4, QFG4, GK1, GK2, KQ7, SQ6 and LSL7)
2011-10-12SCI: kSave(3) is kCheckSaveGame() and kSave(6) is kFileIOUnlink()Filippos Karapetis
2011-10-09SCI2+: Added info for the extra parameter used in kGetSaveDir in SCI32Filippos Karapetis
The warning can be safely removed, as the parameter is a string that should not be set
2011-09-23SCI: change savegame default description day format to YYYY.MM.DDTarek Soliman
... and make it optional subject to USE_SAVEGAME_TIMESTAMP
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-03ENGINES: Remove some uses of g_engineMax Horn