gf fix on non codename charts
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package funkin.chart;
|
||||
|
||||
import funkin.system.Song.SwagSong;
|
||||
|
||||
class BaseGameParser {
|
||||
public static function parse(data:Dynamic, result:ChartData) {
|
||||
// base fnf chart parsing
|
||||
@@ -18,7 +16,7 @@ class BaseGameParser {
|
||||
result.strumLines.push({
|
||||
characters: [data.player2],
|
||||
type: 0,
|
||||
position: "dad",
|
||||
position: data.player2.startsWith("gf") ? "girlfriend" : "dad",
|
||||
notes: []
|
||||
});
|
||||
result.strumLines.push({
|
||||
@@ -99,4 +97,35 @@ class BaseGameParser {
|
||||
curTime += curCrochet * beatsPerMesure;
|
||||
}
|
||||
}
|
||||
}
|
||||
typedef SwagSong =
|
||||
{
|
||||
var song:String;
|
||||
var notes:Array<SwagSection>;
|
||||
var bpm:Float;
|
||||
var needsVoices:Bool;
|
||||
var speed:Float;
|
||||
var stage:String;
|
||||
var noteTypes:Array<String>;
|
||||
|
||||
var player1:String;
|
||||
var player2:String;
|
||||
var gf:String;
|
||||
var validScore:Bool;
|
||||
|
||||
// ADDITIONAL STUFF THAT MAY NOT BE PRESENT IN CHART
|
||||
var ?maxHealth:Float;
|
||||
var ?beatsPerMesure:Float;
|
||||
var ?stepsPerBeat:Float;
|
||||
}
|
||||
|
||||
typedef SwagSection =
|
||||
{
|
||||
var sectionNotes:Array<Dynamic>;
|
||||
var lengthInSteps:Int;
|
||||
var mustHitSection:Bool;
|
||||
var bpm:Float;
|
||||
var changeBPM:Bool;
|
||||
var altAnim:Bool;
|
||||
@:optional var camTarget:Null<Float>;
|
||||
}
|
||||
@@ -3,7 +3,6 @@ package funkin.chart;
|
||||
import funkin.chart.ChartData;
|
||||
import flixel.util.FlxColor;
|
||||
import haxe.io.Path;
|
||||
import funkin.system.Song.SwagSong;
|
||||
import haxe.Json;
|
||||
|
||||
#if sys
|
||||
@@ -98,6 +97,10 @@ class Chart {
|
||||
Logs.trace('Could not parse chart for song ${songName} ($difficulty): ${Std.string(e)}', ERROR, RED);
|
||||
}
|
||||
|
||||
/**
|
||||
* CHART CONVERSION
|
||||
*/
|
||||
#if REGION
|
||||
if (Reflect.hasField(data, "codenameChart") && Reflect.field(data, "codenameChart") == true) {
|
||||
// codename chart
|
||||
base = data;
|
||||
@@ -105,6 +108,7 @@ class Chart {
|
||||
// base game chart
|
||||
BaseGameParser.parse(data, base);
|
||||
}
|
||||
#end
|
||||
|
||||
if (base.meta == null)
|
||||
base.meta = loadChartMeta(songName, difficulty, base.fromMods);
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"meta": {
|
||||
"song": "Test",
|
||||
"bpm": 120
|
||||
},
|
||||
"strumLines": [
|
||||
{
|
||||
"characters": ["bf-pixel"],
|
||||
"opponent": true,
|
||||
"notes": [
|
||||
{
|
||||
"time": 1500,
|
||||
"id": 1,
|
||||
"type": 0,
|
||||
"sustainLength": 1500
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"characters": ["bf"],
|
||||
"opponent": false,
|
||||
"notes": [
|
||||
{
|
||||
"time": 1500,
|
||||
"id": 1,
|
||||
"type": 0,
|
||||
"sustainLength": 1500
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"time": 1500,
|
||||
"type": -1,
|
||||
"params": ["changeShit", true, false]
|
||||
}
|
||||
],
|
||||
"codenameChart": true
|
||||
}
|
||||
Reference in New Issue
Block a user