diff --git a/assets/data/characters/bf-pixel.xml b/assets/data/characters/bf-pixel.xml new file mode 100644 index 00000000..7f44061a --- /dev/null +++ b/assets/data/characters/bf-pixel.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/data/characters/gf-pixel.xml b/assets/data/characters/gf-pixel.xml new file mode 100644 index 00000000..b5f226e6 --- /dev/null +++ b/assets/data/characters/gf-pixel.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/assets/data/characters/pico.xml b/assets/data/characters/pico.xml index f7a12dc0..478bcad6 100644 --- a/assets/data/characters/pico.xml +++ b/assets/data/characters/pico.xml @@ -4,13 +4,13 @@ - + - + \ No newline at end of file diff --git a/assets/data/characters/senpai-angry.xml b/assets/data/characters/senpai-angry.xml new file mode 100644 index 00000000..1dad661f --- /dev/null +++ b/assets/data/characters/senpai-angry.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/data/characters/senpai.xml b/assets/data/characters/senpai.xml new file mode 100644 index 00000000..c2ce7849 --- /dev/null +++ b/assets/data/characters/senpai.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/characters/bf-pixel.png b/assets/images/characters/bf-pixel.png new file mode 100644 index 00000000..42925d98 Binary files /dev/null and b/assets/images/characters/bf-pixel.png differ diff --git a/assets/images/characters/bf-pixel.xml b/assets/images/characters/bf-pixel.xml new file mode 100644 index 00000000..a3622d82 --- /dev/null +++ b/assets/images/characters/bf-pixel.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/characters/gf-pixel.png b/assets/images/characters/gf-pixel.png new file mode 100644 index 00000000..b298a13a Binary files /dev/null and b/assets/images/characters/gf-pixel.png differ diff --git a/assets/images/characters/gf-pixel.xml b/assets/images/characters/gf-pixel.xml new file mode 100644 index 00000000..87b998c8 --- /dev/null +++ b/assets/images/characters/gf-pixel.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/week6/images/weeb/senpai.png b/assets/images/characters/senpai.png similarity index 100% rename from assets/week6/images/weeb/senpai.png rename to assets/images/characters/senpai.png diff --git a/assets/week6/images/weeb/senpai.xml b/assets/images/characters/senpai.xml similarity index 100% rename from assets/week6/images/weeb/senpai.xml rename to assets/images/characters/senpai.xml diff --git a/assets/week6/images/weeb/gfPixel - Copy.png b/assets/week6/images/weeb/gfPixel - Copy.png new file mode 100644 index 00000000..b298a13a Binary files /dev/null and b/assets/week6/images/weeb/gfPixel - Copy.png differ diff --git a/assets/week6/images/weeb/gfPixel - Copy.xml b/assets/week6/images/weeb/gfPixel - Copy.xml new file mode 100644 index 00000000..87b998c8 --- /dev/null +++ b/assets/week6/images/weeb/gfPixel - Copy.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildnumber.txt b/buildnumber.txt index d1d06ad3..5568a077 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -1111 \ No newline at end of file +1118 \ No newline at end of file diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 884daf16..3f8a8a3c 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -105,6 +105,7 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom curCharacter = "bf"; continue; } + var sprite:String = curCharacter; if (xml.has.isPlayer) playerOffsets = (xml.att.isPlayer == "true"); if (xml.has.isGF) isGF = (xml.att.isGF == "true"); @@ -115,8 +116,15 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom if (xml.has.holdTime) holdTime = CoolUtil.getDefault(Std.parseFloat(xml.att.holdTime), 4); if (xml.has.flipX) flipX = (xml.att.flipX == "true"); if (xml.has.icon) icon = xml.att.icon; + if (xml.has.scale) { + var scale = Std.parseFloat(xml.att.scale).getDefault(1); + this.scale.set(scale, scale); + updateHitbox(); + } + if (xml.has.antialiasing) antialiasing = (xml.att.antialiasing == "true"); + if (xml.has.sprite) sprite = xml.att.sprite; - frames = CoolUtil.loadFrames(Paths.image('characters/$curCharacter')); + frames = CoolUtil.loadFrames(Paths.image('characters/$sprite')); for(anim in xml.nodes.anim) { XMLUtil.addXMLAnimation(this, anim); } @@ -283,10 +291,12 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom switchOffset('singLEFTmiss', 'singRIGHTmiss'); } if (isPlayer) flipX = !flipX; + __baseFlipped = flipX; dance(); script.call("createPost"); } + var __baseFlipped:Bool = false; var isDanceLeftDanceRight:Bool = false; public function switchOffset(anim1:String, anim2:String) { @@ -358,13 +368,13 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom } public override function draw() { - if (flipX) { + if ((isPlayer != playerOffsets) != (flipX != __baseFlipped)) { __reverseDrawProcedure = true; - flipX = false; + flipX = !flipX; scale.x *= -1; super.draw(); - flipX = true; + flipX = !flipX; scale.x *= -1; __reverseDrawProcedure = false;