FFL
Loading...
Searching...
No Matches
FFLiResourceShape.h
Go to the documentation of this file.
1#ifndef FFLI_RESOURCE_SHAPE_H_
2#define FFLI_RESOURCE_SHAPE_H_
3
4#include <nn/ffl/FFLBoundingBox.h>
5
6#include <nn/ffl/FFLiShapePartsType.h>
7
8#include <nn/ffl/detail/FFLiResourcePartsInfo.h>
9
26
27const void* FFLiGetResourceShapeElement(u32* pSize, const void* pShapeData, FFLiShapePartsType partsType, FFLiResourceShapeElementType elementType);
28
29void FFLiSwapEndianResourceShapeElement(void* pShapeData, u32, FFLiShapePartsType partsType); // Deleted in NSMBU
30
31// --------------------------------------------------------------------------
32
50
51#define FFLI_RESOURCE_SHAPE_TRANSFORM_MAX_SIZE (0x48)
52
54{
55public:
57 {
58 return m_ElementPos[type];
59 }
60
62 {
63 return m_ElementSize[type];
64 }
65
66 FFLBoundingBox& GetBoundingBox()
67 {
68 return m_BoundingBox;
69 }
70
71 const FFLBoundingBox& GetBoundingBox() const
72 {
73 return m_BoundingBox;
74 }
75
77 {
78 return m_Transform;
79 }
80
81 const void* GetTransform() const
82 {
83 return m_Transform;
84 }
85
86 void SwapEndian(); // Deleted in NSMBU
87
88private:
91 FFLBoundingBox m_BoundingBox;
93};
95
97{
98public:
99 const FFLVec3& Get(s32 i) const
100 {
101 return _0[i];
102 }
103
104 void SwapEndian(); // Deleted in NSMBU
105
106private:
107 FFLVec3 _0[6];
108};
110
112{
113public:
114 const FFLVec3& GetHairPosition() const
115 {
116 return m_HairPos;
117 }
118
119 const FFLVec3& GetFaceCenterPosition() const
120 {
121 return m_FaceCenterPos;
122 }
123
124 const FFLVec3& GetBeardPosition() const
125 {
126 return m_BeardPos;
127 }
128
129 void SwapEndian(); // Deleted in NSMBU
130
131private:
132 FFLVec3 m_HairPos;
134 FFLVec3 m_BeardPos;
135};
137
140
141#endif // FFLI_RESOURCE_SHAPE_H_
NN_STATIC_ASSERT(sizeof(FFLiAllocator)==4)
void FFLiSwapEndianResourceShapeElement(void *pShapeData, u32, FFLiShapePartsType partsType)
Definition FFLiResourceShape.cpp:58
const void * FFLiGetResourceShapeElement(u32 *pSize, const void *pShapeData, FFLiShapePartsType partsType, FFLiResourceShapeElementType elementType)
Definition FFLiResourceShape.cpp:17
#define FFLI_RESOURCE_SHAPE_TRANSFORM_MAX_SIZE
Definition FFLiResourceShape.h:51
FFLiResourceShapeElementType
Definition FFLiResourceShape.h:11
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_TRANSFORM_HAIR_1
Definition FFLiResourceShape.h:19
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_NORMAL
Definition FFLiResourceShape.h:13
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_BOUNDING_BOX
Definition FFLiResourceShape.h:22
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_BUFFER_MAX
Definition FFLiResourceShape.h:24
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_TEXCOORD
Definition FFLiResourceShape.h:14
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_POSITION
Definition FFLiResourceShape.h:12
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_COLOR
Definition FFLiResourceShape.h:16
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_TRANSFORM_FACELINE
Definition FFLiResourceShape.h:20
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_TANGENT
Definition FFLiResourceShape.h:15
@ FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_INDEX
Definition FFLiResourceShape.h:17
FFLiShapePartsType
Definition FFLiShapePartsType.h:7
@ FFLI_SHAPE_PARTS_TYPE_MAX
Definition FFLiShapePartsType.h:20
Definition FFLiResourceShape.h:54
void * GetTransform()
Definition FFLiResourceShape.h:76
u32 m_Transform[FFLI_RESOURCE_SHAPE_TRANSFORM_MAX_SIZE/sizeof(u32)]
Definition FFLiResourceShape.h:92
FFLBoundingBox & GetBoundingBox()
Definition FFLiResourceShape.h:66
u32 m_ElementSize[FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_BUFFER_MAX]
Definition FFLiResourceShape.h:90
const FFLBoundingBox & GetBoundingBox() const
Definition FFLiResourceShape.h:71
u32 GetElementSize(FFLiResourceShapeElementType type) const
Definition FFLiResourceShape.h:61
FFLBoundingBox m_BoundingBox
Definition FFLiResourceShape.h:91
const void * GetTransform() const
Definition FFLiResourceShape.h:81
u32 m_ElementPos[FFLI_RESOURCE_SHAPE_ELEMENT_TYPE_BUFFER_MAX]
Definition FFLiResourceShape.h:89
void SwapEndian()
Definition FFLiResourceShape.cpp:83
u32 GetElementPos(FFLiResourceShapeElementType type) const
Definition FFLiResourceShape.h:56
Definition FFLiResourceShape.h:112
const FFLVec3 & GetBeardPosition() const
Definition FFLiResourceShape.h:124
FFLVec3 m_FaceCenterPos
Definition FFLiResourceShape.h:133
FFLVec3 m_HairPos
Definition FFLiResourceShape.h:132
const FFLVec3 & GetFaceCenterPosition() const
Definition FFLiResourceShape.h:119
FFLVec3 m_BeardPos
Definition FFLiResourceShape.h:134
const FFLVec3 & GetHairPosition() const
Definition FFLiResourceShape.h:114
void SwapEndian()
Definition FFLiResourceShape.cpp:99
Definition FFLiResourceShape.h:97
const FFLVec3 & Get(s32 i) const
Definition FFLiResourceShape.h:99
FFLVec3 _0[6]
Definition FFLiResourceShape.h:107
void SwapEndian()
Definition FFLiResourceShape.cpp:89
Definition FFLiResourcePartsInfo.h:66
Definition FFLiResourceShape.h:34
FFLiResourcePartsInfo partsInfoFaceline[FFL_FACE_TYPE_MAX]
Definition FFLiResourceShape.h:39
FFLiResourcePartsInfo partsInfoForehead2[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:47
FFLiResourcePartsInfo partsInfoNose[FFL_NOSE_TYPE_MAX]
Definition FFLiResourceShape.h:43
FFLiResourcePartsInfo partsInfoHair1[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:44
FFLiResourcePartsInfo partsInfoCap2[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:38
FFLiResourcePartsInfo partsInfoMask[FFL_FACE_TYPE_MAX]
Definition FFLiResourceShape.h:41
FFLiResourcePartsInfo partsInfoNoseline[FFL_NOSE_TYPE_MAX]
Definition FFLiResourceShape.h:42
FFLiResourcePartsInfo partsInfoBeard[4]
Definition FFLiResourceShape.h:36
FFLiResourcePartsInfo partsInfoHair2[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:45
FFLiResourcePartsInfo partsInfoCap1[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:37
FFLiResourcePartsInfo partsInfoGlass[1]
Definition FFLiResourceShape.h:40
FFLiResourcePartsInfo partsInfoForehead1[FFL_HAIR_TYPE_MAX]
Definition FFLiResourceShape.h:46
u32 partsMaxSize[FFLI_SHAPE_PARTS_TYPE_MAX]
Definition FFLiResourceShape.h:35
@ FFL_NOSE_TYPE_MAX
Definition types.h:38
@ FFL_FACE_TYPE_MAX
Definition types.h:15
@ FFL_HAIR_TYPE_MAX
Definition types.h:19