/*!
* @brief 保存されたフロアを読み込む / Read the saved floor
- * @return なし
+ * @return info読み込みエラーコード
* @details
+ * この関数は、セーブデータの互換性を保つために多くのデータ改変処理を備えている。
+ * 現在確認している処理は以下の通り、
+ * <ul>
+ * <li>1.7.0.2で8bitだったcave_typeのfeat,mimicのID値を16bitに拡張する処理。</li>
+ * <li>1.7.0.8までに廃止、IDなどを差し替えたクエスト番号を置換する処理。</li>
+ * </ul>
* The monsters/objects must be loaded in the same order
* that they were stored, since the actual indexes matter.
*/
static errr rd_saved_floor(saved_floor_type *sf_ptr)
{
- int ymax, xmax;
- int i, y, x;
+ POSITION ymax, xmax;
+ POSITION y, x;
+ int i;
byte count;
byte tmp8u;
s16b tmp16s;
rd_s16b(&num_repro);
rd_u16b(&tmp16u);
- p_ptr->y = (int)tmp16u;
+ p_ptr->y = (POSITION)tmp16u;
rd_u16b(&tmp16u);
- p_ptr->x = (int)tmp16u;
+ p_ptr->x = (POSITION)tmp16u;
rd_s16b(&tmp16s);
cur_hgt = (POSITION)tmp16s;
}
}
else if ((c_ptr->feat == OLD_FEAT_QUEST_EXIT) &&
- (p_ptr->inside_quest == OLD_QUEST_WATER_CAVE))
+ (p_ptr->inside_quest == OLD_QUEST_WATER_CAVE))
{
c_ptr->feat = feat_up_stair;
c_ptr->special = 0;
OBJECT_IDX o_idx; /* Object in this grid */
MONSTER_IDX m_idx; /* Monster in this grid */
- s16b special; /* Special cave info */
+ /*! 地形の特別な情報を保存する / Special cave info
+ * 具体的な使用一覧はクエスト行き階段の移行先クエストID、
+ * 各ダンジョン入口の移行先ダンジョンID、
+ *
+ */
+ s16b special;
FEAT_IDX mimic; /* Feature to mimic */
XTRA8 xtra1; /* Extra info type (now unused) */
XTRA8 xtra2; /* Extra info activation index */
XTRA8 xtra3; /* Extra info for weaponsmith */
- XTRA16 xtra4; /* Extra info fuel or captured monster's current HP */
- XTRA16 xtra5; /* Extra info captured monster's max HP */
+ XTRA16 xtra4; /*!< 光源の残り寿命、あるいは捕らえたモンスターの現HP / Extra info fuel or captured monster's current HP */
+ XTRA16 xtra5; /*!< 捕らえたモンスターの最大HP / Extra info captured monster's max HP */
HIT_PROB to_h; /* Plusses to hit */
HIT_POINT to_d; /* Plusses to damage */