diff --git a/configure.py b/configure.py index 73d9b554..3b2c0ed3 100644 --- a/configure.py +++ b/configure.py @@ -432,7 +432,7 @@ config.libs = [ Object(NonMatching, "d/d_stage_mgr.cpp"), Object(NonMatching, "d/d_last.cpp"), Object(NonMatching, "d/d_stage.cpp"), - Object(NonMatching, "d/d_room.cpp"), + Object(Matching, "d/d_room.cpp"), Object(NonMatching, "d/d_cs_base.cpp"), Object(NonMatching, "d/d_cs_game.cpp"), Object(Matching, "d/d_sc_title.cpp"), diff --git a/include/d/d_room.h b/include/d/d_room.h index 051532e8..2674eca3 100644 --- a/include/d/d_room.h +++ b/include/d/d_room.h @@ -99,7 +99,6 @@ public: mBpntCount(0), mAreaCount(0), mFlags(0) {} - virtual ~dRoom_c() {} virtual int create() override; virtual int doDelete() override; diff --git a/include/toBeSorted/unk_with_water.h b/include/toBeSorted/unk_with_water.h index 9fa2f40c..3d01e99c 100644 --- a/include/toBeSorted/unk_with_water.h +++ b/include/toBeSorted/unk_with_water.h @@ -12,14 +12,24 @@ public: /* 0x0C */ UNKWORD field_0x0C; }; -class UnkWithWater { +class UnkWithWaterBase { +public: + UnkWithWaterBase() : field_0x04(0), field_0x08(0) {} + virtual void calc() = 0; + +private: + /* 0x04 */ UNKWORD field_0x04; + /* 0x08 */ UNKWORD field_0x08; +}; + +class UnkWithWater : public UnkWithWaterBase { public: typedef TList NodeList; - - UnkWithWater() : field_0x04(0), field_0x08(0) {} + UnkWithWater() {} virtual ~UnkWithWater() { remove(); } + virtual void calc() override; static bool linkMdl(nw4r::g3d::ResMdl &mdl, UnkWithWater *thing); bool hasLinks() const { @@ -29,8 +39,6 @@ public: private: void remove(); - /* 0x04 */ UNKWORD field_0x04; - /* 0x08 */ UNKWORD field_0x08; /* 0x0C */ NodeList mList; };