1
0
mirror of synced 2024-11-27 17:00:50 +01:00

Translate japanese variables and code (part 2) (#708)

* feat: translate CConversion

* feat: CConfigIni part 1

* feat: CConfigIni part 2

* feat: CConfigIni part 3
This commit is contained in:
Julian Holfeld 2024-10-20 18:54:08 +02:00 committed by GitHub
parent 92b096c159
commit c610b3ad93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 414 additions and 479 deletions

View File

@ -2,11 +2,10 @@
public class CConversion { public class CConversion {
// Properties // Properties
public static readonly string str16進数文字 = "0123456789ABCDEFabcdef"; public static readonly string HexChars = "0123456789ABCDEFabcdef";
public static readonly string str36進数文字 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; public static readonly string Base36Chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
// Methods
// メソッド
public static bool bONorOFF(char c) { public static bool bONorOFF(char c) {
return (c != '0'); return (c != '0');
@ -25,7 +24,7 @@
return (float)RadianToDegree((double)angle); return (float)RadianToDegree((double)angle);
} }
public static int n値を範囲内に丸めて返す(int value, int min, int max) { public static int ClampValue(int value, int min, int max) {
if (value < min) if (value < min)
return min; return min;
@ -34,7 +33,8 @@
return value; return value;
} }
public static int n値を文字列から取得して範囲内に丸めて返す(string text, int min, int max, int defaultValue) {
public static int ParseIntInRange(string text, int min, int max, int defaultValue) {
int num; int num;
if ((int.TryParse(text, out num) && (num >= min)) && (num <= max)) if ((int.TryParse(text, out num) && (num >= min)) && (num <= max))
return num; return num;
@ -42,7 +42,7 @@
return defaultValue; return defaultValue;
} }
public static double db値を文字列から取得して範囲内に丸めて返す(string text, double min, double max, double defaultValue) { public static double ParseDoubleInRange(string text, double min, double max, double defaultValue) {
double num; double num;
if ((double.TryParse(text, out num) && (num >= min)) && (num <= max)) if ((double.TryParse(text, out num) && (num >= min)) && (num <= max))
return num; return num;
@ -50,9 +50,7 @@
return defaultValue; return defaultValue;
} }
// #23568 2010.11.04 ikanick add public static int ParseIntInRangeAndClamp(string text, int min, int max, int defaultValue) {
public static int n値を文字列から取得して範囲内にちゃんと丸めて返す(string text, int min, int max, int defaultValue) {
// 1 と違って範囲外の場合ちゃんと丸めて返します。
int num; int num;
if (int.TryParse(text, out num)) { if (int.TryParse(text, out num)) {
if ((num >= min) && (num <= max)) if ((num >= min) && (num <= max))
@ -65,7 +63,7 @@
return defaultValue; return defaultValue;
} }
// --------------------ここまで-------------------------/
public static int StringToInt(string text, int defaultValue) { public static int StringToInt(string text, int defaultValue) {
int num; int num;
if (!int.TryParse(text, out num)) if (!int.TryParse(text, out num))
@ -74,18 +72,18 @@
return num; return num;
} }
public static int n16進数2桁の文字列を数値に変換して返す(string strNum) { public static int HexStringToInt(string strNum) {
if (strNum.Length < 2) if (strNum.Length < 2)
return -1; return -1;
int digit2 = str16進数文字.IndexOf(strNum[0]); int digit2 = HexChars.IndexOf(strNum[0]);
if (digit2 < 0) if (digit2 < 0)
return -1; return -1;
if (digit2 >= 16) if (digit2 >= 16)
digit2 -= (16 - 10); // A,B,C... -> 1,2,3... digit2 -= (16 - 10); // A,B,C... -> 1,2,3...
int digit1 = str16進数文字.IndexOf(strNum[1]); int digit1 = HexChars.IndexOf(strNum[1]);
if (digit1 < 0) if (digit1 < 0)
return -1; return -1;
@ -94,18 +92,19 @@
return digit2 * 16 + digit1; return digit2 * 16 + digit1;
} }
public static int n36進数2桁の文字列を数値に変換して返す(string strNum) {
public static int Base36StringToInt(string strNum) {
if (strNum.Length < 2) if (strNum.Length < 2)
return -1; return -1;
int digit2 = str36進数文字.IndexOf(strNum[0]); int digit2 = Base36Chars.IndexOf(strNum[0]);
if (digit2 < 0) if (digit2 < 0)
return -1; return -1;
if (digit2 >= 36) if (digit2 >= 36)
digit2 -= (36 - 10); // A,B,C... -> 1,2,3... digit2 -= (36 - 10); // A,B,C... -> 1,2,3...
int digit1 = str36進数文字.IndexOf(strNum[1]); int digit1 = Base36Chars.IndexOf(strNum[1]);
if (digit1 < 0) if (digit1 < 0)
return -1; return -1;
@ -114,52 +113,55 @@
return digit2 * 36 + digit1; return digit2 * 36 + digit1;
} }
public static int n小節番号の文字列3桁を数値に変換して返す(string strNum) {
public static int ParseSectionNumber(string strNum) {
if (strNum.Length >= 3) { if (strNum.Length >= 3) {
int digit3 = str36進数文字.IndexOf(strNum[0]); int digit3 = Base36Chars.IndexOf(strNum[0]);
if (digit3 < 0) if (digit3 < 0)
return -1; return -1;
if (digit3 >= 36) // 3桁目は36進数 if (digit3 >= 36) // 3桁目は36進数
digit3 -= (36 - 10); digit3 -= (36 - 10);
int digit2 = str16進数文字.IndexOf(strNum[1]); // 2桁目は10進数 int digit2 = HexChars.IndexOf(strNum[1]); // 2桁目は10進数
if ((digit2 < 0) || (digit2 > 9)) if ((digit2 < 0) || (digit2 > 9))
return -1; return -1;
int digit1 = str16進数文字.IndexOf(strNum[2]); // 1桁目も10進数 int digit1 = HexChars.IndexOf(strNum[2]); // 1桁目も10進数
if ((digit1 >= 0) && (digit1 <= 9)) if ((digit1 >= 0) && (digit1 <= 9))
return digit3 * 100 + digit2 * 10 + digit1; return digit3 * 100 + digit2 * 10 + digit1;
} }
return -1; return -1;
} }
public static string str小節番号を文字列3桁に変換して返す(int num) { public static string SectionNumberToString(int num) {
if ((num < 0) || (num >= 3600)) // 3600 == Z99 + 1 if ((num < 0) || (num >= 3600)) // 3600 == Z99 + 1
return "000"; return "000";
int digit4 = num / 100; int digit4 = num / 100;
int digit2 = (num % 100) / 10; int digit2 = (num % 100) / 10;
int digit1 = (num % 100) % 10; int digit1 = (num % 100) % 10;
char ch3 = str36進数文字[digit4]; char ch3 = Base36Chars[digit4];
char ch2 = str16進数文字[digit2]; char ch2 = HexChars[digit2];
char ch1 = str16進数文字[digit1]; char ch1 = HexChars[digit1];
return (ch3.ToString() + ch2.ToString() + ch1.ToString()); return (ch3.ToString() + ch2.ToString() + ch1.ToString());
} }
public static string str数値を16進数2桁に変換して返す(int num) {
public static string IntToHexString(int num) {
if ((num < 0) || (num >= 0x100)) if ((num < 0) || (num >= 0x100))
return "00"; return "00";
char ch2 = str16進数文字[num / 0x10]; char ch2 = HexChars[num / 0x10];
char ch1 = str16進数文字[num % 0x10]; char ch1 = HexChars[num % 0x10];
return (ch2.ToString() + ch1.ToString()); return (ch2.ToString() + ch1.ToString());
} }
public static string str数値を36進数2桁に変換して返す(int num) {
public static string IntToBase36String(int num) {
if ((num < 0) || (num >= 36 * 36)) if ((num < 0) || (num >= 36 * 36))
return "00"; return "00";
char ch2 = str36進数文字[num / 36]; char ch2 = Base36Chars[num / 36];
char ch1 = str36進数文字[num % 36]; char ch1 = Base36Chars[num % 36];
return (ch2.ToString() + ch1.ToString()); return (ch2.ToString() + ch1.ToString());
} }
@ -184,29 +186,28 @@
return nArray; return nArray;
} }
/// <summary> /// <summary>
/// 百分率数値を255段階数値に変換するメソッド。透明度用。 /// Converts a percentage value to a value on a scale of 255 (for opacity).
/// </summary> /// </summary>
/// <param name="num"></param> /// <param name="num"></param>
/// <returns></returns> /// <returns></returns>
public static int nParsentTo255(double num) { public static int PercentageTo255(double num) {
return (int)(255.0 * num); return (int)(255.0 * num);
} }
/// <summary> /// <summary>
/// 255段階数値を百分率に変換するメソッド。 /// Converts a value from a scale of 255 to a percentage.
/// </summary> /// </summary>
/// <param name="num"></param> /// <param name="num"></param>
/// <returns></returns> /// <returns></returns>
public static int n255ToParsent(int num) { public static int N255ToPercentage(int num) {
return (int)(100.0 / num); return (int)(100.0 / num);
} }
public static Color4 n255ToColor4(int nR, int nG, int nB) { public static Color4 N255ToColor4(int nR, int nG, int nB) {
float fR = n255ToParsent(nR); float fR = N255ToPercentage(nR);
float fG = n255ToParsent(nG); float fG = N255ToPercentage(nG);
float fB = n255ToParsent(nB); float fB = N255ToPercentage(nB);
return new Color4(fR, fG, fB, 1f); return new Color4(fR, fG, fB, 1f);
} }

File diff suppressed because it is too large Load Diff

View File

@ -1015,7 +1015,7 @@ namespace OpenTaiko {
} }
case "DiffDispMode": { case "DiffDispMode": {
this.eDiffDispMode = (EDifficultyDisplayType)CConversion.n値を文字列から取得して範囲内に丸めて返す(strParam, 0, 2, (int)this.eDiffDispMode); this.eDiffDispMode = (EDifficultyDisplayType)CConversion.ParseIntInRange(strParam, 0, 2, (int)this.eDiffDispMode);
break; break;
} }
case "NowStageDisp": { case "NowStageDisp": {

View File

@ -509,7 +509,7 @@ namespace OpenTaiko {
if (File.Exists(path)) { if (File.Exists(path)) {
try { try {
// Load config info // Load config info
ConfigIni.tファイルから読み込み(path); ConfigIni.LoadFromFile(path);
} catch (Exception e) { } catch (Exception e) {
Trace.TraceError(e.ToString()); Trace.TraceError(e.ToString());
Trace.TraceError("例外が発生しましたが処理を継続します。 (b8d93255-bbe4-4ca3-8264-7ee5175b19f3)"); Trace.TraceError("例外が発生しましたが処理を継続します。 (b8d93255-bbe4-4ca3-8264-7ee5175b19f3)");

View File

@ -290,7 +290,7 @@ namespace OpenTaiko {
{ {
if (device.KeyPressed(i)) { if (device.KeyPressed(i)) {
OpenTaiko.Skin.soundDecideSFX.tPlay(); OpenTaiko.Skin.soundDecideSFX.tPlay();
OpenTaiko.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.Gamepad, device.ID, i, this.pad); OpenTaiko.ConfigIni.RemoveDuplicateKeyAssignments(EInputDevice.Gamepad, device.ID, i, this.pad);
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Gamepad; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Gamepad;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -308,7 +308,7 @@ namespace OpenTaiko {
{ {
if (device.KeyPressed(i)) { if (device.KeyPressed(i)) {
OpenTaiko.Skin.soundDecideSFX.tPlay(); OpenTaiko.Skin.soundDecideSFX.tPlay();
OpenTaiko.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.Joypad, device.ID, i, this.pad); OpenTaiko.ConfigIni.RemoveDuplicateKeyAssignments(EInputDevice.Joypad, device.ID, i, this.pad);
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Joypad; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Joypad;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -334,7 +334,7 @@ namespace OpenTaiko {
OpenTaiko.InputManager.Keyboard.KeyPressed(i)) { OpenTaiko.InputManager.Keyboard.KeyPressed(i)) {
OpenTaiko.Skin.soundDecideSFX.tPlay(); OpenTaiko.Skin.soundDecideSFX.tPlay();
if (pad < EKeyConfigPad.Capture) if (pad < EKeyConfigPad.Capture)
OpenTaiko.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.Keyboard, 0, i, this.pad); OpenTaiko.ConfigIni.RemoveDuplicateKeyAssignments(EInputDevice.Keyboard, 0, i, this.pad);
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Keyboard; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Keyboard;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = 0; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = 0;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -356,7 +356,7 @@ namespace OpenTaiko {
for (int i = 0; i < 0x100; i++) { for (int i = 0; i < 0x100; i++) {
if (device.KeyPressed(i)) { if (device.KeyPressed(i)) {
OpenTaiko.Skin.soundDecideSFX.tPlay(); OpenTaiko.Skin.soundDecideSFX.tPlay();
OpenTaiko.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.MIDIInput, device.ID, i, this.pad); OpenTaiko.ConfigIni.RemoveDuplicateKeyAssignments(EInputDevice.MIDIInput, device.ID, i, this.pad);
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.MIDIInput; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.MIDIInput;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = device.ID;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -370,7 +370,7 @@ namespace OpenTaiko {
private bool tキーチェックとアサイン_Mouse() { private bool tキーチェックとアサイン_Mouse() {
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
if (OpenTaiko.InputManager.Mouse.KeyPressed(i)) { if (OpenTaiko.InputManager.Mouse.KeyPressed(i)) {
OpenTaiko.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.Mouse, 0, i, this.pad); OpenTaiko.ConfigIni.RemoveDuplicateKeyAssignments(EInputDevice.Mouse, 0, i, this.pad);
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Mouse; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].InputDevice = EInputDevice.Mouse;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = 0; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].ID = 0;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i; OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;

View File

@ -323,7 +323,7 @@ namespace OpenTaiko {
if (fi.Length > 0) // Config.iniが0byteだったなら、読み込まない if (fi.Length > 0) // Config.iniが0byteだったなら、読み込まない
{ {
try { try {
cc.tファイルから読み込み(path); cc.LoadFromFile(path);
} catch (Exception e) { } catch (Exception e) {
//ConfigIni = new CConfigIni(); // 存在してなければ新規生成 //ConfigIni = new CConfigIni(); // 存在してなければ新規生成
Trace.TraceError(e.ToString()); Trace.TraceError(e.ToString());