mirror of https://github.com/zeldaret/tmc.git
Merge pull request #385 from hatal175/PlayerBounceUpdate
This commit is contained in:
commit
2c39b8ccf9
|
|
@ -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
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue