X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fsave.c;h=2fb2438e4588c16556dbfccd437ca5ac5f2695dc;hb=9e39f3f130adf821d9b22fa497ca17766cffa155;hp=f5b87bf717703dd30748995c06919bd4c9b979f9;hpb=bd23dab5010eee32b843ffabf83d10cbdbc9fe9d;p=hengband%2Fhengband.git diff --git a/src/save.c b/src/save.c index f5b87bf71..2fb2438e4 100644 --- a/src/save.c +++ b/src/save.c @@ -19,12 +19,10 @@ * Some "local" parameters, used to help write savefiles */ -static FILE *fff; /* Current save "file" */ - -static byte xor_byte; /* Simple encryption */ - -static u32b v_stamp = 0L; /* A simple "checksum" on the actual values */ -static u32b x_stamp = 0L; /* A simple "checksum" on the encoded bytes */ +static FILE *fff; /* Current save "file" */ +static byte xor_byte; /* Simple encryption */ +static u32b v_stamp = 0L; /* A simple "checksum" on the actual values */ +static u32b x_stamp = 0L; /* A simple "checksum" on the encoded bytes */ @@ -351,7 +349,6 @@ static void wr_lore(MONRACE_IDX r_idx) wr_u32b(r_ptr->r_flags6); wr_u32b(r_ptr->r_flagsr); - /* Monster limit per level */ wr_byte((byte_hack)r_ptr->max_num); @@ -381,7 +378,7 @@ static void wr_xtra(KIND_OBJECT_IDX k_idx) /*! - * @brief 店舗情報を書き込む / Write a "store" record + * @brief セーブデータに店舗情報を書き込む / Write a "store" record * @param st_ptr 店舗情報の参照ポインタ * @return なし */ @@ -417,26 +414,20 @@ static void wr_store(store_type *st_ptr) /*! - * @brief 乱数情報を書き込む / Write RNG state - * @return なし + * @brief セーブデータに乱数情報を書き込む / Write RNG state + * @return 常に0(成功を返す) */ static errr wr_randomizer(void) { int i; - - /* Zero */ wr_u16b(0); - - /* Place */ wr_u16b(Rand_place); - /* State */ for (i = 0; i < RAND_DEG; i++) { wr_u32b(Rand_state[i]); } - /* Success */ return (0); } @@ -627,6 +618,7 @@ static void wr_extra(void) wr_byte(p_ptr->psex); wr_byte((byte_hack)p_ptr->realm1); wr_byte((byte_hack)p_ptr->realm2); + wr_byte(0); wr_byte((byte)p_ptr->hitdie); wr_u16b(p_ptr->expfact); @@ -712,6 +704,10 @@ static void wr_extra(void) wr_s16b((s16b)max_dlv[i]); /* More info */ + wr_s16b(0); + wr_s16b(0); + wr_s16b(0); + wr_s16b(0); wr_s16b(p_ptr->sc); wr_s16b(p_ptr->concent); @@ -790,6 +786,7 @@ static void wr_extra(void) wr_u32b(p_ptr->special_defense); wr_byte(p_ptr->knowledge); wr_byte(p_ptr->autopick_autoregister); + wr_byte(0); wr_byte((byte_hack)p_ptr->action); wr_byte(0); wr_byte(preserve_mode); @@ -799,6 +796,9 @@ static void wr_extra(void) for (i = 0; i < 12; i++) wr_u32b(0L); /* Ignore some flags */ + wr_u32b(0L); + wr_u32b(0L); + wr_u32b(0L); /* Write the "object seeds" */ @@ -1559,21 +1559,16 @@ static bool wr_savefile_new(void) */ static bool save_player_aux(char *name) { - bool ok = FALSE; - - int fd = -1; - - int mode = 0644; - + bool ok = FALSE; + int fd = -1; + int mode = 0644; /* No file yet */ fff = NULL; - /* File type is "SAVE" */ FILE_TYPE(FILE_TYPE_SAVE); - /* Grab permissions */ safe_setuid_grab();