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 u8 gzHeap[0x1000];
|
||||||
extern u32 gUnk_0201AEE0[0x800];
|
extern u32 gUnk_0201AEE0[0x800];
|
||||||
extern u8 gUnk_080CA11C[];
|
extern u8 gUnk_080CA11C[];
|
||||||
|
extern s16 gUnk_02018EE0[];
|
||||||
|
|
||||||
extern void (*gUnk_080C9CAC[])(void);
|
extern void (*gUnk_080C9CAC[])(void);
|
||||||
|
|
||||||
|
@ -31,7 +32,7 @@ static void StoreKeyInput(Input* input, u32 keyInput);
|
||||||
void ClearOAM(void);
|
void ClearOAM(void);
|
||||||
void ResetScreenRegs(void);
|
void ResetScreenRegs(void);
|
||||||
void sub_0801E0E0(u32);
|
void sub_0801E0E0(u32);
|
||||||
void sub_0801E24C(u32, u32);
|
void sub_0801E24C(s32, s32);
|
||||||
void sub_0801E290(u32, u32, u32);
|
void sub_0801E290(u32, u32, u32);
|
||||||
s32 sub_0801E8B0(u32);
|
s32 sub_0801E8B0(u32);
|
||||||
|
|
||||||
|
@ -556,7 +557,24 @@ void sub_0801E1EC(u32 a1, u32 a2, u32 a3) {
|
||||||
0x1);
|
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));
|
ASM_FUNC("asm/non_matching/common/sub_0801E290.inc", void sub_0801E290(u32 a1, u32 a2, u32 a3));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue