SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_TY_TYPES_H
2#define MELEE_TY_TYPES_H
3
4#include "platform.h"
5
6#include <placeholder.h>
7
8#include "ty/forward.h" // IWYU pragma: export
9#include <baselib/forward.h>
10
11#include <dolphin/mtx.h>
12
13typedef struct TyModeState {
20 u16 x6;
21 u16 x8;
22 u16 xA;
24
25/* Located at un_804A26B8 + 0x3F0 */
26typedef struct ToyAnimState {
27 /* 0x00 */ struct HSD_GObj* gobj;
28 /* 0x04 */ struct HSD_JObj* jobj[2];
29 /* 0x0C */ u8 padC[2];
30 /* 0x0E */ s8 x0E;
31 /* 0x0F */ s8 x0F;
32 /* 0x10 */ s8 x10;
33 /* 0x11 */ s8 x11;
35
36/* Used by un_803109A0 for table lookup */
37typedef struct ToyEntry {
39 union {
42 };
43} ToyEntry;
44
45/* Trophy metadata entry. Size: 0x24 bytes. */
46typedef struct TrophyData {
49 f32 x08;
50 f32 x0C;
51 f32 x10;
52 f32 x14;
53 f32 x18;
54 f32 x1C;
60
61/* Trophy list entry. Size: 0x34 bytes. */
62typedef struct TyListArg {
63 /* 0x00 */ struct TyListArg* x0;
64 /* 0x04 */ struct TyListArg* x4;
65 /* 0x08 */ void* x8;
66 /* 0x0C */ struct HSD_JObj* xC;
67 /* 0x10 */ struct HSD_JObj* x10;
68 /* 0x14 */ struct HSD_JObj* x14;
69 /* 0x18 */ u8 pad_18[0x26 - 0x18];
70 /* 0x26 */ s16 idx;
71 /* 0x28 */ u8 pad_28[0x2C - 0x28];
72 /* 0x2C */ float x2C;
73 /* 0x30 */ float x30;
74} TyListArg;
75
76/* Trophy list UI state. Size: 0x2D8 bytes. */
77typedef struct TyListState {
78 /* 0x000 */ TyListArg entries[12]; /* 12 * 0x34 = 0x270 */
79 /* 0x270 */ u8 pad_270[0xC];
80 /* 0x27C */ struct HSD_GObj* gobj;
81 /* 0x280 */ u8 pad_280[0xC];
82 /* 0x28C */ struct HSD_JObj* jobj;
83 /* 0x290 */ u8 pad_290[8];
84 /* 0x298 */ s16 selectedIdx;
85 /* 0x29A */ s8 entryCount;
86 /* 0x29B */ u8 x29B;
87 /* 0x29C */ u8 x29C;
88 /* 0x29D */ u8 pad_29D;
89 /* 0x29E */ u8 x29E;
90 /* 0x29F */ u8 x29F;
91 /* 0x2A0 */ u8 pad_2A0;
92 /* 0x2A1 */ u8 x2A1;
93 /* 0x2A2 */ u8 pad_2A2[2];
94 /* 0x2A4 */ float x2A4;
95 /* 0x2A8 */ float x2A8;
96 /* 0x2AC */ struct HSD_GObj* gobj_2AC;
97 /* 0x2B0 */ struct HSD_GObj* gobj_2B0;
98 /* 0x2B4 */ u8 pad_2B4[4];
99 /* 0x2B8 */ u8 x2B8;
100 /* 0x2B9 */ u8 pad_2B9[0xB];
101 /* 0x2C4 */ struct HSD_GObj* gobj_2C4;
102 /* 0x2C8 */ u8 pad_2C8[0x10];
104
105struct Toy {
106 /* +0 */ char pad_0[0x4];
107 /* +4 */ int x4;
108 /* +8 */ int x8;
109 /* +C */ char pad_C[0x40 - 0xC];
110 /* +40 */ Vec3 translate;
111 /* +4C */ Vec3 offset;
112 /* +58 */ char pad_58[0x194 - 0x58];
113 /* +194 */ s32 x194;
114 /* +198 */ char pad_198[0x19A - 0x198];
115 /* +19A */ u16 x19A;
116 /* +19C */ u16 x19C;
117 /* +19E */ u16 trophyTable[0x125];
118 /* +3E8 */ char pad_3E8[0x3EC - 0x3E8];
119 /* +3EC */ s16 trophyCount;
120};
121
122#endif
signed char s8
Definition hsd_3B2B.h:3
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition jobj.h:107
Definition types.h:26
s8 x0F
Definition types.h:31
s8 x10
Definition types.h:32
u8 padC[2]
Definition types.h:29
struct HSD_GObj * gobj
Definition types.h:27
s8 x0E
Definition types.h:30
s8 x11
Definition types.h:33
struct HSD_JObj * jobj[2]
Definition types.h:28
Definition types.h:37
s32 value
Definition types.h:40
s32 id
Definition types.h:38
s8 value_byte
Definition types.h:41
Definition types.h:105
Vec3 translate
Definition types.h:110
s16 trophyCount
Definition types.h:119
int x4
Definition types.h:107
char pad_58[0x194 - 0x58]
Definition types.h:112
char pad_0[0x4]
Definition types.h:106
int x8
Definition types.h:108
s32 x194
Definition types.h:113
u16 trophyTable[0x125]
Definition types.h:117
u16 x19C
Definition types.h:116
u16 x19A
Definition types.h:115
char pad_198[0x19A - 0x198]
Definition types.h:114
char pad_3E8[0x3EC - 0x3E8]
Definition types.h:118
char pad_C[0x40 - 0xC]
Definition types.h:109
Vec3 offset
Definition types.h:111
Definition types.h:46
f32 x18
Definition types.h:53
f32 x14
Definition types.h:52
s8 x21
Definition types.h:56
f32 x1C
Definition types.h:54
f32 x10
Definition types.h:51
s32 x04
Definition types.h:48
s8 x20
Definition types.h:55
s32 id
Definition types.h:47
s8 x23
Definition types.h:58
s8 x22
Definition types.h:57
f32 x08
Definition types.h:49
f32 x0C
Definition types.h:50
Definition types.h:62
u8 pad_28[0x2C - 0x28]
Definition types.h:71
float x2C
Definition types.h:72
s16 idx
Definition types.h:70
struct TyListArg * x4
Definition types.h:64
struct HSD_JObj * x10
Definition types.h:67
struct HSD_JObj * x14
Definition types.h:68
struct TyListArg * x0
Definition types.h:63
float x30
Definition types.h:73
void * x8
Definition types.h:65
u8 pad_18[0x26 - 0x18]
Definition types.h:69
struct HSD_JObj * xC
Definition types.h:66
Definition types.h:77
struct HSD_GObj * gobj_2C4
Definition types.h:101
float x2A8
Definition types.h:95
u8 pad_270[0xC]
Definition types.h:79
u8 pad_2C8[0x10]
Definition types.h:102
struct HSD_GObj * gobj_2B0
Definition types.h:97
u8 pad_2B4[4]
Definition types.h:98
u8 pad_2A2[2]
Definition types.h:93
u8 x29F
Definition types.h:90
u8 x29B
Definition types.h:86
struct HSD_JObj * jobj
Definition types.h:82
u8 pad_280[0xC]
Definition types.h:81
TyListArg entries[12]
Definition types.h:78
u8 pad_290[8]
Definition types.h:83
u8 pad_2B9[0xB]
Definition types.h:100
u8 pad_29D
Definition types.h:88
struct HSD_GObj * gobj
Definition types.h:80
u8 x2A1
Definition types.h:92
u8 x2B8
Definition types.h:99
s8 entryCount
Definition types.h:85
s16 selectedIdx
Definition types.h:84
u8 pad_2A0
Definition types.h:91
u8 x29C
Definition types.h:87
struct HSD_GObj * gobj_2AC
Definition types.h:96
u8 x29E
Definition types.h:89
float x2A4
Definition types.h:94
Definition types.h:13
u8 x3
Definition types.h:17
u8 x5
Definition types.h:19
u16 x8
Definition types.h:21
u8 x1
Definition types.h:15
s8 x0
Definition types.h:14
u8 x2
Definition types.h:16
s8 x4
Definition types.h:18
u16 xA
Definition types.h:22
u16 x6
Definition types.h:20