Match sub_08087528

This commit is contained in:
Tal Hayon 2022-05-22 22:35:38 +03:00
parent 14a80b635c
commit 3b6826ee68
3 changed files with 4 additions and 167 deletions

View File

@ -1,55 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r3, r0, #0
adds r4, r2, #0
movs r2, #0
ldr r5, _0801AA0C @ =0xFFFFFCA0
adds r0, r1, r5
cmp r0, #4
bhi _0801AA40
lsls r0, r0, #2
ldr r1, _0801AA10 @ =_0801AA14
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0801AA0C: .4byte 0xFFFFFCA0
_0801AA10: .4byte _0801AA14
_0801AA14: @ jump table
.4byte _0801AA44 @ case 0
.4byte _0801AA28 @ case 1
.4byte _0801AA34 @ case 2
.4byte _0801AA3A @ case 3
.4byte _0801AA2E @ case 4
_0801AA28:
cmp r3, #0
bne _0801AA40
b _0801AA44
_0801AA2E:
cmp r3, #8
bne _0801AA40
b _0801AA44
_0801AA34:
cmp r3, #0x10
bne _0801AA40
b _0801AA44
_0801AA3A:
cmp r3, #0x18
bne _0801AA40
movs r2, #1
_0801AA40:
cmp r2, #0
beq _0801AA54
_0801AA44:
ldr r0, _0801AA50 @ =gPlayerEntity
adds r1, r4, #0
adds r2, r3, #0
bl sub_0801AA58
b _0801AA56
.align 2, 0
_0801AA50: .4byte gPlayerEntity
_0801AA54:
movs r0, #0
_0801AA56:
pop {r4, r5, pc}
.syntax divided

View File

@ -1,107 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r0, _08087590 @ =gPlayerEntity
ldrb r0, [r0, #0x14]
lsrs r0, r0, #1
strb r0, [r4, #0x14]
ldrb r1, [r4, #0x19]
movs r2, #0x3f
adds r0, r2, #0
ands r0, r1
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x19]
adds r3, r4, #0
adds r3, #0x29
ldrb r1, [r3]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #3
orrs r0, r1
strb r0, [r3]
ldrb r1, [r4, #0x1b]
lsrs r0, r1, #6
subs r0, #1
lsls r0, r0, #6
ands r2, r1
orrs r2, r0
strb r2, [r4, #0x1b]
ldrb r0, [r4, #0xb]
cmp r0, #0
beq _08087594
ldrb r1, [r4, #0x1a]
movs r0, #0x10
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x1a]
ldrb r0, [r4, #0x14]
cmp r0, #1
bne _08087588
ldrb r0, [r4, #0x18]
movs r1, #0x40
orrs r0, r1
strb r0, [r4, #0x18]
_08087588:
adds r0, r4, #0
bl sub_08087640
b _080875DC
.align 2, 0
_08087590: .4byte gPlayerEntity
_08087594:
ldr r0, _080875B4 @ =gArea
ldrb r0, [r0, #1]
movs r1, #4
cmp r0, #0x10
bne _080875A2
movs r1, #0xb5
lsls r1, r1, #1
_080875A2:
adds r0, r4, #0
bl ChangeObjPalette
ldrb r0, [r4, #0x14]
cmp r0, #1
beq _080875B8
cmp r0, #3
bne _080875CE
b _080875C0
.align 2, 0
_080875B4: .4byte gArea
_080875B8:
ldrb r0, [r4, #0x18]
movs r1, #0x40
orrs r0, r1
strb r0, [r4, #0x18]
_080875C0:
ldrb r0, [r4, #0xa]
cmp r0, #0x40
bne _080875DC
ldrh r0, [r4, #0x32]
adds r0, #4
strh r0, [r4, #0x32]
b _080875DC
_080875CE:
ldrb r0, [r4, #0xa]
cmp r0, #0x40
bne _080875DC
ldrb r0, [r4, #0x18]
movs r1, #0x40
orrs r0, r1
strb r0, [r4, #0x18]
_080875DC:
adds r0, r4, #0
movs r1, #3
bl SetDefaultPriority
ldrb r1, [r4, #0xb]
lsls r1, r1, #2
ldrb r0, [r4, #0x14]
adds r1, r1, r0
adds r0, r4, #0
bl InitializeAnimation
pop {r4, pc}
.syntax divided

View File

@ -25,7 +25,7 @@ void Object1E(Entity* this) {
}
}
NONMATCH("asm/non_matching/object1E/sub_08087528.inc", void sub_08087528(Entity* this)) {
void sub_08087528(Entity* this) {
u32 palette;
this->action = 1;
@ -47,13 +47,13 @@ NONMATCH("asm/non_matching/object1E/sub_08087528.inc", void sub_08087528(Entity*
}
ChangeObjPalette(this, palette);
switch (this->animationState) {
case 1:
this->spriteSettings.flipX = 1;
case 3:
if (this->type == 0x40) {
this->y.HALF.HI += 4;
}
break;
case 3:
case 1:
this->spriteSettings.flipX = 1;
if (this->type == 0x40) {
this->y.HALF.HI += 4;
}
@ -68,7 +68,6 @@ NONMATCH("asm/non_matching/object1E/sub_08087528.inc", void sub_08087528(Entity*
SetDefaultPriority(this, 3);
InitializeAnimation(this, this->type2 * 4 + this->animationState);
}
END_NONMATCH
void sub_080875F4(Entity* this) {
GetNextFrame(this);