From 1b5569b946c9b5f6fef05abbd3135e1ca0c086b4 Mon Sep 17 00:00:00 2001 From: 0aubsq <0aubsq@gmail.com> Date: Fri, 3 Dec 2021 12:05:54 +0100 Subject: [PATCH] Add Global Offset (Feature request #86) and basketballsmash credit for README-EN --- Documentation/I18N/DictionnaryIndexes.md | 2 ++ README-EN.md | 1 + README.md | 3 +++ TJAPlayer3/Common/CConfigIni.cs | 9 ++++++++- TJAPlayer3/I18N/CLang_en.cs | 6 ++++++ TJAPlayer3/I18N/CLang_fr.cs | 6 ++++++ TJAPlayer3/I18N/CLang_jp.cs | 6 ++++++ TJAPlayer3/Songs/CDTX.cs | 8 ++++++-- TJAPlayer3/Stages/04.Config/CActConfigList.cs | 11 ++++++++++- .../Stages/07.Game/Taiko/CStage演奏ドラム画面.cs | 1 + 10 files changed, 49 insertions(+), 4 deletions(-) diff --git a/Documentation/I18N/DictionnaryIndexes.md b/Documentation/I18N/DictionnaryIndexes.md index 8f2610f9..9a7190f7 100644 --- a/Documentation/I18N/DictionnaryIndexes.md +++ b/Documentation/I18N/DictionnaryIndexes.md @@ -20,6 +20,8 @@ 11 : "Song speed" description 12 : "AI Level" option title 13 : "AI Level" description +14 : "Global offset" option title +15 : "Global offset" description 16 : "Layout type" option title 17 : "Layout type" description 18 : "Time stretch" description diff --git a/README-EN.md b/README-EN.md index c7689332..096515b5 100644 --- a/README-EN.md +++ b/README-EN.md @@ -306,6 +306,7 @@ Download SlimDX again from https://code.google.com/archive/p/slimdx/downloads\. > * [AkiraChnl/OpenTaiko Icon](https://github.com/AkiraChnl)(@akirach_jp) > * [cien/OpenTaiko Logo](https://twitter.com/CienpixeL)(@CienpixeL) > * [funnym0th/OpenTaiko Spanish Translation](https://github.com/funnym0th) (@funnym0th) +> * [basketballsmash/English README Translation](https://twitter.com/basketballsmash)(@basketballsmash) > * [Meowgister/OpenTaiko English Translation](https://www.youtube.com/channel/UCDi5puZaJLMUA6OgIAb7rmQ) > * [Aioilight/TJAPlayer3](https://github.com/aioilight/TJAPlayer3)(@aioilight) > * [TwoPointZero/TJAPlayer3](https://github.com/twopointzero/TJAPlayer3)(@twopointzero) diff --git a/README.md b/README.md index ed212d0c..132407c0 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@

+English : https://github.com/0auBSQ/OpenTaiko/blob/main/README-EN.md + # OpenTaiko TJAPlayer3-Develop-ReWriteのフォーク, .tjaファイルのシミュレーターです。 @@ -307,6 +309,7 @@ SlimDXを改めてダウンロードしてください:https://code.google.com > * [AkiraChnl/OpenTaiko Icon](https://github.com/AkiraChnl)(@akirach_jp) > * [cien/OpenTaiko Logo](https://twitter.com/CienpixeL)(@CienpixeL) > * [funnym0th/OpenTaiko Spanish Translation](https://github.com/funnym0th) (@funnym0th) +> * [basketballsmash/English README Translation](https://twitter.com/basketballsmash)(@basketballsmash) > * [Meowgister/OpenTaiko English Translation](https://www.youtube.com/channel/UCDi5puZaJLMUA6OgIAb7rmQ) > * [Aioilight/TJAPlayer3](https://github.com/aioilight/TJAPlayer3)(@aioilight) > * [TwoPointZero/TJAPlayer3](https://github.com/twopointzero/TJAPlayer3)(@twopointzero) diff --git a/TJAPlayer3/Common/CConfigIni.cs b/TJAPlayer3/Common/CConfigIni.cs index 61120674..ddaa690b 100644 --- a/TJAPlayer3/Common/CConfigIni.cs +++ b/TJAPlayer3/Common/CConfigIni.cs @@ -817,6 +817,7 @@ namespace TJAPlayer3 // public int nハイハット切り捨て下限Velocity; // public int n切り捨て下限Velocity; // #23857 2010.12.12 yyagi VelocityMin public int nInputAdjustTimeMs; + public int nGlobalOffsetMs; public STDGBVALUE nJudgeLinePosOffset; // #31602 2013.6.23 yyagi 判定ライン表示位置のオフセット public bool bIsAutoResultCapture; // #25399 2011.6.9 yyagi リザルト画像自動保存機能のON/OFF制御 public int nPoliphonicSounds; // #28228 2012.5.1 yyagi レーン毎の最大同時発音数 @@ -1371,6 +1372,7 @@ namespace TJAPlayer3 this.判定文字表示位置 = new STDGBVALUE(); this.n譜面スクロール速度 = new STDGBVALUE(); this.nInputAdjustTimeMs = 0; + this.nGlobalOffsetMs = 0; this.nJudgeLinePosOffset = new STDGBVALUE(); // #31602 2013.6.23 yyagi this.e判定表示優先度 = E判定表示優先度.Chipより下; for ( int i = 0; i < 3; i++ ) @@ -1829,7 +1831,8 @@ namespace TJAPlayer3 #region [ Adjust ] sw.WriteLine( "; 判定タイミング調整(-99~99)[ms]" ); sw.WriteLine("; Revision value to adjust judgment timing."); // - sw.WriteLine("InputAdjustTime={0}", this.nInputAdjustTimeMs); // + sw.WriteLine("InputAdjustTime={0}", this.nInputAdjustTimeMs); // + sw.WriteLine("GlobalOffset={0}", this.nGlobalOffsetMs); sw.WriteLine(); sw.WriteLine( "; 判定ラインの表示位置調整(ドラム, ギター, ベース)(-99~99)[px]" ); // #31602 2013.6.23 yyagi 判定ラインの表示位置オフセット @@ -2488,6 +2491,10 @@ namespace TJAPlayer3 { this.nInputAdjustTimeMs = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 99, this.nInputAdjustTimeMs ); } + else if (str3.Equals("GlobalOffset")) + { + this.nGlobalOffsetMs = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 99, this.nGlobalOffsetMs); + } else if ( str3.Equals( "JudgeLinePosOffsetDrums" ) ) // #31602 2013.6.23 yyagi { this.nJudgeLinePosOffset.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 99, this.nJudgeLinePosOffset.Drums ); diff --git a/TJAPlayer3/I18N/CLang_en.cs b/TJAPlayer3/I18N/CLang_en.cs index a26f3759..6b90d392 100644 --- a/TJAPlayer3/I18N/CLang_en.cs +++ b/TJAPlayer3/I18N/CLang_en.cs @@ -37,6 +37,12 @@ namespace TJAPlayer3 "If 0, AI is disabled.\n" + "If 1 or more, the 2P will play as AI.\n" + "Disabled if AUTO 2P is on.", + [14] = "Global offset", + [15] = "Change the interpreted OFFSET\nvalue for all charts.\n" + + "You can set from -99 to 99ms.\n" + + "To decrease input lag, set minus value.\n\n" + + "Note: Reload songs to make\n" + + " the setting take effect.", [16] = "Layout type", [17] = "You can change the layout of the songs \ndisplayed on the song select screen.\n" + "0 : Regular (Up to down diagonal)\n" + diff --git a/TJAPlayer3/I18N/CLang_fr.cs b/TJAPlayer3/I18N/CLang_fr.cs index c80db3c3..1606874c 100644 --- a/TJAPlayer3/I18N/CLang_fr.cs +++ b/TJAPlayer3/I18N/CLang_fr.cs @@ -43,6 +43,12 @@ namespace TJAPlayer3 "Si 0, l'IA est désactivée.\n" + "Si au moins 1, le J2 est joué par l'IA.\n" + "Non compatible avec le mode AUTO J2.", + [14] = "Décalage général", + [15] = "Modifie la valeur OFFSET\nlue pour tout les sons.\n" + + "Définit entre -99 to 99ms.\n" + + "Une valeur négative peut réduire \nles latences d'entrées.\n\n" + + "Note: Cette option prend effet\n" + + " après le rechargement des sons.", [16] = "Disposition des blocs", [17] = "Cette option détermine l'ordonnancement \ndes blocs dans le menu de selection \n des musiques en mode partie rapide.\n" + "0 : Standard (Diagonale haut-bas)\n" + diff --git a/TJAPlayer3/I18N/CLang_jp.cs b/TJAPlayer3/I18N/CLang_jp.cs index beb4d757..c3dbfcc7 100644 --- a/TJAPlayer3/I18N/CLang_jp.cs +++ b/TJAPlayer3/I18N/CLang_jp.cs @@ -43,6 +43,12 @@ namespace TJAPlayer3 "0ならAIはオフされます。\n" + "1以上なら2PはAIとして自動でやります。\n" + "AUTO 2PはオンならAI使用できません。", + [14] = "グローバルオフセット", + [15] = "全譜面のOFFSETメタデータ\nを変化設定です。\n" + + "-99から99msまで設ける可能です。\n" + + "入力遅れを減るためマイナス値をご設定ください。\n\n" + + "※ 設定は譜面の再読み込み時\n" + + " に有効になります。", [16] = "選曲画面レイアウト", [17] = "選曲画面のレイアウトの変更ができます。\n" + "0=>通常の設計(上下斜)\n" + diff --git a/TJAPlayer3/Songs/CDTX.cs b/TJAPlayer3/Songs/CDTX.cs index c0ea420e..27622046 100644 --- a/TJAPlayer3/Songs/CDTX.cs +++ b/TJAPlayer3/Songs/CDTX.cs @@ -4969,12 +4969,16 @@ namespace TJAPlayer3 else if (strCommandName.Equals("OFFSET") && !string.IsNullOrEmpty(strCommandParam)) { this.nOFFSET = (int)(Convert.ToDouble(strCommandParam) * 1000); + this.bOFFSETの値がマイナスである = this.nOFFSET < 0 ? true : false; this.listBPM[0].bpm_change_bmscroll_time = -2000 * this.dbNowBPM / 15000; if (this.bOFFSETの値がマイナスである == true) - this.nOFFSET = this.nOFFSET * -1; //OFFSETは秒を加算するので、必ず正の数にすること。 - //tbOFFSET.Text = strCommandParam; + this.nOFFSET = this.nOFFSET * -1; //OFFSETは秒を加算するので、必ず正の数にすること。 + //tbOFFSET.Text = strCommandParam; + + // Add global offset + this.nOFFSET += TJAPlayer3.ConfigIni.nGlobalOffsetMs; } else if (strCommandName.Equals("MOVIEOFFSET")) { diff --git a/TJAPlayer3/Stages/04.Config/CActConfigList.cs b/TJAPlayer3/Stages/04.Config/CActConfigList.cs index e48d9e70..71ad919b 100644 --- a/TJAPlayer3/Stages/04.Config/CActConfigList.cs +++ b/TJAPlayer3/Stages/04.Config/CActConfigList.cs @@ -351,7 +351,12 @@ namespace TJAPlayer3 CLangManager.LangInstance.GetString(79)); this.list項目リスト.Add( this.iInputAdjustTimeMs ); - this.iTaikoDefaultCourse = new CItemList(CLangManager.LangInstance.GetString(80), CItemBase.Eパネル種別.通常, TJAPlayer3.ConfigIni.nDefaultCourse, + this.iGlobalOffsetMs = new CItemInteger(CLangManager.LangInstance.GetString(14), -99, 99, TJAPlayer3.ConfigIni.nGlobalOffsetMs, + CLangManager.LangInstance.GetString(15)); + this.list項目リスト.Add(this.iGlobalOffsetMs); + + + this.iTaikoDefaultCourse = new CItemList(CLangManager.LangInstance.GetString(80), CItemBase.Eパネル種別.通常, TJAPlayer3.ConfigIni.nDefaultCourse, CLangManager.LangInstance.GetString(81), new string[] { "Easy", "Normal", "Hard", "Oni", "Edit" }); this.list項目リスト.Add(this.iTaikoDefaultCourse); @@ -1343,6 +1348,8 @@ namespace TJAPlayer3 CItemInteger MusicPreTimeMs; private CItemInteger iInputAdjustTimeMs; + private CItemInteger iGlobalOffsetMs; + private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi //private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi @@ -1475,6 +1482,8 @@ namespace TJAPlayer3 TJAPlayer3.ConfigIni.nInputAdjustTimeMs = this.iInputAdjustTimeMs.n現在の値; + TJAPlayer3.ConfigIni.nGlobalOffsetMs = this.iGlobalOffsetMs.n現在の値; + TJAPlayer3.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値; TJAPlayer3.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi //CDTXMania.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs index fa7a3f90..8cea725c 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs @@ -881,6 +881,7 @@ namespace TJAPlayer3 protected override void t入力処理_ドラム() { + // Input adjust here var nInputAdjustTimeMs = TJAPlayer3.ConfigIni.nInputAdjustTimeMs; for( int nPad = 0; nPad < (int) Eパッド.MAX; nPad++ ) // #27029 2012.1.4 from: <10 to <=10; Eパッドの要素が1つ(HP)増えたため。