2 using System.Collections.Generic;
\r
3 using System.Diagnostics;
\r
5 using System.Drawing;
\r
6 using System.Threading;
\r
12 internal class CActConfigList : CActivity
\r
16 public bool bIsKeyAssignSelected // #24525 2011.3.15 yyagi
\r
20 Eメニュー種別 e = this.eメニュー種別;
\r
21 if (e == Eメニュー種別.KeyAssignBass || e == Eメニュー種別.KeyAssignDrums ||
\r
22 e == Eメニュー種別.KeyAssignGuitar || e == Eメニュー種別.KeyAssignSystem)
\r
32 public bool bIsFocusingParameter // #32059 2013.9.17 yyagi
\r
39 public bool b現在選択されている項目はReturnToMenuである
\r
43 CItemBase currentItem = this.list項目リスト[this.n現在の選択項目];
\r
44 if (currentItem == this.iSystemReturnToMenu || currentItem == this.iDrumsReturnToMenu ||
\r
45 currentItem == this.iGuitarReturnToMenu || currentItem == this.iBassReturnToMenu)
\r
55 public CItemBase ib現在の選択項目
\r
59 return this.list項目リスト[this.n現在の選択項目];
\r
62 public int n現在の選択項目;
\r
66 #region [ t項目リストの設定_System() ]
\r
67 public void t項目リストの設定_System()
\r
69 this.tConfigIniへ記録する();
\r
70 this.list項目リスト.Clear();
\r
72 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
74 this.iSystemReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
76 "Return to left menu.");
\r
77 this.list項目リスト.Add(this.iSystemReturnToMenu);
\r
79 this.iSystemReloadDTX = new CItemBase("Reload Songs", CItemBase.Eパネル種別.通常,
\r
80 "曲データの一覧情報を取得し直します。",
\r
81 "Reload song data.");
\r
82 this.list項目リスト.Add(this.iSystemReloadDTX);
\r
84 this.iCommonDark = new CItemList("Dark", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eDark,
\r
85 "HALF: 背景、レーン、ゲージが表示されなくなります。\n" +
\r
86 "FULL: さらに小節線、拍線、判定ライン、パッドも表示されなくなります。",
\r
87 "OFF: all display parts are shown.\n" +
\r
88 "HALF: wallpaper, lanes and gauge are disappeared.\n" +
\r
89 "FULL: additionaly to HALF, bar/beat lines, hit bar, pads are disappeared.",
\r
90 new string[] { "OFF", "HALF", "FULL" });
\r
91 this.list項目リスト.Add(this.iCommonDark);
\r
93 this.iSystemRisky = new CItemInteger("Risky", 0, 10, CDTXMania.Instance.ConfigIni.nRisky,
\r
95 "1以上の値にすると、その回数分のPoor/MissでFAILEDとなります。\n" +
\r
96 "0にすると無効になり、DamageLevelに従ったゲージ増減となります。\n" +
\r
98 "なお、この設定は、StageFailedの設定と併用できます。",
\r
100 "It means the Poor/Miss times to be FAILED.\n" +
\r
101 "Set 0 to disable Risky mode.");
\r
102 this.list項目リスト.Add(this.iSystemRisky);
\r
104 int nDGmode = (CDTXMania.Instance.ConfigIni.bGuitar有効 ? 2 : 0) + (CDTXMania.Instance.ConfigIni.bDrums有効 ? 1 : 0) - 1;
\r
105 this.iSystemGRmode = new CItemList("Drums & GR ", CItemBase.Eパネル種別.通常, nDGmode,
\r
107 "DrOnly: ドラムのみ有効にします。\n" +
\r
108 "GROnly: ギター/ベースのみの専用画面を用います。\n" +
\r
109 "Both: ドラムとギター/ベースの両方を有効にします。\n",
\r
110 "DrOnly: Only Drums is available.\n" +
\r
111 "GROnly: Only Guitar/Bass are available. You can play them in GR screen.\n" +
\r
112 "Both: Both Drums and Guitar/Bass are available.",
\r
113 new string[] { "DrOnly", "GROnly", "Both" });
\r
114 this.list項目リスト.Add(this.iSystemGRmode);
\r
116 this.iCommonPlaySpeed = new CItemInteger("PlaySpeed", 5, 40, CDTXMania.Instance.ConfigIni.n演奏速度,
\r
117 "曲の演奏速度を、速くしたり遅くしたりすることができます。\n" +
\r
118 "(※一部のサウンドカードでは正しく再生できない可能性があります。)\n" +
\r
120 "TimeStretchがONのときに、演奏速度をx0.850以下にすると、チップのズレが大きくなります。",
\r
121 "It changes the song speed.\n" +
\r
122 "For example, you can play in half speed by setting PlaySpeed = 0.500 for your practice.\n" +
\r
124 "Note: It also changes the songs' pitch. In case TimeStretch=ON and slower than x0.900, some sound lag occurs.");
\r
125 this.list項目リスト.Add(this.iCommonPlaySpeed);
\r
127 this.iSystemTimeStretch = new CItemToggle("TimeStretch", CDTXMania.Instance.ConfigIni.bTimeStretch,
\r
129 "ONにすると、演奏速度の変更を、周波数変更ではなくタイムストレッチで行います。\n" +
\r
131 "タイムストレッチ使用時は、サウンド処理により多くのCPU性能を使用します。\n" +
\r
132 "また、演奏速度をx0.850以下にすると、チップのズレが大きくなります。",
\r
133 "The way to change the playing speed:\n" +
\r
134 "Turn ON to use time stretch to change the play speed." +
\r
136 "TimeStretch uses more CPU power. And some sound lag occurs if PlaySpeed is slower than x0.900.");
\r
137 this.list項目リスト.Add(this.iSystemTimeStretch);
\r
139 this.iSystemFullscreen = new CItemToggle("Fullscreen", CDTXMania.Instance.ConfigIni.b全画面モード,
\r
141 "ON で全画面モード、OFF でウィンドウモードになります。",
\r
142 "Fullscreen mode or window mode.");
\r
143 this.list項目リスト.Add(this.iSystemFullscreen);
\r
144 this.iSystemStageFailed = new CItemToggle("StageFailed", CDTXMania.Instance.ConfigIni.bSTAGEFAILED有効,
\r
145 "STAGE FAILED 有効:\n" +
\r
146 "ON にすると、ゲージがなくなった時に STAGE FAILED となり演奏が中断されます。\n" +
\r
147 "OFF の場合は、ゲージがなくなっても最後まで演奏できます。",
\r
148 "Turn OFF if you don't want to encount GAME OVER.");
\r
149 this.list項目リスト.Add(this.iSystemStageFailed);
\r
150 this.iSystemRandomFromSubBox = new CItemToggle("RandSubBox", CDTXMania.Instance.ConfigIni.bランダムセレクトで子BOXを検索対象とする,
\r
151 "子BOXをRANDOMの対象とする:\n" +
\r
152 "ON にすると、RANDOM SELECT 時に子BOXも選択対象とします。",
\r
153 "Turn ON to use child BOX (subfolders) at RANDOM SELECT.");
\r
154 this.list項目リスト.Add(this.iSystemRandomFromSubBox);
\r
157 this.iSystemAdjustWaves = new CItemToggle("AdjustWaves", CDTXMania.Instance.ConfigIni.bWave再生位置自動調整機能有効,
\r
158 "サウンド再生位置自動補正:\n" +
\r
159 "ハードウェアやOSに起因するサウンドのずれを強制的に補正します。\n" +
\r
160 "BGM のように再生時間の長い音声データが使用されている曲で効果があります。" +
\r
162 "※ SoundTypeでDSound(DirectSound)を指定している場合にのみ有効です。WASAPI/ASIO使用時は効果がありません。",
\r
163 "Automatic wave playing position adjustment feature.\n" +
\r
165 "If you turn it ON, it decrease the lag which comes from the difference of hardware/OS.\n" +
\r
166 "Usually, you should turn it ON.\n" +
\r
168 "Note: This setting is effetive only when DSound(DirectSound) in SoundType is used.");
\r
169 this.list項目リスト.Add(this.iSystemAdjustWaves);
\r
172 this.iSystemVSyncWait = new CItemToggle("VSyncWait", CDTXMania.Instance.ConfigIni.b垂直帰線待ちを行う,
\r
174 "画面の描画をディスプレイの垂直帰線中に行なう場合には ON を指定します。\n" +
\r
175 "ON にすると、ガタつきのない滑らかな画面描画が実現されます。",
\r
176 "Turn ON to wait VSync (Vertical Synchronizing signal) at every drawings. (so FPS becomes 60)\n" +
\r
178 "If you have enough CPU/GPU power, the scroll would become smooth.");
\r
179 this.list項目リスト.Add(this.iSystemVSyncWait);
\r
180 this.iSystemAVI = new CItemToggle("AVI", CDTXMania.Instance.ConfigIni.bAVI有効,
\r
182 "演奏中に動画(AVI)を再生する場合にON にします。\n" +
\r
183 "AVI の再生には、それなりのマシンパワーが必要とされます。",
\r
184 "To use AVI playback or not.");
\r
185 this.list項目リスト.Add(this.iSystemAVI);
\r
186 this.iSystemForceAVIFullscreen = new CItemToggle("FullAVI", CDTXMania.Instance.ConfigIni.bForceAVIFullscreen,
\r
188 "旧仕様の動画(AVI)の表示を、強制的に全画面化します。\n" +
\r
189 "BGAと併用している場合は、表示がおかしくなります。",
\r
190 "Forcely show the legacy-spec AVI to fullscreen.\n" +
\r
191 "If the data contains both AVI and BGA, the screen will corrupt.");
\r
192 this.list項目リスト.Add(this.iSystemForceAVIFullscreen);
\r
193 this.iSystemBGA = new CItemToggle("BGA", CDTXMania.Instance.ConfigIni.bBGA有効,
\r
195 "演奏中に画像(BGA)を表示する場合にON にします。\n" +
\r
196 "BGA の再生には、それなりのマシンパワーが必要とされます。",
\r
197 "To draw BGA (back ground animations) or not.");
\r
198 this.list項目リスト.Add(this.iSystemBGA);
\r
199 this.iSystemPreviewSoundWait = new CItemInteger("PreSoundWait", 0, 0x2710, CDTXMania.Instance.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms,
\r
200 "プレビュー音演奏までの時間:\n" +
\r
201 "曲にカーソルが合わされてからプレビュー音が鳴り始めるまでの時間を指定します。\n" +
\r
202 "0 ~ 10000 [ms] が指定可能です。",
\r
203 "Delay time(ms) to start playing preview sound in SELECT MUSIC screen.\n" +
\r
204 "You can specify from 0ms to 10000ms.");
\r
205 this.list項目リスト.Add(this.iSystemPreviewSoundWait);
\r
206 this.iSystemPreviewImageWait = new CItemInteger("PreImageWait", 0, 0x2710, CDTXMania.Instance.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms,
\r
207 "プレビュー画像表示までの時間:\n" +
\r
208 "曲にカーソルが合わされてからプレビュー画像が表示されるまでの時間を指定します。\n" +
\r
209 "0 ~ 10000 [ms] が指定可能です。",
\r
210 "Delay time(ms) to show preview image in SELECT MUSIC screen.\n" +
\r
211 "You can specify from 0ms to 10000ms.");
\r
212 this.list項目リスト.Add(this.iSystemPreviewImageWait);
\r
213 this.iSystemDebugInfo = new CItemToggle("Debug Info", CDTXMania.Instance.ConfigIni.b演奏情報を表示する,
\r
215 "演奏中、BGA領域の下部に演奏情報(FPS、BPM、演奏時間など)を表示します。\n" +
\r
216 "また、小節線の横に小節番号が表示されるようになります。",
\r
217 "To show song informations on playing BGA area. (FPS, BPM, total time etc)\n" +
\r
218 "You can ON/OFF the indications by pushing [Del] while playing drums, guitar or bass.");
\r
219 this.list項目リスト.Add(this.iSystemDebugInfo);
\r
220 this.iSystemBGAlpha = new CItemInteger("BG Alpha", 0, 0xff, CDTXMania.Instance.ConfigIni.n背景の透過度,
\r
222 "背景画像をDTXManiaのフレーム画像と合成する際の、背景画像の透明度を指定します。\n" +
\r
223 "0 が完全不透明で、255 が完全透明となります。",
\r
224 "The degree for transparing playing screen and wallpaper.\n" +
\r
226 "0=no transparent, 255=completely transparency.");
\r
227 this.list項目リスト.Add(this.iSystemBGAlpha);
\r
228 this.iSystemBGMSound = new CItemToggle("BGM Sound", CDTXMania.Instance.ConfigIni.bBGM音を発声する,
\r
230 "これをOFFにすると、BGM を再生しなくなります。",
\r
231 "Turn OFF if you don't want to play BGM.");
\r
232 this.list項目リスト.Add(this.iSystemBGMSound);
\r
233 this.iSystemAudienceSound = new CItemToggle("Audience", CDTXMania.Instance.ConfigIni.b歓声を発声する,
\r
235 "これをOFFにすると、歓声を再生しなくなります。",
\r
236 "Turn ON if you want to be cheered at the end of fill-in zone.");
\r
237 this.list項目リスト.Add(this.iSystemAudienceSound);
\r
238 this.iSystemDamageLevel = new CItemList("DamageLevel", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eダメージレベル,
\r
240 "Miss ヒット時のゲージの減少度合いを指定します。\n" +
\r
241 "Riskyが1以上の場合は無効となります。",
\r
242 "Damage level at missing (and recovering level) at playing.\n" +
\r
243 "This setting is ignored when Risky >= 1.",
\r
244 new string[] { "Small", "Normal", "Large" });
\r
245 this.list項目リスト.Add(this.iSystemDamageLevel);
\r
246 this.iSystemSaveScore = new CItemToggle("SaveScore", CDTXMania.Instance.ConfigIni.bScoreIniを出力する,
\r
248 "これを ON にすると、演奏記録を ~.score.ini ファイルに保存します。",
\r
249 "To save high-scores/skills, turn it ON.\n" +
\r
250 "Turn OFF in case your song data are in read-only media (CD-ROM etc).\n" +
\r
251 "Note that the score files also contain 'BGM Adjust' parameter.\n" +
\r
252 "So if you want to keep adjusting parameter, you need to set SaveScore=ON.");
\r
253 this.list項目リスト.Add(this.iSystemSaveScore);
\r
256 this.iSystemChipVolume = new CItemInteger("ChipVolume", 0, 100, CDTXMania.Instance.ConfigIni.n手動再生音量,
\r
258 "入力に反応して再生されるチップの音量を指定します。\n" +
\r
259 "0 ~ 100 % の値が指定可能です。",
\r
260 "The volumes for chips you hit.\n" +
\r
261 "You can specify from 0 to 100%.");
\r
262 this.list項目リスト.Add(this.iSystemChipVolume);
\r
263 this.iSystemAutoChipVolume = new CItemInteger("AutoVolume", 0, 100, CDTXMania.Instance.ConfigIni.n自動再生音量,
\r
265 "自動的に再生されるチップの音量を指定します。\n" +
\r
266 "0 ~ 100 % の値が指定可能です。",
\r
267 "The volumes for AUTO chips.\n" +
\r
268 "You can specify from 0 to 100%.");
\r
269 this.list項目リスト.Add(this.iSystemAutoChipVolume);
\r
270 this.iSystemStoicMode = new CItemToggle("StoicMode", CDTXMania.Instance.ConfigIni.bストイックモード,
\r
271 "ストイック(禁欲)モード:\n" +
\r
272 "以下をまとめて表示ON/OFFします。\n" +
\r
275 "・NowLoading画像\n" +
\r
277 "・BGA 画像 / AVI 動画\n" +
\r
279 "Turn ON to disable drawing\n" +
\r
280 " * preview image / movie\n" +
\r
281 " * result image / movie\n" +
\r
282 " * nowloading image\n" +
\r
283 " * wallpaper (in playing screen)\n" +
\r
284 " * BGA / AVI (in playing screen)\n" +
\r
286 this.list項目リスト.Add(this.iSystemStoicMode);
\r
287 this.iSystemShowLag = new CItemList("ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.Instance.ConfigIni.nShowLagType,
\r
289 "ジャストタイミングからのズレ時間(ms)を表示します。\n" +
\r
290 " OFF: ズレ時間を表示しません。\n" +
\r
291 " ON: ズレ時間を表示します。\n" +
\r
292 " GREAT-: PERFECT以外の時のみ表示します。",
\r
293 "About displaying the lag from the \"just timing\".\n" +
\r
294 " OFF: Don't show it.\n" +
\r
295 " ON: Show it.\n" +
\r
296 " GREAT-: Show it except you've gotten PERFECT.",
\r
297 new string[] { "OFF", "ON", "GREAT-" });
\r
298 this.list項目リスト.Add(this.iSystemShowLag);
\r
299 this.iSystemAutoResultCapture = new CItemToggle("Autosaveresult", CDTXMania.Instance.ConfigIni.bIsAutoResultCapture,
\r
300 "リザルト画像自動保存機能:\n" +
\r
301 "ONにすると、ハイスコア/ハイスキル時に、自動的にリザルト画像を曲データと同じフォルダに保存します。",
\r
302 "AutoSaveResult:\n" +
\r
303 "Turn ON to save your result screen image automatically when you get hiscore/hiskill.");
\r
304 this.list項目リスト.Add(this.iSystemAutoResultCapture);
\r
307 this.iSystemJudgeDispPriority = new CItemList("JudgePriority", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.e判定表示優先度,
\r
308 "判定文字列とコンボ表示の優先順位を指定します。\n" +
\r
310 " Under: チップの下に表示します。\n" +
\r
311 " Over: チップの上に表示します。",
\r
312 "The display prioity between chips and judge mark/combo.\n" +
\r
314 " Under: Show them under the chips.\n" +
\r
315 " Over: Show them over the chips.",
\r
316 new string[] { "Under", "Over" });
\r
317 this.list項目リスト.Add(this.iSystemJudgeDispPriority);
\r
319 this.iSystemBufferedInput = new CItemToggle("BufferedInput", CDTXMania.Instance.ConfigIni.bバッファ入力を行う,
\r
321 "ON にすると、FPS を超える入力解像度を実現します。\n" +
\r
322 "OFF にすると、入力解像度は FPS に等しくなります。",
\r
323 "To select joystick input method.\n" +
\r
325 "ON to use buffer input. No lost/lags.\n" +
\r
326 "OFF to use realtime input. It may causes lost/lags for input.\n" +
\r
327 "Moreover, input frequency is synchronized with FPS.");
\r
328 this.list項目リスト.Add(this.iSystemBufferedInput);
\r
329 this.iLogOutputLog = new CItemToggle("TraceLog", CDTXMania.Instance.ConfigIni.bログ出力,
\r
331 "DTXManiaLog.txt にログを出力します。\n" +
\r
332 "この設定の変更は、DTXMania の再起動後に有効となります。",
\r
333 "Turn ON to put debug log to DTXManiaLog.txt.\n" +
\r
334 "To take it effective, you need to re-open DTXMania.");
\r
335 this.list項目リスト.Add(this.iLogOutputLog);
\r
337 this.iSystemLoadsoundspeed = new CItemToggle("LoadSoundSpeed", CDTXMania.Instance.ConfigIni.b曲読み込みを高速化する,
\r
339 "ON にすると、曲読み込み画面での1フレームあたりの\nチップ音読み込み数を増やします。\n高速になりますが、応答停止の時間が増加しやすくなります。\n" +
\r
340 "OFF にすると、低速ですが応答停止の時間が\n減少しやすくなります。\n\n",
\r
341 "Load sounds speed.\n" +
\r
344 this.list項目リスト.Add(this.iSystemLoadsoundspeed);
\r
346 #region [ WASAPI / ASIO ]
\r
347 // #24820 2013.1.3 yyagi
\r
348 this.iSystemSoundType = new CItemList("SoundType", CItemList.Eパネル種別.通常, CDTXMania.Instance.ConfigIni.nSoundDeviceType,
\r
350 "WASAPI, ASIO, DSound(DirectSound)の中からサウンド出力方式を選択します。\n" +
\r
351 "WASAPIはVista以降でのみ使用可能です。ASIOはXPでも使用可能ですが、対応機器でのみ使用できます。\n" +
\r
352 "WASAPIかASIOを指定することで、遅延の少ない演奏を楽しむことができます。\n" +
\r
354 "※ 設定はCONFIGURATION画面の終了時に有効になります。",
\r
355 "Sound output type:\n" +
\r
356 "You can choose WASAPI, ASIO or DShow(DirectShow).\n" +
\r
357 "WASAPI can use only after Vista.\n" +
\r
358 "ASIO can use on XP or later OSs, but you need \"ASIO-supported\" sound device.\n" +
\r
360 "You should use WASAPI or ASIO to decrease the sound lag.\n" +
\r
362 "Note: Exit CONFIGURATION to make the setting take effect.",
\r
363 new string[] { "DSound", "ASIO", "WASAPI" });
\r
364 this.list項目リスト.Add(this.iSystemSoundType);
\r
366 // #24820 2013.1.15 yyagi
\r
367 this.iSystemWASAPIBufferSizeMs = new CItemInteger("WASAPI BufferSize", 0, 99999, CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs,
\r
368 "WASAPI使用時のバッファサイズ:\n" +
\r
370 // "0~99999ms を指定可能です。\n" +
\r
371 "0を指定すると、設定可能な最小のバッファサイズを自動設定します。" +
\r
372 "1以上を指定すると、その値以上で指定可能な最小のバッファサイズを自動設定します。\n" +
\r
374 "値を小さくするほど発音遅延が減少しますが、音割れや性能低下などの問題が発生する場合があります。" +
\r
375 "タブレットなど性能の低いPCを使う場合は、手動で大きめの値を指定してください。\n" +
\r
377 "※ 設定はCONFIGURATION画面の終了時に\n" +
\r
379 "Sound buffer size for WASAPI:\n" +
\r
380 "You can set from 0 to 99999ms.\n" +
\r
381 "Set 0 to use a minimum buffer size automatically.\n" +
\r
382 "Smaller value makes smaller lag, but it may cause sound troubles. " +
\r
383 "So if you use poor CPU PC (tablet etc), please specify a little bigger value.\n" +
\r
385 "Note: Exit CONFIGURATION to make the setting take effect.");
\r
386 this.list項目リスト.Add(this.iSystemWASAPIBufferSizeMs);
\r
388 // #24820 2013.1.17 yyagi
\r
389 string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices();
\r
390 this.iSystemASIODevice = new CItemList("ASIO device", CItemList.Eパネル種別.通常, CDTXMania.Instance.ConfigIni.nASIODevice,
\r
392 "ASIO使用時のサウンドデバイスを選択します。\n" +
\r
394 "※ 設定はCONFIGURATION画面の終了時に有効になります。",
\r
395 "ASIO Sound Device:\n" +
\r
396 "Select the sound device to use under ASIO mode.\n" +
\r
398 "Note: Exit CONFIGURATION to make the setting take effect.",
\r
400 this.list項目リスト.Add(this.iSystemASIODevice);
\r
402 // #24820 2013.1.3 yyagi
\r
403 //this.iSystemASIOBufferSizeMs = new CItemInteger("ASIOBuffSize", 0, 99999, CDTXMania.Instance.ConfigIni.nASIOBufferSizeMs,
\r
404 // "ASIO使用時のバッファサイズ:\n" +
\r
405 // "0~99999ms を指定可能です。\n" +
\r
406 // "推奨値は0で、サウンドデバイスでの\n" +
\r
407 // "設定値をそのまま使用します。\n" +
\r
408 // "(サウンドデバイスのASIO設定は、\n" +
\r
409 // " ASIO capsなどで行います)\n" +
\r
410 // "値を小さくするほど発音ラグが\n" +
\r
411 // "減少しますが、音割れや異常動作を\n" +
\r
412 // "引き起こす場合があります。\n" +
\r
414 // "※ 設定はCONFIGURATION画面の\n" +
\r
415 // " 終了時に有効になります。",
\r
416 // "Sound buffer size for ASIO:\n" +
\r
417 // "You can set from 0 to 99999ms.\n" +
\r
418 // "You should set it to 0, to use\n" +
\r
419 // "a default value specified to\n" +
\r
420 // "the sound device.\n" +
\r
421 // "Smaller value makes smaller lag,\n" +
\r
422 // "but it may cause sound troubles.\n" +
\r
424 // "Note: Exit CONFIGURATION to make\n" +
\r
425 // " the setting take effect." );
\r
426 //this.list項目リスト.Add( this.iSystemASIOBufferSizeMs );
\r
428 // #33689 2014.6.17 yyagi
\r
429 this.iSystemSoundTimerType = new CItemToggle("UseOSTimer", CDTXMania.Instance.ConfigIni.bUseOSTimer,
\r
430 "OSタイマーを使用するかどうか:\n" +
\r
431 "演奏タイマーとして、DTXMania独自のタイマーを使うか、OS標準のタイマーを使うかを選択します。\n" +
\r
432 "OS標準タイマーを使うとスクロールが滑らかになりますが、演奏で音ズレが発生することがあります。(そのためAdjustWavesの効果が適用されます。)\n" +
\r
434 "この指定はWASAPI/ASIO使用時のみ有効です。\n",
\r
435 "Use OS Timer or not:\n" +
\r
436 "If this settings is ON, DTXMania uses OS Standard timer. It brings smooth scroll, but may cause some sound lag.\n" +
\r
437 "(so AdjustWaves is also avilable)\n" +
\r
439 "If OFF, DTXMania uses its original timer and the effect is vice versa.\n" +
\r
441 "This settings is avilable only when you use WASAPI/ASIO.\n"
\r
443 this.list項目リスト.Add(this.iSystemSoundTimerType);
\r
445 // #33700 2013.1.3 yyagi
\r
446 this.iSystemMasterVolume = new CItemInteger("MasterVolume", 0, 100, CDTXMania.Instance.ConfigIni.nMasterVolume,
\r
447 "マスターボリュームの設定:\n" +
\r
449 "0が無音で、100が最大値です。\n" +
\r
450 "(WASAPI/ASIO時のみ有効です)",
\r
451 "Master Volume:\n" +
\r
452 "You can set 0 - 100.\n" +
\r
455 "Only for WASAPI/ASIO mode.");
\r
456 this.list項目リスト.Add(this.iSystemMasterVolume);
\r
458 this.iSystemSkinSubfolder = new CItemList("Skin (General)", CItemBase.Eパネル種別.通常, nSkinIndex,
\r
461 //"CONFIGURATIONを抜けると、設定した\n" +
\r
466 this.list項目リスト.Add(this.iSystemSkinSubfolder);
\r
467 this.iSystemUseBoxDefSkin = new CItemToggle("Skin (Box)", CDTXMania.Instance.ConfigIni.bUseBoxDefSkin,
\r
468 "Music boxスキンの利用:\n" +
\r
469 "特別なスキンが設定されたMusic boxに出入りしたときに、自動でスキンを切り替えるかどうかを設定します。\n",
\r
471 //"(Music Boxスキンは、box.defファイル\n" +
\r
474 "Automatically change skin specified in box.def file.");
\r
475 this.list項目リスト.Add(this.iSystemUseBoxDefSkin);
\r
478 this.iSystemGoToKeyAssign = new CItemBase("System Keys", CItemBase.Eパネル種別.通常,
\r
479 "システムのキー入力に関する項目を設定します。",
\r
480 "Settings for the system key/pad inputs.");
\r
481 this.list項目リスト.Add(this.iSystemGoToKeyAssign);
\r
485 this.eメニュー種別 = Eメニュー種別.System;
\r
489 #region [ t項目リストの設定_Drums() ]
\r
490 public void t項目リストの設定_Drums()
\r
492 this.tConfigIniへ記録する();
\r
493 this.list項目リスト.Clear();
\r
495 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
497 this.iDrumsReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
499 "Return to left menu.");
\r
500 this.list項目リスト.Add(this.iDrumsReturnToMenu);
\r
502 #region [ AutoPlay ]
\r
503 this.iDrumsAutoPlayAll = new CItemThreeState("AutoPlay (All)", CItemThreeState.E状態.不定,
\r
504 "全パッドの自動演奏の ON/OFF をまとめて切り替えます。",
\r
505 "You can change whether Auto or not for all drums lanes at once.");
\r
506 this.list項目リスト.Add(this.iDrumsAutoPlayAll);
\r
508 this.iDrumsLeftCymbal = new CItemToggle(" LeftCymbal", CDTXMania.Instance.ConfigIni.bAutoPlay.LC,
\r
510 "To play LeftCymbal automatically.");
\r
511 this.list項目リスト.Add(this.iDrumsLeftCymbal);
\r
513 this.iDrumsHiHat = new CItemToggle(" HiHat", CDTXMania.Instance.ConfigIni.bAutoPlay.HH,
\r
514 "ハイハットを自動で演奏します。\n" +
\r
516 "To play HiHat automatically.\n" +
\r
517 "(It effects to both HH-close and HH-open)");
\r
518 this.list項目リスト.Add(this.iDrumsHiHat);
\r
520 this.iDrumsSnare = new CItemToggle(" Snare", CDTXMania.Instance.ConfigIni.bAutoPlay.SD,
\r
522 "To play Snare automatically.");
\r
523 this.list項目リスト.Add(this.iDrumsSnare);
\r
525 this.iDrumsBass = new CItemToggle(" BassDrum", CDTXMania.Instance.ConfigIni.bAutoPlay.BD,
\r
527 "To play Bass Drum automatically.");
\r
528 this.list項目リスト.Add(this.iDrumsBass);
\r
530 this.iDrumsHighTom = new CItemToggle(" HighTom", CDTXMania.Instance.ConfigIni.bAutoPlay.HT,
\r
532 "To play High Tom automatically.");
\r
533 this.list項目リスト.Add(this.iDrumsHighTom);
\r
535 this.iDrumsLowTom = new CItemToggle(" LowTom", CDTXMania.Instance.ConfigIni.bAutoPlay.LT,
\r
537 "To play Low Tom automatically.");
\r
538 this.list項目リスト.Add(this.iDrumsLowTom);
\r
540 this.iDrumsFloorTom = new CItemToggle(" FloorTom", CDTXMania.Instance.ConfigIni.bAutoPlay.FT,
\r
542 "To play Floor Tom automatically.");
\r
543 this.list項目リスト.Add(this.iDrumsFloorTom);
\r
545 this.iDrumsCymbalRide = new CItemToggle(" Cym/Ride", CDTXMania.Instance.ConfigIni.bAutoPlay.CY,
\r
546 "右シンバルとライドシンバルを自動で演奏します。",
\r
547 "To play both right- and Ride-Cymbal automatically.");
\r
548 this.list項目リスト.Add(this.iDrumsCymbalRide);
\r
552 this.iDrumsScrollSpeed = new CItemInteger("ScrollSpeed", 0, 0x7cf, CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Drums,
\r
553 "演奏時のドラム譜面のスクロールの速度を指定します。\n" +
\r
554 "x0.5 ~ x1000.0 を指定可能です。",
\r
555 "To change the scroll speed for the drums lanes.\n" +
\r
556 "You can set it from x0.5 to x1000.0.\n" +
\r
557 "(ScrollSpeed=x0.5 means half speed)");
\r
558 this.list項目リスト.Add(this.iDrumsScrollSpeed);
\r
561 this.iDrumsSudHid = new CItemList("Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue(E楽器パート.DRUMS),
\r
563 "OFF: チップを常に表示します。\n" +
\r
564 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
566 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
568 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
570 "S(emi)-Invisible:\n" +
\r
571 " 通常はチップを透明にしますが、Poor /\n" +
\r
572 " Miss時にはしばらく表示します。\n" +
\r
573 "F(ull)-Invisible:\n" +
\r
574 " チップを常に透明にします。暗譜での練習\n" +
\r
576 "Drums chips display type:\n" +
\r
578 "OFF: Always show chips.\n" +
\r
579 "Sudden: The chips are disappered until they\n" +
\r
580 " come near the hit bar, and suddenly\n" +
\r
582 "Hidden: The chips are hidden by approaching to\n" +
\r
583 " the hit bar.\n" +
\r
584 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
585 "S(emi)-Invisible:\n" +
\r
586 " Usually you can't see the chips except\n" +
\r
587 " you've gotten Poor/Miss.\n" +
\r
588 "F(ull)-Invisible:\n" +
\r
589 " You can't see the chips at all.",
\r
590 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" });
\r
591 this.list項目リスト.Add(this.iDrumsSudHid);
\r
593 //this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.Instance.ConfigIni.bSudden.Drums,
\r
594 // "ドラムチップが譜面の下の方から表\n" +
\r
596 // "Drums chips are disappered until they\n" +
\r
597 // "come near the hit bar, and suddenly\n" +
\r
599 //this.list項目リスト.Add( this.iDrumsSudden );
\r
601 //this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.Instance.ConfigIni.bHidden.Drums,
\r
602 // "ドラムチップが譜面の下の方で表示\n" +
\r
604 // "Drums chips are hidden by approaching\n" +
\r
605 // "to the hit bar. " );
\r
606 //this.list項目リスト.Add( this.iDrumsHidden );
\r
608 //this.iDrumsInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.eInvisible.Drums,
\r
609 // "ドラムチップの透明化\n" +
\r
610 // "OFF: チップを常に表示します。\n" +
\r
611 // "SEMI: 通常はチップを透明にしますが、\n" +
\r
612 // " Poor/Miss時はしばらく表示します。\n" +
\r
613 // "FULL: チップを常に透明にします。\n" +
\r
614 // " 暗譜での練習にお使いください。\n" +
\r
615 // "これをONにすると、SuddenとHiddenの\n" +
\r
617 // "Invisible drums chip:\n" +
\r
618 // "If you set Blindfold=ON, you can't\n" +
\r
619 // "see the chips at all.",
\r
620 // new string[] { "OFF", "SEMI", "FULL" } );
\r
621 //this.list項目リスト.Add( this.iDrumsInvisible );
\r
623 //this.iDrumsLanePosition = new CItemList( "LanePosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.eドラムレーン表示位置,
\r
624 // "ドラムのレーン表示位置を設定します。\n" +
\r
625 // "LEFT(左側), またはCENTER(中央)を設定できます。",
\r
626 // "Choose drums lane position.\n" +
\r
627 // "You can choose LEFT or CENTER.",
\r
628 // new string[] { "LEFT", "CENTER" } );
\r
629 //this.list項目リスト.Add( this.iDrumsLanePosition );
\r
631 this.iCommonDark = new CItemList("Dark", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eDark,
\r
632 "HALF: 背景、レーン、ゲージが表示されなくなります。\n" +
\r
633 "FULL: さらに小節線、拍線、判定ライン、パッドも表示されなくなります。",
\r
634 "OFF: all display parts are shown.\n" +
\r
635 "HALF: wallpaper, lanes and gauge are disappeared.\n" +
\r
636 "FULL: additionaly to HALF, bar/beat lines, hit bar, pads are disappeared.",
\r
637 new string[] { "OFF", "HALF", "FULL" });
\r
638 this.list項目リスト.Add(this.iCommonDark);
\r
641 this.iDrumsReverse = new CItemToggle("Reverse", CDTXMania.Instance.ConfigIni.bReverse.Drums,
\r
642 "ドラムチップが譜面の下から上に流れるようになります。",
\r
643 "The scroll way is reversed. Drums chips flow from the bottom to the top.");
\r
644 this.list項目リスト.Add(this.iDrumsReverse);
\r
646 this.iSystemRisky = new CItemInteger("Risky", 0, 10, CDTXMania.Instance.ConfigIni.nRisky,
\r
648 "1以上の値にすると、その回数分のPoor/MissでFAILEDとなります。\n" +
\r
649 "0にすると無効になり、DamageLevelに従ったゲージ増減となります。\n" +
\r
651 "なお、この設定は、StageFailedの設定と併用できます。",
\r
653 "It means the Poor/Miss times to be FAILED.\n" +
\r
654 "Set 0 to disable Risky mode.");
\r
655 this.list項目リスト.Add(this.iSystemRisky);
\r
657 this.iDrumsTight = new CItemToggle("Tight", CDTXMania.Instance.ConfigIni.bTight,
\r
658 "ドラムチップのないところでパッドを叩くとミスになります。",
\r
659 "It becomes MISS to hit pad without chip.");
\r
660 this.list項目リスト.Add(this.iDrumsTight);
\r
662 #region [ Position ]
\r
664 #region [ DrumsLanePosition ]
\r
665 this.iDrumsLanePosition = new CItemList("LanePosition", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eドラムレーン表示位置,
\r
666 "ドラムレーンの位置を指定します。\n" +
\r
668 "Left: 画面の左側にドラムレーンを表示します。\n" +
\r
669 "Center: 画面の中央にドラムレーンを表示します。\n",
\r
670 "The display position for Drums Lane." +
\r
672 " Left: Drums lanes are shown in the left of screen.\n" +
\r
673 " Center: Drums lanes are shown in the center of screen.",
\r
674 //"Note that it doesn't take effect at Autoplay ([Left] is forcely used).",
\r
675 new string[] { "Left", "Center" });
\r
676 this.list項目リスト.Add(this.iDrumsLanePosition);
\r
678 #region [ ComboPosition ]
\r
679 this.iDrumsComboPosition = new CItemList("ComboPosition", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.ドラムコンボ文字の表示位置,
\r
680 "演奏時のドラムコンボ文字列の位置を指定します。",
\r
681 "The display position for Drums Combo.",
\r
682 //"Note that it doesn't take effect at Autoplay ([Left] is forcely used).",
\r
683 new string[] { "Left", "Center", "Right", "OFF" });
\r
684 this.list項目リスト.Add(this.iDrumsComboPosition);
\r
686 #region [ Position ]
\r
687 this.iDrumsPosition = new CItemList("Position", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.判定文字表示位置.Drums,
\r
688 "ドラムの判定文字の表示位置を指定\n" +
\r
693 "The position to show judgement mark.\n" +
\r
694 "(Perfect, Great, ...)\n" +
\r
696 " P-A: on the lanes.\n" +
\r
697 " P-B: under the hit bar.\n" +
\r
698 " OFF: no judgement mark.",
\r
699 new string[] { "OFF", "P-A", "P-B" });
\r
700 this.list項目リスト.Add(this.iDrumsPosition);
\r
703 //this.iDrumsJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.e判定表示優先度.Drums,
\r
704 // "判定文字列とコンボ表示の優先順位を\n" +
\r
707 // " Under: チップの下に表示します。\n" +
\r
708 // " Over: チップの上に表示します。",
\r
709 // "The display prioity between chips\n" +
\r
710 // " and judge mark/combo.\n" +
\r
712 // " Under: Show them under the chips.\n" +
\r
713 // " Over: Show them over the chips.",
\r
714 // new string[] { "Under", "Over" } );
\r
715 //this.list項目リスト.Add( this.iDrumsJudgeDispPriority );
\r
719 this.iSystemHHGroup = new CItemList("HH Group", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eHHGroup,
\r
720 "ハイハットレーン打ち分け設定:\n" +
\r
721 "左シンバル、ハイハットオープン、ハイハットクローズの打ち分け方法を指定します。\n" +
\r
722 " HH-0 ... LC | HHC | HHO\n" +
\r
723 " HH-1 ... LC & ( HHC | HHO )\n" +
\r
724 " HH-2 ... LC | ( HHC & HHO )\n" +
\r
725 " HH-3 ... LC & HHC & HHO\n" +
\r
727 "※BD Group が BD-1 である場合、この項目は変更できません。\n",
\r
728 "HH-0: LC|HC|HO;\n" +
\r
729 " all are separated.\n" +
\r
730 "HH-1: LC&(HC|HO);\n" +
\r
731 " HC and HO are separted.\n" +
\r
732 " LC is grouped with HC and HHO.\n" +
\r
733 "HH-2: LC|(HC&HO);\n" +
\r
734 " LC and HHs are separated.\n" +
\r
735 " HC and HO are grouped.\n" +
\r
736 "HH-3: LC&HC&HO; all are grouped.\n" +
\r
738 "* This value cannot be changed while BD Group is set as BD-1.",
\r
739 new string[] { "HH-0", "HH-1", "HH-2", "HH-3" });
\r
740 this.list項目リスト.Add(this.iSystemHHGroup);
\r
742 this.iSystemFTGroup = new CItemList("FT Group", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eFTGroup,
\r
744 "ロータムとフロアタムの打ち分け方法を指定します。\n" +
\r
745 " FT-0 ... LT | FT\n" +
\r
746 " FT-1 ... LT & FT\n",
\r
748 " LT and FT are separated.\n" +
\r
750 " LT and FT are grouped.",
\r
751 new string[] { "FT-0", "FT-1" });
\r
752 this.list項目リスト.Add(this.iSystemFTGroup);
\r
754 this.iSystemCYGroup = new CItemList("CY Group", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eCYGroup,
\r
755 "シンバルレーン打ち分け設定:\n" +
\r
756 "右シンバルとライドシンバルの打ち分け方法を指定します。\n" +
\r
757 " CY-0 ... CY | RD\n" +
\r
758 " CY-1 ... CY & RD\n",
\r
760 " CY and RD are separated.\n" +
\r
762 " CY and RD are grouped.",
\r
763 new string[] { "CY-0", "CY-1" });
\r
764 this.list項目リスト.Add(this.iSystemCYGroup);
\r
766 this.iSystemBDGroup = new CItemList("BD Group", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eBDGroup, // #27029 2012.1.4 from
\r
768 "ハイハットペダルをバスとして利用する方法を指定します。\n" +
\r
769 " BD-0 ... HP | BD\n" +
\r
770 " BD-1 ... FP & BD\n" +
\r
772 "注意:HitSound が OFF である場合は不具合が生じます。\n" +
\r
773 "また、BD-1 を選択している間はいくつかのオプションが変更できなくなります。",
\r
775 " HiHatPedal is HiHat.\n" +
\r
777 " HiHatPedal is Bass.\n" +
\r
779 "Warning: You should not use BD-1 with HitSound OFF.\n" +
\r
780 "And you cannot change some options while using BD-1.",
\r
781 new string[] { "BD-0", "BD-1" });
\r
782 this.list項目リスト.Add(this.iSystemBDGroup);
\r
785 this.iSystemCymbalFree = new CItemToggle("CymbalFree", CDTXMania.Instance.ConfigIni.bシンバルフリー,
\r
787 "左シンバル・右シンバルの区別をなくします。ライドシンバルまで区別をなくすか否かは、CYGroup に従います。\n",
\r
788 "Turn ON to group LC (left cymbal) and CY (right cymbal).\n" +
\r
789 "Whether RD (ride cymbal) is also grouped or not depends on the 'CY Group' setting.");
\r
790 this.list項目リスト.Add(this.iSystemCymbalFree);
\r
792 #region [ SoundPriority ]
\r
793 this.iSystemHitSoundPriorityHH = new CItemList("HH Priority", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH,
\r
795 "ハイハットレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
796 " C > P ... チップの音が優先\n" +
\r
797 " P > C ... 叩いたパッドの音が優先\n" +
\r
799 "※BD Group が BD-1 である場合、この項目は変更できません。\n",
\r
800 "To specify playing sound in case you're using HH-0,1 and 2.\n" +
\r
803 " Chip sound is prior to the pad sound.\n" +
\r
805 " Pad sound is prior to the chip sound.\n" +
\r
807 "* This value cannot be changed while BD Group is set as BD-1.",
\r
808 new string[] { "C>P", "P>C" });
\r
809 this.list項目リスト.Add(this.iSystemHitSoundPriorityHH);
\r
811 this.iSystemHitSoundPriorityFT = new CItemList("FT Priority", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT,
\r
813 "フロアタム打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
814 " C > P ... チップの音が優先\n" +
\r
815 " P > C ... 叩いたパッドの音が優先",
\r
816 "To specify playing sound in case you're using FT-0.\n" +
\r
819 " Chip sound is prior to the pad sound.\n" +
\r
821 " Pad sound is prior to the chip sound.",
\r
822 new string[] { "C>P", "P>C" });
\r
823 this.list項目リスト.Add(this.iSystemHitSoundPriorityFT);
\r
825 this.iSystemHitSoundPriorityCY = new CItemList("CY Priority", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY,
\r
827 "シンバルレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
828 " C > P ... チップの音が優先\n" +
\r
829 " P > C ... 叩いたパッドの音が優先",
\r
830 "To specify playing sound in case you're using CY-0.\n" +
\r
833 " Chip sound is prior to the pad sound.\n" +
\r
835 " Pad sound is prior to the chip sound.",
\r
836 new string[] { "C>P", "P>C" });
\r
837 this.list項目リスト.Add(this.iSystemHitSoundPriorityCY);
\r
840 this.iSystemFillIn = new CItemToggle("FillIn", CDTXMania.Instance.ConfigIni.bフィルイン有効,
\r
841 "フィルインエフェクトの使用:\n" +
\r
842 "フィルイン区間の爆発パターンに特別のエフェクトを使用します。\n" +
\r
843 "フィルインエフェクトの描画にはそれなりのマシンパワーが必要とされます。",
\r
844 "To show bursting effects at the fill-in zone.");
\r
845 this.list項目リスト.Add(this.iSystemFillIn);
\r
847 this.iSystemHitSound = new CItemToggle("HitSound", CDTXMania.Instance.ConfigIni.bドラム打音を発声する,
\r
849 "これをOFFにすると、パッドを叩いたときの音を再生しなくなります(ドラムのみ)。\n" +
\r
850 "電子ドラム本来の音色で演奏したい場合などにOFF にします。\n" +
\r
852 "注意:BD Group が BD-1 である場合は不具合が生じます。\n",
\r
853 "Turn OFF if you don't want to play hitting chip sound.\n" +
\r
854 "It is useful to play with real/electric drums kit.\n" +
\r
856 "Warning: You should not use BD Group BD-1 with HitSound OFF.\n");
\r
857 this.list項目リスト.Add(this.iSystemHitSound);
\r
859 this.iSystemSoundMonitorDrums = new CItemToggle("DrumsMonitor", CDTXMania.Instance.ConfigIni.b演奏音を強調する.Drums,
\r
861 "ドラム音を他の音より大きめの音量で発声します。\n" +
\r
862 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
863 "To enhance the drums chip sound (except autoplay).");
\r
864 this.list項目リスト.Add(this.iSystemSoundMonitorDrums);
\r
866 this.iSystemMinComboDrums = new CItemInteger("D-MinCombo", 1, 0x1869f, CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Drums,
\r
867 "表示可能な最小コンボ数(ドラム):\n" +
\r
868 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
869 "1 ~ 99999 の値が指定可能です。",
\r
870 "Initial number to show the combo for the drums.\n" +
\r
871 "You can specify from 1 to 99999.");
\r
872 this.list項目リスト.Add(this.iSystemMinComboDrums);
\r
875 // #23580 2011.1.3 yyagi
\r
876 this.iDrumsInputAdjustTimeMs = new CItemInteger("InputAdjust", -99, 99, CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Drums,
\r
877 "ドラムの入力タイミングの微調整を行います。\n" +
\r
878 "-99 ~ 99ms まで指定可能です。\n" +
\r
879 "入力ラグを軽減するためには、負の値を指定してください。",
\r
880 "To adjust the drums input timing.\n" +
\r
881 "You can set from -99 to 99ms.\n" +
\r
882 "To decrease input lag, set minus value.");
\r
883 this.list項目リスト.Add(this.iDrumsInputAdjustTimeMs);
\r
885 // #24074 2011.01.23 add ikanick
\r
886 this.iDrumsGraph = new CItemToggle("Graph", CDTXMania.Instance.ConfigIni.bGraph.Drums,
\r
887 "最高スキルと比較できるグラフを表示します。\n" +
\r
888 "オートプレイだと表示されません。",
\r
889 "To draw Graph or not.");
\r
890 this.list項目リスト.Add(this.iDrumsGraph);
\r
892 this.iDrumsGoToKeyAssign = new CItemBase("Drums Keys", CItemBase.Eパネル種別.通常,
\r
893 "ドラムのキー入力に関する項目を設定します。",
\r
894 "Settings for the drums key/pad inputs.");
\r
895 this.list項目リスト.Add(this.iDrumsGoToKeyAssign);
\r
899 this.eメニュー種別 = Eメニュー種別.Drums;
\r
902 #region [ t項目リストの設定_Guitar() ]
\r
903 public void t項目リストの設定_Guitar()
\r
905 this.tConfigIniへ記録する();
\r
906 this.list項目リスト.Clear();
\r
908 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
910 this.iGuitarReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
912 "Return to left menu.");
\r
913 this.list項目リスト.Add(this.iGuitarReturnToMenu);
\r
915 #region [ AutoPlay ]
\r
916 this.iGuitarAutoPlayAll = new CItemThreeState("AutoPlay (All)", CItemThreeState.E状態.不定,
\r
917 "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。",
\r
918 "You can change whether Auto or not for all guitar neck/pick at once.");
\r
919 this.list項目リスト.Add(this.iGuitarAutoPlayAll);
\r
920 this.iGuitarR = new CItemToggle(" R", CDTXMania.Instance.ConfigIni.bAutoPlay.GtR,
\r
922 "To play R neck automatically.");
\r
923 this.list項目リスト.Add(this.iGuitarR);
\r
924 this.iGuitarG = new CItemToggle(" G", CDTXMania.Instance.ConfigIni.bAutoPlay.GtG,
\r
926 "To play G neck automatically.");
\r
927 this.list項目リスト.Add(this.iGuitarG);
\r
928 this.iGuitarB = new CItemToggle(" B", CDTXMania.Instance.ConfigIni.bAutoPlay.GtB,
\r
930 "To play B neck automatically.");
\r
931 this.list項目リスト.Add(this.iGuitarB);
\r
932 this.iGuitarPick = new CItemToggle(" Pick", CDTXMania.Instance.ConfigIni.bAutoPlay.GtPick,
\r
934 "To play Pick automatically.");
\r
935 this.list項目リスト.Add(this.iGuitarPick);
\r
936 this.iGuitarW = new CItemToggle(" Wailing", CDTXMania.Instance.ConfigIni.bAutoPlay.GtW,
\r
937 "ウェイリングを自動で演奏します。",
\r
938 "To play wailing automatically.");
\r
939 this.list項目リスト.Add(this.iGuitarW);
\r
941 this.iGuitarScrollSpeed = new CItemInteger("ScrollSpeed", 0, 0x7cf, CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Guitar,
\r
942 "演奏時のギター譜面のスクロールの速度を指定します。\n" +
\r
943 "x0.5 ~ x1000.0 までを指定可能です。",
\r
944 "To change the scroll speed for the guitar lanes.\n" +
\r
945 "You can set it from x0.5 to x1000.0.\n" +
\r
946 "(ScrollSpeed=x0.5 means half speed)");
\r
947 this.list項目リスト.Add(this.iGuitarScrollSpeed);
\r
949 this.iGuitarSudHid = new CItemList("Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue(E楽器パート.GUITAR),
\r
951 "OFF: チップを常に表示します。\n" +
\r
952 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
954 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
956 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
958 "S(emi)-Invisible:\n" +
\r
959 " 通常はチップを透明にしますが、Bad時\n" +
\r
960 " にはしばらく表示します。\n" +
\r
961 "F(ull)-Invisible:\n" +
\r
962 " チップを常に透明にします。暗譜での練習\n" +
\r
964 "Guitar chips display type:\n" +
\r
966 "OFF: Always show chips.\n" +
\r
967 "Sudden: The chips are disappered until they\n" +
\r
968 " come near the hit bar, and suddenly\n" +
\r
970 "Hidden: The chips are hidden by approaching to\n" +
\r
971 " the hit bar.\n" +
\r
972 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
973 "S(emi)-Invisible:\n" +
\r
974 " Usually you can't see the chips except\n" +
\r
975 " you've gotten Bad.\n" +
\r
976 "F(ull)-Invisible:\n" +
\r
977 " You can't see the chips at all.",
\r
978 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" });
\r
979 this.list項目リスト.Add(this.iGuitarSudHid);
\r
981 //this.iGuitarSudden = new CItemToggle( "Sudden", CDTXMania.Instance.ConfigIni.bSudden.Guitar,
\r
982 // "ギターチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
983 // "Guitar chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
984 //this.list項目リスト.Add( this.iGuitarSudden );
\r
985 //this.iGuitarHidden = new CItemToggle( "Hidden", CDTXMania.Instance.ConfigIni.bHidden.Guitar,
\r
986 // "ギターチップがヒットバー付近で表示\nされなくなります。",
\r
987 // "Guitar chips are hidden by approaching\nto the hit bar. " );
\r
988 //this.list項目リスト.Add( this.iGuitarHidden );
\r
990 //this.iGuitarInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.eInvisible.Guitar,
\r
991 // "ギターのチップを全く表示しなくなりま\n" +
\r
992 // "す。暗譜での練習にお使いください。\n" +
\r
993 // "これをONにすると、SuddenとHiddenの\n" +
\r
995 // "If you set Blindfold=ON, you can't\n" +
\r
996 // "see the chips at all.",
\r
997 // new string[] { "OFF", "HALF", "ON" } );
\r
998 //this.list項目リスト.Add( this.iGuitarInvisible );
\r
1000 this.iGuitarReverse = new CItemToggle("Reverse", CDTXMania.Instance.ConfigIni.bReverse.Guitar,
\r
1001 "ギターチップが譜面の上から下に流れるようになります。",
\r
1002 "The scroll way is reversed. Guitar chips flow from the top to the bottom.");
\r
1003 this.list項目リスト.Add(this.iGuitarReverse);
\r
1005 this.iSystemJudgePosGuitar = new CItemList("JudgePos", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.e判定位置.Guitar,
\r
1007 "判定ラインとRGBボタンが、少し下側に表示されるようになります。",
\r
1008 "Judge Line position:\n" +
\r
1009 "The judge line and RGB buttons will be displayed lower position.",
\r
1010 new string[] { "Normal", "Lower" });
\r
1011 this.list項目リスト.Add(this.iSystemJudgePosGuitar);
\r
1013 this.iGuitarPosition = new CItemList("Position", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.判定文字表示位置.Guitar,
\r
1014 "ギターの判定文字の表示位置を指定します。\n" +
\r
1016 " P-B: 判定ラインの上\n" +
\r
1017 " P-C: COMBO の下\n" +
\r
1019 "The position to show judgement mark.\n" +
\r
1020 "(Perfect, Great, ...)\n" +
\r
1022 " P-A: on the lanes.\n" +
\r
1023 " P-B: over the hit bar.\n" +
\r
1024 " P-C: under the COMBO indication.\n" +
\r
1025 " OFF: no judgement mark.",
\r
1026 new string[] { "OFF", "P-A", "P-B", "P-C" });
\r
1027 this.list項目リスト.Add(this.iGuitarPosition);
\r
1029 //this.iGuitarJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.e判定表示優先度.Guitar,
\r
1030 // "判定文字列とコンボ表示の優先順位を\n" +
\r
1033 // " Under: チップの下に表示します。\n" +
\r
1034 // " Over: チップの上に表示します。",
\r
1035 // "The display prioity between chips\n" +
\r
1036 // " and judge mark/combo.\n" +
\r
1038 // " Under: Show them under the chips.\n" +
\r
1039 // " Over: Show them over the chips.",
\r
1040 // new string[] { "Under", "Over" } );
\r
1041 //this.list項目リスト.Add( this.iGuitarJudgeDispPriority );
\r
1043 this.iGuitarRandom = new CItemList("Random", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.eRandom.Guitar,
\r
1044 "ギターのチップがランダムに降ってきます。\n" +
\r
1045 " Part: 小節・レーン単位で交換\n" +
\r
1046 " Super: チップ単位で交換\n" +
\r
1047 " Hyper: 全部完全に変更",
\r
1048 "Guitar chips come randomly.\n" +
\r
1050 " Part: swapping lanes randomly for each measures.\n" +
\r
1051 " Super: swapping chip randomly\n" +
\r
1052 " Hyper: swapping randomly (number of lanes also changes)",
\r
1053 new string[] { "OFF", "Part", "Super", "Hyper" });
\r
1054 this.list項目リスト.Add(this.iGuitarRandom);
\r
1055 this.iGuitarLight = new CItemToggle("Light", CDTXMania.Instance.ConfigIni.bLight.Guitar,
\r
1056 "ギターチップのないところでピッキングしても BAD になりません。",
\r
1057 "Even if you pick without any chips, it doesn't become BAD.");
\r
1058 this.list項目リスト.Add(this.iGuitarLight);
\r
1059 this.iGuitarLeft = new CItemToggle("Left", CDTXMania.Instance.ConfigIni.bLeft.Guitar,
\r
1060 "ギターの RGB の並びが左右反転します。(左利きモード)",
\r
1061 "Lane order 'R-G-B' becomes 'B-G-R' for lefty.");
\r
1062 this.list項目リスト.Add(this.iGuitarLeft);
\r
1064 this.iSystemSoundMonitorGuitar = new CItemToggle("GuitarMonitor", CDTXMania.Instance.ConfigIni.b演奏音を強調する.Guitar,
\r
1066 "ギター音を他の音より大きめの音量で発声します。\n" +
\r
1067 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
1068 "To enhance the guitar chip sound (except autoplay).");
\r
1069 this.list項目リスト.Add(this.iSystemSoundMonitorGuitar);
\r
1070 this.iSystemMinComboGuitar = new CItemInteger("G-MinCombo", 1, 0x1869f, CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Guitar,
\r
1071 "表示可能な最小コンボ数(ギター):\n" +
\r
1072 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
1073 "1 ~ 99999 の値が指定可能です。",
\r
1074 "Initial number to show the combo for the guitar.\n" +
\r
1075 "You can specify from 1 to 99999.");
\r
1076 this.list項目リスト.Add(this.iSystemMinComboGuitar);
\r
1079 // #23580 2011.1.3 yyagi
\r
1080 this.iGuitarInputAdjustTimeMs = new CItemInteger("InputAdjust", -99, 99, CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar,
\r
1081 "ギターの入力タイミングの微調整を行います。\n" +
\r
1082 "-99 ~ 99ms まで指定可能です。\n" +
\r
1083 "入力ラグを軽減するためには、負の値を指定してください。",
\r
1084 "To adjust the guitar input timing.\n" +
\r
1085 "You can set from -99 to 99ms.\n" +
\r
1086 "To decrease input lag, set minus value.");
\r
1087 this.list項目リスト.Add(this.iGuitarInputAdjustTimeMs);
\r
1089 this.iGuitarGoToKeyAssign = new CItemBase("Guitar Keys", CItemBase.Eパネル種別.通常,
\r
1090 "ギターのキー入力に関する項目を設定します。",
\r
1091 "Settings for the guitar key/pad inputs.");
\r
1092 this.list項目リスト.Add(this.iGuitarGoToKeyAssign);
\r
1095 this.n現在の選択項目 = 0;
\r
1096 this.eメニュー種別 = Eメニュー種別.Guitar;
\r
1099 #region [ t項目リストの設定_Bass() ]
\r
1100 public void t項目リストの設定_Bass()
\r
1102 this.tConfigIniへ記録する();
\r
1103 this.list項目リスト.Clear();
\r
1105 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1107 this.iBassReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1109 "Return to left menu.");
\r
1110 this.list項目リスト.Add(this.iBassReturnToMenu);
\r
1112 #region [ AutoPlay ]
\r
1113 this.iBassAutoPlayAll = new CItemThreeState("AutoPlay (All)", CItemThreeState.E状態.不定,
\r
1114 "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。",
\r
1115 "You can change whether Auto or not for all bass neck/pick at once.");
\r
1116 this.list項目リスト.Add(this.iBassAutoPlayAll);
\r
1117 this.iBassR = new CItemToggle(" R", CDTXMania.Instance.ConfigIni.bAutoPlay.BsR,
\r
1119 "To play R neck automatically.");
\r
1120 this.list項目リスト.Add(this.iBassR);
\r
1121 this.iBassG = new CItemToggle(" G", CDTXMania.Instance.ConfigIni.bAutoPlay.BsG,
\r
1123 "To play G neck automatically.");
\r
1124 this.list項目リスト.Add(this.iBassG);
\r
1125 this.iBassB = new CItemToggle(" B", CDTXMania.Instance.ConfigIni.bAutoPlay.BsB,
\r
1127 "To play B neck automatically.");
\r
1128 this.list項目リスト.Add(this.iBassB);
\r
1129 this.iBassPick = new CItemToggle(" Pick", CDTXMania.Instance.ConfigIni.bAutoPlay.BsPick,
\r
1131 "To play Pick automatically.");
\r
1132 this.list項目リスト.Add(this.iBassPick);
\r
1133 this.iBassW = new CItemToggle(" Wailing", CDTXMania.Instance.ConfigIni.bAutoPlay.BsW,
\r
1134 "ウェイリングを自動で演奏します。",
\r
1135 "To play wailing automatically.");
\r
1136 this.list項目リスト.Add(this.iBassW);
\r
1139 this.iBassScrollSpeed = new CItemInteger("ScrollSpeed", 0, 0x7cf, CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Bass,
\r
1140 "演奏時のベース譜面のスクロールの速度を指定します。\n" +
\r
1141 "x0.5 ~ x1000.0 までを指定可能です。",
\r
1142 "To change the scroll speed for the bass lanes.\n" +
\r
1143 "You can set it from x0.5 to x1000.0.\n" +
\r
1144 "(ScrollSpeed=x0.5 means half speed)");
\r
1145 this.list項目リスト.Add(this.iBassScrollSpeed);
\r
1147 this.iBassSudHid = new CItemList("Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue(E楽器パート.BASS),
\r
1148 "ベースチップの表示方式:\n" +
\r
1149 "OFF: チップを常に表示します。\n" +
\r
1150 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
1152 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
1154 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
1156 "S(emi)-Invisible:\n" +
\r
1157 " 通常はチップを透明にしますが、Bad時\n" +
\r
1158 " にはしばらく表示します。\n" +
\r
1159 "F(ull)-Invisible:\n" +
\r
1160 " チップを常に透明にします。暗譜での練習\n" +
\r
1162 "Bass chips display type:\n" +
\r
1164 "OFF: Always show chips.\n" +
\r
1165 "Sudden: The chips are disappered until they\n" +
\r
1166 " come near the hit bar, and suddenly\n" +
\r
1168 "Hidden: The chips are hidden by approaching to\n" +
\r
1169 " the hit bar.\n" +
\r
1170 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
1171 "S(emi)-Invisible:\n" +
\r
1172 " Usually you can't see the chips except\n" +
\r
1173 " you've gotten Bad.\n" +
\r
1174 "F(ull)-Invisible:\n" +
\r
1175 " You can't see the chips at all.",
\r
1176 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" });
\r
1177 this.list項目リスト.Add(this.iBassSudHid);
\r
1179 //this.iBassSudden = new CItemToggle( "Sudden", CDTXMania.Instance.ConfigIni.bSudden.Bass,
\r
1180 // "ベースチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
1181 // "Bass chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
1182 //this.list項目リスト.Add( this.iBassSudden );
\r
1183 //this.iBassHidden = new CItemToggle( "Hidden", CDTXMania.Instance.ConfigIni.bHidden.Bass,
\r
1184 // "ベースチップがヒットバー付近で表示\nされなくなります。",
\r
1185 // "Bass chips are hidden by approaching\nto the hit bar." );
\r
1186 //this.list項目リスト.Add( this.iBassHidden );
\r
1188 //this.iBassInvisible = new CItemList( "InvisibleBlindfold", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.eInvisible.Bass,
\r
1189 // "ベースのチップを全く表示しなくなりま\n" +
\r
1190 // "す。暗譜での練習にお使いください。\n" +
\r
1191 // "これをONにすると、SuddenとHiddenの\n" +
\r
1193 // "If you set Blindfold=ON, you can't\n" +
\r
1194 // "see the chips at all.",
\r
1195 // new string[] { "OFF", "HALF", "ON"} );
\r
1196 //this.list項目リスト.Add( this.iBassInvisible );
\r
1198 this.iBassReverse = new CItemToggle("Reverse", CDTXMania.Instance.ConfigIni.bReverse.Bass,
\r
1199 "ベースチップが譜面の上から下に流れるようになります。",
\r
1200 "The scroll way is reversed. Bass chips flow from the top to the bottom.");
\r
1201 this.list項目リスト.Add(this.iBassReverse);
\r
1203 this.iSystemJudgePosBass = new CItemList("JudgePos", CItemBase.Eパネル種別.通常, (int)CDTXMania.Instance.ConfigIni.e判定位置.Bass,
\r
1205 "判定ラインとRGBボタンが、少し下側に表示されるようになります。",
\r
1206 "Judge Line position:\n" +
\r
1207 "The judge line and RGB buttons will be displayed lower position.",
\r
1208 new string[] { "Normal", "Lower" });
\r
1209 this.list項目リスト.Add(this.iSystemJudgePosBass);
\r
1211 this.iBassPosition = new CItemList("Position", CItemBase.Eパネル種別.通常,
\r
1212 (int)CDTXMania.Instance.ConfigIni.判定文字表示位置.Bass,
\r
1213 "ベースの判定文字の表示位置を指定します。\n" +
\r
1215 " P-B: 判定ラインの上\n" +
\r
1216 " P-C: COMBO の下\n" +
\r
1218 "The position to show judgement mark.\n" +
\r
1219 "(Perfect, Great, ...)\n" +
\r
1221 " P-A: on the lanes.\n" +
\r
1222 " P-B: over the hit bar.\n" +
\r
1223 " P-C: under the COMBO indication.\n" +
\r
1224 " OFF: no judgement mark.",
\r
1225 new string[] { "OFF", "P-A", "P-B", "P-C" });
\r
1226 this.list項目リスト.Add(this.iBassPosition);
\r
1228 //this.iBassJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.Instance.ConfigIni.e判定表示優先度.Bass,
\r
1229 //"判定文字列とコンボ表示の優先順位を\n" +
\r
1232 //" Under: チップの下に表示します。\n" +
\r
1233 //" Over: チップの上に表示します。",
\r
1234 //"The display prioity between chips\n" +
\r
1235 //" and judge mark/combo.\n" +
\r
1237 //" Under: Show them under the chips.\n" +
\r
1238 //" Over: Show them over the chips.",
\r
1239 //new string[] { "Under", "Over" } );
\r
1240 //this.list項目リスト.Add( this.iBassJudgeDispPriority );
\r
1242 this.iBassRandom = new CItemList("Random", CItemBase.Eパネル種別.通常,
\r
1243 (int)CDTXMania.Instance.ConfigIni.eRandom.Bass,
\r
1244 "ベースのチップがランダムに降ってきます。\n" +
\r
1245 " Part: 小節・レーン単位で交換\n" +
\r
1246 " Super: チップ単位で交換\n" +
\r
1247 " Hyper: 全部完全に変更",
\r
1248 "Bass chips come randomly.\n" +
\r
1250 " Part: swapping lanes randomly for each measures.\n" +
\r
1251 " Super: swapping chip randomly\n" +
\r
1252 " Hyper: swapping randomly (number of lanes also changes)",
\r
1253 new string[] { "OFF", "Part", "Super", "Hyper" });
\r
1254 this.list項目リスト.Add(this.iBassRandom);
\r
1255 this.iBassLight = new CItemToggle("Light", CDTXMania.Instance.ConfigIni.bLight.Bass,
\r
1256 "ベースチップのないところでピッキングしても BAD になりません。",
\r
1257 "Even if you pick without any chips, it doesn't become BAD.");
\r
1258 this.list項目リスト.Add(this.iBassLight);
\r
1259 this.iBassLeft = new CItemToggle("Left", CDTXMania.Instance.ConfigIni.bLeft.Bass,
\r
1260 "ベースの RGB の並びが左右反転します。(左利きモード)",
\r
1261 "Lane order 'R-G-B' becomes 'B-G-R' for lefty.");
\r
1262 this.list項目リスト.Add(this.iBassLeft);
\r
1264 this.iSystemSoundMonitorBass = new CItemToggle("BassMonitor", CDTXMania.Instance.ConfigIni.b演奏音を強調する.Bass,
\r
1266 "ベース音を他の音より大きめの音量で発声します。\n" +
\r
1267 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
1268 "To enhance the bass chip sound (except autoplay).");
\r
1269 this.list項目リスト.Add(this.iSystemSoundMonitorBass);
\r
1271 this.iSystemMinComboBass = new CItemInteger("B-MinCombo", 1, 0x1869f, CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Bass,
\r
1272 "表示可能な最小コンボ数(ベース):\n" +
\r
1273 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
1274 "1 ~ 99999 の値が指定可能です。",
\r
1275 "Initial number to show the combo for the bass.\n" +
\r
1276 "You can specify from 1 to 99999.");
\r
1277 this.list項目リスト.Add(this.iSystemMinComboBass);
\r
1280 // #23580 2011.1.3 yyagi
\r
1281 this.iBassInputAdjustTimeMs = new CItemInteger("InputAdjust", -99, 99, CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass,
\r
1282 "ベースの入力タイミングの微調整を行います。\n" +
\r
1283 "-99 ~ 99ms まで指定可能です。\n" +
\r
1284 "入力ラグを軽減するためには、負の値を指定してください。",
\r
1285 "To adjust the bass input timing.\n" +
\r
1286 "You can set from -99 to 99ms.\n" +
\r
1287 "To decrease input lag, set minus value.");
\r
1288 this.list項目リスト.Add(this.iBassInputAdjustTimeMs);
\r
1290 this.iBassGoToKeyAssign = new CItemBase("Bass Keys", CItemBase.Eパネル種別.通常,
\r
1291 "ベースのキー入力に関する項目を設定します。",
\r
1292 "Settings for the bass key/pad inputs.");
\r
1293 this.list項目リスト.Add(this.iBassGoToKeyAssign);
\r
1296 this.n現在の選択項目 = 0;
\r
1297 this.eメニュー種別 = Eメニュー種別.Bass;
\r
1301 /// <summary>Sud+Hidの初期値を返す</summary>
\r
1302 /// <param name="eInst"></param>
\r
1308 /// 4: Semi-Invisible
\r
1309 /// 5: Full-Invisible
\r
1311 private int getDefaultSudHidValue(E楽器パート eInst)
\r
1314 int nInst = (int)eInst;
\r
1315 if (CDTXMania.Instance.ConfigIni.eInvisible[nInst] != EInvisible.OFF)
\r
1317 defvar = (int)CDTXMania.Instance.ConfigIni.eInvisible[nInst] + 3;
\r
1321 defvar = (CDTXMania.Instance.ConfigIni.bSudden[nInst] ? 1 : 0) +
\r
1322 (CDTXMania.Instance.ConfigIni.bHidden[nInst] ? 2 : 0);
\r
1328 /// ESC押下時の右メニュー描画
\r
1330 public void tEsc押下()
\r
1332 if (this.b要素値にフォーカス中) // #32059 2013.9.17 add yyagi
\r
1334 this.b要素値にフォーカス中 = false;
\r
1337 if (this.eメニュー種別 == Eメニュー種別.KeyAssignSystem)
\r
1339 t項目リストの設定_System();
\r
1341 else if (this.eメニュー種別 == Eメニュー種別.KeyAssignDrums)
\r
1343 t項目リストの設定_Drums();
\r
1345 else if (this.eメニュー種別 == Eメニュー種別.KeyAssignGuitar)
\r
1347 t項目リストの設定_Guitar();
\r
1349 else if (this.eメニュー種別 == Eメニュー種別.KeyAssignBass)
\r
1355 public void tEnter押下()
\r
1357 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
1358 if (this.b要素値にフォーカス中)
\r
1360 this.b要素値にフォーカス中 = false;
\r
1362 else if (this.list項目リスト[this.n現在の選択項目].e種別 == CItemBase.E種別.整数)
\r
1364 this.b要素値にフォーカス中 = true;
\r
1366 else if (this.b現在選択されている項目はReturnToMenuである)
\r
1368 //this.tConfigIniへ記録する();
\r
1369 //CONFIG中にスキン変化が発生すると面倒なので、一旦マスクした。
\r
1371 #region [ 個々のキーアサイン ]
\r
1372 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsLC)
\r
1374 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LC);
\r
1376 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsHHC)
\r
1378 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HH);
\r
1380 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsHHO)
\r
1382 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HHO);
\r
1384 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsSD)
\r
1386 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.SD);
\r
1388 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsBD)
\r
1390 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.BD);
\r
1392 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsHT)
\r
1394 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HT);
\r
1396 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsLT)
\r
1398 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LT);
\r
1400 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsFT)
\r
1402 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.FT);
\r
1404 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsCY)
\r
1406 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.CY);
\r
1408 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsRD)
\r
1410 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RD);
\r
1412 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsHP) // #27029 2012.1.4 from
\r
1414 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HP); //
\r
1416 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarR)
\r
1418 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.R);
\r
1420 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarG)
\r
1422 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.G);
\r
1424 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarB)
\r
1426 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.B);
\r
1428 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarPick)
\r
1430 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Pick);
\r
1432 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarWail)
\r
1434 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Wail);
\r
1436 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarDecide)
\r
1438 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Decide);
\r
1440 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarCancel)
\r
1442 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel);
\r
1444 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassR)
\r
1446 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.R);
\r
1448 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassG)
\r
1450 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.G);
\r
1452 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassB)
\r
1454 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.B);
\r
1456 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassPick)
\r
1458 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Pick);
\r
1460 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassWail)
\r
1462 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Wail);
\r
1464 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassDecide)
\r
1466 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Decide);
\r
1468 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassCancel)
\r
1470 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Cancel);
\r
1472 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemCapture)
\r
1474 CDTXMania.Instance.stageコンフィグ.tパッド選択通知(EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture);
\r
1479 // #27029 2012.1.5 from
\r
1480 if ((this.iSystemBDGroup.n現在選択されている項目番号 == (int)EBDGroup.どっちもBD) &&
\r
1481 ((this.list項目リスト[this.n現在の選択項目] == this.iSystemHHGroup) || (this.list項目リスト[this.n現在の選択項目] == this.iSystemHitSoundPriorityHH)))
\r
1488 this.list項目リスト[this.n現在の選択項目].tEnter押下();
\r
1494 if (this.list項目リスト[this.n現在の選択項目] == this.iSystemFullscreen)
\r
1496 CDTXMania.Instance.b次のタイミングで全画面_ウィンドウ切り替えを行う = true;
\r
1498 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemVSyncWait)
\r
1500 CDTXMania.Instance.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
1501 CDTXMania.Instance.b次のタイミングで垂直帰線同期切り替えを行う = true;
\r
1503 #region [ AutoPlay #23886 2012.5.8 yyagi ]
\r
1504 else if (this.list項目リスト[this.n現在の選択項目] == this.iDrumsAutoPlayAll)
\r
1506 this.t全部のドラムパッドのAutoを切り替える(this.iDrumsAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON);
\r
1508 else if (this.list項目リスト[this.n現在の選択項目] == this.iGuitarAutoPlayAll)
\r
1510 this.t全部のギターパッドのAutoを切り替える(this.iGuitarAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON);
\r
1512 else if (this.list項目リスト[this.n現在の選択項目] == this.iBassAutoPlayAll)
\r
1514 this.t全部のベースパッドのAutoを切り替える(this.iBassAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON);
\r
1517 #region [ キーアサインへの遷移と脱出 ]
\r
1518 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemGoToKeyAssign) // #24609 2011.4.12 yyagi
\r
1520 t項目リストの設定_KeyAssignSystem();
\r
1522 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignSystemReturnToMenu) // #24609 2011.4.12 yyagi
\r
1524 t項目リストの設定_System();
\r
1526 else if (this.list項目リスト[this.n現在の選択項目] == this.iDrumsGoToKeyAssign) // #24525 2011.3.15 yyagi
\r
1528 t項目リストの設定_KeyAssignDrums();
\r
1530 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDrumsReturnToMenu) // #24525 2011.3.15 yyagi
\r
1532 t項目リストの設定_Drums();
\r
1534 else if (this.list項目リスト[this.n現在の選択項目] == this.iGuitarGoToKeyAssign) // #24525 2011.3.15 yyagi
\r
1536 t項目リストの設定_KeyAssignGuitar();
\r
1538 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignGuitarReturnToMenu) // #24525 2011.3.15 yyagi
\r
1540 t項目リストの設定_Guitar();
\r
1542 else if (this.list項目リスト[this.n現在の選択項目] == this.iBassGoToKeyAssign) // #24525 2011.3.15 yyagi
\r
1544 t項目リストの設定_KeyAssignBass();
\r
1546 else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignBassReturnToMenu) // #24525 2011.3.15 yyagi
\r
1551 #region [ BDGroup #27029 2012.1.4 from ]
\r
1552 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemBDGroup) // #27029 2012.1.4 from
\r
1554 if (this.iSystemBDGroup.n現在選択されている項目番号 == (int)EBDGroup.どっちもBD)
\r
1556 // #27029 2012.1.5 from: 変更前の状態をバックアップする。
\r
1557 CDTXMania.Instance.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD()
\r
1559 eHHGroup = (EHHGroup)this.iSystemHHGroup.n現在選択されている項目番号,
\r
1560 eHitSoundPriorityHH = (E打ち分け時の再生の優先順位)this.iSystemHitSoundPriorityHH.n現在選択されている項目番号,
\r
1563 // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし
\r
1564 if (this.iSystemHHGroup.n現在選択されている項目番号 == (int)EHHGroup.全部打ち分ける)
\r
1565 this.iSystemHHGroup.n現在選択されている項目番号 = (int)EHHGroup.左シンバルのみ打ち分ける;
\r
1566 if (this.iSystemHHGroup.n現在選択されている項目番号 == (int)EHHGroup.ハイハットのみ打ち分ける)
\r
1567 this.iSystemHHGroup.n現在選択されている項目番号 = (int)EHHGroup.全部共通;
\r
1569 // HH Priority ... C>P → 変更なし / P>C → C>P
\r
1570 if (this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int)E打ち分け時の再生の優先順位.PadがChipより優先)
\r
1571 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int)E打ち分け時の再生の優先順位.ChipがPadより優先;
\r
1575 // #27029 2012.1.5 from: 変更前の状態に戻す。
\r
1576 this.iSystemHHGroup.n現在選択されている項目番号 = (int)CDTXMania.Instance.ConfigIni.BackupOf1BD.eHHGroup;
\r
1577 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int)CDTXMania.Instance.ConfigIni.BackupOf1BD.eHitSoundPriorityHH;
\r
1579 CDTXMania.Instance.ConfigIni.BackupOf1BD = null;
\r
1583 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemUseBoxDefSkin) // #28195 2012.5.6 yyagi
\r
1585 CSkin.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON;
\r
1587 #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。]
\r
1588 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemSkinSubfolder) // #28195 2012.5.2 yyagi
\r
1590 tGenerateSkinSample();
\r
1593 #region [ 曲データ一覧の再読み込み ]
\r
1594 else if (this.list項目リスト[this.n現在の選択項目] == this.iSystemReloadDTX) // #32081 2013.10.21 yyagi
\r
1596 if (CDTXMania.Instance.EnumSongs.IsEnumerating)
\r
1598 // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" );
\r
1599 CDTXMania.Instance.EnumSongs.Abort();
\r
1600 CDTXMania.Instance.actEnumSongs.On非活性化();
\r
1603 CDTXMania.Instance.EnumSongs.StartEnumFromDisk();
\r
1604 CDTXMania.Instance.EnumSongs.ChangeEnumeratePriority(ThreadPriority.Normal);
\r
1605 CDTXMania.Instance.actEnumSongs.bコマンドでの曲データ取得 = true;
\r
1606 CDTXMania.Instance.actEnumSongs.On活性化();
\r
1612 private void tGenerateSkinSample()
\r
1614 nSkinIndex = ((CItemList)this.list項目リスト[this.n現在の選択項目]).n現在選択されている項目番号;
\r
1615 if (nSkinSampleIndex != nSkinIndex)
\r
1617 string path = skinSubFolders[nSkinIndex];
\r
1618 path = System.IO.Path.Combine(path, @"Graphics\ScreenTitle background.jpg");
\r
1619 Bitmap bmSrc = new Bitmap(path);
\r
1620 Bitmap bmDest = new Bitmap(bmSrc.Width / 4, bmSrc.Height / 4);
\r
1621 Graphics g = Graphics.FromImage(bmDest);
\r
1622 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
\r
1623 g.DrawImage(bmSrc, new Rectangle(0, 0, bmSrc.Width / 4, bmSrc.Height / 4),
\r
1624 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel);
\r
1625 if (txSkinSample1 != null)
\r
1627 TextureFactory.t安全にDisposeする(ref txSkinSample1);
\r
1629 txSkinSample1 = TextureFactory.tテクスチャの生成(bmDest, false);
\r
1633 nSkinSampleIndex = nSkinIndex;
\r
1637 #region [ 項目リストの設定 ( Exit, KeyAssignSystem/Drums/Guitar/Bass) ]
\r
1638 public void t項目リストの設定_Exit()
\r
1640 this.tConfigIniへ記録する();
\r
1641 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1643 public void t項目リストの設定_KeyAssignSystem()
\r
1645 //this.tConfigIniへ記録する();
\r
1646 this.list項目リスト.Clear();
\r
1648 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1650 this.iKeyAssignSystemReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1652 "Return to left menu.");
\r
1653 this.list項目リスト.Add(this.iKeyAssignSystemReturnToMenu);
\r
1654 this.iKeyAssignSystemCapture = new CItemBase("Capture",
\r
1656 "画面キャプチャのキーの割り当てを設定します。",
\r
1657 "Capture key assign:\n" +
\r
1658 "To assign key for screen capture.\n" +
\r
1659 "(You can assign keyboard only. You can't use pads to capture screenshot.)");
\r
1660 this.list項目リスト.Add(this.iKeyAssignSystemCapture);
\r
1663 this.n現在の選択項目 = 0;
\r
1664 this.eメニュー種別 = Eメニュー種別.KeyAssignSystem;
\r
1666 public void t項目リストの設定_KeyAssignDrums()
\r
1668 // this.tConfigIniへ記録する();
\r
1669 this.list項目リスト.Clear();
\r
1671 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1673 this.iKeyAssignDrumsReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1675 "Return to left menu.");
\r
1676 this.list項目リスト.Add(this.iKeyAssignDrumsReturnToMenu);
\r
1677 this.iKeyAssignDrumsLC = new CItemBase("LeftCymbal",
\r
1679 "左シンバルへのキーの割り当てを設定します。",
\r
1680 "Drums key assign:\n" +
\r
1681 "To assign key/pads for LeftCymbal button.");
\r
1682 this.list項目リスト.Add(this.iKeyAssignDrumsLC);
\r
1683 this.iKeyAssignDrumsHHC = new CItemBase("HiHat(Close)",
\r
1685 "ハイハット(クローズ)へのキーの割り当てを設定します。",
\r
1686 "Drums key assign:\n" +
\r
1687 "To assign key/pads for HiHat(Close) button.");
\r
1688 this.list項目リスト.Add(this.iKeyAssignDrumsHHC);
\r
1689 this.iKeyAssignDrumsHHO = new CItemBase("HiHat(Open)",
\r
1691 "ハイハット(オープン)へのキーの割り当てを設定します。",
\r
1692 "Drums key assign:\n" +
\r
1693 "To assign key/pads for HiHat(Open) button.");
\r
1694 this.list項目リスト.Add(this.iKeyAssignDrumsHHO);
\r
1695 this.iKeyAssignDrumsSD = new CItemBase("Snare",
\r
1697 "スネアへのキーの割り当てを設定します。",
\r
1698 "Drums key assign:\n" +
\r
1699 "To assign key/pads for Snare button.");
\r
1700 this.list項目リスト.Add(this.iKeyAssignDrumsSD);
\r
1701 this.iKeyAssignDrumsBD = new CItemBase("Bass",
\r
1703 "バスドラムへのキーの割り当てを設定します。",
\r
1704 "Drums key assign:\n" +
\r
1705 "To assign key/pads for Bass button.");
\r
1706 this.list項目リスト.Add(this.iKeyAssignDrumsBD);
\r
1707 this.iKeyAssignDrumsHT = new CItemBase("HighTom",
\r
1709 "ハイタムへのキーの割り当てを設定します。",
\r
1710 "Drums key assign:\n" +
\r
1711 "To assign key/pads for HighTom button.");
\r
1712 this.list項目リスト.Add(this.iKeyAssignDrumsHT);
\r
1713 this.iKeyAssignDrumsLT = new CItemBase("LowTom",
\r
1715 "ロータムへのキーの割り当てを設定します。",
\r
1716 "Drums key assign:\n" +
\r
1717 "To assign key/pads for LowTom button.");
\r
1718 this.list項目リスト.Add(this.iKeyAssignDrumsLT);
\r
1719 this.iKeyAssignDrumsFT = new CItemBase("FloorTom",
\r
1721 "フロアタムへのキーの割り当てを設定します。",
\r
1722 "Drums key assign:\n" +
\r
1723 "To assign key/pads for FloorTom button.");
\r
1724 this.list項目リスト.Add(this.iKeyAssignDrumsFT);
\r
1725 this.iKeyAssignDrumsCY = new CItemBase("RightCymbal",
\r
1727 "右シンバルへのキーの割り当てを設定します。",
\r
1728 "Drums key assign:\n" +
\r
1729 "To assign key/pads for RightCymbal button.");
\r
1730 this.list項目リスト.Add(this.iKeyAssignDrumsCY);
\r
1731 this.iKeyAssignDrumsRD = new CItemBase("RideCymbal",
\r
1733 "ライドシンバルへのキーの割り当てを設定します。",
\r
1734 "Drums key assign:\n" +
\r
1735 "To assign key/pads for RideCymbal button.");
\r
1736 this.list項目リスト.Add(this.iKeyAssignDrumsRD);
\r
1737 this.iKeyAssignDrumsHP = new CItemBase("HiHatPedal", // #27029 2012.1.4 from
\r
1738 "ドラムのキー設定:\n" + //
\r
1739 "ハイハットのフットペダルへのキーの割り当てを設定します。", //
\r
1740 "Drums key assign:\n" + //
\r
1741 "To assign key/pads for HiHatPedal button."); //
\r
1742 this.list項目リスト.Add(this.iKeyAssignDrumsHP); //
\r
1745 this.n現在の選択項目 = 0;
\r
1746 this.eメニュー種別 = Eメニュー種別.KeyAssignDrums;
\r
1748 public void t項目リストの設定_KeyAssignGuitar()
\r
1750 // this.tConfigIniへ記録する();
\r
1751 this.list項目リスト.Clear();
\r
1753 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1755 this.iKeyAssignGuitarReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1757 "Return to left menu.");
\r
1758 this.list項目リスト.Add(this.iKeyAssignGuitarReturnToMenu);
\r
1759 this.iKeyAssignGuitarR = new CItemBase("R",
\r
1761 "Rボタンへのキーの割り当てを設定します。",
\r
1762 "Guitar key assign:\n" +
\r
1763 "To assign key/pads for R button.");
\r
1764 this.list項目リスト.Add(this.iKeyAssignGuitarR);
\r
1765 this.iKeyAssignGuitarG = new CItemBase("G",
\r
1767 "Gボタンへのキーの割り当てを設定します。",
\r
1768 "Guitar key assign:\n" +
\r
1769 "To assign key/pads for G button.");
\r
1770 this.list項目リスト.Add(this.iKeyAssignGuitarG);
\r
1771 this.iKeyAssignGuitarB = new CItemBase("B",
\r
1773 "Bボタンへのキーの割り当てを設定します。",
\r
1774 "Guitar key assign:\n" +
\r
1775 "To assign key/pads for B button.");
\r
1776 this.list項目リスト.Add(this.iKeyAssignGuitarB);
\r
1777 this.iKeyAssignGuitarPick = new CItemBase("Pick",
\r
1779 "ピックボタンへのキーの割り当てを設定します。",
\r
1780 "Guitar key assign:\n" +
\r
1781 "To assign key/pads for Pick button.");
\r
1782 this.list項目リスト.Add(this.iKeyAssignGuitarPick);
\r
1783 this.iKeyAssignGuitarWail = new CItemBase("Wailing",
\r
1785 "Wailingボタンへのキーの割り当てを設定します。",
\r
1786 "Guitar key assign:\nTo assign key/pads for Wailing button.");
\r
1787 this.list項目リスト.Add(this.iKeyAssignGuitarWail);
\r
1788 this.iKeyAssignGuitarDecide = new CItemBase("Decide",
\r
1790 "決定ボタンへのキーの割り当てを設定します。",
\r
1791 "Guitar key assign:\nTo assign key/pads for Decide button.");
\r
1792 this.list項目リスト.Add(this.iKeyAssignGuitarDecide);
\r
1793 this.iKeyAssignGuitarCancel = new CItemBase("Cancel",
\r
1795 "キャンセルボタンへのキーの割り当てを設定します。",
\r
1796 "Guitar key assign:\n" +
\r
1797 "To assign key/pads for Cancel button.");
\r
1798 this.list項目リスト.Add(this.iKeyAssignGuitarCancel);
\r
1801 this.n現在の選択項目 = 0;
\r
1802 this.eメニュー種別 = Eメニュー種別.KeyAssignGuitar;
\r
1804 public void t項目リストの設定_KeyAssignBass()
\r
1806 // this.tConfigIniへ記録する();
\r
1807 this.list項目リスト.Clear();
\r
1809 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1811 this.iKeyAssignBassReturnToMenu = new CItemBase("<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1813 "Return to left menu.");
\r
1814 this.list項目リスト.Add(this.iKeyAssignBassReturnToMenu);
\r
1815 this.iKeyAssignBassR = new CItemBase("R",
\r
1817 "Rボタンへのキーの割り当てを設定します。",
\r
1818 "Bass key assign:\n" +
\r
1819 "To assign key/pads for R button.");
\r
1820 this.list項目リスト.Add(this.iKeyAssignBassR);
\r
1821 this.iKeyAssignBassG = new CItemBase("G",
\r
1823 "Gボタンへのキーの割り当てを設定します。",
\r
1824 "Bass key assign:\n" +
\r
1825 "To assign key/pads for G button.");
\r
1826 this.list項目リスト.Add(this.iKeyAssignBassG);
\r
1827 this.iKeyAssignBassB = new CItemBase("B",
\r
1829 "Bボタンへのキーの割り当てを設定します。",
\r
1830 "Bass key assign:\n" +
\r
1831 "To assign key/pads for B button.");
\r
1832 this.list項目リスト.Add(this.iKeyAssignBassB);
\r
1833 this.iKeyAssignBassPick = new CItemBase("Pick",
\r
1835 "ピックボタンへのキーの割り当てを設定します。",
\r
1836 "Bass key assign:\n" +
\r
1837 "To assign key/pads for Pick button.");
\r
1838 this.list項目リスト.Add(this.iKeyAssignBassPick);
\r
1839 this.iKeyAssignBassWail = new CItemBase("Wailing",
\r
1841 "Wailingボタンへのキーの割り当てを設定します。",
\r
1842 "Bass key assign:\n" +
\r
1843 "To assign key/pads for Wailing button.");
\r
1844 this.list項目リスト.Add(this.iKeyAssignBassWail);
\r
1845 this.iKeyAssignBassDecide = new CItemBase("Decide",
\r
1847 "決定ボタンへのキーの割り当てを設定します。",
\r
1848 "Bass key assign:\n" +
\r
1849 "To assign key/pads for Decide button.");
\r
1850 this.list項目リスト.Add(this.iKeyAssignBassDecide);
\r
1851 this.iKeyAssignBassCancel = new CItemBase("Cancel",
\r
1853 "キャンセルボタンへのキーの割り当てを設定します。",
\r
1854 "Bass key assign:\n" +
\r
1855 "To assign key/pads for Cancel button.");
\r
1856 this.list項目リスト.Add(this.iKeyAssignBassCancel);
\r
1859 this.n現在の選択項目 = 0;
\r
1860 this.eメニュー種別 = Eメニュー種別.KeyAssignBass;
\r
1863 public void t次に移動()
\r
1865 CDTXMania.Instance.Skin.soundカーソル移動音.t再生する();
\r
1866 if (this.b要素値にフォーカス中)
\r
1868 this.list項目リスト[this.n現在の選択項目].t項目値を前へ移動();
\r
1873 this.n目標のスクロールカウンタ += 100;
\r
1876 public void t前に移動()
\r
1878 CDTXMania.Instance.Skin.soundカーソル移動音.t再生する();
\r
1879 if (this.b要素値にフォーカス中)
\r
1881 this.list項目リスト[this.n現在の選択項目].t項目値を次へ移動();
\r
1886 this.n目標のスクロールカウンタ -= 100;
\r
1889 private void t要素値を上下に変更中の処理()
\r
1891 if (this.list項目リスト[this.n現在の選択項目] == this.iSystemMasterVolume) // #33700 2014.4.26 yyagi
\r
1893 CDTXMania.Instance.Sound管理.nMasterVolume = this.iSystemMasterVolume.n現在の値;
\r
1900 public override void On活性化()
\r
1905 this.list項目リスト = new List<CItemBase>();
\r
1906 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1908 #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ]
\r
1909 int ns = (CDTXMania.Instance.Skin.strSystemSkinSubfolders == null) ? 0 : CDTXMania.Instance.Skin.strSystemSkinSubfolders.Length;
\r
1910 int nb = (CDTXMania.Instance.Skin.strBoxDefSkinSubfolders == null) ? 0 : CDTXMania.Instance.Skin.strBoxDefSkinSubfolders.Length;
\r
1911 skinSubFolders = new string[ns + nb];
\r
1912 for (int i = 0; i < ns; i++)
\r
1914 skinSubFolders[i] = CDTXMania.Instance.Skin.strSystemSkinSubfolders[i];
\r
1916 for (int i = 0; i < nb; i++)
\r
1918 skinSubFolders[ns + i] = CDTXMania.Instance.Skin.strBoxDefSkinSubfolders[i];
\r
1920 skinSubFolder_org = CDTXMania.Instance.Skin.GetCurrentSkinSubfolderFullName(true);
\r
1921 Array.Sort(skinSubFolders);
\r
1922 skinNames = CSkin.GetSkinName(skinSubFolders);
\r
1923 nSkinIndex = Array.BinarySearch(skinSubFolders, skinSubFolder_org);
\r
1924 if (nSkinIndex < 0) // 念のため
\r
1928 nSkinSampleIndex = -1;
\r
1931 this.prvFont = new CPrivateFastFont(CSkin.Path(@"Graphics\fonts\mplus-1p-heavy.ttf"), (int)(18 * Scale.Y)); // t項目リストの設定 の前に必要
\r
1932 // this.listMenu = new List<stMenuItemRight>();
\r
1935 this.t項目リストの設定_Bass(); // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、
\r
1936 this.t項目リストの設定_Guitar(); // 活性化の時点でDrumsの設定も入れ込んでおかないと、System設定中に例外発生することがある。
\r
1937 this.t項目リストの設定_Drums(); //
\r
1938 this.t項目リストの設定_System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。
\r
1939 this.b要素値にフォーカス中 = false;
\r
1940 this.n目標のスクロールカウンタ = 0;
\r
1941 this.n現在のスクロールカウンタ = 0;
\r
1942 this.nスクロール用タイマ値 = -1;
\r
1943 this.ct三角矢印アニメ = new CCounter();
\r
1945 this.iSystemSoundType_initial = this.iSystemSoundType.n現在選択されている項目番号; // CONFIGに入ったときの値を保持しておく
\r
1946 this.iSystemWASAPIBufferSizeMs_initial = this.iSystemWASAPIBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら
\r
1947 // this.iSystemASIOBufferSizeMs_initial = this.iSystemASIOBufferSizeMs.n現在の値; // サウンドデバイスを再構築する
\r
1948 this.iSystemASIODevice_initial = this.iSystemASIODevice.n現在選択されている項目番号; //
\r
1949 this.iSystemSoundTimerType_initial = this.iSystemSoundTimerType.GetIndex(); //
\r
1952 public override void On非活性化()
\r
1954 if (this.b活性化してない)
\r
1957 this.tConfigIniへ記録する();
\r
1958 this.list項目リスト.Clear();
\r
1959 this.ct三角矢印アニメ = null;
\r
1962 prvFont.Dispose();
\r
1965 #region [ Skin変更 ]
\r
1966 if (CDTXMania.Instance.Skin.GetCurrentSkinSubfolderFullName(true) != this.skinSubFolder_org)
\r
1968 CDTXMania.Instance.stageChangeSkin.tChangeSkinMain(); // #28195 2012.6.11 yyagi CONFIG脱出時にSkin更新
\r
1972 // #24820 2013.1.22 yyagi CONFIGでWASAPI/ASIO/DirectSound関連の設定を変更した場合、サウンドデバイスを再構築する。
\r
1973 // #33689 2014.6.17 yyagi CONFIGでSoundTimerTypeの設定を変更した場合も、サウンドデバイスを再構築する。
\r
1974 #region [ サウンドデバイス変更 ]
\r
1975 if (this.iSystemSoundType_initial != this.iSystemSoundType.n現在選択されている項目番号 ||
\r
1976 this.iSystemWASAPIBufferSizeMs_initial != this.iSystemWASAPIBufferSizeMs.n現在の値 ||
\r
1977 // this.iSystemASIOBufferSizeMs_initial != this.iSystemASIOBufferSizeMs.n現在の値 ||
\r
1978 this.iSystemASIODevice_initial != this.iSystemASIODevice.n現在選択されている項目番号 ||
\r
1979 this.iSystemSoundTimerType_initial != this.iSystemSoundTimerType.GetIndex())
\r
1981 ESoundDeviceType soundDeviceType;
\r
1982 switch (this.iSystemSoundType.n現在選択されている項目番号)
\r
1985 soundDeviceType = ESoundDeviceType.DirectSound;
\r
1988 soundDeviceType = ESoundDeviceType.ASIO;
\r
1991 soundDeviceType = ESoundDeviceType.ExclusiveWASAPI;
\r
1994 soundDeviceType = ESoundDeviceType.Unknown;
\r
1998 CDTXMania.Instance.Sound管理.t初期化(soundDeviceType,
\r
1999 this.iSystemWASAPIBufferSizeMs.n現在の値,
\r
2001 // this.iSystemASIOBufferSizeMs.n現在の値,
\r
2002 this.iSystemASIODevice.n現在選択されている項目番号,
\r
2003 this.iSystemSoundTimerType.bON);
\r
2004 CDTXMania.Instance.ShowWindowTitleWithSoundType();
\r
2007 #region [ サウンドのタイムストレッチモード変更 ]
\r
2008 FDK.CSound管理.bIsTimeStretch = this.iSystemTimeStretch.bON;
\r
2011 public override void OnManagedリソースの作成()
\r
2013 if (this.b活性化してない)
\r
2016 this.tx通常項目行パネル = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenConfig itembox.png"), false);
\r
2017 this.txその他項目行パネル = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenConfig itembox other.png"), false);
\r
2018 this.tx三角矢印 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig triangle arrow.png"), false);
\r
2019 this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない
\r
2020 base.OnManagedリソースの作成();
\r
2022 public override void OnManagedリソースの解放()
\r
2024 if (this.b活性化してない)
\r
2027 TextureFactory.tテクスチャの解放(ref this.txSkinSample1);
\r
2028 TextureFactory.tテクスチャの解放(ref this.tx通常項目行パネル);
\r
2029 TextureFactory.tテクスチャの解放(ref this.txその他項目行パネル);
\r
2030 TextureFactory.tテクスチャの解放(ref this.tx三角矢印);
\r
2032 base.OnManagedリソースの解放();
\r
2035 private void OnListMenuの初期化()
\r
2038 this.listMenu = new stMenuItemRight[this.list項目リスト.Count];
\r
2042 /// 事前にレンダリングしておいたテクスチャを解放する。
\r
2044 private void OnListMenuの解放()
\r
2046 if (listMenu != null)
\r
2048 for (int i = 0; i < listMenu.Length; i++)
\r
2050 if (listMenu[i].txParam != null)
\r
2052 listMenu[i].txParam.Dispose();
\r
2054 if (listMenu[i].txMenuItemRight != null)
\r
2056 listMenu[i].txMenuItemRight.Dispose();
\r
2059 this.listMenu = null;
\r
2062 public override int On進行描画()
\r
2064 throw new InvalidOperationException("t進行描画(bool)のほうを使用してください。");
\r
2066 public int t進行描画(bool b項目リスト側にフォーカスがある)
\r
2068 if (this.b活性化してない)
\r
2073 #region [ 初めての進行描画 ]
\r
2074 //-----------------
\r
2075 if (base.b初めての進行描画)
\r
2077 this.nスクロール用タイマ値 = CSound管理.rc演奏用タイマ.n現在時刻;
\r
2078 this.ct三角矢印アニメ.t開始(0, 9, 50, CDTXMania.Instance.Timer);
\r
2080 base.b初めての進行描画 = false;
\r
2082 //-----------------
\r
2085 this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶
\r
2087 #region [ 項目スクロールの進行 ]
\r
2088 //-----------------
\r
2089 long n現在時刻 = CDTXMania.Instance.Timer.n現在時刻;
\r
2090 if (n現在時刻 < this.nスクロール用タイマ値) this.nスクロール用タイマ値 = n現在時刻;
\r
2092 const int INTERVAL = 2; // [ms]
\r
2093 while ((n現在時刻 - this.nスクロール用タイマ値) >= INTERVAL)
\r
2095 int n目標項目までのスクロール量 = Math.Abs((int)(this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ));
\r
2098 #region [ n加速度の決定;目標まで遠いほど加速する。]
\r
2099 //-----------------
\r
2100 if (n目標項目までのスクロール量 <= 100)
\r
2104 else if (n目標項目までのスクロール量 <= 300)
\r
2108 else if (n目標項目までのスクロール量 <= 500)
\r
2116 //-----------------
\r
2118 #region [ this.n現在のスクロールカウンタに n加速度 を加減算。]
\r
2119 //-----------------
\r
2120 if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ)
\r
2122 this.n現在のスクロールカウンタ += n加速度;
\r
2123 if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ)
\r
2126 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2129 else if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ)
\r
2131 this.n現在のスクロールカウンタ -= n加速度;
\r
2132 if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ)
\r
2135 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2138 //-----------------
\r
2140 #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。]
\r
2141 //-----------------
\r
2142 if (this.n現在のスクロールカウンタ >= 100)
\r
2144 this.n現在の選択項目 = this.t次の項目(this.n現在の選択項目);
\r
2145 this.n現在のスクロールカウンタ -= 100;
\r
2146 this.n目標のスクロールカウンタ -= 100;
\r
2147 if (this.n目標のスクロールカウンタ == 0)
\r
2149 CDTXMania.Instance.stageコンフィグ.t項目変更通知();
\r
2152 else if (this.n現在のスクロールカウンタ <= -100)
\r
2154 this.n現在の選択項目 = this.t前の項目(this.n現在の選択項目);
\r
2155 this.n現在のスクロールカウンタ += 100;
\r
2156 this.n目標のスクロールカウンタ += 100;
\r
2157 if (this.n目標のスクロールカウンタ == 0)
\r
2159 CDTXMania.Instance.stageコンフィグ.t項目変更通知();
\r
2162 //-----------------
\r
2165 this.nスクロール用タイマ値 += INTERVAL;
\r
2167 //-----------------
\r
2170 #region [ ▲印アニメの進行 ]
\r
2171 //-----------------
\r
2172 if (this.b項目リスト側にフォーカスがある && (this.n目標のスクロールカウンタ == 0))
\r
2173 this.ct三角矢印アニメ.t進行Loop();
\r
2174 //-----------------
\r
2180 this.ptパネルの基本座標[4].X = this.b項目リスト側にフォーカスがある ? 276 : 301; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。
\r
2182 #region [ 計11個の項目パネルを描画する。]
\r
2183 //-----------------
\r
2184 int nItem = this.n現在の選択項目;
\r
2185 for (int i = 0; i < 4; i++)
\r
2186 nItem = this.t前の項目(nItem);
\r
2188 for (int n行番号 = -4; n行番号 < 6; n行番号++) // n行番号 == 0 がフォーカスされている項目パネル。
\r
2190 #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。]
\r
2191 //-----------------
\r
2192 if (((n行番号 == -4) && (this.n現在のスクロールカウンタ > 0)) || // 上に飛び出そうとしている
\r
2193 ((n行番号 == +5) && (this.n現在のスクロールカウンタ < 0))) // 下に飛び出そうとしている
\r
2195 nItem = this.t次の項目(nItem);
\r
2198 //-----------------
\r
2201 int n移動元の行の基本位置 = n行番号 + 4;
\r
2202 int n移動先の行の基本位置 = (this.n現在のスクロールカウンタ <= 0) ? ((n移動元の行の基本位置 + 1) % 10) : (((n移動元の行の基本位置 - 1) + 10) % 10);
\r
2203 int x = this.ptパネルの基本座標[n移動元の行の基本位置].X + ((int)((this.ptパネルの基本座標[n移動先の行の基本位置].X - this.ptパネルの基本座標[n移動元の行の基本位置].X) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0)));
\r
2204 int y = this.ptパネルの基本座標[n移動元の行の基本位置].Y + ((int)((this.ptパネルの基本座標[n移動先の行の基本位置].Y - this.ptパネルの基本座標[n移動元の行の基本位置].Y) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0)));
\r
2206 #region [ 現在の行の項目パネル枠を描画。]
\r
2207 //-----------------
\r
2208 switch (this.list項目リスト[nItem].eパネル種別)
\r
2210 case CItemBase.Eパネル種別.通常:
\r
2211 if (this.tx通常項目行パネル != null)
\r
2212 this.tx通常項目行パネル.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y);
\r
2215 case CItemBase.Eパネル種別.その他:
\r
2216 if (this.txその他項目行パネル != null)
\r
2217 this.txその他項目行パネル.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y);
\r
2220 //-----------------
\r
2222 #region [ 現在の行の項目名を描画。]
\r
2223 //-----------------
\r
2224 if (listMenu[nItem].txMenuItemRight != null) // 自前のキャッシュに含まれているようなら、再レンダリングせずキャッシュを使用
\r
2226 listMenu[nItem].txMenuItemRight.t2D描画(CDTXMania.Instance.Device, (x + 0x12) * Scale.X, (y + 12) * Scale.Y - 20);
\r
2230 Bitmap bmpItem = prvFont.DrawPrivateFont(this.list項目リスト[nItem].str項目名, Color.White, Color.Black);
\r
2231 listMenu[nItem].txMenuItemRight = TextureFactory.tテクスチャの生成(bmpItem);
\r
2232 // ctItem.t2D描画( CDTXMania.Instance.app.Device, ( x + 0x12 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 );
\r
2233 // TextureFactory.tテクスチャの解放( ref ctItem );
\r
2234 TextureFactory.t安全にDisposeする(ref bmpItem);
\r
2236 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 );
\r
2237 //-----------------
\r
2239 #region [ 現在の行の項目の要素を描画。]
\r
2240 //-----------------
\r
2241 string strParam = null;
\r
2243 switch (this.list項目リスト[nItem].e種別)
\r
2245 case CItemBase.E種別.ONorOFFトグル:
\r
2247 //-----------------
\r
2248 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" );
\r
2249 strParam = ((CItemToggle)this.list項目リスト[nItem]).bON ? "ON" : "OFF";
\r
2251 //-----------------
\r
2254 case CItemBase.E種別.ONorOFFor不定スリーステート:
\r
2256 //-----------------
\r
2257 switch (((CItemThreeState)this.list項目リスト[nItem]).e現在の状態)
\r
2259 case CItemThreeState.E状態.ON:
\r
2263 case CItemThreeState.E状態.不定:
\r
2271 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" );
\r
2273 //-----------------
\r
2276 case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION)
\r
2278 //-----------------
\r
2279 if (this.list項目リスト[nItem] == this.iCommonPlaySpeed)
\r
2281 double d = ((double)((CItemInteger)this.list項目リスト[nItem]).n現在の値) / 20.0;
\r
2282 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2283 strParam = d.ToString("0.000");
\r
2285 else if (this.list項目リスト[nItem] == this.iDrumsScrollSpeed || this.list項目リスト[nItem] == this.iGuitarScrollSpeed || this.list項目リスト[nItem] == this.iBassScrollSpeed)
\r
2287 float f = (((CItemInteger)this.list項目リスト[nItem]).n現在の値 + 1) * 0.5f;
\r
2288 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2289 strParam = f.ToString("x0.0");
\r
2293 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2294 strParam = ((CItemInteger)this.list項目リスト[nItem]).n現在の値.ToString();
\r
2296 b強調 = (n行番号 == 0) && this.b要素値にフォーカス中;
\r
2298 //-----------------
\r
2301 case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports
\r
2303 //-----------------
\r
2305 CItemList list = (CItemList)this.list項目リスト[nItem];
\r
2306 //CDTXMania.Instance.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] );
\r
2307 strParam = list.list項目値[list.n現在選択されている項目番号];
\r
2309 #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ]
\r
2310 if (this.list項目リスト[this.n現在の選択項目] == this.iSystemSkinSubfolder)
\r
2312 tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。
\r
2313 if (txSkinSample1 != null)
\r
2315 txSkinSample1.t2D描画(CDTXMania.Instance.Device, 56 * Scale.X, 300 * Scale.Y);
\r
2321 //-----------------
\r
2326 Bitmap bmpStr = b強調 ?
\r
2327 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
2328 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black);
\r
2329 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
2330 txStr.t2D描画(CDTXMania.Instance.Device, (x + 210) * Scale.X, (y + 12) * Scale.Y - 20);
\r
2331 TextureFactory.tテクスチャの解放(ref txStr);
\r
2332 TextureFactory.t安全にDisposeする(ref bmpStr);
\r
2336 int nIndex = this.list項目リスト[nItem].GetIndex();
\r
2337 if (listMenu[nItem].nParam != nIndex || listMenu[nItem].txParam == null)
\r
2339 stMenuItemRight stm = listMenu[nItem];
\r
2340 stm.nParam = nIndex;
\r
2341 object o = this.list項目リスト[nItem].obj現在値();
\r
2342 stm.strParam = (o == null) ? "" : o.ToString();
\r
2345 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black);
\r
2346 stm.txParam = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
2347 TextureFactory.t安全にDisposeする(ref bmpStr);
\r
2349 listMenu[nItem] = stm;
\r
2351 listMenu[nItem].txParam.t2D描画(CDTXMania.Instance.Device, (x + 210) * Scale.X, (y + 12) * Scale.Y - 20);
\r
2353 //-----------------
\r
2356 nItem = this.t次の項目(nItem);
\r
2358 //-----------------
\r
2361 #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。]
\r
2362 //-----------------
\r
2363 if (this.b項目リスト側にフォーカスがある && (this.n目標のスクロールカウンタ == 0))
\r
2371 if (this.b要素値にフォーカス中)
\r
2373 x = 528; // 要素値の上下あたり。
\r
2374 y_upper = 198 - this.ct三角矢印アニメ.n現在の値;
\r
2375 y_lower = 242 + this.ct三角矢印アニメ.n現在の値;
\r
2379 x = 276; // 項目名の上下あたり。
\r
2380 y_upper = 186 - this.ct三角矢印アニメ.n現在の値;
\r
2381 y_lower = 254 + this.ct三角矢印アニメ.n現在の値;
\r
2386 if (this.tx三角矢印 != null)
\r
2388 this.tx三角矢印.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y_upper * Scale.Y, new Rectangle(0, 0, (int)(32 * Scale.X), (int)(16 * Scale.Y)));
\r
2389 this.tx三角矢印.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y_lower * Scale.Y, new Rectangle(0, (int)(16 * Scale.Y), (int)(32 * Scale.X), (int)(16 * Scale.Y)));
\r
2392 //-----------------
\r
2400 #region [ private ]
\r
2401 //-----------------
\r
2402 private enum Eメニュー種別
\r
2408 KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン
\r
2416 private bool b項目リスト側にフォーカスがある;
\r
2417 private bool b要素値にフォーカス中;
\r
2418 private CCounter ct三角矢印アニメ;
\r
2419 private Eメニュー種別 eメニュー種別;
\r
2420 #region [ キーコンフィグ ]
\r
2421 private CItemBase iKeyAssignSystemCapture; // #24609
\r
2422 private CItemBase iKeyAssignSystemReturnToMenu; // #24609
\r
2423 private CItemBase iKeyAssignBassB;
\r
2424 private CItemBase iKeyAssignBassCancel;
\r
2425 private CItemBase iKeyAssignBassDecide;
\r
2426 private CItemBase iKeyAssignBassG;
\r
2427 private CItemBase iKeyAssignBassPick;
\r
2428 private CItemBase iKeyAssignBassR;
\r
2429 private CItemBase iKeyAssignBassReturnToMenu;
\r
2430 private CItemBase iKeyAssignBassWail;
\r
2431 private CItemBase iKeyAssignDrumsBD;
\r
2432 private CItemBase iKeyAssignDrumsCY;
\r
2433 private CItemBase iKeyAssignDrumsFT;
\r
2434 private CItemBase iKeyAssignDrumsHHC;
\r
2435 private CItemBase iKeyAssignDrumsHHO;
\r
2436 private CItemBase iKeyAssignDrumsHT;
\r
2437 private CItemBase iKeyAssignDrumsLC;
\r
2438 private CItemBase iKeyAssignDrumsLT;
\r
2439 private CItemBase iKeyAssignDrumsRD;
\r
2440 private CItemBase iKeyAssignDrumsReturnToMenu;
\r
2441 private CItemBase iKeyAssignDrumsSD;
\r
2442 private CItemBase iKeyAssignDrumsHP; // #27029 2012.1.4 from
\r
2443 private CItemBase iKeyAssignGuitarB;
\r
2444 private CItemBase iKeyAssignGuitarCancel;
\r
2445 private CItemBase iKeyAssignGuitarDecide;
\r
2446 private CItemBase iKeyAssignGuitarG;
\r
2447 private CItemBase iKeyAssignGuitarPick;
\r
2448 private CItemBase iKeyAssignGuitarR;
\r
2449 private CItemBase iKeyAssignGuitarReturnToMenu;
\r
2450 private CItemBase iKeyAssignGuitarWail;
\r
2452 private CItemToggle iLogOutputLog;
\r
2453 private CItemToggle iSystemAdjustWaves;
\r
2454 private CItemToggle iSystemAudienceSound;
\r
2455 private CItemInteger iSystemAutoChipVolume;
\r
2456 private CItemToggle iSystemAVI;
\r
2457 private CItemToggle iSystemForceAVIFullscreen;
\r
2458 private CItemToggle iSystemBGA;
\r
2459 // private CItemToggle iSystemGraph; #24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2460 private CItemInteger iSystemBGAlpha;
\r
2461 private CItemToggle iSystemBGMSound;
\r
2462 private CItemInteger iSystemChipVolume;
\r
2463 private CItemList iSystemCYGroup;
\r
2464 private CItemToggle iSystemCymbalFree;
\r
2465 private CItemList iSystemDamageLevel;
\r
2466 private CItemToggle iSystemDebugInfo;
\r
2467 // private CItemToggle iSystemDrums;
\r
2468 private CItemToggle iSystemFillIn;
\r
2469 private CItemList iSystemFTGroup;
\r
2470 private CItemToggle iSystemFullscreen;
\r
2471 // private CItemToggle iSystemGuitar;
\r
2472 private CItemList iSystemHHGroup;
\r
2473 private CItemList iSystemBDGroup; // #27029 2012.1.4 from
\r
2474 private CItemToggle iSystemHitSound;
\r
2475 private CItemList iSystemHitSoundPriorityCY;
\r
2476 private CItemList iSystemHitSoundPriorityFT;
\r
2477 private CItemList iSystemHitSoundPriorityHH;
\r
2478 private CItemInteger iSystemMinComboBass;
\r
2479 private CItemInteger iSystemMinComboDrums;
\r
2480 private CItemInteger iSystemMinComboGuitar;
\r
2481 private CItemInteger iSystemPreviewImageWait;
\r
2482 private CItemInteger iSystemPreviewSoundWait;
\r
2483 private CItemToggle iSystemRandomFromSubBox;
\r
2484 private CItemBase iSystemReturnToMenu;
\r
2485 private CItemToggle iSystemSaveScore;
\r
2486 private CItemToggle iSystemSoundMonitorBass;
\r
2487 private CItemToggle iSystemSoundMonitorDrums;
\r
2488 private CItemToggle iSystemSoundMonitorGuitar;
\r
2489 private CItemToggle iSystemStageFailed;
\r
2490 private CItemToggle iSystemStoicMode;
\r
2491 private CItemToggle iSystemVSyncWait;
\r
2492 private CItemList iSystemShowLag; // #25370 2011.6.3 yyagi
\r
2493 private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi
\r
2494 private CItemToggle iSystemBufferedInput;
\r
2495 private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi
\r
2496 private CItemList iSystemSoundType; // #24820 2013.1.3 yyagi
\r
2497 private CItemInteger iSystemWASAPIBufferSizeMs; // #24820 2013.1.15 yyagi
\r
2498 // private CItemInteger iSystemASIOBufferSizeMs; // #24820 2013.1.3 yyagi
\r
2499 private CItemList iSystemASIODevice; // #24820 2013.1.17 yyagi
\r
2501 private int iSystemSoundType_initial;
\r
2502 private int iSystemWASAPIBufferSizeMs_initial;
\r
2503 // private int iSystemASIOBufferSizeMs_initial;
\r
2504 private int iSystemASIODevice_initial;
\r
2505 private CItemToggle iSystemSoundTimerType; // #33689 2014.6.17 yyagi
\r
2506 private int iSystemSoundTimerType_initial; // #33689 2014.6.17 yyagi
\r
2508 private CItemToggle iSystemTimeStretch; // #23664 2013.2.24 yyagi
\r
2509 private CItemList iSystemJudgePosGuitar; // #33891 2014.6.26 yyagi
\r
2510 private CItemList iSystemJudgePosBass; // #33891 2014.6.26 yyagi
\r
2512 //private CItemList iDrumsJudgeDispPriority; //
\r
2513 //private CItemList iGuitarJudgeDispPriority; //
\r
2514 //private CItemList iBassJudgeDispPriority; //
\r
2515 private CItemList iSystemJudgeDispPriority;
\r
2517 private List<CItemBase> list項目リスト;
\r
2518 private long nスクロール用タイマ値;
\r
2519 private int n現在のスクロールカウンタ;
\r
2520 private int n目標のスクロールカウンタ;
\r
2521 private Point[] ptパネルの基本座標 = new Point[] { new Point(0x12d, 3), new Point(0x12d, 0x35), new Point(0x12d, 0x67), new Point(0x12d, 0x99), new Point(0x114, 0xcb), new Point(0x12d, 0xfd), new Point(0x12d, 0x12f), new Point(0x12d, 0x161), new Point(0x12d, 0x193), new Point(0x12d, 0x1c5) };
\r
2522 private CTextureAf txその他項目行パネル;
\r
2523 private CTexture tx三角矢印;
\r
2524 private CTextureAf tx通常項目行パネル;
\r
2526 private CPrivateFastFont prvFont;
\r
2527 //private List<string> list項目リスト_str最終描画名;
\r
2528 private struct stMenuItemRight
\r
2530 // public string strMenuItem;
\r
2531 public CTexture txMenuItemRight;
\r
2532 public int nParam;
\r
2533 public string strParam;
\r
2534 public CTexture txParam;
\r
2536 private stMenuItemRight[] listMenu;
\r
2538 private CTexture txSkinSample1; // #28195 2012.5.2 yyagi
\r
2539 private string[] skinSubFolders; //
\r
2540 private string[] skinNames; //
\r
2541 private string skinSubFolder_org; //
\r
2542 private int nSkinSampleIndex; //
\r
2543 private int nSkinIndex; //
\r
2545 private CItemBase iDrumsGoToKeyAssign;
\r
2546 private CItemBase iGuitarGoToKeyAssign;
\r
2547 private CItemBase iBassGoToKeyAssign;
\r
2548 private CItemBase iSystemGoToKeyAssign; // #24609
\r
2550 private CItemList iSystemGRmode;
\r
2552 //private CItemToggle iBassAutoPlay;
\r
2553 private CItemThreeState iBassAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2554 private CItemToggle iBassR; //
\r
2555 private CItemToggle iBassG; //
\r
2556 private CItemToggle iBassB; //
\r
2557 private CItemToggle iBassPick; //
\r
2558 private CItemToggle iBassW; //
\r
2560 //private CItemToggle iBassHidden;
\r
2561 private CItemToggle iBassLeft;
\r
2562 private CItemToggle iBassLight;
\r
2563 private CItemList iBassPosition;
\r
2564 private CItemList iBassRandom;
\r
2565 private CItemBase iBassReturnToMenu;
\r
2566 private CItemToggle iBassReverse;
\r
2567 private CItemInteger iBassScrollSpeed;
\r
2568 //private CItemToggle iBassSudden;
\r
2569 private CItemList iCommonDark;
\r
2570 private CItemInteger iCommonPlaySpeed;
\r
2571 // private CItemBase iCommonReturnToMenu;
\r
2573 private CItemThreeState iDrumsAutoPlayAll;
\r
2574 private CItemToggle iDrumsBass;
\r
2575 private CItemList iDrumsComboPosition;
\r
2576 private CItemToggle iDrumsCymbalRide;
\r
2577 private CItemToggle iDrumsFloorTom;
\r
2578 //private CItemToggle iDrumsHidden;
\r
2579 private CItemToggle iDrumsHighTom;
\r
2580 private CItemToggle iDrumsHiHat;
\r
2581 private CItemToggle iDrumsLeftCymbal;
\r
2582 private CItemToggle iDrumsLowTom;
\r
2583 private CItemList iDrumsPosition;
\r
2584 private CItemBase iDrumsReturnToMenu;
\r
2585 private CItemToggle iDrumsReverse;
\r
2586 private CItemInteger iDrumsScrollSpeed;
\r
2587 private CItemToggle iDrumsSnare;
\r
2588 //private CItemToggle iDrumsSudden;
\r
2589 private CItemToggle iDrumsTight;
\r
2590 private CItemToggle iDrumsGraph; // #24074 2011.01.23 add ikanick
\r
2591 private CItemList iDrumsLanePosition;
\r
2593 //private CItemToggle iGuitarAutoPlay;
\r
2594 private CItemThreeState iGuitarAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2595 private CItemToggle iGuitarR; //
\r
2596 private CItemToggle iGuitarG; //
\r
2597 private CItemToggle iGuitarB; //
\r
2598 private CItemToggle iGuitarPick; //
\r
2599 private CItemToggle iGuitarW; //
\r
2601 //private CItemToggle iGuitarHidden;
\r
2602 private CItemToggle iGuitarLeft;
\r
2603 private CItemToggle iGuitarLight;
\r
2604 private CItemList iGuitarPosition;
\r
2605 private CItemList iGuitarRandom;
\r
2606 private CItemBase iGuitarReturnToMenu;
\r
2607 private CItemToggle iGuitarReverse;
\r
2608 private CItemInteger iGuitarScrollSpeed;
\r
2609 //private CItemToggle iGuitarSudden;
\r
2610 private CItemInteger iDrumsInputAdjustTimeMs; // #23580 2011.1.3 yyagi
\r
2611 private CItemInteger iGuitarInputAdjustTimeMs; //
\r
2612 private CItemInteger iBassInputAdjustTimeMs; //
\r
2613 private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi
\r
2614 private CItemToggle iSystemUseBoxDefSkin; // #28195 2012.5.6 yyagi
\r
2615 private CItemList iDrumsSudHid; // #32072 2013.9.20 yyagi
\r
2616 private CItemList iGuitarSudHid; // #32072 2013.9.20 yyagi
\r
2617 private CItemList iBassSudHid; // #32072 2013.9.20 yyagi
\r
2618 private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi
\r
2619 private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi
\r
2620 private CItemToggle iSystemLoadsoundspeed; // #36046 2016.2.21 ikanick
\r
2622 private int t前の項目(int nItem)
\r
2626 nItem = this.list項目リスト.Count - 1;
\r
2630 private int t次の項目(int nItem)
\r
2632 if (++nItem >= this.list項目リスト.Count)
\r
2638 private void t全部のドラムパッドのAutoを切り替える(bool bAutoON)
\r
2640 this.iDrumsLeftCymbal.bON = this.iDrumsHiHat.bON = this.iDrumsSnare.bON = this.iDrumsBass.bON = this.iDrumsHighTom.bON = this.iDrumsLowTom.bON = this.iDrumsFloorTom.bON = this.iDrumsCymbalRide.bON = bAutoON;
\r
2642 private void t全部のギターパッドのAutoを切り替える(bool bAutoON)
\r
2644 this.iGuitarR.bON = this.iGuitarG.bON = this.iGuitarB.bON = this.iGuitarPick.bON = this.iGuitarW.bON = bAutoON;
\r
2646 private void t全部のベースパッドのAutoを切り替える(bool bAutoON)
\r
2648 this.iBassR.bON = this.iBassG.bON = this.iBassB.bON = this.iBassPick.bON = this.iBassW.bON = bAutoON;
\r
2650 private void tConfigIniへ記録する()
\r
2652 switch (this.eメニュー種別)
\r
2654 case Eメニュー種別.System:
\r
2655 this.tConfigIniへ記録する_System();
\r
2656 this.tConfigIniへ記録する_KeyAssignSystem();
\r
2659 case Eメニュー種別.Drums:
\r
2660 this.tConfigIniへ記録する_Drums();
\r
2661 this.tConfigIniへ記録する_KeyAssignDrums();
\r
2664 case Eメニュー種別.Guitar:
\r
2665 this.tConfigIniへ記録する_Guitar();
\r
2666 this.tConfigIniへ記録する_KeyAssignGuitar();
\r
2669 case Eメニュー種別.Bass:
\r
2670 this.tConfigIniへ記録する_Bass();
\r
2671 this.tConfigIniへ記録する_KeyAssignBass();
\r
2675 private void tConfigIniへ記録する_KeyAssignBass()
\r
2678 private void tConfigIniへ記録する_KeyAssignDrums()
\r
2681 private void tConfigIniへ記録する_KeyAssignGuitar()
\r
2684 private void tConfigIniへ記録する_KeyAssignSystem()
\r
2687 private void tConfigIniへ記録する_System()
\r
2689 CDTXMania.Instance.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号;
\r
2690 CDTXMania.Instance.ConfigIni.n演奏速度 = this.iCommonPlaySpeed.n現在の値;
\r
2692 CDTXMania.Instance.ConfigIni.bGuitar有効 = (((this.iSystemGRmode.n現在選択されている項目番号 + 1) / 2) == 1);
\r
2693 //this.iSystemGuitar.bON;
\r
2694 CDTXMania.Instance.ConfigIni.bDrums有効 = (((this.iSystemGRmode.n現在選択されている項目番号 + 1) % 2) == 1);
\r
2695 //this.iSystemDrums.bON;
\r
2697 CDTXMania.Instance.ConfigIni.b全画面モード = this.iSystemFullscreen.bON;
\r
2698 CDTXMania.Instance.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON;
\r
2699 CDTXMania.Instance.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON;
\r
2701 CDTXMania.Instance.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON;
\r
2702 CDTXMania.Instance.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
2703 CDTXMania.Instance.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON;
\r
2704 CDTXMania.Instance.ConfigIni.bAVI有効 = this.iSystemAVI.bON;
\r
2705 CDTXMania.Instance.ConfigIni.bForceAVIFullscreen = this.iSystemForceAVIFullscreen.bON;
\r
2706 CDTXMania.Instance.ConfigIni.bBGA有効 = this.iSystemBGA.bON;
\r
2707 // CDTXMania.Instance.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2708 CDTXMania.Instance.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値;
\r
2709 CDTXMania.Instance.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値;
\r
2710 CDTXMania.Instance.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON;
\r
2711 CDTXMania.Instance.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値;
\r
2712 CDTXMania.Instance.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON;
\r
2713 CDTXMania.Instance.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON;
\r
2714 CDTXMania.Instance.ConfigIni.eダメージレベル = (Eダメージレベル)this.iSystemDamageLevel.n現在選択されている項目番号;
\r
2715 CDTXMania.Instance.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON;
\r
2717 CDTXMania.Instance.ConfigIni.bログ出力 = this.iLogOutputLog.bON;
\r
2718 CDTXMania.Instance.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値;
\r
2719 CDTXMania.Instance.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値;
\r
2720 CDTXMania.Instance.ConfigIni.bストイックモード = this.iSystemStoicMode.bON;
\r
2722 CDTXMania.Instance.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi
\r
2723 CDTXMania.Instance.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi
\r
2725 CDTXMania.Instance.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi
\r
2727 CDTXMania.Instance.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[nSkinIndex]; // #28195 2012.5.2 yyagi
\r
2728 CDTXMania.Instance.Skin.SetCurrentSkinSubfolderFullName(CDTXMania.Instance.ConfigIni.strSystemSkinSubfolderFullName, true);
\r
2729 CDTXMania.Instance.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi
\r
2731 CDTXMania.Instance.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi
\r
2732 CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi
\r
2733 // CDTXMania.Instance.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi
\r
2734 CDTXMania.Instance.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi
\r
2735 CDTXMania.Instance.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi
\r
2737 CDTXMania.Instance.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi
\r
2738 //Trace.TraceInformation( "saved" );
\r
2739 //Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Instance.Skin.GetCurrentSkinSubfolderFullName(true) );
\r
2740 //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName );
\r
2741 //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName );
\r
2742 CDTXMania.Instance.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi
\r
2743 CDTXMania.Instance.ConfigIni.e判定表示優先度 = (E判定表示優先度)this.iSystemJudgeDispPriority.n現在選択されている項目番号;
\r
2745 CDTXMania.Instance.ConfigIni.b曲読み込みを高速化する = this.iSystemLoadsoundspeed.bON;// #36046 2016.2.21 ikanick
\r
2747 private void tConfigIniへ記録する_Bass()
\r
2749 //CDTXMania.Instance.ConfigIni.bAutoPlay.Bass = this.iBassAutoPlay.bON;
\r
2750 CDTXMania.Instance.ConfigIni.bAutoPlay.BsR = this.iBassR.bON;
\r
2751 CDTXMania.Instance.ConfigIni.bAutoPlay.BsG = this.iBassG.bON;
\r
2752 CDTXMania.Instance.ConfigIni.bAutoPlay.BsB = this.iBassB.bON;
\r
2753 CDTXMania.Instance.ConfigIni.bAutoPlay.BsPick = this.iBassPick.bON;
\r
2754 CDTXMania.Instance.ConfigIni.bAutoPlay.BsW = this.iBassW.bON;
\r
2755 CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Bass = this.iBassScrollSpeed.n現在の値;
\r
2756 // "Sudden" || "Sud+Hid"
\r
2757 CDTXMania.Instance.ConfigIni.bSudden.Bass = (this.iBassSudHid.n現在選択されている項目番号 == 1 || this.iBassSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2758 // "Hidden" || "Sud+Hid"
\r
2759 CDTXMania.Instance.ConfigIni.bHidden.Bass = (this.iBassSudHid.n現在選択されている項目番号 == 2 || this.iBassSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2760 if (this.iBassSudHid.n現在選択されている項目番号 == 4) CDTXMania.Instance.ConfigIni.eInvisible.Bass = EInvisible.SEMI; // "S-Invisible"
\r
2761 else if (this.iBassSudHid.n現在選択されている項目番号 == 5) CDTXMania.Instance.ConfigIni.eInvisible.Bass = EInvisible.FULL; // "F-Invisible"
\r
2762 else CDTXMania.Instance.ConfigIni.eInvisible.Bass = EInvisible.OFF;
\r
2763 CDTXMania.Instance.ConfigIni.bReverse.Bass = this.iBassReverse.bON;
\r
2764 CDTXMania.Instance.ConfigIni.判定文字表示位置.Bass = (E判定文字表示位置)this.iBassPosition.n現在選択されている項目番号;
\r
2765 CDTXMania.Instance.ConfigIni.eRandom.Bass = (Eランダムモード)this.iBassRandom.n現在選択されている項目番号;
\r
2766 CDTXMania.Instance.ConfigIni.bLight.Bass = this.iBassLight.bON;
\r
2767 CDTXMania.Instance.ConfigIni.bLeft.Bass = this.iBassLeft.bON;
\r
2768 CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2770 CDTXMania.Instance.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON;
\r
2771 CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値;
\r
2772 CDTXMania.Instance.ConfigIni.e判定位置.Bass = (E判定位置)this.iSystemJudgePosBass.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2773 //CDTXMania.Instance.ConfigIni.e判定表示優先度.Bass = (E判定表示優先度) this.iBassJudgeDispPriority.n現在選択されている項目番号;
\r
2775 private void tConfigIniへ記録する_Drums()
\r
2777 CDTXMania.Instance.ConfigIni.bAutoPlay.LC = this.iDrumsLeftCymbal.bON;
\r
2778 CDTXMania.Instance.ConfigIni.bAutoPlay.HH = this.iDrumsHiHat.bON;
\r
2779 CDTXMania.Instance.ConfigIni.bAutoPlay.SD = this.iDrumsSnare.bON;
\r
2780 CDTXMania.Instance.ConfigIni.bAutoPlay.BD = this.iDrumsBass.bON;
\r
2781 CDTXMania.Instance.ConfigIni.bAutoPlay.HT = this.iDrumsHighTom.bON;
\r
2782 CDTXMania.Instance.ConfigIni.bAutoPlay.LT = this.iDrumsLowTom.bON;
\r
2783 CDTXMania.Instance.ConfigIni.bAutoPlay.FT = this.iDrumsFloorTom.bON;
\r
2784 CDTXMania.Instance.ConfigIni.bAutoPlay.CY = this.iDrumsCymbalRide.bON;
\r
2785 CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値;
\r
2786 CDTXMania.Instance.ConfigIni.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置)this.iDrumsComboPosition.n現在選択されている項目番号;
\r
2787 // "Sudden" || "Sud+Hid"
\r
2788 CDTXMania.Instance.ConfigIni.bSudden.Drums = (this.iDrumsSudHid.n現在選択されている項目番号 == 1 || this.iDrumsSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2789 // "Hidden" || "Sud+Hid"
\r
2790 CDTXMania.Instance.ConfigIni.bHidden.Drums = (this.iDrumsSudHid.n現在選択されている項目番号 == 2 || this.iDrumsSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2791 if (this.iDrumsSudHid.n現在選択されている項目番号 == 4) CDTXMania.Instance.ConfigIni.eInvisible.Drums = EInvisible.SEMI; // "S-Invisible"
\r
2792 else if (this.iDrumsSudHid.n現在選択されている項目番号 == 5) CDTXMania.Instance.ConfigIni.eInvisible.Drums = EInvisible.FULL; // "F-Invisible"
\r
2793 else CDTXMania.Instance.ConfigIni.eInvisible.Drums = EInvisible.OFF;
\r
2794 CDTXMania.Instance.ConfigIni.bReverse.Drums = this.iDrumsReverse.bON;
\r
2795 CDTXMania.Instance.ConfigIni.判定文字表示位置.Drums = (E判定文字表示位置)this.iDrumsPosition.n現在選択されている項目番号;
\r
2796 CDTXMania.Instance.ConfigIni.bTight = this.iDrumsTight.bON;
\r
2797 CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2798 CDTXMania.Instance.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick
\r
2800 CDTXMania.Instance.ConfigIni.eHHGroup = (EHHGroup)this.iSystemHHGroup.n現在選択されている項目番号;
\r
2801 CDTXMania.Instance.ConfigIni.eFTGroup = (EFTGroup)this.iSystemFTGroup.n現在選択されている項目番号;
\r
2802 CDTXMania.Instance.ConfigIni.eCYGroup = (ECYGroup)this.iSystemCYGroup.n現在選択されている項目番号;
\r
2803 CDTXMania.Instance.ConfigIni.eBDGroup = (EBDGroup)this.iSystemBDGroup.n現在選択されている項目番号;
\r
2804 CDTXMania.Instance.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位)this.iSystemHitSoundPriorityHH.n現在選択されている項目番号;
\r
2805 CDTXMania.Instance.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位)this.iSystemHitSoundPriorityFT.n現在選択されている項目番号;
\r
2806 CDTXMania.Instance.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位)this.iSystemHitSoundPriorityCY.n現在選択されている項目番号;
\r
2807 CDTXMania.Instance.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON;
\r
2808 CDTXMania.Instance.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON;
\r
2809 CDTXMania.Instance.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON;
\r
2810 CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値;
\r
2811 CDTXMania.Instance.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON;
\r
2813 CDTXMania.Instance.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号;
\r
2814 CDTXMania.Instance.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi
\r
2815 //CDTXMania.Instance.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号;
\r
2816 CDTXMania.Instance.ConfigIni.eドラムレーン表示位置 = (Eドラムレーン表示位置)this.iDrumsLanePosition.n現在選択されている項目番号;
\r
2818 private void tConfigIniへ記録する_Guitar()
\r
2820 //CDTXMania.Instance.ConfigIni.bAutoPlay.Guitar = this.iGuitarAutoPlay.bON;
\r
2821 CDTXMania.Instance.ConfigIni.bAutoPlay.GtR = this.iGuitarR.bON;
\r
2822 CDTXMania.Instance.ConfigIni.bAutoPlay.GtG = this.iGuitarG.bON;
\r
2823 CDTXMania.Instance.ConfigIni.bAutoPlay.GtB = this.iGuitarB.bON;
\r
2824 CDTXMania.Instance.ConfigIni.bAutoPlay.GtPick = this.iGuitarPick.bON;
\r
2825 CDTXMania.Instance.ConfigIni.bAutoPlay.GtW = this.iGuitarW.bON;
\r
2826 CDTXMania.Instance.ConfigIni.n譜面スクロール速度.Guitar = this.iGuitarScrollSpeed.n現在の値;
\r
2827 // "Sudden" || "Sud+Hid"
\r
2828 CDTXMania.Instance.ConfigIni.bSudden.Guitar = (this.iGuitarSudHid.n現在選択されている項目番号 == 1 || this.iGuitarSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2829 // "Hidden" || "Sud+Hid"
\r
2830 CDTXMania.Instance.ConfigIni.bHidden.Guitar = (this.iGuitarSudHid.n現在選択されている項目番号 == 2 || this.iGuitarSudHid.n現在選択されている項目番号 == 3) ? true : false;
\r
2831 if (this.iGuitarSudHid.n現在選択されている項目番号 == 4) CDTXMania.Instance.ConfigIni.eInvisible.Guitar = EInvisible.SEMI; // "S-Invisible"
\r
2832 else if (this.iGuitarSudHid.n現在選択されている項目番号 == 5) CDTXMania.Instance.ConfigIni.eInvisible.Guitar = EInvisible.FULL; // "F-Invisible"
\r
2833 else CDTXMania.Instance.ConfigIni.eInvisible.Guitar = EInvisible.OFF;
\r
2834 CDTXMania.Instance.ConfigIni.bReverse.Guitar = this.iGuitarReverse.bON;
\r
2835 CDTXMania.Instance.ConfigIni.判定文字表示位置.Guitar = (E判定文字表示位置)this.iGuitarPosition.n現在選択されている項目番号;
\r
2836 CDTXMania.Instance.ConfigIni.eRandom.Guitar = (Eランダムモード)this.iGuitarRandom.n現在選択されている項目番号;
\r
2837 CDTXMania.Instance.ConfigIni.bLight.Guitar = this.iGuitarLight.bON;
\r
2838 CDTXMania.Instance.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON;
\r
2839 CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2841 CDTXMania.Instance.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値;
\r
2842 CDTXMania.Instance.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON;
\r
2843 CDTXMania.Instance.ConfigIni.e判定位置.Guitar = (E判定位置)this.iSystemJudgePosGuitar.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2844 //CDTXMania.Instance.ConfigIni.e判定表示優先度.Guitar = (E判定表示優先度) this.iGuitarJudgeDispPriority.n現在選択されている項目番号;
\r
2846 //-----------------
\r