Changing language no longer requires hard reloading to apply on songs
This commit is contained in:
parent
dafe4b9881
commit
1c50822197
@ -95,7 +95,7 @@ namespace TJAPlayer3
|
||||
|
||||
|
||||
// とじる
|
||||
itemBack.strタイトル = CLangManager.LangInstance.GetString("SONGSELECT_RETURN_PATH", path);
|
||||
itemBack.ldTitle = CLangManager.GetAllStringsAsLocalizationDataWithArgs("SONGSELECT_RETURN_PATH", path, path);
|
||||
|
||||
itemBack.BackColor = ColorTranslator.FromHtml("#513009");
|
||||
itemBack.BoxColor = Color.White;
|
||||
@ -119,11 +119,11 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
itemBack.strBreadcrumbs = (itemBack.rParentNode == null) ?
|
||||
itemBack.strタイトル : itemBack.rParentNode.strBreadcrumbs + " > " + itemBack.strタイトル;
|
||||
itemBack.ldTitle.GetString("") : itemBack.rParentNode.strBreadcrumbs + " > " + itemBack.ldTitle.GetString("");
|
||||
|
||||
itemBack.arスコア[0] = new Cスコア();
|
||||
itemBack.arスコア[0].ファイル情報.フォルダの絶対パス = "";
|
||||
itemBack.arスコア[0].譜面情報.タイトル = itemBack.strタイトル;
|
||||
itemBack.arスコア[0].譜面情報.タイトル = itemBack.ldTitle.GetString("");
|
||||
itemBack.arスコア[0].譜面情報.コメント = "";
|
||||
|
||||
return (itemBack);
|
||||
@ -134,13 +134,13 @@ namespace TJAPlayer3
|
||||
CSongListNode itemRandom = new CSongListNode();
|
||||
itemRandom.eノード種別 = CSongListNode.ENodeType.RANDOM;
|
||||
|
||||
itemRandom.strタイトル = CLangManager.LangInstance.GetString("SONGSELECT_RANDOM_PATH", path);
|
||||
itemRandom.ldTitle = CLangManager.GetAllStringsAsLocalizationDataWithArgs("SONGSELECT_RANDOM_PATH", path, path);
|
||||
|
||||
itemRandom.nスコア数 = (int)Difficulty.Total;
|
||||
itemRandom.rParentNode = parent;
|
||||
|
||||
itemRandom.strBreadcrumbs = (itemRandom.rParentNode == null) ?
|
||||
itemRandom.strタイトル : itemRandom.rParentNode.strBreadcrumbs + " > " + itemRandom.strタイトル;
|
||||
itemRandom.ldTitle.GetString("") : itemRandom.rParentNode.strBreadcrumbs + " > " + itemRandom.ldTitle.GetString("");
|
||||
|
||||
itemRandom.arスコア[0] = new Cスコア();
|
||||
|
||||
@ -208,7 +208,7 @@ namespace TJAPlayer3
|
||||
|
||||
// Generate back buttons
|
||||
|
||||
string favPath = "./" + parent.strタイトル + "/";
|
||||
string favPath = "./" + parent.ldTitle.GetString("") + "/";
|
||||
|
||||
tReinsertBackButtons(parent, childList, favPath);
|
||||
|
||||
@ -232,7 +232,7 @@ namespace TJAPlayer3
|
||||
|
||||
// Generate back buttons
|
||||
|
||||
string favPath = "./" + parent.strタイトル + "/";
|
||||
string favPath = "./" + parent.ldTitle.GetString("") + "/";
|
||||
|
||||
tReinsertBackButtons(parent, childList, favPath);
|
||||
|
||||
@ -268,7 +268,7 @@ namespace TJAPlayer3
|
||||
|
||||
// Generate back buttons
|
||||
|
||||
string favPath = "./" + parent.strタイトル + "/";
|
||||
string favPath = "./" + parent.ldTitle.GetString("") + "/";
|
||||
|
||||
tReinsertBackButtons(parent, childList, favPath);
|
||||
|
||||
|
@ -7,6 +7,7 @@ using Newtonsoft.Json;
|
||||
|
||||
namespace TJAPlayer3
|
||||
{
|
||||
[Serializable]
|
||||
internal class CLocalizationData
|
||||
{
|
||||
[JsonProperty("strings")]
|
||||
|
@ -70,7 +70,7 @@ namespace TJAPlayer3
|
||||
|
||||
command.CommandText = $@"INSERT INTO dan_titles(DanTitleText,DanClearStatus,DanIsGold,SaveId)
|
||||
VALUES(
|
||||
'{DanTitle.Replace(@"'", @"''")}',
|
||||
'{DanTitle.EscapeSingleQuotes()}',
|
||||
{DanClearStatus},
|
||||
{Convert.ToInt64(DanIsGold)},
|
||||
{SaveId}
|
||||
@ -143,7 +143,7 @@ namespace TJAPlayer3
|
||||
if (connection == null) return;
|
||||
|
||||
var command = connection.CreateCommand();
|
||||
command.CommandText = @$"INSERT INTO {table}(Asset,SaveId) VALUES('{asset.Replace(@"'", @"''")}', {SaveId});";
|
||||
command.CommandText = @$"INSERT INTO {table}(Asset,SaveId) VALUES('{asset.EscapeSingleQuotes()}', {SaveId});";
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
@ -225,15 +225,15 @@ namespace TJAPlayer3
|
||||
|
||||
var command = connection.CreateCommand();
|
||||
command.CommandText = $@" UPDATE saves SET
|
||||
PlayerName = '{SaveData.Name.Replace(@"'", @"''")}',
|
||||
PlayerNameplateTitle = '{SaveData.Title.Replace(@"'", @"''")}',
|
||||
PlayerDanTitle = '{SaveData.Dan.Replace(@"'", @"''")}',
|
||||
PlayerName = '{SaveData.Name.EscapeSingleQuotes()}',
|
||||
PlayerNameplateTitle = '{SaveData.Title.EscapeSingleQuotes()}',
|
||||
PlayerDanTitle = '{SaveData.Dan.EscapeSingleQuotes()}',
|
||||
PlayerDanGold = {SaveData.DanGold},
|
||||
PlayerDanType = {SaveData.DanType},
|
||||
PlayerNameplateType = {SaveData.TitleType},
|
||||
PlayerPuchichara = '{SaveData.PuchiChara.Replace(@"'", @"''")}',
|
||||
PlayerPuchichara = '{SaveData.PuchiChara.EscapeSingleQuotes()}',
|
||||
PlayerCharacter = {SaveData.Character},
|
||||
PlayerCharacterName = '{SaveData.CharacterName.Replace(@"'", @"''")}'
|
||||
PlayerCharacterName = '{SaveData.CharacterName.EscapeSingleQuotes()}'
|
||||
WHERE SaveId = {SaveData.SaveId};
|
||||
;";
|
||||
command.ExecuteNonQuery();
|
||||
@ -317,7 +317,7 @@ namespace TJAPlayer3
|
||||
currentPlay.ChartUniqueId = choosenSong.uniqueId.data.id;
|
||||
currentPlay.ChartGenre = choosenSong.strジャンル;
|
||||
currentPlay.Charter = choosenSong.strNotesDesigner[choosenDifficulty];
|
||||
currentPlay.Artist = choosenSong.strサブタイトル; // There is no direct Artist tag on the .tja format, so we directly use the subtitle as a guess
|
||||
currentPlay.Artist = choosenSong.ldSubtitle.GetString(""); // There is no direct Artist tag on the .tja format, so we directly use the subtitle as a guess
|
||||
currentPlay.PlayMods = ModIcons.tModsToPlayModsFlags(player);
|
||||
currentPlay.ChartDifficulty = choosenDifficulty;
|
||||
currentPlay.ChartLevel = choosenSong.arスコア[choosenDifficulty].譜面情報.nレベル[choosenDifficulty];
|
||||
@ -447,10 +447,10 @@ namespace TJAPlayer3
|
||||
cmd.CommandText = $@"
|
||||
INSERT INTO best_plays(ChartUniqueId,ChartGenre,Charter,Artist,PlayMods,ChartDifficulty,ChartLevel,ClearStatus,ScoreRank,HighScore,SaveId,TowerBestFloor,DanExam1,DanExam2,DanExam3,DanExam4,DanExam5,DanExam6,DanExam7,PlayCount,HighScoreGoodCount,HighScoreOkCount,HighScoreBadCount,HighScoreMaxCombo,HighScoreRollCount,HighScoreADLibCount,HighScoreBoomCount)
|
||||
VALUES(
|
||||
'{currentPlay.ChartUniqueId.Replace(@"'", @"''")}',
|
||||
'{currentPlay.ChartGenre.Replace(@"'", @"''")}',
|
||||
'{currentPlay.Charter.Replace(@"'", @"''")}',
|
||||
'{currentPlay.Artist.Replace(@"'", @"''")}',
|
||||
'{currentPlay.ChartUniqueId.EscapeSingleQuotes()}',
|
||||
'{currentPlay.ChartGenre.EscapeSingleQuotes()}',
|
||||
'{currentPlay.Charter.EscapeSingleQuotes()}',
|
||||
'{currentPlay.Artist.EscapeSingleQuotes()}',
|
||||
{currentPlay.PlayMods},
|
||||
{currentPlay.ChartDifficulty},
|
||||
{currentPlay.ChartLevel},
|
||||
|
@ -80,8 +80,8 @@ namespace TJAPlayer3
|
||||
foreach (KeyValuePair<string, SongUnlockable> item in data)
|
||||
{
|
||||
string _npvKey = item.Key;
|
||||
string? _songName = CSongDict.tGetNodeFromID(_npvKey)?.strタイトル;
|
||||
string _songSubtitle = CSongDict.tGetNodeFromID(_npvKey)?.strサブタイトル ?? "";
|
||||
string? _songName = CSongDict.tGetNodeFromID(_npvKey)?.ldTitle.GetString("");
|
||||
string _songSubtitle = CSongDict.tGetNodeFromID(_npvKey)?.ldSubtitle.GetString("") ?? "";
|
||||
|
||||
if (!_sf.Contains(_npvKey) && _songName != null)
|
||||
{
|
||||
|
@ -355,7 +355,7 @@ namespace TJAPlayer3
|
||||
|
||||
var diffString = CLangManager.LangInstance.GetDifficulty(_aimedDifficulty);
|
||||
var statusString = GetRequiredClearStatus(_aimedStatus);
|
||||
var _songName = CSongDict.tGetNodeFromID(_songId)?.strタイトル ?? "[Not found]";
|
||||
var _songName = CSongDict.tGetNodeFromID(_songId)?.ldTitle.GetString("") ?? "[Not found]";
|
||||
|
||||
_rows.Add(CLangManager.LangInstance.GetString("UNLOCK_CONDITION_CHALLENGE_PLAYDIFF", statusString, _songName, diffString));
|
||||
|
||||
|
@ -147,6 +147,11 @@ namespace System
|
||||
return Regex.Replace(input, TagRegex, "");
|
||||
}
|
||||
|
||||
public static string EscapeSingleQuotes(this string input)
|
||||
{
|
||||
return input.Replace(@"'", @"''");
|
||||
}
|
||||
|
||||
public static string SafeFormat(this string format, params object?[] args)
|
||||
{
|
||||
try
|
||||
|
@ -83,6 +83,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
return (Entries.TryGetValue(key, out string? value)) ? value.SafeFormat(values) : InvalidKey.SafeFormat(key);
|
||||
}
|
||||
|
||||
public string GetDifficulty(int diff)
|
||||
{
|
||||
switch (diff)
|
||||
|
@ -103,8 +103,46 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
public static CLocalizationData GetAllStringsAsLocalizationData(string key)
|
||||
{
|
||||
if (_cachedLocs.ContainsKey(key)) return _cachedLocs[key];
|
||||
|
||||
CLocalizationData loc = new CLocalizationData();
|
||||
loc.SetString("default", "?");
|
||||
|
||||
foreach (string lang in Langcodes)
|
||||
{
|
||||
CLang _inst = CLang.GetCLang(lang);
|
||||
|
||||
loc.SetString(lang, _inst.GetString(key));
|
||||
}
|
||||
|
||||
_cachedLocs[key] = loc;
|
||||
return loc;
|
||||
}
|
||||
|
||||
public static CLocalizationData GetAllStringsAsLocalizationDataWithArgs(string key, string keySalt, params object?[] values)
|
||||
{
|
||||
if (_cachedLocs.ContainsKey(key + keySalt)) return _cachedLocs[key + keySalt];
|
||||
|
||||
CLocalizationData loc = new CLocalizationData();
|
||||
loc.SetString("default", "?");
|
||||
|
||||
foreach (string lang in Langcodes)
|
||||
{
|
||||
CLang _inst = CLang.GetCLang(lang);
|
||||
|
||||
loc.SetString(lang, _inst.GetString(key, values));
|
||||
}
|
||||
|
||||
_cachedLocs[key + keySalt] = loc;
|
||||
return loc;
|
||||
}
|
||||
|
||||
private static string[] _langCodes;
|
||||
private static string[] _languages;
|
||||
|
||||
private static Dictionary<string, CLocalizationData> _cachedLocs = new Dictionary<string, CLocalizationData>();
|
||||
//public static ILang LangInstance { get; private set; } = new CLang_jp();
|
||||
}
|
||||
}
|
@ -14,8 +14,8 @@ namespace TJAPlayer3
|
||||
public Color Color;
|
||||
public string SelectBG;
|
||||
public string Genre;
|
||||
public string Title;
|
||||
public string[] strBoxText = new string[3];
|
||||
public CLocalizationData Title = new CLocalizationData();
|
||||
public CLocalizationData[] strBoxText = new CLocalizationData[3] { new CLocalizationData(), new CLocalizationData(), new CLocalizationData() };
|
||||
public Color ForeColor;
|
||||
public Color BackColor;
|
||||
public bool IsChangedForeColor;
|
||||
@ -33,16 +33,10 @@ namespace TJAPlayer3
|
||||
public string DefaultPreimage;
|
||||
public string ScenePreset;
|
||||
|
||||
private readonly string langTITLE = "#TITLE" + CLangManager.fetchLang().ToUpper();
|
||||
private readonly string langBOXEXPLANATION = "#BOXEXPLANATION" + CLangManager.fetchLang().ToUpper();
|
||||
|
||||
// コンストラクタ
|
||||
|
||||
public CBoxDef()
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
this.strBoxText[i] = "";
|
||||
this.Title = "";
|
||||
this.Genre = "";
|
||||
ForeColor = Color.White;
|
||||
BackColor = Color.Black;
|
||||
@ -90,14 +84,15 @@ namespace TJAPlayer3
|
||||
string key = split[0];
|
||||
string value = split[1];
|
||||
|
||||
if (key == langTITLE)
|
||||
if (key == "#TITLE")
|
||||
{
|
||||
this.Title = value.Trim(ignoreChars);
|
||||
this.Title.SetString("default", value.Trim(ignoreChars));
|
||||
}
|
||||
else if (key == "#TITLE")
|
||||
else if (key.StartsWith("#TITLE"))
|
||||
{
|
||||
if (this.Title == "") this.Title = value.Trim(ignoreChars);
|
||||
}
|
||||
string _lang = key.Substring(6).ToLowerInvariant();
|
||||
this.Title.SetString(_lang, value.Trim(ignoreChars));
|
||||
}
|
||||
else if (key == "#GENRE")
|
||||
{
|
||||
this.Genre = value.Trim(ignoreChars);
|
||||
@ -157,14 +152,15 @@ namespace TJAPlayer3
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (key == langBOXEXPLANATION + (i + 1).ToString())
|
||||
if (key == "#BOXEXPLANATION" + (i + 1).ToString())
|
||||
{
|
||||
this.strBoxText[i] = value.Trim(ignoreChars);
|
||||
this.strBoxText[i].SetString("default", value.Trim(ignoreChars));
|
||||
}
|
||||
else if (key == "#BOXEXPLANATION" + (i + 1).ToString())
|
||||
else if (key.StartsWith("#BOXEXPLANATION") && key.EndsWith((i + 1).ToString()))
|
||||
{
|
||||
if (this.strBoxText[i] == "") this.strBoxText[i] = value.Trim(ignoreChars);
|
||||
}
|
||||
string _lang = key.Substring(15)[..^1].ToLowerInvariant();
|
||||
this.strBoxText[i].SetString(_lang, value.Trim(ignoreChars));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1147,8 +1147,8 @@ namespace TJAPlayer3
|
||||
public string strファイル名;
|
||||
public string strファイル名の絶対パス;
|
||||
public string strフォルダ名;
|
||||
public string SUBTITLE;
|
||||
public string TITLE;
|
||||
public CLocalizationData SUBTITLE = new CLocalizationData();
|
||||
public CLocalizationData TITLE = new CLocalizationData();
|
||||
public double dbDTXVPlaySpeed;
|
||||
public double dbScrollSpeed;
|
||||
public int nデモBGMオフセット;
|
||||
@ -1233,12 +1233,6 @@ namespace TJAPlayer3
|
||||
private string[] dlmtEnter = { "\n" };
|
||||
private string[] dlmtCOURSE = { "COURSE:" };
|
||||
|
||||
private readonly string langTITLE = "TITLE" + CLangManager.fetchLang().ToUpper();
|
||||
private readonly string langSUBTITLE = "SUBTITLE" + CLangManager.fetchLang().ToUpper();
|
||||
|
||||
private bool titleIsLocalized = false;
|
||||
private bool subtitleIsLocalized = false;
|
||||
|
||||
private int nスクロール方向 = 0;
|
||||
//2015.09.18 kairera0467
|
||||
//バタフライスライドみたいなアレをやりたいがために実装。
|
||||
@ -1292,8 +1286,8 @@ namespace TJAPlayer3
|
||||
public CDTX()
|
||||
{
|
||||
this.nPlayerSide = 0;
|
||||
this.TITLE = "";
|
||||
this.SUBTITLE = "";
|
||||
this.TITLE.SetString("default", "");
|
||||
this.SUBTITLE.SetString("default", "");
|
||||
this.ARTIST = "";
|
||||
this.COMMENT = "";
|
||||
this.SIDE = ESide.eEx;
|
||||
@ -7238,7 +7232,7 @@ namespace TJAPlayer3
|
||||
private void t入力_行解析ヘッダ(string InputText)
|
||||
{
|
||||
//やべー。先頭にコメント行あったらやばいやん。
|
||||
string[] strArray = InputText.Split(new char[] { ':' });
|
||||
string[] strArray = InputText.Split(new char[] { ':' }, 2);
|
||||
string strCommandName = "";
|
||||
string strCommandParam = "";
|
||||
|
||||
@ -7266,7 +7260,7 @@ namespace TJAPlayer3
|
||||
//strArrayが2じゃない場合、ヘッダのSplitを通していない可能性がある。
|
||||
//この処理自体は「t入力」を改造したもの。STARTでSplitしていない等、一部の処理が異なる。
|
||||
|
||||
#region[ヘッダ]
|
||||
#region [Header]
|
||||
InputText = InputText.Replace(Environment.NewLine, "\n"); //改行文字を別の文字列に差し替え。
|
||||
InputText = InputText.Replace('\t', ' '); //何の文字か知らないけどスペースに差し替え。
|
||||
InputText = InputText + "\n";
|
||||
@ -7291,55 +7285,26 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
//パラメータを分別、そこから割り当てていきます。
|
||||
if (strCommandName.Equals("TITLE") && !titleIsLocalized)
|
||||
if (strCommandName.Equals("TITLE"))
|
||||
{
|
||||
var subTitle = "";
|
||||
for (int i = 0; i < strArray.Length; i++)
|
||||
{
|
||||
subTitle += strArray[i];
|
||||
}
|
||||
this.TITLE = subTitle.Substring(5);
|
||||
this.TITLE.SetString("default", strCommandParam);
|
||||
}
|
||||
else if (strCommandName.Equals(langTITLE))
|
||||
else if (strCommandName.StartsWith("TITLE"))
|
||||
{
|
||||
var subTitle = "";
|
||||
for (int i = 0; i < strArray.Length; i++)
|
||||
{
|
||||
subTitle += strArray[i];
|
||||
}
|
||||
this.TITLE = subTitle.Substring(7);
|
||||
titleIsLocalized = true;
|
||||
string _lang = strCommandName.Substring(5).ToLowerInvariant();
|
||||
this.TITLE.SetString(_lang, strCommandParam);
|
||||
}
|
||||
else if (strCommandName.Equals("SUBTITLE") && !subtitleIsLocalized)
|
||||
else if (strCommandName.Equals("SUBTITLE"))
|
||||
{
|
||||
if (strCommandParam.StartsWith("--") || strCommandParam.StartsWith("++"))
|
||||
{
|
||||
var subTitle = "";
|
||||
for (int i = 0; i < strArray.Length; i++)
|
||||
{
|
||||
subTitle += strArray[i];
|
||||
}
|
||||
this.SUBTITLE = subTitle.Substring(10);
|
||||
}
|
||||
this.SUBTITLE.SetString("default", strCommandParam.Substring(2));
|
||||
else
|
||||
{
|
||||
var subTitle = "";
|
||||
for (int i = 0; i < strArray.Length; i++)
|
||||
{
|
||||
subTitle += strArray[i];
|
||||
}
|
||||
this.SUBTITLE = subTitle.Substring(8);
|
||||
}
|
||||
this.SUBTITLE.SetString("default", strCommandParam);
|
||||
}
|
||||
else if (strCommandName.Equals(langSUBTITLE))
|
||||
else if (strCommandName.StartsWith("SUBTITLE"))
|
||||
{
|
||||
var subTitle = "";
|
||||
for (int i = 0; i < strArray.Length; i++)
|
||||
{
|
||||
subTitle += strArray[i];
|
||||
}
|
||||
this.SUBTITLE = subTitle.Substring(10);
|
||||
subtitleIsLocalized = true;
|
||||
string _lang = strCommandName.Substring(8).ToLowerInvariant();
|
||||
this.SUBTITLE.SetString(_lang, strCommandParam);
|
||||
}
|
||||
else if (strCommandName.Equals("LEVEL"))
|
||||
{
|
||||
|
@ -212,7 +212,7 @@ namespace TJAPlayer3
|
||||
INSERT INTO best_plays(ChartUniqueId,ChartGenre,Charter,Artist,PlayMods,ChartDifficulty,ChartLevel,ClearStatus,ScoreRank,HighScore,SaveId,TowerBestFloor,DanExam1,DanExam2,DanExam3,DanExam4,DanExam5,DanExam6,DanExam7,PlayCount,HighScoreGoodCount,HighScoreOkCount,HighScoreBadCount,HighScoreMaxCombo,HighScoreRollCount,HighScoreADLibCount,HighScoreBoomCount)
|
||||
VALUES(
|
||||
'{UniqueId.data.id.Replace(@"'", @"''")}',
|
||||
'{boxdef.Title.Replace(@"'", @"''")}',
|
||||
'{boxdef.Genre}',
|
||||
'{(!string.IsNullOrEmpty(Charters[i + 1]) ? Charters[i + 1] : Charters[0]).Replace(@"'", @"''")}',
|
||||
'{Artist.Replace(@"'", @"''")}',
|
||||
8925478921,
|
||||
|
@ -67,10 +67,10 @@ namespace TJAPlayer3
|
||||
public Stack<int> stackランダム演奏番号 = new Stack<int>();
|
||||
public string strジャンル = "";
|
||||
public string str本当のジャンル = "";
|
||||
public string strタイトル = "";
|
||||
public CLocalizationData ldTitle = new CLocalizationData();
|
||||
public List<CDTX.DanSongs> DanSongs;
|
||||
public Dan_C[] Dan_C;
|
||||
public string strサブタイトル = "";
|
||||
public CLocalizationData ldSubtitle = new CLocalizationData();
|
||||
public string strMaker = "";
|
||||
public string[] strNotesDesigner = new string[(int)Difficulty.Total] { "", "", "", "", "", "", "" };
|
||||
public CDTX.ESide nSide = CDTX.ESide.eEx;
|
||||
@ -93,7 +93,7 @@ namespace TJAPlayer3
|
||||
public int nDanTick = 0;
|
||||
public Color cDanTickColor = Color.White;
|
||||
|
||||
public string[] strBoxText = new string[3];
|
||||
public CLocalizationData[] strBoxText = new CLocalizationData[3] { new CLocalizationData(), new CLocalizationData(), new CLocalizationData() };
|
||||
|
||||
public string strSelectBGPath;
|
||||
|
||||
|
@ -150,8 +150,8 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
t曲を検索してリストを作成する(path, true, downloadBox.list子リスト, downloadBox);
|
||||
this.t曲リストへ後処理を適用する(downloadBox.list子リスト, $"/{downloadBox.strタイトル}/");
|
||||
downloadBox.list子リスト.Insert(0, CSongDict.tGenerateBackButton(downloadBox, $"/{downloadBox.strタイトル}/"));
|
||||
this.t曲リストへ後処理を適用する(downloadBox.list子リスト, $"/{downloadBox.ldTitle.GetString("")}/");
|
||||
downloadBox.list子リスト.Insert(0, CSongDict.tGenerateBackButton(downloadBox, $"/{downloadBox.ldTitle.GetString("")}/"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -218,8 +218,8 @@ namespace TJAPlayer3
|
||||
c曲リストノード.strBreadcrumbs = ( c曲リストノード.rParentNode == null ) ?
|
||||
str基点フォルダ + fileinfo.Name : c曲リストノード.rParentNode.strBreadcrumbs + " > " + str基点フォルダ + fileinfo.Name;
|
||||
|
||||
c曲リストノード.strタイトル = dtx.TITLE;
|
||||
c曲リストノード.strサブタイトル = dtx.SUBTITLE;
|
||||
c曲リストノード.ldTitle = dtx.TITLE;
|
||||
c曲リストノード.ldSubtitle = dtx.SUBTITLE;
|
||||
c曲リストノード.strジャンル = dtx.GENRE;
|
||||
c曲リストノード.strMaker = dtx.MAKER;
|
||||
|
||||
@ -408,8 +408,8 @@ namespace TJAPlayer3
|
||||
c曲リストノード.strBreadcrumbs = ( c曲リストノード.rParentNode == null ) ?
|
||||
str基点フォルダ + fileinfo.Name : c曲リストノード.rParentNode.strBreadcrumbs + " > " + str基点フォルダ + fileinfo.Name;
|
||||
|
||||
c曲リストノード.strタイトル = dtx.TITLE;
|
||||
c曲リストノード.strサブタイトル = dtx.SUBTITLE;
|
||||
c曲リストノード.ldTitle = dtx.TITLE;
|
||||
c曲リストノード.ldSubtitle = dtx.SUBTITLE;
|
||||
c曲リストノード.strMaker = dtx.MAKER;
|
||||
c曲リストノード.strNotesDesigner = dtx.NOTESDESIGNER.Select(x => x.Equals("") ? c曲リストノード.strMaker : x).ToArray();
|
||||
c曲リストノード.nSide = dtx.SIDE;
|
||||
@ -615,7 +615,7 @@ namespace TJAPlayer3
|
||||
CSongListNode c曲リストノード = new CSongListNode();
|
||||
c曲リストノード.eノード種別 = CSongListNode.ENodeType.BOX;
|
||||
c曲リストノード.bDTXFilesで始まるフォルダ名のBOXである = false;
|
||||
c曲リストノード.strタイトル = boxdef.Title;
|
||||
c曲リストノード.ldTitle = boxdef.Title;
|
||||
c曲リストノード.strジャンル = boxdef.Genre;
|
||||
c曲リストノード.strScenePreset = boxdef.ScenePreset;
|
||||
c曲リストノード.strSelectBGPath = infoDir.FullName + Path.DirectorySeparatorChar + boxdef.SelectBG;
|
||||
@ -661,7 +661,7 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if ((boxdef.strBoxText[i] != null) && (boxdef.strBoxText[i].Length > 0))
|
||||
if ((boxdef.strBoxText[i] != null))
|
||||
{
|
||||
c曲リストノード.strBoxText[i] = boxdef.strBoxText[i];
|
||||
}
|
||||
@ -709,7 +709,7 @@ namespace TJAPlayer3
|
||||
c曲リストノード.nスコア数 = 1;
|
||||
c曲リストノード.arスコア[ 0 ] = new Cスコア();
|
||||
c曲リストノード.arスコア[ 0 ].ファイル情報.フォルダの絶対パス = infoDir.FullName + Path.DirectorySeparatorChar;
|
||||
c曲リストノード.arスコア[ 0 ].譜面情報.タイトル = boxdef.Title;
|
||||
c曲リストノード.arスコア[ 0 ].譜面情報.タイトル = boxdef.Title.GetString("");
|
||||
c曲リストノード.arスコア[ 0 ].譜面情報.ジャンル = boxdef.Genre;
|
||||
if (!String.IsNullOrEmpty(boxdef.DefaultPreimage))
|
||||
c曲リストノード.arスコア[0].譜面情報.Preimage = boxdef.DefaultPreimage;
|
||||
@ -717,7 +717,7 @@ namespace TJAPlayer3
|
||||
|
||||
|
||||
c曲リストノード.strBreadcrumbs = ( c曲リストノード.rParentNode == null ) ?
|
||||
c曲リストノード.strタイトル : c曲リストノード.rParentNode.strBreadcrumbs + " > " + c曲リストノード.strタイトル;
|
||||
c曲リストノード.ldTitle.GetString("") : c曲リストノード.rParentNode.strBreadcrumbs + " > " + c曲リストノード.ldTitle.GetString("");
|
||||
|
||||
|
||||
c曲リストノード.list子リスト = new List<CSongListNode>();
|
||||
@ -738,7 +738,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
sb.Append( "(onRoot):" );
|
||||
}
|
||||
sb.Append( "BOX, Title=" + c曲リストノード.strタイトル );
|
||||
sb.Append( "BOX, Title=" + c曲リストノード.ldTitle.GetString(""));
|
||||
if( ( c曲リストノード.strジャンル != null ) && ( c曲リストノード.strジャンル.Length > 0 ) )
|
||||
{
|
||||
sb.Append( ", Genre=" + c曲リストノード.strジャンル );
|
||||
@ -810,7 +810,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
try
|
||||
{
|
||||
c曲リストノード.arスコア[ i ].譜面情報.タイトル = cdtx.TITLE;
|
||||
c曲リストノード.arスコア[ i ].譜面情報.タイトル = cdtx.TITLE.GetString("");
|
||||
|
||||
|
||||
c曲リストノード.arスコア[ i ].譜面情報.アーティスト名 = cdtx.ARTIST;
|
||||
@ -833,7 +833,7 @@ namespace TJAPlayer3
|
||||
c曲リストノード.arスコア[ i ].譜面情報.SongVol = cdtx.SongVol;
|
||||
c曲リストノード.arスコア[ i ].譜面情報.SongLoudnessMetadata = cdtx.SongLoudnessMetadata;
|
||||
c曲リストノード.arスコア[ i ].譜面情報.nデモBGMオフセット = cdtx.nデモBGMオフセット;
|
||||
c曲リストノード.arスコア[ i ].譜面情報.strサブタイトル = cdtx.SUBTITLE;
|
||||
c曲リストノード.arスコア[ i ].譜面情報.strサブタイトル = cdtx.SUBTITLE.GetString("");
|
||||
for (int k = 0; k < (int)Difficulty.Total; k++)
|
||||
{
|
||||
c曲リストノード.arスコア[i].譜面情報.b譜面分岐[k] = cdtx.bHIDDENBRANCH ? false : cdtx.bHasBranch[k];
|
||||
@ -1116,7 +1116,7 @@ namespace TJAPlayer3
|
||||
#endregion
|
||||
|
||||
|
||||
string newPath = parentName + c曲リストノード.strタイトル + "/";
|
||||
string newPath = parentName + c曲リストノード.ldTitle.GetString("") + "/";
|
||||
|
||||
CSongDict.tReinsertBackButtons(c曲リストノード, c曲リストノード.list子リスト, newPath, listStrBoxDefSkinSubfolderFullName);
|
||||
|
||||
@ -1131,16 +1131,16 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ If no node title found, try to fetch it within the score objects ]
|
||||
//-----------------------------
|
||||
if ( string.IsNullOrEmpty( c曲リストノード.strタイトル ) )
|
||||
if ( string.IsNullOrEmpty( c曲リストノード.ldTitle.GetString("")) )
|
||||
{
|
||||
for( int j = 0; j < (int)Difficulty.Total; j++ )
|
||||
{
|
||||
if( ( c曲リストノード.arスコア[ j ] != null ) && !string.IsNullOrEmpty( c曲リストノード.arスコア[ j ].譜面情報.タイトル ) )
|
||||
{
|
||||
c曲リストノード.strタイトル = c曲リストノード.arスコア[ j ].譜面情報.タイトル;
|
||||
c曲リストノード.ldTitle = new CLocalizationData();
|
||||
|
||||
if( TJAPlayer3.ConfigIni.bLog曲検索ログ出力 )
|
||||
Trace.TraceInformation( "タイトルを設定しました。(nID#{0:D3}, title={1})", c曲リストノード.nID, c曲リストノード.strタイトル );
|
||||
Trace.TraceInformation( "タイトルを設定しました。(nID#{0:D3}, title={1})", c曲リストノード.nID, c曲リストノード.ldTitle.GetString(""));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ namespace TJAPlayer3.C曲リストノードComparers
|
||||
|
||||
public int Compare(CSongListNode n1, CSongListNode n2)
|
||||
{
|
||||
return _order * n1.strサブタイトル.CompareTo(n2.strサブタイトル);
|
||||
return _order * n1.ldSubtitle.GetString("").CompareTo(n2.ldSubtitle.GetString(""));
|
||||
}
|
||||
}
|
||||
}
|
@ -13,7 +13,7 @@ namespace TJAPlayer3.C曲リストノードComparers
|
||||
|
||||
public int Compare(CSongListNode n1, CSongListNode n2)
|
||||
{
|
||||
return _order * n1.strタイトル.CompareTo( n2.strタイトル );
|
||||
return _order * n1.ldTitle.GetString("").CompareTo( n2.ldTitle.GetString(""));
|
||||
}
|
||||
}
|
||||
}
|
@ -373,7 +373,7 @@ namespace TJAPlayer3
|
||||
string titleTmp = "";
|
||||
|
||||
if (TJAPlayer3.stageSongSelect.r確定されたスコア != null)
|
||||
titleTmp = TJAPlayer3.stageSongSelect.rChoosenSong.strタイトル;
|
||||
titleTmp = TJAPlayer3.stageSongSelect.rChoosenSong.ldTitle.GetString("");
|
||||
if (songNode != null)
|
||||
{
|
||||
STバー情報 stNode = (STバー情報)songNode;
|
||||
@ -805,7 +805,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
// Two char header, will be used for grade unlocking too
|
||||
string tmp = song.strタイトル.Substring(0, 2);
|
||||
string tmp = song.ldTitle.GetString("").Substring(0, 2);
|
||||
|
||||
stバー情報[i].ttkタイトル[listSongs[i].DanSongs.Count] = new TitleTextureKey(tmp, pfDanSong, Color.Black, Color.Transparent, 700);
|
||||
|
||||
@ -844,10 +844,10 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Dani_Bar_Folder?.tUpdateColor4(CConversion.ColorToColor4(song.BoxColor));
|
||||
|
||||
stバー情報[i].ttkタイトル = new TitleTextureKey[4];
|
||||
stバー情報[i].ttkタイトル[0] = new TitleTextureKey(song.strタイトル, pfDanFolder, Color.White, Color.Black, TJAPlayer3.Skin.Resolution[0]);
|
||||
stバー情報[i].ttkタイトル[0] = new TitleTextureKey(song.ldTitle.GetString(""), pfDanFolder, Color.White, Color.Black, TJAPlayer3.Skin.Resolution[0]);
|
||||
for (int boxdesc = 0; boxdesc < 3; boxdesc++)
|
||||
if (song.strBoxText[boxdesc] != null)
|
||||
stバー情報[i].ttkタイトル[boxdesc + 1] = new TitleTextureKey(song.strBoxText[boxdesc], pfDanFolderDesc, song.ForeColor, song.BackColor, TJAPlayer3.Skin.Resolution[0]);
|
||||
stバー情報[i].ttkタイトル[boxdesc + 1] = new TitleTextureKey(song.strBoxText[boxdesc].GetString(""), pfDanFolderDesc, song.ForeColor, song.BackColor, TJAPlayer3.Skin.Resolution[0]);
|
||||
else
|
||||
stバー情報[i].ttkタイトル[boxdesc + 1] = new TitleTextureKey("", pfDanFolderDesc, Color.White, Color.Black, TJAPlayer3.Skin.Resolution[0]);
|
||||
stバー情報[i].cDanTickColor = song.BoxColor;
|
||||
|
@ -276,7 +276,7 @@ namespace TJAPlayer3
|
||||
foreach (CSongListNode node in list)
|
||||
{
|
||||
if (node.eノード種別 != CSongListNode.ENodeType.BOX) continue;
|
||||
string newPath = parentName + node.strタイトル + "/";
|
||||
string newPath = parentName + node.ldTitle.GetString("") + "/";
|
||||
CSongDict.tReinsertBackButtons(node, node.list子リスト, newPath, TJAPlayer3.Songs管理.listStrBoxDefSkinSubfolderFullName);
|
||||
|
||||
addBackBox(node.list子リスト, newPath);
|
||||
@ -463,7 +463,7 @@ namespace TJAPlayer3
|
||||
var song = this.rGetSideSong(barCenterNum);
|
||||
|
||||
int index = (this.n現在の選択行 + barCenterNum) % TJAPlayer3.Skin.SongSelect_Bar_Count; // 新しく最下部に表示されるパネルのインデックス(0~12)。
|
||||
this.stバー情報[index].strタイトル文字列 = song.strタイトル;
|
||||
this.stバー情報[index].strタイトル文字列 = song.ldTitle.GetString("");
|
||||
this.stバー情報[index].ForeColor = song.ForeColor;
|
||||
this.stバー情報[index].BackColor = song.BackColor;
|
||||
this.stバー情報[index].BoxColor = song.BoxColor;
|
||||
@ -480,7 +480,7 @@ namespace TJAPlayer3
|
||||
this.stバー情報[index].BoxCharaChanged = song.isChangedBoxChara;
|
||||
|
||||
this.stバー情報[index].strジャンル = song.strジャンル;
|
||||
this.stバー情報[index].strサブタイトル = song.strサブタイトル;
|
||||
this.stバー情報[index].strサブタイトル = song.ldSubtitle.GetString("");
|
||||
this.stバー情報[index].ar難易度 = song.nLevel;
|
||||
this.stバー情報[index].nLevelIcon = song.nLevelIcon;
|
||||
|
||||
@ -591,7 +591,7 @@ namespace TJAPlayer3
|
||||
var song = this.rGetSideSong(-barCenterNum);
|
||||
|
||||
int index = ((this.n現在の選択行 - barCenterNum) + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count; // 新しく最上部に表示されるパネルのインデックス(0~12)。
|
||||
this.stバー情報[index].strタイトル文字列 = song.strタイトル;
|
||||
this.stバー情報[index].strタイトル文字列 = song.ldTitle.GetString("");
|
||||
this.stバー情報[index].ForeColor = song.ForeColor;
|
||||
this.stバー情報[index].BackColor = song.BackColor;
|
||||
this.stバー情報[index].BoxColor = song.BoxColor;
|
||||
@ -607,7 +607,7 @@ namespace TJAPlayer3
|
||||
this.stバー情報[index].BoxChara = song.BoxChara;
|
||||
this.stバー情報[index].BoxCharaChanged = song.isChangedBoxChara;
|
||||
|
||||
this.stバー情報[index].strサブタイトル = song.strサブタイトル;
|
||||
this.stバー情報[index].strサブタイトル = song.ldSubtitle.GetString("");
|
||||
this.stバー情報[index].strジャンル = song.strジャンル;
|
||||
this.stバー情報[index].ar難易度 = song.nLevel;
|
||||
this.stバー情報[index].nLevelIcon = song.nLevelIcon;
|
||||
@ -987,9 +987,9 @@ namespace TJAPlayer3
|
||||
|
||||
string[] boxText = new string[3]
|
||||
{
|
||||
rCurrentlySelectedSong.strBoxText[0],
|
||||
rCurrentlySelectedSong.strBoxText[1],
|
||||
rCurrentlySelectedSong.strBoxText[2] + _append
|
||||
rCurrentlySelectedSong.strBoxText[0].GetString(""),
|
||||
rCurrentlySelectedSong.strBoxText[1].GetString(""),
|
||||
rCurrentlySelectedSong.strBoxText[2].GetString("") + _append
|
||||
};
|
||||
|
||||
if (strBoxText != boxText[0] + boxText[1] + boxText[2])
|
||||
@ -1202,9 +1202,9 @@ namespace TJAPlayer3
|
||||
|
||||
string[] boxText = new string[3]
|
||||
{
|
||||
rCurrentlySelectedSong.strBoxText[0],
|
||||
rCurrentlySelectedSong.strBoxText[1],
|
||||
rCurrentlySelectedSong.strBoxText[2] + _append
|
||||
rCurrentlySelectedSong.strBoxText[0].GetString(""),
|
||||
rCurrentlySelectedSong.strBoxText[1].GetString(""),
|
||||
rCurrentlySelectedSong.strBoxText[2].GetString("") + _append
|
||||
};
|
||||
|
||||
if (strBoxText != boxText[0] + boxText[1] + boxText[2])
|
||||
@ -2146,10 +2146,10 @@ namespace TJAPlayer3
|
||||
// Fonts here
|
||||
|
||||
//-----------------
|
||||
if (rCurrentlySelectedSong.strタイトル != "" && this.ttk選択している曲の曲名 == null)
|
||||
this.ttk選択している曲の曲名 = this.ttk曲名テクスチャを生成する(rCurrentlySelectedSong.strタイトル, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
|
||||
if (rCurrentlySelectedSong.strサブタイトル != "" && this.ttk選択している曲のサブタイトル == null)
|
||||
this.ttk選択している曲のサブタイトル = this.ttkサブタイトルテクスチャを生成する(rCurrentlySelectedSong.strサブタイトル, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (rCurrentlySelectedSong.ldTitle.GetString("") != "" && this.ttk選択している曲の曲名 == null)
|
||||
this.ttk選択している曲の曲名 = this.ttk曲名テクスチャを生成する(rCurrentlySelectedSong.ldTitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
|
||||
if (rCurrentlySelectedSong.ldSubtitle.GetString("") != "" && this.ttk選択している曲のサブタイトル == null)
|
||||
this.ttk選択している曲のサブタイトル = this.ttkサブタイトルテクスチャを生成する(rCurrentlySelectedSong.ldSubtitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (rCurrentlySelectedSong.strMaker != "" && this.ttkSelectedSongMaker == null)
|
||||
this.ttkSelectedSongMaker = this.ttkGenerateMakerTexture(rCurrentlySelectedSong.strMaker, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (this.ttkSelectedSongBPM == null)
|
||||
@ -2905,7 +2905,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
CSongListNode song = this.rGetSideSong(i - barCenterNum);
|
||||
if (song == null) continue;
|
||||
this.stバー情報[ i ].strタイトル文字列 = song.strタイトル;
|
||||
this.stバー情報[ i ].strタイトル文字列 = song.ldTitle.GetString("");
|
||||
this.stバー情報[ i ].strジャンル = song.strジャンル;
|
||||
this.stバー情報[ i ].col文字色 = song.col文字色;
|
||||
this.stバー情報[i].ForeColor = song.ForeColor;
|
||||
@ -2924,7 +2924,7 @@ namespace TJAPlayer3
|
||||
this.stバー情報[i].BoxCharaChanged = song.isChangedBoxChara;
|
||||
|
||||
this.stバー情報[ i ].eバー種別 = this.e曲のバー種別を返す( song );
|
||||
this.stバー情報[ i ].strサブタイトル = song.strサブタイトル;
|
||||
this.stバー情報[ i ].strサブタイトル = song.ldSubtitle.GetString("");
|
||||
this.stバー情報[ i ].ar難易度 = song.nLevel;
|
||||
this.stバー情報[i].nLevelIcon = song.nLevelIcon;
|
||||
|
||||
|
@ -110,8 +110,8 @@ namespace TJAPlayer3
|
||||
|
||||
public void t選択画面初期化()
|
||||
{
|
||||
this.txTitle = TJAPlayer3.tテクスチャの生成(pfTitle.DrawText(TJAPlayer3.stageSongSelect.rNowSelectedSong.strタイトル, Color.White, Color.Black, null, 30 ));
|
||||
this.txSubTitle = TJAPlayer3.tテクスチャの生成(pfSubTitle.DrawText(TJAPlayer3.stageSongSelect.rNowSelectedSong.strサブタイトル, Color.White, Color.Black, null, 30));
|
||||
this.txTitle = TJAPlayer3.tテクスチャの生成(pfTitle.DrawText(TJAPlayer3.stageSongSelect.rNowSelectedSong.ldTitle.GetString(""), Color.White, Color.Black, null, 30 ));
|
||||
this.txSubTitle = TJAPlayer3.tテクスチャの生成(pfSubTitle.DrawText(TJAPlayer3.stageSongSelect.rNowSelectedSong.ldSubtitle.GetString(""), Color.White, Color.Black, null, 30));
|
||||
|
||||
this.n現在の選択行 = new int[5];
|
||||
this.bSelect[0] = false;
|
||||
|
@ -59,8 +59,8 @@ namespace TJAPlayer3
|
||||
if( File.Exists( cdtx.strフォルダ名 + @"set.def" ) )
|
||||
cdtx = new CDTX( strDTXファイルパス, true, 1.0, 0, 1 );
|
||||
|
||||
this.str曲タイトル = cdtx.TITLE;
|
||||
this.strサブタイトル = cdtx.SUBTITLE;
|
||||
this.str曲タイトル = cdtx.TITLE.GetString("");
|
||||
this.strサブタイトル = cdtx.SUBTITLE.GetString("");
|
||||
|
||||
cdtx.DeActivate();
|
||||
}
|
||||
@ -74,8 +74,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
var cdtx = new CDTX(strDTXファイルパス, true, 1.0, 0, 1);
|
||||
|
||||
this.str曲タイトル = cdtx.TITLE;
|
||||
this.strサブタイトル = cdtx.SUBTITLE;
|
||||
this.str曲タイトル = cdtx.TITLE.GetString("");
|
||||
this.strサブタイトル = cdtx.SUBTITLE.GetString("");
|
||||
|
||||
cdtx.DeActivate();
|
||||
}
|
||||
@ -510,7 +510,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
Trace.TraceInformation( "---- Song information -----------------" );
|
||||
Trace.TraceInformation( "TITLE: {0}", TJAPlayer3.DTX.TITLE );
|
||||
Trace.TraceInformation( "TITLE: {0}", TJAPlayer3.DTX.TITLE.GetString("") );
|
||||
Trace.TraceInformation( "FILE: {0}", TJAPlayer3.DTX.strファイル名の絶対パス );
|
||||
Trace.TraceInformation( "---------------------------" );
|
||||
|
||||
|
@ -3365,7 +3365,7 @@ namespace TJAPlayer3
|
||||
|
||||
var panelString = TJAPlayer3.IsPerformingCalibration
|
||||
? "Calibrating input..."
|
||||
: string.IsNullOrEmpty( TJAPlayer3.DTX.PANEL ) ? TJAPlayer3.DTX.TITLE: TJAPlayer3.DTX.PANEL;
|
||||
: string.IsNullOrEmpty( TJAPlayer3.DTX.PANEL ) ? TJAPlayer3.DTX.TITLE.GetString(""): TJAPlayer3.DTX.PANEL;
|
||||
|
||||
this.actPanel.SetPanelString( panelString,
|
||||
TJAPlayer3.stageSongSelect.rChoosenSong.str本当のジャンル,
|
||||
|
@ -271,8 +271,8 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
// Discord Presence の更新
|
||||
string details = TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stageSongSelect.rChoosenSong.strタイトル
|
||||
+ diffToString(TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0]) : "";
|
||||
string details = TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stageSongSelect.rChoosenSong.ldTitle.GetString("")
|
||||
+ diffToString(TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0]) : "";
|
||||
|
||||
// Byte count must be used instead of String.Length.
|
||||
// The byte count is what Discord is concerned with. Some chars are greater than one byte.
|
||||
|
@ -37,7 +37,7 @@ namespace TJAPlayer3
|
||||
|
||||
var title = TJAPlayer3.IsPerformingCalibration
|
||||
? $"Calibration complete. InputAdjustTime is now {TJAPlayer3.ConfigIni.nInputAdjustTimeMs}ms (Note : InputAdjust is deprecated, please transfer the value to GlobalOffset and reload the songs"
|
||||
: TJAPlayer3.DTX.TITLE;
|
||||
: TJAPlayer3.DTX.TITLE.GetString("");
|
||||
|
||||
using (var bmpSongTitle = pfMusicName.DrawText(title, TJAPlayer3.Skin.Result_MusicName_ForeColor, TJAPlayer3.Skin.Result_MusicName_BackColor, null, 30))
|
||||
|
||||
|
@ -302,7 +302,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.SaveFile);
|
||||
*/
|
||||
|
||||
this.newGradeGranted = TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].tUpdateDanTitle(TJAPlayer3.stageSongSelect.rChoosenSong.strタイトル.Substring(0, 2),
|
||||
this.newGradeGranted = TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].tUpdateDanTitle(TJAPlayer3.stageSongSelect.rChoosenSong.ldTitle.GetString("").Substring(0, 2),
|
||||
clearValue % 2 == 0,
|
||||
(clearValue - 1) / 2);
|
||||
}
|
||||
@ -360,8 +360,8 @@ namespace TJAPlayer3
|
||||
return (diffArr[Math.Min(diff, 6)] + "Lv." + level + diffArrIcon[(int)levelIcon]);
|
||||
}
|
||||
|
||||
string details = TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stageSongSelect.rChoosenSong.strタイトル
|
||||
+ diffToString(TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0]) : "";
|
||||
string details = TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stageSongSelect.rChoosenSong.ldTitle.GetString("")
|
||||
+ diffToString(TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0]) : "";
|
||||
|
||||
// Byte count must be used instead of String.Length.
|
||||
// The byte count is what Discord is concerned with. Some chars are greater than one byte.
|
||||
|
@ -371,8 +371,8 @@ namespace TJAPlayer3
|
||||
BarInfo bar = BarInfos[i];
|
||||
CSongListNode song = listSongs[i];
|
||||
|
||||
bar.strTitle = song.strタイトル;
|
||||
bar.strSubTitle = song.strサブタイトル;
|
||||
bar.strTitle = song.ldTitle.GetString("");
|
||||
bar.strSubTitle = song.ldSubtitle.GetString("");
|
||||
bar.eノード種別 = song.eノード種別;
|
||||
|
||||
bar.ttkTitle = new CActSelect曲リスト.TitleTextureKey(bar.strTitle, pfTitleFont, Color.Black, Color.Transparent, TJAPlayer3.Skin.TowerSelect_Title_MaxWidth);
|
||||
|
Loading…
Reference in New Issue
Block a user