summaryrefslogtreecommitdiff
path: root/src/d/lyt/d_lyt_map.cpp
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-10-05 23:40:42 +0200
committerrobojumper <robojumper@gmail.com>2025-10-05 23:40:42 +0200
commitc46b2ba5e19651bb209cdf13578f8a671bf8cc09 (patch)
tree0c587a9084dbe6d7a089719372902bc4471fc58d /src/d/lyt/d_lyt_map.cpp
parentbaa508795496e8c13b5e8648d219f7f37b029fd6 (diff)
Scaffold markers
Diffstat (limited to 'src/d/lyt/d_lyt_map.cpp')
-rw-r--r--src/d/lyt/d_lyt_map.cpp78
1 files changed, 63 insertions, 15 deletions
diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp
index 97380752..29f03e66 100644
--- a/src/d/lyt/d_lyt_map.cpp
+++ b/src/d/lyt/d_lyt_map.cpp
@@ -2296,7 +2296,7 @@ void dLytMapMain_c::build() {
}
mMarkers.setField_0x6F4(boundingPos2);
-
+
mPinIconAggregate.setUnk(&field_0xF1C);
mpPaneBgAll01 = mLyt.findPane("N_mapBgAll_01");
@@ -2344,17 +2344,19 @@ void dLytMapMain_c::draw() {
mFootPrints.draw();
}
- if (mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM || mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) {
+ if (mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM ||
+ mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) {
mMarkers.draw();
}
if (field_0x8C68 != 3 && field_0x8C68 != 5 && field_0x8C94 != 2) {
mPinIconAggregate.draw();
}
-
+
fn_80143120(0);
- if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) && (mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM)) {
+ if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) &&
+ (mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM)) {
mpZoomInOutPane->SetVisible(false);
} else {
mpZoomInOutPane->SetVisible(true);
@@ -2362,11 +2364,12 @@ void dLytMapMain_c::draw() {
mpScaleFlamePane->SetVisible(field_0x8DB5 ? true : false);
mLyt.getLayout()->GetRootPane()->Draw(mLyt.getDrawInfo());
- if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE || mNextMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE) && field_0x8C94 == 10) {
+ if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE || mNextMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE) &&
+ field_0x8C94 == 10) {
fn_80138D80();
}
fn_80143120(-2);
- mMarkers.fn_80189B90();
+ mMarkers.drawPopups();
mPutIcon.draw();
if (field_0x8C94 == 10) {
mPopupInfo.draw();
@@ -2844,23 +2847,68 @@ void dLytMapMain_c::executeState_ResetPos() {
}
void dLytMapMain_c::finalizeState_ResetPos() {}
-void dLytMapMain_c::initializeState_ResetPosWithFloorChange() {}
-void dLytMapMain_c::executeState_ResetPosWithFloorChange() {}
+void dLytMapMain_c::initializeState_ResetPosWithFloorChange() {
+ dPadNav::stopFSStickNav();
+ mMapCapture.renderRequest();
+}
+void dLytMapMain_c::executeState_ResetPosWithFloorChange() {
+ if (mMapCapture.isBusyRendering()) {
+ return;
+ }
+ dLytMapGlobal_c *global = getGlobal();
+ mVec3_c pos;
+ fn_80142F00(pos, mCurrentMapMode, mMapUpDirection, global->getMapRotationCenter(), global->getField_0x56());
+ if (global->getMapScroll().squareDistanceToXZ(pos) >= 1.0f) {
+ mStateMgr.changeState(StateID_ResetPos);
+ } else {
+ mStateMgr.changeState(StateID_Active);
+ }
+}
void dLytMapMain_c::finalizeState_ResetPosWithFloorChange() {}
-void dLytMapMain_c::initializeState_EventSwBankSmall_Step1() {}
-void dLytMapMain_c::executeState_EventSwBankSmall_Step1() {}
+void dLytMapMain_c::initializeState_EventSwBankSmall_Step1() {
+ field_0x8CB0 = sHio.field_0x1D;
+ field_0x8CB4 = 0;
+}
+void dLytMapMain_c::executeState_EventSwBankSmall_Step1() {
+ if (field_0x8CB0 != 0) {
+ field_0x8CB0--;
+ return;
+ }
+
+ mMarkers.setField_0x0703(1);
+ mStateMgr.changeState(StateID_EventSwBankSmall_Step2);
+}
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step1() {}
-void dLytMapMain_c::initializeState_EventSwBankSmall_Step2() {}
-void dLytMapMain_c::executeState_EventSwBankSmall_Step2() {}
+void dLytMapMain_c::initializeState_EventSwBankSmall_Step2() {
+ field_0x8CB0 = mMarkers.getField_0x0704();
+}
+void dLytMapMain_c::executeState_EventSwBankSmall_Step2() {
+ if (field_0x8CB0 != 0) {
+ field_0x8CB0--;
+ return;
+ }
+ mStateMgr.changeState(StateID_EventSwBankSmall_Step3);
+}
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step2() {}
-void dLytMapMain_c::initializeState_EventSwBankSmall_Step3() {}
-void dLytMapMain_c::executeState_EventSwBankSmall_Step3() {}
+void dLytMapMain_c::initializeState_EventSwBankSmall_Step3() {
+ field_0x8CB0 = sHio.field_0x1E;
+}
+void dLytMapMain_c::executeState_EventSwBankSmall_Step3() {
+ if (field_0x8CB0 != 0) {
+ field_0x8CB0--;
+ return;
+ }
+
+ field_0x8D6B = 1;
+}
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step3() {}
-void dLytMapMain_c::initializeState_EventMapIntro_Step1() {}
+void dLytMapMain_c::initializeState_EventMapIntro_Step1() {
+ field_0x8CB0 = sHio.field_0x1F;
+}
void dLytMapMain_c::executeState_EventMapIntro_Step1() {}
void dLytMapMain_c::finalizeState_EventMapIntro_Step1() {}