ugh cutscene done
This commit is contained in:
Binary file not shown.
@@ -1,7 +1,10 @@
|
||||
import funkin.system.FunkinSprite;
|
||||
|
||||
var tankman:FunkinSprite;
|
||||
var tankTalk1, tankTalk2, bfBeep, distorto:FlxSound;
|
||||
|
||||
function create() {
|
||||
FlxG.camera.zoom = 1;
|
||||
game.camHUD.visible = false;
|
||||
|
||||
tankman = new FunkinSprite(game.dad.x + game.dad.globalOffset.x + 520, game.dad.y + game.dad.globalOffset.y + 225);
|
||||
@@ -9,18 +12,68 @@ function create() {
|
||||
tankman.loadSprite(Paths.image('game/cutscenes/tank/ugh-tankman'));
|
||||
tankman.animateAtlas.anim.addBySymbol('1', 'TANK TALK 1 P1', 24, false);
|
||||
tankman.animateAtlas.anim.addBySymbol('2', 'TANK TALK 1 P2', 24, false);
|
||||
game.insert(game.members.indexOf(game.dad), tankman);
|
||||
|
||||
game.insert(game.members.indexOf(game.dad), tankman);
|
||||
game.dad.visible = false;
|
||||
|
||||
tankman.playAnim('1');
|
||||
|
||||
game.camFollow.setPosition(tankman.x, tankman.y);
|
||||
|
||||
focusOn(game.dad);
|
||||
game.persistentUpdate = true;
|
||||
|
||||
tankTalk1 = FlxG.sound.load(Paths.sound('cutscenes/tank/ugh-1'));
|
||||
tankTalk2 = FlxG.sound.load(Paths.sound('cutscenes/tank/ugh-2'));
|
||||
bfBeep = FlxG.sound.load(Paths.sound('cutscenes/tank/ugh-beep'));
|
||||
bfBeep.onComplete = function() {
|
||||
game.boyfriend.dance();
|
||||
};
|
||||
distorto = FlxG.sound.load(Paths.music('DISTORTO'));
|
||||
distorto.volume = 0;
|
||||
distorto.play();
|
||||
distorto.fadeIn(5, 0, 0.5);
|
||||
|
||||
tankman.playAnim('1');
|
||||
tankTalk1.play();
|
||||
|
||||
new FlxTimer().start(3, function(tmr:FlxTimer) {
|
||||
focusOn(game.boyfriend);
|
||||
|
||||
new FlxTimer().start(1.5, function(t) {
|
||||
game.boyfriend.playAnim("singUP");
|
||||
bfBeep.play();
|
||||
|
||||
new FlxTimer().start(1.5, function(t) {
|
||||
focusOn(game.dad);
|
||||
tankTalk2.play();
|
||||
tankman.playAnim('2');
|
||||
|
||||
new FlxTimer().start(6.1, function(t) {
|
||||
game.remove(tankman);
|
||||
tankman.destroy();
|
||||
|
||||
game.camHUD.visible = true;
|
||||
game.dad.visible = true;
|
||||
distorto.fadeOut((Conductor.crochet / 1000) * 5, 0);
|
||||
|
||||
close();
|
||||
}, 1);
|
||||
}, 1);
|
||||
}, 1);
|
||||
}, 1);
|
||||
}
|
||||
|
||||
function focusOn(char) {
|
||||
var camPos = char.getCameraPosition();
|
||||
game.camFollow.setPosition(camPos.x, camPos.y);
|
||||
camPos.put();
|
||||
}
|
||||
|
||||
function update(elapsed:Float) {
|
||||
if (FlxG.keys.justPressed.F5)
|
||||
FlxG.resetState();
|
||||
|
||||
if (tankTalk1.playing) lipSync(tankTalk1);
|
||||
if (tankTalk2.playing) lipSync(tankTalk2);
|
||||
}
|
||||
|
||||
function lipSync(sound:FlxSound) {
|
||||
tankman.animateAtlas.anim.curFrame = Std.int(tankman.animateAtlas.anim.length / sound.length * sound.time);
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
2213
|
||||
2216
|
||||
@@ -692,11 +692,12 @@ class PlayState extends MusicBeatState
|
||||
DiscordUtil.changeSongPresence(detailsText, (paused ? "Paused - " : "") + SONG.song + " (" + difficulty + ")", inst, getIconRPC());
|
||||
}
|
||||
|
||||
public function startCutscene() {
|
||||
public function startCutscene(prefix:String = "") {
|
||||
if (playCutscenes) {
|
||||
var videoCutscene = Paths.video('${PlayState.SONG.song.toLowerCase()}-cutscene');
|
||||
var videoCutsceneAlt = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/cutscene.mp4');
|
||||
var dialogue = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/dialogue.xml');
|
||||
inCutscene = true;
|
||||
var videoCutscene = Paths.video('${PlayState.SONG.song.toLowerCase()}-${prefix}cutscene');
|
||||
var videoCutsceneAlt = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/${prefix}cutscene.mp4');
|
||||
var dialogue = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/${prefix}dialogue.xml');
|
||||
persistentUpdate = true;
|
||||
if (cutscene != null) {
|
||||
openSubState(new ScriptedCutscene(cutscene, function() {
|
||||
@@ -728,42 +729,6 @@ class PlayState extends MusicBeatState
|
||||
startCountdown();
|
||||
}
|
||||
|
||||
public function startEndCutscene() {
|
||||
if (playCutscenes) {
|
||||
var videoCutscene = Paths.video('${PlayState.SONG.song.toLowerCase()}-end-cutscene');
|
||||
var videoCutsceneAlt = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/end-cutscene.mp4');
|
||||
var dialogue = Paths.file('songs/${PlayState.SONG.song.toLowerCase()}/end-dialogue.xml');
|
||||
persistentUpdate = true;
|
||||
if (endCutscene != null) {
|
||||
openSubState(new ScriptedCutscene(endCutscene, function() {
|
||||
nextSong();
|
||||
}));
|
||||
} else if (Assets.exists(dialogue)) {
|
||||
FlxTransitionableState.skipNextTransIn = true;
|
||||
openSubState(new DialogueCutscene(dialogue, function() {
|
||||
startCountdown();
|
||||
}));
|
||||
} else if (Assets.exists(videoCutsceneAlt)) {
|
||||
FlxTransitionableState.skipNextTransIn = true;
|
||||
persistentUpdate = false;
|
||||
openSubState(new VideoCutscene(videoCutsceneAlt, function() {
|
||||
nextSong();
|
||||
}));
|
||||
persistentDraw = false;
|
||||
} else if (Assets.exists(videoCutscene)) {
|
||||
FlxTransitionableState.skipNextTransIn = true;
|
||||
persistentUpdate = false;
|
||||
openSubState(new VideoCutscene(videoCutscene, function() {
|
||||
nextSong();
|
||||
}));
|
||||
persistentDraw = false;
|
||||
} else {
|
||||
nextSong();
|
||||
}
|
||||
} else
|
||||
nextSong();
|
||||
}
|
||||
|
||||
public function startCountdown():Void
|
||||
{
|
||||
if (!_startCountdownCalled) {
|
||||
@@ -1130,6 +1095,11 @@ class PlayState extends MusicBeatState
|
||||
super.update(elapsed);
|
||||
scripts.call("update", [elapsed]);
|
||||
|
||||
if (inCutscene) {
|
||||
scripts.call("postUpdate", [elapsed]);
|
||||
return;
|
||||
}
|
||||
|
||||
scoreTxt.text = 'Score:$songScore';
|
||||
missesTxt.text = '${comboBreaks ? "Combo Breaks" : "Misses"}:$misses';
|
||||
var acc = accuracy;
|
||||
@@ -1351,7 +1321,7 @@ class PlayState extends MusicBeatState
|
||||
#end
|
||||
}
|
||||
|
||||
startEndCutscene();
|
||||
startCutscene("end-");
|
||||
}
|
||||
|
||||
public function nextSong() {
|
||||
|
||||
Reference in New Issue
Block a user