aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/saveload.cpp')
-rw-r--r--engines/simon/saveload.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/engines/simon/saveload.cpp b/engines/simon/saveload.cpp
index 5359c04ba0..b813090630 100644
--- a/engines/simon/saveload.cpp
+++ b/engines/simon/saveload.cpp
@@ -60,7 +60,7 @@ int SimonEngine::displaySaveGameList(int curpos, bool load, char *dst) {
showMessageFormat("\xC");
- memset(dst, 0, 18 * 6);
+ memset(dst, 0, 108);
slot = curpos;
@@ -70,10 +70,18 @@ int SimonEngine::displaySaveGameList(int curpos, bool load, char *dst) {
in->read(dst, 18);
delete in;
+
last_slot = slot;
- if (slot < 10)
+ if (slot < 10) {
showMessageFormat(" ");
- showMessageFormat("%d", slot);
+ } else if (_language == Common::HB_ISR) {
+ last_slot = (slot % 10) * 10;
+ last_slot += slot / 10;
+ }
+
+ if (_language == Common::HB_ISR && !(slot % 10))
+ showMessageFormat("0");
+ showMessageFormat("%d", last_slot);
showMessageFormat(".%s\n", dst);
dst += 18;
slot++;
@@ -240,7 +248,7 @@ restart:;
window->textRow = unk132_result;
- if (_language == Common::HB_ISR) { //Hebrew
+ if (_language == Common::HB_ISR) {
// init x offset with a 2 character savegame number + a period (18 pix)
window->textColumn = 3;
window->textColumnOffset = 6;
@@ -257,7 +265,7 @@ restart:;
// now process entire savegame name to get correct x offset for cursor
name_len = 0;
while (name[name_len]) {
- if (_language == Common::HB_ISR) { //Hebrew
+ if (_language == Common::HB_ISR) {
byte width = 6;
if (name[name_len] >= 64 && name[name_len] < 91)
width = _hebrewCharWidths [name[name_len] - 64];
@@ -322,7 +330,7 @@ restart:;
name_len--;
m = name[name_len];
- if (_language == Common::HB_ISR) //Hebrew
+ if (_language == Common::HB_ISR)
x = 8;
else
x = (name[name_len] == 'i' || name[name_len] == 'l') ? 1 : 8;
@@ -432,7 +440,7 @@ void SimonEngine::clearCharacter(WindowBlock *window, int x, byte b) {
old_text = window->text_color;
window->text_color = window->fill_color;
- if (_language == Common::HB_ISR) { //Hebrew
+ if (_language == Common::HB_ISR) {
x = 128;
} else {
x += 120;