diff --git a/CHANGELOG.md b/CHANGELOG.md index 114615a7..9d899d9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- Moved all the intro texts to its own txt file instead of being hardcoded, this allows for much easier customization. File is in the data folder, called "introText.txt", follow the format in there and you're probably good to go! ### Fixed - Cleaned up some charting on South on hard mode - Fixed some animation timings, should feel both better to play, and watch. +- Maaaybe fixed notes popping up randomly at the top of the screen for a frame or two? If this isn't fixed, uhh yall shout at me lolol ## [0.2.1.2] - 2020-11-06 ### Fixed diff --git a/Preloader.hx b/Preloader.hx index 932df79b..c979c9c7 100644 --- a/Preloader.hx +++ b/Preloader.hx @@ -13,7 +13,7 @@ import flixel.FlxG; class Preloader extends FlxBasePreloader { - public function new(MinDisplayTime:Float=4, ?AllowedURLs:Array) + public function new(MinDisplayTime:Float=3, ?AllowedURLs:Array) { super(MinDisplayTime, AllowedURLs); } diff --git a/art/Funkin.bmp b/art/Funkin.bmp index ee833a25..55beb478 100644 Binary files a/art/Funkin.bmp and b/art/Funkin.bmp differ diff --git a/art/FunkinAlt.bmp b/art/FunkinAlt.bmp new file mode 100644 index 00000000..ee833a25 Binary files /dev/null and b/art/FunkinAlt.bmp differ diff --git a/assets/data/introText.txt b/assets/data/introText.txt new file mode 100644 index 00000000..4c9f22b9 --- /dev/null +++ b/assets/data/introText.txt @@ -0,0 +1,24 @@ +shoutouts to tom fulp--lmao +Ludum dare--extraordinaire +cyberzone--coming soon +love to thriftman--swag +ultimate rhythm gaming--probably +dope ass game--playstation magazine +in loving memory of--henryeyes +dancin--forever +funkin--forever +ritz dx--rest in peace lol +rate five--pls no blam +rhythm gaming--ultimate +game of the year--forever +you already know--we really out here +rise and grind--love to luis +like parappa--but cooler +album of the year--chuckie finster +free gitaroo man--with love to wandaboy +better than geometry dash--fight me robtop +kiddbrute for president--vote now +play dead estate--on newgrounds +this is a god damn prototype--we workin on it okay +women are real--this is official +Nintendo Switch--pre-orders now available \ No newline at end of file diff --git a/source/ChartingState.hx b/source/ChartingState.hx index deeb3492..1dd6eb0b 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -374,16 +374,24 @@ class ChartingState extends MusicBeatState var updatedSection:Bool = false; + function lengthBpmBullshit():Float + { + if (_song.notes[curSection].changeBPM) + return _song.notes[curSection].lengthInSteps * (_song.notes[curSection].bpm / _song.bpm); + else + return _song.notes[curSection].lengthInSteps; + } + override function update(elapsed:Float) { Conductor.songPosition = FlxG.sound.music.time; _song.song = typingShit.text; - strumLine.y = getYfromStrum(Conductor.songPosition % (Conductor.stepCrochet * _song.notes[curSection].lengthInSteps)); + strumLine.y = getYfromStrum(Conductor.songPosition % (Conductor.stepCrochet * lengthBpmBullshit())); if (curBeat % 4 == 0) { - if (curStep > (_song.notes[curSection].lengthInSteps) * (curSection + 1)) + if (curStep > lengthBpmBullshit() * (curSection + 1)) { trace(curStep); trace((_song.notes[curSection].lengthInSteps) * (curSection + 1)); @@ -525,14 +533,14 @@ class ChartingState extends MusicBeatState vocals.pause(); var daNum:Int = 0; - var daLength:Int = 0; + var daLength:Float = 0; while (daNum <= sec) { - daLength += _song.notes[daNum].lengthInSteps; + daLength += lengthBpmBullshit(); daNum++; } - FlxG.sound.music.time = (daLength - (_song.notes[sec].lengthInSteps)) * Conductor.stepCrochet; + FlxG.sound.music.time = (daLength - lengthBpmBullshit()) * Conductor.stepCrochet; vocals.time = FlxG.sound.music.time; updateCurStep(); } @@ -620,7 +628,7 @@ class ChartingState extends MusicBeatState note.setGraphicSize(GRID_SIZE, GRID_SIZE); note.updateHitbox(); note.x = Math.floor(daNoteInfo * GRID_SIZE); - note.y = getYfromStrum(daStrumTime) % gridBG.height; + note.y = Math.floor(getYfromStrum(daStrumTime)) % gridBG.height; curRenderedNotes.add(note); @@ -691,7 +699,7 @@ class ChartingState extends MusicBeatState private function addNote():Void { - var noteStrum = Math.round(getStrumTime(dummyArrow.y) + (curSection * (Conductor.stepCrochet * 16))); + var noteStrum = getStrumTime(dummyArrow.y) + (curSection * (Conductor.stepCrochet * lengthBpmBullshit())); var noteData = Math.floor(FlxG.mouse.x / GRID_SIZE); var noteSus = 0; @@ -699,7 +707,7 @@ class ChartingState extends MusicBeatState curSelectedNote = _song.notes[curSection].sectionNotes[_song.notes[curSection].sectionNotes.length - 1]; - trace(getStrumTime(dummyArrow.y) + (curSection * (Conductor.stepCrochet * 16))); + trace(getStrumTime(dummyArrow.y) + (curSection * (Conductor.stepCrochet * lengthBpmBullshit()))); trace(curSection); updateGrid(); diff --git a/source/MusicBeatState.hx b/source/MusicBeatState.hx index 791cd95c..0d9da14a 100644 --- a/source/MusicBeatState.hx +++ b/source/MusicBeatState.hx @@ -34,7 +34,7 @@ class MusicBeatState extends FlxUIState everyStep(); updateCurStep(); - curBeat = Math.round(curStep / 4); + curBeat = Math.floor(curStep / 4); super.update(elapsed); } diff --git a/source/TitleState.hx b/source/TitleState.hx index 3fc2b4ac..fdd89ac1 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -20,6 +20,7 @@ import flixel.tweens.FlxEase; import flixel.tweens.FlxTween; import flixel.util.FlxColor; import flixel.util.FlxTimer; +import lime.utils.Assets; class TitleState extends MusicBeatState { @@ -32,15 +33,6 @@ class TitleState extends MusicBeatState var textGroup:FlxGroup; var ngSpr:FlxSprite; - var wackyIntros:Array> = [ - ['Shoutouts to tom fulp', 'lmao'], ["Ludum dare", "extraordinaire"], ['Cyberzone', 'coming soon'], ['love to thriftman', 'swag'], - ['ULTIMATE RHYTHM GAMING', 'probably'], ['DOPE ASS GAME', 'playstation magazine'], ['in loving memory of', 'henryeyes'], ['dancin', 'forever'], - ['Ritz dx', 'rest in peace'], ['rate five', 'pls no blam'], ['rhythm gaming', 'ultimate'], ['game of the year', 'forever'], - ['you already know', 'we really out here'], ['rise and grind', 'love to luis'], ['like parappa', 'but cooler'], - ['album of the year', 'chuckie finster'], ["free gitaroo man", "with love to wandaboy"], ['better than geometry dash', 'fight me robtop'], - ['kiddbrute for president', 'vote now'], ['play dead estate', 'on newgrounds'], ['this a god damn prototype', 'we workin on it okay'], - ['WOMEN ARE real', 'this is official'], ['Nintendo Switch', 'Pre-orders now available']]; - var curWacky:Array = []; var wackyImage:FlxSprite; @@ -53,7 +45,7 @@ class TitleState extends MusicBeatState PlayerSettings.init(); - curWacky = FlxG.random.getObject(wackyIntros); + curWacky = FlxG.random.getObject(getIntroTextShit()); // DEBUG BULLSHIT @@ -76,7 +68,7 @@ class TitleState extends MusicBeatState } #if SKIP_TO_PLAYSTATE - FlxG.switchState(new StoryMenuState()); + FlxG.switchState(new ChartingState()); #else startIntro(); #end @@ -193,6 +185,21 @@ class TitleState extends MusicBeatState // credGroup.add(credTextShit); } + function getIntroTextShit():Array> + { + var fullText:String = Assets.getText('assets/data/introText.txt'); + + var firstArray:Array = fullText.split('\n'); + var swagGoodArray:Array> = []; + + for (i in firstArray) + { + swagGoodArray.push(i.split('--')); + } + + return swagGoodArray; + } + var transitioning:Bool = false; override function update(elapsed:Float)