diff options
| author | robojumper <robojumper@gmail.com> | 2024-11-24 12:18:00 +0100 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2024-11-24 13:04:46 +0100 |
| commit | 2f9a33d106f46c96b1da2f8ff5cedf6e000cb9a5 (patch) | |
| tree | 20b564833242f6cde78a100ee545d26b745c1fae /src/d/lyt/d_lyt_map.cpp | |
| parent | 547fcc4d21fe363677282015c4f09f0b21bb48bd (diff) | |
More map
Diffstat (limited to 'src/d/lyt/d_lyt_map.cpp')
| -rw-r--r-- | src/d/lyt/d_lyt_map.cpp | 104 |
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); +} |
