New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Wave.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadObjList.h>
4#include <math/seadVector.h>
5
6#include <utility/Angle.h>
7
8class WaveRenderer; // TODO: see what this is really called
9
10class Wave
11{
12public:
21
41 static_assert(sizeof(Impact) == 0x544, "Impact size mismatch");
42
43public:
44 // Address: 0x028B5B04
46
47 // Address: Deleted
48 virtual void vfC();
49 // Address: Deleted
50 virtual void vf10();
51
52 // Address: 0x028B8D5C
54 // Address: 0x028B8E64
55 void updateWave();
56
57 void setMajorSineWaveMult(f32 mult)
58 {
59 mMajorSineWaveMult = mult;
60 }
61
62 void setMinorSineWaveMult(f32 mult)
63 {
64 mMinorSineWaveMult = mult;
65 }
66
68 {
69 mLiquidCollisionType = collision_type;
70 }
71
72protected:
73 WaveRenderer* mRenderer;
74 u8 _4[4]; // Unknown values
76 u8 _14[12];
78 u8 _2c[48];
79 u8 _5c[48];
80 u8 _8c[4]; // Unknown values
106 u8 _ff44[4]; // Unknown values
107};
108static_assert(sizeof(Wave) == 0xFF4C, "Wave size mismatch");
Definition Wave.h:11
void setLiquidCollisionType(TerrainType collision_type)
Definition Wave.h:67
f32 mMajorSineWaveAmplitude
Definition Wave.h:100
f32 mMajorSineWaveMult
Definition Wave.h:92
virtual void vfC()
u32 _a4
Definition Wave.h:86
u8 _ff44[4]
Definition Wave.h:106
TerrainType
Definition Wave.h:14
@ cTerrainType_Lava
Definition Wave.h:16
@ cTerrainType_Poison
Definition Wave.h:17
@ cTerrainType_Quicksand
Definition Wave.h:19
@ cTerrainType_LavaWaves
Definition Wave.h:18
@ cTerrainType_Water
Definition Wave.h:15
f32 _9c
Definition Wave.h:84
f32 mMinorSineWaveMult
Definition Wave.h:93
u32 _94
Definition Wave.h:82
void setMinorSineWaveMult(f32 mult)
Definition Wave.h:62
u32 _b0
Definition Wave.h:89
f32 _98
Definition Wave.h:83
sead::FixedObjList< Impact, 48 > mImpact
Definition Wave.h:104
f32 mMinorSineWaveAmplitude
Definition Wave.h:101
u8 _8c[4]
Definition Wave.h:80
u32 _ff40
Definition Wave.h:105
u32 mMinorSineWaveRate
Definition Wave.h:94
void setMajorSineWaveMult(f32 mult)
Definition Wave.h:57
u32 mMajorSineWaveFrequency
Definition Wave.h:98
u32 _cc
Definition Wave.h:96
sead::Vector3f _8
Definition Wave.h:75
void updateWave()
u32 mMinorSineWaveFrequency
Definition Wave.h:99
u32 _d0
Definition Wave.h:97
u8 _5c[48]
Definition Wave.h:79
f32 _90
Definition Wave.h:81
u8 _e5
Definition Wave.h:103
virtual void vf10()
void updateWaveCollisions()
u32 _a0
Definition Wave.h:85
u8 _4[4]
Definition Wave.h:74
Wave setupWave()
u8 _14[12]
Definition Wave.h:76
u32 _a8
Definition Wave.h:87
Angle mMajorSineWavePhaseShift
Definition Wave.h:91
Angle mMinorSineWavePhaseShift
Definition Wave.h:90
sead::Vector3f _20
Definition Wave.h:77
u32 mMajorSineWaveRate
Definition Wave.h:95
WaveRenderer * mRenderer
Definition Wave.h:73
s32 _ac
Definition Wave.h:88
TerrainType mLiquidCollisionType
Definition Wave.h:102
u8 _2c[48]
Definition Wave.h:78
Definition Wave.h:23
f32 dampening_max
Definition Wave.h:39
void * event
Definition Wave.h:32
f32 scale
Definition Wave.h:24
f32 impact_velocity
Definition Wave.h:30
u32 phase_rate
Definition Wave.h:35
f32 scale_min
Definition Wave.h:38
f32 scale_max
Definition Wave.h:37
bool is_active
Definition Wave.h:31
u8 segment_state[100]
Definition Wave.h:29
f32 segment_dampening[100]
Definition Wave.h:26
f32 max_radius
Definition Wave.h:33
f32 dampening_rate
Definition Wave.h:36
f32 _52c
Definition Wave.h:34
u32 segment_phase[100]
Definition Wave.h:27
f32 segment_height[100]
Definition Wave.h:25
u32 origin_segment
Definition Wave.h:28