New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
EatData.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorUniqueID.h>
4
5#include <math/seadVector.h>
6
7class Actor;
8
9class EatData // vtbl Address: 0x10001594
10{
11public:
13 {
14 cEatType_None = 0, ///< Tongue hits actor with no result
15 cEatType_Eat, ///< Hold the food in Yoshi's mouth
16 cEatType_EatPermanent, ///< Hold the food in Yoshi's mouth, but can't spit it out
17 cEatType_Drink, ///< Swallow the food
18 cEatType_DrinkBig, ///< Swallow the food, plays a longer animation
19 cEatType_YoshiFire, ///< Hold the food in Yoshi's mouth, turns into fire when spat
20 cEatType_YoshiFire_Ice ///< Hold the food in Yoshi's mouth, turns into ice when spat
21 };
22 static_assert(sizeof(EatType) == 4);
23
30 static_assert(sizeof(ScoreType) == 4);
31
32 // Address: 0x0200D6C4
33 EatData(ActorUniqueID owner_id);
34
35 // Address: 0x0200D4B8
36 virtual void setAfterEatScale();
37 // Address: 0x0200D504
38 virtual void calcSpitOutPos(Actor* yoshi);
39 // Address: 0x0200D5F0
40 virtual f32 calcEatScaleRate(Actor* yoshi);
41 // Address: 0x0200D76C
42 virtual void eatMove(Actor* yoshi);
43 // Address: 0x0200DA8C
44 virtual void vf2C();
45 // Address: 0x0200D830
46 virtual bool setEatTongue(Actor* yoshi);
47 // Address: 0x0200DA90
48 virtual void setEatTongueOff(Actor* yoshi);
49 // Address: 0x0200DA94
50 virtual void setEatMouth(Actor* yoshi);
51 // Address: 0x0200DA98
52 virtual bool setEatSpitOut(Actor* yoshi);
53 // Address: 0x0200D880
54 virtual bool setEatGlupDown(Actor* yoshi);
55 // Address: 0x0200D9AC
56 virtual void calcEatInScale(Actor* yoshi);
57
59 {
60 return mYoshiID;
61 }
62
63 u32 getState() const
64 {
65 return mState;
66 }
67
68 void setState(u32 state)
69 {
70 mState = state;
71 }
72
74 {
75 return mEatType;
76 }
77
78 void setEatType(EatType eat_type)
79 {
80 mEatType = eat_type;
81 }
82
84 {
85 return mScale;
86 }
87
88 const sead::Vector3f& getScale() const
89 {
90 return mScale;
91 }
92
94 {
95 return mScoreType;
96 }
97
98 void setScoreType(ScoreType score_type)
99 {
100 mScoreType = score_type;
101 }
102
103protected:
110};
111static_assert(sizeof(EatData) == 0x24);
Definition Actor.h:19
Definition EatData.h:10
EatType
Definition EatData.h:13
@ cEatType_DrinkBig
Swallow the food, plays a longer animation.
Definition EatData.h:18
@ cEatType_None
Tongue hits actor with no result.
Definition EatData.h:14
@ cEatType_YoshiFire_Ice
Hold the food in Yoshi's mouth, turns into ice when spat.
Definition EatData.h:20
@ cEatType_EatPermanent
Hold the food in Yoshi's mouth, but can't spit it out.
Definition EatData.h:16
@ cEatType_YoshiFire
Hold the food in Yoshi's mouth, turns into fire when spat.
Definition EatData.h:19
@ cEatType_Eat
Hold the food in Yoshi's mouth.
Definition EatData.h:15
@ cEatType_Drink
Swallow the food.
Definition EatData.h:17
void setEatType(EatType eat_type)
Definition EatData.h:78
virtual bool setEatSpitOut(Actor *yoshi)
u32 mState
Definition EatData.h:106
ScoreType getScoreType() const
Definition EatData.h:93
EatData(ActorUniqueID owner_id)
virtual void eatMove(Actor *yoshi)
u32 getState() const
Definition EatData.h:63
ScoreType mScoreType
Definition EatData.h:109
virtual void calcSpitOutPos(Actor *yoshi)
virtual bool setEatGlupDown(Actor *yoshi)
ActorUniqueID mYoshiID
Definition EatData.h:105
virtual void setAfterEatScale()
const ActorUniqueID & getYoshiID() const
Definition EatData.h:58
sead::Vector3f mScale
Definition EatData.h:108
ActorUniqueID mOwnerID
Definition EatData.h:104
ScoreType
Definition EatData.h:25
@ cScoreType_Point_200
Definition EatData.h:26
@ cScoreType_Point_1000
Definition EatData.h:27
@ cScoreType_None
Definition EatData.h:28
EatType getEatType() const
Definition EatData.h:73
EatType mEatType
Definition EatData.h:107
virtual void calcEatInScale(Actor *yoshi)
virtual f32 calcEatScaleRate(Actor *yoshi)
void setState(u32 state)
Definition EatData.h:68
sead::Vector3f & getScale()
Definition EatData.h:83
const sead::Vector3f & getScale() const
Definition EatData.h:88
void setScoreType(ScoreType score_type)
Definition EatData.h:98
virtual void setEatMouth(Actor *yoshi)
virtual void vf2C()
virtual bool setEatTongue(Actor *yoshi)
virtual void setEatTongueOff(Actor *yoshi)