mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-02-06 03:28:08 +00:00
Merge branch 'nitpix' of https://github.com/ninjamuffin99/funkin-secret
This commit is contained in:
commit
d9612ebb2b
|
@ -20,7 +20,7 @@ THESE INSTRUCTIONS ARE FOR COMPILING THE GAME'S SOURCE CODE!!!
|
|||
|
||||
IF YOU WANT TO JUST DOWNLOAD AND INSTALL AND PLAY THE GAME NORMALLY, GO TO ITCH.IO TO DOWNLOAD THE GAME FOR PC, MAC, AND LINUX!!
|
||||
|
||||
https://ninja-muffin24.itch.io/friday-night-funkin
|
||||
https://ninja-muffin24.itch.io/funkin
|
||||
|
||||
IF YOU WANT TO COMPILE THE GAME YOURSELF, CONTINUE READING!!!
|
||||
|
||||
|
@ -40,10 +40,11 @@ newgrounds
|
|||
```
|
||||
So for each of those type `haxelib install [library]` so shit like `haxelib install newgrounds`
|
||||
|
||||
You'll also need to install polymod. To do this, you need to do a few things first.
|
||||
You'll also need to install a couple things that involve Gits. To do this, you need to do a few things first.
|
||||
1. Download [git-scm](https://git-scm.com/downloads). Works for Windows, Mac, and Linux, just select your build.
|
||||
2. Follow instructions to install the application properly.
|
||||
3. Run `haxelib git polymod https://github.com/larsiusprime/polymod.git` in terminal/command-prompt after your git program is installed.
|
||||
3. Run `haxelib git polymod https://github.com/larsiusprime/polymod.git` to install Polymod.
|
||||
4. Run `haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc` to install Discord RPC.
|
||||
|
||||
You should have everything ready for compiling the game! Follow the guide below to continue!
|
||||
|
||||
|
|
|
@ -32,6 +32,11 @@ class DiscordClient
|
|||
DiscordRpc.shutdown();
|
||||
}
|
||||
|
||||
public static function shutdown()
|
||||
{
|
||||
DiscordRpc.shutdown();
|
||||
}
|
||||
|
||||
static function onReady()
|
||||
{
|
||||
DiscordRpc.presence({
|
||||
|
|
|
@ -36,6 +36,7 @@ class FreeplayState extends MusicBeatState
|
|||
|
||||
private var iconArray:Array<HealthIcon> = [];
|
||||
var bg:FlxSprite;
|
||||
var scoreBG:FlxSprite;
|
||||
|
||||
override function create()
|
||||
{
|
||||
|
@ -118,7 +119,8 @@ class FreeplayState extends MusicBeatState
|
|||
scoreText.setFormat(Paths.font("vcr.ttf"), 32, FlxColor.WHITE, RIGHT);
|
||||
// scoreText.alignment = RIGHT;
|
||||
|
||||
var scoreBG:FlxSprite = new FlxSprite(scoreText.x - 6, 0).makeGraphic(Std.int(FlxG.width * 0.3), 66, 0xFF000000);
|
||||
scoreBG = new FlxSprite(scoreText.x - 6, 0).makeGraphic(1, 66, 0xFF000000);
|
||||
scoreBG.antialiasing = false;
|
||||
scoreBG.alpha = 0.6;
|
||||
add(scoreBG);
|
||||
|
||||
|
@ -201,6 +203,8 @@ class FreeplayState extends MusicBeatState
|
|||
|
||||
scoreText.text = "PERSONAL BEST:" + lerpScore;
|
||||
|
||||
positionHighscore();
|
||||
|
||||
var upP = controls.UI_UP_P;
|
||||
var downP = controls.UI_DOWN_P;
|
||||
var accepted = controls.ACCEPT;
|
||||
|
@ -254,8 +258,7 @@ class FreeplayState extends MusicBeatState
|
|||
PlayState.storyDifficulty = curDifficulty;
|
||||
|
||||
diffText.text = "< " + CoolUtil.difficultyString() + " >";
|
||||
diffText.x = FlxG.width * 0.85;
|
||||
diffText.x -= (diffText.width / 2);
|
||||
positionHighscore();
|
||||
}
|
||||
|
||||
function changeSelection(change:Int = 0)
|
||||
|
@ -305,6 +308,16 @@ class FreeplayState extends MusicBeatState
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
function positionHighscore()
|
||||
{
|
||||
scoreText.x = FlxG.width - scoreText.width - 6;
|
||||
scoreBG.scale.x = FlxG.width - scoreText.x + 6;
|
||||
scoreBG.x = FlxG.width - scoreBG.scale.x / 2;
|
||||
|
||||
diffText.x = Std.int(scoreBG.x + scoreBG.width / 2);
|
||||
diffText.x -= (diffText.width / 2);
|
||||
}
|
||||
}
|
||||
|
||||
class SongMetadata
|
||||
|
|
|
@ -25,6 +25,7 @@ class Note extends FlxSprite
|
|||
public var tooLate:Bool = false;
|
||||
public var wasGoodHit:Bool = false;
|
||||
public var prevNote:Note;
|
||||
private var willMiss:Bool = false;
|
||||
|
||||
public var sustainLength:Float = 0;
|
||||
public var isSustainNote:Bool = false;
|
||||
|
@ -126,7 +127,6 @@ class Note extends FlxSprite
|
|||
case 0:
|
||||
x += swagWidth * 0;
|
||||
animation.play('purpleScroll');
|
||||
|
||||
case 1:
|
||||
x += swagWidth * 1;
|
||||
animation.play('blueScroll');
|
||||
|
@ -201,15 +201,25 @@ class Note extends FlxSprite
|
|||
|
||||
if (mustPress)
|
||||
{
|
||||
// The * 0.5 is so that it's easier to hit them too late, instead of too early
|
||||
if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
|
||||
&& strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
|
||||
canBeHit = true;
|
||||
else
|
||||
canBeHit = false;
|
||||
|
||||
if (strumTime < Conductor.songPosition - Conductor.safeZoneOffset && !wasGoodHit)
|
||||
// miss on the NEXT frame so lag doesnt make u miss notes
|
||||
if (willMiss && !wasGoodHit)
|
||||
{
|
||||
tooLate = true;
|
||||
canBeHit = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset)
|
||||
{ // The * 0.5 is so that it's easier to hit them too late, instead of too early
|
||||
if (strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
|
||||
canBeHit = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
canBeHit = true;
|
||||
willMiss = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -192,6 +192,8 @@ class PauseSubState extends MusicBeatSubstate
|
|||
|
||||
function changeSelection(change:Int = 0):Void
|
||||
{
|
||||
FlxG.sound.play(Paths.sound('scrollMenu'), 0.4);
|
||||
|
||||
curSelected += change;
|
||||
|
||||
if (curSelected < 0)
|
||||
|
|
|
@ -63,6 +63,7 @@ class PlayState extends MusicBeatState
|
|||
var halloweenLevel:Bool = false;
|
||||
|
||||
private var vocals:FlxSound;
|
||||
private var vocalsFinished:Bool = false;
|
||||
|
||||
private var dad:Character;
|
||||
private var gf:Character;
|
||||
|
@ -606,9 +607,6 @@ class PlayState extends MusicBeatState
|
|||
gfVersion = 'gf-pixel';
|
||||
}
|
||||
|
||||
if (curStage == 'limo')
|
||||
gfVersion = 'gf-car';
|
||||
|
||||
if (SONG.song.toLowerCase() == 'stress')
|
||||
gfVersion = 'pico-speaker';
|
||||
|
||||
|
@ -1489,6 +1487,9 @@ class PlayState extends MusicBeatState
|
|||
else
|
||||
vocals = new FlxSound();
|
||||
|
||||
vocals.onComplete = function(){
|
||||
vocalsFinished = true;
|
||||
};
|
||||
FlxG.sound.list.add(vocals);
|
||||
|
||||
notes = new FlxTypedGroup<Note>();
|
||||
|
@ -1745,7 +1746,7 @@ class PlayState extends MusicBeatState
|
|||
#if discord_rpc
|
||||
override public function onFocus():Void
|
||||
{
|
||||
if (health > 0 && !paused)
|
||||
if (health > 0 && !paused && FlxG.autoPause)
|
||||
{
|
||||
if (Conductor.songPosition > 0.0)
|
||||
{
|
||||
|
@ -1762,7 +1763,7 @@ class PlayState extends MusicBeatState
|
|||
|
||||
override public function onFocusLost():Void
|
||||
{
|
||||
if (health > 0 && !paused)
|
||||
if (health > 0 && !paused && FlxG.autoPause)
|
||||
{
|
||||
DiscordClient.changePresence(detailsPausedText, SONG.song + " (" + storyDifficultyText + ")", iconRPC);
|
||||
}
|
||||
|
@ -1773,10 +1774,16 @@ class PlayState extends MusicBeatState
|
|||
|
||||
function resyncVocals():Void
|
||||
{
|
||||
vocals.pause();
|
||||
if (_exiting)
|
||||
return ;
|
||||
|
||||
vocals.pause();
|
||||
FlxG.sound.music.play();
|
||||
Conductor.songPosition = FlxG.sound.music.time;
|
||||
|
||||
if (vocalsFinished)
|
||||
return ;
|
||||
|
||||
vocals.time = Conductor.songPosition;
|
||||
vocals.play();
|
||||
}
|
||||
|
@ -2845,11 +2852,12 @@ class PlayState extends MusicBeatState
|
|||
if (curBeat % 8 == 7 && curSong == 'Bopeebo')
|
||||
{
|
||||
boyfriend.playAnim('hey', true);
|
||||
|
||||
if (SONG.song == 'Tutorial' && dad.curCharacter == 'gf')
|
||||
{
|
||||
dad.playAnim('cheer', true);
|
||||
}
|
||||
|
||||
if (curBeat % 16 == 15 && SONG.song == 'Tutorial' && dad.curCharacter == 'gf' && curBeat > 16 && curBeat < 48)
|
||||
{
|
||||
boyfriend.playAnim('hey', true);
|
||||
dad.playAnim('cheer', true);
|
||||
}
|
||||
|
||||
foregroundSprites.forEach(function(spr:BGSprite)
|
||||
|
|
|
@ -105,6 +105,10 @@ class TitleState extends MusicBeatState
|
|||
|
||||
#if discord_rpc
|
||||
DiscordClient.initialize();
|
||||
|
||||
Application.current.onExit.add (function (exitCode) {
|
||||
DiscordClient.shutdown();
|
||||
});
|
||||
#end
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue