OSDN Git Service

[Refactor] #38997 wr_extra() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sun, 29 Dec 2019 00:49:57 +0000 (09:49 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sun, 29 Dec 2019 00:49:57 +0000 (09:49 +0900)
src/save.c

index 8cc13c8..fedd3b8 100644 (file)
@@ -611,71 +611,71 @@ static void save_quick_start(void)
  * @brief その他の情報を書き込む / Write some "extra" info
  * @return なし
  */
-static void wr_extra(void)
+static void wr_extra(player_type *creature_ptr)
 {
        int i,j;
        byte tmp8u;
 
-       wr_string(p_ptr->name);
-       wr_string(p_ptr->died_from);
-       wr_string(p_ptr->last_message ? p_ptr->last_message : "");
+       wr_string(creature_ptr->name);
+       wr_string(creature_ptr->died_from);
+       wr_string(creature_ptr->last_message ? creature_ptr->last_message : "");
 
        save_quick_start();
 
        for (i = 0; i < 4; i++)
        {
-               wr_string(p_ptr->history[i]);
+               wr_string(creature_ptr->history[i]);
        }
 
        /* Race/Class/Gender/Spells */
-       wr_byte((byte_hack)p_ptr->prace);
-       wr_byte((byte_hack)p_ptr->pclass);
-       wr_byte((byte_hack)p_ptr->pseikaku);
-       wr_byte((byte_hack)p_ptr->psex);
-       wr_byte((byte_hack)p_ptr->realm1);
-       wr_byte((byte_hack)p_ptr->realm2);
+       wr_byte((byte_hack)creature_ptr->prace);
+       wr_byte((byte_hack)creature_ptr->pclass);
+       wr_byte((byte_hack)creature_ptr->pseikaku);
+       wr_byte((byte_hack)creature_ptr->psex);
+       wr_byte((byte_hack)creature_ptr->realm1);
+       wr_byte((byte_hack)creature_ptr->realm2);
        wr_byte(0);
 
-       wr_byte((byte)p_ptr->hitdie);
-       wr_u16b(p_ptr->expfact);
+       wr_byte((byte)creature_ptr->hitdie);
+       wr_u16b(creature_ptr->expfact);
 
-       wr_s16b(p_ptr->age);
-       wr_s16b(p_ptr->ht);
-       wr_s16b(p_ptr->wt);
+       wr_s16b(creature_ptr->age);
+       wr_s16b(creature_ptr->ht);
+       wr_s16b(creature_ptr->wt);
 
        /* Dump the stats (maximum and current) */
-       for (i = 0; i < A_MAX; ++i) wr_s16b(p_ptr->stat_max[i]);
-       for (i = 0; i < A_MAX; ++i) wr_s16b(p_ptr->stat_max_max[i]);
-       for (i = 0; i < A_MAX; ++i) wr_s16b(p_ptr->stat_cur[i]);
+       for (i = 0; i < A_MAX; ++i) wr_s16b(creature_ptr->stat_max[i]);
+       for (i = 0; i < A_MAX; ++i) wr_s16b(creature_ptr->stat_max_max[i]);
+       for (i = 0; i < A_MAX; ++i) wr_s16b(creature_ptr->stat_cur[i]);
 
        /* Ignore the transient stats */
        for (i = 0; i < 12; ++i) wr_s16b(0);
 
-       wr_u32b(p_ptr->au);
+       wr_u32b(creature_ptr->au);
 
-       wr_u32b(p_ptr->max_exp);
-       wr_u32b(p_ptr->max_max_exp);
-       wr_u32b(p_ptr->exp);
-       wr_u32b(p_ptr->exp_frac);
-       wr_s16b(p_ptr->lev);
+       wr_u32b(creature_ptr->max_exp);
+       wr_u32b(creature_ptr->max_max_exp);
+       wr_u32b(creature_ptr->exp);
+       wr_u32b(creature_ptr->exp_frac);
+       wr_s16b(creature_ptr->lev);
 
-       for (i = 0; i < 64; i++) wr_s16b(p_ptr->spell_exp[i]);
-       for (i = 0; i < 5; i++) for (j = 0; j < 64; j++) wr_s16b(p_ptr->weapon_exp[i][j]);
-       for (i = 0; i < GINOU_MAX; i++) wr_s16b(p_ptr->skill_exp[i]);
-       for (i = 0; i < 108; i++) wr_s32b(p_ptr->magic_num1[i]);
-       for (i = 0; i < 108; i++) wr_byte(p_ptr->magic_num2[i]);
+       for (i = 0; i < 64; i++) wr_s16b(creature_ptr->spell_exp[i]);
+       for (i = 0; i < 5; i++) for (j = 0; j < 64; j++) wr_s16b(creature_ptr->weapon_exp[i][j]);
+       for (i = 0; i < GINOU_MAX; i++) wr_s16b(creature_ptr->skill_exp[i]);
+       for (i = 0; i < 108; i++) wr_s32b(creature_ptr->magic_num1[i]);
+       for (i = 0; i < 108; i++) wr_byte(creature_ptr->magic_num2[i]);
 
-       wr_byte((byte_hack)p_ptr->start_race);
-       wr_s32b(p_ptr->old_race1);
-       wr_s32b(p_ptr->old_race2);
-       wr_s16b(p_ptr->old_realm);
+       wr_byte((byte_hack)creature_ptr->start_race);
+       wr_s32b(creature_ptr->old_race1);
+       wr_s32b(creature_ptr->old_race2);
+       wr_s16b(creature_ptr->old_realm);
 
        for (i = 0; i < MAX_MANE; i++)
        {
-               wr_s16b((s16b)p_ptr->mane_spell[i]);
-               wr_s16b((s16b)p_ptr->mane_dam[i]);
+               wr_s16b((s16b)creature_ptr->mane_spell[i]);
+               wr_s16b((s16b)creature_ptr->mane_dam[i]);
        }
-       wr_s16b(p_ptr->mane_num);
+       wr_s16b(creature_ptr->mane_num);
 
        for (i = 0; i < MAX_KUBI; i++)
        {
@@ -688,32 +688,32 @@ static void wr_extra(void)
                wr_u32b(mon_odds[i]);
        }
 
-       wr_s16b(p_ptr->town_num); /* -KMW- */
+       wr_s16b(creature_ptr->town_num); /* -KMW- */
 
        /* Write arena and rewards information -KMW- */
-       wr_s16b(p_ptr->arena_number);
-       wr_s16b(p_ptr->current_floor_ptr->inside_arena);
-       wr_s16b(p_ptr->current_floor_ptr->inside_quest);
-       wr_s16b(p_ptr->phase_out);
-       wr_byte(p_ptr->exit_bldg);
+       wr_s16b(creature_ptr->arena_number);
+       wr_s16b(creature_ptr->current_floor_ptr->inside_arena);
+       wr_s16b(creature_ptr->current_floor_ptr->inside_quest);
+       wr_s16b(creature_ptr->phase_out);
+       wr_byte(creature_ptr->exit_bldg);
        wr_byte(0); /* Unused */
 
-       wr_s16b((s16b)p_ptr->oldpx);
-       wr_s16b((s16b)p_ptr->oldpy);
+       wr_s16b((s16b)creature_ptr->oldpx);
+       wr_s16b((s16b)creature_ptr->oldpy);
 
-       /* Was number of p_ptr->rewards[] */
+       /* Was number of creature_ptr->rewards[] */
        wr_s16b(0);
 
-       wr_s32b(p_ptr->mhp);
-       wr_s32b(p_ptr->chp);
-       wr_u32b(p_ptr->chp_frac);
+       wr_s32b(creature_ptr->mhp);
+       wr_s32b(creature_ptr->chp);
+       wr_u32b(creature_ptr->chp_frac);
 
-       wr_s32b(p_ptr->msp);
-       wr_s32b(p_ptr->csp);
-       wr_u32b(p_ptr->csp_frac);
+       wr_s32b(creature_ptr->msp);
+       wr_s32b(creature_ptr->csp);
+       wr_u32b(creature_ptr->csp_frac);
 
        /* Max Player and Dungeon Levels */
-       wr_s16b(p_ptr->max_plv);
+       wr_s16b(creature_ptr->max_plv);
        tmp8u = (byte)current_world_ptr->max_d_idx;
        wr_byte(tmp8u);
        for (i = 0; i < tmp8u; i++)
@@ -724,89 +724,89 @@ static void wr_extra(void)
        wr_s16b(0);
        wr_s16b(0);
        wr_s16b(0);
-       wr_s16b(p_ptr->sc);
-       wr_s16b(p_ptr->concent);
+       wr_s16b(creature_ptr->sc);
+       wr_s16b(creature_ptr->concent);
 
        wr_s16b(0);             /* old "rest" */
-       wr_s16b(p_ptr->blind);
-       wr_s16b(p_ptr->paralyzed);
-       wr_s16b(p_ptr->confused);
-       wr_s16b(p_ptr->food);
+       wr_s16b(creature_ptr->blind);
+       wr_s16b(creature_ptr->paralyzed);
+       wr_s16b(creature_ptr->confused);
+       wr_s16b(creature_ptr->food);
        wr_s16b(0);     /* old "food_digested" */
        wr_s16b(0);     /* old "protection" */
-       wr_s16b(p_ptr->energy_need);
-       wr_s16b(p_ptr->enchant_energy_need);
-       wr_s16b(p_ptr->fast);
-       wr_s16b(p_ptr->slow);
-       wr_s16b(p_ptr->afraid);
-       wr_s16b(p_ptr->cut);
-       wr_s16b(p_ptr->stun);
-       wr_s16b(p_ptr->poisoned);
-       wr_s16b(p_ptr->image);
-       wr_s16b(p_ptr->protevil);
-       wr_s16b(p_ptr->invuln);
-       wr_s16b(p_ptr->ult_res);
-       wr_s16b(p_ptr->hero);
-       wr_s16b(p_ptr->shero);
-       wr_s16b(p_ptr->shield);
-       wr_s16b(p_ptr->blessed);
-       wr_s16b(p_ptr->tim_invis);
-       wr_s16b(p_ptr->word_recall);
-       wr_s16b(p_ptr->recall_dungeon);
-       wr_s16b(p_ptr->alter_reality);
-       wr_s16b(p_ptr->see_infra);
-       wr_s16b(p_ptr->tim_infra);
-       wr_s16b(p_ptr->oppose_fire);
-       wr_s16b(p_ptr->oppose_cold);
-       wr_s16b(p_ptr->oppose_acid);
-       wr_s16b(p_ptr->oppose_elec);
-       wr_s16b(p_ptr->oppose_pois);
-       wr_s16b(p_ptr->tsuyoshi);
-       wr_s16b(p_ptr->tim_esp);
-       wr_s16b(p_ptr->wraith_form);
-       wr_s16b(p_ptr->resist_magic);
-       wr_s16b(p_ptr->tim_regen);
-       wr_s16b(p_ptr->kabenuke);
-       wr_s16b(p_ptr->tim_stealth);
-       wr_s16b(p_ptr->tim_levitation);
-       wr_s16b(p_ptr->tim_sh_touki);
-       wr_s16b(p_ptr->lightspeed);
-       wr_s16b(p_ptr->tsubureru);
-       wr_s16b(p_ptr->magicdef);
-       wr_s16b(p_ptr->tim_res_nether);
-       wr_s16b(p_ptr->tim_res_time);
-       wr_byte((byte)p_ptr->mimic_form);
-       wr_s16b(p_ptr->tim_mimic);
-       wr_s16b(p_ptr->tim_sh_fire);
-       wr_s16b(p_ptr->tim_sh_holy);
-       wr_s16b(p_ptr->tim_eyeeye);
+       wr_s16b(creature_ptr->energy_need);
+       wr_s16b(creature_ptr->enchant_energy_need);
+       wr_s16b(creature_ptr->fast);
+       wr_s16b(creature_ptr->slow);
+       wr_s16b(creature_ptr->afraid);
+       wr_s16b(creature_ptr->cut);
+       wr_s16b(creature_ptr->stun);
+       wr_s16b(creature_ptr->poisoned);
+       wr_s16b(creature_ptr->image);
+       wr_s16b(creature_ptr->protevil);
+       wr_s16b(creature_ptr->invuln);
+       wr_s16b(creature_ptr->ult_res);
+       wr_s16b(creature_ptr->hero);
+       wr_s16b(creature_ptr->shero);
+       wr_s16b(creature_ptr->shield);
+       wr_s16b(creature_ptr->blessed);
+       wr_s16b(creature_ptr->tim_invis);
+       wr_s16b(creature_ptr->word_recall);
+       wr_s16b(creature_ptr->recall_dungeon);
+       wr_s16b(creature_ptr->alter_reality);
+       wr_s16b(creature_ptr->see_infra);
+       wr_s16b(creature_ptr->tim_infra);
+       wr_s16b(creature_ptr->oppose_fire);
+       wr_s16b(creature_ptr->oppose_cold);
+       wr_s16b(creature_ptr->oppose_acid);
+       wr_s16b(creature_ptr->oppose_elec);
+       wr_s16b(creature_ptr->oppose_pois);
+       wr_s16b(creature_ptr->tsuyoshi);
+       wr_s16b(creature_ptr->tim_esp);
+       wr_s16b(creature_ptr->wraith_form);
+       wr_s16b(creature_ptr->resist_magic);
+       wr_s16b(creature_ptr->tim_regen);
+       wr_s16b(creature_ptr->kabenuke);
+       wr_s16b(creature_ptr->tim_stealth);
+       wr_s16b(creature_ptr->tim_levitation);
+       wr_s16b(creature_ptr->tim_sh_touki);
+       wr_s16b(creature_ptr->lightspeed);
+       wr_s16b(creature_ptr->tsubureru);
+       wr_s16b(creature_ptr->magicdef);
+       wr_s16b(creature_ptr->tim_res_nether);
+       wr_s16b(creature_ptr->tim_res_time);
+       wr_byte((byte)creature_ptr->mimic_form);
+       wr_s16b(creature_ptr->tim_mimic);
+       wr_s16b(creature_ptr->tim_sh_fire);
+       wr_s16b(creature_ptr->tim_sh_holy);
+       wr_s16b(creature_ptr->tim_eyeeye);
 
        /* by henkma */
-       wr_s16b(p_ptr->tim_reflect);
-       wr_s16b(p_ptr->multishadow);
-       wr_s16b(p_ptr->dustrobe);
+       wr_s16b(creature_ptr->tim_reflect);
+       wr_s16b(creature_ptr->multishadow);
+       wr_s16b(creature_ptr->dustrobe);
 
-       wr_s16b(p_ptr->chaos_patron);
-       wr_u32b(p_ptr->muta1);
-       wr_u32b(p_ptr->muta2);
-       wr_u32b(p_ptr->muta3);
+       wr_s16b(creature_ptr->chaos_patron);
+       wr_u32b(creature_ptr->muta1);
+       wr_u32b(creature_ptr->muta2);
+       wr_u32b(creature_ptr->muta3);
 
        for (i = 0; i<8; i++)
-               wr_s16b(p_ptr->virtues[i]);
+               wr_s16b(creature_ptr->virtues[i]);
        for (i = 0; i<8; i++)
-               wr_s16b(p_ptr->vir_types[i]);
-
-       wr_s16b(p_ptr->ele_attack);
-       wr_u32b(p_ptr->special_attack);
-       wr_s16b(p_ptr->ele_immune);
-       wr_u32b(p_ptr->special_defense);
-       wr_byte(p_ptr->knowledge);
-       wr_byte(p_ptr->autopick_autoregister);
+               wr_s16b(creature_ptr->vir_types[i]);
+
+       wr_s16b(creature_ptr->ele_attack);
+       wr_u32b(creature_ptr->special_attack);
+       wr_s16b(creature_ptr->ele_immune);
+       wr_u32b(creature_ptr->special_defense);
+       wr_byte(creature_ptr->knowledge);
+       wr_byte(creature_ptr->autopick_autoregister);
        wr_byte(0);
-       wr_byte((byte_hack)p_ptr->action);
+       wr_byte((byte_hack)creature_ptr->action);
        wr_byte(0);
        wr_byte(preserve_mode);
-       wr_byte(p_ptr->wait_report_score);
+       wr_byte(creature_ptr->wait_report_score);
 
        /* Future use */
        for (i = 0; i < 12; i++) wr_u32b(0L);
@@ -823,22 +823,22 @@ static void wr_extra(void)
 
 
        /* Special stuff */
-       wr_u16b(p_ptr->panic_save);
-       wr_u16b(p_ptr->total_winner);
-       wr_u16b(p_ptr->noscore);
+       wr_u16b(creature_ptr->panic_save);
+       wr_u16b(creature_ptr->total_winner);
+       wr_u16b(creature_ptr->noscore);
 
 
        /* Write death */
-       wr_byte(p_ptr->is_dead);
+       wr_byte(creature_ptr->is_dead);
 
        /* Write feeling */
-       wr_byte(p_ptr->feeling);
+       wr_byte(creature_ptr->feeling);
 
        /* Turn when level began */
-       wr_s32b(p_ptr->current_floor_ptr->generated_turn);
+       wr_s32b(creature_ptr->current_floor_ptr->generated_turn);
 
        /* Turn of last "feeling" */
-       wr_s32b(p_ptr->feeling_turn);
+       wr_s32b(creature_ptr->feeling_turn);
 
        /* Current turn */
        wr_s32b(current_world_ptr->game_turn);
@@ -848,20 +848,20 @@ static void wr_extra(void)
        wr_s32b(current_world_ptr->arena_start_turn);
 
        wr_s16b(today_mon);
-       wr_s16b(p_ptr->today_mon);
-       wr_s16b(p_ptr->riding);
+       wr_s16b(creature_ptr->today_mon);
+       wr_s16b(creature_ptr->riding);
 
        /* Current floor_id */
-       wr_s16b(p_ptr->floor_id);
+       wr_s16b(creature_ptr->floor_id);
 
        /* Save temporary preserved pets (obsolated) */
        wr_s16b(0);
 
        wr_u32b(current_world_ptr->play_time);
 
-       wr_s32b(p_ptr->visit);
+       wr_s32b(creature_ptr->visit);
 
-       wr_u32b(p_ptr->count);
+       wr_u32b(creature_ptr->count);
 }
 
 
@@ -1399,7 +1399,7 @@ static bool wr_savefile_new(void)
 
 
        /* Write the "extra" information */
-       wr_extra();
+       wr_extra(p_ptr);
 
        /* Dump the "player hp" entries */
        tmp16u = PY_MAX_LEVEL;