From 4ae7e045b12d3b5e6e99f2d204ff17e2c79bef0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:21:29 +0100 Subject: [PATCH] video cutscene fixes --- source/funkin/game/cutscenes/Cutscene.hx | 4 ++-- source/funkin/game/cutscenes/VideoCutscene.hx | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/source/funkin/game/cutscenes/Cutscene.hx b/source/funkin/game/cutscenes/Cutscene.hx index 41f7e233..21ee5690 100644 --- a/source/funkin/game/cutscenes/Cutscene.hx +++ b/source/funkin/game/cutscenes/Cutscene.hx @@ -16,8 +16,8 @@ class Cutscene extends MusicBeatSubstate { public var skippable(default, set):Bool; public function set_skippable(val:Bool):Bool { - if(!val) pauseItems.remove('Skip Cutscene'); - else if(!pauseItems.contains('Skip Cutscene')) pauseItems.insert(1, 'Skip Cutscene'); + if (!val) pauseItems.remove('Skip Cutscene'); + else if (!pauseItems.contains('Skip Cutscene')) pauseItems.insert(1, 'Skip Cutscene'); return skippable = val; } diff --git a/source/funkin/game/cutscenes/VideoCutscene.hx b/source/funkin/game/cutscenes/VideoCutscene.hx index 9216c340..9e5a50bd 100644 --- a/source/funkin/game/cutscenes/VideoCutscene.hx +++ b/source/funkin/game/cutscenes/VideoCutscene.hx @@ -62,6 +62,14 @@ class VideoCutscene extends Cutscene { video.antialiasing = true; video.autoPause = false; // Imma handle it better inside this class, mainly because of the pause menu - Nex video.bitmap.onEndReached.add(close); + video.bitmap.onFormatSetup.add(function() if (video.bitmap != null && video.bitmap.bitmapData != null) { + final width = video.bitmap.bitmapData.width; + final height = video.bitmap.bitmapData.height; + final scale:Float = Math.min(FlxG.width / width, FlxG.height / height); + video.setGraphicSize(Std.int(width * scale), Std.int(height * scale)); + video.updateHitbox(); + video.screenCenter(); + }); //cover = new FlxSprite(0, FlxG.height * 0.85).makeSolid(FlxG.width + 50, FlxG.height + 50, 0xFF000000); //cover.scrollFactor.set(0, 0); @@ -100,7 +108,7 @@ class VideoCutscene extends Cutscene { File.saveBytes(localPath, Assets.getBytes(path)); } - if(video.load(localPath)) new FlxTimer().start(0.001, function(_) {mutex.acquire(); onReady(); mutex.release();}); + if (video.load(localPath)) new FlxTimer().start(0.001, function(_) { mutex.acquire(); onReady(); mutex.release(); }); else { mutex.acquire(); close(); mutex.release(); } }); @@ -236,6 +244,7 @@ class VideoCutscene extends Cutscene { public override function destroy() { FlxG.cameras.remove(cutsceneCamera, true); + video.destroy(); super.destroy(); } #end