SSBM Decomp
Toggle main menu visibility
Loading...
Searching...
No Matches
forward.h
Go to the documentation of this file.
1
#ifndef MELEE_MP_FORWARD_H
2
#define MELEE_MP_FORWARD_H
3
#include <
Runtime/platform.h
>
4
5
#include <
melee/lb/forward.h
>
6
7
typedef
struct
CollJoint
CollJoint
;
8
typedef
struct
CollLine
CollLine
;
9
typedef
struct
CollVtx
CollVtx
;
10
typedef
struct
MapCollData
MapCollData
;
11
typedef
struct
MapJoint
MapJoint
;
12
typedef
struct
MapLine
MapLine
;
13
typedef
struct
mpIsland
mpIsland
;
14
typedef
struct
mpCollisionBox
mpCollisionBox
;
15
typedef
struct
mpIsland_Palette
mpIsland_Palette
;
16
typedef
struct
mpIsland_PaletteEntry
mpIsland_PaletteEntry
;
17
18
typedef
enum
mp_Terrain
{
19
mp_Terrain_Basic
,
20
mp_Terrain_Rock
,
21
mp_Terrain_Grass
,
22
mp_Terrain_Dirt
,
23
mp_Terrain_Wood
,
24
mp_Terrain_LightMetal
,
25
mp_Terrain_HeavyMetal
,
26
mp_Terrain_Paper
,
27
mp_Terrain_Goop
,
28
mp_Terrain_Birdo
,
// used in GrI2
29
mp_Terrain_Water
,
30
mp_Terrain_Unk11
,
// used in GrTe
31
mp_Terrain_UFO
,
32
mp_Terrain_Turtle
,
33
mp_Terrain_Snow
,
34
mp_Terrain_Ice
,
35
mp_Terrain_GnW
,
36
mp_Terrain_Unk17
,
// used in GrTe
37
mp_Terrain_Checkered
,
38
mp_Terrain_Unk19
,
39
}
mp_Terrain
;
40
41
typedef
enum
mpLib_GroundEnum
{
42
mpLib_GroundEnum_Unk0
,
43
mpLib_GroundEnum_Unk1
,
44
mpLib_GroundEnum_Unk2
,
45
}
mpLib_GroundEnum
;
46
55
typedef
void (*
mpLib_JointCollisionCallback
)(
void
* user_data,
int
joint_id,
56
CollData
* coll,
int
coll_x50,
57
mpLib_GroundEnum
ground_kind,
58
float
delta_y);
59
60
typedef
bool
(*
mpColl_Callback
)(
CollData
*, int);
61
62
typedef
enum
CollLineKind
{
63
CollLine_Floor
= 1 << 0,
64
CollLine_Ceiling
= 1 << 1,
65
CollLine_RightWall
= 1 << 2,
66
CollLine_LeftWall
= 1 << 3,
67
}
CollLineKind
;
68
69
#define LINE_FLAG_KIND (0xF)
70
#define LINE_FLAG_EMPTY (1 << 7)
71
#define LINE_FLAG_PLATFORM (1 << 8)
72
#define LINE_FLAG_LEDGE (1 << 9)
73
#define LINE_FLAG_ENABLED (1 << 16)
74
#define LINE_FLAG_HIDDEN (1 << 18)
75
76
#define MPCOLL_WALLID_MAX 9
77
78
enum
CollDataX130Flags
{
79
CollData_X130_Locked
= 1 << 4,
80
CollData_X130_Clear
= 1 << 5,
81
};
82
83
enum
mpIslandFlags
{
84
mpIsland_B1
= 1 << 1,
85
};
86
87
enum
CollJointFlags
{
88
CollJoint_B8
= 1 << 8,
89
CollJoint_B9
= 1 << 9,
90
CollJoint_B10
= 1 << 10,
91
CollJoint_B11
= 1 << 11,
92
CollJoint_TooFar
= 1 << 12,
93
CollJoint_Enabled
= 1 << 16,
94
CollJoint_Hidden
= 1 << 18,
95
};
96
99
#define Collide_LeftWallPush 0x1
100
#define Collide_LeftWallHug 0x20
101
#define Collide_LeftWallMask 0x3F
102
#define Collide_RightWallPush 0x40
103
#define Collide_RightWallHug 0x800
104
#define Collide_RightWallMask 0xFC0
105
#define Collide_WallMask (Collide_LeftWallMask | Collide_RightWallMask)
106
107
#define Collide_CeilingPush 0x2000
108
#define Collide_CeilingHug 0x4000
109
#define Collide_CeilingMask (Collide_CeilingPush | Collide_CeilingHug)
110
111
#define Collide_FloorPush 0x8000
112
#define Collide_FloorHug 0x10000
113
#define Collide_FloorMask (Collide_FloorPush | Collide_FloorHug)
114
115
#define Collide_LeftEdge 0x100000
116
#define Collide_RightEdge 0x200000
117
#define Collide_Edge 0x800000
118
#define Collide_LeftLedgeGrab 0x1000000
119
#define Collide_RightLedgeGrab 0x2000000
120
#define Collide_LedgeGrabMask (Collide_LeftLedgeGrab | Collide_RightLedgeGrab)
121
#define Collide_LeftLedgeSlip 0x10000000
122
#define Collide_RightLedgeSlip 0x20000000
123
124
#endif
forward.h
CollLineKind
CollLineKind
Definition
forward.h:62
CollLine_LeftWall
@ CollLine_LeftWall
Definition
forward.h:66
CollLine_RightWall
@ CollLine_RightWall
Definition
forward.h:65
CollLine_Floor
@ CollLine_Floor
Definition
forward.h:63
CollLine_Ceiling
@ CollLine_Ceiling
Definition
forward.h:64
mpColl_Callback
bool(* mpColl_Callback)(CollData *, int)
Definition
forward.h:60
CollDataX130Flags
CollDataX130Flags
Definition
forward.h:78
CollData_X130_Locked
@ CollData_X130_Locked
Definition
forward.h:79
CollData_X130_Clear
@ CollData_X130_Clear
Definition
forward.h:80
mpLib_GroundEnum
mpLib_GroundEnum
Definition
forward.h:41
mpLib_GroundEnum_Unk1
@ mpLib_GroundEnum_Unk1
Definition
forward.h:43
mpLib_GroundEnum_Unk0
@ mpLib_GroundEnum_Unk0
Definition
forward.h:42
mpLib_GroundEnum_Unk2
@ mpLib_GroundEnum_Unk2
Definition
forward.h:44
mpLib_JointCollisionCallback
void(* mpLib_JointCollisionCallback)(void *user_data, int joint_id, CollData *coll, int coll_x50, mpLib_GroundEnum ground_kind, float delta_y)
Joint collision callback for ground surfaces.
Definition
forward.h:55
mpIslandFlags
mpIslandFlags
Definition
forward.h:83
mpIsland_B1
@ mpIsland_B1
Definition
forward.h:84
mp_Terrain
mp_Terrain
Definition
forward.h:18
mp_Terrain_Unk17
@ mp_Terrain_Unk17
Definition
forward.h:36
mp_Terrain_Wood
@ mp_Terrain_Wood
Definition
forward.h:23
mp_Terrain_LightMetal
@ mp_Terrain_LightMetal
Definition
forward.h:24
mp_Terrain_UFO
@ mp_Terrain_UFO
Definition
forward.h:31
mp_Terrain_Water
@ mp_Terrain_Water
Definition
forward.h:29
mp_Terrain_Birdo
@ mp_Terrain_Birdo
Definition
forward.h:28
mp_Terrain_Checkered
@ mp_Terrain_Checkered
Definition
forward.h:37
mp_Terrain_Basic
@ mp_Terrain_Basic
Definition
forward.h:19
mp_Terrain_Unk11
@ mp_Terrain_Unk11
Definition
forward.h:30
mp_Terrain_HeavyMetal
@ mp_Terrain_HeavyMetal
Definition
forward.h:25
mp_Terrain_GnW
@ mp_Terrain_GnW
Definition
forward.h:35
mp_Terrain_Unk19
@ mp_Terrain_Unk19
Definition
forward.h:38
mp_Terrain_Goop
@ mp_Terrain_Goop
Definition
forward.h:27
mp_Terrain_Ice
@ mp_Terrain_Ice
Definition
forward.h:34
mp_Terrain_Paper
@ mp_Terrain_Paper
Definition
forward.h:26
mp_Terrain_Grass
@ mp_Terrain_Grass
Definition
forward.h:21
mp_Terrain_Dirt
@ mp_Terrain_Dirt
Definition
forward.h:22
mp_Terrain_Snow
@ mp_Terrain_Snow
Definition
forward.h:33
mp_Terrain_Rock
@ mp_Terrain_Rock
Definition
forward.h:20
mp_Terrain_Turtle
@ mp_Terrain_Turtle
Definition
forward.h:32
CollJointFlags
CollJointFlags
Definition
forward.h:87
CollJoint_B11
@ CollJoint_B11
Definition
forward.h:91
CollJoint_Enabled
@ CollJoint_Enabled
Definition
forward.h:93
CollJoint_TooFar
@ CollJoint_TooFar
Definition
forward.h:92
CollJoint_B8
@ CollJoint_B8
Definition
forward.h:88
CollJoint_B9
@ CollJoint_B9
Definition
forward.h:89
CollJoint_Hidden
@ CollJoint_Hidden
Definition
forward.h:94
CollJoint_B10
@ CollJoint_B10
Definition
forward.h:90
platform.h
bool
int bool
A signed integer used to contain boolean values.
Definition
stdbool.h:6
CollData
Definition
types.h:205
CollJoint
Definition
types.h:95
CollLine
Definition
types.h:59
CollVtx
Definition
types.h:64
MapCollData
Definition
types.h:112
MapJoint
Definition
types.h:85
MapLine
Definition
types.h:48
mpCollisionBox
Definition
types.h:123
mpIsland_PaletteEntry
Definition
types.h:26
mpIsland_Palette
Definition
types.h:31
mpIsland
Definition
types.h:35
src
melee
mp
forward.h
Generated by
1.17.0