diff --git a/patches/input.c b/patches/input.c index 727242d..2f53cac 100644 --- a/patches/input.c +++ b/patches/input.c @@ -1496,7 +1496,6 @@ RECOMP_PATCH void Player_Action_18(Player* this, PlayState* play) { if (inverted_x) { xStick = -xStick; } - recomp_printf("Shielding X=%f, Y=%f\n", xStick, yStick); var_a1 = (yStick * Math_CosS(temp_a0)) + (Math_SinS(temp_a0) * xStick); temp_ft5 = (xStick * Math_CosS(temp_a0)) - (Math_SinS(temp_a0) * yStick); diff --git a/patches/play_patches.c b/patches/play_patches.c index e401ae1..57767a9 100644 --- a/patches/play_patches.c +++ b/patches/play_patches.c @@ -36,8 +36,11 @@ void controls_play_update(PlayState* play) { gSaveContext.options.zTargetSetting = recomp_get_targeting_mode(); Player* player = GET_PLAYER(play); + Camera* camera = GET_ACTIVE_CAM(play); + recomp_get_mouse_deltas(&mouse_input_handler.delta_x, &mouse_input_handler.delta_y); - mouse_input_handler.crouch_shielding = player->stateFlags1 & PLAYER_STATE1_400000; + //mouse_input_handler.crouch_shielding = player->stateFlags1 == PLAYER_STATE1_400000; + mouse_input_handler.crouch_shielding = ((player->stateFlags1 == PLAYER_STATE1_400000) && !(camera->mode == CAM_MODE_TARGET || camera->mode == CAM_MODE_FOLLOWTARGET)); if (mouse_input_handler.crouch_shielding) { mouse_input_handler.shield_pos_x -= mouse_input_handler.delta_x * 10.0f;