From 321badd0b299ec29463ab1fca488387769c98add Mon Sep 17 00:00:00 2001 From: CuckyDev Date: Sun, 11 Jul 2021 18:36:12 -0400 Subject: [PATCH] Fix issues with HTML5 and note drawing --- source/Caching.hx | 239 ++++++++++++++++++++++------------------------ source/Main.hx | 18 ++++ source/Note.hx | 27 +++--- 3 files changed, 143 insertions(+), 141 deletions(-) diff --git a/source/Caching.hx b/source/Caching.hx index 298d5dc..fdf458a 100644 --- a/source/Caching.hx +++ b/source/Caching.hx @@ -10,8 +10,10 @@ import flixel.ui.FlxBar; import haxe.Exception; import flixel.tweens.FlxEase; import flixel.tweens.FlxTween; +#if cpp import sys.FileSystem; import sys.io.File; +#end import flixel.FlxG; import flixel.FlxSprite; import flixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamond; @@ -29,161 +31,144 @@ using StringTools; class Caching extends MusicBeatState { - var toBeDone = 0; - var done = 0; + var toBeDone = 0; + var done = 0; - var loaded = false; + var loaded = false; - var text:FlxText; - var kadeLogo:FlxSprite; + var text:FlxText; + var kadeLogo:FlxSprite; - public static var bitmapData:Map; + public static var bitmapData:Map; - var images = []; - var music = []; - var charts = []; + var images = []; + var music = []; + var charts = []; override function create() { - FlxG.mouse.visible = false; + FlxG.mouse.visible = false; - FlxG.worldBounds.set(0,0); + FlxG.worldBounds.set(0,0); - bitmapData = new Map(); + bitmapData = new Map(); - text = new FlxText(FlxG.width / 2, FlxG.height / 2 + 300,0,"Loading..."); - text.size = 34; - text.alignment = FlxTextAlign.CENTER; - text.alpha = 0; + text = new FlxText(FlxG.width / 2, FlxG.height / 2 + 300,0,"Loading..."); + text.size = 34; + text.alignment = FlxTextAlign.CENTER; + text.alpha = 0; - kadeLogo = new FlxSprite(FlxG.width / 2, FlxG.height / 2).loadGraphic(Paths.image('KadeEngineLogo')); - kadeLogo.x -= kadeLogo.width / 2; - kadeLogo.y -= kadeLogo.height / 2 + 100; - text.y -= kadeLogo.height / 2 - 125; - text.x -= 170; - kadeLogo.setGraphicSize(Std.int(kadeLogo.width * 0.6)); - kadeLogo.antialiasing = true; + kadeLogo = new FlxSprite(FlxG.width / 2, FlxG.height / 2).loadGraphic(Paths.image('KadeEngineLogo')); + kadeLogo.x -= kadeLogo.width / 2; + kadeLogo.y -= kadeLogo.height / 2 + 100; + text.y -= kadeLogo.height / 2 - 125; + text.x -= 170; + kadeLogo.setGraphicSize(Std.int(kadeLogo.width * 0.6)); + kadeLogo.antialiasing = true; - kadeLogo.alpha = 0; + kadeLogo.alpha = 0; - PlayerSettings.init(); + #if cpp + if (FlxG.save.data.cacheImages) + { + trace("caching images..."); - #if windows - DiscordClient.initialize(); + for (i in FileSystem.readDirectory(FileSystem.absolutePath("assets/shared/images/characters"))) + { + if (!i.endsWith(".png")) + continue; + images.push(i); + } + } - Application.current.onExit.add (function (exitCode) { - DiscordClient.shutdown(); - }); - + trace("caching music..."); + + for (i in FileSystem.readDirectory(FileSystem.absolutePath("assets/songs"))) + { + music.push(i); + } #end + toBeDone = Lambda.count(images) + Lambda.count(music); + + var bar = new FlxBar(10,FlxG.height - 50,FlxBarFillDirection.LEFT_TO_RIGHT,FlxG.width,40,null,"done",0,toBeDone); + bar.color = FlxColor.PURPLE; + + add(bar); + + add(kadeLogo); + add(text); + + trace('starting caching..'); - Highscore.load(); + #if cpp + // update thread - FlxG.save.bind('funkin', 'ninjamuffin99'); + sys.thread.Thread.create(() -> { + while(!loaded) + { + if (toBeDone != 0 && done != toBeDone) + { + var alpha = HelperFunctions.truncateFloat(done / toBeDone * 100,2) / 100; + kadeLogo.alpha = alpha; + text.alpha = alpha; + text.text = "Loading... (" + done + "/" + toBeDone + ")"; + } + } + + }); - KadeEngineData.initSave(); + // cache thread + + sys.thread.Thread.create(() -> { + cache(); + }); + #end + + super.create(); + } + + var calledDone = false; + + override function update(elapsed) + { + super.update(elapsed); + } - if (FlxG.save.data.cacheImages) - { - trace("caching images..."); + function cache() + { + trace("LOADING: " + toBeDone + " OBJECTS."); - for (i in FileSystem.readDirectory(FileSystem.absolutePath("assets/shared/images/characters"))) - { - if (!i.endsWith(".png")) - continue; - images.push(i); - } - } + for (i in images) + { + var replaced = i.replace(".png",""); + var data:BitmapData = BitmapData.fromFile("assets/shared/images/characters/" + i); + trace('id ' + replaced + ' file - assets/shared/images/characters/' + i + ' ${data.width}'); + var graph = FlxGraphic.fromBitmapData(data); + graph.persist = true; + graph.destroyOnNoUse = false; + bitmapData.set(replaced,graph); + done++; + } - trace("caching music..."); - - for (i in FileSystem.readDirectory(FileSystem.absolutePath("assets/songs"))) - { - music.push(i); - } - - - toBeDone = Lambda.count(images) + Lambda.count(music); - - var bar = new FlxBar(10,FlxG.height - 50,FlxBarFillDirection.LEFT_TO_RIGHT,FlxG.width,40,null,"done",0,toBeDone); - bar.color = FlxColor.PURPLE; - - add(bar); - - add(kadeLogo); - add(text); - - trace('starting caching..'); - - // update thread - - sys.thread.Thread.create(() -> { - while(!loaded) - { - if (toBeDone != 0 && done != toBeDone) - { - var alpha = HelperFunctions.truncateFloat(done / toBeDone * 100,2) / 100; - kadeLogo.alpha = alpha; - text.alpha = alpha; - text.text = "Loading... (" + done + "/" + toBeDone + ")"; - } - } - - }); - - // cache thread - - sys.thread.Thread.create(() -> { - cache(); - }); - - super.create(); - } - - var calledDone = false; - - override function update(elapsed) - { - super.update(elapsed); - } + for (i in music) + { + FlxG.sound.cache(Paths.inst(i)); + FlxG.sound.cache(Paths.voices(i)); + trace("cached " + i); + done++; + } - function cache() - { + trace("Finished caching..."); - trace("LOADING: " + toBeDone + " OBJECTS."); + loaded = true; - for (i in images) - { - var replaced = i.replace(".png",""); - var data:BitmapData = BitmapData.fromFile("assets/shared/images/characters/" + i); - trace('id ' + replaced + ' file - assets/shared/images/characters/' + i + ' ${data.width}'); - var graph = FlxGraphic.fromBitmapData(data); - graph.persist = true; - graph.destroyOnNoUse = false; - bitmapData.set(replaced,graph); - done++; - } + trace(Assets.cache.hasBitmapData('GF_assets')); - for (i in music) - { - FlxG.sound.cache(Paths.inst(i)); - FlxG.sound.cache(Paths.voices(i)); - trace("cached " + i); - done++; - } + FlxG.switchState(new TitleState()); + } - - trace("Finished caching..."); - - loaded = true; - - trace(Assets.cache.hasBitmapData('GF_assets')); - - FlxG.switchState(new TitleState()); - } - -} +} \ No newline at end of file diff --git a/source/Main.hx b/source/Main.hx index 6c06d39..5c6b862 100644 --- a/source/Main.hx +++ b/source/Main.hx @@ -89,6 +89,24 @@ class Main extends Sprite toggleFPS(FlxG.save.data.fps); #end + + PlayerSettings.init(); + + #if windows + DiscordClient.initialize(); + + Application.current.onExit.add (function (exitCode) { + DiscordClient.shutdown(); + }); + + #end + + + Highscore.load(); + + FlxG.save.bind('funkin', 'ninjamuffin99'); + + KadeEngineData.initSave(); } var game:FlxGame; diff --git a/source/Note.hx b/source/Note.hx index 7baedf4..4116d1a 100644 --- a/source/Note.hx +++ b/source/Note.hx @@ -67,12 +67,7 @@ class Note extends FlxSprite this.prevNote = prevNote; isSustainNote = sustainNote; - this.noteData = noteData; - - if (!inCharter) - x = PlayState.strumLineNotes.members[Math.floor(Math.abs(noteData))].x; - else - x += 50; + x += 50; // MAKE SURE ITS DEFINITELY OFF SCREEN? y -= 2000; @@ -91,12 +86,16 @@ class Note extends FlxSprite if (this.strumTime < 0 ) this.strumTime = 0; + this.noteData = noteData; + var daStage:String = PlayState.curStage; //defaults if no noteStyle was found in chart var noteTypeCheck:String = 'normal'; + if (PlayState.curStage.startsWith('school')) + noteTypeCheck = 'pixel'; - if (!inCharter) + if (inCharter) { frames = Paths.getSparrowAtlas('NOTE_assets'); @@ -180,20 +179,20 @@ class Note extends FlxSprite noteScore * 0.2; alpha = 0.6; - x += width / 2 + 17; - if (noteTypeCheck == 'pixel') - x -= 8; - //x += width / 2; + x += width / 2; originColor = prevNote.originColor; animation.play(dataColor[originColor] + 'holdend'); // This works both for normal colors and quantization colors updateHitbox(); - //x -= width / 2; + x -= width / 2; - //if (PlayState.curStage.startsWith('school')) - // x += 30; + if (noteTypeCheck == 'pixel') + x += 30; + + if (inCharter) + x += 30; if (prevNote.isSustainNote) {