diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 62086820..67923e5d 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -524,35 +524,35 @@ class CharacterEditor extends UIState { } function _offsets_left(_) { - changeOffset(character.getAnimName(), FlxPoint.get(1, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(!character.isFlippedOffsets() ? 1 : -1, 0)); } function _offsets_up(_) { changeOffset(character.getAnimName(), FlxPoint.get(0, 1)); - } + } function _offsets_down(_) { changeOffset(character.getAnimName(), FlxPoint.get(0, -1)); } function _offsets_right(_) { - changeOffset(character.getAnimName(), FlxPoint.get(-1, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(!character.isFlippedOffsets() ? -1 : 1, 0)); } function _offsets_extra_left(_) { - changeOffset(character.getAnimName(), FlxPoint.get(5, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(!character.isFlippedOffsets() ? 5 : -5, 0)); } function _offsets_extra_up(_) { changeOffset(character.getAnimName(), FlxPoint.get(0, 5)); - } + } function _offsets_extra_down(_) { changeOffset(character.getAnimName(), FlxPoint.get(0, -5)); } function _offsets_extra_right(_) { - changeOffset(character.getAnimName(), FlxPoint.get(-5, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(!character.isFlippedOffsets() ? -5 : 5, 0)); } function _offsets_clear(_) { diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index a06a42c3..f8f303f4 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -282,6 +282,10 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset return super.getScreenBounds(newRect, camera); } + public function isFlippedOffsets() { + return (isPlayer != playerOffsets) != (flipX != __baseFlipped); + } + var __drawingShadowFrame = false; var __oldColorTransform = new ColorTransform(); @@ -318,7 +322,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset __drawingShadowFrame = false; } - if ((isPlayer != playerOffsets) != (flipX != __baseFlipped)) + if (isFlippedOffsets()) { __reverseDrawProcedure = true;