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
7// vtbl Address: 0x10072588
9{
10 // Used to make the Enemy's scale fluctuate when breaking out of ice, and when touched using the Wii U gamepad.
11
12public:
13 static const s32 cBoyonTime = 24;
14 /**
15 * @brief 0.0625
16 * @par Address: 0x10200DF0
17 */
18 static const f32 cDeltaScale;
19
20public:
22 : mScale(1.0f, 1.0f, 1.0f)
23 , mScaleFactor(1.0f)
24 , mTime(0)
25 , mOwner(owner)
26 {
27 }
28
30 {
31 mScale.set(getBaseScale());
32 }
33
34 // Address: 0x0232A940
35 void begin(s32 time = cBoyonTime, f32 delta_scale = cDeltaScale);
36
37 // Address: 0x0232A958
38 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.
39 // Address: 0x0232AA54
40 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.
41
42 const sead::Vector3f& getScale() const
43 {
44 return mScale;
45 }
46
47 // Address: 0x0232AB5C
48 virtual sead::Vector3f getBaseScale() const; // Returns owner's scale
49
50protected:
56};
57static_assert(sizeof(EnemyBoyoMgr) == 0x20, "EnemyBoyoMgr size mismatch");
Definition Actor.h:24
Definition EnemyBoyoMgr.h:9
void execute(s32 period)
EnemyBoyoMgr(Actor *owner)
Definition EnemyBoyoMgr.h:21
void begin(s32 time=cBoyonTime, f32 delta_scale=cDeltaScale)
s32 mTime
Definition EnemyBoyoMgr.h:54
virtual sead::Vector3f getBaseScale() const
f32 mScaleFactor
Definition EnemyBoyoMgr.h:52
sead::Vector3f mScale
Definition EnemyBoyoMgr.h:51
Actor * mOwner
Definition EnemyBoyoMgr.h:55
void execute()
void initialize()
Definition EnemyBoyoMgr.h:29
static const f32 cDeltaScale
0.0625
Definition EnemyBoyoMgr.h:18
const sead::Vector3f & getScale() const
Definition EnemyBoyoMgr.h:42
static const s32 cBoyonTime
Definition EnemyBoyoMgr.h:13
f32 mDeltaScale
Definition EnemyBoyoMgr.h:53