OSDN Git Service

#37287 #37353 (2.2.0.89) 型の置換を継続中。 / Ongoing type replacement.
authorDeskull <desull@users.sourceforge.jp>
Sat, 9 Dec 2017 06:30:04 +0000 (15:30 +0900)
committerDeskull <desull@users.sourceforge.jp>
Sat, 9 Dec 2017 06:30:04 +0000 (15:30 +0900)
src/load.c
src/types.h

index ce49f23..f21f6f2 100644 (file)
@@ -2947,15 +2947,22 @@ static errr rd_dungeon_old(void)
 
 /*!
  * @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;
@@ -3015,10 +3022,10 @@ static errr rd_saved_floor(saved_floor_type *sf_ptr)
        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;
@@ -3126,7 +3133,7 @@ static errr rd_saved_floor(saved_floor_type *sf_ptr)
                                }
                        }
                        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;
index 27359bf..14ad051 100644 (file)
@@ -459,7 +459,12 @@ struct cave_type
        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 */
 
@@ -537,8 +542,8 @@ struct object_type
        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 */