projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed displaying new high score entry if not on first page
[rocksndiamonds.git]
/
src
/
screens.c
diff --git
a/src/screens.c
b/src/screens.c
index d7e5016a54a7a71c0ea09416b53841db89fd4ac3..39650b5cf6a4f9aa32acd0fb999518ccbd6815c1 100644
(file)
--- a/
src/screens.c
+++ b/
src/screens.c
@@
-2168,10
+2168,10
@@
void HandleMainMenu(int mx, int my, int dx, int dy, int button)
else if (pos == MAIN_CONTROL_EDITOR)
{
if (leveldir_current->readonly &&
else if (pos == MAIN_CONTROL_EDITOR)
{
if (leveldir_current->readonly &&
-
!strEqual(setup.player_name, "Artsoft")
)
- Request("This level is read
only!", REQ_CONFIRM
);
+
setup.editor.show_read_only_warning
)
+ Request("This level is read
-only!", REQ_CONFIRM | REQ_STAY_OPEN
);
- CloseDoor(DOOR_CLOSE_
2
);
+ CloseDoor(DOOR_CLOSE_
ALL
);
SetGameStatus(GAME_MODE_EDITOR);
SetGameStatus(GAME_MODE_EDITOR);
@@
-4258,19
+4258,13
@@
static void HandleTypeNameExt(boolean initialize, Key key)
name[xpos] = 0;
}
name[xpos] = 0;
}
- else if (key == KSYM_Return)
+ else if (key == KSYM_Return
|| key == KSYM_Escape
)
{
{
- StopTextInput();
-
- setTypeNameValues(name, pos, TRUE);
+ boolean changed = (key == KSYM_Return);
- active = FALSE;
- }
- else if (key == KSYM_Escape)
- {
StopTextInput();
StopTextInput();
- setTypeNameValues(name, pos,
FALSE
);
+ setTypeNameValues(name, pos,
changed
);
active = FALSE;
}
active = FALSE;
}
@@
-5086,9
+5080,15
@@
void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
if (button == MB_MENU_INITIALIZE)
{
level_nr = mx;
if (button == MB_MENU_INITIALIZE)
{
level_nr = mx;
- first_entry = 0;
highlight_position = my;
highlight_position = my;
+ first_entry = highlight_position - (NUM_MENU_ENTRIES_ON_SCREEN + 1) / 2 + 1;
+
+ if (first_entry < 0)
+ first_entry = 0;
+ else if (first_entry + NUM_MENU_ENTRIES_ON_SCREEN > MAX_SCORE_ENTRIES)
+ first_entry = MAX(0, MAX_SCORE_ENTRIES - NUM_MENU_ENTRIES_ON_SCREEN);
+
drawHallOfFameList(level_nr, first_entry, highlight_position);
return;
drawHallOfFameList(level_nr, first_entry, highlight_position);
return;
@@
-6735,6
+6735,8
@@
static struct TokenInfo setup_info_editor[] =
#endif
{ TYPE_SWITCH, &setup.editor.show_element_token, "Show element token:" },
{ TYPE_EMPTY, NULL, "" },
#endif
{ TYPE_SWITCH, &setup.editor.show_element_token, "Show element token:" },
{ TYPE_EMPTY, NULL, "" },
+ { TYPE_SWITCH, &setup.editor.show_read_only_warning, "Show read-only warning:" },
+ { TYPE_EMPTY, NULL, "" },
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
{ 0, NULL, NULL }
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
{ 0, NULL, NULL }