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];