ugh cutscene done

This commit is contained in:
Yoshman29
2023-02-02 17:28:49 +01:00
parent 513a72127c
commit 1532c7361b
16 changed files with 70 additions and 47 deletions
Binary file not shown.
+58 -5
View File
@@ -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
View File
@@ -1 +1 @@
2213
2216
+11 -41
View File
@@ -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() {