diff --git a/assets/images/Pico_FNF_assetss.png b/assets/images/Pico_FNF_assetss.png new file mode 100644 index 000000000..3be996bb9 Binary files /dev/null and b/assets/images/Pico_FNF_assetss.png differ diff --git a/assets/images/Pico_FNF_assetss.xml b/assets/images/Pico_FNF_assetss.xml new file mode 100644 index 000000000..ee3843174 --- /dev/null +++ b/assets/images/Pico_FNF_assetss.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Boyfriend.hx b/source/Boyfriend.hx index 5efc70987..a30805221 100644 --- a/source/Boyfriend.hx +++ b/source/Boyfriend.hx @@ -14,43 +14,6 @@ class Boyfriend extends Character public function new(x:Float, y:Float) { super(x, y); - - var tex = FlxAtlasFrames.fromSparrow(AssetPaths.BOYFRIEND__png, AssetPaths.BOYFRIEND__xml); - frames = tex; - animation.addByPrefix('idle', 'BF idle dance', 24, false); - animation.addByPrefix('singUP', 'BF NOTE UP0', 24, false); - animation.addByPrefix('singLEFT', 'BF NOTE LEFT0', 24, false); - animation.addByPrefix('singRIGHT', 'BF NOTE RIGHT0', 24, false); - animation.addByPrefix('singDOWN', 'BF NOTE DOWN0', 24, false); - animation.addByPrefix('singUPmiss', 'BF NOTE UP MISS', 24, false); - animation.addByPrefix('singLEFTmiss', 'BF NOTE LEFT MISS', 24, false); - animation.addByPrefix('singRIGHTmiss', 'BF NOTE RIGHT MISS', 24, false); - animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false); - animation.addByPrefix('hey', 'BF HEY', 24, false); - - animation.addByPrefix('firstDeath', "BF dies", 24, false); - animation.addByPrefix('deathLoop', "BF Dead Loop", 24, true); - animation.addByPrefix('deathConfirm', "BF Dead confirm", 24, false); - - animation.addByPrefix('scared', 'BF idle shaking', 24); - playAnim('idle'); - - antialiasing = true; - - addOffset('idle', -5); - addOffset("singUP", -29, 27); - addOffset("singRIGHT", -38, -7); - addOffset("singLEFT", 12, -6); - addOffset("singDOWN", -10, -50); - addOffset("singUPmiss", -29, 27); - addOffset("singRIGHTmiss", -30, 21); - addOffset("singLEFTmiss", 12, 24); - addOffset("singDOWNmiss", -11, -19); - addOffset("hey", 7, 4); - addOffset('firstDeath', 37, 11); - addOffset('deathLoop', 37, 5); - addOffset('deathConfirm', 37, 69); - addOffset('scared', -4); } override function update(elapsed:Float) diff --git a/source/Character.hx b/source/Character.hx index 813fe4ab6..e6aab01de 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -1,6 +1,7 @@ package; import flixel.FlxSprite; +import flixel.animation.FlxBaseAnimation; import flixel.graphics.frames.FlxAtlasFrames; using StringTools; @@ -107,21 +108,82 @@ class Character extends FlxSprite addOffset("singLEFT", -30); addOffset("singDOWN", -30, -40); playAnim('idle'); - case 'lucky': - tex = FlxAtlasFrames.fromSparrow(AssetPaths.lucky_guitar_assets__png, AssetPaths.lucky_guitar_assets__xml); + case 'pico': + tex = FlxAtlasFrames.fromSparrow(AssetPaths.Pico_FNF_assetss__png, AssetPaths.Pico_FNF_assetss__xml); frames = tex; - animation.addByPrefix('idle', 'lucky guitar idle', 24, false); - animation.addByPrefix('singUP', 'lucky UP NOTE', 24, false); - animation.addByPrefix('singRIGHT', 'lucky sing right', 24, false); - animation.addByPrefix('singDOWN', 'lucky DOWN note', 24, false); - animation.addByPrefix('singLEFT', 'lucky sing left', 24, false); + animation.addByPrefix('idle', "Pico Idle Dance", 24); + animation.addByPrefix('singUP', 'pico Up note0', 24, false); + animation.addByPrefix('singDOWN', 'Pico Down Note0', 24, false); + if (isPlayer) + { + animation.addByPrefix('singLEFT', 'Pico NOTE LEFT0', 24, false); + animation.addByPrefix('singRIGHT', 'Pico Note Right0', 24, false); + animation.addByPrefix('singRIGHTmiss', 'Pico Note Right Miss', 24, false); + animation.addByPrefix('singLEFTmiss', 'Pico NOTE LEFT miss', 24, false); + } + else + { + // Need to be flipped! REDO THIS LATER! + animation.addByPrefix('singLEFT', 'Pico Note Right0', 24, false); + animation.addByPrefix('singRIGHT', 'Pico NOTE LEFT0', 24, false); + animation.addByPrefix('singRIGHTmiss', 'Pico NOTE LEFT miss', 24, false); + animation.addByPrefix('singLEFTmiss', 'Pico Note Right Miss', 24, false); + } + + animation.addByPrefix('singUPmiss', 'pico Up note miss', 24); + animation.addByPrefix('singDOWNmiss', 'Pico Down Note MISS', 24); - addOffset('idle', 0, -180); - addOffset("singUP", 200, -180); - addOffset("singRIGHT", 200, -180); - addOffset("singLEFT", 200, -180); - addOffset("singDOWN", 200, -180); playAnim('idle'); + addOffset('idle'); + addOffset("singUP", -29, 27); + addOffset("singRIGHT", -68, -7); + addOffset("singLEFT", 65, 9); + addOffset("singDOWN", 200, 70); + addOffset("singUPmiss", -19, 67); + addOffset("singRIGHTmiss", -60, 41); + addOffset("singLEFTmiss", 62, 64); + addOffset("singDOWNmiss", 210, -28); + + if (!isPlayer) + flipX = true; + + case 'bf': + var tex = FlxAtlasFrames.fromSparrow(AssetPaths.BOYFRIEND__png, AssetPaths.BOYFRIEND__xml); + frames = tex; + animation.addByPrefix('idle', 'BF idle dance', 24, false); + animation.addByPrefix('singUP', 'BF NOTE UP0', 24, false); + animation.addByPrefix('singLEFT', 'BF NOTE LEFT0', 24, false); + animation.addByPrefix('singRIGHT', 'BF NOTE RIGHT0', 24, false); + animation.addByPrefix('singDOWN', 'BF NOTE DOWN0', 24, false); + animation.addByPrefix('singUPmiss', 'BF NOTE UP MISS', 24, false); + animation.addByPrefix('singLEFTmiss', 'BF NOTE LEFT MISS', 24, false); + animation.addByPrefix('singRIGHTmiss', 'BF NOTE RIGHT MISS', 24, false); + animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false); + animation.addByPrefix('hey', 'BF HEY', 24, false); + + animation.addByPrefix('firstDeath', "BF dies", 24, false); + animation.addByPrefix('deathLoop', "BF Dead Loop", 24, true); + animation.addByPrefix('deathConfirm', "BF Dead confirm", 24, false); + + animation.addByPrefix('scared', 'BF idle shaking', 24); + playAnim('idle'); + + antialiasing = true; + + addOffset('idle', -5); + addOffset("singUP", -29, 27); + addOffset("singRIGHT", -38, -7); + addOffset("singLEFT", 12, -6); + addOffset("singDOWN", -10, -50); + addOffset("singUPmiss", -29, 27); + addOffset("singRIGHTmiss", -30, 21); + addOffset("singLEFTmiss", 12, 24); + addOffset("singDOWNmiss", -11, -19); + addOffset("hey", 7, 4); + addOffset('firstDeath', 37, 11); + addOffset('deathLoop', 37, 5); + addOffset('deathConfirm', 37, 69); + addOffset('scared', -4); } } diff --git a/source/ChartingState.hx b/source/ChartingState.hx index 92ff65f78..41ed16e9c 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -183,7 +183,7 @@ class ChartingState extends MusicBeatState stepperBPM.value = Conductor.bpm; stepperBPM.name = 'song_bpm'; - var characters:Array = ["bf", 'dad', 'gf', 'spooky', 'monster']; + var characters:Array = ["bf", 'dad', 'gf', 'spooky', 'monster', 'pico']; var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String) { diff --git a/source/PlayState.hx b/source/PlayState.hx index 2c5c6da81..b000f7d57 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -634,7 +634,7 @@ class PlayState extends MusicBeatState #if debug if (FlxG.keys.justPressed.EIGHT) - FlxG.switchState(new AnimationDebug(SONG.player1)); + FlxG.switchState(new AnimationDebug(SONG.player2)); #end if (startingSong)