diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2022-08-30 14:22:17 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-30 15:22:17 -0600 |
| commit | f8979749e3ef8e8cacf2ea8f474c7f23fc5cb6b3 (patch) | |
| tree | 69659df2105266e9b26a4d50b9a2d610b3e437a2 /include/d/map | |
| parent | bc30d007e11458a198c5725626a10bb06a5da536 (diff) | |
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item
* d_a_title mostly decompiled
* daalink / d_event / JMessage / dmsg_out_font work
* msg_scrn_base / msg_scrn_boss
* some work on mDo machine, d_menu_save, d_tresure, and various
* remove asm
* progress
* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data
* rename more data
* remove asm / progress
* match all of d_pane_class
* fixes / some dKankyo doc
* bunch of j2d work. d_drawlist / d_attention cleanup
* progress / asm
* cleanup wip
* decompile JStage
* setup some more JStudio structs
* set up d_demo classes
* some d_demo work
* cleanup dolphin os stuff
* some initial dEvent documentation
* some At collision documentation
* match JUTConsole::doDraw
* dbgs work / split up some of d_a_alink into .inc files
* d_a_alink_spinner work
Diffstat (limited to 'include/d/map')
| -rw-r--r-- | include/d/map/d_map_path.h | 70 | ||||
| -rw-r--r-- | include/d/map/d_map_path_dmap.h | 10 |
2 files changed, 61 insertions, 19 deletions
diff --git a/include/d/map/d_map_path.h b/include/d/map/d_map_path.h index b809043d8a..23b511d6ae 100644 --- a/include/d/map/d_map_path.h +++ b/include/d/map/d_map_path.h @@ -12,28 +12,49 @@ public: /* 0x02 */ u8 unk2; /* 0x03 */ u8 unk3; /* 0x04 */ u16* unk4; - }; + }; // Size: 0x8 - struct poly_class {}; + struct poly_class { + /* 0x00 */ u8 field_0x0; + /* 0x01 */ u8 field_0x1; + /* 0x04 */ u16* field_0x4; + }; // Size: 0x8 - struct group_class {}; + struct group_class { + /* 0x00 */ u8 field_0x0; + /* 0x01 */ u8 field_0x1; + /* 0x02 */ u8 field_0x2; + /* 0x03 */ u8 field_0x3; + /* 0x04 */ u8 field_0x4; + /* 0x08 */ dDrawPath_c::line_class* mpLine; + /* 0x0C */ u8 field_0xc[4]; + /* 0x10 */ dDrawPath_c::poly_class* mpPoly; + }; // Size: 0x14 - struct floor_class {}; + struct floor_class { + /* 0x0 */ s8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x4 */ dDrawPath_c::group_class* mpGroup; + }; // Size: 0x8 - struct room_class {}; + struct room_class { + /* 0x0 */ u8 field_0x0; + /* 0x4 */ dDrawPath_c::floor_class* mpFloor; + /* 0x8 */ void* field_0x8; + }; /* 8003CB00 */ void rendering(dDrawPath_c::group_class const*); /* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*); /* 8002AD3C */ virtual ~dDrawPath_c(); /* 8002ABF0 */ virtual bool isDrawType(int); - virtual void getColor(int) = 0; - /* 8002AD84 */ virtual void getLineColor(int, int); - virtual void getLineWidth(int) = 0; - virtual void isSwitch(dDrawPath_c::group_class const*) = 0; - virtual void isRenderingFloor(int) = 0; - virtual void getFirstRoomPointer() = 0; - virtual void getNextRoomPointer() = 0; + virtual GXColor* getColor(int) = 0; + /* 8002AD84 */ virtual GXColor* getLineColor(int, int); + virtual int getLineWidth(int) = 0; + virtual bool isSwitch(dDrawPath_c::group_class const*) = 0; + virtual bool isRenderingFloor(int) = 0; + virtual room_class* getFirstRoomPointer() = 0; + virtual room_class* getNextRoomPointer() = 0; /* 8003CCC4 */ virtual void drawPath(); /* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*); /* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*); @@ -55,7 +76,7 @@ public: virtual void afterDrawPath() = 0; virtual void preDrawPath() = 0; virtual void postDrawPath() = 0; - virtual void isDrawPath() = 0; + virtual bool isDrawPath() = 0; virtual void preRenderingMap() = 0; virtual void postRenderingMap() = 0; virtual GXColor* getBackColor() const = 0; @@ -75,7 +96,7 @@ public: /* 8003D6B8 */ virtual s32 getDecorationLineWidth(int); private: - /* 0x04 */ int field_0x4; + /* 0x04 */ void* field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; /* 0x10 */ f32 field_0x10; @@ -87,4 +108,25 @@ private: /* 0x22 */ u16 field_0x22; }; // Size: 0x24 +struct dMpath_n { + class dTexObjAggregate_c { + public: + /* 8003C85C */ void create(); + /* 8003C8F4 */ void remove(); + /* 8003D740 */ ~dTexObjAggregate_c() { remove(); }; + + dTexObjAggregate_c() { + for (int i = 0; i < 7; i++) { + mp_texObj[i] = NULL; + } + } + + /* 0x0 */ GXTexObj* mp_texObj[7]; + }; + + static dTexObjAggregate_c m_texObjAgg; +}; + +STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28); + #endif /* D_MAP_D_MAP_PATH_H */ diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h index 37c2da358a..210d09079f 100644 --- a/include/d/map/d_map_path_dmap.h +++ b/include/d/map/d_map_path_dmap.h @@ -56,13 +56,13 @@ public: /* 8003FE18 */ virtual void draw(); /* 8002B150 */ virtual ~renderingDAmap_c(); - /* 8003FD9C */ virtual void isSwitch(dDrawPath_c::group_class const*); - /* 8003FE54 */ virtual void isRenderingFloor(int); - /* 80040134 */ virtual void getFirstRoomPointer(); - /* 800401E8 */ virtual void getNextRoomPointer(); + /* 8003FD9C */ virtual bool isSwitch(dDrawPath_c::group_class const*); + /* 8003FE54 */ virtual bool isRenderingFloor(int); + /* 80040134 */ virtual dDrawPath_c::room_class* getFirstRoomPointer(); + /* 800401E8 */ virtual dDrawPath_c::room_class* getNextRoomPointer(); /* 8003FF14 */ virtual void preDrawPath(); /* 8003FFC4 */ virtual void postDrawPath(); - /* 800402C0 */ virtual void isDrawPath(); + /* 800402C0 */ virtual bool isDrawPath(); /* 8003FE4C */ virtual GXColor* getBackColor() const; /* 800402E0 */ virtual bool getFirstDrawLayerNo(); /* 800402E8 */ virtual void getNextDrawLayerNo(int); |
