diff --git a/art/flashFiles/NOTE_assets.fla b/art/flashFiles/NOTE_assets.fla index 523cc95..d3e4f32 100644 Binary files a/art/flashFiles/NOTE_assets.fla and b/art/flashFiles/NOTE_assets.fla differ diff --git a/assets/shared/images/NOTE_assets.png b/assets/shared/images/NOTE_assets.png index 3259d0b..2b348a2 100644 Binary files a/assets/shared/images/NOTE_assets.png and b/assets/shared/images/NOTE_assets.png differ diff --git a/assets/shared/images/NOTE_assets.xml b/assets/shared/images/NOTE_assets.xml index 76224ce..d3e1257 100644 --- a/assets/shared/images/NOTE_assets.xml +++ b/assets/shared/images/NOTE_assets.xml @@ -1,45 +1,92 @@  - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index 7fe4b38..36ac10b 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -360,6 +360,16 @@ class FreeplayState extends MusicBeatState FlxG.sound.playMusic(Paths.inst(songs[curSelected].songName), 0); #end + var hmm; + try + { + hmm = songData.get(songs[curSelected].songName)[curDifficulty]; + if (hmm != null) + Conductor.changeBPM(hmm.bpm); + } + catch(ex) + {} + var bullShit:Int = 0; for (i in 0...iconArray.length) diff --git a/source/Note.hx b/source/Note.hx index d4c4a76..ae26fb3 100644 --- a/source/Note.hx +++ b/source/Note.hx @@ -38,6 +38,8 @@ class Note extends FlxSprite public var rating:String = "shit"; + public var dataColor:Array = ['purple', 'blue', 'green', 'red']; + public function new(strumTime:Float, noteData:Int, ?prevNote:Note, ?sustainNote:Bool = false, ?inCharter:Bool = false) { super(); @@ -73,26 +75,15 @@ class Note extends FlxSprite switch (noteTypeCheck) { case 'pixel': - loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels','week6'), true, 17, 17); - - animation.add('greenScroll', [6]); - animation.add('redScroll', [7]); - animation.add('blueScroll', [5]); - animation.add('purpleScroll', [4]); - + loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels', 'week6'), true, 17, 17); if (isSustainNote) + loadGraphic(Paths.image('weeb/pixelUI/arrowEnds', 'week6'), true, 7, 6); + + for (i in 0...4) { - loadGraphic(Paths.image('weeb/pixelUI/arrowEnds','week6'), true, 7, 6); - - animation.add('purpleholdend', [4]); - animation.add('greenholdend', [6]); - animation.add('redholdend', [7]); - animation.add('blueholdend', [5]); - - animation.add('purplehold', [0]); - animation.add('greenhold', [2]); - animation.add('redhold', [3]); - animation.add('bluehold', [1]); + animation.add(dataColor[i] + 'Scroll', [i + 4]); // Normal notes + animation.add(dataColor[i] + 'hold', [i]); // Holds + animation.add(dataColor[i] + 'holdend', [i + 4]); // Tails } setGraphicSize(Std.int(width * PlayState.daPixelZoom)); @@ -100,47 +91,27 @@ class Note extends FlxSprite default: frames = Paths.getSparrowAtlas('NOTE_assets'); - animation.addByPrefix('greenScroll', 'green0'); - animation.addByPrefix('redScroll', 'red0'); - animation.addByPrefix('blueScroll', 'blue0'); - animation.addByPrefix('purpleScroll', 'purple0'); - - animation.addByPrefix('purpleholdend', 'pruple end hold'); - animation.addByPrefix('greenholdend', 'green hold end'); - animation.addByPrefix('redholdend', 'red hold end'); - animation.addByPrefix('blueholdend', 'blue hold end'); - - animation.addByPrefix('purplehold', 'purple hold piece'); - animation.addByPrefix('greenhold', 'green hold piece'); - animation.addByPrefix('redhold', 'red hold piece'); - animation.addByPrefix('bluehold', 'blue hold piece'); + for (i in 0...4) + { + animation.addByPrefix(dataColor[i] + 'Scroll', dataColor[i] + ' alone'); // Normal notes + animation.addByPrefix(dataColor[i] + 'hold', dataColor[i] + ' hold'); // Hold + animation.addByPrefix(dataColor[i] + 'holdend', dataColor[i] + ' tail'); // Tails + } setGraphicSize(Std.int(width * 0.7)); updateHitbox(); antialiasing = true; } - switch (noteData) - { - case 0: - x += swagWidth * 0; - animation.play('purpleScroll'); - case 1: - x += swagWidth * 1; - animation.play('blueScroll'); - case 2: - x += swagWidth * 2; - animation.play('greenScroll'); - case 3: - x += swagWidth * 3; - animation.play('redScroll'); - } + x += swagWidth * noteData; + animation.play(dataColor[noteData] + 'Scroll'); // trace(prevNote); // we make sure its downscroll and its a SUSTAIN NOTE (aka a trail, not a note) // and flip it so it doesn't look weird. // THIS DOESN'T FUCKING FLIP THE NOTE, CONTRIBUTERS DON'T JUST COMMENT THIS OUT JESUS + // then what is this lol if (FlxG.save.data.downscroll && sustainNote) flipY = true; @@ -151,17 +122,7 @@ class Note extends FlxSprite x += width / 2; - switch (noteData) - { - case 2: - animation.play('greenholdend'); - case 3: - animation.play('redholdend'); - case 1: - animation.play('blueholdend'); - case 0: - animation.play('purpleholdend'); - } + animation.play(dataColor[noteData] + 'holdend'); updateHitbox(); @@ -172,18 +133,7 @@ class Note extends FlxSprite if (prevNote.isSustainNote) { - switch (prevNote.noteData) - { - case 0: - prevNote.animation.play('purplehold'); - case 1: - prevNote.animation.play('bluehold'); - case 2: - prevNote.animation.play('greenhold'); - case 3: - prevNote.animation.play('redhold'); - } - + prevNote.animation.play(dataColor[prevNote.noteData] + 'hold'); if(FlxG.save.data.scrollSpeed != 1) prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed; diff --git a/source/PlayState.hx b/source/PlayState.hx index c2e0486..7314bb7 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -228,6 +228,9 @@ class PlayState extends MusicBeatState private var executeModchart = false; + // Animation common suffixes + private var dataSuffix:Array = ['LEFT', 'DOWN', 'UP', 'RIGHT']; + // API stuff public function addObject(object:FlxBasic) { add(object); } @@ -2582,18 +2585,10 @@ class PlayState extends MusicBeatState if (SONG.notes[Math.floor(curStep / 16)].altAnim) altAnim = '-alt'; } - - switch (Math.abs(daNote.noteData)) - { - case 2: - dad.playAnim('singUP' + altAnim, true); - case 3: - dad.playAnim('singRIGHT' + altAnim, true); - case 1: - dad.playAnim('singDOWN' + altAnim, true); - case 0: - dad.playAnim('singLEFT' + altAnim, true); - } + + // Accessing the animation name directly to play it + var singData:Int = Std.int(Math.abs(daNote.noteData)); + dad.playAnim('sing' + dataSuffix[singData] + altAnim, true); if (FlxG.save.data.cpuStrums) { @@ -3530,17 +3525,8 @@ class PlayState extends MusicBeatState // FlxG.sound.play(Paths.sound('missnote1'), 1, false); // FlxG.log.add('played imss note'); - switch (direction) - { - case 0: - boyfriend.playAnim('singLEFTmiss', true); - case 1: - boyfriend.playAnim('singDOWNmiss', true); - case 2: - boyfriend.playAnim('singUPmiss', true); - case 3: - boyfriend.playAnim('singRIGHTmiss', true); - } + // Hole switch statement replaced with a single line :) + boyfriend.playAnim('sing' + dataSuffix[direction] + 'miss', true); #if windows if (luaModchart != null) @@ -3688,19 +3674,9 @@ class PlayState extends MusicBeatState } else totalNotesHit += 1; - - - switch (note.noteData) - { - case 2: - boyfriend.playAnim('singUP', true); - case 3: - boyfriend.playAnim('singRIGHT', true); - case 1: - boyfriend.playAnim('singDOWN', true); - case 0: - boyfriend.playAnim('singLEFT', true); - } + + var singData:Int = Std.int(note.noteData); + boyfriend.playAnim('sing' + dataSuffix[singData], true); #if windows if (luaModchart != null) diff --git a/source/TitleState.hx b/source/TitleState.hx index 922570c..dadc361 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -110,34 +110,6 @@ class TitleState extends MusicBeatState function startIntro() { - if (!initialized) - { - var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); - diamond.persist = true; - diamond.destroyOnNoUse = false; - - FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, - new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); - FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), - {asset: diamond, width: 32, height: 32}, new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); - - transIn = FlxTransitionableState.defaultTransIn; - transOut = FlxTransitionableState.defaultTransOut; - - // HAD TO MODIFY SOME BACKEND SHIT - // IF THIS PR IS HERE IF ITS ACCEPTED UR GOOD TO GO - // https://github.com/HaxeFlixel/flixel-addons/pull/348 - - // var music:FlxSound = new FlxSound(); - // music.loadStream(Paths.music('freakyMenu')); - // FlxG.sound.list.add(music); - // music.play(); - FlxG.sound.playMusic(Paths.music('freakyMenu'), 0); - - FlxG.sound.music.fadeIn(4, 0, 0.7); - } - - Conductor.changeBPM(102); persistentUpdate = true; var bg:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); @@ -146,23 +118,17 @@ class TitleState extends MusicBeatState // bg.updateHitbox(); add(bg); + logoBl = new FlxSprite(-150, 1500); if(Main.watermarks) { - logoBl = new FlxSprite(-150, 1500); logoBl.frames = Paths.getSparrowAtlas('KadeEngineLogoBumpin'); - logoBl.antialiasing = true; - logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false); - logoBl.updateHitbox(); - // logoBl.screenCenter(); - // logoBl.color = FlxColor.BLACK; } else { - logoBl = new FlxSprite(-150, -100); logoBl.frames = Paths.getSparrowAtlas('logoBumpin'); - logoBl.antialiasing = true; - logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false); - logoBl.updateHitbox(); - // logoBl.screenCenter(); - // logoBl.color = FlxColor.BLACK; } + logoBl.antialiasing = true; + logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false); + logoBl.updateHitbox(); + // logoBl.screenCenter(); + // logoBl.color = FlxColor.BLACK; gfDance = new FlxSprite(FlxG.width * 0.4, FlxG.height * 0.07); gfDance.frames = Paths.getSparrowAtlas('gfDanceTitle'); @@ -218,8 +184,33 @@ class TitleState extends MusicBeatState if (initialized) skipIntro(); - else + else { + var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); + diamond.persist = true; + diamond.destroyOnNoUse = false; + + FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, + new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); + FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), + {asset: diamond, width: 32, height: 32}, new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); + + transIn = FlxTransitionableState.defaultTransIn; + transOut = FlxTransitionableState.defaultTransOut; + + // HAD TO MODIFY SOME BACKEND SHIT + // IF THIS PR IS HERE IF ITS ACCEPTED UR GOOD TO GO + // https://github.com/HaxeFlixel/flixel-addons/pull/348 + + // var music:FlxSound = new FlxSound(); + // music.loadStream(Paths.music('freakyMenu')); + // FlxG.sound.list.add(music); + // music.play(); + FlxG.sound.playMusic(Paths.music('freakyMenu'), 0); + + FlxG.sound.music.fadeIn(4, 0, 0.7); + Conductor.changeBPM(102); initialized = true; + } // credGroup.add(credTextShit); }