From a314d2aa294e63268022f87e3525062f95fefa76 Mon Sep 17 00:00:00 2001
From: Detoria <44783518+theDetourist@users.noreply.github.com>
Date: Fri, 4 Jun 2021 21:59:02 -0300
Subject: [PATCH] yeh
---
source/Note.hx | 458 ++++++++--------
source/Options.hx | 1232 +++++++++++++++++++++----------------------
source/PlayState.hx | 50 +-
3 files changed, 887 insertions(+), 853 deletions(-)
diff --git a/source/Note.hx b/source/Note.hx
index 657010b..b51fd87 100644
--- a/source/Note.hx
+++ b/source/Note.hx
@@ -1,228 +1,230 @@
-package;
-
-import flixel.addons.effects.FlxSkewedSprite;
-import flixel.FlxG;
-import flixel.FlxSprite;
-import flixel.graphics.frames.FlxAtlasFrames;
-import flixel.math.FlxMath;
-import flixel.util.FlxColor;
-#if polymod
-import polymod.format.ParseRules.TargetSignatureElement;
-#end
-import PlayState;
-
-using StringTools;
-
-class Note extends FlxSprite
-{
- public var strumTime:Float = 0;
-
- public var mustPress:Bool = false;
- public var noteData:Int = 0;
- public var canBeHit:Bool = false;
- public var tooLate:Bool = false;
- public var wasGoodHit:Bool = false;
- public var prevNote:Note;
- public var modifiedByLua:Bool = false;
- public var sustainLength:Float = 0;
- public var isSustainNote:Bool = false;
-
- public var noteScore:Float = 1;
-
- public static var swagWidth:Float = 160 * 0.7;
- public static var PURP_NOTE:Int = 0;
- public static var GREEN_NOTE:Int = 2;
- public static var BLUE_NOTE:Int = 1;
- public static var RED_NOTE:Int = 3;
-
- public var rating:String = "shit";
-
- public function new(strumTime:Float, noteData:Int, ?prevNote:Note, ?sustainNote:Bool = false)
- {
- super();
-
- if (prevNote == null)
- prevNote = this;
-
- this.prevNote = prevNote;
- isSustainNote = sustainNote;
-
- x += 50;
- // MAKE SURE ITS DEFINITELY OFF SCREEN?
- y -= 2000;
- this.strumTime = strumTime;
-
- if (this.strumTime < 0 )
- this.strumTime = 0;
-
- this.noteData = noteData;
-
- var daStage:String = PlayState.curStage;
-
- switch (PlayState.SONG.noteStyle)
- {
- case 'pixel':
- loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels','week6'), true, 17, 17);
-
- animation.add('greenScroll', [6]);
- animation.add('redScroll', [7]);
- animation.add('blueScroll', [5]);
- animation.add('purpleScroll', [4]);
-
- if (isSustainNote)
- {
- loadGraphic(Paths.image('weeb/pixelUI/arrowEnds','week6'), true, 7, 6);
-
- animation.add('purpleholdend', [4]);
- animation.add('greenholdend', [6]);
- animation.add('redholdend', [7]);
- animation.add('blueholdend', [5]);
-
- animation.add('purplehold', [0]);
- animation.add('greenhold', [2]);
- animation.add('redhold', [3]);
- animation.add('bluehold', [1]);
- }
-
- setGraphicSize(Std.int(width * PlayState.daPixelZoom));
- updateHitbox();
- default:
- frames = Paths.getSparrowAtlas('NOTE_assets');
-
- animation.addByPrefix('greenScroll', 'green0');
- animation.addByPrefix('redScroll', 'red0');
- animation.addByPrefix('blueScroll', 'blue0');
- animation.addByPrefix('purpleScroll', 'purple0');
-
- animation.addByPrefix('purpleholdend', 'pruple end hold');
- animation.addByPrefix('greenholdend', 'green hold end');
- animation.addByPrefix('redholdend', 'red hold end');
- animation.addByPrefix('blueholdend', 'blue hold end');
-
- animation.addByPrefix('purplehold', 'purple hold piece');
- animation.addByPrefix('greenhold', 'green hold piece');
- animation.addByPrefix('redhold', 'red hold piece');
- animation.addByPrefix('bluehold', 'blue hold piece');
-
- setGraphicSize(Std.int(width * 0.7));
- updateHitbox();
- antialiasing = true;
- }
-
- switch (noteData)
- {
- case 0:
- x += swagWidth * 0;
- animation.play('purpleScroll');
- case 1:
- x += swagWidth * 1;
- animation.play('blueScroll');
- case 2:
- x += swagWidth * 2;
- animation.play('greenScroll');
- case 3:
- x += swagWidth * 3;
- animation.play('redScroll');
- }
-
- // trace(prevNote);
-
- // we make sure its downscroll and its a SUSTAIN NOTE (aka a trail, not a note)
- // and flip it so it doesn't look weird.
- // THIS DOESN'T FUCKING FLIP THE NOTE, CONTRIBUTERS DON'T JUST COMMENT THIS OUT JESUS
- if (FlxG.save.data.downscroll && sustainNote)
- flipY = true;
-
- if (isSustainNote && prevNote != null)
- {
- noteScore * 0.2;
- alpha = 0.6;
-
- x += width / 2;
-
- switch (noteData)
- {
- case 2:
- animation.play('greenholdend');
- case 3:
- animation.play('redholdend');
- case 1:
- animation.play('blueholdend');
- case 0:
- animation.play('purpleholdend');
- }
-
- updateHitbox();
-
- x -= width / 2;
-
- if (PlayState.curStage.startsWith('school'))
- x += 30;
-
- if (prevNote.isSustainNote)
- {
- switch (prevNote.noteData)
- {
- case 0:
- prevNote.animation.play('purplehold');
- case 1:
- prevNote.animation.play('bluehold');
- case 2:
- prevNote.animation.play('greenhold');
- case 3:
- prevNote.animation.play('redhold');
- }
-
-
- if(FlxG.save.data.scrollSpeed != 1)
- prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed;
- else
- prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
- prevNote.updateHitbox();
- // prevNote.setGraphicSize();
- }
- }
- }
-
- override function update(elapsed:Float)
- {
- super.update(elapsed);
-
- if (mustPress)
- {
- // ass
- if (isSustainNote)
- {
- if (strumTime > Conductor.songPosition - (Conductor.safeZoneOffset * 1.5)
- && strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
- canBeHit = true;
- else
- canBeHit = false;
- }
- else
- {
- if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
- && strumTime < Conductor.songPosition + Conductor.safeZoneOffset)
- canBeHit = true;
- else
- canBeHit = false;
- }
-
- if (strumTime < Conductor.songPosition - Conductor.safeZoneOffset * Conductor.timeScale && !wasGoodHit)
- tooLate = true;
- }
- else
- {
- canBeHit = false;
-
- if (strumTime <= Conductor.songPosition)
- wasGoodHit = true;
- }
-
- if (tooLate)
- {
- if (alpha > 0.3)
- alpha = 0.3;
- }
- }
-}
+package;
+
+import flixel.addons.effects.FlxSkewedSprite;
+import flixel.FlxG;
+import flixel.FlxSprite;
+import flixel.graphics.frames.FlxAtlasFrames;
+import flixel.math.FlxMath;
+import flixel.util.FlxColor;
+#if polymod
+import polymod.format.ParseRules.TargetSignatureElement;
+#end
+import PlayState;
+
+using StringTools;
+
+class Note extends FlxSprite
+{
+ public var strumTime:Float = 0;
+
+ public var mustPress:Bool = false;
+ public var noteData:Int = 0;
+ public var canBeHit:Bool = false;
+ public var tooLate:Bool = false;
+ public var wasGoodHit:Bool = false;
+ public var prevNote:Note;
+ public var modifiedByLua:Bool = false;
+ public var sustainLength:Float = 0;
+ public var isSustainNote:Bool = false;
+
+ public var noteScore:Float = 1;
+
+ public static var swagWidth:Float = 160 * 0.7;
+ public static var PURP_NOTE:Int = 0;
+ public static var GREEN_NOTE:Int = 2;
+ public static var BLUE_NOTE:Int = 1;
+ public static var RED_NOTE:Int = 3;
+
+ public var rating:String = "shit";
+
+ public function new(strumTime:Float, noteData:Int, ?prevNote:Note, ?sustainNote:Bool = false)
+ {
+ super();
+
+ if (prevNote == null)
+ prevNote = this;
+
+ this.prevNote = prevNote;
+ isSustainNote = sustainNote;
+
+ x += 50;
+ // MAKE SURE ITS DEFINITELY OFF SCREEN?
+ y -= 2000;
+
+ // Take half the sprite's height to compensate for the offset down below
+ this.strumTime = strumTime - frameHeight / 2;
+
+ if (this.strumTime < 0 )
+ this.strumTime = 0;
+
+ this.noteData = noteData;
+
+ var daStage:String = PlayState.curStage;
+
+ switch (PlayState.SONG.noteStyle)
+ {
+ case 'pixel':
+ loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels','week6'), true, 17, 17);
+
+ animation.add('greenScroll', [6]);
+ animation.add('redScroll', [7]);
+ animation.add('blueScroll', [5]);
+ animation.add('purpleScroll', [4]);
+
+ if (isSustainNote)
+ {
+ loadGraphic(Paths.image('weeb/pixelUI/arrowEnds','week6'), true, 7, 6);
+
+ animation.add('purpleholdend', [4]);
+ animation.add('greenholdend', [6]);
+ animation.add('redholdend', [7]);
+ animation.add('blueholdend', [5]);
+
+ animation.add('purplehold', [0]);
+ animation.add('greenhold', [2]);
+ animation.add('redhold', [3]);
+ animation.add('bluehold', [1]);
+ }
+
+ setGraphicSize(Std.int(width * PlayState.daPixelZoom));
+ updateHitbox();
+ default:
+ frames = Paths.getSparrowAtlas('NOTE_assets');
+
+ animation.addByPrefix('greenScroll', 'green0');
+ animation.addByPrefix('redScroll', 'red0');
+ animation.addByPrefix('blueScroll', 'blue0');
+ animation.addByPrefix('purpleScroll', 'purple0');
+
+ animation.addByPrefix('purpleholdend', 'pruple end hold');
+ animation.addByPrefix('greenholdend', 'green hold end');
+ animation.addByPrefix('redholdend', 'red hold end');
+ animation.addByPrefix('blueholdend', 'blue hold end');
+
+ animation.addByPrefix('purplehold', 'purple hold piece');
+ animation.addByPrefix('greenhold', 'green hold piece');
+ animation.addByPrefix('redhold', 'red hold piece');
+ animation.addByPrefix('bluehold', 'blue hold piece');
+
+ setGraphicSize(Std.int(width * 0.7));
+ updateHitbox();
+ antialiasing = true;
+ }
+
+ switch (noteData)
+ {
+ case 0:
+ x += swagWidth * 0;
+ animation.play('purpleScroll');
+ case 1:
+ x += swagWidth * 1;
+ animation.play('blueScroll');
+ case 2:
+ x += swagWidth * 2;
+ animation.play('greenScroll');
+ case 3:
+ x += swagWidth * 3;
+ animation.play('redScroll');
+ }
+
+ if (isSustainNote && prevNote != null)
+ {
+ noteScore * 0.2;
+ alpha = 0.6;
+
+ x += width / 2;
+
+ flipY = true;
+
+ offset.y = frameHeight;
+
+ switch (noteData)
+ {
+ case 2:
+ animation.play('greenholdend');
+ case 3:
+ animation.play('redholdend');
+ case 1:
+ animation.play('blueholdend');
+ case 0:
+ animation.play('purpleholdend');
+ }
+
+ updateHitbox();
+
+ x -= width / 2;
+
+ if (PlayState.curStage.startsWith('school'))
+ x += 30;
+
+ if (prevNote.isSustainNote)
+ {
+ if(!FlxG.save.data.downscroll) flipY = false;
+
+ switch (prevNote.noteData)
+ {
+ case 0:
+ prevNote.animation.play('purplehold');
+ case 1:
+ prevNote.animation.play('bluehold');
+ case 2:
+ prevNote.animation.play('greenhold');
+ case 3:
+ prevNote.animation.play('redhold');
+ }
+
+
+ if(FlxG.save.data.scrollSpeed != 1)
+ prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed;
+ else
+ prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
+
+ prevNote.updateHitbox();
+ // prevNote.setGraphicSize();
+ }
+ }
+ }
+
+ override function update(elapsed:Float)
+ {
+ super.update(elapsed);
+
+ if (mustPress)
+ {
+ // ass
+ if (isSustainNote)
+ {
+ trace('sustain note');
+ if (strumTime > Conductor.songPosition - (Conductor.safeZoneOffset * 1.5)
+ && strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
+ canBeHit = true;
+ else
+ canBeHit = false;
+ }
+ else
+ {
+ if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
+ && strumTime < Conductor.songPosition + Conductor.safeZoneOffset)
+ canBeHit = true;
+ else
+ canBeHit = false;
+ }
+
+ if (strumTime < Conductor.songPosition - Conductor.safeZoneOffset * Conductor.timeScale && !wasGoodHit)
+ tooLate = true;
+ }
+ else
+ {
+ canBeHit = false;
+
+ if (strumTime <= Conductor.songPosition)
+ wasGoodHit = true;
+ }
+
+ if (tooLate)
+ {
+ if (alpha > 0.3)
+ alpha = 0.3;
+ }
+ }
+}
diff --git a/source/Options.hx b/source/Options.hx
index cc46bf2..1d6208c 100644
--- a/source/Options.hx
+++ b/source/Options.hx
@@ -1,616 +1,616 @@
-package;
-
-import lime.app.Application;
-import lime.system.DisplayMode;
-import flixel.util.FlxColor;
-import Controls.KeyboardScheme;
-import flixel.FlxG;
-import openfl.display.FPS;
-import openfl.Lib;
-
-class OptionCategory
-{
- private var _options:Array