X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=5254a19fca9b2be1394bce4afd64e0984f18ffcb;hp=ee1bf704771964d71238f4cd1c4001b8ca7c03b8;hb=61b373e48107ac90eac8c19aa506b1827120cda9;hpb=ed1210eb622ba215e8d7ffd24c7ea245811c4a3b diff --git a/src/screens.c b/src/screens.c index ee1bf704..5254a19f 100644 --- a/src/screens.c +++ b/src/screens.c @@ -2169,7 +2169,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) { if (leveldir_current->readonly && !strEqual(setup.player_name, "Artsoft")) - Request("This level is read only!", REQ_CONFIRM); + Request("This level is read-only!", REQ_CONFIRM); CloseDoor(DOOR_CLOSE_2); @@ -4021,6 +4021,11 @@ static TreeInfo *type_name_node = NULL; static char type_name_last[MAX_PLAYER_NAME_LEN + 1] = { 0 }; static int type_name_nr = 0; +static int getPlayerNameColor(char *name) +{ + return (strEqual(name, EMPTY_PLAYER_NAME) ? FC_BLUE : FC_RED); +} + static void drawTypeNameText(char *name, struct TextPosInfo *pos, boolean active) { @@ -4093,7 +4098,7 @@ static void setTypeNameValues_Name(char *name, struct TextPosInfo *pos) setString(&node->name, name); setString(&node->name_sorting, name); - node->color = (strEqual(name, EMPTY_PLAYER_NAME) ? FC_BLUE : FC_RED); + node->color = getPlayerNameColor(name); pos->font = MENU_CHOOSE_TREE_FONT(node->color); } } @@ -4253,15 +4258,13 @@ static void HandleTypeNameExt(boolean initialize, Key key) name[xpos] = 0; } - else if (key == KSYM_Return) + else if (key == KSYM_Return || key == KSYM_Escape) { - setTypeNameValues(name, pos, TRUE); + boolean changed = (key == KSYM_Return); - active = FALSE; - } - else if (key == KSYM_Escape) - { - setTypeNameValues(name, pos, FALSE); + StopTextInput(); + + setTypeNameValues(name, pos, changed); active = FALSE; } @@ -4270,8 +4273,6 @@ static void HandleTypeNameExt(boolean initialize, Key key) if (!active) { - StopTextInput(); - SetGameStatus(game_status_last_screen); if (game_status == GAME_MODE_MAIN) @@ -4874,18 +4875,13 @@ void DrawChoosePlayerName(void) for (i = 0; i < MAX_PLAYER_NAMES; i++) { - boolean team_mode = (!network.enabled && setup.team_mode); - int tree_type = (team_mode ? TREE_TYPE_PLAYER_TEAM : TREE_TYPE_PLAYER_NAME); - TreeInfo *ti = newTreeInfo_setDefaults(tree_type); + TreeInfo *ti = newTreeInfo_setDefaults(TREE_TYPE_PLAYER_NAME); char identifier[32], name[MAX_PLAYER_NAME_LEN + 1]; int value = i; ti->node_top = &player_name; ti->sort_priority = 10000 + value; - ti->color = FC_RED; - - if (strEqual(global.user_names[i], EMPTY_PLAYER_NAME)) - ti->color = FC_BLUE; + ti->color = getPlayerNameColor(global.user_names[i]); snprintf(identifier, sizeof(identifier), "%d", value); snprintf(name, sizeof(name), "%s", global.user_names[i]); @@ -6694,6 +6690,7 @@ static struct TokenInfo setup_info_engines[] = { TYPE_SWITCH, &setup.forced_scroll_delay, "Scroll Delay:" }, { TYPE_ECS_AGA, &setup.prefer_aga_graphics, "Amiga Graphics Chipset:" }, { TYPE_SWITCH, &setup.prefer_lowpass_sounds,"Low-Pass Filter Sounds:" }, + { TYPE_SWITCH, &setup.prefer_extra_panel_items,"Show Dynamite and Keys:" }, { TYPE_EMPTY, NULL, "" }, { TYPE_HEADLINE, NULL, "Supaplex" }, { TYPE_SWITCH, &setup.sp_show_border_elements, "Border Elements:" },