Add CMappableObject

Former-commit-id: cf0893f3b5
This commit is contained in:
Henrique Gemignani Passos Lima
2022-12-05 20:17:40 +02:00
parent 1ece642d1b
commit 236045c563
7 changed files with 260 additions and 36 deletions

View File

@@ -2,8 +2,15 @@
#define _CMAPPABLEOBJECT
#include "MetroidPrime/TGameTypes.hpp"
#include "Kyoto/Graphics/CColor.hpp"
#include "Kyoto/Math/CTransform4f.hpp"
#include "rstl/pair.hpp"
class CTweakAutoMapper;
class CMapWorldInfo;
class CMappableObject {
public:
enum EMappableObjectType {
@@ -37,6 +44,8 @@ public:
enum EVisMode { kVM_Always, kVM_MapStationOrVisit, kVM_Visit, kVM_Never, kVM_MapStationOrVisit2 };
void PostConstruct(const void*);
rstl::pair< CColor, CColor > GetDoorColors(int idx, const CMapWorldInfo&, float alpha) const;
void Draw(int, const CMapWorldInfo&, float, bool) const;
private:
EMappableObjectType x0_type;
@@ -45,6 +54,11 @@ private:
uint xc_;
CTransform4f x10_transform;
uchar x40_pad[0x10];
static void ReadAutomapperTweaks(const CTweakAutoMapper&);
CTransform4f AdjustTransformForType();
static CVector3f skDoorVerts[8];
};
CHECK_SIZEOF(CMappableObject, 0x50)