OSDN Git Service

モンスターの光源バグ再修正。バグの原因確定。update_monsters(TRUE);で
[hengbandforosx/hengbandosx.git] / src / xtra1.c
index 4685f56..f9dac2d 100644 (file)
@@ -691,12 +691,7 @@ static void prt_title(void)
        /* Normal */
        else
        {
-#ifdef JP
-               mb_strlcpy(str, player_title[p_ptr->pclass][(p_ptr->lev - 1) / 5], 14);
-#else
-               strncpy(str, player_title[p_ptr->pclass][(p_ptr->lev - 1) / 5], 13);
-               str[13] = '\0';
-#endif
+               my_strcpy(str, player_title[p_ptr->pclass][(p_ptr->lev - 1) / 5], sizeof(str));
                p = str;
        }
 
@@ -750,9 +745,6 @@ static void prt_exp(void)
 {
        char out_val[32];
 
-       if ((p_ptr->prace == RACE_ANDROID) && !cheat_xtra)
-               (void)strcpy(out_val, "*******");
-       else
 #ifdef JP
 (void)sprintf(out_val, "%7ld", (long)p_ptr->exp);
 #else
@@ -763,10 +755,12 @@ static void prt_exp(void)
        if (p_ptr->exp >= p_ptr->max_exp)
        {
 #ifdef JP
-               put_str("·Ð¸³ ", ROW_EXP, 0);
+                if (p_ptr->prace == RACE_ANDROID) put_str("¶¯²½ ", ROW_EXP, 0);
+               else put_str("·Ð¸³ ", ROW_EXP, 0);
                c_put_str(TERM_L_GREEN, out_val, ROW_EXP, COL_EXP + 5);
 #else
-               put_str("EXP ", ROW_EXP, 0);
+                if (p_ptr->prace == RACE_ANDROID) put_str("Cst ", ROW_EXP, 0);
+               else put_str("EXP ", ROW_EXP, 0);
                c_put_str(TERM_L_GREEN, out_val, ROW_EXP, COL_EXP + 4);
 #endif
 
@@ -1650,13 +1644,9 @@ static void prt_frame_basic(void)
                prt_field(mimic_info[p_ptr->mimic_form].title, ROW_RACE, COL_RACE);
        else
        {
-#ifdef JP
                char str[14];
-               mb_strlcpy(str, rp_ptr->title, 14);
+               my_strcpy(str, rp_ptr->title, sizeof(str));
                prt_field(str, ROW_RACE, COL_RACE);
-#else
-               prt_field(rp_ptr->title, ROW_RACE, COL_RACE);
-#endif
        }
 /*     prt_field(cp_ptr->title, ROW_CLASS, COL_CLASS); */
 /*     prt_field(ap_ptr->title, ROW_SEIKAKU, COL_SEIKAKU); */
@@ -2394,6 +2384,9 @@ static void calc_spells(void)
 
                /* Redraw Study Status */
                p_ptr->redraw |= (PR_STUDY);
+
+                /* Redraw object recall */
+                p_ptr->window |= (PW_OBJECT);
        }
 }
 
@@ -5636,19 +5629,22 @@ void update_stuff(void)
                update_flow();
        }
 
-       if (p_ptr->update & (PU_MON_LITE))
-       {
-               p_ptr->update &= ~(PU_MON_LITE);
-               update_mon_lite();
-       }
-
        if (p_ptr->update & (PU_DISTANCE))
        {
                p_ptr->update &= ~(PU_DISTANCE);
-               p_ptr->update &= ~(PU_MONSTERS);
+
+                /* Still need to call update_monsters(FALSE) after update_mon_lite() */ 
+               /* p_ptr->update &= ~(PU_MONSTERS); */
+
                update_monsters(TRUE);
        }
 
+       if (p_ptr->update & (PU_MON_LITE))
+       {
+               p_ptr->update &= ~(PU_MON_LITE);
+               update_mon_lite();
+       }
+
        if (p_ptr->update & (PU_MONSTERS))
        {
                p_ptr->update &= ~(PU_MONSTERS);