Skip to content

Commit e989fd1

Browse files
committed
fix osu parsing to be HL compatible
1 parent a6cec1c commit e989fd1

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

source/funkin/data/song/importer/OsuManiaImporter.hx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class OsuManiaImporter
4545
{
4646
var parts:Array<String> = line.split(":");
4747
var key:String = StringTools.trim(parts.shift());
48-
var value:String = StringTools.trim(parts.join(":"));
48+
var value:Any = parseValue(StringTools.trim(parts.join(":")));
4949
if (Reflect.field(result, currentSection) == null) Reflect.setField(result, currentSection, {});
5050
Reflect.setField(Reflect.field(result, currentSection), key, value);
5151
}
@@ -196,4 +196,22 @@ class OsuManiaImporter
196196
return new ManiaHitObject(time, noteD, holdDuration);
197197
});
198198
}
199+
200+
static function parseValue(v:String):Any
201+
{
202+
var result:Null<Any>;
203+
204+
if (v.contains('.'))
205+
{
206+
result = Std.parseFloat(v);
207+
if (!Math.isNaN(result)) return result;
208+
}
209+
else
210+
{
211+
result = Std.parseInt(v);
212+
if (result != null) return result;
213+
}
214+
215+
return v;
216+
}
199217
}

0 commit comments

Comments
 (0)