Opened 13 years ago

Closed 11 years ago

Last modified 11 years ago

#2586 closed defect (fixed)

KYRA1: a small menu issue

Reported by: SF/clemty Owned by: lordhoto
Priority: low Component: Engine: Kyra
Keywords: Cc:
Game: Kyrandia 1


version used: current daily build, Athlon 64 Linux FC5

if you enter the "load game" or "save game" submenu,
you have up and down arrows. if you click on the down
arrow repeatedly, the list of savegames will move out
of view, you have to click the same number of times the
up arrow to get back to the list

I guess ideally there will always be at least one line
visible and the down arrow gets disabled when it
reaches the last line... I think the original game
handles it that way

Ticket imported from: #1479872. Ticket imported from: bugs/2586.

Change History (8)

comment:1 Changed 13 years ago by lordhoto

Owner: set to vinterstum

comment:2 Changed 12 years ago by jvprat

This patch solves the issue (I didn't see any option to attach a file here):

Index: engines/kyra/gui.cpp

--- engines/kyra/gui.cpp (revision 25211)
+++ engines/kyra/gui.cpp (working copy)
@@ -1387,13 +1387,19 @@

int KyraEngine::gui_scrollDown(Button *button) {
+ Common::InSaveFile *in;
debugC(9, kDebugLevelGUI, "KyraEngine::gui_scrollDown()");

- _savegameOffset++;
- setupSavegames(_menu[2], 5);
- initMenu(_menu[2]);
+ // Don't go lower if there's nothing to show
+ if ((in = _saveFileMan->openForLoading(getSavegameFilename(_savegameOffset + 1)))) {
+ delete in;

+ _savegameOffset++;
+ setupSavegames(_menu[2], 5);
+ initMenu(_menu[2]);
+ }
return 0;

comment:3 Changed 12 years ago by vinterstum


The reason I didn't do something like this, is that you run into problems when savegame slots have been "skipped", so to speak (due to using quicksave, or deleting savegames, copying into new system, etc, etc). I had planned to rewrite some of this stuff at some time (to solve this issue, and to reverse the order in which the savegames appear, so that newest ones are on top), but Real Life sort of took over :).

Ideally, the slot a savegame appears in should be abstracted form the actual number of the savegame, so we can 1) skip over "empty" slots, and thus be able to implement the solution you had here, 2) reverse the list.

comment:4 Changed 11 years ago by sev-

What is the status of this item?

comment:5 Changed 11 years ago by vinterstum

Priority: normallow

comment:6 Changed 11 years ago by vinterstum

Still an issue, but a very minor one. Lowering priority.

comment:7 Changed 11 years ago by lordhoto

Fixed in current SVN.

comment:8 Changed 11 years ago by lordhoto

Owner: changed from vinterstum to lordhoto
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.