SSBM Decomp
Loading...
Searching...
No Matches
forward.h
Go to the documentation of this file.
1#ifndef MELEE_GR_FORWARD_H
2#define MELEE_GR_FORWARD_H
3
4#include "lb/forward.h"
5#include <baselib/forward.h>
6
7#include <dolphin/mtx.h>
8
11typedef struct GrJoint GrJoint;
12typedef struct Ground Ground;
13typedef struct GroundParam GroundParam;
14typedef struct StageData StageData;
15typedef struct StageInfo StageInfo;
16typedef struct StageParam StageParam;
18typedef struct unkCastle unkCastle;
19typedef struct UnkStageDat UnkStageDat;
21
22#ifdef M2C
23typedef struct Ground_GObj Ground_GObj;
24struct Ground_GObj {
25 /* +0 */ u16 classifier;
26 /* +2 */ u8 p_link;
27 /* +3 */ u8 gx_link;
28 /* +4 */ u8 p_priority;
29 /* +5 */ u8 render_priority;
30 /* +6 */ u8 obj_kind;
31 /* +7 */ u8 user_data_kind;
32 /* +8 */ Ground_GObj* next;
33 /* +C */ Ground_GObj* prev;
34 /* +10 */ Ground_GObj* next_gx;
35 /* +14 */ Ground_GObj* prev_gx;
36 /* +18 */ HSD_GObjProc* proc;
37 /* +1C */ void (*rendered)(Ground_GObj* gobj, s32 code);
38 /* +20 */ u64 gxlink_prios;
39 /* +28 */ HSD_JObj* hsd_obj;
40 /* +2C */ Ground* user_data;
41 /* +30 */ void (*user_data_remove_func)(Ground* data);
42 /* +34 */ void* x34_unk;
43};
44#else
46#endif
47
54typedef enum GrKind {
55 /* 0x00 */ Gr_Kind_Unk00,
56 /* 0x01 */ Gr_Kind_Test,
57 /* 0x02 */ Gr_Kind_Castle, // Princess Peach's Castle
58 /* 0x03 */ Gr_Kind_RCruise, // Rainbow Cruise
59 /* 0x04 */ Gr_Kind_Kongo, // Kongo Jungle
60 /* 0x05 */ Gr_Kind_Garden, // Jungle Japes
61 /* 0x06 */ Gr_Kind_GreatBay, // Great Bay
62 /* 0x07 */ Gr_Kind_Shrine, // Hyrule Temple
63 /* 0x08 */ Gr_Kind_Zebes, // Brinstar
64 /* 0x09 */ Gr_Kind_Kraid, // Brinstar Depths
65 /* 0x0A */ Gr_Kind_Story, // Yoshi's Story
66 /* 0x0B */ Gr_Kind_Yorster, // Yoshi's Island
67 /* 0x0C */ Gr_Kind_Izumi, // Fountain of Dreams
68 /* 0x0D */ Gr_Kind_Greens, // Green Greens
69 /* 0x0E */ Gr_Kind_Corneria, // Corneria
70 /* 0x0F */ Gr_Kind_Venom, // Venom
71 /* 0x10 */ Gr_Kind_PStadium, // Pokemon Stadium
72 /* 0x11 */ Gr_Kind_Pura, // Poke Floats
73 /* 0x12 */ Gr_Kind_MuteCity, // Mute City
74 /* 0x13 */ Gr_Kind_BigBlue, // Big Blue
75 /* 0x14 */ Gr_Kind_Onett, // Onett
76 /* 0x15 */ Gr_Kind_Fourside, // Fourside
77 /* 0x16 */ Gr_Kind_Icemt, // Icicle Mountain
78 /* 0x17 */ Gr_Kind_Unk23,
79 /* 0x18 */ Gr_Kind_Inishie1, // Mushroom Kingdom
80 /* 0x19 */ Gr_Kind_Inishie2, // Mushroom Kingdom II
81 /* 0x1A */ Gr_Kind_Unk26,
82 /* 0x1B */ Gr_Kind_Flatzone, // Flat Zone
83 /* 0x1C */ Gr_Kind_OldPupupu, // Dream Land
84 /* 0x1D */ Gr_Kind_OldYoshi, // Yoshi's Island (64)
85 /* 0x1E */ Gr_Kind_OldKongo, // Kongo Jungle (64)
90 /* 0x23 */ Gr_Kind_Unk35,
91 /* 0x24 */ Gr_Kind_Battle, // Battlefield
92 /* 0x25 */ Gr_Kind_Last, // Final Destination
94 /* 0x27 */ Gr_Kind_Pushon,
95 /* 0x28 */ Gr_Kind_TMario,
96 /* 0x29 */ Gr_Kind_TCaptain,
97 /* 0x2A */ Gr_Kind_TClink,
98 /* 0x2B */ Gr_Kind_TDonkey,
99 /* 0x2C */ Gr_Kind_TDrmario,
100 /* 0x2D */ Gr_Kind_TFalco,
101 /* 0x2E */ Gr_Kind_TFox,
103 /* 0x30 */ Gr_Kind_TKirby,
104 /* 0x31 */ Gr_Kind_TKoopa,
105 /* 0x32 */ Gr_Kind_TLink,
106 /* 0x33 */ Gr_Kind_TLuigi,
107 /* 0x34 */ Gr_Kind_TMars,
108 /* 0x35 */ Gr_Kind_TMewtwo,
109 /* 0x36 */ Gr_Kind_TNess,
110 /* 0x37 */ Gr_Kind_TPeach,
111 /* 0x38 */ Gr_Kind_TPichu,
113 /* 0x3A */ Gr_Kind_TPurin,
114 /* 0x3B */ Gr_Kind_TSamus,
115 /* 0x3C */ Gr_Kind_TSeak,
116 /* 0x3D */ Gr_Kind_TYoshi,
117 /* 0x3E */ Gr_Kind_TZelda,
119 /* 0x40 */ Gr_Kind_TEmblem,
120 /* 0x41 */ Gr_Kind_TGanon,
121 /* 0x42 */ Gr_Kind_Heal,
122 /* 0x43 */ Gr_Kind_Homerun, // Home run contest
123 /* 0x44 */ Gr_Kind_Figure1,
124 /* 0x45 */ Gr_Kind_Figure2,
125 /* 0x46 */ Gr_Kind_Figure3,
126} GrKind;
127
139typedef enum StKind {
140 /* 0x00 */ St_Kind_Dummy,
141 /* 0x01 */ St_Kind_Test,
142 /* 0x02 */ St_Kind_Izumi,
144 /* 0x04 */ St_Kind_Castle,
145 /* 0x05 */ St_Kind_Kongo,
146 /* 0x06 */ St_Kind_Zebes,
148 /* 0x08 */ St_Kind_Story,
149 /* 0x09 */ St_Kind_Onett,
151 /* 0x0B */ St_Kind_RCruise,
152 /* 0x0C */ St_Kind_Garden,
154 /* 0x0E */ St_Kind_Shrine,
155 /* 0x0F */ St_Kind_Kraid,
156 /* 0x10 */ St_Kind_Yoster, // the gr module spells it yorster
157 /* 0x11 */ St_Kind_Greens,
161 /* 0x15 */ St_Kind_Akaneia,
162 /* 0x16 */ St_Kind_Venom,
163 /* 0x17 */ St_Kind_Pura,
164 /* 0x18 */ St_Kind_BigBlue,
165 /* 0x19 */ St_Kind_Icemt,
166 /* 0x1A */ St_Kind_Icetop,
171 /* 0x1F */ St_Kind_Battle,
172 /* 0x20 */ St_Kind_Last,
173 /* 0x49 */ St_Kind_BigBlueRoute = 0x49,
174 /* 0x55 */ St_Kind_Heal = 0x55,
175} StKind;
176
180
183typedef enum Gr_Homerun_Parts {
184 /* 0x40 */ Gr_Homerun_Parts_Max = 64,
186
187typedef void (*unkCastleCallback)(void*, struct unkCastle*);
188typedef void (*unkCastleCallback2)(void*, struct unkCastle*, Ground_GObj*);
190typedef DynamicsDesc* (*GrTouchLineCallback)(int index);
191typedef bool (*GrCheckShadowRenderCallback)(Vec3* fighter_pos, int,
192 HSD_JObj* jobj);
193
194#endif
struct Vec Vec3
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
bool(* GrCheckShadowRenderCallback)(Vec3 *fighter_pos, int, HSD_JObj *jobj)
Definition forward.h:191
StadiumGrType
Definition forward.h:177
@ PsType_Display
Definition forward.h:178
void(* unkCastleCallback)(void *, struct unkCastle *)
Definition forward.h:187
HSD_GObj Ground_GObj
Definition forward.h:45
int(* GrIceMtSegmentLookup)(Ground_GObj *)
Definition forward.h:189
StKind
Definition forward.h:139
@ St_Kind_BigBlueRoute
Definition forward.h:173
@ St_Kind_Story
Definition forward.h:148
@ St_Kind_Kraid
Definition forward.h:155
@ St_Kind_Garden
Definition forward.h:152
@ St_Kind_Inishie2
Definition forward.h:160
@ St_Kind_OldYoshi
Definition forward.h:169
@ St_Kind_Corneria
Definition forward.h:147
@ St_Kind_Greens
Definition forward.h:157
@ St_Kind_Fourside
Definition forward.h:158
@ St_Kind_RCruise
Definition forward.h:151
@ St_Kind_Akaneia
Definition forward.h:161
@ St_Kind_Pura
Definition forward.h:163
@ St_Kind_Izumi
Definition forward.h:142
@ St_Kind_Heal
Definition forward.h:174
@ St_Kind_Zebes
Definition forward.h:146
@ St_Kind_Dummy
Definition forward.h:140
@ St_Kind_Test
Definition forward.h:141
@ St_Kind_Icetop
Definition forward.h:166
@ St_Kind_Inishie1
Definition forward.h:159
@ St_Kind_Shrine
Definition forward.h:154
@ St_Kind_Icemt
Definition forward.h:165
@ St_Kind_Flatzone
Definition forward.h:167
@ St_Kind_Battle
Definition forward.h:171
@ St_Kind_OldPupupu
Definition forward.h:168
@ St_Kind_Venom
Definition forward.h:162
@ St_Kind_Castle
Definition forward.h:144
@ St_Kind_Last
Definition forward.h:172
@ St_Kind_Onett
Definition forward.h:149
@ St_Kind_PStadium
Definition forward.h:143
@ St_Kind_GreatBay
Definition forward.h:153
@ St_Kind_Yoster
Definition forward.h:156
@ St_Kind_Kongo
Definition forward.h:145
@ St_Kind_BigBlue
Definition forward.h:164
@ St_Kind_MuteCity
Definition forward.h:150
@ St_Kind_OldKongo
Definition forward.h:170
GrKind
Definition forward.h:54
@ Gr_Kind_GreatBay
Definition forward.h:61
@ Gr_Kind_TMario
Definition forward.h:95
@ Gr_Kind_Kraid
Definition forward.h:64
@ Gr_Kind_OldYoshi
Definition forward.h:84
@ Gr_Kind_BigBlue
Definition forward.h:74
@ Gr_Kind_TFalco
Definition forward.h:100
@ Gr_Kind_Battle
Definition forward.h:91
@ Gr_Kind_Inishie1
Definition forward.h:79
@ Gr_Kind_TKoopa
Definition forward.h:104
@ Gr_Kind_Corneria
Definition forward.h:69
@ Gr_Kind_KinokoRoute
Definition forward.h:86
@ Gr_Kind_Flatzone
Definition forward.h:82
@ Gr_Kind_Unk26
Definition forward.h:81
@ Gr_Kind_Venom
Definition forward.h:70
@ Gr_Kind_TMars
Definition forward.h:107
@ Gr_Kind_TGanon
Definition forward.h:120
@ Gr_Kind_Pura
Definition forward.h:72
@ Gr_Kind_Last
Definition forward.h:92
@ Gr_Kind_Garden
Definition forward.h:60
@ Gr_Kind_Unk35
Definition forward.h:90
@ Gr_Kind_TZelda
Definition forward.h:117
@ Gr_Kind_TSeak
Definition forward.h:115
@ Gr_Kind_Test
Definition forward.h:56
@ Gr_Kind_TIceclimber
Definition forward.h:102
@ Gr_Kind_TPeach
Definition forward.h:110
@ Gr_Kind_TFox
Definition forward.h:101
@ Gr_Kind_TPurin
Definition forward.h:113
@ Gr_Kind_TClink
Definition forward.h:97
@ Gr_Kind_TLuigi
Definition forward.h:106
@ Gr_Kind_TGamewatch
Definition forward.h:118
@ Gr_Kind_FigureGet
Definition forward.h:93
@ Gr_Kind_Zebes
Definition forward.h:63
@ Gr_Kind_MuteCity
Definition forward.h:73
@ Gr_Kind_Icemt
Definition forward.h:77
@ Gr_Kind_TCaptain
Definition forward.h:96
@ Gr_Kind_Pushon
Definition forward.h:94
@ Gr_Kind_Heal
Definition forward.h:121
@ Gr_Kind_TDrmario
Definition forward.h:99
@ Gr_Kind_Shrine
Definition forward.h:62
@ Gr_Kind_TPichu
Definition forward.h:111
@ Gr_Kind_BigBlueRoute
Definition forward.h:89
@ Gr_Kind_TEmblem
Definition forward.h:119
@ Gr_Kind_Unk00
Definition forward.h:55
@ Gr_Kind_TDonkey
Definition forward.h:98
@ Gr_Kind_TNess
Definition forward.h:109
@ Gr_Kind_OldKongo
Definition forward.h:85
@ Gr_Kind_ShrineRoute
Definition forward.h:87
@ Gr_Kind_Inishie2
Definition forward.h:80
@ Gr_Kind_TSamus
Definition forward.h:114
@ Gr_Kind_OldPupupu
Definition forward.h:83
@ Gr_Kind_TPikachu
Definition forward.h:112
@ Gr_Kind_TYoshi
Definition forward.h:116
@ Gr_Kind_ZebesRoute
Definition forward.h:88
@ Gr_Kind_Figure2
Definition forward.h:124
@ Gr_Kind_Castle
Definition forward.h:57
@ Gr_Kind_Figure3
Definition forward.h:125
@ Gr_Kind_Unk23
Definition forward.h:78
@ Gr_Kind_Story
Definition forward.h:65
@ Gr_Kind_TKirby
Definition forward.h:103
@ Gr_Kind_Izumi
Definition forward.h:67
@ Gr_Kind_TMewtwo
Definition forward.h:108
@ Gr_Kind_Homerun
Definition forward.h:122
@ Gr_Kind_PStadium
Definition forward.h:71
@ Gr_Kind_Onett
Definition forward.h:75
@ Gr_Kind_TLink
Definition forward.h:105
@ Gr_Kind_Kongo
Definition forward.h:59
@ Gr_Kind_RCruise
Definition forward.h:58
@ Gr_Kind_Figure1
Definition forward.h:123
@ Gr_Kind_Greens
Definition forward.h:68
@ Gr_Kind_Yorster
Definition forward.h:66
@ Gr_Kind_Fourside
Definition forward.h:76
Gr_Homerun_Parts
Size of the Home-Run Contest parts array, named by an assert in grHomeRun_8021CB20.
Definition forward.h:183
@ Gr_Homerun_Parts_Max
Definition forward.h:184
void(* unkCastleCallback2)(void *, struct unkCastle *, Ground_GObj *)
Definition forward.h:188
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:8
Definition types.dox:1
Definition types.h:150
The stage archive's grGroundParam public symbol, reached through StageInfo::param; see grDatFiles_801...
Definition types.h:1883
Definition types.h:1691
Definition gobj.h:24
u64 gxlink_prios
Definition gobj.h:38
void * hsd_obj
Definition gobj.h:39
u16 classifier
Definition gobj.h:25
u8 p_priority
Definition gobj.h:28
u8 obj_kind
Definition gobj.h:30
HSD_GObj * prev
Definition gobj.h:33
void * x34_unk
Definition gobj.h:42
void * user_data
Definition gobj.h:40
HSD_GObj * next_gx
Definition gobj.h:34
HSD_GObj * next
Definition gobj.h:32
u8 render_priority
Definition gobj.h:29
u8 p_link
Definition gobj.h:26
HSD_GObj * prev_gx
Definition gobj.h:35
u8 gx_link
Definition gobj.h:27
HSD_GObjProc * proc
Definition gobj.h:36
u8 user_data_kind
Definition gobj.h:31
void(* user_data_remove_func)(void *data)
Definition gobj.h:41
Definition jobj.h:107
Definition types.h:156
Definition types.h:58
One row of GroundParam::stage_params, describing a single StKind.
Definition types.h:1864
Definition types.h:1964
Definition types.h:1921
Definition types.h:1942
Definition types.h:368
Definition types.h:243
Definition grcastle.c:38