aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2009-10-29 20:31:35 +0000
committerFilippos Karapetis2009-10-29 20:31:35 +0000
commitc8546fd92ff3626d398e3e56a96323dd95db1e2a (patch)
tree8e5875e5fc2aa194814b1c347f95bc042bdd53aa /engines/sci
parent89811d1ea45d51732daa7490fe678eca2c1d651d (diff)
downloadscummvm-rg350-c8546fd92ff3626d398e3e56a96323dd95db1e2a.tar.gz
scummvm-rg350-c8546fd92ff3626d398e3e56a96323dd95db1e2a.tar.bz2
scummvm-rg350-c8546fd92ff3626d398e3e56a96323dd95db1e2a.zip
Stop SQ4 floppy from updating the unused sq4sg.dir file when deleting a saved game
svn-id: r45507
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/kfile.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index d922374a6b..8a5ef48d68 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -761,6 +761,21 @@ reg_t kFileIO(EngineState *s, int argc, reg_t *argv) {
Common::String name = s->_segMan->getString(argv[1]);
int mode = argv[2].toUint16();
+ // SQ4 floppy prepends /\ to the filenames
+ if (name.hasPrefix("/\\")) {
+ name.deleteChar(0);
+ name.deleteChar(0);
+ }
+
+ // SQ4 floppy attempts to update the savegame index file sq4sg.dir
+ // when deleting saved games. We don't use an index file for saving
+ // or loading, so just stop the game from modifying the file here
+ // in order to avoid having it saved in the ScummVM save directory
+ if (name == "sq4sg.dir") {
+ debugC(2, kDebugLevelFile, "Not opening unused file sq4sg.dir");
+ return SIGNAL_REG;
+ }
+
if (name.empty()) {
warning("Attempted to open a file with an empty filename");
return SIGNAL_REG;