mirror of
https://github.com/zeldaret/ss
synced 2026-08-11 03:26:06 -04:00
Merge pull request #328 from compugab/match-d_lyt_map_capture
match d_lyt_map_capture
This commit is contained in:
+3
-9
@@ -360,15 +360,9 @@ dRoomTable_c::dRoomTable_c() {
|
||||
|
||||
MapRelated::MapRelated()
|
||||
: field_0x0FC(0.0f, 0.0f, 0.0f),
|
||||
field_0x108(0.0f),
|
||||
field_0x10C(0.0f),
|
||||
field_0x110(0.0f),
|
||||
field_0x114(0.0f),
|
||||
field_0x118(0.0f),
|
||||
field_0x11C(0.0f),
|
||||
field_0x120(0.0f),
|
||||
field_0x124(0.0f),
|
||||
field_0x128(0.0f),
|
||||
field_0x108(0.0f, 0.0f, 0.0f),
|
||||
field_0x114(0.0f, 0.0f, 0.0f),
|
||||
field_0x120(0.0f, 0.0f, 0.0f),
|
||||
field_0x12C(0.0f),
|
||||
field_0x1E0(0),
|
||||
field_0x1E6(0),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/lyt/d_lyt_map_capture.h"
|
||||
#include "common.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/lyt/d_lyt_map_global.h"
|
||||
|
||||
STATE_DEFINE(dLytMapCapture_c, RenderingWait);
|
||||
STATE_DEFINE(dLytMapCapture_c, RenderingWaitStep2);
|
||||
@@ -38,3 +39,56 @@ bool dLytMapCapture_c::isBusyRendering() const{
|
||||
void dLytMapCapture_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
}
|
||||
|
||||
void dLytMapCapture_c::fn_8012D6D0(mVec3_c *out) {
|
||||
*out = dStage_c::GetInstance()->getMapRelated()->field_0x0FC;
|
||||
}
|
||||
|
||||
void dLytMapCapture_c::fn_8012D610(mVec3_c *out){
|
||||
dStage_c::GetInstance()->getMapRelated()->fn_801B50C0(0);
|
||||
*out = dStage_c::GetInstance()->getMapRelated()->fn_801B4CB0();
|
||||
}
|
||||
|
||||
void dLytMapCapture_c::fn_8012D670(mVec3_c *out){
|
||||
dStage_c::GetInstance()->getMapRelated()->fn_801B50C0(0);
|
||||
*out = dStage_c::GetInstance()->getMapRelated()->fn_801B4C90();
|
||||
}
|
||||
|
||||
|
||||
void dLytMapCapture_c::fn_8012D800(nw4r::lyt::Pane *param_2, const GXTexObj *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);
|
||||
param_2->GetMaterial()->GetTexMapAry()->ReplaceImage(*param_3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void dLytMapCapture_c::fn_8012D6F0(){
|
||||
|
||||
dStage_c * pStage = dStage_c::GetInstance();
|
||||
|
||||
if (pStage != nullptr) {
|
||||
dLytMapGlobal_c* pLytMap = dLytMapGlobal_c::GetInstance();
|
||||
|
||||
f32 zoom = pLytMap->getZoomFrame();
|
||||
f32 inv = 1.0f / pLytMap->getField_0x44();
|
||||
s32 floor = pLytMap->getFloor();
|
||||
|
||||
mVec3_c v(field_0x064 * inv, 1, field_0x06C * inv);
|
||||
|
||||
pStage->getMapRelated()->fn_801B50C0(floor);
|
||||
|
||||
pStage->getMapRelated()->field_0x108 = pLytMap->getMapScroll();
|
||||
pStage->getMapRelated()->field_0x114 = v;
|
||||
|
||||
pStage->getMapRelated()->field_0x120 = pLytMap->getMapRotationCenter();
|
||||
|
||||
|
||||
pStage->getMapRelated()->field_0x1E6 = (u16)(-pLytMap->getMapRotation());
|
||||
pStage->getMapRelated()->field_0x12C = zoom;
|
||||
pStage->getMapRelated()->field_0x1EE = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user