From def2b64a417470322a8b26e22734258795270555 Mon Sep 17 00:00:00 2001 From: CheemsAndFriends Date: Wed, 4 Sep 2024 20:08:38 +0200 Subject: [PATCH] Add lock bizz --- assets | 2 +- project/lib/harfbuzz | 1 + project/lib/hashlink | 1 + project/lib/jpeg | 1 + project/lib/lzma | 1 + project/lib/mbedtls | 1 + project/lib/mojoal | 1 + project/lib/neko | 1 + project/lib/ogg | 1 + project/lib/openal | 1 + project/lib/pixman | 1 + project/lib/png | 1 + project/lib/sdl | 1 + project/lib/tinyfiledialogs | 1 + project/lib/vorbis | 1 + project/lib/vpx | 1 + project/lib/webm | 1 + project/lib/zlib | 1 + .../ui/charSelect/CharSelectSubState.hx | 29 ++++++--------- source/funkin/ui/charSelect/Lock.hx | 35 +++++++++++++++++++ 20 files changed, 64 insertions(+), 19 deletions(-) create mode 160000 project/lib/harfbuzz create mode 160000 project/lib/hashlink create mode 160000 project/lib/jpeg create mode 160000 project/lib/lzma create mode 160000 project/lib/mbedtls create mode 160000 project/lib/mojoal create mode 160000 project/lib/neko create mode 160000 project/lib/ogg create mode 160000 project/lib/openal create mode 160000 project/lib/pixman create mode 160000 project/lib/png create mode 160000 project/lib/sdl create mode 160000 project/lib/tinyfiledialogs create mode 160000 project/lib/vorbis create mode 160000 project/lib/vpx create mode 160000 project/lib/webm create mode 160000 project/lib/zlib create mode 100644 source/funkin/ui/charSelect/Lock.hx diff --git a/assets b/assets index 5a0c8da32..74bd0131b 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit 5a0c8da32111571648b8fd07deabe2f78ae99eaa +Subproject commit 74bd0131b705e87f9704c54a44d64579153ab4af diff --git a/project/lib/harfbuzz b/project/lib/harfbuzz new file mode 160000 index 000000000..2ba0b9ee9 --- /dev/null +++ b/project/lib/harfbuzz @@ -0,0 +1 @@ +Subproject commit 2ba0b9ee94e4fdea5c3e9d20fa73eb893c0bb95e diff --git a/project/lib/hashlink b/project/lib/hashlink new file mode 160000 index 000000000..9888913ed --- /dev/null +++ b/project/lib/hashlink @@ -0,0 +1 @@ +Subproject commit 9888913ed2e1eef9fc03085100c92bd44985c781 diff --git a/project/lib/jpeg b/project/lib/jpeg new file mode 160000 index 000000000..5cf796067 --- /dev/null +++ b/project/lib/jpeg @@ -0,0 +1 @@ +Subproject commit 5cf79606784f0616590e6a3a7fdf17ad32a6df9b diff --git a/project/lib/lzma b/project/lib/lzma new file mode 160000 index 000000000..5748ce6ad --- /dev/null +++ b/project/lib/lzma @@ -0,0 +1 @@ +Subproject commit 5748ce6ad668bb10e1a1fe322b37245d0053e71a diff --git a/project/lib/mbedtls b/project/lib/mbedtls new file mode 160000 index 000000000..ab0af45d1 --- /dev/null +++ b/project/lib/mbedtls @@ -0,0 +1 @@ +Subproject commit ab0af45d11db04bd6e42ccfabe1b8d8deaae3243 diff --git a/project/lib/mojoal b/project/lib/mojoal new file mode 160000 index 000000000..a9e2f30b0 --- /dev/null +++ b/project/lib/mojoal @@ -0,0 +1 @@ +Subproject commit a9e2f30b04f10df1912d06ff5a610edda4677ba5 diff --git a/project/lib/neko b/project/lib/neko new file mode 160000 index 000000000..d8a3b4638 --- /dev/null +++ b/project/lib/neko @@ -0,0 +1 @@ +Subproject commit d8a3b463861779656a78c1a5e31c013580642185 diff --git a/project/lib/ogg b/project/lib/ogg new file mode 160000 index 000000000..db5c7a49c --- /dev/null +++ b/project/lib/ogg @@ -0,0 +1 @@ +Subproject commit db5c7a49ce7ebda47b15b78471e78fb7f2483e22 diff --git a/project/lib/openal b/project/lib/openal new file mode 160000 index 000000000..326133368 --- /dev/null +++ b/project/lib/openal @@ -0,0 +1 @@ +Subproject commit 326133368c3d7149d0ab4a98fc96f654553094a7 diff --git a/project/lib/pixman b/project/lib/pixman new file mode 160000 index 000000000..0cb4fbe32 --- /dev/null +++ b/project/lib/pixman @@ -0,0 +1 @@ +Subproject commit 0cb4fbe3241988a5d6b51d3551998ec6837c75a1 diff --git a/project/lib/png b/project/lib/png new file mode 160000 index 000000000..e4a31f024 --- /dev/null +++ b/project/lib/png @@ -0,0 +1 @@ +Subproject commit e4a31f024b6158aaaf55a43502f574d5f5d1c894 diff --git a/project/lib/sdl b/project/lib/sdl new file mode 160000 index 000000000..8ea38ebed --- /dev/null +++ b/project/lib/sdl @@ -0,0 +1 @@ +Subproject commit 8ea38ebedc846faa547693f60bcd213b21370982 diff --git a/project/lib/tinyfiledialogs b/project/lib/tinyfiledialogs new file mode 160000 index 000000000..4927ea8f4 --- /dev/null +++ b/project/lib/tinyfiledialogs @@ -0,0 +1 @@ +Subproject commit 4927ea8f44fa0151dc8e0a2b79a13dbd7827cc48 diff --git a/project/lib/vorbis b/project/lib/vorbis new file mode 160000 index 000000000..84c023699 --- /dev/null +++ b/project/lib/vorbis @@ -0,0 +1 @@ +Subproject commit 84c023699cdf023a32fa4ded32019f194afcdad0 diff --git a/project/lib/vpx b/project/lib/vpx new file mode 160000 index 000000000..fbf63dff1 --- /dev/null +++ b/project/lib/vpx @@ -0,0 +1 @@ +Subproject commit fbf63dff1f528d44f24bd662abb89fd01a4a1c25 diff --git a/project/lib/webm b/project/lib/webm new file mode 160000 index 000000000..6c1e511f4 --- /dev/null +++ b/project/lib/webm @@ -0,0 +1 @@ +Subproject commit 6c1e511f487eaea026d94d0c6494a617155b5cfb diff --git a/project/lib/zlib b/project/lib/zlib new file mode 160000 index 000000000..545f19496 --- /dev/null +++ b/project/lib/zlib @@ -0,0 +1 @@ +Subproject commit 545f1949635949159fa6282e81712aec32b5d4f1 diff --git a/source/funkin/ui/charSelect/CharSelectSubState.hx b/source/funkin/ui/charSelect/CharSelectSubState.hx index c2850916a..1a27d0392 100644 --- a/source/funkin/ui/charSelect/CharSelectSubState.hx +++ b/source/funkin/ui/charSelect/CharSelectSubState.hx @@ -331,21 +331,8 @@ class CharSelectSubState extends MusicBeatSubState } else { - var temp:FlxSprite = new FlxSprite(); + var temp:Lock = new Lock(0, 0, i); temp.ID = 1; - temp.frames = Paths.getSparrowAtlas("charSelect/locks"); - - var lockIndex:Int = i + 1; - - if (i == 3) lockIndex = 3; - - if (i >= 4) lockIndex = i - 2; - - temp.animation.addByIndices("idle", "LOCK FULL " + lockIndex + " instance 1", [0], "", 24); - temp.animation.addByIndices("selected", "LOCK FULL " + lockIndex + " instance 1", [3, 4, 5], "", 24, false); - temp.animation.addByIndices("clicked", "LOCK FULL " + lockIndex + " instance 1", [9, 10, 11, 12, 13, 14, 15], "", 24, false); - - temp.animation.play("idle"); grpIcons.add(temp); } @@ -569,6 +556,11 @@ class CharSelectSubState extends MusicBeatSubState function spamOnStep():Void { + if (FlxG.keys.justPressed.B) + { + cursorY = 3; + cursorX = 3; + } if (spamUp || spamDown || spamLeft || spamRight) { // selectSound.changePitchBySemitone(1); @@ -605,19 +597,20 @@ class CharSelectSubState extends MusicBeatSubState switch (member.ID) { case 1: + var lock:Lock = cast member; if (index == getCurrentSelected()) { - switch (member.animation.curAnim.name) + switch (lock.getCurrentAnimation()) { case "idle": - member.animation.play("selected"); + lock.playAnimation("selected"); case "selected" | "clicked": - if (controls.ACCEPT) member.animation.play("clicked", true); + if (controls.ACCEPT) lock.playAnimation((FlxG.keys.pressed.CONTROL) ? "unlock" : "clicked", true); } } else { - member.animation.play("idle"); + lock.playAnimation("idle"); } case 0: var memb:PixelatedIcon = cast member; diff --git a/source/funkin/ui/charSelect/Lock.hx b/source/funkin/ui/charSelect/Lock.hx new file mode 100644 index 000000000..42e5d63f4 --- /dev/null +++ b/source/funkin/ui/charSelect/Lock.hx @@ -0,0 +1,35 @@ +package funkin.ui.charSelect; + +import flixel.util.FlxColor; +import flxanimate.effects.FlxTint; +import funkin.graphics.adobeanimate.FlxAtlasSprite; + +class Lock extends FlxAtlasSprite +{ + var colors:Array = [ + 0x31F2A5, 0x20ECCD, 0x24D9E8, + 0x20ECCD, 0x20C8D4, 0x209BDD, + 0x209BDD, 0x2362C9, 0x243FB9 + ]; // lock colors, in a nx3 matrix format + + public function new(x:Float = 0, y:Float = 0, index:Int) + { + super(x, y, Paths.animateAtlas("charSelect/lock")); + + var tint:FlxTint = new FlxTint(colors[index], 1); + + var arr:Array = ["lock", "lock top 1", "lock top 2", "lock top 3", "lock base fuck it"]; + + onAnimationComplete.add((_) -> if (_ == "unlock") playAnimation("idle")); + var func = function(name) { + var symbol = anim.symbolDictionary[name]; + if (symbol != null && symbol.timeline.get("color") != null) symbol.timeline.get("color").get(0).colorEffect = tint; + } + for (symbol in arr) + { + func(symbol); + } + + playAnimation("idle"); + } +}