projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed variable handling when typing name in main menu
[rocksndiamonds.git]
/
src
/
screens.c
diff --git
a/src/screens.c
b/src/screens.c
index 95b56934b1ba724ec404442afd310387fdf2d829..24d440c7bb71e9c724be6a7282c61d8bb2a9711e 100644
(file)
--- a/
src/screens.c
+++ b/
src/screens.c
@@
-3980,11
+3980,12
@@
void HandleInfoScreen(int mx, int my, int dx, int dy, int button)
static void HandleTypeNameExt(boolean initialize, Key key)
{
static void HandleTypeNameExt(boolean initialize, Key key)
{
+ static char name[MAX_PLAYER_NAME_LEN + 1];
static char last_player_name[MAX_PLAYER_NAME_LEN + 1];
struct MainControlInfo *mci = getMainControlInfo(MAIN_CONTROL_NAME);
struct TextPosInfo *pos = mci->pos_input;
static char last_player_name[MAX_PLAYER_NAME_LEN + 1];
struct MainControlInfo *mci = getMainControlInfo(MAIN_CONTROL_NAME);
struct TextPosInfo *pos = mci->pos_input;
- int s
tart
x = mSX + ALIGNED_TEXT_XPOS(pos);
- int s
tart
y = mSY + ALIGNED_TEXT_YPOS(pos);
+ int sx = mSX + ALIGNED_TEXT_XPOS(pos);
+ int sy = mSY + ALIGNED_TEXT_YPOS(pos);
static int xpos = 0;
int font_nr = pos->font;
int font_active_nr = FONT_ACTIVE(font_nr);
static int xpos = 0;
int font_nr = pos->font;
int font_active_nr = FONT_ACTIVE(font_nr);
@@
-3993,20
+3994,21
@@
static void HandleTypeNameExt(boolean initialize, Key key)
boolean is_valid_key_char = (key_char != 0 && (key_char != ' ' || xpos > 0));
boolean is_active = TRUE;
boolean is_valid_key_char = (key_char != 0 && (key_char != ' ' || xpos > 0));
boolean is_active = TRUE;
- DrawBackgroundForFont(s
tartx,start
y, pos->width, pos->height, font_active_nr);
+ DrawBackgroundForFont(s
x, s
y, pos->width, pos->height, font_active_nr);
if (initialize)
{
if (initialize)
{
- strcpy(last_player_name, setup.player_name);
+ strcpy(name, setup.player_name);
+ strcpy(last_player_name, name);
- xpos = strlen(
setup.player_
name);
+ xpos = strlen(name);
- StartTextInput(s
tartx, start
y, pos->width, pos->height);
+ StartTextInput(s
x, s
y, pos->width, pos->height);
}
else if (is_valid_key_char && xpos < MAX_PLAYER_NAME_LEN)
{
}
else if (is_valid_key_char && xpos < MAX_PLAYER_NAME_LEN)
{
-
setup.player_
name[xpos] = key_char;
-
setup.player_
name[xpos + 1] = 0;
+ name[xpos] = key_char;
+ name[xpos + 1] = 0;
xpos++;
}
xpos++;
}
@@
-4014,39
+4016,39
@@
static void HandleTypeNameExt(boolean initialize, Key key)
{
xpos--;
{
xpos--;
-
setup.player_
name[xpos] = 0;
+ name[xpos] = 0;
}
else if (key == KSYM_Return && xpos > 0)
{
}
else if (key == KSYM_Return && xpos > 0)
{
+ strcpy(setup.player_name, name);
+
SaveSetup();
is_active = FALSE;
SaveSetup();
is_active = FALSE;
-
- SetGameStatus(GAME_MODE_MAIN);
}
else if (key == KSYM_Escape)
{
}
else if (key == KSYM_Escape)
{
- strcpy(
setup.player_
name, last_player_name);
+ strcpy(name, last_player_name);
is_active = FALSE;
is_active = FALSE;
-
- SetGameStatus(GAME_MODE_MAIN);
}
if (is_active)
{
}
if (is_active)
{
- pos->width = (strlen(
setup.player_
name) + 1) * font_width;
- s
tart
x = mSX + ALIGNED_TEXT_XPOS(pos);
+ pos->width = (strlen(name) + 1) * font_width;
+ sx = mSX + ALIGNED_TEXT_XPOS(pos);
- DrawText(s
tartx, starty, setup.player_
name, font_active_nr);
- DrawText(s
tartx + xpos * font_width, start
y, "_", font_active_nr);
+ DrawText(s
x, sy,
name, font_active_nr);
+ DrawText(s
x + xpos * font_width, s
y, "_", font_active_nr);
}
else
{
}
else
{
- pos->width = strlen(setup.player_name) * font_width;
- startx = mSX + ALIGNED_TEXT_XPOS(pos);
+ SetGameStatus(GAME_MODE_MAIN);
+
+ pos->width = strlen(name) * font_width;
+ sx = mSX + ALIGNED_TEXT_XPOS(pos);
- DrawText(s
tartx, starty, setup.player_
name, font_nr);
+ DrawText(s
x, sy,
name, font_nr);
StopTextInput();
}
StopTextInput();
}