3#include <basis/seadTypes.h>
133 setHitType(data, hit_type);
135 setSlipAttr(data, slip_attr);
137 setTypeInfo(data, type_info);
138 setTypeOption(data, type_option);
149 data &= ~cPanelTypeMask;
150 data |= (u64(type) <<
cShift_Type) & cPanelTypeMask;
160 data &= ~cPanelTypeInfoMask;
171 data &= ~cPanelTypeOptionMask;
182 data &= ~cPanelHitTypeMask;
193 data &= ~cPanelSlipAttrMask;
204 data &= ~cPanelAttrMask;
205 data |= (u64(attr) <<
cShift_Attr) & cPanelAttrMask;
Definition BgUnitCode.h:6
TypeInfo_Water
Definition BgUnitCode.h:296
@ cTypeInfo_Water_Normal
Definition BgUnitCode.h:297
@ cTypeInfo_Water_Numa
Definition BgUnitCode.h:301
@ cTypeInfo_Water_Air
Definition BgUnitCode.h:298
@ cTypeInfo_Water_Num
Definition BgUnitCode.h:302
@ cTypeInfo_Water_Doku
Definition BgUnitCode.h:300
@ cTypeInfo_Water_Lava
Definition BgUnitCode.h:299
static const u64 cPanelTypeMask
Definition BgUnitCode.h:107
HitType
Definition BgUnitCode.h:70
@ cHitType_HalfBoth
Definition BgUnitCode.h:75
@ cHitType_HalfCeiling
Definition BgUnitCode.h:74
@ cHitType_Half
Definition BgUnitCode.h:73
@ cHitType_Full
Definition BgUnitCode.h:72
@ cHitType_None
Definition BgUnitCode.h:71
static void setHitType(u64 &data, HitType hit_type)
Definition BgUnitCode.h:180
static const u64 cPanelTypeInfoMask
Definition BgUnitCode.h:108
static const u64 cPanelHitTypeMask
Definition BgUnitCode.h:110
static void setAttr(u64 &data, Attr attr)
Definition BgUnitCode.h:202
TypeInfo_WakuCoin
Definition BgUnitCode.h:211
@ TypeInfo_WakuCoin_Multi
Definition BgUnitCode.h:213
@ cTypeInfo_WakuCoin_Num
Definition BgUnitCode.h:214
@ cTypeInfo_WakuCoin_Normal
Definition BgUnitCode.h:212
TypeInfo_ClearCoin
Definition BgUnitCode.h:226
@ cTypeInfo_ClearCoin_Num
Definition BgUnitCode.h:228
@ cTypeInfo_ClearCoin_Blue
Definition BgUnitCode.h:227
TypeInfo_Vine
Definition BgUnitCode.h:388
@ cTypeInfo_Vine_Rock
Definition BgUnitCode.h:390
@ cTypeInfo_Vine_Wire
Definition BgUnitCode.h:391
@ cTypeInfo_Vine_Ivy
Definition BgUnitCode.h:389
@ cTypeInfo_Vine_Num
Definition BgUnitCode.h:392
TypeInfo_Dokan
Definition BgUnitCode.h:321
@ cTypeInfo_Dokan_MamePipe1
Definition BgUnitCode.h:346
@ cTypeInfo_Dokan_Pipe6
Definition BgUnitCode.h:340
@ cTypeInfo_Dokan_Break1
Definition BgUnitCode.h:348
@ cTypeInfo_Dokan_2
Definition BgUnitCode.h:324
@ cTypeInfo_Dokan_Pipe5
Definition BgUnitCode.h:339
@ cTypeInfo_Dokan_6
Definition BgUnitCode.h:328
@ cTypeInfo_Dokan_Mame2
Definition BgUnitCode.h:332
@ cTypeInfo_Dokan_3
Definition BgUnitCode.h:325
@ cTypeInfo_Dokan_MamePipe0
Definition BgUnitCode.h:345
@ cTypeInfo_Dokan_MamePipe2
Definition BgUnitCode.h:358
@ cTypeInfo_Dokan_Pipe8
Definition BgUnitCode.h:342
@ cTypeInfo_Dokan_Num
Definition BgUnitCode.h:360
@ cTypeInfo_Dokan_Break6
Definition BgUnitCode.h:353
@ cTypeInfo_Dokan_Pipe2
Definition BgUnitCode.h:336
@ cTypeInfo_Dokan_Mame0
Definition BgUnitCode.h:330
@ cTypeInfo_Dokan_MameBreak0
Definition BgUnitCode.h:355
@ cTypeInfo_Dokan_0
Definition BgUnitCode.h:322
@ cTypeInfo_Dokan_Pipe0
Definition BgUnitCode.h:334
@ cTypeInfo_Dokan_Break5
Definition BgUnitCode.h:352
@ cTypeInfo_Dokan_Mame1
Definition BgUnitCode.h:331
@ cTypeInfo_Dokan_Pipe9
Definition BgUnitCode.h:343
@ cTypeInfo_Dokan_Pipe7
Definition BgUnitCode.h:341
@ cTypeInfo_Dokan_MameBreak1
Definition BgUnitCode.h:356
@ cTypeInfo_Dokan_Tunagi
Definition BgUnitCode.h:357
@ cTypeInfo_Dokan_Mame3
Definition BgUnitCode.h:333
@ cTypeInfo_Dokan_5
Definition BgUnitCode.h:327
@ cTypeInfo_Dokan_Pipe4
Definition BgUnitCode.h:338
@ cTypeInfo_Dokan_PipeB
Definition BgUnitCode.h:344
@ cTypeInfo_Dokan_Break2
Definition BgUnitCode.h:349
@ cTypeInfo_Dokan_Break7
Definition BgUnitCode.h:354
@ cTypeInfo_Dokan_Break0
Definition BgUnitCode.h:347
@ cTypeInfo_Dokan_Pipe1
Definition BgUnitCode.h:335
@ cTypeInfo_Dokan_Break4
Definition BgUnitCode.h:351
@ cTypeInfo_Dokan_1
Definition BgUnitCode.h:323
@ cTypeInfo_Dokan_4
Definition BgUnitCode.h:326
@ cTypeInfo_Dokan_7
Definition BgUnitCode.h:329
@ cTypeInfo_Dokan_MamePipe3
Definition BgUnitCode.h:359
@ cTypeInfo_Dokan_Break3
Definition BgUnitCode.h:350
@ cTypeInfo_Dokan_Pipe3
Definition BgUnitCode.h:337
static void setSlipAttr(u64 &data, SlipAttr slip_attr)
Definition BgUnitCode.h:191
TypeInfo_BeltConveyor
Definition BgUnitCode.h:370
@ cTypeInfo_BeltConveyor_Right
Definition BgUnitCode.h:372
@ cTypeInfo_BeltConveyor_Left_High
Definition BgUnitCode.h:373
@ cTypeInfo_BeltConveyor_Right_High
Definition BgUnitCode.h:374
@ cTypeInfo_BeltConveyor_Num
Definition BgUnitCode.h:375
@ cTypeInfo_BeltConveyor_Left
Definition BgUnitCode.h:371
static Attr getAttr(u64 data)
Definition BgUnitCode.h:197
TypeInfo_Tenjou
Definition BgUnitCode.h:272
@ cTypeInfo_Tenjou_03
Definition BgUnitCode.h:276
@ cTypeInfo_Tenjou_01
Definition BgUnitCode.h:274
@ cTypeInfo_Tenjou_0B
Definition BgUnitCode.h:284
@ cTypeInfo_Tenjou_12
Definition BgUnitCode.h:291
@ cTypeInfo_Tenjou_10
Definition BgUnitCode.h:289
@ cTypeInfo_Tenjou_05
Definition BgUnitCode.h:278
@ cTypeInfo_Tenjou_04
Definition BgUnitCode.h:277
@ cTypeInfo_Tenjou_11
Definition BgUnitCode.h:290
@ cTypeInfo_Tenjou_08
Definition BgUnitCode.h:281
@ cTypeInfo_Tenjou_0D
Definition BgUnitCode.h:286
@ cTypeInfo_Tenjou_0F
Definition BgUnitCode.h:288
@ cTypeInfo_Tenjou_09
Definition BgUnitCode.h:282
@ cTypeInfo_Tenjou_Num
Definition BgUnitCode.h:292
@ cTypeInfo_Tenjou_0A
Definition BgUnitCode.h:283
@ cTypeInfo_Tenjou_06
Definition BgUnitCode.h:279
@ cTypeInfo_Tenjou_00
Definition BgUnitCode.h:273
@ cTypeInfo_Tenjou_07
Definition BgUnitCode.h:280
@ cTypeInfo_Tenjou_0C
Definition BgUnitCode.h:285
@ cTypeInfo_Tenjou_02
Definition BgUnitCode.h:275
@ cTypeInfo_Tenjou_0E
Definition BgUnitCode.h:287
static void setTypeInfo(u64 &data, TypeInfo type_info)
Definition BgUnitCode.h:158
static void setTypeOption(u64 &data, TypeOpt type_option)
Definition BgUnitCode.h:169
Shift
Definition BgUnitCode.h:115
@ cShift_Attr
Definition BgUnitCode.h:121
@ cShift_TypeOption
Definition BgUnitCode.h:118
@ cShift_SlipAttr
Definition BgUnitCode.h:120
@ cShift_HitType
Definition BgUnitCode.h:119
@ cShift_Type
Definition BgUnitCode.h:116
@ cShift_TypeInfo
Definition BgUnitCode.h:117
SlipAttr
Definition BgUnitCode.h:79
@ cSlipAttr_Num
Definition BgUnitCode.h:87
@ cSlipAttr_Slip
Definition BgUnitCode.h:81
@ cSlipAttr_SlideSlope
Definition BgUnitCode.h:86
@ cSlipAttr_SakaLowPow
Definition BgUnitCode.h:84
@ cSlipAttr_NoSuberu
Definition BgUnitCode.h:82
@ cSlipAttr_Normal
Definition BgUnitCode.h:80
@ cSlipAttr_IceLowSlip
Definition BgUnitCode.h:83
@ cSlipAttr_SlipFlatAngle
Definition BgUnitCode.h:85
static Type getType(u64 data)
Definition BgUnitCode.h:142
Type
Definition BgUnitCode.h:9
@ cType_Dokan
Definition BgUnitCode.h:28
@ cType_Kani
Definition BgUnitCode.h:32
@ cType_BreakIce
Definition BgUnitCode.h:39
@ cType_Manta
Definition BgUnitCode.h:42
@ cType_Pole
Definition BgUnitCode.h:34
@ cType_TrplnCloud
Definition BgUnitCode.h:45
@ cType_MouseHole
Definition BgUnitCode.h:40
@ cType_Saka
Definition BgUnitCode.h:23
@ cType_WaterStream
Definition BgUnitCode.h:41
@ cType_DrcBlock
Definition BgUnitCode.h:46
@ cType_Chikuwa
Definition BgUnitCode.h:30
@ cType_LineTrain
Definition BgUnitCode.h:53
@ cType_Damage
Definition BgUnitCode.h:27
@ cType_Coin
Definition BgUnitCode.h:15
@ cType_Hold
Definition BgUnitCode.h:33
@ cType_CaveEnter
Definition BgUnitCode.h:31
@ cType_WakuCoin
Definition BgUnitCode.h:14
@ cType_Block
Definition BgUnitCode.h:17
@ cType_PalmTree
Definition BgUnitCode.h:43
@ Clear_Q_Block
Definition BgUnitCode.h:22
@ cType_BreakBlock
Definition BgUnitCode.h:18
@ cType_SenLift
Definition BgUnitCode.h:13
@ cType_PoleRope
Definition BgUnitCode.h:38
@ cType_BigBlock
Definition BgUnitCode.h:51
@ cType_TensenBlock
Definition BgUnitCode.h:20
@ cType_Tenjou
Definition BgUnitCode.h:24
@ cType_RemoconBalanceRideOff
Definition BgUnitCode.h:52
@ cType_None
Definition BgUnitCode.h:12
@ cType_Big_Q_Block
Definition BgUnitCode.h:50
@ cType_Unira
Definition BgUnitCode.h:54
@ cType_BigBreakBlock
Definition BgUnitCode.h:49
@ cType_WoodBarrel
Definition BgUnitCode.h:44
@ cType_Water
Definition BgUnitCode.h:25
@ cType_BeltConveyor
Definition BgUnitCode.h:29
@ cType_QuarterBlock
Definition BgUnitCode.h:21
@ cType_AirshipHand
Definition BgUnitCode.h:47
@ cType_ClearCoin
Definition BgUnitCode.h:16
@ cType_Vine
Definition BgUnitCode.h:26
@ cType_Q_Block
Definition BgUnitCode.h:19
@ cType_WaterGeyser
Definition BgUnitCode.h:48
static TypeOpt getTypeOption(u64 data)
Definition BgUnitCode.h:164
TypeInfo_Coin
Definition BgUnitCode.h:218
@ cTypeInfo_Coin_Blue
Definition BgUnitCode.h:221
@ cTypeInfo_Coin_Red
Definition BgUnitCode.h:220
@ cTypeInfo_CoinNum
Definition BgUnitCode.h:222
@ cTypeInfo_Coin_Yellow
Definition BgUnitCode.h:219
TypeInfo
Definition BgUnitCode.h:58
@ cTypeInfo_Num
Definition BgUnitCode.h:61
@ cTypeInfo_VineStop
Definition BgUnitCode.h:60
@ cTypeInfo_None
Definition BgUnitCode.h:59
TypeInfo_Block
Definition BgUnitCode.h:232
@ cTypeInfo_Block_Wood
Definition BgUnitCode.h:235
@ cTypeInfo_Block_Red
Definition BgUnitCode.h:236
@ cTypeInfo_Block_Num
Definition BgUnitCode.h:237
@ cTypeInfo_Block_Brown
Definition BgUnitCode.h:233
@ cTypeInfo_Block_Stone
Definition BgUnitCode.h:234
TypeOpt_DokanColor
Definition BgUnitCode.h:396
@ cTypeOpt_DokanColor_Num
Definition BgUnitCode.h:401
@ cTypeOpt_DokanColor_Blue
Definition BgUnitCode.h:400
@ cTypeOpt_DokanColor_Red
Definition BgUnitCode.h:398
@ cTypeOpt_DokanColor_Green
Definition BgUnitCode.h:397
@ cTypeOpt_DokanColor_Yellow
Definition BgUnitCode.h:399
TypeInfo_Damage
Definition BgUnitCode.h:306
@ cTypeInfo_Damage_Right
Definition BgUnitCode.h:311
@ cTypeInfo_Damage_Die
Definition BgUnitCode.h:314
@ cTypeInfo_Damage_Num
Definition BgUnitCode.h:317
@ cTypeInfo_Damage_Turara11
Definition BgUnitCode.h:309
@ cTypeInfo_Damage_Doku
Definition BgUnitCode.h:316
@ cTypeInfo_Damage_Turara00
Definition BgUnitCode.h:307
@ cTypeInfo_Damage_Turara10
Definition BgUnitCode.h:308
@ cTypeInfo_Damage_Lava
Definition BgUnitCode.h:315
@ cTypeInfo_Damage_Left
Definition BgUnitCode.h:310
@ cTypeInfo_Damage_Bottom
Definition BgUnitCode.h:313
@ cTypeInfo_Damage_Top
Definition BgUnitCode.h:312
TypeInfo_Saka
Definition BgUnitCode.h:248
@ cTypeInfo_Saka_0A
Definition BgUnitCode.h:259
@ cTypeInfo_Saka_0D
Definition BgUnitCode.h:262
@ cTypeInfo_Saka_0E
Definition BgUnitCode.h:263
@ cTypeInfo_Saka_01
Definition BgUnitCode.h:250
@ cTypeInfo_Saka_05
Definition BgUnitCode.h:254
@ cTypeInfo_Saka_02
Definition BgUnitCode.h:251
@ cTypeInfo_Saka_07
Definition BgUnitCode.h:256
@ cTypeInfo_Saka_11
Definition BgUnitCode.h:266
@ cTypeInfo_Saka_09
Definition BgUnitCode.h:258
@ cTypeInfo_Saka_Num
Definition BgUnitCode.h:268
@ cTypeInfo_Saka_04
Definition BgUnitCode.h:253
@ cTypeInfo_Saka_03
Definition BgUnitCode.h:252
@ cTypeInfo_Saka_06
Definition BgUnitCode.h:255
@ cTypeInfo_Saka_00
Definition BgUnitCode.h:249
@ cTypeInfo_Saka_0B
Definition BgUnitCode.h:260
@ cTypeInfo_Saka_0F
Definition BgUnitCode.h:264
@ cTypeInfo_Saka_12
Definition BgUnitCode.h:267
@ cTypeInfo_Saka_10
Definition BgUnitCode.h:265
@ cTypeInfo_Saka_08
Definition BgUnitCode.h:257
@ cTypeInfo_Saka_0C
Definition BgUnitCode.h:261
TypeInfo_Chikuwa
Definition BgUnitCode.h:364
@ cTypeInfo_Chikuwa_Num
Definition BgUnitCode.h:366
@ cTypeInfo_Chikuwa_Normal
Definition BgUnitCode.h:365
static const u64 cPanelTypeOptionMask
Definition BgUnitCode.h:109
static HitType getHitType(u64 data)
Definition BgUnitCode.h:175
static void setType(u64 &data, Type type)
Definition BgUnitCode.h:147
static SlipAttr getSlipAttr(u64 data)
Definition BgUnitCode.h:186
Attr
Definition BgUnitCode.h:91
@ cSnow
Definition BgUnitCode.h:94
@ cPalmTree
Definition BgUnitCode.h:101
@ cWater
Definition BgUnitCode.h:103
@ cCloud
Definition BgUnitCode.h:98
@ cCarpet
Definition BgUnitCode.h:104
@ cGrass
Definition BgUnitCode.h:97
@ cManta
Definition BgUnitCode.h:100
@ cNuma
Definition BgUnitCode.h:95
@ cWood
Definition BgUnitCode.h:102
@ cNone
Definition BgUnitCode.h:92
@ cBeachSand
Definition BgUnitCode.h:99
@ cIce
Definition BgUnitCode.h:93
@ cSand
Definition BgUnitCode.h:96
static TypeInfo getTypeInfo(u64 data)
Definition BgUnitCode.h:153
TypeInfo_SenLift
Definition BgUnitCode.h:379
@ cTypeInfo_SenLift_Yoko
Definition BgUnitCode.h:381
@ cTypeInfo_SenLift_Tate
Definition BgUnitCode.h:382
@ cTypeInfo_SenLift_Num
Definition BgUnitCode.h:384
@ cTypeInfo_SenLift_Nuki
Definition BgUnitCode.h:383
TypeInfo_TensenBlock
Definition BgUnitCode.h:241
@ cTypeInfo_TensenBlock_Num
Definition BgUnitCode.h:244
@ cTypeInfo_TensenBlock_1
Definition BgUnitCode.h:243
@ cTypeInfo_TensenBlock_0
Definition BgUnitCode.h:242
static u64 makeBgUnitCode(HitType hit_type, Attr attr, SlipAttr slip_attr, Type type, TypeInfo type_info, TypeOpt type_option)
Definition BgUnitCode.h:124
TypeOpt
Definition BgUnitCode.h:65
@ cTypeOpt_None
Definition BgUnitCode.h:66
static const u64 cPanelSlipAttrMask
Definition BgUnitCode.h:111
static const u64 cPanelAttrMask
Definition BgUnitCode.h:112