From 7daa7a570652668144f13c3aca0f4c9a0b64aaa6 Mon Sep 17 00:00:00 2001 From: TheoDev <132299142+TheoDevelops@users.noreply.github.com> Date: Mon, 9 Jun 2025 11:28:12 -0700 Subject: [PATCH 1/9] Add extra info for Note Splashes (#558) * add extra info for splashes * nullable * moved SplashHandler.__copyFrom to Splash.copyFrom --- source/funkin/game/Splash.hx | 39 +++++++++++++++++++++++++++++ source/funkin/game/SplashGroup.hx | 17 ++++++++----- source/funkin/game/SplashHandler.hx | 2 +- 3 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 source/funkin/game/Splash.hx diff --git a/source/funkin/game/Splash.hx b/source/funkin/game/Splash.hx new file mode 100644 index 00000000..d181c887 --- /dev/null +++ b/source/funkin/game/Splash.hx @@ -0,0 +1,39 @@ +package funkin.game; + +class Splash extends FunkinSprite +{ + /** + * The current splash strum + * WANRNING: It can be null + */ + public var strum:Null; + + /** + * Shortcut to `strum.ID` + * WARNING: It can be null + */ + public var strumID:Null; + + public static function copyFrom(source:Splash):Splash + { + var spr = new Splash(); + @:privateAccess { + spr.setPosition(source.x, source.y); + spr.frames = source.frames; + if (source.animateAtlas != null && source.atlasPath != null) + spr.loadSprite(source.atlasPath); + spr.animation.copyFrom(source.animation); + spr.visible = source.visible; + spr.alpha = source.alpha; + spr.antialiasing = source.antialiasing; + spr.scale.set(source.scale.x, source.scale.y); + spr.scrollFactor.set(source.scrollFactor.x, source.scrollFactor.y); + spr.skew.set(source.skew.x, source.skew.y); + spr.transformMatrix = source.transformMatrix; + spr.matrixExposed = source.matrixExposed; + spr.zoomFactor = source.zoomFactor; + spr.animOffsets = source.animOffsets.copy(); + } + return spr; + } +} diff --git a/source/funkin/game/SplashGroup.hx b/source/funkin/game/SplashGroup.hx index 75008a29..5f0c328e 100644 --- a/source/funkin/game/SplashGroup.hx +++ b/source/funkin/game/SplashGroup.hx @@ -2,7 +2,7 @@ package funkin.game; import haxe.xml.Access; -class SplashGroup extends FlxTypedGroup { +class SplashGroup extends FlxTypedGroup { /** * Whenever the splash group has successfully loaded or not. */ @@ -46,7 +46,7 @@ class SplashGroup extends FlxTypedGroup { } function createSplash(imagePath:String) { - var splash = new FunkinSprite(); + var splash = new Splash(); splash.antialiasing = true; splash.active = splash.visible = false; splash.loadSprite(Paths.image(imagePath)); @@ -56,7 +56,7 @@ class SplashGroup extends FlxTypedGroup { return splash; } - function setupAnims(xml:Access, splash:FunkinSprite) { + function setupAnims(xml:Access, splash:Splash) { for(strum in xml.nodes.strum) { var id:Null = Std.parseInt(strum.att.id); if (id != null) { @@ -85,12 +85,14 @@ class SplashGroup extends FlxTypedGroup { }; } - function pregenerateSplashes(splash:FunkinSprite) { + function pregenerateSplashes(splash:Splash) { // make 7 additional splashes for(i in 0...7) { - var spr = FunkinSprite.copyFrom(splash); + var spr = Splash.copyFrom(splash); spr.animation.finishCallback = function(name:String) { spr.active = spr.visible = false; + spr.strum = null; + spr.strumID = null; }; add(spr); } @@ -103,11 +105,14 @@ class SplashGroup extends FlxTypedGroup { return animationNames[id][FlxG.random.int(0, animationNames[id].length - 1)]; } - var __splash:FunkinSprite; + var __splash:Splash; public function showOnStrum(strum:Strum) { if (!valid) return null; __splash = recycle(); + __splash.strum = strum; + __splash.strumID = strum.ID; + __splash.cameras = strum.lastDrawCameras; __splash.setPosition(strum.x + ((strum.width - __splash.width) / 2), strum.y + ((strum.height - __splash.height) / 2)); __splash.active = __splash.visible = true; diff --git a/source/funkin/game/SplashHandler.hx b/source/funkin/game/SplashHandler.hx index d7bc4e46..b4512bbf 100644 --- a/source/funkin/game/SplashHandler.hx +++ b/source/funkin/game/SplashHandler.hx @@ -1,7 +1,7 @@ package funkin.game; -class SplashHandler extends FlxTypedGroup { +class SplashHandler extends FlxTypedGroup { /** * Map containing all of the splashes group. */ From b17ce24eb1cddb93057b3967f14aa63fa0905a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Sun, 15 Jun 2025 16:35:50 +0200 Subject: [PATCH 2/9] no more dramas. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2d95c17b..40cdb449 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,6 @@ In the future (when the engine won't be a WIP anymore) we're gonna also publish

Credits

-- Credits to [Ne_Eo](https://twitter.com/Ne_Eo_Twitch) and the [3D-HaxeFlixel](https://github.com/lunarcleint/3D-HaxeFlixel) repository for Away3D Flixel support - Credits to the [FlxAnimate](https://github.com/Dot-Stuff/flxanimate) team for the Animate Atlas support - Credits to Smokey555 for the backup Animate Atlas to spritesheet code - Credits to MAJigsaw77 for [hxvlc](https://github.com/MAJigsaw77/hxvlc) (video cutscene/mp4 support) and [hxdiscord_rpc](https://github.com/MAJigsaw77/hxdiscord_rpc) (discord rpc integration) From 2a44c5ca1dd9259b1c902c569153963ee22e99e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Sun, 15 Jun 2025 19:08:28 +0200 Subject: [PATCH 3/9] replacing the discord rpc --- assets/data/config/discord.json | 2 +- source/funkin/backend/utils/DiscordUtil.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/data/config/discord.json b/assets/data/config/discord.json index 582e510b..f6ad9636 100644 --- a/assets/data/config/discord.json +++ b/assets/data/config/discord.json @@ -1,4 +1,4 @@ { - "clientID": "1027994136193810442", + "clientID": "1383853614589673472", "logoKey": "icon" } \ No newline at end of file diff --git a/source/funkin/backend/utils/DiscordUtil.hx b/source/funkin/backend/utils/DiscordUtil.hx index c453a234..9d26fbda 100644 --- a/source/funkin/backend/utils/DiscordUtil.hx +++ b/source/funkin/backend/utils/DiscordUtil.hx @@ -87,7 +87,7 @@ class DiscordUtil config.logoKey = config.logoKey.getDefault("icon"); config.logoText = config.logoText.getDefault(Application.current.meta.get('title')); - config.clientID = config.clientID.getDefault("1027994136193810442"); + config.clientID = config.clientID.getDefault("1383853614589673472"); currentID = config.clientID; #end } From 26cc14f83494e534c67a8462033ad966eab3a9ef Mon Sep 17 00:00:00 2001 From: Chronic x3 <126361810+chronicsilly@users.noreply.github.com> Date: Mon, 16 Jun 2025 11:49:48 +0100 Subject: [PATCH 4/9] this has NOT been annoying me for ages (#649) --- source/funkin/menus/ModSwitchMenu.hx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/funkin/menus/ModSwitchMenu.hx b/source/funkin/menus/ModSwitchMenu.hx index eac992dc..5e42602c 100644 --- a/source/funkin/menus/ModSwitchMenu.hx +++ b/source/funkin/menus/ModSwitchMenu.hx @@ -11,9 +11,15 @@ class ModSwitchMenu extends MusicBeatSubstate { var alphabets:FlxTypedGroup; var curSelected:Int = 0; + var subCam:FlxCamera; + public override function create() { super.create(); + camera = subCam = new FlxCamera(); + subCam.bgColor = 0; + FlxG.cameras.add(subCam, false); + var bg = new FlxSprite(0, 0).makeSolid(FlxG.width, FlxG.height, 0xFF000000); bg.updateHitbox(); bg.scrollFactor.set(); @@ -63,5 +69,12 @@ class ModSwitchMenu extends MusicBeatSubstate { } alphabets.members[curSelected].alpha = 1; } + + override function destroy() { + super.destroy(); + + if (FlxG.cameras.list.contains(subCam)) + FlxG.cameras.remove(subCam); + } } #end From 34f20614797b4cfaeac84f9640fec24ac93d72f5 Mon Sep 17 00:00:00 2001 From: Til <89487150+TechnikTil@users.noreply.github.com> Date: Sat, 21 Jun 2025 05:44:55 -0600 Subject: [PATCH 5/9] =?UTF-8?q?wanrning=20=F0=9F=98=AD=20(#656)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/funkin/game/Splash.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/game/Splash.hx b/source/funkin/game/Splash.hx index d181c887..6352e31f 100644 --- a/source/funkin/game/Splash.hx +++ b/source/funkin/game/Splash.hx @@ -4,7 +4,7 @@ class Splash extends FunkinSprite { /** * The current splash strum - * WANRNING: It can be null + * WARNING: It can be null */ public var strum:Null; From 7de52cc28884c31761a08810a0df616fbb024f8a Mon Sep 17 00:00:00 2001 From: sen <132237065+SenDoesStuff@users.noreply.github.com> Date: Mon, 30 Jun 2025 08:31:09 -0400 Subject: [PATCH 6/9] Adding a check for both notehold names in the xml smiley face :D (#660) --- source/funkin/game/Note.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/game/Note.hx b/source/funkin/game/Note.hx index b8dd5e10..8bc646d9 100644 --- a/source/funkin/game/Note.hx +++ b/source/funkin/game/Note.hx @@ -154,7 +154,7 @@ class Note extends FlxSprite case 0: animation.addByPrefix('scroll', 'purple0'); animation.addByPrefix('hold', 'purple hold piece'); - animation.addByPrefix('holdend', 'pruple end hold'); + animation.addByPrefix('holdend', frames.getByName('pruple end hold') != null ? 'pruple end hold' : 'purple hold end'); case 1: animation.addByPrefix('scroll', 'blue0'); animation.addByPrefix('hold', 'blue hold piece'); From 164f44eb6bc89781824681835463d44c4e6b52bf Mon Sep 17 00:00:00 2001 From: Jade <45212377+crowplexus@users.noreply.github.com> Date: Mon, 30 Jun 2025 08:36:37 -0400 Subject: [PATCH 7/9] shut UP gh actions. --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5fcd9c8e..2d2dc145 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -7,7 +7,7 @@ jobs: build: name: Linux Build permissions: write-all - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Pulling the source uses: actions/checkout@v2 From 0a3e2be417e914db57d6417ea9c3fd69b0c665dc Mon Sep 17 00:00:00 2001 From: Jade <45212377+crowplexus@users.noreply.github.com> Date: Mon, 30 Jun 2025 09:42:27 -0400 Subject: [PATCH 8/9] fix left hold thanks axieaxolotl_ --- source/funkin/game/Note.hx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/funkin/game/Note.hx b/source/funkin/game/Note.hx index 8bc646d9..4d88d42f 100644 --- a/source/funkin/game/Note.hx +++ b/source/funkin/game/Note.hx @@ -154,7 +154,8 @@ class Note extends FlxSprite case 0: animation.addByPrefix('scroll', 'purple0'); animation.addByPrefix('hold', 'purple hold piece'); - animation.addByPrefix('holdend', frames.getByName('pruple end hold') != null ? 'pruple end hold' : 'purple hold end'); + animation.addByPrefix('holdend', 'purple hold end'); + if (frames.getByName("pruple end hold")) animation.addByPrefix("holdend", "pruple end hold"); case 1: animation.addByPrefix('scroll', 'blue0'); animation.addByPrefix('hold', 'blue hold piece'); From 5610d8abfebf61aa6980a903faa2cd0d9001816b Mon Sep 17 00:00:00 2001 From: Jade <45212377+crowplexus@users.noreply.github.com> Date: Mon, 30 Jun 2025 09:43:26 -0400 Subject: [PATCH 9/9] Update Note.hx --- source/funkin/game/Note.hx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/funkin/game/Note.hx b/source/funkin/game/Note.hx index 4d88d42f..cc1dab5e 100644 --- a/source/funkin/game/Note.hx +++ b/source/funkin/game/Note.hx @@ -155,7 +155,8 @@ class Note extends FlxSprite animation.addByPrefix('scroll', 'purple0'); animation.addByPrefix('hold', 'purple hold piece'); animation.addByPrefix('holdend', 'purple hold end'); - if (frames.getByName("pruple end hold")) animation.addByPrefix("holdend", "pruple end hold"); + if (frames.getByName("pruple end hold") != null) + animation.addByPrefix("holdend", "pruple end hold"); case 1: animation.addByPrefix('scroll', 'blue0'); animation.addByPrefix('hold', 'blue hold piece');