SSBM Decomp
Loading...
Searching...
No Matches
common_structs.h
Go to the documentation of this file.
1
3#ifndef _common_structs_h_
4#define _common_structs_h_
5
6#include <platform.h>
7
8#include <dolphin/gx.h>
9#include <dolphin/mtx.h>
10
11// Most of these should be moved to independent headers once they are created
12
13// SOUND EFFECTS
14
15#define SFX_VOLUME_MAX 0x7FU
16#define SFX_PAN_MID 0x40U
17
18// HSD_PAD
20typedef u32 HSD_Pad;
21
22#define HSD_PAD_DPADLEFT (1 << 0)
23#define HSD_PAD_DPADRIGHT (1 << 1)
24#define HSD_PAD_DPADDOWN (1 << 2)
25#define HSD_PAD_DPADUP (1 << 3)
26#define HSD_PAD_Z (1 << 4)
27#define HSD_PAD_R (1 << 5)
28#define HSD_PAD_L (1 << 6)
29#define HSD_PAD_7 (1 << 7)
30
32#define HSD_PAD_A (1 << 8)
33
34#define HSD_PAD_B (1 << 9)
35#define HSD_PAD_X (1 << 10)
36#define HSD_PAD_Y (1 << 11)
37#define HSD_PAD_START (1 << 12)
38
40#define HSD_PAD_LR (1 << 31)
41
42#define HSD_PAD_AB (HSD_PAD_A | HSD_PAD_B)
43#define HSD_PAD_XY (HSD_PAD_X | HSD_PAD_Y)
44
45// COLLISION FLAGS
46
47// From Ness's Yo-Yo collision check
48
50#define MPCOLL_RIGHTWALL 0x3F
51#define MPCOLL_FLAGS_B05 (1 << 5)
52#define MPCOLL_LEFTWALL 0xFC0
53#define MPCOLL_WALL (MPCOLL_RIGHTWALL | MPCOLL_LEFTWALL)
54#define MPCOLL_FLAGS_B11 (1 << 11)
55#define MPCOLL_CEIL 0x6000
56#define MPCOLL_FLAGS_B14 (1 << 14)
57#define MPCOLL_UNK 0x18000 // Floor??
58#define MPCOLL_GRPUSH (1 << 15)
59#define MPCOLL_FLAGS_B16 (1 << 16)
60#define MPCOLL_FLAGS_B20 (1 << 20) // 0x100000
61#define MPCOLL_FLAGS_B21 (1 << 21) // 0x200000
62#define MPCOLL_FLAGS_B23 (1 << 23)
63#define MPCOLL_FLAGS_B24 (1 << 24)
64#define MPCOLL_FLAGS_B25 (1 << 25)
65
66typedef union UnkFlagStruct {
68 struct {
69 u8 b0 : 1;
70 u8 b1 : 1;
71 u8 b2 : 1;
72 u8 b3 : 1;
73 u8 b4 : 1;
74 u8 b5 : 1;
75 u8 b6 : 1;
76 u8 b7 : 1;
77 };
79
80typedef struct ColorOverlay {
81 s32 x0_timer; // 0x0
82 s32 x4_pri; // 0x4 this colanims priority, lower = will persist
83 s32* x8_ptr1; // 0x8
84 s32 xC_loop; // 0xc
85 s32* x10_ptr2; // 0x10
86 s32 x14; // 0x14
87 s32* x18_alloc; // 0x18
88 s32 x1c; // 0x1c
89 s32 x20; // 0x20
90 s32 x24; // 0x24
91 s32 x28_colanim; // 0x28, id for the color animation in effect
92 GXColor x2C_hex; // 0x2C
93 f32 x30_color_red; // 0x30
94 f32 x34_color_green; // 0x34
95 f32 x38_color_blue; // 0x38
96 f32 x3C_color_alpha; // 0x3C
97 f32 x40_colorblend_red; // 0x40
101 GXColor x50_light_color; // 0x50
102 f32 x54_light_red; // 0x54
103 f32 x58_light_green; // 0x58
104 f32 x5C_light_blue; // 0x5C
105 f32 x60_light_alpha; // 0x60
110 f32 x74_light_angle; // 0x74
111 f32 x78_light_unk; // 0x78
112 u8 x7C_color_enable : 1; // 0x7c, 0x80
113 u8 x7C_flag2 : 1; // 0x7c, 0x40
114 u8 x7C_light_enable : 1; // 0x7c, 0x20
115 u8 x7C_flag4 : 1; // 0x7c, 0x10
116 u8 x7C_flag5 : 1; // 0x7c, 0x08
117 u8 x7C_flag6 : 1; // 0x7c, 0x04
118 u8 x7C_flag7 : 1; // 0x7c, 0x02
119 u8 x7C_flag8 : 1; // 0x7c, 0x01
121
129
134
135#endif
GroundOrAir
Definition common_structs.h:130
@ GA_Ground
Definition common_structs.h:131
@ GA_Air
Definition common_structs.h:132
u32 HSD_Pad
Definition common_structs.h:20
Definition common_structs.h:80
f32 x6C_lightblend_blue
Definition common_structs.h:108
s32 x24
Definition common_structs.h:90
s32 * x10_ptr2
Definition common_structs.h:85
f32 x74_light_angle
Definition common_structs.h:110
f32 x60_light_alpha
Definition common_structs.h:105
u8 x7C_flag7
Definition common_structs.h:118
f32 x48_colorblend_blue
Definition common_structs.h:99
f32 x5C_light_blue
Definition common_structs.h:104
u8 x7C_flag8
Definition common_structs.h:119
s32 x0_timer
Definition common_structs.h:81
f32 x58_light_green
Definition common_structs.h:103
GXColor x2C_hex
Definition common_structs.h:92
s32 x20
Definition common_structs.h:89
f32 x70_lightblend_alpha
Definition common_structs.h:109
f32 x68_lightblend_green
Definition common_structs.h:107
f32 x38_color_blue
Definition common_structs.h:95
u8 x7C_flag5
Definition common_structs.h:116
f32 x54_light_red
Definition common_structs.h:102
GXColor x50_light_color
Definition common_structs.h:101
u8 x7C_flag2
Definition common_structs.h:113
u8 x7C_color_enable
Definition common_structs.h:112
u8 x7C_light_enable
Definition common_structs.h:114
s32 * x8_ptr1
Definition common_structs.h:83
f32 x34_color_green
Definition common_structs.h:94
f32 x64_lightblend_red
Definition common_structs.h:106
f32 x4C_colorblend_alpha
Definition common_structs.h:100
s32 * x18_alloc
Definition common_structs.h:87
s32 x4_pri
Definition common_structs.h:82
s32 x28_colanim
Definition common_structs.h:91
s32 x14
Definition common_structs.h:86
s32 xC_loop
Definition common_structs.h:84
f32 x3C_color_alpha
Definition common_structs.h:96
u8 x7C_flag6
Definition common_structs.h:117
f32 x30_color_red
Definition common_structs.h:93
u8 x7C_flag4
Definition common_structs.h:115
s32 x1c
Definition common_structs.h:88
f32 x44_colorblend_green
Definition common_structs.h:98
f32 x78_light_unk
Definition common_structs.h:111
f32 x40_colorblend_red
Definition common_structs.h:97
Definition common_structs.h:122
u32 x0_unk
Definition common_structs.h:123
u8 x5_unk
Definition common_structs.h:125
u8 x4_unk
Definition common_structs.h:124
u8 x7_unk
Definition common_structs.h:127
u8 x6_unk
Definition common_structs.h:126
Definition common_structs.h:66
u8 b3
Definition common_structs.h:72
u8 b4
Definition common_structs.h:73
u8 b6
Definition common_structs.h:75
u8 b5
Definition common_structs.h:74
u8 b2
Definition common_structs.h:71
u8 b7
Definition common_structs.h:76
u8 b0
Definition common_structs.h:69
u8 u8
Definition common_structs.h:67
u8 b1
Definition common_structs.h:70