From 4cb13edf846f708e6daad3c7ca3ef5b9d461d4f8 Mon Sep 17 00:00:00 2001 From: MysterD Date: Fri, 4 Sep 2020 21:08:04 -0700 Subject: [PATCH] Fix animation desync when pressing Z+B Fixes #18 Found by el pinguino max --- src/game/mario_actions_airborne.c | 2 +- src/pc/network/packets/packet_player.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/game/mario_actions_airborne.c b/src/game/mario_actions_airborne.c index 64f8ed554..47ec3b7b7 100644 --- a/src/game/mario_actions_airborne.c +++ b/src/game/mario_actions_airborne.c @@ -1566,7 +1566,7 @@ s32 act_lava_boost(struct MarioState *m) { } s32 act_slide_kick(struct MarioState *m) { - if (m->actionState == 0 && m->actionTimer == 0) { + if (m->actionTimer == 0) { play_mario_sound(m, SOUND_ACTION_TERRAIN_JUMP, SOUND_MARIO_HOOHOO); set_mario_animation(m, MARIO_ANIM_SLIDE_KICK); } diff --git a/src/pc/network/packets/packet_player.c b/src/pc/network/packets/packet_player.c index 2c600bb76..edcaf0f1d 100644 --- a/src/pc/network/packets/packet_player.c +++ b/src/pc/network/packets/packet_player.c @@ -100,6 +100,11 @@ void network_receive_player(struct Packet* p) { gMarioStates[1].marioBodyState->punchState = (0 << 6) | 4; } } + + // action changed, reset timer + if (gMarioStates[1].action != oldAction) { + gMarioStates[1].actionTimer = 0; + } } void network_update_player(void) {