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:
20 static_assert(sizeof(State) == 4);
21
23 {
24 cEatType_None = 0, ///< Tongue hits actor with no result
25 cEatType_Eat, ///< Hold the food in Yoshi's mouth
26 cEatType_EatPermanent, ///< Hold the food in Yoshi's mouth, but can't spit it out
27 cEatType_Drink, ///< Swallow the food
28 cEatType_DrinkBig, ///< Swallow the food, plays a longer animation
29 cEatType_YoshiFire, ///< Hold the food in Yoshi's mouth, turns into fire when spat
30 cEatType_YoshiFire_Ice ///< Hold the food in Yoshi's mouth, turns into ice when spat
31 };
32 static_assert(sizeof(EatType) == 4);
33
40 static_assert(sizeof(ScoreType) == 4);
41
42 // Address: 0x0200D6C4
43 EatData(ActorUniqueID owner_id);
44
45 // Address: 0x0200D4B8
46 virtual void setAfterEatScale();
47 // Address: 0x0200D504
48 virtual void calcSpitOutPos(Actor* yoshi);
49 // Address: 0x0200D5F0
50 virtual f32 calcEatScaleRate(Actor* yoshi);
51 // Address: 0x0200D76C
52 virtual void eatMove(Actor* yoshi);
53 // Address: 0x0200DA8C
54 virtual void vf2C();
55 // Address: 0x0200D830
56 virtual bool setEatTongue(Actor* yoshi);
57 // Address: 0x0200DA90
58 virtual void setEatTongueOff(Actor* yoshi);
59 // Address: 0x0200DA94
60 virtual void setEatMouth(Actor* yoshi);
61 // Address: 0x0200DA98
62 virtual bool setEatSpitOut(Actor* yoshi);
63 // Address: 0x0200D880
64 virtual bool setEatGlupDown(Actor* yoshi);
65 // Address: 0x0200D9AC
66 virtual void calcEatInScale(Actor* yoshi);
67
69 {
70 return mYoshiID;
71 }
72
74 {
75 return mState;
76 }
77
78 void setState(State state)
79 {
80 mState = state;
81 }
82
84 {
85 return mEatType;
86 }
87
88 void setEatType(EatType eat_type)
89 {
90 mEatType = eat_type;
91 }
92
94 {
95 return mScale;
96 }
97
98 const sead::Vector3f& getScale() const
99 {
100 return mScale;
101 }
102
104 {
105 return mScoreType;
106 }
107
108 void setScoreType(ScoreType score_type)
109 {
110 mScoreType = score_type;
111 }
112
113protected:
120};
121static_assert(sizeof(EatData) == 0x24);
Definition Actor.h:22
Definition EatData.h:10
EatType
Definition EatData.h:23
@ cEatType_DrinkBig
Swallow the food, plays a longer animation.
Definition EatData.h:28
@ cEatType_None
Tongue hits actor with no result.
Definition EatData.h:24
@ cEatType_YoshiFire_Ice
Hold the food in Yoshi's mouth, turns into ice when spat.
Definition EatData.h:30
@ cEatType_EatPermanent
Hold the food in Yoshi's mouth, but can't spit it out.
Definition EatData.h:26
@ cEatType_YoshiFire
Hold the food in Yoshi's mouth, turns into fire when spat.
Definition EatData.h:29
@ cEatType_Eat
Hold the food in Yoshi's mouth.
Definition EatData.h:25
@ cEatType_Drink
Swallow the food.
Definition EatData.h:27
void setEatType(EatType eat_type)
Definition EatData.h:88
virtual bool setEatSpitOut(Actor *yoshi)
ScoreType getScoreType() const
Definition EatData.h:103
State
Definition EatData.h:13
@ cState_None
Definition EatData.h:14
@ cState_SpitOut
Definition EatData.h:18
@ cState_EatTongue
Definition EatData.h:15
@ cState_DamageSpitOut
Definition EatData.h:17
@ cState_EatMouth
Definition EatData.h:16
EatData(ActorUniqueID owner_id)
virtual void eatMove(Actor *yoshi)
ScoreType mScoreType
Definition EatData.h:119
virtual void calcSpitOutPos(Actor *yoshi)
virtual bool setEatGlupDown(Actor *yoshi)
ActorUniqueID mYoshiID
Definition EatData.h:115
virtual void setAfterEatScale()
const ActorUniqueID & getYoshiID() const
Definition EatData.h:68
sead::Vector3f mScale
Definition EatData.h:118
ActorUniqueID mOwnerID
Definition EatData.h:114
ScoreType
Definition EatData.h:35
@ cScoreType_Point_200
Definition EatData.h:36
@ cScoreType_Point_1000
Definition EatData.h:37
@ cScoreType_None
Definition EatData.h:38
EatType getEatType() const
Definition EatData.h:83
EatType mEatType
Definition EatData.h:117
virtual void calcEatInScale(Actor *yoshi)
virtual f32 calcEatScaleRate(Actor *yoshi)
State mState
Definition EatData.h:116
void setState(State state)
Definition EatData.h:78
sead::Vector3f & getScale()
Definition EatData.h:93
const sead::Vector3f & getScale() const
Definition EatData.h:98
void setScoreType(ScoreType score_type)
Definition EatData.h:108
virtual void setEatMouth(Actor *yoshi)
virtual void vf2C()
State getState() const
Definition EatData.h:73
virtual bool setEatTongue(Actor *yoshi)
virtual void setEatTongueOff(Actor *yoshi)