summaryrefslogtreecommitdiff
path: root/src/d/lyt/d_lyt_map.cpp
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2024-11-24 12:18:00 +0100
committerrobojumper <robojumper@gmail.com>2024-11-24 13:04:46 +0100
commit2f9a33d106f46c96b1da2f8ff5cedf6e000cb9a5 (patch)
tree20b564833242f6cde78a100ee545d26b745c1fae /src/d/lyt/d_lyt_map.cpp
parent547fcc4d21fe363677282015c4f09f0b21bb48bd (diff)
More map
Diffstat (limited to 'src/d/lyt/d_lyt_map.cpp')
-rw-r--r--src/d/lyt/d_lyt_map.cpp104
1 files changed, 102 insertions, 2 deletions
diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp
index 4ad5ea59..f0029750 100644
--- a/src/d/lyt/d_lyt_map.cpp
+++ b/src/d/lyt/d_lyt_map.cpp
@@ -1,5 +1,75 @@
#include "d/lyt/d_lyt_map.h"
+#include "egg/core/eggColorFader.h"
+#include "m/m_video.h"
+#include "sized_string.h"
+#include "toBeSorted/arc_managers/layout_arc_manager.h"
+
+struct LytMapConfigMaybe {
+ LytMapConfigMaybe();
+ virtual ~LytMapConfigMaybe();
+
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0C;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ u8 field_0x18;
+ /* 0x19 */ u8 field_0x19;
+ /* 0x1A */ u8 field_0x1A;
+ /* 0x1B */ u8 field_0x1B;
+ /* 0x1C */ u8 field_0x1C;
+ /* 0x1D */ u8 field_0x1D;
+ /* 0x1E */ u8 field_0x1E;
+ /* 0x1F */ u8 field_0x1F;
+ /* 0x20 */ u8 field_0x20;
+ /* 0x21 */ u8 field_0x21;
+ /* 0x22 */ u8 field_0x22;
+ /* 0x23 */ u8 field_0x23;
+ /* 0x24 */ u8 field_0x24;
+ /* 0x25 */ u8 field_0x25;
+ /* 0x26 */ u8 field_0x26;
+ /* 0x27 */ u8 field_0x27;
+ /* 0x28 */ u8 field_0x28;
+ /* 0x29 */ u8 field_0x29;
+ /* 0x2A */ u8 field_0x2A;
+ /* 0x2B */ u8 field_0x2B;
+ /* 0x2C */ f32 field_0x2C;
+};
+
+LytMapConfigMaybe sLytMapConfig;
+
+LytMapConfigMaybe::LytMapConfigMaybe() {
+ field_0x04 = -10.0f;
+ field_0x10 = 14.0f;
+ field_0x14 = 32.0f;
+ field_0x18 = 0;
+ field_0x19 = 0xFF;
+ field_0x1A = 0xF;
+ field_0x1B = 0x12;
+ field_0x1C = 9;
+ field_0x2C = 0.0f;
+ field_0x1D = 0x2D;
+ field_0x1E = 0x2D;
+ field_0x1F = 0x1E;
+ field_0x20 = 0x17;
+ field_0x21 = 0x5A;
+ field_0x22 = 0x2D;
+ field_0x23 = 0x2D;
+ field_0x24 = 0x35;
+ field_0x25 = 0x2D;
+ field_0x26 = 0x5A;
+ field_0x27 = 0x2D;
+ field_0x28 = 0x5A;
+ field_0x29 = 0x5;
+ field_0x08 = 10.0f;
+ field_0x0C = 0.4f;
+ field_0x2A = 0x80;
+ field_0x2B = 10;
+}
+
+LytMapConfigMaybe::~LytMapConfigMaybe() {}
+
STATE_DEFINE(dLytMapPinIcon_c, Wait);
STATE_DEFINE(dLytMapPinIcon_c, ToSelect);
STATE_DEFINE(dLytMapPinIcon_c, Select);
@@ -23,7 +93,7 @@ STATE_DEFINE(dLytMapFloorBtn_c, DecideToSelectInDecide);
STATE_DEFINE(dLytMapFloorBtnMgr_c, Invisible);
STATE_DEFINE(dLytMapFloorBtnMgr_c, Wait);
-nw4r::ut::Color sSomeColor(0xFF, 0xFF, 0xFF, 0xFF);
+nw4r::ut::Color sMapFaderColor(0xFF, 0xFF, 0xFF, 0xFF);
STATE_DEFINE(dLytMapPopupInfo_c, Invisible);
STATE_DEFINE(dLytMapPopupInfo_c, In);
@@ -88,6 +158,22 @@ STATE_DEFINE(dLytMapMain_c, EventSaveObjSelect);
STATE_DEFINE(dLytMapMain_c, EventSaveObjConfirmMsgWindow);
STATE_DEFINE(dLytMapMain_c, EventSaveObjDecide);
+dLytMapFader_c::dLytMapFader_c()
+ : mFader(
+ 0.0f, 0.0f, mVideo::m_video->pRenderMode->fbWidth, mVideo::m_video->pRenderMode->efbHeight, sMapFaderColor,
+ EGG::ColorFader::STATUS_PREPARE_OUT
+ ) {}
+
+dLytMapFader_c::~dLytMapFader_c() {}
+
+void dLytMapFader_c::calc() {
+ mFader.calc();
+}
+
+void dLytMapFader_c::draw() {
+ mFader.draw();
+}
+
#pragma dont_inline on
dLytMapMain_c::dLytMapMain_c() : mStateMgr(*this), mFloorBtnMgr(&field_0x8DC8) {}
#pragma dont_inline reset
@@ -96,4 +182,18 @@ dLytMapMain_c::~dLytMapMain_c() {}
void dLytMapMain_c::draw() {}
-dLytMapFloorBtnMgr_c::~dLytMapFloorBtnMgr_c() {}
+extern "C" void fn_80016690();
+void dLytMap_c::build() {
+ fn_80016690();
+ void *data = LayoutArcManager::sInstance->getLoadedData("Map2D");
+ mResAcc.attach(data, "");
+ mMapMain.build();
+ m2d::getAllocator();
+ mMapMain.setPriority(0x86);
+ // TODO there's another thing here at 0x91C0
+}
+
+void lytMapusesSizedWString() {
+ static SizedWString<0x20> sString;
+ sString.sprintf(L"%ld", 0);
+}