3#include <container/seadSafeArray.h>
4#include <heap/seadDisposer.h>
5#include <math/seadBoundBox.h>
22static_assert(
sizeof(
Options) == 0x18);
124static_assert(
sizeof(
NextGoto) == 0x18);
185static_assert(
sizeof(
AreaData) == 0x1C);
204static_assert(
sizeof(
Location) == 0xC);
220static_assert(
sizeof(
RailInfo) == 0xC);
274 return mBlock[block];
277 template <
typename T>
280 return static_cast<
const T*>(
getBlock(block
));
Definition CourseData.h:245
const MapActorData * getMapActor(u16 type, const MapActorData *start=nullptr) const
u32 mIndex
Definition CourseData.h:295
sead::SafeArray< MapActorData *, 64 > _b8
Definition CourseData.h:299
const void * getBlock(Block block) const
Definition CourseData.h:272
void getAreaBox_(sead::BoundBox2f *box, const AreaData &area_data, f32 delta=0.0f) const
sead::SafeArray< u32, cBlock_Num > mBlockEntryNum
Definition CourseData.h:298
const Location * getLocation(sead::BoundBox2f *box, u8 id) const
sead::SafeArray< u32, 64 > _1b8
Definition CourseData.h:300
sead::SafeArray< u32, cBlock_Num > mBlockSize
Definition CourseData.h:297
const T * getBlock(Block block) const
Definition CourseData.h:278
Block
Definition CourseData.h:250
@ cBlock_RailInfo
Definition CourseData.h:264
@ cBlock_MapActor
Definition CourseData.h:258
@ cBlock_MapActorLoadRes
Definition CourseData.h:259
@ cBlock_RailPoint
Definition CourseData.h:265
@ cBlock_DistantViewData
Definition CourseData.h:255
@ cBlock_ScrollData
Definition CourseData.h:253
@ cBlock_Options
Definition CourseData.h:252
@ cBlock_NextGoto
Definition CourseData.h:257
@ cBlock_Environment
Definition CourseData.h:251
@ cBlock_Num
Definition CourseData.h:266
@ cBlock_AreaData
Definition CourseData.h:260
@ cBlock_Location
Definition CourseData.h:261
const RailPoint * getRailPoint(u8 rail_id) const
sead::SafeArray< u32, 64 > _2b8
Definition CourseData.h:301
const NextGoto * getNextGoto(u8 id) const
const AreaData * getAreaData(u8 id, sead::BoundBox2f *box=nullptr) const
const RailInfo * getRailInfo(u8 id) const
sead::SafeArray< const void *, cBlock_Num > mBlock
Definition CourseData.h:296
const DistantViewData * getBg2Data(u16 id) const
Definition CourseData.h:306
sead::SafeArray< CourseDataFile, 4 > mFile
Definition CourseData.h:316
CourseDataFile * getFile(s32 index)
Definition CourseData.h:149
u16 y
Definition CourseData.h:156
u8 bgm
Definition CourseData.h:175
u8 direction
Definition CourseData.h:173
u8 bg3
Definition CourseData.h:172
u8 bg2
Definition CourseData.h:171
u8 mask
Definition CourseData.h:170
u8 _15
Definition CourseData.h:174
u16 color_bg
Definition CourseData.h:164
u8 zoom_type
Definition CourseData.h:167
u8 zoom_change
Definition CourseData.h:169
u8 bgm_mode
Definition CourseData.h:176
u8 zoom_id
Definition CourseData.h:168
u8 _pad[2]
Definition CourseData.h:183
u8 dv
Definition CourseData.h:179
u16 color_obj
Definition CourseData.h:163
u8 id
Definition CourseData.h:165
u8 flag
Definition CourseData.h:182
u16 x
Definition CourseData.h:155
u8 scroll
Definition CourseData.h:166
Definition CourseData.h:25
u8 _pad[2]
Definition CourseData.h:37
u16 parallax_mode
Definition CourseData.h:36
u16 id
Definition CourseData.h:28
s16 z
Definition CourseData.h:33
char name[16]
Definition CourseData.h:35
s16 y
Definition CourseData.h:32
s16 x
Definition CourseData.h:31
Definition CourseData.h:188
u16 y
Definition CourseData.h:194
u16 x
Definition CourseData.h:193
u8 _pad[3]
Definition CourseData.h:202
u8 id
Definition CourseData.h:201
Definition CourseData.h:127
u16 type
Definition CourseData.h:130
u16 y
Definition CourseData.h:134
u16 switch_flags
Definition CourseData.h:136
u32 param_0
Definition CourseData.h:137
u32 param_1
Definition CourseData.h:138
u8 layer
Definition CourseData.h:140
u16 x
Definition CourseData.h:133
u8 movement_id
Definition CourseData.h:141
u8 area
Definition CourseData.h:139
u8 link_id
Definition CourseData.h:142
u8 _pad[3]
Definition CourseData.h:144
u8 init_state
Definition CourseData.h:143
Definition CourseData.h:42
u8 mp_spawn_flag
Definition CourseData.h:62
u8 _pad[1]
Definition CourseData.h:75
u16 flag
Definition CourseData.h:66
u8 coin_edit_priority
Definition CourseData.h:68
u8 mp_inner_gap
Definition CourseData.h:65
u8 type
Definition CourseData.h:61
u8 _unused0
Definition CourseData.h:64
u16 y
Definition CourseData.h:48
Flag
Definition CourseData.h:117
@ cFlag_Enterable
Allows the player to enter.
Definition CourseData.h:121
@ cFlag_FaceLeft
Spawns the player facing left.
Definition CourseData.h:118
@ cFlag_RailPipe
An unused and broken DokanType, leftover from NSMBW that wasn't fully stripped.
Definition CourseData.h:119
u8 area
Definition CourseData.h:63
u8 file
Definition CourseData.h:58
u8 next_goto
Definition CourseData.h:59
u8 id
Definition CourseData.h:55
u8 chibi_yoshi_next_goto
Definition CourseData.h:67
u8 wipe_type
Definition CourseData.h:74
u16 x
Definition CourseData.h:47
Type
Definition CourseData.h:78
@ cType_DoorExit
Definition CourseData.h:81
@ cType_Checkpoint
Definition CourseData.h:80
@ cType_MiniPipeRight
Definition CourseData.h:96
@ cType_Vine
Definition CourseData.h:98
@ cType_Num
Definition CourseData.h:113
@ cType_ForwardPipe
Definition CourseData.h:99
@ cType_Slip
Definition CourseData.h:88
@ cType_CreditsP4
Definition CourseData.h:109
@ cType_MiniPipeLeft
Definition CourseData.h:95
@ cType_BossFall
Definition CourseData.h:103
@ cType_Normal
Definition CourseData.h:79
@ cType_PipeUp
Definition CourseData.h:82
@ cType_Falling
Definition CourseData.h:86
@ cType_BossWalk
Definition CourseData.h:101
@ cType_Jump
Definition CourseData.h:97
@ cType_PipeDown
Definition CourseData.h:83
@ cType_PipeRight
Definition CourseData.h:85
@ cType_Title
Definition CourseData.h:110
@ cType_Ambush
Definition CourseData.h:111
@ cType_Swim
Definition CourseData.h:89
@ cType_DoorEnter
Definition CourseData.h:104
@ cType_HipAttack
Definition CourseData.h:87
@ cType_CreditsP3
Definition CourseData.h:108
@ cType_CreditsP1
Definition CourseData.h:106
@ cType_MiniPipeUp
Definition CourseData.h:93
@ cType_PipeLeft
Definition CourseData.h:84
@ cType_Boss
Definition CourseData.h:100
@ cType_BossJump
Definition CourseData.h:102
@ cType_MiniPipeDown
Definition CourseData.h:94
@ cType_CreditsP2
Definition CourseData.h:107
u8 point
Definition CourseData.h:72
u8 info
Definition CourseData.h:71
Definition CourseData.h:8
u8 start_next_goto_coin_boost
Definition CourseData.h:18
u8 _unused1[2]
Definition CourseData.h:17
u16 time_0
Definition CourseData.h:14
u16 time_1
Definition CourseData.h:19
u8 _unused0[4]
Definition CourseData.h:15
u32 course_default_switch_flags
Definition CourseData.h:11
u16 loop
Definition CourseData.h:13
u8 start_next_goto
Definition CourseData.h:16
u32 file_default_switch_flags
Definition CourseData.h:12
u16 time_2
Definition CourseData.h:20
Definition CourseData.h:207
u32 _8
Definition CourseData.h:218
u8 id
Definition CourseData.h:210
s8 _1
Definition CourseData.h:211
u16 start
Definition CourseData.h:214
u16 num
Definition CourseData.h:215
u16 flag
Definition CourseData.h:217
Definition CourseData.h:223
u16 y
Definition CourseData.h:229
u8 _pad[1]
Definition CourseData.h:240
u16 _e
Definition CourseData.h:236
u8 _11
Definition CourseData.h:238
u8 _12
Definition CourseData.h:239
s16 delay
Definition CourseData.h:233
u8 _10
Definition CourseData.h:237
f32 accel
Definition CourseData.h:232
u16 x
Definition CourseData.h:228
f32 speed
Definition CourseData.h:231