diff --git a/art/flashFiles/tankman_fnf_lip_sync_assets.fla b/art/flashFiles/tankman_fnf_lip_sync_assets.fla
new file mode 100644
index 000000000..60e435366
Binary files /dev/null and b/art/flashFiles/tankman_fnf_lip_sync_assets.fla differ
diff --git a/art/flashFiles/tankman_fnf_lip_sync_back_ta_dave.fla b/art/flashFiles/tankman_fnf_lip_sync_back_ta_dave.fla
new file mode 100644
index 000000000..987bd5790
Binary files /dev/null and b/art/flashFiles/tankman_fnf_lip_sync_back_ta_dave.fla differ
diff --git a/assets/shared/images/characters/temp.png b/assets/shared/images/characters/temp.png
new file mode 100644
index 000000000..8cefb72e0
Binary files /dev/null and b/assets/shared/images/characters/temp.png differ
diff --git a/assets/shared/images/characters/temp.xml b/assets/shared/images/characters/temp.xml
new file mode 100644
index 000000000..50b7bd2ef
--- /dev/null
+++ b/assets/shared/images/characters/temp.xml
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/week7/images/cutsceneStuff/bfCatchesGF.png b/assets/week7/images/cutsceneStuff/bfCatchesGF.png
new file mode 100644
index 000000000..5f04d1b5b
Binary files /dev/null and b/assets/week7/images/cutsceneStuff/bfCatchesGF.png differ
diff --git a/assets/week7/images/cutsceneStuff/bfCatchesGF.xml b/assets/week7/images/cutsceneStuff/bfCatchesGF.xml
new file mode 100644
index 000000000..12e5f17c5
--- /dev/null
+++ b/assets/week7/images/cutsceneStuff/bfCatchesGF.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-0.png b/assets/week7/images/cutsceneStuff/gfHoldup-0.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-0.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-0.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-0.xml b/assets/week7/images/cutsceneStuff/gfHoldup-0.xml
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-0.xml
rename to assets/week7/images/cutsceneStuff/gfHoldup-0.xml
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-1.png b/assets/week7/images/cutsceneStuff/gfHoldup-1.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-1.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-1.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-1.xml b/assets/week7/images/cutsceneStuff/gfHoldup-1.xml
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-1.xml
rename to assets/week7/images/cutsceneStuff/gfHoldup-1.xml
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-2.png b/assets/week7/images/cutsceneStuff/gfHoldup-2.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-2.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-2.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-2.xml b/assets/week7/images/cutsceneStuff/gfHoldup-2.xml
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-2.xml
rename to assets/week7/images/cutsceneStuff/gfHoldup-2.xml
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-3.png b/assets/week7/images/cutsceneStuff/gfHoldup-3.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-3.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-3.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-3.xml b/assets/week7/images/cutsceneStuff/gfHoldup-3.xml
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-3.xml
rename to assets/week7/images/cutsceneStuff/gfHoldup-3.xml
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-4.png b/assets/week7/images/cutsceneStuff/gfHoldup-4.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-4.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-4.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-4.xml b/assets/week7/images/cutsceneStuff/gfHoldup-4.xml
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-4.xml
rename to assets/week7/images/cutsceneStuff/gfHoldup-4.xml
diff --git a/assets/preload/images/cutsceneStuff/gfHoldup-5.png b/assets/week7/images/cutsceneStuff/gfHoldup-5.png
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldup-5.png
rename to assets/week7/images/cutsceneStuff/gfHoldup-5.png
diff --git a/assets/preload/images/cutsceneStuff/gfHoldupCutsceneOffsets.txt b/assets/week7/images/cutsceneStuff/gfHoldupCutsceneOffsets.txt
similarity index 100%
rename from assets/preload/images/cutsceneStuff/gfHoldupCutsceneOffsets.txt
rename to assets/week7/images/cutsceneStuff/gfHoldupCutsceneOffsets.txt
diff --git a/assets/week7/images/cutsceneStuff/tankTalkSong1.png b/assets/week7/images/cutsceneStuff/tankTalkSong1.png
new file mode 100644
index 000000000..28a1d19d4
Binary files /dev/null and b/assets/week7/images/cutsceneStuff/tankTalkSong1.png differ
diff --git a/assets/week7/images/cutsceneStuff/tankTalkSong1.xml b/assets/week7/images/cutsceneStuff/tankTalkSong1.xml
new file mode 100644
index 000000000..26bd1d957
--- /dev/null
+++ b/assets/week7/images/cutsceneStuff/tankTalkSong1.xml
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/week7/sounds/bfBeep.mp3 b/assets/week7/sounds/bfBeep.mp3
new file mode 100644
index 000000000..fd01e9942
Binary files /dev/null and b/assets/week7/sounds/bfBeep.mp3 differ
diff --git a/assets/week7/sounds/bfBeep.ogg b/assets/week7/sounds/bfBeep.ogg
new file mode 100644
index 000000000..a1195aa91
Binary files /dev/null and b/assets/week7/sounds/bfBeep.ogg differ
diff --git a/assets/week7/sounds/killYou.mp3 b/assets/week7/sounds/killYou.mp3
new file mode 100644
index 000000000..38fd8b30f
Binary files /dev/null and b/assets/week7/sounds/killYou.mp3 differ
diff --git a/assets/week7/sounds/killYou.ogg b/assets/week7/sounds/killYou.ogg
new file mode 100644
index 000000000..97ee8e81a
Binary files /dev/null and b/assets/week7/sounds/killYou.ogg differ
diff --git a/assets/week7/sounds/stressCutscene.mp3 b/assets/week7/sounds/stressCutscene.mp3
new file mode 100644
index 000000000..202463a42
Binary files /dev/null and b/assets/week7/sounds/stressCutscene.mp3 differ
diff --git a/assets/week7/sounds/stressCutscene.ogg b/assets/week7/sounds/stressCutscene.ogg
new file mode 100644
index 000000000..b2fa6b226
Binary files /dev/null and b/assets/week7/sounds/stressCutscene.ogg differ
diff --git a/assets/week7/sounds/wellWellWell.mp3 b/assets/week7/sounds/wellWellWell.mp3
new file mode 100644
index 000000000..43af20647
Binary files /dev/null and b/assets/week7/sounds/wellWellWell.mp3 differ
diff --git a/assets/week7/sounds/wellWellWell.ogg b/assets/week7/sounds/wellWellWell.ogg
new file mode 100644
index 000000000..474a6f545
Binary files /dev/null and b/assets/week7/sounds/wellWellWell.ogg differ
diff --git a/source/CutsceneCharacter.hx b/source/CutsceneCharacter.hx
index 0073007b1..823fa2e74 100644
--- a/source/CutsceneCharacter.hx
+++ b/source/CutsceneCharacter.hx
@@ -50,6 +50,7 @@ class CutsceneCharacter extends FlxTypedGroup
cutScene.frames = Paths.getSparrowAtlas('cutsceneStuff/' + imageShit + "-" + daNum);
cutScene.animation.addByPrefix('weed', arrayLMFAOOOO[daNum], 24, false);
cutScene.animation.play('weed');
+ cutScene.antialiasing = true;
cutScene.animation.finishCallback = function(anim:String)
{
diff --git a/source/DebugBoundingState.hx b/source/DebugBoundingState.hx
new file mode 100644
index 000000000..44b54f6b7
--- /dev/null
+++ b/source/DebugBoundingState.hx
@@ -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();
+ }
+}
diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx
index 2297439e3..31c66971a 100644
--- a/source/FreeplayState.hx
+++ b/source/FreeplayState.hx
@@ -1,4 +1,5 @@
package;
+
#if discord_rpc
import Discord.DiscordClient;
#end
@@ -213,6 +214,9 @@ class FreeplayState extends MusicBeatState
changeSelection(1);
}
+ if (FlxG.mouse.wheel != 0)
+ changeSelection(-Math.round(FlxG.mouse.wheel / 4));
+
if (controls.UI_LEFT_P)
changeDiff(-1);
if (controls.UI_RIGHT_P)
diff --git a/source/PlayState.hx b/source/PlayState.hx
index 45be5532a..b7224d7b5 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -20,6 +20,7 @@ import flixel.addons.transition.FlxTransitionableState;
import flixel.graphics.atlas.FlxAtlas;
import flixel.graphics.frames.FlxAtlasFrames;
import flixel.group.FlxGroup.FlxTypedGroup;
+import flixel.group.FlxGroup;
import flixel.math.FlxMath;
import flixel.math.FlxPoint;
import flixel.math.FlxRect;
@@ -121,6 +122,7 @@ class PlayState extends MusicBeatState
var wiggleShit:WiggleEffect = new WiggleEffect();
var tankmanRun:FlxTypedGroup;
+ var gfCutsceneLayer:FlxGroup;
var talking:Bool = true;
var songScore:Int = 0;
@@ -731,6 +733,9 @@ class PlayState extends MusicBeatState
add(gf);
+ gfCutsceneLayer = new FlxGroup();
+ add(gfCutsceneLayer);
+
// Shitty layering but whatev it works LOL
if (curStage == 'limo')
add(limo);
@@ -872,6 +877,7 @@ class PlayState extends MusicBeatState
schoolIntro(doof);
case 'thorns':
schoolIntro(doof);
+
default:
startCountdown();
}
@@ -880,6 +886,11 @@ class PlayState extends MusicBeatState
{
switch (curSong.toLowerCase())
{
+ case 'ugh':
+ ughIntro();
+ case 'stress':
+ stressIntro();
+
default:
startCountdown();
}
@@ -888,6 +899,126 @@ class PlayState extends MusicBeatState
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;
+ 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;
+ remove(tankCutscene);
+ });
+
+ cameraMovement();
+
+ startCountdown();
+ camHUD.visible = true;
+ });
+ });
+ });
+ }
+
+ 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
{
#if discord_rpc
@@ -1003,6 +1134,8 @@ class PlayState extends MusicBeatState
function startCountdown():Void
{
+ gf.visible = true;
+
inCutscene = false;
generateStaticArrows(0);
diff --git a/source/TitleState.hx b/source/TitleState.hx
index 09fdb1ad2..3f85c359e 100644
--- a/source/TitleState.hx
+++ b/source/TitleState.hx
@@ -56,26 +56,6 @@ class TitleState extends MusicBeatState
// FlxG.bitmap.clearCache();
#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();
FlxG.sound.muteKeys = [ZERO];