Skip to content

Commit cbf1027

Browse files
authored
Merge pull request #146 from Kelebek1/fragment14
fragment14
2 parents 341cb72 + e263e05 commit cbf1027

File tree

15 files changed

+3289
-85
lines changed

15 files changed

+3289
-85
lines changed

include/global.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,9 @@ typedef struct unk_D_86002F58_004_000 {
142142
/* 0x0DC */ Vec3f unk_0DC;
143143
/* 0x0E0 */ char pad0E0[0x4];
144144
/* 0x0EC */ Vec3f unk_0EC;
145-
/* 0x0F8 */ char pad0F8[0x70];
145+
/* 0x0F8 */ char pad0F8[0x4];
146+
/* 0x0FC */ Vec3f unk_0FC;
147+
/* 0x108 */ char pad108[0x60];
146148
} unk_D_86002F58_004_000; // size = 0x168
147149

148150
typedef struct unk_D_86002F34_000_014_004 {
@@ -166,10 +168,10 @@ typedef struct unk_D_86002F34_000 {
166168
/* 0x04 */ char pad04[0x2];
167169
/* 0x06 */ s16 unk_06;
168170
/* 0x08 */ struct unk_D_86002F34_000* unk_08;
169-
/* 0x0C */ struct unk_D_86002F34_000* unk_0C;
171+
/* 0x0C */ struct unk_D_86002F34_00C* unk_0C;
170172
/* 0x10 */ s32 (*unk_10)(s32, struct unk_D_86002F34_000*);
171173
/* 0x14 */ unk_D_86002F34_000_014* unk_14;
172-
} unk_D_86002F34_000; // size >= 0x18
174+
} unk_D_86002F34_000; // size = 0x18
173175

174176
typedef struct unk_D_86002F34_00C_018 {
175177
/* 0x00 */ Vp* vp;

include/macros.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
#define ABS(x) ((x) < 0 ? -(x) : (x))
5252
#define ABS_ALT(x) ((x) >= 0 ? (x) : -(x))
5353

54+
#define ABS_NORMALIZED(x) ((ABS_ALT((x)) < (0.000001f)) ? 0.0f : (x))
55+
5456
#define FRAGMENT_ID(fragment) ((((u32)fragment##_TEXT_START & 0x0FF00000) >> 0x14) - 0x10)
5557
#define ASSET_ID(asset) (((u32)asset & 0x0F000000) >> 0x18)
5658

include/variables.h

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ extern Gfx D_1002508[];
6262
extern Gfx D_1002590[];
6363
extern u8 D_2000000[];
6464
extern u8 D_3000000[];
65-
extern u8 D_4000000[];
65+
extern u8 D_04000000[];
6666
extern u8 D_4000008[];
6767
extern u8 D_4000810[];
6868
extern u8 D_4001018[];
@@ -78,6 +78,29 @@ extern u8 D_2028A20[];
7878
extern u8 D_2028A60[];
7979
extern u8 D_2028AA0[];
8080
extern u32 D_B0000D10;
81+
extern u8 D_400C800[];
82+
extern u8 D_400CA00[];
83+
extern u8 D_400CC00[];
84+
extern u8 D_400CE00[];
85+
extern u8 D_400CF00[];
86+
extern u8 D_400D100[];
87+
extern u8 D_400D200[];
88+
extern u8 D_04000000[];
89+
extern u8 D_04000800[];
90+
extern u8 D_04001000[];
91+
extern u8 D_04001800[];
92+
extern u8 D_04002000[];
93+
extern u8 D_04002800[];
94+
extern u8 D_04003000[];
95+
extern u8 D_04003800[];
96+
extern u8 D_04004000[];
97+
extern u8 D_04005000[];
98+
extern u8 D_04006000[];
99+
extern u8 D_04007000[];
100+
extern u8 D_04008000[];
101+
extern u8 D_04009000[];
102+
extern u8 D_0400A000[];
103+
extern u8 D_0400B000[];
81104

82105
extern u8 D_800818E0[0x20];
83106

@@ -94,6 +117,7 @@ extern u8 D_86200000;
94117
extern u8 D_86800000;
95118
extern u8 D_86C00000;
96119
extern u8 D_87A00000;
120+
extern u8 D_87000000[];
97121

98122
typedef struct unk_D_800A7440 {
99123
/* 0x00 */ s16 x1;

linker_scripts/us/symbol_addrs.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,3 +308,27 @@ D_879060E0 = 0x879060E0; // size:0xC
308308
D_87906100 = 0x87906100; // size:0xC
309309
D_87906110 = 0x87906110; // size:0xC
310310
D_8140E628 = 0x8140E628; // size:0x90
311+
D_400C800 = 0x400C800;
312+
D_400CA00 = 0x400CA00;
313+
D_400CC00 = 0x400CC00;
314+
D_400CE00 = 0x400CE00;
315+
D_400CF00 = 0x400CF00;
316+
D_400D100 = 0x400D100;
317+
D_400D200 = 0x400D200;
318+
D_86808498 = 0x86808498; // size:0x38
319+
D_04000000 = 0x04000000;
320+
D_04000800 = 0x04000800;
321+
D_04001000 = 0x04001000;
322+
D_04001800 = 0x04001800;
323+
D_04002000 = 0x04002000;
324+
D_04002800 = 0x04002800;
325+
D_04003000 = 0x04003000;
326+
D_04003800 = 0x04003800;
327+
D_04004000 = 0x04004000;
328+
D_04005000 = 0x04005000;
329+
D_04006000 = 0x04006000;
330+
D_04007000 = 0x04007000;
331+
D_04008000 = 0x04008000;
332+
D_04009000 = 0x04009000;
333+
D_0400A000 = 0x0400A000;
334+
D_0400B000 = 0x0400B000;

src/18480.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ extern u8* D_800ABE00;
9494

9595
#pragma GLOBAL_ASM("asm/us/nonmatchings/18480/func_80018AD0.s")
9696

97-
unk_D_86002F34* func_80018B70(MemoryBlock* arg0, void* arg1) {
97+
void* func_80018B70(MemoryBlock* arg0, void* arg1) {
9898
extern func_D_8006F2B0 D_8006F2B0[];
9999

100100
D_800ABD34 = NULL;
@@ -107,7 +107,7 @@ unk_D_86002F34* func_80018B70(MemoryBlock* arg0, void* arg1) {
107107
D_800ABD38[0] = 0;
108108
D_800ABD38[1] = 0;
109109

110-
while (D_800ABE00 != 0) {
110+
while (D_800ABE00 != NULL) {
111111
D_8006F2B0[*D_800ABE00]();
112112
}
113113

src/18480.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include "global.h"
55
#include "src/memory.h"
66

7-
unk_D_86002F34* func_80018B70(MemoryBlock*, void*);
7+
void* func_80018B70(MemoryBlock*, void*);
88

99

1010
#endif // _18480_H_

src/fragments/14/fragment14.h

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
#ifndef _FRAGMENT14_H_
2+
#define _FRAGMENT14_H_
3+
4+
#include "global.h"
5+
#include "src/controller.h"
6+
7+
typedef struct unk_D_868084D8_038 {
8+
/* 0x000 */ s16 unk_000;
9+
/* 0x002 */ s16 unk_002;
10+
/* 0x004 */ char unk004[0x2];
11+
/* 0x006 */ s16 unk_006;
12+
/* 0x008 */ struct unk_D_868084D8_038* unk_008;
13+
/* 0x00C */ Vec3f unk_00C;
14+
/* 0x018 */ char unk018[0x1B8];
15+
/* 0x1D0 */ Vec3f unk_1D0;
16+
} unk_D_868084D8_038; // size >= 0x1DC
17+
18+
typedef struct unk_D_868084D8_040 {
19+
/* 0x00 */char unk00[0x1];
20+
/* 0x01 */u8 unk_01;
21+
/* 0x02 */char unk02[0x1];
22+
/* 0x03 */u8 unk_03;
23+
} unk_D_868084D8_040; // size >= 0x2
24+
25+
typedef struct unk_D_868084D8 {
26+
/* 0x00 */ u16 unk_00;
27+
/* 0x02 */ u16 unk_02;
28+
/* 0x04 */ s16 unk_04;
29+
/* 0x06 */ s16 unk_06;
30+
/* 0x08 */ Color_RGBA8_u32 unk_08;
31+
/* 0x0C */ s32 unk_0C;
32+
/* 0x10 */ s32 unk_10;
33+
/* 0x14 */ Vec3f unk_14;
34+
/* 0x20 */ Vec3f unk_20;
35+
/* 0x2C */ f32 unk_2C;
36+
/* 0x30 */ f32 unk_30;
37+
/* 0x34 */ f32 unk_34;
38+
/* 0x38 */ unk_D_868084D8_038* unk_38;
39+
/* 0x3C */ Gfx* unk_3C;
40+
/* 0x40 */ unk_D_86002F34_alt9* unk_40;
41+
} unk_D_868084D8; // size = 0x44
42+
43+
typedef struct unk_D_86807558_040 {
44+
/* 0x00 */ s16 unk_00;
45+
/* 0x02 */ s16 unk_02;
46+
/* 0x04 */ s16 unk_04;
47+
/* 0x08 */ f32 unk_08;
48+
/* 0x0C */ f32 unk_0C;
49+
/* 0x10 */ f32 unk_10;
50+
/* 0x14 */ f32 unk_14;
51+
/* 0x18 */ s16 unk_18;
52+
} unk_D_86807558_040; // size >= 0x1C
53+
54+
typedef struct unk_D_86807558_098 {
55+
/* 0x00 */ Vec3f unk_00;
56+
/* 0x0C */ Vec3f unk_0C;
57+
/* 0x18 */ Vec3f unk_18;
58+
} unk_D_86807558_098; // size = 0x24
59+
60+
typedef struct unk_D_86807558 {
61+
/* 0x000 */ s16 unk_000;
62+
/* 0x002 */ u16 unk_002;
63+
/* 0x004 */ s16 unk_004;
64+
/* 0x004 */ s16 unk_006;
65+
/* 0x008 */ s32 unk_008;
66+
/* 0x00C */ s16 unk_00C;
67+
/* 0x010 */ unk_D_868084D8* unk_010;
68+
/* 0x014 */ s16 unk_014;
69+
/* 0x016 */ u16 unk_016;
70+
/* 0x018 */ s32 unk_018;
71+
/* 0x01C */ s32 unk_01C;
72+
/* 0x020 */ s32 unk_020;
73+
/* 0x024 */ s32 unk_024;
74+
/* 0x028 */ s16 unk_028;
75+
/* 0x02A */ s16 unk_02A;
76+
/* 0x02C */ s16 unk_02C[9];
77+
/* 0x03E */ s16 unk_03E;
78+
/* 0x040 */ unk_D_86807558_040 unk_040;
79+
/* 0x05C */ s32 unk_05C;
80+
/* 0x060 */ s32 unk_060;
81+
/* 0x064 */ Controller* unk_064;
82+
/* 0x068 */ Vec3f unk_068;
83+
/* 0x074 */ Vec3f unk_074;
84+
/* 0x080 */ Vec3f unk_080;
85+
/* 0x08C */ Vec3f unk_08C;
86+
/* 0x098 */ unk_D_86807558_098 unk_098;
87+
/* 0x0BC */ s16 unk_0BC;
88+
/* 0x0BE */ s16 unk_0BE;
89+
/* 0x0C0 */ s32 unk_0C0;
90+
/* 0x0C4 */ s32 unk_0C4;
91+
/* 0x0C8 */ f32 unk_0C8;
92+
/* 0x0CC */ s16 unk_0CC;
93+
/* 0x0D0 */ Color_RGBA8_u32 unk_0D0;
94+
/* 0x0D4 */ s16 unk_0D4;
95+
/* 0x0D8 */ f32 unk_0D8;
96+
/* 0x0DC */ unk_D_868084D8* unk_0DC;
97+
/* 0x0E0 */ s16 unk_0E0;
98+
/* 0x0E2 */ s16 unk_0E2;
99+
/* 0x0E4 */ unk_D_86002F58_004_000 unk_0E4;
100+
/* 0x24C */ unk_D_86002F58_004_000 unk_24C;
101+
/* 0x3B4 */ u32* unk_3B4;
102+
} unk_D_86807558; // size = 0x3B8
103+
104+
typedef struct unk_D_86808498 {
105+
/* 0x00 */ Vec3f unk_00;
106+
/* 0x0C */ Vec3f unk_0C;
107+
/* 0x18 */ s16 unk_18;
108+
/* 0x1A */ s16 unk_1A;
109+
/* 0x1C */ f32 unk_1C;
110+
/* 0x20 */ Vec3f unk_20;
111+
/* 0x2C */ Vec3f unk_2C;
112+
} unk_D_86808498; // size >= 0x38
113+
114+
typedef struct unk_D_86808808_018 {
115+
/* 0x000 */ unk_D_86002F58_004_000_000 unk_000;
116+
/* 0x018 */ char unk018[0xC];
117+
/* 0x024 */ Vec3f unk_024;
118+
/* 0x030 */ Vec3f unk_030;
119+
} unk_D_86808808_018; // size >= 0x3C
120+
121+
typedef struct unk_D_86808808 {
122+
/* 0x000 */ s16 unk_000;
123+
/* 0x002 */ s16 unk_002;
124+
/* 0x004 */ u16 unk_004;
125+
/* 0x006 */ s16 unk_006;
126+
/* 0x008 */ s32 unk_008;
127+
/* 0x00C */ Vec3f unk_00C;
128+
/* 0x018 */ unk_D_86808808_018 unk_018;
129+
/* 0x054 */ char unk054[0x12C];
130+
} unk_D_86808808; // size = 0x180
131+
132+
typedef struct unk_D_86807180 {
133+
/* 0x00 */ s32 unk_00;
134+
/* 0x04 */ u8* unk_04;
135+
/* 0x08 */ u8* unk_08;
136+
/* 0x10 */ char* unk_0C;
137+
/* 0x10 */ s16 unk_10;
138+
/* 0x12 */ s16 unk_12;
139+
/* 0x14 */ s32 unk_14;
140+
/* 0x18 */ s16 unk_18;
141+
} unk_D_86807180; // size = 0x1C
142+
143+
extern s32 D_86807160[];
144+
extern unk_D_86807180 D_86807180[];
145+
146+
extern unk_D_86002F34* D_86807500;
147+
extern s32 D_86807510;
148+
extern unk_D_86807558 D_86807558[4];
149+
150+
extern unk_D_868084D8 D_868084D8[12];
151+
152+
void func_86800020(s32 arg0);
153+
void func_86800070(void);
154+
Gfx* func_868001A8(Gfx* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
155+
void func_868004F4(void);
156+
void func_868005A8(Color_RGB8* arg0, Color_RGB8* arg1, s32 arg2, s32 arg3, s32 arg4);
157+
void func_8680091C(s32 arg0, s16 arg1, s16 arg2, f32 arg3);
158+
void func_86800B38(void);
159+
void func_86801644(void);
160+
void func_86801700(void);
161+
s32 func_86801840(void);
162+
s32 func_86801884(void);
163+
void func_86801CA8(void);
164+
void func_86801D48(void);
165+
void func_86801E2C(s32 arg0, UNUSED s32 arg1);
166+
167+
168+
void func_86805108(u16, s32);
169+
s32 func_868055D4(void);
170+
void func_86805858(s32);
171+
void func_86805974(void);
172+
void func_86805BD4(void);
173+
void func_86805CB4(void);
174+
175+
f32 func_86805E94(unk_D_868084D8*, Vec3f*, Vec3f*);
176+
void func_86806868(unk_D_868084D8*, s32, unk_D_86807558*);
177+
s32 func_86806930(unk_D_868084D8*);
178+
s16 func_86806950(s32);
179+
void func_86806964(s32);
180+
void func_86806A50(void);
181+
void func_86806BF0(void);
182+
183+
#endif // _FRAGMENT14_H_

0 commit comments

Comments
 (0)