New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BgUnitCode Class Reference

#include <BgUnitCode.h>

Public Types

enum  Type {
  cType_None = 0 , cType_SenLift = 1 , cType_WakuCoin = 2 , cType_Coin = 3 ,
  cType_ClearCoin = 4 , cType_Block = 5 , cType_BreakBlock = 6 , cType_Q_Block = 7 ,
  cType_TensenBlock = 8 , cType_QuarterBlock = 9 , Clear_Q_Block = 10 , cType_Saka = 11 ,
  cType_Tenjou = 12 , cType_Water = 13 , cType_Vine = 14 , cType_Damage = 15 ,
  cType_Dokan = 16 , cType_BeltConveyor = 17 , cType_Chikuwa = 18 , cType_CaveEnter = 19 ,
  cType_Kani = 20 , cType_Hold = 21 , cType_Pole = 22 , cType_PoleRope = 23 ,
  cType_BreakIce = 24 , cType_MouseHole = 25 , cType_WaterStream = 26 , cType_Manta = 27 ,
  cType_PalmTree = 28 , cType_WoodBarrel = 29 , cType_TrplnCloud = 30 , cType_DrcBlock = 31 ,
  cType_AirshipHand = 32 , cType_WaterGeyser = 33 , cType_BigBreakBlock = 34 , cType_Big_Q_Block = 35 ,
  cType_BigBlock = 36 , cType_RemoconBalanceRideOff = 37 , cType_LineTrain = 38 , cType_Unira = 39
}
enum  TypeInfo { cTypeInfo_None , cTypeInfo_VineStop , cTypeInfo_Num }
enum  TypeOpt { cTypeOpt_None }
enum  HitType {
  cHitType_None = 0 , cHitType_Full = 1 , cHitType_Half = 2 , cHitType_HalfCeiling = 3 ,
  cHitType_HalfBoth = 4
}
enum  SlipAttr {
  cSlipAttr_Normal = 0 , cSlipAttr_Slip = 1 , cSlipAttr_NoSuberu = 2 , cSlipAttr_IceLowSlip ,
  cSlipAttr_SakaLowPow , cSlipAttr_SlipFlatAngle , cSlipAttr_SlideSlope , cSlipAttr_Num
}
enum  Attr {
  cNone = 0 , cIce = 1 , cSnow = 2 , cNuma = 3 ,
  cSand = 4 , cGrass = 5 , cCloud = 6 , cBeachSand = 7 ,
  cManta = 8 , cPalmTree = 9 , cWood = 10 , cWater = 11 ,
  cCarpet = 12
}
enum  Shift {
  cShift_Type = 0 , cShift_TypeInfo = 16 , cShift_TypeOption = 24 , cShift_HitType = 32 ,
  cShift_SlipAttr = 36 , cShift_Attr = 40
}
enum  TypeInfo_WakuCoin { cTypeInfo_WakuCoin_Normal , TypeInfo_WakuCoin_Multi , cTypeInfo_WakuCoin_Num }
enum  TypeInfo_Coin { cTypeInfo_Coin_Yellow , cTypeInfo_Coin_Red , cTypeInfo_Coin_Blue , cTypeInfo_CoinNum }
enum  TypeInfo_ClearCoin { cTypeInfo_ClearCoin_Blue , cTypeInfo_ClearCoin_Num }
enum  TypeInfo_Block {
  cTypeInfo_Block_Brown , cTypeInfo_Block_Stone , cTypeInfo_Block_Wood , cTypeInfo_Block_Red ,
  cTypeInfo_Block_Num
}
enum  TypeInfo_TensenBlock { cTypeInfo_TensenBlock_0 , cTypeInfo_TensenBlock_1 , cTypeInfo_TensenBlock_Num }
enum  TypeInfo_Saka {
  cTypeInfo_Saka_00 , cTypeInfo_Saka_01 , cTypeInfo_Saka_02 , cTypeInfo_Saka_03 ,
  cTypeInfo_Saka_04 , cTypeInfo_Saka_05 , cTypeInfo_Saka_06 , cTypeInfo_Saka_07 ,
  cTypeInfo_Saka_08 , cTypeInfo_Saka_09 , cTypeInfo_Saka_0A , cTypeInfo_Saka_0B ,
  cTypeInfo_Saka_0C , cTypeInfo_Saka_0D , cTypeInfo_Saka_0E , cTypeInfo_Saka_0F ,
  cTypeInfo_Saka_10 , cTypeInfo_Saka_11 , cTypeInfo_Saka_12 , cTypeInfo_Saka_Num
}
enum  TypeInfo_Tenjou {
  cTypeInfo_Tenjou_00 , cTypeInfo_Tenjou_01 , cTypeInfo_Tenjou_02 , cTypeInfo_Tenjou_03 ,
  cTypeInfo_Tenjou_04 , cTypeInfo_Tenjou_05 , cTypeInfo_Tenjou_06 , cTypeInfo_Tenjou_07 ,
  cTypeInfo_Tenjou_08 , cTypeInfo_Tenjou_09 , cTypeInfo_Tenjou_0A , cTypeInfo_Tenjou_0B ,
  cTypeInfo_Tenjou_0C , cTypeInfo_Tenjou_0D , cTypeInfo_Tenjou_0E , cTypeInfo_Tenjou_0F ,
  cTypeInfo_Tenjou_10 , cTypeInfo_Tenjou_11 , cTypeInfo_Tenjou_12 , cTypeInfo_Tenjou_Num
}
enum  TypeInfo_Water {
  cTypeInfo_Water_Normal , cTypeInfo_Water_Air , cTypeInfo_Water_Lava , cTypeInfo_Water_Doku ,
  cTypeInfo_Water_Numa , cTypeInfo_Water_Num
}
enum  TypeInfo_Damage {
  cTypeInfo_Damage_Turara00 , cTypeInfo_Damage_Turara10 , cTypeInfo_Damage_Turara11 , cTypeInfo_Damage_Left ,
  cTypeInfo_Damage_Right , cTypeInfo_Damage_Top , cTypeInfo_Damage_Bottom , cTypeInfo_Damage_Die ,
  cTypeInfo_Damage_Lava , cTypeInfo_Damage_Doku , cTypeInfo_Damage_Num
}
enum  TypeInfo_Dokan {
  cTypeInfo_Dokan_0 , cTypeInfo_Dokan_1 , cTypeInfo_Dokan_2 , cTypeInfo_Dokan_3 ,
  cTypeInfo_Dokan_4 , cTypeInfo_Dokan_5 , cTypeInfo_Dokan_6 , cTypeInfo_Dokan_7 ,
  cTypeInfo_Dokan_Mame0 , cTypeInfo_Dokan_Mame1 , cTypeInfo_Dokan_Mame2 , cTypeInfo_Dokan_Mame3 ,
  cTypeInfo_Dokan_Pipe0 , cTypeInfo_Dokan_Pipe1 , cTypeInfo_Dokan_Pipe2 , cTypeInfo_Dokan_Pipe3 ,
  cTypeInfo_Dokan_Pipe4 , cTypeInfo_Dokan_Pipe5 , cTypeInfo_Dokan_Pipe6 , cTypeInfo_Dokan_Pipe7 ,
  cTypeInfo_Dokan_Pipe8 , cTypeInfo_Dokan_Pipe9 , cTypeInfo_Dokan_PipeB , cTypeInfo_Dokan_MamePipe0 ,
  cTypeInfo_Dokan_MamePipe1 , cTypeInfo_Dokan_Break0 , cTypeInfo_Dokan_Break1 , cTypeInfo_Dokan_Break2 ,
  cTypeInfo_Dokan_Break3 , cTypeInfo_Dokan_Break4 , cTypeInfo_Dokan_Break5 , cTypeInfo_Dokan_Break6 ,
  cTypeInfo_Dokan_Break7 , cTypeInfo_Dokan_MameBreak0 , cTypeInfo_Dokan_MameBreak1 , cTypeInfo_Dokan_Tunagi ,
  cTypeInfo_Dokan_MamePipe2 , cTypeInfo_Dokan_MamePipe3 , cTypeInfo_Dokan_Num
}
enum  TypeInfo_Chikuwa { cTypeInfo_Chikuwa_Normal , cTypeInfo_Chikuwa_Num }
enum  TypeInfo_BeltConveyor {
  cTypeInfo_BeltConveyor_Left , cTypeInfo_BeltConveyor_Right , cTypeInfo_BeltConveyor_Left_High , cTypeInfo_BeltConveyor_Right_High ,
  cTypeInfo_BeltConveyor_Num
}
enum  TypeInfo_SenLift { cTypeInfo_SenLift_Yoko = 4 , cTypeInfo_SenLift_Tate , cTypeInfo_SenLift_Nuki = 32 , cTypeInfo_SenLift_Num }
enum  TypeInfo_Vine { cTypeInfo_Vine_Ivy , cTypeInfo_Vine_Rock , cTypeInfo_Vine_Wire , cTypeInfo_Vine_Num }
enum  TypeOpt_DokanColor {
  cTypeOpt_DokanColor_Green , cTypeOpt_DokanColor_Red , cTypeOpt_DokanColor_Yellow , cTypeOpt_DokanColor_Blue ,
  cTypeOpt_DokanColor_Num
}

Static Public Member Functions

static u64 makeBgUnitCode (HitType hit_type, Attr attr, SlipAttr slip_attr, Type type, TypeInfo type_info, TypeOpt type_option)
static Type getType (u64 data)
static void setType (u64 &data, Type type)
static TypeInfo getTypeInfo (u64 data)
static void setTypeInfo (u64 &data, TypeInfo type_info)
static TypeOpt getTypeOption (u64 data)
static void setTypeOption (u64 &data, TypeOpt type_option)
static HitType getHitType (u64 data)
static void setHitType (u64 &data, HitType hit_type)
static SlipAttr getSlipAttr (u64 data)
static void setSlipAttr (u64 &data, SlipAttr slip_attr)
static Attr getAttr (u64 data)
static void setAttr (u64 &data, Attr attr)

Static Public Attributes

static const u64 cPanelTypeMask = 0x000000000000FFFF
static const u64 cPanelTypeInfoMask = 0x0000000000FF0000
static const u64 cPanelTypeOptionMask = 0x00000000FF000000
static const u64 cPanelHitTypeMask = 0x0000000F00000000
static const u64 cPanelSlipAttrMask = 0x000000F000000000
static const u64 cPanelAttrMask = 0x0000FF0000000000

Member Enumeration Documentation

◆ Type

Enumerator
cType_None 
cType_SenLift 
cType_WakuCoin 
cType_Coin 
cType_ClearCoin 
cType_Block 
cType_BreakBlock 
cType_Q_Block 
cType_TensenBlock 
cType_QuarterBlock 
Clear_Q_Block 
cType_Saka 
cType_Tenjou 
cType_Water 
cType_Vine 
cType_Damage 
cType_Dokan 
cType_BeltConveyor 
cType_Chikuwa 
cType_CaveEnter 
cType_Kani 
cType_Hold 
cType_Pole 
cType_PoleRope 
cType_BreakIce 
cType_MouseHole 
cType_WaterStream 
cType_Manta 
cType_PalmTree 
cType_WoodBarrel 
cType_TrplnCloud 
cType_DrcBlock 
cType_AirshipHand 
cType_WaterGeyser 
cType_BigBreakBlock 
cType_Big_Q_Block 
cType_BigBlock 
cType_RemoconBalanceRideOff 
cType_LineTrain 
cType_Unira 

◆ TypeInfo

Enumerator
cTypeInfo_None 
cTypeInfo_VineStop 
cTypeInfo_Num 

◆ TypeOpt

Enumerator
cTypeOpt_None 

◆ HitType

Enumerator
cHitType_None 
cHitType_Full 
cHitType_Half 
cHitType_HalfCeiling 
cHitType_HalfBoth 

◆ SlipAttr

Enumerator
cSlipAttr_Normal 
cSlipAttr_Slip 
cSlipAttr_NoSuberu 
cSlipAttr_IceLowSlip 
cSlipAttr_SakaLowPow 
cSlipAttr_SlipFlatAngle 
cSlipAttr_SlideSlope 
cSlipAttr_Num 

◆ Attr

Enumerator
cNone 
cIce 
cSnow 
cNuma 
cSand 
cGrass 
cCloud 
cBeachSand 
cManta 
cPalmTree 
cWood 
cWater 
cCarpet 

◆ Shift

Enumerator
cShift_Type 
cShift_TypeInfo 
cShift_TypeOption 
cShift_HitType 
cShift_SlipAttr 
cShift_Attr 

◆ TypeInfo_WakuCoin

Enumerator
cTypeInfo_WakuCoin_Normal 
TypeInfo_WakuCoin_Multi 
cTypeInfo_WakuCoin_Num 

◆ TypeInfo_Coin

Enumerator
cTypeInfo_Coin_Yellow 
cTypeInfo_Coin_Red 
cTypeInfo_Coin_Blue 
cTypeInfo_CoinNum 

◆ TypeInfo_ClearCoin

Enumerator
cTypeInfo_ClearCoin_Blue 
cTypeInfo_ClearCoin_Num 

◆ TypeInfo_Block

Enumerator
cTypeInfo_Block_Brown 
cTypeInfo_Block_Stone 
cTypeInfo_Block_Wood 
cTypeInfo_Block_Red 
cTypeInfo_Block_Num 

◆ TypeInfo_TensenBlock

Enumerator
cTypeInfo_TensenBlock_0 
cTypeInfo_TensenBlock_1 
cTypeInfo_TensenBlock_Num 

◆ TypeInfo_Saka

Enumerator
cTypeInfo_Saka_00 
cTypeInfo_Saka_01 
cTypeInfo_Saka_02 
cTypeInfo_Saka_03 
cTypeInfo_Saka_04 
cTypeInfo_Saka_05 
cTypeInfo_Saka_06 
cTypeInfo_Saka_07 
cTypeInfo_Saka_08 
cTypeInfo_Saka_09 
cTypeInfo_Saka_0A 
cTypeInfo_Saka_0B 
cTypeInfo_Saka_0C 
cTypeInfo_Saka_0D 
cTypeInfo_Saka_0E 
cTypeInfo_Saka_0F 
cTypeInfo_Saka_10 
cTypeInfo_Saka_11 
cTypeInfo_Saka_12 
cTypeInfo_Saka_Num 

◆ TypeInfo_Tenjou

Enumerator
cTypeInfo_Tenjou_00 
cTypeInfo_Tenjou_01 
cTypeInfo_Tenjou_02 
cTypeInfo_Tenjou_03 
cTypeInfo_Tenjou_04 
cTypeInfo_Tenjou_05 
cTypeInfo_Tenjou_06 
cTypeInfo_Tenjou_07 
cTypeInfo_Tenjou_08 
cTypeInfo_Tenjou_09 
cTypeInfo_Tenjou_0A 
cTypeInfo_Tenjou_0B 
cTypeInfo_Tenjou_0C 
cTypeInfo_Tenjou_0D 
cTypeInfo_Tenjou_0E 
cTypeInfo_Tenjou_0F 
cTypeInfo_Tenjou_10 
cTypeInfo_Tenjou_11 
cTypeInfo_Tenjou_12 
cTypeInfo_Tenjou_Num 

◆ TypeInfo_Water

Enumerator
cTypeInfo_Water_Normal 
cTypeInfo_Water_Air 
cTypeInfo_Water_Lava 
cTypeInfo_Water_Doku 
cTypeInfo_Water_Numa 
cTypeInfo_Water_Num 

◆ TypeInfo_Damage

Enumerator
cTypeInfo_Damage_Turara00 
cTypeInfo_Damage_Turara10 
cTypeInfo_Damage_Turara11 
cTypeInfo_Damage_Left 
cTypeInfo_Damage_Right 
cTypeInfo_Damage_Top 
cTypeInfo_Damage_Bottom 
cTypeInfo_Damage_Die 
cTypeInfo_Damage_Lava 
cTypeInfo_Damage_Doku 
cTypeInfo_Damage_Num 

◆ TypeInfo_Dokan

Enumerator
cTypeInfo_Dokan_0 
cTypeInfo_Dokan_1 
cTypeInfo_Dokan_2 
cTypeInfo_Dokan_3 
cTypeInfo_Dokan_4 
cTypeInfo_Dokan_5 
cTypeInfo_Dokan_6 
cTypeInfo_Dokan_7 
cTypeInfo_Dokan_Mame0 
cTypeInfo_Dokan_Mame1 
cTypeInfo_Dokan_Mame2 
cTypeInfo_Dokan_Mame3 
cTypeInfo_Dokan_Pipe0 
cTypeInfo_Dokan_Pipe1 
cTypeInfo_Dokan_Pipe2 
cTypeInfo_Dokan_Pipe3 
cTypeInfo_Dokan_Pipe4 
cTypeInfo_Dokan_Pipe5 
cTypeInfo_Dokan_Pipe6 
cTypeInfo_Dokan_Pipe7 
cTypeInfo_Dokan_Pipe8 
cTypeInfo_Dokan_Pipe9 
cTypeInfo_Dokan_PipeB 
cTypeInfo_Dokan_MamePipe0 
cTypeInfo_Dokan_MamePipe1 
cTypeInfo_Dokan_Break0 
cTypeInfo_Dokan_Break1 
cTypeInfo_Dokan_Break2 
cTypeInfo_Dokan_Break3 
cTypeInfo_Dokan_Break4 
cTypeInfo_Dokan_Break5 
cTypeInfo_Dokan_Break6 
cTypeInfo_Dokan_Break7 
cTypeInfo_Dokan_MameBreak0 
cTypeInfo_Dokan_MameBreak1 
cTypeInfo_Dokan_Tunagi 
cTypeInfo_Dokan_MamePipe2 
cTypeInfo_Dokan_MamePipe3 
cTypeInfo_Dokan_Num 

◆ TypeInfo_Chikuwa

Enumerator
cTypeInfo_Chikuwa_Normal 
cTypeInfo_Chikuwa_Num 

◆ TypeInfo_BeltConveyor

Enumerator
cTypeInfo_BeltConveyor_Left 
cTypeInfo_BeltConveyor_Right 
cTypeInfo_BeltConveyor_Left_High 
cTypeInfo_BeltConveyor_Right_High 
cTypeInfo_BeltConveyor_Num 

◆ TypeInfo_SenLift

Enumerator
cTypeInfo_SenLift_Yoko 
cTypeInfo_SenLift_Tate 
cTypeInfo_SenLift_Nuki 
cTypeInfo_SenLift_Num 

◆ TypeInfo_Vine

Enumerator
cTypeInfo_Vine_Ivy 
cTypeInfo_Vine_Rock 
cTypeInfo_Vine_Wire 
cTypeInfo_Vine_Num 

◆ TypeOpt_DokanColor

Enumerator
cTypeOpt_DokanColor_Green 
cTypeOpt_DokanColor_Red 
cTypeOpt_DokanColor_Yellow 
cTypeOpt_DokanColor_Blue 
cTypeOpt_DokanColor_Num 

Member Function Documentation

◆ makeBgUnitCode()

u64 BgUnitCode::makeBgUnitCode ( HitType hit_type,
Attr attr,
SlipAttr slip_attr,
Type type,
TypeInfo type_info,
TypeOpt type_option )
inlinestatic

◆ getType()

Type BgUnitCode::getType ( u64 data)
inlinestatic

◆ setType()

void BgUnitCode::setType ( u64 & data,
Type type )
inlinestatic

◆ getTypeInfo()

TypeInfo BgUnitCode::getTypeInfo ( u64 data)
inlinestatic

◆ setTypeInfo()

void BgUnitCode::setTypeInfo ( u64 & data,
TypeInfo type_info )
inlinestatic

◆ getTypeOption()

TypeOpt BgUnitCode::getTypeOption ( u64 data)
inlinestatic

◆ setTypeOption()

void BgUnitCode::setTypeOption ( u64 & data,
TypeOpt type_option )
inlinestatic

◆ getHitType()

HitType BgUnitCode::getHitType ( u64 data)
inlinestatic

◆ setHitType()

void BgUnitCode::setHitType ( u64 & data,
HitType hit_type )
inlinestatic

◆ getSlipAttr()

SlipAttr BgUnitCode::getSlipAttr ( u64 data)
inlinestatic

◆ setSlipAttr()

void BgUnitCode::setSlipAttr ( u64 & data,
SlipAttr slip_attr )
inlinestatic

◆ getAttr()

Attr BgUnitCode::getAttr ( u64 data)
inlinestatic

◆ setAttr()

void BgUnitCode::setAttr ( u64 & data,
Attr attr )
inlinestatic

Member Data Documentation

◆ cPanelTypeMask

const u64 BgUnitCode::cPanelTypeMask = 0x000000000000FFFF
static

◆ cPanelTypeInfoMask

const u64 BgUnitCode::cPanelTypeInfoMask = 0x0000000000FF0000
static

◆ cPanelTypeOptionMask

const u64 BgUnitCode::cPanelTypeOptionMask = 0x00000000FF000000
static

◆ cPanelHitTypeMask

const u64 BgUnitCode::cPanelHitTypeMask = 0x0000000F00000000
static

◆ cPanelSlipAttrMask

const u64 BgUnitCode::cPanelSlipAttrMask = 0x000000F000000000
static

◆ cPanelAttrMask

const u64 BgUnitCode::cPanelAttrMask = 0x0000FF0000000000
static