SSBM Decomp
Loading...
Searching...
No Matches
common_structs.h File Reference
#include <platform.h>
#include <dolphin/gx.h>
#include <dolphin/mtx.h>

Go to the source code of this file.

Data Structures

union  UnkFlagStruct
 

Macros

#define SFX_VOLUME_MAX   0x7FU
 
#define SFX_PAN_MID   0x40U
 
#define HSD_PAD_DPADLEFT   (1 << 0)
 
#define HSD_PAD_DPADRIGHT   (1 << 1)
 
#define HSD_PAD_DPADDOWN   (1 << 2)
 
#define HSD_PAD_DPADUP   (1 << 3)
 
#define HSD_PAD_Z   (1 << 4)
 
#define HSD_PAD_R   (1 << 5)
 
#define HSD_PAD_L   (1 << 6)
 
#define HSD_PAD_7   (1 << 7)
 
#define HSD_PAD_A   (1 << 8)
 
#define HSD_PAD_B   (1 << 9)
 
#define HSD_PAD_X   (1 << 10)
 
#define HSD_PAD_Y   (1 << 11)
 
#define HSD_PAD_START   (1 << 12)
 
#define HSD_PAD_LR   (1 << 31)
 Digital input of either L or R.
 
#define HSD_PAD_AB   (HSD_PAD_A | HSD_PAD_B)
 
#define HSD_PAD_XY   (HSD_PAD_X | HSD_PAD_Y)
 
#define Collide_LeftWallPush   0x1
 
#define Collide_LeftWallHug   0x20
 
#define Collide_LeftWallMask   0x3F
 
#define Collide_RightWallPush   0x40
 
#define Collide_RightWallHug   0x800
 
#define Collide_RightWallMask   0xFC0
 
#define Collide_WallMask   (Collide_LeftWallMask | Collide_RightWallMask)
 
#define Collide_CeilingPush   0x2000
 
#define Collide_CeilingHug   0x4000
 
#define Collide_CeilingMask   (Collide_CeilingPush | Collide_CeilingHug)
 
#define Collide_FloorPush   0x8000
 
#define Collide_FloorHug   0x10000
 
#define Collide_FloorMask   (Collide_FloorPush | Collide_FloorHug)
 
#define Collide_LeftEdge   0x100000
 
#define Collide_RightEdge   0x200000
 
#define Collide_Edge   0x800000
 
#define Collide_LeftLedgeGrab   0x1000000
 
#define Collide_RightLedgeGrab   0x2000000
 
#define Collide_LedgeGrabMask   (Collide_LeftLedgeGrab | Collide_RightLedgeGrab)
 
#define Collide_LeftLedgeSlip   0x10000000
 
#define Collide_RightLedgeSlip   0x20000000
 

Typedefs

typedef u32 HSD_Pad
 

Enumerations

enum  GroundOrAir {
  GA_Ground ,
  GA_Air
}
 

Detailed Description

Todo:
Delete this.

Macro Definition Documentation

◆ SFX_VOLUME_MAX

#define SFX_VOLUME_MAX   0x7FU

◆ SFX_PAN_MID

#define SFX_PAN_MID   0x40U

◆ HSD_PAD_DPADLEFT

#define HSD_PAD_DPADLEFT   (1 << 0)

◆ HSD_PAD_DPADRIGHT

#define HSD_PAD_DPADRIGHT   (1 << 1)

◆ HSD_PAD_DPADDOWN

#define HSD_PAD_DPADDOWN   (1 << 2)

◆ HSD_PAD_DPADUP

#define HSD_PAD_DPADUP   (1 << 3)

◆ HSD_PAD_Z

#define HSD_PAD_Z   (1 << 4)

◆ HSD_PAD_R

#define HSD_PAD_R   (1 << 5)

◆ HSD_PAD_L

#define HSD_PAD_L   (1 << 6)

◆ HSD_PAD_7

#define HSD_PAD_7   (1 << 7)

◆ HSD_PAD_A

#define HSD_PAD_A   (1 << 8)
Remarks
Also covers Z-Button macro in-game.

◆ HSD_PAD_B

#define HSD_PAD_B   (1 << 9)

◆ HSD_PAD_X

#define HSD_PAD_X   (1 << 10)

◆ HSD_PAD_Y

#define HSD_PAD_Y   (1 << 11)

◆ HSD_PAD_START

#define HSD_PAD_START   (1 << 12)

◆ HSD_PAD_LR

#define HSD_PAD_LR   (1 << 31)

Digital input of either L or R.

◆ HSD_PAD_AB

#define HSD_PAD_AB   (HSD_PAD_A | HSD_PAD_B)

◆ HSD_PAD_XY

#define HSD_PAD_XY   (HSD_PAD_X | HSD_PAD_Y)

◆ Collide_LeftWallPush

#define Collide_LeftWallPush   0x1
Todo:
These (and CollData::env_flags) should be a bitfield struct

◆ Collide_LeftWallHug

#define Collide_LeftWallHug   0x20

◆ Collide_LeftWallMask

#define Collide_LeftWallMask   0x3F

◆ Collide_RightWallPush

#define Collide_RightWallPush   0x40

◆ Collide_RightWallHug

#define Collide_RightWallHug   0x800

◆ Collide_RightWallMask

#define Collide_RightWallMask   0xFC0

◆ Collide_WallMask

#define Collide_WallMask   (Collide_LeftWallMask | Collide_RightWallMask)

◆ Collide_CeilingPush

#define Collide_CeilingPush   0x2000

◆ Collide_CeilingHug

#define Collide_CeilingHug   0x4000

◆ Collide_CeilingMask

#define Collide_CeilingMask   (Collide_CeilingPush | Collide_CeilingHug)

◆ Collide_FloorPush

#define Collide_FloorPush   0x8000

◆ Collide_FloorHug

#define Collide_FloorHug   0x10000

◆ Collide_FloorMask

#define Collide_FloorMask   (Collide_FloorPush | Collide_FloorHug)

◆ Collide_LeftEdge

#define Collide_LeftEdge   0x100000

◆ Collide_RightEdge

#define Collide_RightEdge   0x200000

◆ Collide_Edge

#define Collide_Edge   0x800000

◆ Collide_LeftLedgeGrab

#define Collide_LeftLedgeGrab   0x1000000

◆ Collide_RightLedgeGrab

#define Collide_RightLedgeGrab   0x2000000

◆ Collide_LedgeGrabMask

#define Collide_LedgeGrabMask   (Collide_LeftLedgeGrab | Collide_RightLedgeGrab)

◆ Collide_LeftLedgeSlip

#define Collide_LeftLedgeSlip   0x10000000

◆ Collide_RightLedgeSlip

#define Collide_RightLedgeSlip   0x20000000

Typedef Documentation

◆ HSD_Pad

typedef u32 HSD_Pad
Todo:
PascalCase members

Enumeration Type Documentation

◆ GroundOrAir

Enumerator
GA_Ground 
GA_Air