Fix/convert issue with culture info #16
+21
-19
@@ -1,13 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BAKKA_Editor
|
||||
{
|
||||
internal class Chart
|
||||
{
|
||||
private static readonly CultureInfo _defaultParsingCulture = CultureInfo.InvariantCulture;
|
||||
public List<Note> Notes { get; set; }
|
||||
public List<Gimmick> Gimmicks { get; set; }
|
||||
/// <summary>
|
||||
@@ -55,14 +58,13 @@ namespace BAKKA_Editor
|
||||
var path = Utils.GetTag(line, "#MUSIC_FILE_PATH ");
|
||||
if (path != null)
|
||||
SongFileName = path;
|
||||
|
||||
var offset = Utils.GetTag(line, "#OFFSET");
|
||||
if (offset != null)
|
||||
Offset = Convert.ToDouble(offset);
|
||||
Offset = Convert.ToDouble(offset, _defaultParsingCulture);
|
||||
|
||||
offset = Utils.GetTag(line, "#MOVIEOFFSET");
|
||||
if (offset != null)
|
||||
MovieOffset = Convert.ToDouble(offset);
|
||||
MovieOffset = Convert.ToDouble(offset, _defaultParsingCulture);
|
||||
|
||||
|
||||
if (line.Contains("#BODY"))
|
||||
@@ -71,7 +73,7 @@ namespace BAKKA_Editor
|
||||
break;
|
||||
}
|
||||
|
||||
} while(++index < file.Length);
|
||||
} while (++index < file.Length);
|
||||
|
||||
int lineNum;
|
||||
Gimmick gimmickTemp;
|
||||
@@ -83,46 +85,46 @@ namespace BAKKA_Editor
|
||||
if (String.IsNullOrWhiteSpace(file[i]))
|
||||
continue;
|
||||
|
||||
var parsed = file[i].Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||
var parsed = file[i].Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||
NoteBase temp = new();
|
||||
temp.BeatInfo = new BeatInfo(Convert.ToInt32(parsed[0]), Convert.ToInt32(parsed[1]));
|
||||
temp.GimmickType = (GimmickType)Convert.ToInt32(parsed[2]);
|
||||
temp.BeatInfo = new BeatInfo(Convert.ToInt32(parsed[0], _defaultParsingCulture), Convert.ToInt32(parsed[1], _defaultParsingCulture));
|
||||
temp.GimmickType = (GimmickType)Convert.ToInt32(parsed[2], _defaultParsingCulture);
|
||||
|
||||
switch (temp.GimmickType)
|
||||
{
|
||||
case GimmickType.NoGimmick:
|
||||
noteTemp = new Note(temp.BeatInfo);
|
||||
noteTemp.NoteType = (NoteType)Convert.ToInt32(parsed[3]);
|
||||
lineNum = Convert.ToInt32(parsed[4]);
|
||||
noteTemp.Position = Convert.ToInt32(parsed[5]);
|
||||
noteTemp.Size = Convert.ToInt32(parsed[6]);
|
||||
noteTemp.HoldChange = Convert.ToBoolean(Convert.ToInt32(parsed[7]));
|
||||
noteTemp.NoteType = (NoteType)Convert.ToInt32(parsed[3], _defaultParsingCulture);
|
||||
lineNum = Convert.ToInt32(parsed[4], _defaultParsingCulture);
|
||||
noteTemp.Position = Convert.ToInt32(parsed[5], _defaultParsingCulture);
|
||||
noteTemp.Size = Convert.ToInt32(parsed[6], _defaultParsingCulture);
|
||||
noteTemp.HoldChange = Convert.ToBoolean(Convert.ToInt32(parsed[7], _defaultParsingCulture));
|
||||
if (noteTemp.NoteType == NoteType.MaskAdd || noteTemp.NoteType == NoteType.MaskRemove)
|
||||
{
|
||||
noteTemp.MaskFill = (MaskType)Convert.ToInt32(parsed[8]);
|
||||
noteTemp.MaskFill = (MaskType)Convert.ToInt32(parsed[8], _defaultParsingCulture);
|
||||
}
|
||||
else if (noteTemp.NoteType == NoteType.HoldStartNoBonus ||
|
||||
noteTemp.NoteType == NoteType.HoldJoint ||
|
||||
noteTemp.NoteType == NoteType.HoldStartBonusFlair)
|
||||
{
|
||||
refByLine[lineNum] = Convert.ToInt32(parsed[8]);
|
||||
refByLine[lineNum] = Convert.ToInt32(parsed[8], _defaultParsingCulture);
|
||||
}
|
||||
Notes.Add(noteTemp);
|
||||
notesByLine[lineNum] = Notes.Last();
|
||||
break;
|
||||
case GimmickType.BpmChange:
|
||||
gimmickTemp = new Gimmick(temp.BeatInfo, temp.GimmickType);
|
||||
gimmickTemp.BPM = Convert.ToDouble(parsed[3]);
|
||||
gimmickTemp.BPM = Convert.ToDouble(parsed[3], _defaultParsingCulture);
|
||||
Gimmicks.Add(gimmickTemp);
|
||||
break;
|
||||
case GimmickType.TimeSignatureChange:
|
||||
gimmickTemp = new Gimmick(temp.BeatInfo, temp.GimmickType);
|
||||
gimmickTemp.TimeSig = new TimeSignature() { Upper = Convert.ToInt32(parsed[3]), Lower = parsed.Length == 5 ? Convert.ToInt32(parsed[4]) : 4 };
|
||||
gimmickTemp.TimeSig = new TimeSignature() { Upper = Convert.ToInt32(parsed[3], _defaultParsingCulture), Lower = parsed.Length == 5 ? Convert.ToInt32(parsed[4], _defaultParsingCulture) : 4 };
|
||||
Gimmicks.Add(gimmickTemp);
|
||||
break;
|
||||
case GimmickType.HiSpeedChange:
|
||||
gimmickTemp = new Gimmick(temp.BeatInfo, temp.GimmickType);
|
||||
gimmickTemp.HiSpeed = Convert.ToDouble(parsed[3]);
|
||||
gimmickTemp.HiSpeed = Convert.ToDouble(parsed[3], _defaultParsingCulture);
|
||||
Gimmicks.Add(gimmickTemp);
|
||||
break;
|
||||
case GimmickType.ReverseStart:
|
||||
@@ -191,7 +193,7 @@ namespace BAKKA_Editor
|
||||
foreach (var note in Notes)
|
||||
{
|
||||
sw.Write($"{note.BeatInfo.Measure,4:F0}{note.BeatInfo.Beat,5:F0}{((int)note.GimmickType),5:F0}{(int)note.NoteType,5:F0}");
|
||||
sw.Write($"{Notes.IndexOf(note),5:F0}{note.Position,5:F0}{note.Size,5:F0}{Convert.ToInt32(note.HoldChange),5:F0}");
|
||||
sw.Write($"{Notes.IndexOf(note),5:F0}{note.Position,5:F0}{note.Size,5:F0}{Convert.ToInt32(note.HoldChange, _defaultParsingCulture),5:F0}");
|
||||
if (note.IsMask)
|
||||
sw.Write($"{(int)note.MaskFill,5:F0}");
|
||||
if (note.NextNote != null)
|
||||
@@ -264,7 +266,7 @@ namespace BAKKA_Editor
|
||||
((60000.0 / evt.BPM) * 4.0 * evt.TimeSig.Ratio) * measure = time
|
||||
time / ((60000.0 / evt.BPM) * 4.0 * evt.TimeSig.Ratio) = measure
|
||||
*/
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Translate clock time to beats
|
||||
/// </summary>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BAKKA_Editor
|
||||
{
|
||||
|
||||
internal class UserSettings
|
||||
{
|
||||
public ViewSettings ViewSettings { get; set; } = new();
|
||||
@@ -34,13 +36,14 @@ namespace BAKKA_Editor
|
||||
|
||||
internal class HotkeySettings
|
||||
{
|
||||
public int TouchHotkey { get; set; } = Convert.ToInt32(Keys.D1);
|
||||
public int SlideLeftHotkey { get; set; } = Convert.ToInt32(Keys.D2);
|
||||
public int SlideRightHotkey { get; set; } = Convert.ToInt32(Keys.D3);
|
||||
public int SnapUpHotkey { get; set; } = Convert.ToInt32(Keys.D4);
|
||||
public int SnapDownHotkey { get; set; } = Convert.ToInt32(Keys.D5);
|
||||
public int ChainHotkey { get; set; } = Convert.ToInt32(Keys.D6);
|
||||
public int HoldHotkey { get; set; } = Convert.ToInt32(Keys.D7);
|
||||
public int PlayHotkey { get; set; } = Convert.ToInt32(Keys.Space);
|
||||
private static readonly CultureInfo _defaultParsingCulture = CultureInfo.InvariantCulture;
|
||||
public int TouchHotkey { get; set; } = Convert.ToInt32(Keys.D1, _defaultParsingCulture);
|
||||
public int SlideLeftHotkey { get; set; } = Convert.ToInt32(Keys.D2, _defaultParsingCulture);
|
||||
public int SlideRightHotkey { get; set; } = Convert.ToInt32(Keys.D3, _defaultParsingCulture);
|
||||
public int SnapUpHotkey { get; set; } = Convert.ToInt32(Keys.D4, _defaultParsingCulture);
|
||||
public int SnapDownHotkey { get; set; } = Convert.ToInt32(Keys.D5, _defaultParsingCulture);
|
||||
public int ChainHotkey { get; set; } = Convert.ToInt32(Keys.D6, _defaultParsingCulture);
|
||||
public int HoldHotkey { get; set; } = Convert.ToInt32(Keys.D7, _defaultParsingCulture);
|
||||
public int PlayHotkey { get; set; } = Convert.ToInt32(Keys.Space, _defaultParsingCulture);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user