fixed text positions and fonts when typing player name
[rocksndiamonds.git] / src / events.c
index e3632df02a71a2c3081f1fb634d0b128d6c7e1dc..1a6ac788b29aab28eca2f5918725cf3aeb09284d 100644 (file)
@@ -1749,7 +1749,12 @@ void HandleButton(int mx, int my, int button, int button_nr)
       break;
 
     case GAME_MODE_PSEUDO_TYPENAME:
-      HandleTypeName(0, KSYM_Return);
+    case GAME_MODE_PSEUDO_TYPENAMES:
+      HandleTypeName(KSYM_Return);
+      break;
+
+    case GAME_MODE_NAMES:
+      HandleChoosePlayerName(mx, my, 0, 0, button);
       break;
 
     case GAME_MODE_LEVELS:
@@ -1890,6 +1895,10 @@ static void HandleKeysSpecial(Key key)
     {
       global.show_frames_per_second = !global.show_frames_per_second;
     }
+    else if (strSuffix(cheat_input, ":xsn"))
+    {
+      tile_cursor.xsn_debug = TRUE;
+    }
   }
   else if (game_status == GAME_MODE_PLAYING)
   {
@@ -2293,11 +2302,13 @@ void HandleKey(Key key, int key_status)
   switch (game_status)
   {
     case GAME_MODE_PSEUDO_TYPENAME:
-      HandleTypeName(0, key);
+    case GAME_MODE_PSEUDO_TYPENAMES:
+      HandleTypeName(key);
       break;
 
     case GAME_MODE_TITLE:
     case GAME_MODE_MAIN:
+    case GAME_MODE_NAMES:
     case GAME_MODE_LEVELS:
     case GAME_MODE_LEVELNR:
     case GAME_MODE_SETUP:
@@ -2315,6 +2326,8 @@ void HandleKey(Key key, int key_status)
            HandleTitleScreen(0, 0, 0, 0, MB_MENU_CHOICE);
          else if (game_status == GAME_MODE_MAIN)
            HandleMainMenu(0, 0, 0, 0, MB_MENU_CHOICE);
+          else if (game_status == GAME_MODE_NAMES)
+            HandleChoosePlayerName(0, 0, 0, 0, MB_MENU_CHOICE);
           else if (game_status == GAME_MODE_LEVELS)
             HandleChooseLevelSet(0, 0, 0, 0, MB_MENU_CHOICE);
           else if (game_status == GAME_MODE_LEVELNR)
@@ -2333,6 +2346,8 @@ void HandleKey(Key key, int key_status)
 
          if (game_status == GAME_MODE_TITLE)
            HandleTitleScreen(0, 0, 0, 0, MB_MENU_LEAVE);
+          else if (game_status == GAME_MODE_NAMES)
+            HandleChoosePlayerName(0, 0, 0, 0, MB_MENU_LEAVE);
           else if (game_status == GAME_MODE_LEVELS)
             HandleChooseLevelSet(0, 0, 0, 0, MB_MENU_LEAVE);
           else if (game_status == GAME_MODE_LEVELNR)
@@ -2346,7 +2361,9 @@ void HandleKey(Key key, int key_status)
          break;
 
         case KSYM_Page_Up:
-          if (game_status == GAME_MODE_LEVELS)
+          if (game_status == GAME_MODE_NAMES)
+            HandleChoosePlayerName(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+          else if (game_status == GAME_MODE_LEVELS)
             HandleChooseLevelSet(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
           else if (game_status == GAME_MODE_LEVELNR)
             HandleChooseLevelNr(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
@@ -2359,7 +2376,9 @@ void HandleKey(Key key, int key_status)
          break;
 
         case KSYM_Page_Down:
-          if (game_status == GAME_MODE_LEVELS)
+          if (game_status == GAME_MODE_NAMES)
+            HandleChoosePlayerName(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+          else if (game_status == GAME_MODE_LEVELS)
             HandleChooseLevelSet(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
           else if (game_status == GAME_MODE_LEVELNR)
             HandleChooseLevelNr(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
@@ -2543,6 +2562,7 @@ void HandleJoystick(void)
   }
 
   if (newbutton && (game_status == GAME_MODE_PSEUDO_TYPENAME ||
+                   game_status == GAME_MODE_PSEUDO_TYPENAMES ||
                    anyTextGadgetActive()))
   {
     // leave name input in main menu or text input gadget
@@ -2589,6 +2609,7 @@ void HandleJoystick(void)
   {
     case GAME_MODE_TITLE:
     case GAME_MODE_MAIN:
+    case GAME_MODE_NAMES:
     case GAME_MODE_LEVELS:
     case GAME_MODE_LEVELNR:
     case GAME_MODE_SETUP:
@@ -2602,6 +2623,8 @@ void HandleJoystick(void)
        HandleTitleScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
       else if (game_status == GAME_MODE_MAIN)
        HandleMainMenu(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+      else if (game_status == GAME_MODE_NAMES)
+        HandleChoosePlayerName(0,0,dx,dy,newbutton?MB_MENU_CHOICE:MB_MENU_MARK);
       else if (game_status == GAME_MODE_LEVELS)
         HandleChooseLevelSet(0,0,dx,dy,newbutton?MB_MENU_CHOICE : MB_MENU_MARK);
       else if (game_status == GAME_MODE_LEVELNR)