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

View File

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

View File

@ -290,7 +290,7 @@ namespace OpenTaiko {
{
if (device.KeyPressed(i)) {
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現在の選択行].ID = device.ID;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -308,7 +308,7 @@ namespace OpenTaiko {
{
if (device.KeyPressed(i)) {
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現在の選択行].ID = device.ID;
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.Skin.soundDecideSFX.tPlay();
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現在の選択行].ID = 0;
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++) {
if (device.KeyPressed(i)) {
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現在の選択行].ID = device.ID;
OpenTaiko.ConfigIni.KeyAssign[(int)this.part][(int)this.pad][this.n現在の選択行].Code = i;
@ -370,7 +370,7 @@ namespace OpenTaiko {
private bool tキーチェックとアサイン_Mouse() {
for (int i = 0; i < 8; 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現在の選択行].ID = 0;
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だったなら、読み込まない
{
try {
cc.tファイルから読み込み(path);
cc.LoadFromFile(path);
} catch (Exception e) {
//ConfigIni = new CConfigIni(); // 存在してなければ新規生成
Trace.TraceError(e.ToString());