Skip to content

Commit a60e81d

Browse files
authored
Match mnCharSel_803F0A48 and mnCharSel_803F0DFC (doldecomp#1388)
* mn/types.h: add data structure(s) for 0x803F0A48 Signed-off-by: Dylan Turner <[email protected]> * mncharsel: impl matching def value for 0x803F0A48 Also for following data at 0x803F0DFC Signed-off-by: Dylan Turner <[email protected]>
1 parent 17e5ccb commit a60e81d

File tree

3 files changed

+457
-0
lines changed

3 files changed

+457
-0
lines changed

src/melee/mn/forward.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ typedef struct PlayerInitData PlayerInitData;
66
typedef struct StartMeleeData StartMeleeData;
77
typedef struct StartMeleeRules StartMeleeRules;
88
typedef struct VsModeData VsModeData;
9+
typedef struct CSSModeInfo CSSModeInfo;
10+
typedef struct CSSIcon CSSIcon;
11+
typedef struct CSSIconsData CSSIconsData;
12+
typedef struct CSSDoor CSSDoor;
13+
typedef struct CSSTagData CSSTagData;
14+
typedef struct CSSTag CSSTag;
15+
typedef struct CSSKOStar CSSKOStar;
16+
typedef struct CSSDoorsData CSSDoorsData;
917

1018
typedef enum _Mode {
1119
Mode_Time,

src/melee/mn/mncharsel.c

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,269 @@
33
#include "gm/gmmain_lib.h"
44
#include "lb/lblanguage.h"
55
#include "mn/types.h"
6+
#include "ft/forward.h"
67

78
#include <baselib/sislib.h>
89

910
extern CSSData* mnCharSel_804D6CB0;
1011
extern SIS* HSD_SisLib_804D1124[];
1112

13+
// Can't be enum bc float, but reused values
14+
#define ICONROWHT_TOP_TOP 20.0F
15+
#define ICONROWHT_MID_TOP 13.0F
16+
#define ICONROWHT_BTM_TOP 6.0F
17+
#define ICONROWHT_BTM_BTM (-1.0F)
18+
19+
// Can't be enum bc float, but reused values
20+
#define ICONBNDS_COL0_L (-30.0F)
21+
#define ICONBNDS_COL1_L (-24.399999618530273F)
22+
#define ICONBNDS_COL2_L (-17.399999618530273F)
23+
#define ICONBNDS_COL3_L (-10.399999618530273F)
24+
#define ICONBNDS_COL4_L (-3.4000000953674316F)
25+
#define ICONBNDS_COL5_L 3.5999999046325684F
26+
#define ICONBNDS_COL6_L 10.600000381469727F
27+
#define ICONBNDS_COL7_L 17.600000381469727F
28+
#define ICONBNDS_COL8_L 24.399999618530273F
29+
#define ICONBNDS_COL8_R 30.200000762939453F
30+
31+
CSSIconsData mnCharSel_803F0A48 = {
32+
{
33+
// GnW Name
34+
0x82, 0x6C, 0x82, 0x92, // 0x803F0A48
35+
0x81, 0x44, 0x82, 0x66, // 0x803F0A4C
36+
0x82, 0x81, 0x82, 0x8D, // 0x803F0A50
37+
0x82, 0x85, 0x81, 0x95, // 0x803F0A54
38+
0x82, 0x76, 0x82, 0x81, // 0x803F0A58
39+
0x82, 0x94, 0x82, 0x83, // 0x803F0A5C
40+
0x82, 0x88, 0x00, 0x00 // 0x803F0A60
41+
}, {
42+
// Mode Info
43+
{ 0x0000, 0x0001, 0x00007535 }, // 0x803F0A64
44+
{ 0x0002, 0x000D, 0x0000753A }, // 0x803F0A6C
45+
{ 0x0003, 0x000E, 0x0000753B }, // 0x803F0A74
46+
{ 0x0004, 0x000F, 0x0000753C }, // 0x803F0A7C
47+
{ 0x0007, 0x0011, 0x0000753D }, // 0x803F0A84
48+
{ 0x0008, 0x0012, 0x0000753E }, // 0x803F0A8C
49+
{ 0x0009, 0x0013, 0x0000753F }, // 0x803F0A94
50+
{ 0x0006, 0x0010, 0x00007540 }, // 0x803F0A9C
51+
{ 0x000A, 0x0014, 0x00007541 }, // 0x803F0AA4
52+
{ 0x000B, 0x0015, 0x00007535 }, // 0x803F0AAC
53+
{ 0x000C, 0x0016, 0x00007535 }, // 0x803F0AB4
54+
{ 0x0000, 0x0000, 0x00007534 }, // 0x803F0ABC
55+
{ 0x0001, 0x0000, 0x00007534 }, // 0x803F0AC4
56+
{ 0x0002, 0x0000, 0x00007533 }, // 0x803F0ACC
57+
{ 0x0003, 0x0000, 0x00007534 }, // 0x803F0AD4
58+
{ 0x0004, 0x0000, 0x0007C864 }, // 0x803F0ADC
59+
{ 0x0005, 0x0000, 0x00007531 }, // 0x803F0AE4
60+
{ 0x0008, 0x0000, 0x00007534 }, // 0x803F0AEC
61+
{ 0x0009, 0x0000, 0x00007534 }, // 0x803F0AF4
62+
{ 0x000A, 0x0000, 0x00007534 }, // 0x803F0AFC
63+
{ 0x000B, 0x0000, 0x00007534 }, // 0x803F0B04
64+
{ 0x000C, 0x0000, 0x00007534 }, // 0x803F0B0C
65+
{ 0x000D, 0x0000, 0x00007534 }, // 0x803F0B14
66+
{ 0x0007, 0x0000, 0x00007532 } // 0x803F0B1C
67+
}, {
68+
// -------- Icons Top Row --------
69+
70+
{
71+
// Dr. Mario - 0x803F0B24
72+
ICONHUD_DRMARIO, CKIND_DRMARIO, ICONSTATE_UNLOCKED, 0x00,
73+
ICONJOINT_DRMARIO, ICONJOINT_DRMARIO, 0x000000C5,
74+
ICONBNDS_COL0_L, ICONBNDS_COL1_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
75+
}, {
76+
// Mario - 0x803F0B40
77+
ICONHUD_MARIO, CKIND_MARIO, ICONSTATE_TEMP, 0x00,
78+
ICONJOINT_MARIO, ICONJOINT_MARIO, 0x000000CD,
79+
ICONBNDS_COL1_L, ICONBNDS_COL2_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
80+
}, {
81+
// Luigi - 0x803F0B5C
82+
ICONHUD_LUIGI, CKIND_LUIGI, ICONSTATE_TEMP, 0x00,
83+
ICONJOINT_LUIGI, ICONJOINT_LUIGI, 0x000000CC,
84+
ICONBNDS_COL2_L, ICONBNDS_COL3_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
85+
}, {
86+
// Bowser - 0x803F0B78
87+
ICONHUD_KOOPA, CKIND_KOOPA, ICONSTATE_TEMP, 0x00,
88+
ICONJOINT_KOOPA, ICONJOINT_KOOPA, 0x000000CA,
89+
ICONBNDS_COL3_L, ICONBNDS_COL4_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
90+
}, {
91+
// Peach - 0x803F0B94
92+
ICONHUD_PEACH, CKIND_PEACH, ICONSTATE_TEMP, 0x00,
93+
ICONJOINT_PEACH, ICONJOINT_PEACH, 0x000000D1,
94+
ICONBNDS_COL4_L, ICONBNDS_COL5_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
95+
}, {
96+
// Yoshi - 0x803F0BB0
97+
ICONHUD_YOSHI, CKIND_YOSHI, ICONSTATE_TEMP, 0x00,
98+
ICONJOINT_YOSHI, ICONJOINT_YOSHI, 0x000000D7,
99+
ICONBNDS_COL5_L, ICONBNDS_COL6_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
100+
}, {
101+
// DK - 0x803F0BCC
102+
ICONHUD_DONKEY, CKIND_DONKEY, ICONSTATE_TEMP, 0x00,
103+
ICONJOINT_DONKEY, ICONJOINT_DONKEY, 0x000000C4,
104+
ICONBNDS_COL6_L, ICONBNDS_COL7_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
105+
}, {
106+
// Captain Falcon - 0x803F0BE8
107+
ICONHUD_CAPTAIN, CKIND_CAPTAIN, ICONSTATE_TEMP, 0x00,
108+
ICONJOINT_CAPTAIN, ICONJOINT_CAPTAIN, 0x000000C2,
109+
ICONBNDS_COL7_L, ICONBNDS_COL8_L, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
110+
}, {
111+
// Ganondorf - 0x803F0C04
112+
ICONHUD_GANON, CKIND_GANON, ICONSTATE_UNLOCKED, 0x00,
113+
ICONJOINT_GANON, ICONJOINT_GANON, 0x000000D9,
114+
ICONBNDS_COL8_L, ICONBNDS_COL8_R, ICONROWHT_TOP_TOP, ICONROWHT_MID_TOP
115+
},
116+
117+
// -------- Icons Middle Row --------
118+
119+
{
120+
// Falco - 0x803F0C20
121+
ICONHUD_FALCO, CKIND_FALCO, ICONSTATE_UNLOCKED, 0x00,
122+
ICONJOINT_FALCO, ICONJOINT_FALCO, 0x000000C6,
123+
ICONBNDS_COL0_L, ICONBNDS_COL1_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
124+
}, {
125+
// Fox - 0x803F0C3C
126+
ICONHUD_FOX, CKIND_FOX, ICONSTATE_TEMP, 0x00,
127+
ICONJOINT_FOX, ICONJOINT_FOX, 0x000000C7,
128+
ICONBNDS_COL1_L, ICONBNDS_COL2_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
129+
}, {
130+
// Ness - 0x803F0C58
131+
ICONHUD_NESS, CKIND_NESS, ICONSTATE_TEMP, 0x00,
132+
ICONJOINT_NESS, ICONJOINT_NESS, 0x000000D0,
133+
ICONBNDS_COL2_L, ICONBNDS_COL3_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
134+
}, {
135+
// ICs - 0x803F0C74
136+
ICONHUD_POPONANA, CKIND_POPONANA, ICONSTATE_TEMP, 0x00,
137+
ICONJOINT_POPONANA, ICONJOINT_POPONANA, 0x000000C8,
138+
ICONBNDS_COL3_L, ICONBNDS_COL4_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
139+
}, {
140+
// Kirby - 0x803F0C90
141+
ICONHUD_KIRBY, CKIND_KIRBY, ICONSTATE_TEMP, 0x00,
142+
ICONJOINT_KIRBY, ICONJOINT_KIRBY, 0x000000C9,
143+
ICONBNDS_COL4_L, ICONBNDS_COL5_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
144+
}, {
145+
// Samus - 0x803F0CAC
146+
ICONHUD_SAMUS, CKIND_SAMUS, ICONSTATE_TEMP, 0x00,
147+
ICONJOINT_SAMUS, ICONJOINT_SAMUS, 0x000000D5,
148+
ICONBNDS_COL5_L, ICONBNDS_COL6_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
149+
}, {
150+
// Zelda - 0x803F0CC8
151+
ICONHUD_ZELDA, CKIND_ZELDA, ICONSTATE_TEMP, 0x00,
152+
ICONJOINT_ZELDA, ICONJOINT_ZELDA, 0x000000D6,
153+
ICONBNDS_COL6_L, ICONBNDS_COL7_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
154+
}, {
155+
// Link - 0x803F0CE4
156+
ICONHUD_LINK, CKIND_LINK, ICONSTATE_TEMP, 0x00,
157+
ICONJOINT_LINK, ICONJOINT_LINK, 0x000000CB,
158+
ICONBNDS_COL7_L, ICONBNDS_COL8_L, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
159+
}, {
160+
// Young Link - 0x803F0D00
161+
ICONHUD_CLINK, CKIND_CLINK, ICONSTATE_UNLOCKED, 0x00,
162+
ICONJOINT_CLINK, ICONJOINT_CLINK, 0x000000C3,
163+
ICONBNDS_COL8_L, ICONBNDS_COL8_R, ICONROWHT_MID_TOP, ICONROWHT_BTM_TOP
164+
},
165+
166+
// -------- Icons Bottom Row --------
167+
168+
{
169+
// Pichu - 0x803F0D1C
170+
ICONHUD_PICHU, CKIND_PICHU, ICONSTATE_UNLOCKED, 0x00,
171+
ICONJOINT_PICHU, ICONJOINT_PICHU, 0x000000D2,
172+
-23.399999618530273, ICONBNDS_COL2_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
173+
}, {
174+
// Pikachu - 0x803F0D38
175+
ICONHUD_PIKACHU, CKIND_PIKACHU, ICONSTATE_TEMP, 0x00,
176+
ICONJOINT_PIKACHU, ICONJOINT_PIKACHU, 0x000000D3,
177+
ICONBNDS_COL2_L, ICONBNDS_COL3_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
178+
}, {
179+
// Jigglypuff - 0x803F0D54
180+
ICONHUD_PURIN, CKIND_PURIN, ICONSTATE_TEMP, 0x00,
181+
ICONJOINT_PURIN, ICONJOINT_PURIN, 0x000000D4,
182+
ICONBNDS_COL3_L, ICONBNDS_COL4_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
183+
}, {
184+
// Mewtwo - 0x803F0D70
185+
ICONHUD_MEWTWO, CKIND_MEWTWO, ICONSTATE_TEMP, 0x00,
186+
ICONJOINT_MEWTWO, ICONJOINT_MEWTWO, 0x000000CF,
187+
ICONBNDS_COL4_L, ICONBNDS_COL5_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
188+
}, {
189+
// Mr. Game & Watch - 0x803F0D8C
190+
ICONHUD_GAMEWATCH, CKIND_GAMEWATCH, ICONSTATE_TEMP, 0x00,
191+
ICONJOINT_GAMEWATCH, ICONJOINT_GAMEWATCH, 0x000000D8,
192+
ICONBNDS_COL5_L, ICONBNDS_COL6_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
193+
}, {
194+
// Marth - 0x803F0DA8
195+
ICONHUD_MARS, CKIND_MARS, ICONSTATE_TEMP, 0x00,
196+
ICONJOINT_MARS, ICONJOINT_MARS, 0x000000CE,
197+
ICONBNDS_COL6_L, ICONBNDS_COL7_L, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
198+
}, {
199+
// Roy - 0x803F0DC4
200+
ICONHUD_EMBLEM, CKIND_EMBLEM, ICONSTATE_UNLOCKED, 0x00,
201+
ICONJOINT_EMBLEM, ICONJOINT_EMBLEM, 0x000000DA,
202+
ICONBNDS_COL7_L, 23.600000381469727, ICONROWHT_BTM_TOP, ICONROWHT_BTM_BTM
203+
}
204+
}
205+
};
206+
207+
CSSDoorsData mnCharSel_803F0DFC = {
208+
{
209+
{
210+
0x2E, 0x33, 0x38, 0x85, 0x29, 0xA6, 0x3D, 0x41, 0x40, 0x00,
211+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212+
-35.599998474121094F, -28.600000381469727F, -26.799999237060547F, -21.0F
213+
}, {
214+
0x2F, 0x34, 0x39, 0x8D, 0x2A, 0xA8, 0x43, 0x47, 0x46, 0x00,
215+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216+
-19.399999618530273F, -13.399999618530273F, -11.399999618530273F, -6.0F
217+
}, {
218+
0x30, 0x35, 0x3A, 0x95, 0x2B, 0xAA, 0x49, 0x4D, 0x4C, 0x00,
219+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220+
-4.199999809265137F, 2.200000047683716F, 3.5F, 9.399999618530273F
221+
}, {
222+
0x31, 0x36, 0x3B, 0x9D, 0x2C, 0xAC, 0x4F, 0x53, 0x52, 0x00,
223+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224+
11.0F, 17.0F, 19.0F, 24.600000381469727F
225+
}
226+
}, {
227+
{ NULL, 0x70, 0x73, 0x74, 0x72, 0x71, 0x00, 0x00, 0x00 },
228+
{ NULL, 0x75, 0x78, 0x79, 0x77, 0x76, 0x00, 0x00, 0x00 },
229+
{ NULL, 0x7A, 0x7D, 0x7E, 0x7C, 0x7B, 0x00, 0x00, 0x00 },
230+
{ NULL, 0x7F, 0x82, 0x83, 0x81, 0x80, 0x00, 0x00, 0x00 }
231+
}, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x4D, 0x4E, 0x4C, 0x4B, 0x00, 0x00, 0x00, 0x2F, 0x01,
232+
0x00000000, 0x00000000,
233+
0.0F, -10.899999618530273F, -4.199999809265137F, 12.5F, 19.600000381469727F,
234+
-6.800000190734863F, -12.100000381469727F,
235+
{ 0x35, 0x39, 0x36, 0x38, 0x37 },
236+
-2.200000047683716F, 3.700000047683716F, 13.699999809265137F, 19.299999237060547F,
237+
-12.399999618530273F, -16.600000381469727F,
238+
{
239+
{
240+
NULL, -22.5F, 0x57,
241+
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
242+
}, {
243+
NULL, -7.099999904632568, 0x5D,
244+
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
245+
}, {
246+
NULL, 8.300000190734863, 0x63,
247+
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
248+
}, {
249+
NULL, 23.700000762939453, 0x69,
250+
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
251+
},
252+
}, {
253+
0x25, 0x30, 0x32, 0x64,
254+
0x3A, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00,
255+
256+
0x25, 0x64, 0x3A, 0x25, 0x30, 0x32, 0x64, 0x3A,
257+
0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00,
258+
259+
0x39, 0x39, 0x3A, 0x35, 0x39, 0x3A, 0x35, 0x39,
260+
0x00, 0x00, 0x00, 0x00, 0x25, 0x64, 0x20, 0x90,
261+
262+
0x6C, 0x94, 0xB2, 0x82, 0xAB, 0x00, 0x00, 0x00,
263+
0x25, 0x64, 0x20, 0x82, 0x6A, 0x82, 0x6E, 0x82,
264+
265+
0x93, 0x00, 0x00, 0x00
266+
}
267+
};
268+
12269
TextKerning* mnCharSel_8025BC20(TextKerning* arg0, u32 arg1)
13270
{
14271
TextKerning* kerning;

0 commit comments

Comments
 (0)