diff --git a/source/funkin/objects/NotesGroup.hx b/source/funkin/objects/NotesGroup.hx index 7bd353b..9102500 100644 --- a/source/funkin/objects/NotesGroup.hx +++ b/source/funkin/objects/NotesGroup.hx @@ -271,7 +271,6 @@ class NotesGroup extends Group unspawnNotes.push(note); if (susLength > 0) { - // TODO: notetype skin sustains arent loading for some reason (?) fix dat var sustain:Sustain = new Sustain(noteData, strumTime, susLength, skin, note); sustain.noteSpeed = songSpeed; diff --git a/source/funkin/objects/note/BasicNote.hx b/source/funkin/objects/note/BasicNote.hx index 9cb900c..6ab4bd5 100644 --- a/source/funkin/objects/note/BasicNote.hx +++ b/source/funkin/objects/note/BasicNote.hx @@ -52,7 +52,7 @@ class BasicNote extends SmartSprite implements INoteData implements ITimingObjec } public function changeSkin(?value:String):Void { - if (value != skin) + if ((value != skin) || isSustainNote) skin = value; } diff --git a/source/funkin/states/PlayState.hx b/source/funkin/states/PlayState.hx index 6b13af0..c1f561a 100644 --- a/source/funkin/states/PlayState.hx +++ b/source/funkin/states/PlayState.hx @@ -680,7 +680,10 @@ class PlayState extends MusicBeatState clearCache = true; clearCacheData = {tempCache: false, skins: false} ModdingUtil.addCall('switchSong', [nextSong, curDifficulty]); // Could be used to change cache clear - switchState(new PlayState(), !changedStage); + + // If the stage has changed we can sneak in a lil loading screen :] + changedStage ? WeekSetup.loadPlayState(new PlayState(), false, false) + : switchState(new PlayState(), true); } override function startTransition() { diff --git a/source/funkin/util/Stage.hx b/source/funkin/util/Stage.hx index 7787d9e..1510872 100644 --- a/source/funkin/util/Stage.hx +++ b/source/funkin/util/Stage.hx @@ -389,18 +389,8 @@ class Stage extends TypedGroup implements IMusicHit return key is Bool ? (key ? "fg" : "bg") : key; } - public function stepHit(curStep:Int):Void - { - - } - - public function beatHit(curBeat:Int):Void - { - - } - - public function sectionHit(curSection:Int):Void - { - - } + // TODO: could add some metadata to setup boopers or something like that? + public function stepHit(curStep:Int):Void {} + public function beatHit(curBeat:Int):Void {} + public function sectionHit(curSection:Int):Void {} } \ No newline at end of file diff --git a/source/funkin/util/song/WeekSetup.hx b/source/funkin/util/song/WeekSetup.hx index 0c24139..e76ae28 100644 --- a/source/funkin/util/song/WeekSetup.hx +++ b/source/funkin/util/song/WeekSetup.hx @@ -206,13 +206,15 @@ class WeekSetup else CoolUtil.switchState(instance, skipTrans); } - public static function loadPlayState(instance:PlayState, skipTrans:Bool = false):Void + public static function loadPlayState(instance:PlayState, skipTrans:Bool = false, clearCache:Bool = true):Void { var loadScreen:LoadingState = new LoadingState(); loadScreen.onStart = () -> { - PlayState.clearCache = false; - CoolUtil.clearCache(); + if (clearCache) { + PlayState.clearCache = false; + CoolUtil.clearCache(); + } } loadScreen.onComplete = () -> {