first commit

This commit is contained in:
Alex
2025-08-06 17:03:37 -07:00
commit cead8a5f54
16 changed files with 484 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
using System;
namespace MercuryConverter.Data;
public class Chart
{
public required string audioId;
public required string audioOffset;
public required string audioPreviewTime;
public required string audioPreviewDuration;
public required string video;
public required string designer;
public required string clearRequirement;
public required string diffLevel;
public string diffString
{
get
{
var d = Convert.ToDouble(diffLevel);
var i = (int)d;
return $"{(int)d}{(d > i ? "+" : "")}";
}
}
}
+38
View File
@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace MercuryConverter.Data;
public static class Consts
{
private static Dictionary<int, string> _CATEGORY_INDEX = new()
{
{ -1, "Unknown"},
{ 0, "Anime/Pop"},
{ 1, "Vocaloid"},
{ 2, "Touhou Project"},
{ 3, "2.5D" },
{ 4, "Variety" },
{ 5, "Original" },
{ 6, "HARDCORE TANO*C" },
{ 7, "VTuber" },
};
public static readonly IReadOnlyDictionary<int, string> CATEGORY_INDEX = _CATEGORY_INDEX;
private static Dictionary<int, string> _NUM_SOURCE = new()
{
{ 1, string.Concat(new int[] {87, 65, 67, 67, 65}.Select(i => Convert.ToChar(i))) },
{ 2, string.Concat(new int[] {87, 65, 67, 67, 65, 32, 83}.Select(i => Convert.ToChar(i))) },
{ 3, string.Concat(new int[] {87, 65, 67, 67, 65, 32, 76, 73, 76, 89}.Select(i => Convert.ToChar(i))) },
{ 4, string.Concat(new int[] {87, 65, 67, 67, 65, 32, 76, 73, 76, 89, 32, 82}.Select(i => Convert.ToChar(i))) },
{ 5, string.Concat(new int[] {87, 65, 67, 67, 65, 32, 82, 101, 118, 101, 114, 115, 101}.Select(i => Convert.ToChar(i))) }
};
public static readonly IReadOnlyDictionary<int, string> NUM_SOURCE = _NUM_SOURCE;
public static readonly IReadOnlyDictionary<string, int> SOURCE_NUM = _NUM_SOURCE.ToDictionary(p => p.Value, p=>p.Key);
private static string[] _DIFFICULTIES = {
"Normal", "Hard", "Expert", "Inferno"
};
public static readonly IReadOnlyList<string> DIFFICULTIES = _DIFFICULTIES;
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using Avalonia.Media;
namespace MercuryConverter.Data;
public class Song
{
/// <summary>
/// Format: `Snn-nnn` where `n` is a digit.
/// </summary>
public required string id;
public required string name;
public required string rubi;
public required string artist;
public required string copyright;
public required string tempo;
public required string version;
public required int genreId;
public required string game;
public required string jacket;
public Chart?[] charts = { null, null, null, null };
}