diff --git a/CHANGELOG.md b/CHANGELOG.md index 114615a..9d899d9 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 932df79..c979c9c 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 ee833a2..55beb47 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 0000000..ee833a2 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 0000000..4c9f22b --- /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 deeb349..1dd6eb0 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 791cd95..0d9da14 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 3fc2b4a..fdd89ac 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)