FFL
Loading...
Searching...
No Matches
FFLiMiddleDB.h
Go to the documentation of this file.
1#ifndef FFLI_MIDDLE_DB_H_
2#define FFLI_MIDDLE_DB_H_
3
4#include <nn/ffl/FFLAge.h>
5#include <nn/ffl/FFLGender.h>
6#include <nn/ffl/FFLMiddleDBType.h>
7#include <nn/ffl/FFLRace.h>
8#include <nn/ffl/FFLResult.h>
9
10class FFLiMiddleDB;
11
12u32 FFLiGetMiddleDBBufferSize(u16 miiDataNum);
13
14void FFLiInitMiddleDB(FFLiMiddleDB* pMiddleDB, FFLMiddleDBType type, void* pMiiData, u16 miiDataNum);
15FFLResult FFLiUpdateMiddleDB(FFLiMiddleDB* pMiddleDB);
16
17void FFLiSetMiddleDBHiddenMask(FFLiMiddleDB* pMiddleDB, FFLGender gender);
18void FFLiSetMiddleDBRandomMask(FFLiMiddleDB* pMiddleDB, FFLGender gender, FFLAge age, FFLRace race);
19
20s32 FFLiGetMiddleDBSize(const FFLiMiddleDB* pMiddleDB); // Deleted in NSMBU
22
23FFLMiddleDBType FFLiGetMiddleDBType(const FFLiMiddleDB* pMiddleDB); // Deleted in NSMBU
24
25// --------------------------------------------------------------------------
26
27#define FFLI_MIDDLE_DB_PARAM_SIZE (4)
28
30{
31public:
32 void Init();
33
34 FFLGender Gender() const
35 {
36 return FFLGender(m_Gender);
37 }
38
39 void Set(FFLGender gender);
40
41private:
44};
47
49{
50public:
51 void Init();
52
53 FFLGender Gender() const
54 {
55 return FFLGender(m_Gender);
56 }
57
58 FFLAge Age() const
59 {
60 return FFLAge(m_Age);
61 }
62
63 FFLRace Race() const
64 {
65 return FFLRace(m_Race);
66 }
67
68 void Set(FFLGender gender, FFLAge age, FFLRace race);
69
70private:
75};
78
80{
81public:
82 void Init();
83
84private:
87};
90
91struct FFLiCharInfo;
94
96{
97public:
98 static u32 GetBufferSize(u16 num);
99
100public:
101 void Init(FFLMiddleDBType type, void* pData, u16 num);
102
103 void SetHiddenParam(FFLGender gender);
104 void SetRandomParam(FFLGender gender, FFLAge age, FFLRace race);
105
106 s32 Size() const;
107 s32 StoredSize() const;
108
109 FFLMiddleDBType Type() const;
110
111 void ClearData();
112
115
116 bool IsFull() const;
117
118 void Add(const FFLiCharInfo& charInfo);
119 void Add(const FFLiMiiDataHidden& miiDataHidden);
120
121 const FFLiMiiDataOfficial& Get(u16 index) const;
122 FFLiMiiDataOfficial& Get(u16 index);
123
124 FFLResult GetCharInfo(FFLiCharInfo* pCharInfo, u16 index) const;
125
126private:
128 FFLMiddleDBType m_Type;
132 union
133 {
135
139 };
140};
143
144#endif // FFLI_MIDDLE_DB_H_
NN_STATIC_ASSERT(sizeof(FFLiAllocator)==4)
void FFLiSetMiddleDBRandomMask(FFLiMiddleDB *pMiddleDB, FFLGender gender, FFLAge age, FFLRace race)
Definition FFLiMiddleDB.cpp:30
NN_STATIC_ASSERT_IS_POD(FFLiMiddleDB)
NN_STATIC_ASSERT_IS_POD(FFLiMiddleDBRandomParam)
u32 FFLiGetMiddleDBBufferSize(u16 miiDataNum)
Definition FFLiMiddleDB.cpp:7
s32 FFLiGetMiddleDBStoredSize(const FFLiMiddleDB *pMiddleDB)
Definition FFLiMiddleDB.cpp:40
NN_STATIC_ASSERT_IS_POD(FFLiMiddleDBNetParam)
FFLResult FFLiUpdateMiddleDB(FFLiMiddleDB *pMiddleDB)
Definition FFLiMiddleDB.cpp:17
FFLMiddleDBType FFLiGetMiddleDBType(const FFLiMiddleDB *pMiddleDB)
Definition FFLiMiddleDB.cpp:45
s32 FFLiGetMiddleDBSize(const FFLiMiddleDB *pMiddleDB)
Definition FFLiMiddleDB.cpp:35
NN_STATIC_ASSERT_IS_POD(FFLiMiddleDBHiddenParam)
void FFLiInitMiddleDB(FFLiMiddleDB *pMiddleDB, FFLMiddleDBType type, void *pMiiData, u16 miiDataNum)
Definition FFLiMiddleDB.cpp:12
#define FFLI_MIDDLE_DB_PARAM_SIZE
Definition FFLiMiddleDB.h:27
void FFLiSetMiddleDBHiddenMask(FFLiMiddleDB *pMiddleDB, FFLGender gender)
Definition FFLiMiddleDB.cpp:25
Definition FFLiMiddleDB.h:30
u8 m_Padding[3]
Definition FFLiMiddleDB.h:43
FFLGender Gender() const
Definition FFLiMiddleDB.h:34
void Set(FFLGender gender)
Definition FFLiMiddleDB.cpp:57
void Init()
Definition FFLiMiddleDB.cpp:52
u8 m_Gender
Definition FFLiMiddleDB.h:42
Definition FFLiMiddleDB.h:80
void Init()
Definition FFLiMiddleDB.cpp:76
u8 m_Padding[2]
Definition FFLiMiddleDB.h:86
u16 _0
Definition FFLiMiddleDB.h:85
Definition FFLiMiddleDB.h:49
FFLGender Gender() const
Definition FFLiMiddleDB.h:53
void Init()
Definition FFLiMiddleDB.cpp:62
FFLRace Race() const
Definition FFLiMiddleDB.h:63
u8 m_Padding[1]
Definition FFLiMiddleDB.h:74
FFLAge Age() const
Definition FFLiMiddleDB.h:58
u8 m_Race
Definition FFLiMiddleDB.h:73
void Set(FFLGender gender, FFLAge age, FFLRace race)
Definition FFLiMiddleDB.cpp:69
u8 m_Gender
Definition FFLiMiddleDB.h:71
u8 m_Age
Definition FFLiMiddleDB.h:72
Definition FFLiMiddleDB.h:96
FFLMiddleDBType Type() const
Definition FFLiMiddleDB.cpp:134
s32 StoredSize() const
Definition FFLiMiddleDB.cpp:129
void ClearData()
Definition FFLiMiddleDB.cpp:139
FFLResult GetCharInfo(FFLiCharInfo *pCharInfo, u16 index) const
Definition FFLiMiddleDB.cpp:187
u8 m_ParamData[FFLI_MIDDLE_DB_PARAM_SIZE]
Definition FFLiMiddleDB.h:134
const FFLiMiddleDBHiddenParam & HiddenParam() const
Definition FFLiMiddleDB.cpp:145
u32 m_Magic
Definition FFLiMiddleDB.h:127
void SetHiddenParam(FFLGender gender)
Definition FFLiMiddleDB.cpp:114
const FFLiMiddleDBRandomParam & RandomParam() const
Definition FFLiMiddleDB.cpp:150
void Init(FFLMiddleDBType type, void *pData, u16 num)
Definition FFLiMiddleDB.cpp:86
void Add(const FFLiMiiDataHidden &miiDataHidden)
Definition FFLiMiddleDB.cpp:169
s32 Size() const
Definition FFLiMiddleDB.cpp:124
FFLiMiddleDBHiddenParam m_HiddenParam
Definition FFLiMiddleDB.h:136
u16 m_StoredSize
Definition FFLiMiddleDB.h:131
FFLiMiiDataOfficial & Get(u16 index)
Definition FFLiMiddleDB.cpp:182
const FFLiMiiDataOfficial & Get(u16 index) const
Definition FFLiMiddleDB.cpp:177
FFLiMiiDataOfficial * m_pMiiDataOfficial
Definition FFLiMiddleDB.h:129
FFLiMiddleDBNetParam m_NetParam
Definition FFLiMiddleDB.h:138
void SetRandomParam(FFLGender gender, FFLAge age, FFLRace race)
Definition FFLiMiddleDB.cpp:119
FFLMiddleDBType m_Type
Definition FFLiMiddleDB.h:128
u16 m_Size
Definition FFLiMiddleDB.h:130
void Add(const FFLiCharInfo &charInfo)
Definition FFLiMiddleDB.cpp:163
bool IsFull() const
Definition FFLiMiddleDB.cpp:155
static u32 GetBufferSize(u16 num)
Definition FFLiMiddleDB.cpp:81
FFLiMiddleDBRandomParam m_RandomParam
Definition FFLiMiddleDB.h:137
Definition FFLiMiiDataCore.h:906
Definition FFLiMiiDataCore.h:864
Definition FFLiCharInfo.h:16