From d84be39a5e2b7ca2d9e46bea701e7f8c53f41299 Mon Sep 17 00:00:00 2001 From: Eric Myllyoja Date: Wed, 7 Sep 2022 22:57:40 -0400 Subject: [PATCH 1/3] Minor tweaks and fixes --- source/funkin/LatencyState.hx | 8 ++++---- source/funkin/StoryMenuState.hx | 2 +- source/funkin/audiovis/SpectogramSprite.hx | 3 --- source/funkin/play/PlayState.hx | 7 +++++-- source/funkin/play/character/BaseCharacter.hx | 4 ++-- .../ui/stageBuildShit/StageOffsetSubstate.hx | 14 +++----------- 6 files changed, 15 insertions(+), 23 deletions(-) diff --git a/source/funkin/LatencyState.hx b/source/funkin/LatencyState.hx index 3f2778762..d3a790104 100644 --- a/source/funkin/LatencyState.hx +++ b/source/funkin/LatencyState.hx @@ -139,17 +139,17 @@ class LatencyState extends MusicBeatSubstate super.create(); } - override function stepHit() + override function stepHit():Bool { if (curStep % 4 == 2) { blocks.members[((curBeat % 8) + 1) % 8].alpha = 0.5; } - super.stepHit(); + return super.stepHit(); } - override function beatHit() + override function beatHit():Bool { if (curBeat % 8 == 0) blocks.forEach(blok -> @@ -160,7 +160,7 @@ class LatencyState extends MusicBeatSubstate blocks.members[curBeat % 8].alpha = 1; // block.visible = !block.visible; - super.beatHit(); + return super.beatHit(); } override function update(elapsed:Float) diff --git a/source/funkin/StoryMenuState.hx b/source/funkin/StoryMenuState.hx index d3023b4a3..a793648bf 100644 --- a/source/funkin/StoryMenuState.hx +++ b/source/funkin/StoryMenuState.hx @@ -34,7 +34,7 @@ class StoryMenuState extends MusicBeatState ['Cocoa', 'Eggnog', 'Winter-Horrorland'], ['Senpai', 'Roses', 'Thorns'], ['Ugh', 'Guns', 'Stress'], - ['Darnell', "lit-up", "2hot"] + ['Darnell', "lit-up", "2hot", "blazin"] ]; var curDifficulty:Int = 1; diff --git a/source/funkin/audiovis/SpectogramSprite.hx b/source/funkin/audiovis/SpectogramSprite.hx index d65c3d6d0..9d4f7d3c2 100644 --- a/source/funkin/audiovis/SpectogramSprite.hx +++ b/source/funkin/audiovis/SpectogramSprite.hx @@ -9,12 +9,9 @@ import flixel.system.FlxSound; import flixel.util.FlxColor; import funkin.audiovis.PolygonSpectogram.VISTYPE; import funkin.audiovis.VisShit.CurAudioInfo; -<<<<<<< HEAD -======= import funkin.audiovis.dsp.FFT; import haxe.Timer; import lime.system.ThreadPool; ->>>>>>> master import lime.utils.Int16Array; using Lambda; diff --git a/source/funkin/play/PlayState.hx b/source/funkin/play/PlayState.hx index fa3c39474..81a992edb 100644 --- a/source/funkin/play/PlayState.hx +++ b/source/funkin/play/PlayState.hx @@ -938,7 +938,7 @@ class PlayState extends MusicBeatState } else { - swagNote.x += FlxG.width / 2; // general offset + // swagNote.x += FlxG.width / 2; // general offset } } } @@ -1406,7 +1406,10 @@ class PlayState extends MusicBeatState var daPos:Float = 0; for (i in 0...(Std.int(curStep / 16 + sec))) { - if (SongLoad.getSong()[i].changeBPM) + var section = SongLoad.getSong()[i]; + if (section == null) + continue; + if (section.changeBPM) { daBPM = SongLoad.getSong()[i].bpm; } diff --git a/source/funkin/play/character/BaseCharacter.hx b/source/funkin/play/character/BaseCharacter.hx index 5d569b926..6ce168d0c 100644 --- a/source/funkin/play/character/BaseCharacter.hx +++ b/source/funkin/play/character/BaseCharacter.hx @@ -460,13 +460,13 @@ class BaseCharacter extends Bopper if (event.note.mustPress && characterType == BF) { // If the note is from the same strumline, play the sing animation. - this.playSingAnimation(event.note.data.dir, false, event.note.data.altNote); + this.playSingAnimation(event.note.data.dir, false); holdTimer = 0; } else if (!event.note.mustPress && characterType == DAD) { // If the note is from the same strumline, play the sing animation. - this.playSingAnimation(event.note.data.dir, false, event.note.data.altNote); + this.playSingAnimation(event.note.data.dir, false); holdTimer = 0; } } diff --git a/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx b/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx index 6c43d42c6..68549b19e 100644 --- a/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx +++ b/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx @@ -1,21 +1,13 @@ package funkin.ui.stageBuildShit; import flixel.FlxSprite; -import flixel.input.mouse.FlxMouseEventManager; +import flixel.input.mouse.FlxMouseEvent; import flixel.math.FlxPoint; -import flixel.ui.FlxButton; import funkin.play.PlayState; import funkin.play.character.BaseCharacter; import funkin.play.stage.StageData; -import haxe.Json; -import haxe.ui.ComponentBuilder; import haxe.ui.RuntimeComponentBuilder; -import haxe.ui.Toolkit; -import haxe.ui.components.Button; -import haxe.ui.containers.HBox; -import haxe.ui.containers.VBox; import haxe.ui.core.Component; -import openfl.Assets; import openfl.events.Event; import openfl.events.IOErrorEvent; import openfl.net.FileReference; @@ -46,7 +38,7 @@ class StageOffsetSubstate extends MusicBeatSubstate for (thing in PlayState.instance.currentStage) { - FlxMouseEventManager.add(thing, spr -> + FlxMouseEvent.add(thing, spr -> { char = cast thing; trace("JUST PRESSED!"); @@ -94,7 +86,7 @@ class StageOffsetSubstate extends MusicBeatSubstate { for (thing in PlayState.instance.currentStage) { - FlxMouseEventManager.remove(thing); + FlxMouseEvent.remove(thing); thing.alpha = 1; } From baab8e101f2b2185941d7ce72c6c9ba5275153b7 Mon Sep 17 00:00:00 2001 From: Eric Myllyoja Date: Thu, 8 Sep 2022 01:09:22 -0400 Subject: [PATCH 2/3] Stage builder improvements, Weekend 1 stage --- Project.xml | 4 +- source/Main.hx | 58 ++++--------------- .../ui/stageBuildShit/StageOffsetSubstate.hx | 8 ++- 3 files changed, 20 insertions(+), 50 deletions(-) diff --git a/Project.xml b/Project.xml index 6033fb639..eb3c57169 100644 --- a/Project.xml +++ b/Project.xml @@ -200,8 +200,8 @@ - - + + diff --git a/source/Main.hx b/source/Main.hx index 4b3adf7ff..4ba00eaad 100644 --- a/source/Main.hx +++ b/source/Main.hx @@ -4,6 +4,7 @@ import flixel.FlxGame; import flixel.FlxState; import funkin.InitState; import funkin.MemoryCounter; +import haxe.ui.Toolkit; import openfl.Lib; import openfl.display.FPS; import openfl.display.Sprite; @@ -95,6 +96,8 @@ class Main extends Sprite initialState = TitleState; #end + initHaxeUI(); + addChild(new FlxGame(gameWidth, gameHeight, initialState, framerate, framerate, skipSplash, startFullscreen)); #if debug @@ -105,53 +108,14 @@ class Main extends Sprite addChild(memoryCounter); #end #end - - /* - video = new Video(); - addChild(video); - - var netConnection = new NetConnection(); - netConnection.connect(null); - - netStream = new NetStream(netConnection); - netStream.client = {onMetaData: client_onMetaData}; - netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, netStream_onAsyncError); - - #if (js && html5) - overlay = new Sprite(); - overlay.graphics.beginFill(0, 0.5); - overlay.graphics.drawRect(0, 0, 560, 320); - overlay.addEventListener(MouseEvent.MOUSE_DOWN, overlay_onMouseDown); - overlay.buttonMode = true; - addChild(overlay); - - netConnection.addEventListener(NetStatusEvent.NET_STATUS, netConnection_onNetStatus); - #else - netStream.play("assets/preload/music/dredd.mp4"); - #end - */ } - /* - private function client_onMetaData(metaData:Dynamic) - { - video.attachNetStream(netStream); - video.width = video.videoWidth; - video.height = video.videoHeight; - } - - private function netStream_onAsyncError(event:AsyncErrorEvent):Void - { - trace("Error loading video"); - } - - private function netConnection_onNetStatus(event:NetStatusEvent):Void - { - } - - private function overlay_onMouseDown(event:MouseEvent):Void - { - netStream.play("assets/preload/music/dredd.mp4"); - } - */ + function initHaxeUI() + { + // Calling this before any HaxeUI components get used is important: + // - It initializes the theme styles. + // - It scans the class path and registers any HaxeUI components. + Toolkit.init(); + Toolkit.theme = "dark"; // don't be cringe + } } diff --git a/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx b/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx index 68549b19e..c5c67f472 100644 --- a/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx +++ b/source/funkin/ui/stageBuildShit/StageOffsetSubstate.hx @@ -4,7 +4,6 @@ import flixel.FlxSprite; import flixel.input.mouse.FlxMouseEvent; import flixel.math.FlxPoint; import funkin.play.PlayState; -import funkin.play.character.BaseCharacter; import funkin.play.stage.StageData; import haxe.ui.RuntimeComponentBuilder; import haxe.ui.core.Component; @@ -77,11 +76,18 @@ class StageOffsetSubstate extends MusicBeatSubstate char.y = sprOld.y - (mosPosOld.y - FlxG.mouse.y); } + FlxG.mouse.visible = true; + CoolUtil.mouseCamDrag(); if (FlxG.keys.pressed.CONTROL) CoolUtil.mouseWheelZoom(); + if (FlxG.mouse.wheel != 0) + { + FlxG.camera.zoom += FlxG.mouse.wheel * 0.1; + } + if (FlxG.keys.justPressed.Y) { for (thing in PlayState.instance.currentStage) From 3a085e93332881aeed5d41777b88717e5f8c4232 Mon Sep 17 00:00:00 2001 From: Eric Myllyoja Date: Thu, 8 Sep 2022 02:48:51 -0400 Subject: [PATCH 3/3] Combo counter tweaks, stage position tweaks --- source/funkin/ComboCounter.hx | 4 +++- source/funkin/play/PlayState.hx | 2 ++ source/funkin/ui/PopUpStuff.hx | 34 +++++++++++++++++++-------------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/source/funkin/ComboCounter.hx b/source/funkin/ComboCounter.hx index a5f8b71b5..67b7a0fb3 100644 --- a/source/funkin/ComboCounter.hx +++ b/source/funkin/ComboCounter.hx @@ -31,6 +31,7 @@ class ComboCounter extends FlxTypedSpriteGroup { kill(); }; + effectStuff.setGraphicSize(Std.int(effectStuff.width * 0.7)); add(effectStuff); grpNumbers = new FlxTypedGroup(); @@ -90,7 +91,8 @@ class ComboCounter extends FlxTypedSpriteGroup while (daCombo > 0) { - var comboNumber:ComboNumber = new ComboNumber(420 - (130 * loopNum), 44 * loopNum, daCombo % 10); + var comboNumber:ComboNumber = new ComboNumber(450 - (100 * loopNum), 20 + 14 * loopNum, daCombo % 10); + comboNumber.setGraphicSize(Std.int(comboNumber.width * 0.7)); grpNumbers.add(comboNumber); add(comboNumber); diff --git a/source/funkin/play/PlayState.hx b/source/funkin/play/PlayState.hx index 81a992edb..731e1d4c0 100644 --- a/source/funkin/play/PlayState.hx +++ b/source/funkin/play/PlayState.hx @@ -370,6 +370,7 @@ class PlayState extends MusicBeatState add(cameraFollowPoint); comboPopUps = new PopUpStuff(); + comboPopUps.cameras = [camHUD]; add(comboPopUps); grpNoteSplashes = new FlxTypedGroup(); @@ -1900,6 +1901,7 @@ class PlayState extends MusicBeatState { var animShit:ComboCounter = new ComboCounter(-100, 300, combo); animShit.scrollFactor.set(0.6, 0.6); + animShit.cameras = [camHUD]; add(animShit); var frameShit:Float = (1 / 24) * 2; // equals 2 frames in the animation diff --git a/source/funkin/ui/PopUpStuff.hx b/source/funkin/ui/PopUpStuff.hx index 0542ff14c..b724d7c3f 100644 --- a/source/funkin/ui/PopUpStuff.hx +++ b/source/funkin/ui/PopUpStuff.hx @@ -1,10 +1,10 @@ package funkin.ui; -import funkin.util.Constants; import flixel.FlxSprite; import flixel.group.FlxGroup.FlxTypedGroup; import flixel.tweens.FlxTween; import funkin.play.PlayState; +import funkin.util.Constants; using StringTools; @@ -20,21 +20,26 @@ class PopUpStuff extends FlxTypedGroup if (daRating == null) daRating = "good"; - var rating:FlxSprite = new FlxSprite(); + var rating:FlxSprite = new FlxSprite(0, 0); + rating.scrollFactor.set(0.2, 0.2); + + rating.zIndex = 1000; var ratingPath:String = daRating; if (PlayState.instance.currentStageId.startsWith('school')) ratingPath = "weeb/pixelUI/" + ratingPath + "-pixel"; rating.loadGraphic(Paths.image(ratingPath)); - rating.x = FlxG.width * 0.55 - 40; + rating.x = FlxG.width * 0.50; + rating.x -= FlxG.camera.scroll.x * 0.2; // make sure rating is visible lol! - if (rating.x < FlxG.camera.scroll.x) - rating.x = FlxG.camera.scroll.x; - else if (rating.x > FlxG.camera.scroll.x + FlxG.camera.width - rating.width) - rating.x = FlxG.camera.scroll.x + FlxG.camera.width - rating.width; + // if (rating.x < FlxG.camera.scroll.x) + // rating.x = FlxG.camera.scroll.x; + // else if (rating.x > FlxG.camera.scroll.x + FlxG.camera.width - rating.width) + // rating.x = FlxG.camera.scroll.x + FlxG.camera.width - rating.width; - rating.y = FlxG.camera.scroll.y + FlxG.camera.height * 0.4 - 60; + // FlxG.camera.scroll.y + + rating.y = FlxG.camera.height * 0.4 - 60; rating.acceleration.y = 550; rating.velocity.y -= FlxG.random.int(140, 175); rating.velocity.x -= FlxG.random.int(0, 10); @@ -76,14 +81,15 @@ class PopUpStuff extends FlxTypedGroup pixelShitPart2 = '-pixel'; } var comboSpr:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'combo' + pixelShitPart2)); - comboSpr.y = FlxG.camera.scroll.y + FlxG.camera.height * 0.4 + 80; - comboSpr.x = FlxG.width * 0.55; + comboSpr.y = FlxG.camera.height * 0.4 + 80; + comboSpr.x = FlxG.width * 0.50; + comboSpr.x -= FlxG.camera.scroll.x * 0.2; // make sure combo is visible lol! // 194 fits 4 combo digits - if (comboSpr.x < FlxG.camera.scroll.x + 194) - comboSpr.x = FlxG.camera.scroll.x + 194; - else if (comboSpr.x > FlxG.camera.scroll.x + FlxG.camera.width - comboSpr.width) - comboSpr.x = FlxG.camera.scroll.x + FlxG.camera.width - comboSpr.width; + // if (comboSpr.x < FlxG.camera.scroll.x + 194) + // comboSpr.x = FlxG.camera.scroll.x + 194; + // else if (comboSpr.x > FlxG.camera.scroll.x + FlxG.camera.width - comboSpr.width) + // comboSpr.x = FlxG.camera.scroll.x + FlxG.camera.width - comboSpr.width; comboSpr.acceleration.y = 600; comboSpr.velocity.y -= 150;