New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
EnemyBoyoMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <math/seadVector.h>
4
5class Actor;
6
7class EnemyBoyoMgr // vtbl Address: 0x10072588
8{
9 // Used to make the Enemy's scale fluctuate when breaking out of ice, and when touched using the Wii U gamepad.
10
11public:
12 static const s32 cBoyonTime = 24;
13 // Address: 0x10200DF0
14 static const f32 cDeltaScale; // 0.0625
15
16public:
18 : mScale(1.0f, 1.0f, 1.0f)
19 , mScaleFactor(1.0f)
20 , mTime(0)
21 , mOwner(owner)
22 {
23 }
24
26 {
27 mScale.set(getBaseScale());
28 }
29
30 // Address: 0x0232A940
31 void begin(s32 time = cBoyonTime, f32 delta_scale = cDeltaScale);
32
33 // Address: 0x0232A958
34 void execute(); // Decrements `mTime` each time it's called. Scale is increased by `mDeltaScale` if `(mTime & 4) != 0`, otherwise decreased. i.e., it's increased for 4 frames, then decreased for 4 frames, and so on.
35 // Address: 0x0232AA54
36 void execute(s32 period); // Decrements `mTime` each time it's called. Scale is increased by `mDeltaScale` if `(mTime & period) != 0`, otherwise decreased. i.e., if `period` is a power of 2, it's increased for `period` frames, then decreased for `period` frames, and so on.
37
38 const sead::Vector3f& getScale() const
39 {
40 return mScale;
41 }
42
43 // Address: 0x0232AB5C
44 virtual sead::Vector3f getBaseScale() const; // Returns owner's scale
45
46protected:
52};
53static_assert(sizeof(EnemyBoyoMgr) == 0x20, "EnemyBoyoMgr size mismatch");
Definition Actor.h:19
Definition EnemyBoyoMgr.h:8
void execute(s32 period)
EnemyBoyoMgr(Actor *owner)
Definition EnemyBoyoMgr.h:17
void begin(s32 time=cBoyonTime, f32 delta_scale=cDeltaScale)
s32 mTime
Definition EnemyBoyoMgr.h:50
virtual sead::Vector3f getBaseScale() const
f32 mScaleFactor
Definition EnemyBoyoMgr.h:48
sead::Vector3f mScale
Definition EnemyBoyoMgr.h:47
Actor * mOwner
Definition EnemyBoyoMgr.h:51
void execute()
void initialize()
Definition EnemyBoyoMgr.h:25
static const f32 cDeltaScale
Definition EnemyBoyoMgr.h:14
const sead::Vector3f & getScale() const
Definition EnemyBoyoMgr.h:38
static const s32 cBoyonTime
Definition EnemyBoyoMgr.h:12
f32 mDeltaScale
Definition EnemyBoyoMgr.h:49