From f9bccb057a129443148e6031c907045c2ff8fb31 Mon Sep 17 00:00:00 2001
From: lemz <ismael.amjad07@gmail.com>
Date: Mon, 24 Jun 2024 21:45:58 +0200
Subject: [PATCH] use suffixes instead of pixel boolean

---
 source/funkin/play/notes/Strumline.hx         |  4 ++--
 .../play/notes/notekind/NoteKindManager.hx    | 23 +++++++++++--------
 .../ui/debug/charting/ChartEditorState.hx     | 17 +++++---------
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/source/funkin/play/notes/Strumline.hx b/source/funkin/play/notes/Strumline.hx
index 86b7a3ee1..5e76afa51 100644
--- a/source/funkin/play/notes/Strumline.hx
+++ b/source/funkin/play/notes/Strumline.hx
@@ -709,7 +709,7 @@ class Strumline extends FlxSpriteGroup
 
     if (noteSprite != null)
     {
-      var noteKindStyle:NoteStyle = NoteKindManager.getNoteStyle(note.kind, this.noteStyle.isHoldNotePixel()) ?? this.noteStyle;
+      var noteKindStyle:NoteStyle = NoteKindManager.getNoteStyle(note.kind, this.noteStyle.id) ?? this.noteStyle;
       noteSprite.setupNoteGraphic(noteKindStyle);
 
       noteSprite.direction = note.getDirection();
@@ -731,7 +731,7 @@ class Strumline extends FlxSpriteGroup
 
     if (holdNoteSprite != null)
     {
-      var noteKindStyle:NoteStyle = NoteKindManager.getNoteStyle(note.kind, this.noteStyle.isHoldNotePixel()) ?? this.noteStyle;
+      var noteKindStyle:NoteStyle = NoteKindManager.getNoteStyle(note.kind, this.noteStyle.id) ?? this.noteStyle;
       holdNoteSprite.setupHoldNoteGraphic(noteKindStyle);
 
       holdNoteSprite.parentStrumline = this;
diff --git a/source/funkin/play/notes/notekind/NoteKindManager.hx b/source/funkin/play/notes/notekind/NoteKindManager.hx
index 8de3cdcca..d97eefcf8 100644
--- a/source/funkin/play/notes/notekind/NoteKindManager.hx
+++ b/source/funkin/play/notes/notekind/NoteKindManager.hx
@@ -66,12 +66,12 @@ class NoteKindManager
   /**
    * Retrieve the note style from the given note kind
    * @param noteKind note kind name
-   * @param isPixel whether to use pixel style
+   * @param suffix Used for song note styles
    * @return NoteStyle
    */
-  public static function getNoteStyle(noteKind:String, isPixel:Bool = false):Null<NoteStyle>
+  public static function getNoteStyle(noteKind:String, ?suffix:String):Null<NoteStyle>
   {
-    var noteStyleId:Null<String> = getNoteStyleId(noteKind, isPixel);
+    var noteStyleId:Null<String> = getNoteStyleId(noteKind, suffix);
 
     if (noteStyleId == null)
     {
@@ -83,16 +83,21 @@ class NoteKindManager
 
   /**
    * Retrieve the note style id from the given note kind
-   * @param noteKind note kind name
-   * @param isPixel whether to use pixel style
+   * @param noteKind Note kind name
+   * @param suffix Used for song note styles
    * @return Null<String>
    */
-  public static function getNoteStyleId(noteKind:String, isPixel:Bool = false):Null<String>
+  public static function getNoteStyleId(noteKind:String, ?suffix:String):Null<String>
   {
-    var noteStyleId:Null<String> = noteKinds.get(noteKind)?.noteStyleId;
-    if (isPixel && noteStyleId != null)
+    if (suffix == null)
     {
-      noteStyleId = NoteStyleRegistry.instance.hasEntry('$noteStyleId-pixel') ? '$noteStyleId-pixel' : noteStyleId;
+      suffix = '';
+    }
+
+    var noteStyleId:Null<String> = noteKinds.get(noteKind)?.noteStyleId;
+    if (noteStyleId != null)
+    {
+      noteStyleId = NoteStyleRegistry.instance.hasEntry('$noteStyleId-$suffix') ? '$noteStyleId-$suffix' : noteStyleId;
     }
 
     return noteStyleId;
diff --git a/source/funkin/ui/debug/charting/ChartEditorState.hx b/source/funkin/ui/debug/charting/ChartEditorState.hx
index f7abfba89..d3ddb1bca 100644
--- a/source/funkin/ui/debug/charting/ChartEditorState.hx
+++ b/source/funkin/ui/debug/charting/ChartEditorState.hx
@@ -3591,7 +3591,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
 
         // The note sprite handles animation playback and positioning.
         noteSprite.noteData = noteData;
-        noteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+        noteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
         noteSprite.overrideStepTime = null;
         noteSprite.overrideData = null;
 
@@ -3615,7 +3615,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
 
           holdNoteSprite.setHeightDirectly(noteLengthPixels);
 
-          holdNoteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteSprite.noteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+          holdNoteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteSprite.noteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
 
           holdNoteSprite.updateHoldNotePosition(renderedHoldNotes);
 
@@ -3681,7 +3681,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
         holdNoteSprite.noteDirection = noteData.getDirection();
         holdNoteSprite.setHeightDirectly(noteLengthPixels);
 
-        holdNoteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+        holdNoteSprite.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
 
         holdNoteSprite.updateHoldNotePosition(renderedHoldNotes);
 
@@ -4580,7 +4580,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
             gridGhostHoldNote.noteData = currentPlaceNoteData;
             gridGhostHoldNote.noteDirection = currentPlaceNoteData.getDirection();
             gridGhostHoldNote.setHeightDirectly(dragLengthPixels, true);
-            gridGhostHoldNote.noteStyle = NoteKindManager.getNoteStyleId(currentPlaceNoteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+            gridGhostHoldNote.noteStyle = NoteKindManager.getNoteStyleId(currentPlaceNoteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
             gridGhostHoldNote.updateHoldNotePosition(renderedHoldNotes);
           }
           else
@@ -4905,7 +4905,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
               noteData.kind = noteKindToPlace;
               noteData.params = noteParamsToPlace;
               noteData.data = cursorColumn;
-              gridGhostNote.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+              gridGhostNote.noteStyle = NoteKindManager.getNoteStyleId(noteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
               gridGhostNote.playNoteAnimation();
             }
             noteData.time = cursorSnappedMs;
@@ -5297,7 +5297,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
         ghostHold.visible = true;
         ghostHold.alpha = 0.6;
         ghostHold.setHeightDirectly(0);
-        ghostHold.noteStyle = NoteKindManager.getNoteStyleId(ghostHold.noteData.kind, isPixelStyle()) ?? currentSongNoteStyle;
+        ghostHold.noteStyle = NoteKindManager.getNoteStyleId(ghostHold.noteData.kind, currentSongNoteStyle) ?? currentSongNoteStyle;
         ghostHold.updateHoldNotePosition(renderedHoldNotes);
       }
 
@@ -6423,11 +6423,6 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
     return note != null && currentNoteSelection.indexOf(note) != -1;
   }
 
-  function isPixelStyle():Bool
-  {
-    return currentSongNoteStyle == 'pixel';
-  }
-
   override function destroy():Void
   {
     super.destroy();