mirror of https://github.com/zeldaret/tmc.git
Match sub_0801E24C
This commit is contained in:
parent
76634df376
commit
0e1bfbf44e
|
@ -1,40 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
lsls r1, r1, #1
|
||||
ldr r2, _0801E278 @ =gUnk_02018EE0
|
||||
adds r5, r1, r2
|
||||
movs r3, #0
|
||||
adds r2, r0, #0
|
||||
lsls r4, r2, #1
|
||||
movs r0, #3
|
||||
subs r1, r0, r4
|
||||
cmp r3, r2
|
||||
bgt _0801E28E
|
||||
adds r4, r4, r5
|
||||
_0801E264:
|
||||
lsls r0, r3, #1
|
||||
adds r0, r0, r5
|
||||
strh r2, [r0]
|
||||
strh r3, [r4]
|
||||
cmp r1, #0
|
||||
bge _0801E27C
|
||||
adds r1, #6
|
||||
lsls r0, r3, #2
|
||||
adds r1, r1, r0
|
||||
b _0801E288
|
||||
.align 2, 0
|
||||
_0801E278: .4byte gUnk_02018EE0
|
||||
_0801E27C:
|
||||
adds r1, #0xa
|
||||
subs r0, r3, r2
|
||||
lsls r0, r0, #2
|
||||
adds r1, r1, r0
|
||||
subs r4, #2
|
||||
subs r2, #1
|
||||
_0801E288:
|
||||
adds r3, #1
|
||||
cmp r3, r2
|
||||
ble _0801E264
|
||||
_0801E28E:
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
22
src/common.c
22
src/common.c
|
@ -24,6 +24,7 @@ extern u8 gUnk_03003DE0;
|
|||
extern u8 gzHeap[0x1000];
|
||||
extern u32 gUnk_0201AEE0[0x800];
|
||||
extern u8 gUnk_080CA11C[];
|
||||
extern s16 gUnk_02018EE0[];
|
||||
|
||||
extern void (*gUnk_080C9CAC[])(void);
|
||||
|
||||
|
@ -31,7 +32,7 @@ static void StoreKeyInput(Input* input, u32 keyInput);
|
|||
void ClearOAM(void);
|
||||
void ResetScreenRegs(void);
|
||||
void sub_0801E0E0(u32);
|
||||
void sub_0801E24C(u32, u32);
|
||||
void sub_0801E24C(s32, s32);
|
||||
void sub_0801E290(u32, u32, u32);
|
||||
s32 sub_0801E8B0(u32);
|
||||
|
||||
|
@ -556,7 +557,24 @@ void sub_0801E1EC(u32 a1, u32 a2, u32 a3) {
|
|||
0x1);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/common/sub_0801E24C.inc", void sub_0801E24C(u32 a1, u32 a2));
|
||||
void sub_0801E24C(s32 param_1, s32 param_2) {
|
||||
s32 r1;
|
||||
s32 r2, i;
|
||||
u16* p5;
|
||||
p5 = &gUnk_02018EE0[param_2];
|
||||
i = 0;
|
||||
r2 = param_1;
|
||||
r1 = 3 - (r2 * 2);
|
||||
while (i <= r2) {
|
||||
p5[i] = r2;
|
||||
p5[r2] = i;
|
||||
if (r1 < 0) {
|
||||
r1 += 6 + i++ * 4;
|
||||
} else {
|
||||
r1 += 10 + (i++ - (r2--)) * 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/common/sub_0801E290.inc", void sub_0801E290(u32 a1, u32 a2, u32 a3));
|
||||
|
||||
|
|
Loading…
Reference in New Issue