diff --git a/asm/non_matching/player/PlayerBounceUpdate.inc b/asm/non_matching/player/PlayerBounceUpdate.inc deleted file mode 100644 index fccb1712..00000000 --- a/asm/non_matching/player/PlayerBounceUpdate.inc +++ /dev/null @@ -1,87 +0,0 @@ - .syntax unified - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - bl sub_080085B0 - bl UpdatePlayerMovement - bl UpdateFloorType - bl RunQueuedAction - cmp r0, #0 - bne _08070E76 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl GravityUpdate - cmp r0, #0 - bne _08070E76 - ldr r6, _08070E18 @ =gPlayerState - strb r0, [r6, #2] - bl RunQueuedAction - adds r5, r0, #0 - cmp r5, #0 - bne _08070E76 - bl sub_08079D48 - cmp r0, #0 - bne _08070E10 - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070E1C -_08070E10: - strb r5, [r6, #2] - bl ResetPlayerAnimationAndAction - b _08070E76 - .align 2, 0 -_08070E18: .4byte gPlayerState -_08070E1C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08070E32 - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - b _08070E76 -_08070E32: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r6, #0x14] - cmp r0, #0 - bne _08070E56 - bl sub_08008B22 - cmp r0, #0 - beq _08070E56 - movs r0, #7 - strb r0, [r6, #0x11] - bl ResolvePlayerAnimation - bl SetPlayerActionNormal - b _08070E76 -_08070E56: - movs r0, #1 - strh r0, [r4, #0x12] - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldr r2, _08070E78 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070E76 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #8] -_08070E76: - pop {r4, r5, r6, pc} - .align 2, 0 -_08070E78: .4byte gPlayerState - .syntax divided diff --git a/src/player.c b/src/player.c index 4e675a0c..65076904 100644 --- a/src/player.c +++ b/src/player.c @@ -700,8 +700,7 @@ static void PlayerBounceInit(Entity* this) { ResetPlayerVelocity(); } -// minor regalloc -static NONMATCH("asm/non_matching/player/PlayerBounceUpdate.inc", void PlayerBounceUpdate(Entity* this)) { +static void PlayerBounceUpdate(Entity* this) { UpdateAnimationSingleFrame(this); sub_080085B0(this); UpdatePlayerMovement(); @@ -712,10 +711,10 @@ static NONMATCH("asm/non_matching/player/PlayerBounceUpdate.inc", void PlayerBou gPlayerState.jump_status = 0; - if (RunQueuedAction() || sub_08079D48()) + if (RunQueuedAction()) return; - if (gPlayerState.swim_state != 0) { + if (sub_08079D48() || gPlayerState.swim_state != 0) { gPlayerState.jump_status = 0; ResetPlayerAnimationAndAction(); return; @@ -742,7 +741,6 @@ static NONMATCH("asm/non_matching/player/PlayerBounceUpdate.inc", void PlayerBou if ((gPlayerState.flags & PL_MINISH) == 0) gPlayerState.animation = DEFAULT_ANIM; } -END_NONMATCH static void sub_08070E7C(Entity* this) { if (--this->actionDelay == 0) {