aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
authorPaweł Kołodziejski2008-02-28 22:08:40 +0000
committerPaweł Kołodziejski2008-02-28 22:08:40 +0000
commit61f7594866c2c8393c969a592398dbcc700c3e8b (patch)
tree1d06fefcf15ec4d407c6dfba9ee8bdb5ee31089c /engines/drascula
parent5c85fc40835fc54cac167aa2bfd413e1c0b3e25f (diff)
downloadscummvm-rg350-61f7594866c2c8393c969a592398dbcc700c3e8b.tar.gz
scummvm-rg350-61f7594866c2c8393c969a592398dbcc700c3e8b.tar.bz2
scummvm-rg350-61f7594866c2c8393c969a592398dbcc700c3e8b.zip
fixes to savegames list file
svn-id: r30993
Diffstat (limited to 'engines/drascula')
-rw-r--r--engines/drascula/drascula.cpp71
1 files changed, 21 insertions, 50 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 9c5deeeb7e..c5615f0872 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -2043,10 +2043,19 @@ void DrasculaEngine::saves() {
borra_pantalla();
if (!(sav = _saveFileMan->openForLoading("saves.epa"))) {
- error("Can't open saves.epa file.");
+ Common::OutSaveFile *epa;
+ if (!(epa = _saveFileMan->openForSaving("saves.epa")))
+ error("Can't open saves.epa file.");
+ for (n = 0; n < NUM_SAVES; n++)
+ epa->writeString("*\n");
+ epa->finalize();
+ delete epa;
+ if (!(sav = _saveFileMan->openForLoading("saves.epa"))) {
+ error("Can't open saves.epa file.");
+ }
}
for (n = 0; n < NUM_SAVES; n++)
- sav->read(nombres[n], 23);
+ sav->readLine(nombres[n], 23);
delete sav;
lee_dibujos("savescr.alg");
@@ -2080,35 +2089,16 @@ void DrasculaEngine::saves() {
introduce_nombre();
strcpy(nombres[n], select);
if (hay_seleccion == 1) {
- // FIXME: Just use:
- //sprintf(fichero, "gsave%02d", n+1);
- if (n == 0)
- strcpy(fichero, "gsave01");
- if (n == 1)
- strcpy(fichero, "gsave02");
- if (n == 2)
- strcpy(fichero, "gsave03");
- if (n == 3)
- strcpy(fichero, "gsave04");
- if (n == 4)
- strcpy(fichero, "gsave05");
- if (n == 5)
- strcpy(fichero, "gsave06");
- if (n == 6)
- strcpy(fichero, "gsave07");
- if (n == 7)
- strcpy(fichero, "gsave08");
- if (n == 8)
- strcpy(fichero, "gsave09");
- if (n == 9)
- strcpy(fichero, "gsave10");
+ sprintf(fichero, "gsave%02d", n + 1);
para_grabar(fichero);
Common::OutSaveFile *tsav;
if (!(tsav = _saveFileMan->openForSaving("saves.epa"))) {
error("Can't open saves.epa file.");
}
- for (n = 0; n < NUM_SAVES; n++)
- tsav->write(nombres[n], 23);
+ for (n = 0; n < NUM_SAVES; n++) {
+ tsav->writeString(nombres[n]);
+ tsav->writeString("\n");
+ }
tsav->finalize();
delete tsav;
}
@@ -2121,28 +2111,7 @@ void DrasculaEngine::saves() {
y = y + 9;
}
if (hay_seleccion == 1) {
- // FIXME: Just use:
- //sprintf(fichero, "gsave%02d", n+1);
- if (n == 0)
- strcpy(fichero, "gsave01");
- if (n == 1)
- strcpy(fichero, "gsave02");
- if (n == 2)
- strcpy(fichero, "gsave03");
- if (n == 3)
- strcpy(fichero, "gsave04");
- if (n == 4)
- strcpy(fichero, "gsave05");
- if (n == 5)
- strcpy(fichero, "gsave06");
- if (n == 6)
- strcpy(fichero, "gsave07");
- if (n == 7)
- strcpy(fichero, "gsave08");
- if (n == 8)
- strcpy(fichero, "gsave09");
- if (n == 9)
- strcpy(fichero, "gsave10");
+ sprintf(fichero, "gsave%02d", n + 1);
}
num_sav = n;
}
@@ -2168,8 +2137,10 @@ void DrasculaEngine::saves() {
if (!(tsav = _saveFileMan->openForSaving("saves.epa"))) {
error("Can't open saves.epa file.");
}
- for (n = 0; n < NUM_SAVES; n++)
- tsav->write(nombres[n], 23);
+ for (n = 0; n < NUM_SAVES; n++) {
+ tsav->writeString(nombres[n]);
+ tsav->writeString("\n");
+ }
tsav->finalize();
delete tsav;
} else if (x_raton > 168 && y_raton > 154 && x_raton < 242 && y_raton < 180)