diff --git a/art/flashFiles/RECOVER_alphabet-letters.fla b/art/flashFiles/RECOVER_alphabet-letters.fla new file mode 100644 index 00000000..79861b59 Binary files /dev/null and b/art/flashFiles/RECOVER_alphabet-letters.fla differ diff --git a/art/flashFiles/alphabet-letters.fla b/art/flashFiles/alphabet-letters.fla new file mode 100644 index 00000000..4f7a1609 Binary files /dev/null and b/art/flashFiles/alphabet-letters.fla differ diff --git a/art/flashFiles/speech_bubble_talking.fla b/art/flashFiles/speech_bubble_talking.fla index 61442922..79861b59 100644 Binary files a/art/flashFiles/speech_bubble_talking.fla and b/art/flashFiles/speech_bubble_talking.fla differ diff --git a/art/flashFiles/speech_bubble_talking.fla.bak b/art/flashFiles/speech_bubble_talking.fla.bak new file mode 100644 index 00000000..61442922 Binary files /dev/null and b/art/flashFiles/speech_bubble_talking.fla.bak differ diff --git a/assets/data/charts/milf/bump.hx b/assets/data/charts/milf/bump.hx index 750d8770..89b4b1c8 100644 --- a/assets/data/charts/milf/bump.hx +++ b/assets/data/charts/milf/bump.hx @@ -1,3 +1,5 @@ +import funkin.ui.Alphabet; + function beatHit(curBeat:Int) { switch(curBeat) { case 168: @@ -5,4 +7,10 @@ function beatHit(curBeat:Int) { case 200: camZoomingInterval = 4; } +} + +function createPost() { + trace("OH FUCK"); + var alpha = new Alphabet(0, 0, "azertyuiopmlkjhgfdsqwxcvbnAZERTYUIOPMLKJHGFDSQWXCVBN"); + add(alpha); } \ No newline at end of file diff --git a/assets/images/menus/alphabet.png b/assets/images/menus/alphabet.png index a649e4c3..0b270978 100644 Binary files a/assets/images/menus/alphabet.png and b/assets/images/menus/alphabet.png differ diff --git a/assets/images/menus/alphabet.xml b/assets/images/menus/alphabet.xml index 1ff21df5..a5c09760 100644 --- a/assets/images/menus/alphabet.xml +++ b/assets/images/menus/alphabet.xml @@ -2,400 +2,400 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/bf.png b/assets/images/menus/storymenu/characters/bf.png index 4754f31f..93bc4c40 100644 Binary files a/assets/images/menus/storymenu/characters/bf.png and b/assets/images/menus/storymenu/characters/bf.png differ diff --git a/assets/images/menus/storymenu/characters/bf.xml b/assets/images/menus/storymenu/characters/bf.xml new file mode 100644 index 00000000..7d1a7cc0 --- /dev/null +++ b/assets/images/menus/storymenu/characters/bf.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/dad.png b/assets/images/menus/storymenu/characters/dad.png index 22692902..704f8c89 100644 Binary files a/assets/images/menus/storymenu/characters/dad.png and b/assets/images/menus/storymenu/characters/dad.png differ diff --git a/assets/images/menus/storymenu/characters/dad.xml b/assets/images/menus/storymenu/characters/dad.xml new file mode 100644 index 00000000..b98e9fd5 --- /dev/null +++ b/assets/images/menus/storymenu/characters/dad.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/gf.png b/assets/images/menus/storymenu/characters/gf.png index 9e7116ba..afce65f5 100644 Binary files a/assets/images/menus/storymenu/characters/gf.png and b/assets/images/menus/storymenu/characters/gf.png differ diff --git a/assets/images/menus/storymenu/characters/gf.xml b/assets/images/menus/storymenu/characters/gf.xml new file mode 100644 index 00000000..c01799e4 --- /dev/null +++ b/assets/images/menus/storymenu/characters/gf.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/mom.png b/assets/images/menus/storymenu/characters/mom.png index 3c7d7c91..14501a11 100644 Binary files a/assets/images/menus/storymenu/characters/mom.png and b/assets/images/menus/storymenu/characters/mom.png differ diff --git a/assets/images/menus/storymenu/characters/mom.xml b/assets/images/menus/storymenu/characters/mom.xml new file mode 100644 index 00000000..27f0862b --- /dev/null +++ b/assets/images/menus/storymenu/characters/mom.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/parents-christmas.png b/assets/images/menus/storymenu/characters/parents-christmas.png index 175b46fa..f913b9b6 100644 Binary files a/assets/images/menus/storymenu/characters/parents-christmas.png and b/assets/images/menus/storymenu/characters/parents-christmas.png differ diff --git a/assets/images/menus/storymenu/characters/parents-christmas.xml b/assets/images/menus/storymenu/characters/parents-christmas.xml new file mode 100644 index 00000000..9d95f65d --- /dev/null +++ b/assets/images/menus/storymenu/characters/parents-christmas.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/pico.png b/assets/images/menus/storymenu/characters/pico.png index 405ee2b3..51490a72 100644 Binary files a/assets/images/menus/storymenu/characters/pico.png and b/assets/images/menus/storymenu/characters/pico.png differ diff --git a/assets/images/menus/storymenu/characters/pico.xml b/assets/images/menus/storymenu/characters/pico.xml new file mode 100644 index 00000000..9e6832cd --- /dev/null +++ b/assets/images/menus/storymenu/characters/pico.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/senpai.png b/assets/images/menus/storymenu/characters/senpai.png new file mode 100644 index 00000000..fd6cc464 Binary files /dev/null and b/assets/images/menus/storymenu/characters/senpai.png differ diff --git a/assets/images/menus/storymenu/characters/senpai.xml b/assets/images/menus/storymenu/characters/senpai.xml new file mode 100644 index 00000000..9c507684 --- /dev/null +++ b/assets/images/menus/storymenu/characters/senpai.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/menus/storymenu/characters/spooky.png b/assets/images/menus/storymenu/characters/spooky.png new file mode 100644 index 00000000..7bd966dd Binary files /dev/null and b/assets/images/menus/storymenu/characters/spooky.png differ diff --git a/assets/images/menus/storymenu/characters/spooky.xml b/assets/images/menus/storymenu/characters/spooky.xml new file mode 100644 index 00000000..fd64b00a --- /dev/null +++ b/assets/images/menus/storymenu/characters/spooky.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/buildnumber.txt b/buildnumber.txt index cf5106d7..5ed13cba 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -999 \ No newline at end of file +1002 \ No newline at end of file diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx index 99654d18..fcab431a 100644 --- a/source/funkin/game/PlayState.hx +++ b/source/funkin/game/PlayState.hx @@ -743,7 +743,9 @@ class PlayState extends MusicBeatState #end } if (FlxG.keys.justPressed.F5) { + Logs.trace('Reloading scripts...', WARNING, YELLOW); scripts.reload(); + Logs.trace('Song scripts successfully reloaded.', WARNING, GREEN); } // FlxG.watch.addQuick('VOL', vocals.amplitudeLeft); diff --git a/source/funkin/menus/StoryMenuState.hx b/source/funkin/menus/StoryMenuState.hx index 1729b08a..4717bc55 100644 --- a/source/funkin/menus/StoryMenuState.hx +++ b/source/funkin/menus/StoryMenuState.hx @@ -32,6 +32,7 @@ class StoryMenuState extends MusicBeatState { persistentUpdate = persistentDraw = true; + // WEEK INFO scoreText = new FunkinText(10, 10, 0, "SCORE: -", 36); scoreText.setFormat(Paths.font("vcr.ttf"), 32); @@ -46,6 +47,25 @@ class StoryMenuState extends MusicBeatState { for(e in [scoreText, weekTitle, weekBG]) add(e); + + // DUMBASS ARROWS + var assets = Paths.getSparrowAtlas('menus/storymenu/assets'); + + var directions = ["left", "right"]; + + leftArrow = new FlxSprite((FlxG.width + 400) / 2, weekBG.y + weekBG.height + 10 + 10); + rightArrow = new FlxSprite(FlxG.width - 10, weekBG.y + weekBG.height + 10 + 10); + for(k=>arrow in [leftArrow, rightArrow]) { + var dir = directions[k]; + + arrow.frames = assets; + arrow.animation.addByPrefix('idle', 'arrow $dir'); + arrow.animation.addByPrefix('press', 'arrow push $dir', 24, false); + arrow.animation.play('idle'); + add(arrow); + } + rightArrow.x -= rightArrow.width; + } public function loadXMLs() { @@ -110,9 +130,18 @@ class StoryMenuState extends MusicBeatState { } } } - trace(weeks); } catch(e) { + Logs.trace('Failed to parse data/weeks.xml: $e', ERROR); + } + } + public override function update(elapsed:Float) { + super.update(elapsed); + leftArrow.animation.play(controls.LEFT ? 'press' : 'idle'); + rightArrow.animation.play(controls.RIGHT ? 'press' : 'idle'); + + if (controls.BACK) { + FlxG.switchState(new MainMenuState()); } } } diff --git a/source/funkin/options/keybinds/KeybindSetting.hx b/source/funkin/options/keybinds/KeybindSetting.hx index 310f7fc1..d0010464 100644 --- a/source/funkin/options/keybinds/KeybindSetting.hx +++ b/source/funkin/options/keybinds/KeybindSetting.hx @@ -79,10 +79,16 @@ class KeybindSetting extends FlxTypedSpriteGroup { } public function changeKeybind(callback:Void->Void, cancelCallback:Void->Void, p2:Bool = false) { + + var flicker = FlxFlicker.flicker(this, 0, Options.flashingMenu ? 0.06 : 0.15, true, false, function(t) { + }); + KeybindsOptions.instance.persistentDraw = true; KeybindsOptions.instance.persistentUpdate = false; KeybindsOptions.instance.openSubState(new ChangeKeybindSubState(function(key:FlxKey) { + flicker.stop(); + flicker.destroy(); if (p2) Reflect.setField(Options, 'P2_$value', [option2 = key]); else @@ -90,6 +96,8 @@ class KeybindSetting extends FlxTypedSpriteGroup { updateText(); callback(); }, function() { + flicker.stop(); + flicker.destroy(); if (p2) Reflect.setField(Options, 'P2_$value', [option2 = 0]); else diff --git a/source/funkin/options/keybinds/KeybindsOptions.hx b/source/funkin/options/keybinds/KeybindsOptions.hx index 0af91a14..19797f64 100644 --- a/source/funkin/options/keybinds/KeybindsOptions.hx +++ b/source/funkin/options/keybinds/KeybindsOptions.hx @@ -1,7 +1,6 @@ package funkin.options.keybinds; import flixel.FlxCamera; -import flixel.effects.FlxFlicker; import funkin.system.Controls; import funkin.options.Options; import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup; @@ -217,13 +216,11 @@ class KeybindsOptions extends MusicBeatSubstate { if (alphabets.members[curSelected] != null) { canSelect = false; CoolUtil.playMenuSFX(1); - FlxFlicker.flicker(alphabets.members[curSelected], 0.4, Options.flashingMenu ? 0.06 : 0.15, true, false, function(t) { - alphabets.members[curSelected].changeKeybind(function() { - canSelect = true; - }, function() { - canSelect = true; - }, p2Selected); - }); + alphabets.members[curSelected].changeKeybind(function() { + canSelect = true; + }, function() { + canSelect = true; + }, p2Selected); } } diff --git a/source/funkin/system/Logs.hx b/source/funkin/system/Logs.hx index df6f2de6..e2370fd3 100644 --- a/source/funkin/system/Logs.hx +++ b/source/funkin/system/Logs.hx @@ -1,5 +1,7 @@ package funkin.system; +import flixel.system.debug.log.LogStyle; +import flixel.system.frontEnds.LogFrontEnd; import haxe.Log; import funkin.windows.WindowsAPI; import funkin.windows.WindowsAPI.ConsoleColor; @@ -18,6 +20,26 @@ class Logs { logText(Std.string(v)) ], TRACE)); }; + + LogFrontEnd.onLogs = function(Data, Style, FireOnce) { + var prefix = "[FLIXEL]"; + var color:ConsoleColor = LIGHTGRAY; + var level:Level = INFO; + if (Style == LogStyle.CONSOLE) {prefix = "> "; color = WHITE; level = INFO; } + if (Style == LogStyle.ERROR) {prefix = "[FLIXEL ERROR]"; color = RED; level = ERROR; } + if (Style == LogStyle.NORMAL) {prefix = "[FLIXEL]"; color = WHITE; level = INFO; } + if (Style == LogStyle.NOTICE) {prefix = "[FLIXEL NOTICE]"; color = GREEN; level = WARNING;} + if (Style == LogStyle.WARNING) {prefix = "[FLIXEL WARNING]"; color = YELLOW; level = WARNING;} + + var d:Dynamic = Data; + if (!(d is Array)) + d = [d]; + var a:Array = d; + var strs = [for(e in a) Std.string(e)]; + for(e in strs) { + Logs.trace('$prefix $e', level, color); + } + }; } public static function prepareColoredTrace(text:Array, level:Level = INFO) {