OSDN Git Service

[Refactor] #40399 Moved delete_object() from object2.c/h to floor-object.c/h
authorHourier <hourier@users.sourceforge.jp>
Mon, 1 Jun 2020 15:17:25 +0000 (00:17 +0900)
committerHourier <hourier@users.sourceforge.jp>
Mon, 1 Jun 2020 15:17:25 +0000 (00:17 +0900)
src/floor/floor-object.c
src/floor/floor-object.h
src/floor/floor-streams.c
src/floor/floor-streams.h
src/object/object2.c
src/object/object2.h
src/spell/spells-floor.c
src/spell/spells2.c

index ffea8b9..2352d4f 100644 (file)
@@ -137,3 +137,32 @@ bool make_gold(floor_type *floor_ptr, object_type *j_ptr)
 
     return TRUE;
 }
+
+/*!
+ * @brief フロアにマスに落ちているオブジェクトを全て削除する / Deletes all objects at given location
+ * Delete a dungeon object
+ * @param player_ptr プレーヤーへの参照ポインタ
+ * @param y 削除したフロアマスのY座標
+ * @param x 削除したフロアマスのX座標
+ * @return なし
+ */
+void delete_object(player_type *player_ptr, POSITION y, POSITION x)
+{
+    grid_type *g_ptr;
+    OBJECT_IDX this_o_idx, next_o_idx = 0;
+    floor_type *floor_ptr = player_ptr->current_floor_ptr;
+    if (!in_bounds(floor_ptr, y, x))
+        return;
+
+    g_ptr = &floor_ptr->grid_array[y][x];
+    for (this_o_idx = g_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx) {
+        object_type *o_ptr;
+        o_ptr = &floor_ptr->o_list[this_o_idx];
+        next_o_idx = o_ptr->next_o_idx;
+        object_wipe(o_ptr);
+        floor_ptr->o_cnt--;
+    }
+
+    g_ptr->o_idx = 0;
+    lite_spot(player_ptr, y, x);
+}
index 0590b7f..f8b9386 100644 (file)
@@ -4,3 +4,4 @@
 
 bool make_object(player_type *owner_ptr, object_type *j_ptr, BIT_FLAGS mode);
 bool make_gold(floor_type *floor_ptr, object_type *j_ptr);
+void delete_object(player_type *owner_ptr, POSITION y, POSITION x);
index 9560463..0228e6f 100644 (file)
@@ -3,35 +3,31 @@
  * @brief ダンジョン生成に利用する関数群 / Used by dungeon generation.
  * @date 2014/07/15
  * @author
- * <pre>
  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
  * This software may be copied and distributed for educational, research,
  * and not for profit purposes provided that this copyright and statement
  * are included in all such copies.  Other copyrights may also apply.
- * </pre>
  * @details
  * Purpose:  This file holds all the
  * functions that are applied to a level after the rest has been
  * generated, ie streams and level destruction.
  */
 
-#include "system/angband.h"
-#include "util/util.h"
-
-#include "object/artifact.h"
-#include "floor/floor-generate.h"
+#include "floor/floor-streams.h"
 #include "dungeon/dungeon.h"
+#include "floor/floor-generate.h"
+#include "floor/floor-object.h"
 #include "floor/floor.h"
-#include "floor/floor-streams.h"
+#include "grid/feature.h"
 #include "grid/grid.h"
 #include "monster/monster.h"
-#include "grid/feature.h"
-#include "object/object2.h"
+#include "object/artifact.h"
 #include "object/object-flavor.h"
 #include "object/object-hook.h"
-#include "spell/spells1.h"
-#include "spell/spells-floor.h"
 #include "room/rooms.h"
+#include "spell/spells-floor.h"
+#include "spell/spells1.h"
+#include "util/util.h"
 
 /*!
  * @brief 再帰フラクタルアルゴリズムによりダンジョン内に川を配置する /
index 39a9867..3f4959f 100644 (file)
@@ -1,20 +1,6 @@
-/*
- * File: streams.h
- * Purpose: header file for streams.c. This is only used in generate.c.
- */
+#include "system/angband.h"
 
-/*
- * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
- *
- * This software may be copied and distributed for educational, research,
- * and not for profit purposes provided that this copyright and statement
- * are included in all such copies.  Other copyrights may also apply.
- */
-
-
-/* Externs */
-
-extern void add_river(floor_type *floor_ptr);
-extern void build_streamer(player_type *player_ptr, FEAT_IDX feat, int chance);
-extern void place_trees(player_type *player_ptr, POSITION x, POSITION y);
-extern void destroy_level(player_type *player_ptr);
+void add_river(floor_type *floor_ptr);
+void build_streamer(player_type *player_ptr, FEAT_IDX feat, int chance);
+void place_trees(player_type *player_ptr, POSITION x, POSITION y);
+void destroy_level(player_type *player_ptr);
index 56821e6..d47073a 100644 (file)
@@ -194,36 +194,6 @@ void delete_object_idx(player_type *player_ptr, OBJECT_IDX o_idx)
 
 
 /*!
- * @brief フロアにマスに落ちているオブジェクトを全て削除する / Deletes all objects at given location
- * Delete a dungeon object
- * @param player_ptr プレーヤーへの参照ポインタ
- * @param y 削除したフロアマスのY座標
- * @param x 削除したフロアマスのX座標
- * @return なし
- */
-void delete_object(player_type *player_ptr, POSITION y, POSITION x)
-{
-       grid_type *g_ptr;
-       OBJECT_IDX this_o_idx, next_o_idx = 0;
-       floor_type *floor_ptr = player_ptr->current_floor_ptr;
-       if (!in_bounds(floor_ptr, y, x)) return;
-
-       g_ptr = &floor_ptr->grid_array[y][x];
-       for (this_o_idx = g_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
-       {
-               object_type *o_ptr;
-               o_ptr = &floor_ptr->o_list[this_o_idx];
-               next_o_idx = o_ptr->next_o_idx;
-               object_wipe(o_ptr);
-               floor_ptr->o_cnt--;
-       }
-
-       g_ptr->o_idx = 0;
-       lite_spot(player_ptr, y, x);
-}
-
-
-/*!
  * @brief グローバルオブジェクト配列から空きを取得する /
  * Acquires and returns the index of a "free" object.
  * @param floo_ptr 現在フロアへの参照ポインタ
index ea580a8..9dcdd45 100644 (file)
@@ -10,7 +10,6 @@ int bow_tval_ammo(object_type *o_ptr);
 s32b flag_cost(object_type *o_ptr, int plusses);
 void excise_object_idx(floor_type *floor_ptr, OBJECT_IDX o_idx);
 void delete_object_idx(player_type *owner_ptr, OBJECT_IDX o_idx);
-void delete_object(player_type *owner_ptr, POSITION y, POSITION x);
 
 OBJECT_IDX o_pop(floor_type *floor_ptr);
 OBJECT_IDX get_obj_num(player_type *o_ptr, DEPTH level, BIT_FLAGS mode);
index ba40078..6b8fe3b 100644 (file)
@@ -10,6 +10,7 @@
 #include "dungeon/dungeon.h"
 #include "dungeon/quest.h"
 #include "floor/floor-events.h"
+#include "floor/floor-object.h"
 #include "floor/floor-save.h"
 #include "floor/floor.h"
 #include "grid/feature.h"
@@ -21,7 +22,6 @@
 #include "object/object-flavor.h"
 #include "object/object-hook.h"
 #include "object/object-mark-types.h"
-#include "object/object2.h"
 #include "object/special-object-flags.h"
 #include "player/player-damage.h"
 #include "player/player-effects.h"
index 39a86c2..a9bdaaf 100644 (file)
@@ -23,6 +23,7 @@
 #include "effect/effect-characteristics.h"
 #include "effect/spells-effect-util.h"
 #include "floor/floor-events.h"
+#include "floor/floor-object.h"
 #include "grid/feature.h"
 #include "grid/grid.h"
 #include "inventory/player-inventory.h"