OSDN Git Service

新規ゲーム開始のときのパネルの位置が変だったので、再修正。
[hengband/hengband.git] / src / dungeon.c
index b587bf3..271df19 100644 (file)
@@ -5051,6 +5051,7 @@ msg_format("%^s
                        p_ptr->magic_num1[0] = 0;
                }
                else p_ptr->magic_num1[0] -= 40;
+               p_ptr->update |= (PU_BONUS);
        }
        if (p_ptr->action == ACTION_LEARN)
        {
@@ -5550,21 +5551,12 @@ static void dungeon(bool load_game)
                create_down_stair = create_up_stair = 0;
        }
 
+       /* Validate the panel */
+       panel_bounds_center();
 
        /* Verify the panel */
        verify_panel();
 
-       /* Validate the panel */
-       if (center_player)
-       {
-               panel_bounds_center();
-       }
-       else
-       {
-       panel_bounds();
-       }
-
-
        /* Flush messages */
        msg_print(NULL);
 
@@ -5959,6 +5951,22 @@ void play_game(bool new_game)
        /* Hack -- Character is "icky" */
        character_icky = TRUE;
 
+       /* Make sure main term is active */
+       Term_activate(angband_term[0]);
+
+       /* Initialise the resize hooks */
+       angband_term[0]->resize_hook = resize_map;
+       
+       for (i = 1; i < 8; i++)
+       {
+               /* Does the term exist? */
+               if (angband_term[i])
+               {
+                       /* Add the redraw on resize hook */
+                       angband_term[i]->resize_hook = redraw_window;
+               }
+       }
+
        /* Hack -- turn off the cursor */
        (void)Term_set_cursor(0);
 
@@ -6238,6 +6246,10 @@ quit("
        start_time = time(NULL) - 1;
        record_o_name[0] = '\0';
 
+       /* Reset map panel */
+       panel_row_min = cur_hgt;
+       panel_col_min = cur_wid;
+
        /* Sexy gal gets bonus to maximum weapon skill of whip */
        if(p_ptr->pseikaku == SEIKAKU_SEXY)
                s_info[p_ptr->pclass].w_max[TV_HAFTED-TV_BOW][SV_WHIP] = 8000;
@@ -6342,7 +6354,7 @@ if (init_v_info()) quit("
        p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
 
        /* Window stuff */
-       p_ptr->window |= (PW_MONSTER);
+       p_ptr->window |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
 
        /* Window stuff */
        window_stuff();