summaryrefslogtreecommitdiff
path: root/include/d/map
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-08-30 14:22:17 -0700
committerGitHub <noreply@github.com>2022-08-30 15:22:17 -0600
commitf8979749e3ef8e8cacf2ea8f474c7f23fc5cb6b3 (patch)
tree69659df2105266e9b26a4d50b9a2d610b3e437a2 /include/d/map
parentbc30d007e11458a198c5725626a10bb06a5da536 (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.h70
-rw-r--r--include/d/map/d_map_path_dmap.h10
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);