d_lyt_map_global OK

This commit is contained in:
robojumper
2025-09-28 01:33:33 +02:00
parent 3c4bfedd5d
commit 6cc3cfaadc
9 changed files with 206 additions and 22 deletions
+4
View File
@@ -252,6 +252,10 @@ struct AnmGroupBase_c {
return mpFrameCtrl->getRate();
}
inline bool isBound() const {
return (mFlags & ANMGROUP_FLAG_BOUND) != 0;
}
inline bool isEnabled() const {
return (mFlags & ANMGROUP_FLAG_ENABLE) != 0;
}
+6 -2
View File
@@ -3,6 +3,7 @@
#include "common.h"
#include "d/d_cursor_hit_check.h"
#include "d/d_message.h"
#include "d/lyt/d2d.h"
#include "d/lyt/d_lyt_map_capture.h"
#include "egg/core/eggColorFader.h"
@@ -66,6 +67,8 @@ public:
STATE_FUNC_DECLARE(dLytMapPinIcon_c, Remove);
private:
void removeBeacon();
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapPinIcon_c);
/* 0x040 */ d2d::LytBase_c mLyt;
/* 0x0D0 */ d2d::AnmGroup_c mAnmGroups[3];
@@ -326,7 +329,8 @@ public:
private:
/* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMapMain_c);
/* 0x004C */ u8 field_0x004C[0x00A4 - 0x004C];
/* 0x00A4 */ u8 field_0x00A4[0x010C - 0x00A4];
/* 0x00A4 */ dFlow_c mFlow;
/* 0x0108 */ u8 _0x108[0x10C - 0x108];
/* 0x010C */ d2d::LytBase_c mLyt;
/* 0x019C */ d2d::AnmGroup_c mAnmGroups[54];
/* 0x0F1C */ LytMap0x80520B5C field_0xF1C;
@@ -349,7 +353,7 @@ private:
/* 0x8930 */ mVec3_c field_0x8930;
/* 0x893C */ mVec3_c field_0x893C;
/* 0x8948 */ u8 idkfixmelater[0x4BC0];
/* 0x8948 */ u8 idkfixmelater[0x4BA0];
/* 0x8C94 */ s32 field_0x8C94;
// ...
+2 -1
View File
@@ -25,7 +25,8 @@ public:
private:
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapCapture_c);
/* 0x040*/ UNKWORD field_0x040;
/* 0x040 */ UNKWORD field_0x040;
/* 0x044 */ u8 _0x040[0x064 - 0x044];
/* 0x064 */ f32 field_0x064;
/* 0x068 */ f32 field_0x068;
/* 0x06C */ f32 field_0x06C;
+53
View File
@@ -0,0 +1,53 @@
#ifndef D_LYT_MAP_GLOBAL_H
#define D_LYT_MAP_GLOBAL_H
#include "m/m_angle.h"
#include "m/m_vec.h"
class dLytMapGlobal_c {
public:
dLytMapGlobal_c();
static dLytMapGlobal_c *GetInstance() {
return sInstance;
}
void projectOntoMap(mVec2_c &result, const mVec3_c &position) const;
void unprojectFromMap(mVec3_c &result, const mVec2_c &position) const;
void unprojectFromMap(mVec3_c &result, const mVec2_c &position, const mAng &rot) const;
void unprojectFromMap(mVec3_c &result, const mVec2_c &position, const mVec3_c &v2, const mAng &rot) const;
private:
static dLytMapGlobal_c *sInstance;
void projectOntoMap(
mVec2_c &result, const mVec3_c &position, const mVec3_c &v1, const mVec3_c &mapRotationCenter, const mAng &rot,
f32 f1, f32 f2
) const;
void unprojectFromMap(
mVec3_c &result, const mVec2_c &position, const mVec2_c &v1, const mVec3_c &v2,
const mVec3_c &mapRotationCenter, const mAng &rot, f32 f1, f32 f2
) const;
/* 0x00 */ mVec3_c field_0x00;
/* 0x0C */ mVec2_c field_0x0C;
/* 0x14 */ mVec3_c mMapRotationCenter;
/* 0x20 */ mVec2_c field_0x20;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ mVec3_c mPlayerPosition;
/* 0x3C */ mAng mMapRotation;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ UNKWORD field_0x48;
/* 0x4C */ u8 field_0x4C;
/* 0x4D */ u8 field_0x4D;
/* 0x4E */ u8 field_0x4E;
/* 0x4F */ u8 field_0x4F;
/* 0x50 */ UNKWORD field_0x50;
/* 0x54 */ u8 _0x54[0x64 - 0x54];
/* 0x60 */ f32 field_0x64;
};
#endif