static void DrawChooseLevelNr(void);
static void DrawInfoScreen(void);
static void DrawSetupScreen(void);
+static void DrawTypeName(void);
static void DrawInfoScreen_NotAvailable(char *, char *);
static void DrawInfoScreen_HelpAnim(int, int, boolean);
static char *main_text_title_2 = NULL;
static char *main_text_title_3 = NULL;
+extern char debug_xsn_mode[];
+
struct MainControlInfo
{
int nr;
{
SetGameStatus(GAME_MODE_PSEUDO_TYPENAME);
- HandleTypeName(strlen(setup.player_name), 0);
+ DrawTypeName();
}
}
else if (pos == MAIN_CONTROL_LEVELS)
DrawTextF(xstart1, ystart, font_head, "Source date");
DrawTextF(xstart2, ystart, font_text, getSourceDateString());
+ ystart += ystep_line;
+
+ DrawTextF(xstart1, ystart, font_head, "Commit hash");
+ DrawTextF(xstart2, ystart, font_text, getSourceHashString());
ystart += ystep_para;
DrawTextF(xstart1, ystart, font_head, "Library");
// type name functions
// ============================================================================
-void HandleTypeName(int newxpos, Key key)
+static void HandleTypeNameExt(boolean initialize, Key key)
{
static char last_player_name[MAX_PLAYER_NAME_LEN + 1];
struct MainControlInfo *mci = getMainControlInfo(MAIN_CONTROL_NAME);
DrawBackgroundForFont(startx,starty, pos->width, pos->height, font_active_nr);
- if (newxpos)
+ if (initialize)
{
strcpy(last_player_name, setup.player_name);
- xpos = newxpos;
+ xpos = strlen(setup.player_name);
StartTextInput(startx, starty, pos->width, pos->height);
}
}
}
+static void DrawTypeName(void)
+{
+ HandleTypeNameExt(TRUE, 0);
+}
+
+void HandleTypeName(Key key)
+{
+ HandleTypeNameExt(FALSE, key);
+}
+
// ============================================================================
// tree menu functions
{ TYPE_SWITCH, &setup.show_titlescreen,"Show Title Screens:" },
{ TYPE_SWITCH, &setup.toons, "Show Menu Animations:" },
{ TYPE_SWITCH, &setup.small_game_graphics, "Small Game Graphics:" },
+ { TYPE_YES_NO_AUTO, &setup.debug.xsn_mode, debug_xsn_mode },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_LEAVE_MENU, execSetupMain, "Back" },
if (startx + font_xoffset < text_startx + text_width + text_font_xoffset)
{
+ // when using narrow font, left-shifting text "auto" not needed
+ if (type & TYPE_YES_NO_AUTO)
+ xpos += 1;
+
xpos += 1;
startx = mSX + xpos * 32;
Event event;
int alpha = 200, alpha_step = -1;
int alpha_ticks = 0;
- char mapping[4096], temp[4096];
+ char mapping[4096], temp[256];
int font_name = MENU_SETUP_FONT_TITLE;
int font_info = MENU_SETUP_FONT_TEXT;
int spacing_name = menu.line_spacing_setup[SETUP_MODE_INPUT];