mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-27 10:05:41 -05:00
Merge branch 'master' of github.com:ninjamuffin99/Funkin-secret into nitpix
This commit is contained in:
commit
ab6cd0e34e
5 changed files with 206 additions and 20 deletions
|
@ -50,6 +50,7 @@ class CutsceneCharacter extends FlxTypedGroup<FlxSprite>
|
||||||
cutScene.frames = Paths.getSparrowAtlas('cutsceneStuff/' + imageShit + "-" + daNum);
|
cutScene.frames = Paths.getSparrowAtlas('cutsceneStuff/' + imageShit + "-" + daNum);
|
||||||
cutScene.animation.addByPrefix('weed', arrayLMFAOOOO[daNum], 24, false);
|
cutScene.animation.addByPrefix('weed', arrayLMFAOOOO[daNum], 24, false);
|
||||||
cutScene.animation.play('weed');
|
cutScene.animation.play('weed');
|
||||||
|
cutScene.antialiasing = true;
|
||||||
|
|
||||||
cutScene.animation.finishCallback = function(anim:String)
|
cutScene.animation.finishCallback = function(anim:String)
|
||||||
{
|
{
|
||||||
|
|
35
source/DebugBoundingState.hx
Normal file
35
source/DebugBoundingState.hx
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
package;
|
||||||
|
|
||||||
|
import flixel.FlxG;
|
||||||
|
import flixel.FlxSprite;
|
||||||
|
import flixel.FlxState;
|
||||||
|
import openfl.Assets;
|
||||||
|
import sys.io.File;
|
||||||
|
|
||||||
|
class DebugBoundingState extends FlxState
|
||||||
|
{
|
||||||
|
override function create()
|
||||||
|
{
|
||||||
|
var bf:FlxSprite = new FlxSprite().loadGraphic(Paths.image('characters/temp'));
|
||||||
|
add(bf);
|
||||||
|
|
||||||
|
FlxG.stage.window.onDropFile.add(function(path:String)
|
||||||
|
{
|
||||||
|
trace("DROPPED FILE FROM: " + Std.string(path));
|
||||||
|
var newPath = "./" + Paths.image('characters/temp');
|
||||||
|
File.copy(path, newPath);
|
||||||
|
|
||||||
|
var swag = Paths.image('characters/temp');
|
||||||
|
|
||||||
|
if (bf != null)
|
||||||
|
remove(bf);
|
||||||
|
FlxG.bitmap.removeByKey(Paths.image('characters/temp'));
|
||||||
|
Assets.cache.clear();
|
||||||
|
|
||||||
|
bf.loadGraphic(Paths.image('characters/temp'));
|
||||||
|
add(bf);
|
||||||
|
});
|
||||||
|
|
||||||
|
super.create();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
package;
|
package;
|
||||||
|
|
||||||
#if discord_rpc
|
#if discord_rpc
|
||||||
import Discord.DiscordClient;
|
import Discord.DiscordClient;
|
||||||
#end
|
#end
|
||||||
|
@ -213,6 +214,9 @@ class FreeplayState extends MusicBeatState
|
||||||
changeSelection(1);
|
changeSelection(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (FlxG.mouse.wheel != 0)
|
||||||
|
changeSelection(-Math.round(FlxG.mouse.wheel / 4));
|
||||||
|
|
||||||
if (controls.UI_LEFT_P)
|
if (controls.UI_LEFT_P)
|
||||||
changeDiff(-1);
|
changeDiff(-1);
|
||||||
if (controls.UI_RIGHT_P)
|
if (controls.UI_RIGHT_P)
|
||||||
|
|
|
@ -20,6 +20,7 @@ import flixel.addons.transition.FlxTransitionableState;
|
||||||
import flixel.graphics.atlas.FlxAtlas;
|
import flixel.graphics.atlas.FlxAtlas;
|
||||||
import flixel.graphics.frames.FlxAtlasFrames;
|
import flixel.graphics.frames.FlxAtlasFrames;
|
||||||
import flixel.group.FlxGroup.FlxTypedGroup;
|
import flixel.group.FlxGroup.FlxTypedGroup;
|
||||||
|
import flixel.group.FlxGroup;
|
||||||
import flixel.math.FlxMath;
|
import flixel.math.FlxMath;
|
||||||
import flixel.math.FlxPoint;
|
import flixel.math.FlxPoint;
|
||||||
import flixel.math.FlxRect;
|
import flixel.math.FlxRect;
|
||||||
|
@ -122,6 +123,7 @@ class PlayState extends MusicBeatState
|
||||||
var wiggleShit:WiggleEffect = new WiggleEffect();
|
var wiggleShit:WiggleEffect = new WiggleEffect();
|
||||||
|
|
||||||
var tankmanRun:FlxTypedGroup<TankmenBG>;
|
var tankmanRun:FlxTypedGroup<TankmenBG>;
|
||||||
|
var gfCutsceneLayer:FlxGroup;
|
||||||
|
|
||||||
var talking:Bool = true;
|
var talking:Bool = true;
|
||||||
var songScore:Int = 0;
|
var songScore:Int = 0;
|
||||||
|
@ -729,6 +731,9 @@ class PlayState extends MusicBeatState
|
||||||
|
|
||||||
add(gf);
|
add(gf);
|
||||||
|
|
||||||
|
gfCutsceneLayer = new FlxGroup();
|
||||||
|
add(gfCutsceneLayer);
|
||||||
|
|
||||||
// Shitty layering but whatev it works LOL
|
// Shitty layering but whatev it works LOL
|
||||||
if (curStage == 'limo')
|
if (curStage == 'limo')
|
||||||
add(limo);
|
add(limo);
|
||||||
|
@ -870,6 +875,7 @@ class PlayState extends MusicBeatState
|
||||||
schoolIntro(doof);
|
schoolIntro(doof);
|
||||||
case 'thorns':
|
case 'thorns':
|
||||||
schoolIntro(doof);
|
schoolIntro(doof);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
startCountdown();
|
startCountdown();
|
||||||
}
|
}
|
||||||
|
@ -878,6 +884,13 @@ class PlayState extends MusicBeatState
|
||||||
{
|
{
|
||||||
switch (curSong.toLowerCase())
|
switch (curSong.toLowerCase())
|
||||||
{
|
{
|
||||||
|
case 'ugh':
|
||||||
|
ughIntro();
|
||||||
|
case 'stress':
|
||||||
|
stressIntro();
|
||||||
|
case 'guns':
|
||||||
|
gunsIntro();
|
||||||
|
|
||||||
default:
|
default:
|
||||||
startCountdown();
|
startCountdown();
|
||||||
}
|
}
|
||||||
|
@ -886,6 +899,157 @@ class PlayState extends MusicBeatState
|
||||||
super.create();
|
super.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ughIntro()
|
||||||
|
{
|
||||||
|
dad.visible = false;
|
||||||
|
var tankCutscene:FlxSprite = new FlxSprite(-20, 320);
|
||||||
|
tankCutscene.frames = Paths.getSparrowAtlas('cutsceneStuff/tankTalkSong1');
|
||||||
|
tankCutscene.animation.addByPrefix('wellWell', 'TANK TALK 1 P1', 24, false);
|
||||||
|
tankCutscene.animation.addByPrefix('killYou', 'TANK TALK 1 P2', 24, false);
|
||||||
|
tankCutscene.animation.play('wellWell');
|
||||||
|
tankCutscene.antialiasing = true;
|
||||||
|
gfCutsceneLayer.add(tankCutscene);
|
||||||
|
|
||||||
|
camHUD.visible = false;
|
||||||
|
|
||||||
|
FlxG.camera.zoom *= 1.2;
|
||||||
|
camFollow.y += 100;
|
||||||
|
|
||||||
|
FlxG.sound.play(Paths.sound('wellWellWell'));
|
||||||
|
|
||||||
|
new FlxTimer().start(3, function(tmr:FlxTimer)
|
||||||
|
{
|
||||||
|
camFollow.x += 800;
|
||||||
|
camFollow.y += 100;
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.2}, 0.27, {ease: FlxEase.quadInOut});
|
||||||
|
|
||||||
|
new FlxTimer().start(1.5, function(bep:FlxTimer)
|
||||||
|
{
|
||||||
|
boyfriend.playAnim('singUP');
|
||||||
|
// play sound
|
||||||
|
FlxG.sound.play(Paths.sound('bfBeep'));
|
||||||
|
});
|
||||||
|
|
||||||
|
new FlxTimer().start(3, function(swaggy:FlxTimer)
|
||||||
|
{
|
||||||
|
camFollow.x -= 800;
|
||||||
|
camFollow.y -= 100;
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.2}, 0.5, {ease: FlxEase.quadInOut});
|
||||||
|
tankCutscene.animation.play('killYou');
|
||||||
|
FlxG.sound.play(Paths.sound('killYou'));
|
||||||
|
new FlxTimer().start(6.1, function(swagasdga:FlxTimer)
|
||||||
|
{
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, (Conductor.crochet / 1000) * 5, {ease: FlxEase.quadInOut});
|
||||||
|
|
||||||
|
new FlxTimer().start((Conductor.crochet / 1000) * 5, function(money:FlxTimer)
|
||||||
|
{
|
||||||
|
dad.visible = true;
|
||||||
|
gfCutsceneLayer.remove(tankCutscene);
|
||||||
|
});
|
||||||
|
|
||||||
|
cameraMovement();
|
||||||
|
|
||||||
|
startCountdown();
|
||||||
|
camHUD.visible = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function gunsIntro()
|
||||||
|
{
|
||||||
|
camFollow.y += 100;
|
||||||
|
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.3}, 4, {ease: FlxEase.quadInOut});
|
||||||
|
|
||||||
|
dad.visible = false;
|
||||||
|
var tankCutscene:FlxSprite = new FlxSprite(20, 320);
|
||||||
|
tankCutscene.frames = Paths.getSparrowAtlas('cutsceneStuff/tankTalkSong2');
|
||||||
|
tankCutscene.animation.addByPrefix('tankyguy', 'tankyguy', 24, false);
|
||||||
|
tankCutscene.animation.play('tankyguy');
|
||||||
|
tankCutscene.antialiasing = true;
|
||||||
|
gfCutsceneLayer.add(tankCutscene); // add();
|
||||||
|
|
||||||
|
FlxG.sound.play(Paths.sound('tankSong2'));
|
||||||
|
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.4}, 0.4, {ease: FlxEase.quadOut, startDelay: 4.1});
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.3}, 0.7, {ease: FlxEase.quadInOut, startDelay: 4.55});
|
||||||
|
|
||||||
|
new FlxTimer().start(11, function(tmr:FlxTimer)
|
||||||
|
{
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, (Conductor.crochet * 9) / 1000, {ease: FlxEase.quartInOut});
|
||||||
|
startCountdown();
|
||||||
|
new FlxTimer().start((Conductor.crochet * 25) / 1000, function(daTim:FlxTimer)
|
||||||
|
{
|
||||||
|
dad.visible = true;
|
||||||
|
gfCutsceneLayer.remove(tankCutscene);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function stressIntro()
|
||||||
|
{
|
||||||
|
for (i in 0...5)
|
||||||
|
{
|
||||||
|
var dummyLoader:FlxSprite = new FlxSprite();
|
||||||
|
dummyLoader.loadGraphic(Paths.image('cutsceneStuff/gfHoldup-' + i));
|
||||||
|
add(dummyLoader);
|
||||||
|
dummyLoader.alpha = 0.01;
|
||||||
|
dummyLoader.y = FlxG.height - 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
camFollow.setPosition(gf.x + 350, gf.y + 560);
|
||||||
|
|
||||||
|
var bfCatchGf:FlxSprite = new FlxSprite(boyfriend.x - 10, boyfriend.y - 90);
|
||||||
|
bfCatchGf.frames = Paths.getSparrowAtlas('cutsceneStuff/bfCatchesGF');
|
||||||
|
bfCatchGf.animation.addByPrefix('catch', 'BF catches GF', 24, false);
|
||||||
|
bfCatchGf.antialiasing = true;
|
||||||
|
add(bfCatchGf);
|
||||||
|
bfCatchGf.visible = false;
|
||||||
|
|
||||||
|
var cutsceneSound:FlxSound = new FlxSound();
|
||||||
|
cutsceneSound.loadEmbedded(Paths.sound('stressCutscene'));
|
||||||
|
|
||||||
|
cutsceneSound.play();
|
||||||
|
|
||||||
|
// cutsceneSound.onComplete = startCountdown;
|
||||||
|
|
||||||
|
new FlxTimer().start(15.1, function(tmr:FlxTimer)
|
||||||
|
{
|
||||||
|
camFollow.y -= 170;
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: FlxG.camera.zoom * 1.3}, 2.1, {
|
||||||
|
ease: FlxEase.quadInOut,
|
||||||
|
onComplete: function(twen:FlxTween)
|
||||||
|
{
|
||||||
|
FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, 0.7, {ease: FlxEase.elasticOut});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
new FlxTimer().start(2.2, function(swagTimer:FlxTimer)
|
||||||
|
{
|
||||||
|
camFollow.y += 170;
|
||||||
|
boyfriend.visible = false;
|
||||||
|
bfCatchGf.visible = true;
|
||||||
|
bfCatchGf.animation.play('catch');
|
||||||
|
bfCatchGf.animation.finishCallback = function(anim:String)
|
||||||
|
{
|
||||||
|
bfCatchGf.visible = false;
|
||||||
|
boyfriend.visible = true;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
gf.visible = false;
|
||||||
|
var cutsceneShit:CutsceneCharacter = new CutsceneCharacter(210, 70, 'gfHoldup');
|
||||||
|
gfCutsceneLayer.add(cutsceneShit);
|
||||||
|
// add(cutsceneShit);
|
||||||
|
new FlxTimer().start(20, function(alsoTmr:FlxTimer)
|
||||||
|
{
|
||||||
|
startCountdown();
|
||||||
|
gfCutsceneLayer.remove(cutsceneShit);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function initDiscord():Void
|
function initDiscord():Void
|
||||||
{
|
{
|
||||||
#if discord_rpc
|
#if discord_rpc
|
||||||
|
@ -1001,6 +1165,8 @@ class PlayState extends MusicBeatState
|
||||||
|
|
||||||
function startCountdown():Void
|
function startCountdown():Void
|
||||||
{
|
{
|
||||||
|
gf.visible = true;
|
||||||
|
|
||||||
inCutscene = false;
|
inCutscene = false;
|
||||||
|
|
||||||
generateStaticArrows(0);
|
generateStaticArrows(0);
|
||||||
|
|
|
@ -56,26 +56,6 @@ class TitleState extends MusicBeatState
|
||||||
// FlxG.bitmap.clearCache();
|
// FlxG.bitmap.clearCache();
|
||||||
#end
|
#end
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
FlxG.stage.window.onDropFile.add(function(path:String)
|
|
||||||
{
|
|
||||||
trace("DROPPED FILE FROM: " + Std.string(path));
|
|
||||||
var newPath = "./" + Paths.image('gfDanceTitle');
|
|
||||||
File.copy(path, newPath);
|
|
||||||
|
|
||||||
var swag = Paths.image('gfDanceTitle');
|
|
||||||
|
|
||||||
if (gfDance != null)
|
|
||||||
remove(gfDance);
|
|
||||||
FlxG.bitmap.removeByKey(Paths.image('gfDanceTitle'));
|
|
||||||
Assets.cache.clear();
|
|
||||||
|
|
||||||
gfDance.loadGraphic(Paths.image('gfDanceTitle'));
|
|
||||||
add(gfDance);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
swagShader = new ColorSwap();
|
swagShader = new ColorSwap();
|
||||||
|
|
||||||
FlxG.sound.muteKeys = [ZERO];
|
FlxG.sound.muteKeys = [ZERO];
|
||||||
|
|
Loading…
Reference in a new issue