From 98802622795bd30eea20e1417b9cb1a8468f2887 Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 24 Jan 2021 20:38:23 +0900 Subject: [PATCH] =?utf8?q?[Version]=20#41230=20#41230=203.0.0Alpha2?= =?utf8?q?=E3=80=80=E3=82=BB=E3=83=BC=E3=83=96=E3=83=87=E3=83=BC=E3=82=BF?= =?utf8?q?=E3=81=AE=E4=BA=92=E6=8F=9B=E3=82=92=E5=8F=96=E3=82=8B=E3=81=9F?= =?utf8?q?=E3=82=81=E3=81=AB=E4=BB=A5=E4=B8=8B=E3=81=AE=E6=94=B9=E5=A4=89?= =?utf8?q?=20=20*=20object=5Ftype->xtra2=E3=81=AE=E4=BF=9D=E5=AD=98?= =?utf8?q?=E3=82=B5=E3=82=A4=E3=82=BA=E3=82=9216bit=E3=81=AB=20=20*=20obje?= =?utf8?q?ct=5Ftype->name1=E3=81=AE=E4=BF=9D=E5=AD=98=E3=82=B5=E3=82=A4?= =?utf8?q?=E3=82=BA=E3=82=9216bit=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/load/item-loader.c | 22 ++++++++++++++++++---- src/load/load-v1-5-0.c | 3 ++- src/save/item-writer.c | 4 ++-- src/system/angband-version.h | 2 +- src/system/object-type-definition.h | 2 +- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/load/item-loader.c b/src/load/item-loader.c index 8a84fc427..a46f9fd09 100644 --- a/src/load/item-loader.c +++ b/src/load/item-loader.c @@ -63,8 +63,14 @@ void rd_item(player_type *player_ptr, object_type *o_ptr) o_ptr->weight = tmp16s; if (flags & SAVE_ITEM_NAME1) { - rd_byte(&tmp8u); - o_ptr->name1 = tmp8u; + + if (h_older_than(3, 0, 0, 2)) { + rd_byte(&tmp8u); + o_ptr->name1 = tmp8u; + } else { + rd_s16b(&tmp16s); + o_ptr->name1 = tmp16s; + } } else o_ptr->name1 = 0; @@ -165,8 +171,16 @@ void rd_item(player_type *player_ptr, object_type *o_ptr) else o_ptr->xtra1 = 0; - if (flags & SAVE_ITEM_XTRA2) - rd_byte(&o_ptr->xtra2); + if (flags & SAVE_ITEM_XTRA2){ + + if (h_older_than(3, 0, 0, 2)) { + rd_byte(&tmp8u); + o_ptr->xtra2 = tmp8u; + } else { + rd_s16b(&tmp16s); + o_ptr->xtra2 = tmp16s; + } + } else o_ptr->xtra2 = 0; diff --git a/src/load/load-v1-5-0.c b/src/load/load-v1-5-0.c index 0af69b0a6..a72721836 100644 --- a/src/load/load-v1-5-0.c +++ b/src/load/load-v1-5-0.c @@ -153,7 +153,8 @@ void rd_item_old(player_type *player_ptr, object_type *o_ptr) rd_s16b(&o_ptr->held_m_idx); rd_byte(&o_ptr->xtra1); - rd_byte(&o_ptr->xtra2); + rd_byte(&tmp8u); + o_ptr->xtra2 = tmp8u; if (z_older_than(11, 0, 10)) { if (o_ptr->xtra1 == EGO_XTRA_SUSTAIN) { diff --git a/src/save/item-writer.c b/src/save/item-writer.c index 78a0a0354..541f77819 100644 --- a/src/save/item-writer.c +++ b/src/save/item-writer.c @@ -101,7 +101,7 @@ static void write_item_info(object_type *o_ptr, const BIT_FLAGS flags) { wr_s16b((s16b)o_ptr->weight); if (flags & SAVE_ITEM_NAME1) - wr_byte((byte)o_ptr->name1); + wr_s16b(o_ptr->name1); if (flags & SAVE_ITEM_NAME2) wr_byte((byte)o_ptr->name2); @@ -158,7 +158,7 @@ static void write_item_info(object_type *o_ptr, const BIT_FLAGS flags) wr_byte(o_ptr->xtra1); if (flags & SAVE_ITEM_XTRA2) - wr_byte(o_ptr->xtra2); + wr_s16b(o_ptr->xtra2); if (flags & SAVE_ITEM_XTRA3) wr_byte(o_ptr->xtra3); diff --git a/src/system/angband-version.h b/src/system/angband-version.h index fdb533935..77c68e66e 100644 --- a/src/system/angband-version.h +++ b/src/system/angband-version.h @@ -17,7 +17,7 @@ #define FAKE_VER_MAJOR 13 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */ #define FAKE_VER_MINOR 0 /*!< ゲームのバージョン番号定義(マイナー番号) */ #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */ -#define FAKE_VER_EXTRA 1 /*!< ゲームのバージョン番号定義(エクストラ番号) */ +#define FAKE_VER_EXTRA 2 /*!< ゲームのバージョン番号定義(エクストラ番号) */ /*! * @brief バージョンが開発版が安定版かを返す diff --git a/src/system/object-type-definition.h b/src/system/object-type-definition.h index e45ebc810..866a7a6a7 100644 --- a/src/system/object-type-definition.h +++ b/src/system/object-type-definition.h @@ -20,7 +20,7 @@ typedef struct object_type { EGO_IDX name2; /* Ego-Item type, if any */ XTRA8 xtra1; /* Extra info type (now unused) */ - XTRA8 xtra2; /*!< エゴ/アーティファクトの発動ID / Extra info activation index */ + XTRA16 xtra2; /*!< エゴ/アーティファクトの発動ID / Extra info activation index */ XTRA8 xtra3; /*!< 複数の使用用途 捕らえたモンスターの速度,付加した特殊なエッセンスID / Extra info for weaponsmith */ XTRA16 xtra4; /*!< 複数の使用用途 光源の残り寿命、あるいは捕らえたモンスターの現HP / Extra info fuel or captured monster's current HP */ XTRA16 xtra5; /*!< 複数の使用用途 捕らえたモンスターの最大HP / Extra info captured monster's max HP */ -- 2.11.0