From 573b76db4c6a4d4bfb25df2dae81728932d70cb8 Mon Sep 17 00:00:00 2001 From: NeeEoo Date: Fri, 26 May 2023 01:23:26 +0200 Subject: [PATCH] Fixed ghost miss, Fix incorrect values, Cleanup --- assets/week6/images/weeb/gfPixel - Copy.png | Bin 23907 -> 0 bytes assets/week6/images/weeb/gfPixel - Copy.xml | 35 ------------------ .../backend/scripting/events/AmountEvent.hx | 8 ++++ .../backend/system/framerate/AssetTreeInfo.hx | 2 +- source/funkin/game/Note.hx | 2 +- source/funkin/game/PlayState.hx | 26 ++++++------- source/funkin/game/SplashGroup.hx | 2 +- source/funkin/game/Stage.hx | 10 +++-- source/funkin/game/StrumLine.hx | 18 ++++----- update.sh | 2 +- 10 files changed, 39 insertions(+), 66 deletions(-) delete mode 100644 assets/week6/images/weeb/gfPixel - Copy.png delete mode 100644 assets/week6/images/weeb/gfPixel - Copy.xml create mode 100644 source/funkin/backend/scripting/events/AmountEvent.hx diff --git a/assets/week6/images/weeb/gfPixel - Copy.png b/assets/week6/images/weeb/gfPixel - Copy.png deleted file mode 100644 index b298a13a59c82cba673db250b2e1e32e05dae2c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23907 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 diff --git a/assets/week6/images/weeb/gfPixel - Copy.xml b/assets/week6/images/weeb/gfPixel - Copy.xml deleted file mode 100644 index 87b998c8..00000000 --- a/assets/week6/images/weeb/gfPixel - Copy.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/funkin/backend/scripting/events/AmountEvent.hx b/source/funkin/backend/scripting/events/AmountEvent.hx new file mode 100644 index 00000000..45b5c9ce --- /dev/null +++ b/source/funkin/backend/scripting/events/AmountEvent.hx @@ -0,0 +1,8 @@ +package funkin.backend.scripting.events; + +final class AmountEvent extends CancellableEvent { + /** + * Amount + */ + public var amount:Int; +} \ No newline at end of file diff --git a/source/funkin/backend/system/framerate/AssetTreeInfo.hx b/source/funkin/backend/system/framerate/AssetTreeInfo.hx index 7417e124..1ebba189 100644 --- a/source/funkin/backend/system/framerate/AssetTreeInfo.hx +++ b/source/funkin/backend/system/framerate/AssetTreeInfo.hx @@ -28,7 +28,7 @@ class AssetTreeInfo extends FramerateCategory { } if (text != "") text = text.substr(0, text.length-1); - + this.text.text = text; super.__enterFrame(t); } diff --git a/source/funkin/game/Note.hx b/source/funkin/game/Note.hx index 8f0cd79f..356d57cf 100644 --- a/source/funkin/game/Note.hx +++ b/source/funkin/game/Note.hx @@ -198,7 +198,7 @@ class Note extends FlxSprite frameOffset.y += __notePosFrameOffset.y * 2; super.drawComplex(camera); frameOffset.y -= __notePosFrameOffset.y * 2; - } else + } else super.drawComplex(camera); } diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx index 250872f6..0d96e66f 100644 --- a/source/funkin/game/PlayState.hx +++ b/source/funkin/game/PlayState.hx @@ -565,7 +565,7 @@ class PlayState extends MusicBeatState for(content in [Paths.getFolderContent('songs/${SONG.meta.name.toLowerCase()}/scripts', true, fromMods ? MODS : BOTH), Paths.getFolderContent('data/charts/', true, fromMods ? MODS : BOTH)]) for(file in content) addScript(file); - for (file in Paths.getFolderContent('data/events/', true, fromMods ? MODS : BOTH)) + for (file in Paths.getFolderContent('data/events/', true, fromMods ? MODS : BOTH)) if (EventsData.eventsList.contains(Path.withoutExtension(Path.withoutDirectory(file)))) addScript(file); } } @@ -601,7 +601,7 @@ class PlayState extends MusicBeatState } } - for(strumLine in SONG.strumLines) { + for(i=>strumLine in SONG.strumLines) { if (strumLine == null) continue; var chars = []; @@ -621,6 +621,7 @@ class PlayState extends MusicBeatState strLine.cameras = [camHUD]; strLine.data = strumLine; strLine.visible = (strumLine.visible != false); + strLine.ID = i; strumLines.add(strLine); } @@ -635,9 +636,9 @@ class PlayState extends MusicBeatState // CAMERA & HUD INITIALISATION #if REGION - - if (!scripts.event("onPreGenerateStrums", new CancellableEvent()).cancelled) { - generateStrums(); + var event = EventManager.get(AmountEvent).recycle(4); + if (!scripts.event("onPreGenerateStrums", event).cancelled) { + generateStrums(event.amount); scripts.call("onPostGenerateStrums"); } @@ -798,7 +799,6 @@ class PlayState extends MusicBeatState var swagCounter:Int = 0; - startTimer = new FlxTimer().start(Conductor.crochet / 1000, function(tmr:FlxTimer) { countdown(swagCounter++); @@ -935,9 +935,9 @@ class PlayState extends MusicBeatState } @:dox(hide) - private inline function generateStrums():Void + private inline function generateStrums(amount:Int = 4):Void for(p in strumLines) - p.generateStrums(); + p.generateStrums(amount); @:dox(hide) override function openSubState(SubState:FlxSubState) @@ -1105,7 +1105,7 @@ class PlayState extends MusicBeatState { if (startedCountdown) { - Conductor.songPosition += FlxG.elapsed * 1000; + Conductor.songPosition += elapsed * 1000; if (Conductor.songPosition >= 0) startSong(); } @@ -1336,6 +1336,7 @@ class PlayState extends MusicBeatState /** * Misses a note + * @param strumLine The strumline the miss happened on. * @param note Note to miss. * @param direction Specify a custom direction in case note is null. * @param player Specify a custom player in case note is null. @@ -1344,14 +1345,13 @@ class PlayState extends MusicBeatState { var playerID:Null = note == null ? player : strumLines.members.indexOf(strumLine); var directionID:Null = note == null ? direction : note.strumID; - if (playerID == null || directionID == null) return; + if (playerID == null || directionID == null || playerID == -1) return; - var event:NoteHitEvent = scripts.event("onPlayerMiss", EventManager.get(NoteHitEvent).recycle(true, false, false, note, strumLines.members[playerID].characters, true, note != null ? note.noteType : null, "", "", "", directionID, -10, 0, -0.04, "shit")); + var event:NoteHitEvent = scripts.event("onPlayerMiss", EventManager.get(NoteHitEvent).recycle(true, false, false, note, strumLines.members[playerID].characters, true, note != null ? note.noteType : null, "", "", "", directionID, -10, 0, note != null ? -0.0475 : -0.04, "shit")); strumLine.onMiss.dispatch(event); if (event.cancelled) return; - - if (event.note != null && strumLine != null) strumLine.addHealth(event.healthGain); + if (strumLine != null) strumLine.addHealth(event.healthGain); if (gf != null && combo > 5 && gf.hasAnimation('sad')) gf.playAnim('sad', event.forceAnim, MISS); combo = 0; diff --git a/source/funkin/game/SplashGroup.hx b/source/funkin/game/SplashGroup.hx index 81c04b38..67e136c5 100644 --- a/source/funkin/game/SplashGroup.hx +++ b/source/funkin/game/SplashGroup.hx @@ -66,7 +66,7 @@ class SplashGroup extends FlxTypedGroup { splashSprite.animation.finishCallback = function(name) { splashSprite.active = splashSprite.visible = false; }; - + if (xml.has.scale) splashSprite.scale.scale(Std.parseFloat(xml.att.scale).getDefault(1)); if (xml.has.alpha) splashSprite.alpha = Std.parseFloat(xml.att.alpha).getDefault(1); if (xml.has.antialiasing) splashSprite.antialiasing = xml.att.antialiasing == "true"; diff --git a/source/funkin/game/Stage.hx b/source/funkin/game/Stage.hx index 56f705be..22e37019 100644 --- a/source/funkin/game/Stage.hx +++ b/source/funkin/game/Stage.hx @@ -72,22 +72,24 @@ class Stage extends FlxBasic implements IBeatReceiver { stageSprites.set(spr.name, spr); state.add(spr); spr; - case "box": + case "box" | "solid": if ( !node.has.name || !node.has.width || !node.has.height) continue; var spr = new FlxSprite( (node.has.x) ? Std.parseFloat(node.att.x) : 0, (node.has.y) ? Std.parseFloat(node.att.y) : 0 - ).makeGraphic( + ); + + (node.name == "solid" ? spr.makeSolid : spr.makeGraphic)( Std.parseInt(node.att.width), Std.parseInt(node.att.height), - (node.has.color) ? CoolUtil.getColorFromDynamic(node.att.color) : 0xFFFFFFFF + (node.has.color) ? CoolUtil.getColorFromDynamic(node.att.color) : -1 ); stageSprites.set(node.getAtt("name"), spr); state.add(spr); spr; - case "boyfriend" | "bf": + case "boyfriend" | "bf" | "player": addCharPos("boyfriend", node, { x: 770, y: 100, diff --git a/source/funkin/game/StrumLine.hx b/source/funkin/game/StrumLine.hx index ca8ac584..96db83f1 100644 --- a/source/funkin/game/StrumLine.hx +++ b/source/funkin/game/StrumLine.hx @@ -65,6 +65,10 @@ class StrumLine extends FlxTypedGroup { * Whenever alt animation is enabled on this strumline. */ public var altAnim:Bool = false; + /** + * TODO: Write documention about this being a variable that can help when making multi key + */ + public var strumAnimPrefix = ["left", "down", "up", "right"]; private function get_ghostTapping() { if (this.ghostTapping != null) return this.ghostTapping; @@ -200,7 +204,7 @@ class StrumLine extends FlxTypedGroup { __justPressed = CoolUtil.getDefault(event.justPressed, []); __justReleased = CoolUtil.getDefault(event.justReleased, []); - __notePerStrum = [for(_ in 0...4) null]; + __notePerStrum = [for(_ in 0...members.length) null]; if (__pressed.contains(true)) { @@ -235,7 +239,7 @@ class StrumLine extends FlxTypedGroup { PlayState.instance.health += health * (opponentSide ? -1 : 1); public inline function generateStrums(amount:Int = 4) { - for (i in 0...4) + for (i in 0...amount) add(createStrum(i)); } @@ -246,13 +250,7 @@ class StrumLine extends FlxTypedGroup { */ public function createStrum(i:Int, ?animPrefix:String) { if (animPrefix == null) - animPrefix = switch(i % 4) { - case 0: "left"; - case 1: "down"; - case 2: "up"; - case 3: "right"; - case _: "up"; - } + animPrefix = strumAnimPrefix[i % strumAnimPrefix.length]; var babyArrow:Strum = new Strum((FlxG.width * strumOffset) + (Note.swagWidth * (i - 2)), PlayState.instance.strumLine.y); babyArrow.ID = i; @@ -284,7 +282,7 @@ class StrumLine extends FlxTypedGroup { FlxTween.tween(babyArrow, {y: babyArrow.y + 10, alpha: 1}, 1, {ease: FlxEase.circOut, startDelay: 0.5 + (0.2 * i)}); } babyArrow.playAnim('static'); - + insert(i, babyArrow); return babyArrow; } diff --git a/update.sh b/update.sh index 6f843ad6..b664c4fd 100644 --- a/update.sh +++ b/update.sh @@ -1,2 +1,2 @@ #!/bin/sh -haxe -cp update -D analyzer-optimize -main Update --interp \ No newline at end of file +haxe -cp commandline -D analyzer-optimize --run Main setup \ No newline at end of file