projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed variable name
[rocksndiamonds.git]
/
src
/
screens.c
diff --git
a/src/screens.c
b/src/screens.c
index 34625ee664c158276e1dc3881ed654218ec2ca8d..972e2109bc2a6edeffbc7552ec394d4989caafa5 100644
(file)
--- a/
src/screens.c
+++ b/
src/screens.c
@@
-110,9
+110,9
@@
/* for input setup functions */
#define SETUPINPUT_SCREEN_POS_START 0
/* for input setup functions */
#define SETUPINPUT_SCREEN_POS_START 0
-#define SETUPINPUT_SCREEN_POS_E
ND (SCR_FIELDY - 4)
-#define SETUPINPUT_SCREEN_POS_EMPTY
1 (SETUPINPUT_SCREEN_POS_START + 3)
-#define SETUPINPUT_SCREEN_POS_E
MPTY2 (SETUPINPUT_SCREEN_POS_END - 1)
+#define SETUPINPUT_SCREEN_POS_E
MPTY1 3
+#define SETUPINPUT_SCREEN_POS_EMPTY
2 12
+#define SETUPINPUT_SCREEN_POS_E
ND 13
#define MENU_SETUP_FONT_TITLE FONT_TEXT_1
#define MENU_SETUP_FONT_TEXT FONT_TITLE_2
#define MENU_SETUP_FONT_TITLE FONT_TEXT_1
#define MENU_SETUP_FONT_TEXT FONT_TITLE_2
@@
-2145,7
+2145,7
@@
static void DrawCursorAndText_Menu_Ext(struct TokenInfo *token_info,
int ypos = MENU_SCREEN_START_YPOS + screen_pos;
int font_nr = getMenuTextFont(ti->type);
int ypos = MENU_SCREEN_START_YPOS + screen_pos;
int font_nr = getMenuTextFont(ti->type);
- if (
token_info == setup_info_input
)
+ if (
setup_mode == SETUP_MODE_INPUT
)
font_nr = FONT_MENU_1;
if (active)
font_nr = FONT_MENU_1;
if (active)
@@
-5657,6
+5657,7
@@
static struct TokenInfo setup_info_input[] =
{ TYPE_SWITCH, NULL, "Player:" },
{ TYPE_SWITCH, NULL, "Device:" },
{ TYPE_SWITCH, NULL, "" },
{ TYPE_SWITCH, NULL, "Player:" },
{ TYPE_SWITCH, NULL, "Device:" },
{ TYPE_SWITCH, NULL, "" },
+ { TYPE_SKIPPABLE, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
@@
-5665,8
+5666,7
@@
static struct TokenInfo setup_info_input[] =
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_EMPTY, NULL, "" },
- { TYPE_EMPTY, NULL, "" },
- { TYPE_EMPTY, NULL, "" },
+ { TYPE_SKIPPABLE, NULL, "" },
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
{ 0, NULL, NULL }
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
{ 0, NULL, NULL }
@@
-6020,7
+6020,7
@@
static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx)
static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
{
static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
{
- static struct TokenInfo *setup_info_
hide
= NULL;
+ static struct TokenInfo *setup_info_
final
= NULL;
int list_size = 0;
int list_pos = 0;
int i;
int list_size = 0;
int list_pos = 0;
int i;
@@
-6029,15
+6029,25
@@
static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
while (setup_info_orig[list_size++].type != 0);
/* free, allocate and clear memory for target list */
while (setup_info_orig[list_size++].type != 0);
/* free, allocate and clear memory for target list */
- checked_free(setup_info_
hide
);
- setup_info_
hide
= checked_calloc(list_size * sizeof(struct TokenInfo));
+ checked_free(setup_info_
final
);
+ setup_info_
final
= checked_calloc(list_size * sizeof(struct TokenInfo));
/* copy setup info list without setup entries marked as hidden */
for (i = 0; setup_info_orig[i].type != 0; i++)
/* copy setup info list without setup entries marked as hidden */
for (i = 0; setup_info_orig[i].type != 0; i++)
- if (!hideSetupEntry(setup_info_orig[i].value))
- setup_info_hide[list_pos++] = setup_info_orig[i];
+ {
+ /* skip setup entries configured to be hidden */
+ if (hideSetupEntry(setup_info_orig[i].value))
+ continue;
+
+ /* skip skippable setup entries if screen is lower than usual */
+ if (SCR_FIELDY < SCR_FIELDY_DEFAULT &&
+ setup_info_orig[i].type == TYPE_SKIPPABLE)
+ continue;
- return setup_info_hide;
+ setup_info_final[list_pos++] = setup_info_orig[i];
+ }
+
+ return setup_info_final;
}
static void DrawSetupScreen_Generic()
}
static void DrawSetupScreen_Generic()
@@
-6182,11
+6192,11
@@
void DrawSetupScreen_Input()
ClearField();
ClearField();
- setup_info =
setup_info_input
;
+ setup_info =
getSetupInfoFinal(setup_info_input)
;
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, STR_SETUP_INPUT);
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, STR_SETUP_INPUT);
- for (i = 0; setup_info[i].type != 0
&& i < MAX_MENU_ENTRIES_ON_SCREEN
; i++)
+ for (i = 0; setup_info[i].type != 0; i++)
{
if (setup_info[i].type & (TYPE_ENTER_MENU|TYPE_ENTER_LIST))
initCursor(i, IMG_MENU_BUTTON_ENTER_MENU);
{
if (setup_info[i].type & (TYPE_ENTER_MENU|TYPE_ENTER_LIST))
initCursor(i, IMG_MENU_BUTTON_ENTER_MENU);
@@
-6262,6
+6272,13
@@
static void drawPlayerSetupInputInfo(int player_nr, boolean active)
int font_nr_off = FONT_VALUE_OLD;
int pos = 4;
int font_nr_off = FONT_VALUE_OLD;
int pos = 4;
+ if (SCR_FIELDX < SCR_FIELDX_DEFAULT)
+ {
+ font_nr_info = FONT_MENU_2;
+ font_nr_on = FONT_VALUE_NARROW;
+ font_nr_off = FONT_VALUE_OLD_NARROW;
+ }
+
custom_key = setup.input[player_nr].key;
DrawText(mSX + 11 * 32, mSY + 2 * 32, int2str(player_nr + 1, 1),
custom_key = setup.input[player_nr].key;
DrawText(mSX + 11 * 32, mSY + 2 * 32, int2str(player_nr + 1, 1),
@@
-6289,7
+6306,10
@@
static void drawPlayerSetupInputInfo(int player_nr, boolean active)
DrawText(mSX + 1 * 32, mSY + 4 * 32, "Customize", font_nr_menu);
}
DrawText(mSX + 1 * 32, mSY + 4 * 32, "Customize", font_nr_menu);
}
- DrawText(mSX + 32, mSY + 5 * 32, "Actual Settings:", font_nr_info);
+ if (SCR_FIELDY >= SCR_FIELDY_DEFAULT)
+ DrawText(mSX + 32, mSY + 5 * 32, "Actual Settings:", font_nr_info);
+ else
+ pos = 3;
drawCursorXY(1, pos + 0, IMG_MENU_BUTTON_LEFT);
drawCursorXY(1, pos + 1, IMG_MENU_BUTTON_RIGHT);
drawCursorXY(1, pos + 0, IMG_MENU_BUTTON_LEFT);
drawCursorXY(1, pos + 1, IMG_MENU_BUTTON_RIGHT);
@@
-6347,8
+6367,27
@@
void HandleSetupScreen_Input(int mx, int my, int dx, int dy, int button)
int pos_empty2 = SETUPINPUT_SCREEN_POS_EMPTY2;
int pos_end = SETUPINPUT_SCREEN_POS_END;
int pos_empty2 = SETUPINPUT_SCREEN_POS_EMPTY2;
int pos_end = SETUPINPUT_SCREEN_POS_END;
+ if (SCR_FIELDY < SCR_FIELDY_DEFAULT)
+ {
+ int i;
+
+ for (i = 0; setup_info_input[i].type != 0; i++)
+ {
+ /* adjust menu structure according to skipped setup entries */
+ if (setup_info_input[i].type == TYPE_SKIPPABLE)
+ {
+ pos_empty2--;
+ pos_end--;
+ }
+ }
+ }
+
if (button == MB_MENU_INITIALIZE)
{
if (button == MB_MENU_INITIALIZE)
{
+ /* input setup menu may have changed size due to graphics configuration */
+ if (choice >= pos_empty1)
+ choice = pos_end;
+
drawPlayerSetupInputInfo(input_player_nr, (choice == 2));
DrawCursorAndText_Setup(choice, -1, TRUE);
drawPlayerSetupInputInfo(input_player_nr, (choice == 2));
DrawCursorAndText_Setup(choice, -1, TRUE);
@@
-6472,6
+6511,12
@@
static boolean CustomizeKeyboardMain(int player_nr)
int font_nr_new = FONT_VALUE_1;
int success = FALSE;
int font_nr_new = FONT_VALUE_1;
int success = FALSE;
+ if (SCR_FIELDX < SCR_FIELDX_DEFAULT)
+ {
+ font_nr_old = FONT_VALUE_OLD_NARROW;
+ font_nr_new = FONT_VALUE_NARROW;
+ }
+
/* read existing key bindings from player setup */
custom_key = setup.input[player_nr].key;
/* read existing key bindings from player setup */
custom_key = setup.input[player_nr].key;