Fix issues with HTML5 and note drawing
This commit is contained in:
parent
ad89799f58
commit
321badd0b2
@ -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<String,FlxGraphic>;
|
||||
public static var bitmapData:Map<String,FlxGraphic>;
|
||||
|
||||
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<String,FlxGraphic>();
|
||||
bitmapData = new Map<String,FlxGraphic>();
|
||||
|
||||
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);
|
||||
|
||||
Highscore.load();
|
||||
var bar = new FlxBar(10,FlxG.height - 50,FlxBarFillDirection.LEFT_TO_RIGHT,FlxG.width,40,null,"done",0,toBeDone);
|
||||
bar.color = FlxColor.PURPLE;
|
||||
|
||||
FlxG.save.bind('funkin', 'ninjamuffin99');
|
||||
add(bar);
|
||||
|
||||
KadeEngineData.initSave();
|
||||
add(kadeLogo);
|
||||
add(text);
|
||||
|
||||
trace('starting caching..');
|
||||
|
||||
#if cpp
|
||||
// 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();
|
||||
});
|
||||
#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);
|
||||
}
|
||||
for (i in music)
|
||||
{
|
||||
FlxG.sound.cache(Paths.inst(i));
|
||||
FlxG.sound.cache(Paths.voices(i));
|
||||
trace("cached " + i);
|
||||
done++;
|
||||
}
|
||||
|
||||
|
||||
toBeDone = Lambda.count(images) + Lambda.count(music);
|
||||
trace("Finished caching...");
|
||||
|
||||
var bar = new FlxBar(10,FlxG.height - 50,FlxBarFillDirection.LEFT_TO_RIGHT,FlxG.width,40,null,"done",0,toBeDone);
|
||||
bar.color = FlxColor.PURPLE;
|
||||
loaded = true;
|
||||
|
||||
add(bar);
|
||||
trace(Assets.cache.hasBitmapData('GF_assets'));
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
function cache()
|
||||
{
|
||||
|
||||
trace("LOADING: " + toBeDone + " OBJECTS.");
|
||||
|
||||
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++;
|
||||
}
|
||||
|
||||
for (i in music)
|
||||
{
|
||||
FlxG.sound.cache(Paths.inst(i));
|
||||
FlxG.sound.cache(Paths.voices(i));
|
||||
trace("cached " + i);
|
||||
done++;
|
||||
}
|
||||
|
||||
|
||||
trace("Finished caching...");
|
||||
|
||||
loaded = true;
|
||||
|
||||
trace(Assets.cache.hasBitmapData('GF_assets'));
|
||||
|
||||
FlxG.switchState(new TitleState());
|
||||
}
|
||||
FlxG.switchState(new TitleState());
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user