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