diff --git a/CHANGELOG.md b/CHANGELOG.md index ee6e75211..3d1bc56df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes will be documented in this file. 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). +## [0.2.3] +### Added +- More intro texts +### Fixed +- Exploit where you could potentially give yourself a high score via the debug menu +- Issue/bug where you could spam the confirm button on the story menu ([shoutouts lotusotho for the CODE contribution/pull request!](https://github.com/ninjamuffin99/Funkin/pull/19)) +- Glitch where if you never would lose health if you missed a note on a fast song (shoutouts [MrDulfin](https://github.com/ninjamuffin99/Funkin/issues/10), [HotSauceBurritos](https://github.com/ninjamuffin99/Funkin/issues/13) and [LobsterMango](https://lobstermango.newgrounds.com)) +- Fixed tiny note bleed over thingies (shoutouts [lotusotho](https://github.com/ninjamuffin99/Funkin/pull/24)) + ## [0.2.2] - 2020-11-20 ### Added - Music playing on the freeplay menu. @@ -53,4 +62,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1.0] - 2020-10-05 ### Added -- Uh, everything. This the game's initial gamejam release. We put it out \ No newline at end of file +- Uh, everything. This the game's initial gamejam release. We put it out diff --git a/Project.xml b/Project.xml index 4d162fd88..322b46532 100644 --- a/Project.xml +++ b/Project.xml @@ -9,7 +9,8 @@ - + + @@ -64,7 +65,7 @@ - + diff --git a/README.md b/README.md index e06994275..313730e50 100644 --- a/README.md +++ b/README.md @@ -4,5 +4,4 @@ This is the repository for Friday Night Funkin, a game originally made for Ludum Play the Ludum Dare prototype here: https://ninja-muffin24.itch.io/friday-night-funkin Play the Newgrounds one here: https://www.newgrounds.com/portal/view/770371 - -## BrandyBuizel porting this shit like a G to Nintendo Switch \ No newline at end of file +Support the project on the itch.io page: https://ninja-muffin24.itch.io/funkin \ No newline at end of file diff --git a/source/ChartingState.hx b/source/ChartingState.hx index f83eae315..6b1be1346 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -97,7 +97,8 @@ class ChartingState extends MusicBeatState player1: 'bf', player2: 'dad', sectionLengths: [], - speed: 1 + speed: 1, + validScore: false }; } diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index ccfdefaf2..795091ffa 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -42,7 +42,7 @@ class FreeplayState extends MusicBeatState isDebug = true; #end - if (StoryMenuState.weekUnlocked[1] || isDebug) + if (StoryMenuState.weekUnlocked[2] || isDebug) { songs.push('Spookeez'); songs.push('South'); @@ -180,12 +180,10 @@ class FreeplayState extends MusicBeatState if (curDifficulty > 2) curDifficulty = 0; - #if !switch intendedScore = Highscore.getScore(songs[curSelected], curDifficulty); #end - switch (curDifficulty) { case 0: @@ -199,7 +197,6 @@ class FreeplayState extends MusicBeatState function changeSelection(change:Int = 0) { - #if !switch NGio.logEvent('Fresh'); #end @@ -216,13 +213,11 @@ class FreeplayState extends MusicBeatState // selector.y = (70 * curSelected) + 30; - #if !switch intendedScore = Highscore.getScore(songs[curSelected], curDifficulty); // lerpScore = 0; #end - FlxG.sound.playMusic('assets/music/' + songs[curSelected] + "_Inst" + TitleState.soundExt, 0); var bullShit:Int = 0; diff --git a/source/PlayState.hx b/source/PlayState.hx index fb155f35d..2c5c6da81 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -648,7 +648,7 @@ class PlayState extends MusicBeatState } else { - //Conductor.songPosition = FlxG.sound.music.time; + // Conductor.songPosition = FlxG.sound.music.time; Conductor.songPosition += FlxG.elapsed * 1000; if (!paused) @@ -679,7 +679,7 @@ class PlayState extends MusicBeatState if (camFollow.x != dad.getMidpoint().x + 150 && !PlayState.SONG.notes[Std.int(curStep / 16)].mustHitSection) { camFollow.setPosition(dad.getMidpoint().x + 150, dad.getMidpoint().y - 100); - //camFollow.setPosition(lucky.getMidpoint().x - 120, lucky.getMidpoint().y + 210); + // camFollow.setPosition(lucky.getMidpoint().x - 120, lucky.getMidpoint().y + 210); vocals.volume = 1; if (SONG.song.toLowerCase() == 'tutorial') @@ -739,14 +739,16 @@ class PlayState extends MusicBeatState } // better streaming of shit - //RESET = Quick Game Over Screen - if (controls.RESET){ + // RESET = Quick Game Over Screen + if (controls.RESET) + { health = 0; trace("RESET = True"); } - //CHEAT = brandon's a pussy - if (controls.CHEAT){ + // CHEAT = brandon's a pussy + if (controls.CHEAT) + { health += 1; trace("User is cheating!"); } @@ -828,7 +830,7 @@ class PlayState extends MusicBeatState if (daNote.y < -daNote.height) { - if (daNote.tooLate) + if (daNote.tooLate || !daNote.wasGoodHit) { health -= 0.04; vocals.volume = 0; @@ -851,10 +853,12 @@ class PlayState extends MusicBeatState { canPause = false; - - #if !switch - Highscore.saveScore(SONG.song, songScore, storyDifficulty); - #end + if (SONG.validScore) + { + #if !switch + Highscore.saveScore(SONG.song, songScore, storyDifficulty); + #end + } if (isStoryMode) { @@ -868,11 +872,14 @@ class PlayState extends MusicBeatState FlxG.switchState(new StoryMenuState()); + // if () StoryMenuState.weekUnlocked[2] = true; - NGio.unlockMedal(60961); - Highscore.saveWeekScore(storyWeek, campaignScore, storyDifficulty); - + if (SONG.validScore) + { + NGio.unlockMedal(60961); + Highscore.saveWeekScore(storyWeek, campaignScore, storyDifficulty); + } FlxG.save.data.weekUnlocked = StoryMenuState.weekUnlocked; FlxG.save.flush(); diff --git a/source/Song.hx b/source/Song.hx index 8af708367..772652b94 100644 --- a/source/Song.hx +++ b/source/Song.hx @@ -19,6 +19,7 @@ typedef SwagSong = var player1:String; var player2:String; + var validScore:Bool; } class Song @@ -49,7 +50,6 @@ class Song public static function loadFromJson(jsonInput:String, ?folder:String):SwagSong { - var rawJson = Assets.getText('assets/data/' + folder.toLowerCase() + '/' + jsonInput.toLowerCase() + '.json').trim(); while (!rawJson.endsWith("}")) @@ -59,6 +59,7 @@ class Song } var swagShit:SwagSong = cast Json.parse(rawJson).song; + swagShit.validScore = true; trace(swagShit.notes[0]); // FIX THE CASTING ON WINDOWS/NATIVE diff --git a/source/StoryMenuState.hx b/source/StoryMenuState.hx index 1bdfa866e..d5338b2af 100644 --- a/source/StoryMenuState.hx +++ b/source/StoryMenuState.hx @@ -230,15 +230,19 @@ class StoryMenuState extends MusicBeatState var movedBack:Bool = false; var selectedWeek:Bool = false; - + var stopspamming:Bool = false; function selectWeek() { if (weekUnlocked[curWeek]) { - FlxG.sound.play('assets/sounds/confirmMenu' + TitleState.soundExt); + if (stopspamming == false) + { + FlxG.sound.play('assets/sounds/confirmMenu' + TitleState.soundExt); - grpWeekText.members[curWeek].week.animation.resume(); - grpWeekCharacters.members[1].animation.play('bfConfirm'); + grpWeekText.members[curWeek].week.animation.resume(); + grpWeekCharacters.members[1].animation.play('bfConfirm'); + stopspamming = true; + } PlayState.storyPlaylist = weekData[curWeek]; PlayState.isStoryMode = true; diff --git a/source/TitleState.hx b/source/TitleState.hx index e492d0b2a..ba0012ec6 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -51,9 +51,9 @@ class TitleState extends MusicBeatState super.create(); - #if (!switch && !debug && NG_LOGIN) - + #if ng var ng:NGio = new NGio(APIStuff.API, APIStuff.EncKey); + trace('NEWGROUNDS LOL'); #end FlxG.save.bind('funkin', 'ninjamuffin99');