1#pragma once
2
3#include <basis/seadTypes.h>
4
5struct PlayerHeadCostumeInfo {
6public:
7 PlayerHeadCostumeInfo(const char*);
8
9 const char* costumeName;
10 bool isFullFace = false;
11 bool isShrinkNose = false;
12 bool isPreventHead = false;
13 bool isEnableBigEar = false;
14 bool isEnableHairNoCap = false;
15 bool isMario64 = false;
16 bool isHaveShort = false;
17 bool isHideBeard = false;
18 bool isHideEarringPeach = false;
19 bool isHideEarringLink = false;
20 bool isUseStrap = false;
21 bool isInvisibleHead = false;
22};
23
24struct PlayerBodyCostumeInfo {
25public:
26 PlayerBodyCostumeInfo(const char*);
27
28 const char* costumeName;
29 s32 warmLevel = 0;
30 bool isIgnoreTemperature = false;
31 bool isUseHeadSuffix = false;
32 bool isBigEar = false;
33 bool isHideHeadHair = false;
34 bool isUseBodyHair = false;
35 bool isExistHairNoCap = false;
36 bool isUseShortHead = false;
37 bool isNoPairHead = false;
38 bool isMario64 = false;
39 bool isHidePainNose = false;
40 bool isUseBeard = false;
41 bool isUseEarringPeach = false;
42 bool isUseEarringLink = false;
43};
44
45class PlayerCostumeInfo {
46public:
47 PlayerCostumeInfo();
48 void init(const PlayerBodyCostumeInfo*, const PlayerHeadCostumeInfo*);
49 bool isEnableBigEar() const;
50 bool isEnableHairNoCap() const;
51 bool isEnableCostume2D() const;
52 bool isNeedShrinkNose() const;
53 bool isNeedBodyHair() const;
54 bool isNeedSyncBodyHair() const;
55 bool isNeedFullFaceAnim() const;
56 bool isHidePainNose() const;
57 bool isEnableEarring() const;
58 bool isSyncFaceBeard() const;
59 bool isSyncStrap() const;
60 bool isFollowJoeStrap() const;
61 bool isPreventHeadPain() const;
62 bool isInvisibleHead() const;
63 s32 calcWarmLevel(s32) const;
64
65private:
66 const PlayerBodyCostumeInfo* mBodyInfo = nullptr;
67 const PlayerHeadCostumeInfo* mHeadInfo = nullptr;
68};
69