1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-11-05 06:14:36 +00:00

Merge pull request #1 from ninjamuffin99/master

merge changes
This commit is contained in:
Lotusotho 2020-12-06 14:34:47 +01:00 committed by GitHub
commit d912f1cf2a
9 changed files with 50 additions and 33 deletions

View file

@ -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/), 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). 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 ## [0.2.2] - 2020-11-20
### Added ### Added
- Music playing on the freeplay menu. - Music playing on the freeplay menu.

View file

@ -9,7 +9,8 @@
<!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file <!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file
or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"--> or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"-->
<app preloader="Preloader" resizable="true" /> <!-- <app preloader="Preloader" resizable="true" /> -->
<app preloader="flixel.system.FlxPreloader" />
<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2--> <!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
<set name="SWF_VERSION" value="11.8" /> <set name="SWF_VERSION" value="11.8" />
@ -64,7 +65,7 @@
<!--In case you want to use the ui package--> <!--In case you want to use the ui package-->
<haxelib name="flixel-ui" /> <haxelib name="flixel-ui" />
<haxelib name="newgrounds" /> <haxelib name="newgrounds"/>
<haxelib name="faxe" if='switch'/> <haxelib name="faxe" if='switch'/>
<!-- <haxelib name="markdown" /> --> <!-- <haxelib name="markdown" /> -->

View file

@ -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 Ludum Dare prototype here: https://ninja-muffin24.itch.io/friday-night-funkin
Play the Newgrounds one here: https://www.newgrounds.com/portal/view/770371 Play the Newgrounds one here: https://www.newgrounds.com/portal/view/770371
Support the project on the itch.io page: https://ninja-muffin24.itch.io/funkin
## BrandyBuizel porting this shit like a G to Nintendo Switch

View file

@ -97,7 +97,8 @@ class ChartingState extends MusicBeatState
player1: 'bf', player1: 'bf',
player2: 'dad', player2: 'dad',
sectionLengths: [], sectionLengths: [],
speed: 1 speed: 1,
validScore: false
}; };
} }

View file

@ -42,7 +42,7 @@ class FreeplayState extends MusicBeatState
isDebug = true; isDebug = true;
#end #end
if (StoryMenuState.weekUnlocked[1] || isDebug) if (StoryMenuState.weekUnlocked[2] || isDebug)
{ {
songs.push('Spookeez'); songs.push('Spookeez');
songs.push('South'); songs.push('South');
@ -180,12 +180,10 @@ class FreeplayState extends MusicBeatState
if (curDifficulty > 2) if (curDifficulty > 2)
curDifficulty = 0; curDifficulty = 0;
#if !switch #if !switch
intendedScore = Highscore.getScore(songs[curSelected], curDifficulty); intendedScore = Highscore.getScore(songs[curSelected], curDifficulty);
#end #end
switch (curDifficulty) switch (curDifficulty)
{ {
case 0: case 0:
@ -199,7 +197,6 @@ class FreeplayState extends MusicBeatState
function changeSelection(change:Int = 0) function changeSelection(change:Int = 0)
{ {
#if !switch #if !switch
NGio.logEvent('Fresh'); NGio.logEvent('Fresh');
#end #end
@ -216,13 +213,11 @@ class FreeplayState extends MusicBeatState
// selector.y = (70 * curSelected) + 30; // selector.y = (70 * curSelected) + 30;
#if !switch #if !switch
intendedScore = Highscore.getScore(songs[curSelected], curDifficulty); intendedScore = Highscore.getScore(songs[curSelected], curDifficulty);
// lerpScore = 0; // lerpScore = 0;
#end #end
FlxG.sound.playMusic('assets/music/' + songs[curSelected] + "_Inst" + TitleState.soundExt, 0); FlxG.sound.playMusic('assets/music/' + songs[curSelected] + "_Inst" + TitleState.soundExt, 0);
var bullShit:Int = 0; var bullShit:Int = 0;

View file

@ -648,7 +648,7 @@ class PlayState extends MusicBeatState
} }
else else
{ {
//Conductor.songPosition = FlxG.sound.music.time; // Conductor.songPosition = FlxG.sound.music.time;
Conductor.songPosition += FlxG.elapsed * 1000; Conductor.songPosition += FlxG.elapsed * 1000;
if (!paused) 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) 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(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; vocals.volume = 1;
if (SONG.song.toLowerCase() == 'tutorial') if (SONG.song.toLowerCase() == 'tutorial')
@ -739,14 +739,16 @@ class PlayState extends MusicBeatState
} }
// better streaming of shit // better streaming of shit
//RESET = Quick Game Over Screen // RESET = Quick Game Over Screen
if (controls.RESET){ if (controls.RESET)
{
health = 0; health = 0;
trace("RESET = True"); trace("RESET = True");
} }
//CHEAT = brandon's a pussy // CHEAT = brandon's a pussy
if (controls.CHEAT){ if (controls.CHEAT)
{
health += 1; health += 1;
trace("User is cheating!"); trace("User is cheating!");
} }
@ -828,7 +830,7 @@ class PlayState extends MusicBeatState
if (daNote.y < -daNote.height) if (daNote.y < -daNote.height)
{ {
if (daNote.tooLate) if (daNote.tooLate || !daNote.wasGoodHit)
{ {
health -= 0.04; health -= 0.04;
vocals.volume = 0; vocals.volume = 0;
@ -851,10 +853,12 @@ class PlayState extends MusicBeatState
{ {
canPause = false; canPause = false;
if (SONG.validScore)
{
#if !switch #if !switch
Highscore.saveScore(SONG.song, songScore, storyDifficulty); Highscore.saveScore(SONG.song, songScore, storyDifficulty);
#end #end
}
if (isStoryMode) if (isStoryMode)
{ {
@ -868,11 +872,14 @@ class PlayState extends MusicBeatState
FlxG.switchState(new StoryMenuState()); FlxG.switchState(new StoryMenuState());
// if ()
StoryMenuState.weekUnlocked[2] = true; StoryMenuState.weekUnlocked[2] = true;
if (SONG.validScore)
{
NGio.unlockMedal(60961); NGio.unlockMedal(60961);
Highscore.saveWeekScore(storyWeek, campaignScore, storyDifficulty); Highscore.saveWeekScore(storyWeek, campaignScore, storyDifficulty);
}
FlxG.save.data.weekUnlocked = StoryMenuState.weekUnlocked; FlxG.save.data.weekUnlocked = StoryMenuState.weekUnlocked;
FlxG.save.flush(); FlxG.save.flush();

View file

@ -19,6 +19,7 @@ typedef SwagSong =
var player1:String; var player1:String;
var player2:String; var player2:String;
var validScore:Bool;
} }
class Song class Song
@ -49,7 +50,6 @@ class Song
public static function loadFromJson(jsonInput:String, ?folder:String):SwagSong public static function loadFromJson(jsonInput:String, ?folder:String):SwagSong
{ {
var rawJson = Assets.getText('assets/data/' + folder.toLowerCase() + '/' + jsonInput.toLowerCase() + '.json').trim(); var rawJson = Assets.getText('assets/data/' + folder.toLowerCase() + '/' + jsonInput.toLowerCase() + '.json').trim();
while (!rawJson.endsWith("}")) while (!rawJson.endsWith("}"))
@ -59,6 +59,7 @@ class Song
} }
var swagShit:SwagSong = cast Json.parse(rawJson).song; var swagShit:SwagSong = cast Json.parse(rawJson).song;
swagShit.validScore = true;
trace(swagShit.notes[0]); trace(swagShit.notes[0]);
// FIX THE CASTING ON WINDOWS/NATIVE // FIX THE CASTING ON WINDOWS/NATIVE

View file

@ -230,15 +230,19 @@ class StoryMenuState extends MusicBeatState
var movedBack:Bool = false; var movedBack:Bool = false;
var selectedWeek:Bool = false; var selectedWeek:Bool = false;
var stopspamming:Bool = false;
function selectWeek() function selectWeek()
{ {
if (weekUnlocked[curWeek]) if (weekUnlocked[curWeek])
{
if (stopspamming == false)
{ {
FlxG.sound.play('assets/sounds/confirmMenu' + TitleState.soundExt); FlxG.sound.play('assets/sounds/confirmMenu' + TitleState.soundExt);
grpWeekText.members[curWeek].week.animation.resume(); grpWeekText.members[curWeek].week.animation.resume();
grpWeekCharacters.members[1].animation.play('bfConfirm'); grpWeekCharacters.members[1].animation.play('bfConfirm');
stopspamming = true;
}
PlayState.storyPlaylist = weekData[curWeek]; PlayState.storyPlaylist = weekData[curWeek];
PlayState.isStoryMode = true; PlayState.isStoryMode = true;

View file

@ -51,9 +51,9 @@ class TitleState extends MusicBeatState
super.create(); super.create();
#if (!switch && !debug && NG_LOGIN) #if ng
var ng:NGio = new NGio(APIStuff.API, APIStuff.EncKey); var ng:NGio = new NGio(APIStuff.API, APIStuff.EncKey);
trace('NEWGROUNDS LOL');
#end #end
FlxG.save.bind('funkin', 'ninjamuffin99'); FlxG.save.bind('funkin', 'ninjamuffin99');