diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 954befa5..c426f7a3 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -7488,13 +7488,13 @@ finalizeState_RenderingWait__16dLytMapCapture_cFv = .text:0x8012D540; // type:fu initializeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D550; // type:function size:0x4 executeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D560; // type:function size:0x94 finalizeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D600; // type:function size:0x4 -fn_8012D610 = .text:0x8012D610; // type:function size:0x5C -fn_8012D670 = .text:0x8012D670; // type:function size:0x5C -fn_8012D6D0 = .text:0x8012D6D0; // type:function size:0x20 -fn_8012D6F0 = .text:0x8012D6F0; // type:function size:0xE4 +fn_8012D610__16dLytMapCapture_cFP7mVec3_c = .text:0x8012D610; // type:function size:0x5C +executeState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012D670; // type:function size:0x5C +fn_8012D6D0__16dLytMapCapture_cFP7mVec3_c = .text:0x8012D6D0; // type:function size:0x20 +fn_8012D6F0__16dLytMapCapture_cFv = .text:0x8012D6F0; // type:function size:0xE4 execute__16dLytMapCapture_cFv = .text:0x8012D7E0; // type:function size:0x10 isBusyRendering__16dLytMapCapture_cCFv = .text:0x8012D7F0; // type:function size:0x8 -fn_8012D800 = .text:0x8012D800; // type:function size:0xEC +fn_8012D800__16dLytMapCapture_cFPQ34nw4r3lyt4PanePC9_GXTexObj = .text:0x8012D800; // type:function size:0xEC finalizeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D8F0; // type:function size:0x30 executeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D920; // type:function size:0x30 initializeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D950; // type:function size:0x30 diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 4fd84d96..506fa868 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -42,9 +42,12 @@ class MapRelated { bool c; }; + + public: MapRelated(); ~MapRelated(); + int fn_801B5970(const GXTexObj*); /* 0x000 */ mHeapAllocator_c mAllocator; /* 0x01C */ Child mChildren[8]; /* 0x0FC */ mVec3_c field_0x0FC; diff --git a/include/d/lyt/d_lyt_map_capture.h b/include/d/lyt/d_lyt_map_capture.h index c9e0dcf5..d47e1265 100644 --- a/include/d/lyt/d_lyt_map_capture.h +++ b/include/d/lyt/d_lyt_map_capture.h @@ -5,6 +5,7 @@ #include "nw4r/lyt/lyt_picture.h" #include "s/s_State.hpp" #include "s/s_StateID.hpp" +#include "m/m_vec.h" class dLytMapCapture_c { public: @@ -31,8 +32,8 @@ public: void execute(); bool isBusyRendering() const; - - + void fn_8012D610(mVec3_c *out); + void fn_8012D6D0(mVec3_c *out); private: void fn_8012D6F0(); diff --git a/src/d/lyt/d_lyt_map_capture.cpp b/src/d/lyt/d_lyt_map_capture.cpp index 9f1c0053..785c5774 100644 --- a/src/d/lyt/d_lyt_map_capture.cpp +++ b/src/d/lyt/d_lyt_map_capture.cpp @@ -40,26 +40,18 @@ void dLytMapCapture_c::execute() { mStateMgr.executeState(); } -void fn_8012D6D0(mVec3_c *ignored, mVec3_c *out) { +void dLytMapCapture_c::fn_8012D6D0(mVec3_c *out) { *out = dStage_c::GetInstance()->getMapRelated()->field_0x0FC; } -void fn_8012D610(mVec3_c *ignored, mVec3_c *out){ +void dLytMapCapture_c::fn_8012D610(mVec3_c *out){ dStage_c::GetInstance()->getMapRelated()->fn_801B50C0(0); - const mVec3_c &v = dStage_c::GetInstance()->getMapRelated()->fn_801B4CB0(); - - float z = v.z; - float y = v.y; - float x = v.x; - out->y = y; - out->x = x; - out->z = z; + *out = dStage_c::GetInstance()->getMapRelated()->fn_801B4CB0(); } -extern int fn_801B5970(MapRelated*, const GXTexObj*); void dLytMapCapture_c::fn_8012D800(nw4r::lyt::Pane *param_2, const GXTexObj *param_3) { - if (param_3 != nullptr && dStage_c::GetInstance() != nullptr && fn_801B5970(dStage_c::GetInstance()->getMapRelated(), param_3)) { + if (param_3 != nullptr && dStage_c::GetInstance() != nullptr && dStage_c::GetInstance()->getMapRelated()->fn_801B5970(param_3)) { field_0x070.width = GXGetTexObjWidth(param_3); field_0x070.height = GXGetTexObjHeight(param_3); param_2->SetSize(field_0x070);