Skip to content

Commit c4252bb

Browse files
committed
chao_garden: sub_0200117c
1 parent b7bef9f commit c4252bb

File tree

2 files changed

+35
-110
lines changed

2 files changed

+35
-110
lines changed

chao_garden/asm/code.s

Lines changed: 0 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -4,116 +4,6 @@
44
.syntax unified
55
.arm
66

7-
thumb_func_start sub_0200117c
8-
sub_0200117c: @ 0x0200117c
9-
push {r4, r5, r6, r7, lr}
10-
ldr r2, _02001234 @ =gUnknown_03005270
11-
ldr r1, _02001238 @ =gUnknown_0300127A
12-
ldrb r0, [r1]
13-
strb r0, [r2]
14-
lsls r0, r0, #0x18
15-
adds r6, r1, #0
16-
cmp r0, #0
17-
beq _0200122C
18-
movs r3, #0
19-
ldrb r0, [r6]
20-
cmp r3, r0
21-
bge _020011B0
22-
ldr r5, _0200123C @ =gUnknown_030011D8
23-
adds r4, r6, #0
24-
ldr r2, _02001240 @ =gUnknown_03001148
25-
_0200119C:
26-
ldrb r1, [r2]
27-
adds r1, r1, r5
28-
ldrb r0, [r1]
29-
adds r0, #1
30-
strb r0, [r1]
31-
adds r2, #2
32-
adds r3, #1
33-
ldrb r1, [r4]
34-
cmp r3, r1
35-
blt _0200119C
36-
_020011B0:
37-
ldr r1, _0200123C @ =gUnknown_030011D8
38-
movs r3, #0xa0
39-
_020011B4:
40-
ldrb r0, [r1]
41-
ldrb r2, [r1, #1]
42-
adds r0, r0, r2
43-
strb r0, [r1, #1]
44-
adds r1, #1
45-
subs r3, #1
46-
cmp r3, #0
47-
bge _020011B4
48-
ldrb r0, [r6]
49-
subs r3, r0, #1
50-
cmp r3, #0
51-
blt _020011F2
52-
ldr r7, _02001244 @ =gUnknown_03004E20
53-
ldr r5, _0200123C @ =gUnknown_030011D8
54-
ldr r1, _02001240 @ =gUnknown_03001148
55-
lsls r0, r3, #1
56-
adds r2, r0, r1
57-
movs r4, #0xff
58-
_020011D8:
59-
ldrb r0, [r2]
60-
adds r0, r0, r5
61-
ldrb r1, [r0]
62-
subs r1, #1
63-
strb r1, [r0]
64-
ands r1, r4
65-
adds r1, r1, r7
66-
ldrb r0, [r2, #1]
67-
strb r0, [r1]
68-
subs r2, #2
69-
subs r3, #1
70-
cmp r3, #0
71-
bge _020011D8
72-
_020011F2:
73-
ldrb r0, [r6]
74-
subs r3, r0, #1
75-
cmp r3, #0
76-
blt _0200122C
77-
ldr r0, _02001244 @ =gUnknown_03004E20
78-
mov ip, r0
79-
ldr r6, _02001248 @ =gUnknown_03001088
80-
ldr r5, _0200124C @ =gUnknown_03001080
81-
ldr r4, _02001250 @ =gUnknown_0300111C
82-
adds r7, r6, #1
83-
_02001206:
84-
mov r1, ip
85-
adds r0, r3, r1
86-
ldrb r2, [r0]
87-
ldrb r0, [r5, #3]
88-
lsls r0, r0, #1
89-
adds r0, r0, r6
90-
ldrb r1, [r4]
91-
strb r1, [r0]
92-
ldrb r0, [r4]
93-
lsls r0, r0, #1
94-
adds r0, r0, r7
95-
strb r2, [r0]
96-
ldrb r1, [r4]
97-
adds r0, r1, #1
98-
strb r0, [r4]
99-
strb r1, [r5, #3]
100-
subs r3, #1
101-
cmp r3, #0
102-
bge _02001206
103-
_0200122C:
104-
pop {r4, r5, r6, r7}
105-
pop {r0}
106-
bx r0
107-
.align 2, 0
108-
_02001234: .4byte gUnknown_03005270
109-
_02001238: .4byte gUnknown_0300127A
110-
_0200123C: .4byte gUnknown_030011D8
111-
_02001240: .4byte gUnknown_03001148
112-
_02001244: .4byte gUnknown_03004E20
113-
_02001248: .4byte gUnknown_03001088
114-
_0200124C: .4byte gUnknown_03001080
115-
_02001250: .4byte gUnknown_0300111C
116-
1177
thumb_func_start sub_02001254
1188
sub_02001254: @ 0x02001254
1199
push {r4, r5, lr}

chao_garden/src/game.c

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ extern u8 gUnknown_030013A2;
6363
extern u16 gUnknown_03004E70[128][4];
6464
extern u8 gUnknown_03001088[4][2];
6565

66+
extern u8 gUnknown_03001080[4];
67+
extern u8 gUnknown_0300111C;
68+
extern u8 gUnknown_03001148[10][2];
69+
extern u8 gUnknown_030011D8[10];
70+
extern u8 gUnknown_0300127A;
71+
extern u8 gUnknown_03004E20[10];
72+
6673
void sub_020013DC(UNK_30005C0 *);
6774
void DummyCallback(UNK_30005C0 *);
6875

@@ -286,3 +293,31 @@ void sub_02001088(void)
286293
r5 += 4;
287294
}
288295
}
296+
297+
void sub_0200117c(void)
298+
{
299+
s32 i;
300+
301+
gUnknown_03005270 = gUnknown_0300127A;
302+
if (gUnknown_0300127A != 0) {
303+
for (i = 0; i < gUnknown_0300127A; i++) {
304+
gUnknown_030011D8[gUnknown_03001148[i][0]]++;
305+
}
306+
307+
for (i = 0; i <= DISPLAY_HEIGHT; i++) {
308+
u8 *p = &gUnknown_030011D8[i];
309+
p[1] += p[0];
310+
}
311+
312+
for (i = gUnknown_0300127A - 1; i >= 0; i--) {
313+
gUnknown_03004E20[--gUnknown_030011D8[gUnknown_03001148[i][0]]] = gUnknown_03001148[i][1];
314+
}
315+
316+
for (i = gUnknown_0300127A - 1; i >= 0; i--) {
317+
u8 val = gUnknown_03004E20[i];
318+
gUnknown_03001088[gUnknown_03001080[3]][0] = gUnknown_0300111C;
319+
gUnknown_03001088[gUnknown_0300111C][1] = val;
320+
gUnknown_03001080[3] = gUnknown_0300111C++;
321+
}
322+
}
323+
}

0 commit comments

Comments
 (0)