new chart editor, sm file support, bpm changes, and scroll speed changes.

This commit is contained in:
KadeDeveloper
2021-07-19 21:19:03 -07:00
parent c69e83d8e0
commit aa2119d034
25 changed files with 2046 additions and 355 deletions

View File

@ -7,10 +7,28 @@ import lime.utils.Assets;
using StringTools;
class Event
{
public var name:String;
public var position:Float;
public var value:Dynamic;
public var type:String;
public function new(name:String,pos:Float,value:Dynamic,type:String)
{
this.name = name;
this.position = pos;
this.value = value;
this.type = type;
}
}
typedef SwagSong =
{
var chartVersion:String;
var song:String;
var notes:Array<SwagSection>;
var eventObjects:Array<Event>;
var bpm:Float;
var needsVoices:Bool;
var speed:Float;
@ -25,10 +43,12 @@ typedef SwagSong =
class Song
{
public var chartVersion:String;
public var song:String;
public var notes:Array<SwagSection>;
public var bpm:Float;
public var needsVoices:Bool = true;
public var eventObjects:Array<Event>;
public var speed:Float = 1;
public var player1:String = 'bf';
@ -44,10 +64,19 @@ class Song
this.bpm = bpm;
}
public static function loadFromJsonRAW(rawJson:String)
{
while (!rawJson.endsWith("}"))
{
rawJson = rawJson.substr(0, rawJson.length - 1);
// LOL GOING THROUGH THE BULLSHIT TO CLEAN IDK WHATS STRANGE
}
return parseJSONshit(rawJson);
}
public static function loadFromJson(jsonInput:String, ?folder:String):SwagSong
{
trace(jsonInput);
// pre lowercasing the folder name
var folderLowercase = StringTools.replace(folder, " ", "-").toLowerCase();
switch (folderLowercase) {