nonmatch sub_0807D1D8

This commit is contained in:
Henny022p 2021-02-16 18:09:14 +01:00
parent 7faadfd522
commit 80f15cd75b
4 changed files with 42 additions and 37 deletions

View File

@ -323,35 +323,3 @@ sub_0807D1C4: @ 0x0807D1C4
.align 2, 0
_0807D1D4: .4byte gUnk_0811E4BC
thumb_func_start sub_0807D1D8
sub_0807D1D8: @ 0x0807D1D8
push {r4, r5, r6, lr}
adds r5, r0, #0
adds r6, r1, #0
lsrs r4, r2, #3
adds r0, r4, #0
lsrs r5, r5, #3
b _0807D200
_0807D1E6:
lsls r0, r5, #0x10
lsrs r0, r0, #0x10
adds r1, r6, #0
bl sub_080B15E8
lsls r0, r0, #0x10
cmp r0, #0
beq _0807D1FA
movs r0, #0
b _0807D208
_0807D1FA:
adds r5, #1
adds r6, #8
adds r0, r4, #0
_0807D200:
subs r4, #1
cmp r0, #0
bne _0807D1E6
movs r0, #1
_0807D208:
pop {r4, r5, r6, pc}
.align 2, 0

View File

@ -0,0 +1,37 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {r4, r5, r6, lr}
adds r5, r0, #0
adds r6, r1, #0
lsrs r4, r2, #3
adds r0, r4, #0
lsrs r5, r5, #3
b _0807D200
_0807D1E6:
lsls r0, r5, #0x10
lsrs r0, r0, #0x10
adds r1, r6, #0
bl sub_080B15E8
lsls r0, r0, #0x10
cmp r0, #0
beq _0807D1FA
movs r0, #0
b _0807D208
_0807D1FA:
adds r5, #1
adds r6, #8
adds r0, r4, #0
_0807D200:
subs r4, #1
cmp r0, #0
bne _0807D1E6
movs r0, #1
_0807D208:
pop {r4, r5, r6, pc}
.align 2, 0

View File

@ -1,6 +1,3 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified

View File

@ -25,9 +25,12 @@ extern u16 sub_080B18DC(u16, const char*);
void sub_0807DB88(ScriptExecutionContext* context, u32 unk1);
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1);
// these three are basically the same and wrong by basically one instruction in the wrong place
NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) {
}
END_NONMATCH
// this is wrong by basically one instruction in the wrong place
NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc",u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) {
NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc", u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) {
unk_3 >>= 3;
unk_1 >>= 3;
while (unk_3-- > 0) {