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.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.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.ConfigIni.bGuitar有効 ? 2 : 0 ) + ( CDTXMania.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.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.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.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.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.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.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.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.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.iSystemBGA = new CItemToggle( "BGA", CDTXMania.ConfigIni.bBGA有効,
\r
188 "演奏中に画像(BGA)を表示する場合にON にします。\n" +
\r
189 "BGA の再生には、それなりのマシンパワーが必要とされます。",
\r
190 "To draw BGA (back ground animations) or not." );
\r
191 this.list項目リスト.Add( this.iSystemBGA );
\r
192 this.iSystemPreviewSoundWait = new CItemInteger( "PreSoundWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms,
\r
193 "プレビュー音演奏までの時間:\n" +
\r
194 "曲にカーソルが合わされてからプレビュー音が鳴り始めるまでの時間を指定します。\n" +
\r
195 "0 ~ 10000 [ms] が指定可能です。",
\r
196 "Delay time(ms) to start playing preview sound in SELECT MUSIC screen.\n" +
\r
197 "You can specify from 0ms to 10000ms." );
\r
198 this.list項目リスト.Add( this.iSystemPreviewSoundWait );
\r
199 this.iSystemPreviewImageWait = new CItemInteger( "PreImageWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms,
\r
200 "プレビュー画像表示までの時間:\n" +
\r
201 "曲にカーソルが合わされてからプレビュー画像が表示されるまでの時間を指定します。\n" +
\r
202 "0 ~ 10000 [ms] が指定可能です。",
\r
203 "Delay time(ms) to show preview image in SELECT MUSIC screen.\n" +
\r
204 "You can specify from 0ms to 10000ms." );
\r
205 this.list項目リスト.Add( this.iSystemPreviewImageWait );
\r
206 this.iSystemDebugInfo = new CItemToggle( "Debug Info", CDTXMania.ConfigIni.b演奏情報を表示する,
\r
208 "演奏中、BGA領域の下部に演奏情報(FPS、BPM、演奏時間など)を表示します。\n" +
\r
209 "また、小節線の横に小節番号が表示されるようになります。",
\r
210 "To show song informations on playing BGA area. (FPS, BPM, total time etc)\n" +
\r
211 "You can ON/OFF the indications by pushing [Del] while playing drums, guitar or bass." );
\r
212 this.list項目リスト.Add( this.iSystemDebugInfo );
\r
213 this.iSystemBGAlpha = new CItemInteger( "BG Alpha", 0, 0xff, CDTXMania.ConfigIni.n背景の透過度,
\r
215 "背景画像をDTXManiaのフレーム画像と合成する際の、背景画像の透明度を指定します。\n" +
\r
216 "0 が完全透明で、255 が完全不透明となります。",
\r
217 "The degree for transparing playing screen and wallpaper.\n" +
\r
219 "0=completely transparent, 255=no transparency." );
\r
220 this.list項目リスト.Add( this.iSystemBGAlpha );
\r
221 this.iSystemBGMSound = new CItemToggle( "BGM Sound", CDTXMania.ConfigIni.bBGM音を発声する,
\r
223 "これをOFFにすると、BGM を再生しなくなります。",
\r
224 "Turn OFF if you don't want to play BGM." );
\r
225 this.list項目リスト.Add( this.iSystemBGMSound );
\r
226 this.iSystemAudienceSound = new CItemToggle( "Audience", CDTXMania.ConfigIni.b歓声を発声する,
\r
228 "これをOFFにすると、歓声を再生しなくなります。",
\r
229 "Turn ON if you want to be cheered at the end of fill-in zone." );
\r
230 this.list項目リスト.Add( this.iSystemAudienceSound );
\r
231 this.iSystemDamageLevel = new CItemList( "DamageLevel", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eダメージレベル,
\r
233 "Miss ヒット時のゲージの減少度合いを指定します。\n" +
\r
234 "Riskyが1以上の場合は無効となります。",
\r
235 "Damage level at missing (and recovering level) at playing.\n" +
\r
236 "This setting is ignored when Risky >= 1.",
\r
237 new string[] { "Small", "Normal", "Large" } );
\r
238 this.list項目リスト.Add( this.iSystemDamageLevel );
\r
239 this.iSystemSaveScore = new CItemToggle( "SaveScore", CDTXMania.ConfigIni.bScoreIniを出力する,
\r
241 "これを ON にすると、演奏記録を ~.score.ini ファイルに保存します。",
\r
242 "To save high-scores/skills, turn it ON.\n" +
\r
243 "Turn OFF in case your song data are in read-only media (CD-ROM etc).\n" +
\r
244 "Note that the score files also contain 'BGM Adjust' parameter.\n" +
\r
245 "So if you want to keep adjusting parameter, you need to set SaveScore=ON." );
\r
246 this.list項目リスト.Add( this.iSystemSaveScore );
\r
249 this.iSystemChipVolume = new CItemInteger( "ChipVolume", 0, 100, CDTXMania.ConfigIni.n手動再生音量,
\r
251 "入力に反応して再生されるチップの音量を指定します。\n" +
\r
252 "0 ~ 100 % の値が指定可能です。",
\r
253 "The volumes for chips you hit.\n" +
\r
254 "You can specify from 0 to 100%." );
\r
255 this.list項目リスト.Add( this.iSystemChipVolume );
\r
256 this.iSystemAutoChipVolume = new CItemInteger( "AutoVolume", 0, 100, CDTXMania.ConfigIni.n自動再生音量,
\r
258 "自動的に再生されるチップの音量を指定します。\n" +
\r
259 "0 ~ 100 % の値が指定可能です。",
\r
260 "The volumes for AUTO chips.\n" +
\r
261 "You can specify from 0 to 100%." );
\r
262 this.list項目リスト.Add( this.iSystemAutoChipVolume );
\r
263 this.iSystemStoicMode = new CItemToggle( "StoicMode", CDTXMania.ConfigIni.bストイックモード,
\r
264 "ストイック(禁欲)モード:\n" +
\r
265 "以下をまとめて表示ON/OFFします。\n" +
\r
268 "・NowLoading画像\n" +
\r
270 "・BGA 画像 / AVI 動画\n" +
\r
272 "Turn ON to disable drawing\n" +
\r
273 " * preview image / movie\n" +
\r
274 " * result image / movie\n" +
\r
275 " * nowloading image\n" +
\r
276 " * wallpaper (in playing screen)\n" +
\r
277 " * BGA / AVI (in playing screen)\n" +
\r
279 this.list項目リスト.Add( this.iSystemStoicMode );
\r
280 this.iSystemShowLag = new CItemList( "ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.ConfigIni.nShowLagType,
\r
282 "ジャストタイミングからのズレ時間(ms)を表示します。\n" +
\r
283 " OFF: ズレ時間を表示しません。\n" +
\r
284 " ON: ズレ時間を表示します。\n" +
\r
285 " GREAT-: PERFECT以外の時のみ表示します。",
\r
286 "About displaying the lag from the \"just timing\".\n" +
\r
287 " OFF: Don't show it.\n" +
\r
288 " ON: Show it.\n" +
\r
289 " GREAT-: Show it except you've gotten PERFECT.",
\r
290 new string[] { "OFF", "ON", "GREAT-" } );
\r
291 this.list項目リスト.Add( this.iSystemShowLag );
\r
292 this.iSystemAutoResultCapture = new CItemToggle( "Autosaveresult", CDTXMania.ConfigIni.bIsAutoResultCapture,
\r
293 "リザルト画像自動保存機能:\n" +
\r
294 "ONにすると、ハイスコア/ハイスキル時に、自動的にリザルト画像を曲データと同じフォルダに保存します。",
\r
295 "AutoSaveResult:\n" +
\r
296 "Turn ON to save your result screen image automatically when you get hiscore/hiskill." );
\r
297 this.list項目リスト.Add( this.iSystemAutoResultCapture );
\r
300 this.iSystemJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度,
\r
301 "判定文字列とコンボ表示の優先順位を指定します。\n" +
\r
303 " Under: チップの下に表示します。\n" +
\r
304 " Over: チップの上に表示します。",
\r
305 "The display prioity between chips and judge mark/combo.\n" +
\r
307 " Under: Show them under the chips.\n" +
\r
308 " Over: Show them over the chips.",
\r
309 new string[] { "Under", "Over" } );
\r
310 this.list項目リスト.Add( this.iSystemJudgeDispPriority );
\r
312 this.iSystemBufferedInput = new CItemToggle( "BufferedInput", CDTXMania.ConfigIni.bバッファ入力を行う,
\r
314 "ON にすると、FPS を超える入力解像度を実現します。\n" +
\r
315 "OFF にすると、入力解像度は FPS に等しくなります。",
\r
316 "To select joystick input method.\n" +
\r
318 "ON to use buffer input. No lost/lags.\n" +
\r
319 "OFF to use realtime input. It may causes lost/lags for input.\n" +
\r
320 "Moreover, input frequency is synchronized with FPS." );
\r
321 this.list項目リスト.Add( this.iSystemBufferedInput );
\r
322 this.iLogOutputLog = new CItemToggle( "TraceLog", CDTXMania.ConfigIni.bログ出力,
\r
324 "DTXManiaLog.txt にログを出力します。\n" +
\r
325 "この設定の変更は、DTXMania の再起動後に有効となります。",
\r
326 "Turn ON to put debug log to DTXManiaLog.txt.\n" +
\r
327 "To take it effective, you need to re-open DTXMania." );
\r
328 this.list項目リスト.Add( this.iLogOutputLog );
\r
330 // #24820 2013.1.3 yyagi
\r
331 this.iSystemSoundType = new CItemList( "SoundType", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nSoundDeviceType,
\r
333 "WASAPI, ASIO, DSound(DirectSound)の中からサウンド出力方式を選択します。\n" +
\r
334 "WASAPIはVista以降でのみ使用可能です。ASIOはXPでも使用可能ですが、対応機器でのみ使用できます。\n" +
\r
335 "WASAPIかASIOを指定することで、遅延の少ない演奏を楽しむことができます。\n" +
\r
337 "※ 設定はCONFIGURATION画面の終了時に有効になります。",
\r
338 "Sound output type:\n" +
\r
339 "You can choose WASAPI, ASIO or DShow(DirectShow).\n" +
\r
340 "WASAPI can use only after Vista.\n" +
\r
341 "ASIO can use on XP or later OSs, but you need \"ASIO-supported\" sound device.\n" +
\r
343 "You should use WASAPI or ASIO to decrease the sound lag.\n" +
\r
345 "Note: Exit CONFIGURATION to make the setting take effect.",
\r
346 new string[] { "DSound", "ASIO", "WASAPI" } );
\r
347 this.list項目リスト.Add( this.iSystemSoundType );
\r
349 // #24820 2013.1.15 yyagi
\r
350 //this.iSystemWASAPIBufferSizeMs = new CItemInteger( "WASAPIBufSize", 0, 99999, CDTXMania.ConfigIni.nWASAPIBufferSizeMs,
\r
351 // "WASAPI使用時のバッファサイズ:\n" +
\r
352 // "0~99999ms を指定可能です。\n" +
\r
353 // "0を指定すると、OSがバッファの\n" +
\r
354 // "サイズを自動設定します。\n" +
\r
355 // "値を小さくするほど発音ラグが\n" +
\r
356 // "減少しますが、音割れや異常動作を\n" +
\r
357 // "引き起こす場合があります。\n" +
\r
358 // "※ 設定はCONFIGURATION画面の\n" +
\r
359 // " 終了時に有効になります。",
\r
360 // "Sound buffer size for WASAPI:\n" +
\r
361 // "You can set from 0 to 99999ms.\n" +
\r
362 // "Set 0 to use a default sysytem\n" +
\r
363 // "buffer size.\n" +
\r
364 // "Smaller value makes smaller lag,\n" +
\r
365 // "but it may cause sound troubles.\n" +
\r
367 // "Note: Exit CONFIGURATION to make\n" +
\r
368 // " the setting take effect." );
\r
369 //this.list項目リスト.Add( this.iSystemWASAPIBufferSizeMs );
\r
371 // #24820 2013.1.17 yyagi
\r
372 string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices();
\r
373 this.iSystemASIODevice = new CItemList( "ASIO device", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nASIODevice,
\r
375 "ASIO使用時のサウンドデバイスを選択します。\n" +
\r
377 "※ 設定はCONFIGURATION画面の終了時に有効になります。",
\r
378 "ASIO Sound Device:\n" +
\r
379 "Select the sound device to use under ASIO mode.\n" +
\r
381 "Note: Exit CONFIGURATION to make the setting take effect.",
\r
383 this.list項目リスト.Add( this.iSystemASIODevice );
\r
385 // #24820 2013.1.3 yyagi
\r
386 //this.iSystemASIOBufferSizeMs = new CItemInteger("ASIOBuffSize", 0, 99999, CDTXMania.ConfigIni.nASIOBufferSizeMs,
\r
387 // "ASIO使用時のバッファサイズ:\n" +
\r
388 // "0~99999ms を指定可能です。\n" +
\r
389 // "推奨値は0で、サウンドデバイスでの\n" +
\r
390 // "設定値をそのまま使用します。\n" +
\r
391 // "(サウンドデバイスのASIO設定は、\n" +
\r
392 // " ASIO capsなどで行います)\n" +
\r
393 // "値を小さくするほど発音ラグが\n" +
\r
394 // "減少しますが、音割れや異常動作を\n" +
\r
395 // "引き起こす場合があります。\n" +
\r
397 // "※ 設定はCONFIGURATION画面の\n" +
\r
398 // " 終了時に有効になります。",
\r
399 // "Sound buffer size for ASIO:\n" +
\r
400 // "You can set from 0 to 99999ms.\n" +
\r
401 // "You should set it to 0, to use\n" +
\r
402 // "a default value specified to\n" +
\r
403 // "the sound device.\n" +
\r
404 // "Smaller value makes smaller lag,\n" +
\r
405 // "but it may cause sound troubles.\n" +
\r
407 // "Note: Exit CONFIGURATION to make\n" +
\r
408 // " the setting take effect." );
\r
409 //this.list項目リスト.Add( this.iSystemASIOBufferSizeMs );
\r
411 // #33689 2014.6.17 yyagi
\r
412 this.iSystemSoundTimerType = new CItemToggle( "UseOSTimer", CDTXMania.ConfigIni.bUseOSTimer,
\r
413 "OSタイマーを使用するかどうか:\n" +
\r
414 "演奏タイマーとして、DTXMania独自のタイマーを使うか、OS標準のタイマーを使うかを選択します。\n" +
\r
415 "OS標準タイマーを使うとスクロールが滑らかになりますが、演奏で音ズレが発生することがあります。(そのためAdjustWavesの効果が適用されます。)\n" +
\r
417 "この指定はWASAPI/ASIO使用時のみ有効です。\n",
\r
418 "Use OS Timer or not:\n" +
\r
419 "If this settings is ON, DTXMania uses OS Standard timer. It brings smooth scroll, but may cause some sound lag.\n" +
\r
420 "(so AdjustWaves is also avilable)\n" +
\r
422 "If OFF, DTXMania uses its original timer and the effect is vice versa.\n" +
\r
424 "This settings is avilable only when you use WASAPI/ASIO.\n"
\r
426 this.list項目リスト.Add( this.iSystemSoundTimerType );
\r
428 // #33700 2013.1.3 yyagi
\r
429 //this.iSystemMasterVolume = new CItemInteger( "MasterVolume", 0, 100, CDTXMania.ConfigIni.nMasterVolume,
\r
430 // "マスターボリュームの設定:\n" +
\r
431 // "全体の音量を設定します。\n" +
\r
432 // "0が無音で、100が最大値です。\n" +
\r
433 // "(WASAPI/ASIO時のみ有効です)",
\r
434 // "Master Volume:\n" +
\r
435 // "You can set 0 - 100.\n" +
\r
438 // "Only for WASAPI/ASIO mode." );
\r
439 //this.list項目リスト.Add( this.iSystemMasterVolume );
\r
441 this.iSystemSkinSubfolder = new CItemList( "Skin (General)", CItemBase.Eパネル種別.通常, nSkinIndex,
\r
444 //"CONFIGURATIONを抜けると、設定した\n" +
\r
449 this.list項目リスト.Add( this.iSystemSkinSubfolder );
\r
450 this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.ConfigIni.bUseBoxDefSkin,
\r
451 "Music boxスキンの利用:\n" +
\r
452 "特別なスキンが設定されたMusic boxに出入りしたときに、自動でスキンを切り替えるかどうかを設定します。\n",
\r
454 //"(Music Boxスキンは、box.defファイル\n" +
\r
457 "Automatically change skin specified in box.def file." );
\r
458 this.list項目リスト.Add( this.iSystemUseBoxDefSkin );
\r
461 this.iSystemGoToKeyAssign = new CItemBase( "System Keys", CItemBase.Eパネル種別.通常,
\r
462 "システムのキー入力に関する項目を設定します。",
\r
463 "Settings for the system key/pad inputs." );
\r
464 this.list項目リスト.Add( this.iSystemGoToKeyAssign );
\r
468 this.eメニュー種別 = Eメニュー種別.System;
\r
472 #region [ t項目リストの設定・Drums() ]
\r
473 public void t項目リストの設定・Drums()
\r
475 this.tConfigIniへ記録する();
\r
476 this.list項目リスト.Clear();
\r
478 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
480 this.iDrumsReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
482 "Return to left menu." );
\r
483 this.list項目リスト.Add( this.iDrumsReturnToMenu );
\r
485 #region [ AutoPlay ]
\r
486 this.iDrumsAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
487 "全パッドの自動演奏の ON/OFF をまとめて切り替えます。",
\r
488 "You can change whether Auto or not for all drums lanes at once." );
\r
489 this.list項目リスト.Add( this.iDrumsAutoPlayAll );
\r
491 this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.ConfigIni.bAutoPlay.LC,
\r
493 "To play LeftCymbal automatically." );
\r
494 this.list項目リスト.Add( this.iDrumsLeftCymbal );
\r
496 this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.ConfigIni.bAutoPlay.HH,
\r
497 "ハイハットを自動で演奏します。\n" +
\r
499 "To play HiHat automatically.\n" +
\r
500 "(It effects to both HH-close and HH-open)" );
\r
501 this.list項目リスト.Add( this.iDrumsHiHat );
\r
503 this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.ConfigIni.bAutoPlay.SD,
\r
505 "To play Snare automatically." );
\r
506 this.list項目リスト.Add( this.iDrumsSnare );
\r
508 this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.ConfigIni.bAutoPlay.BD,
\r
510 "To play Bass Drum automatically." );
\r
511 this.list項目リスト.Add( this.iDrumsBass );
\r
513 this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.ConfigIni.bAutoPlay.HT,
\r
515 "To play High Tom automatically." );
\r
516 this.list項目リスト.Add( this.iDrumsHighTom );
\r
518 this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.ConfigIni.bAutoPlay.LT,
\r
520 "To play Low Tom automatically." );
\r
521 this.list項目リスト.Add( this.iDrumsLowTom );
\r
523 this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.ConfigIni.bAutoPlay.FT,
\r
525 "To play Floor Tom automatically." );
\r
526 this.list項目リスト.Add( this.iDrumsFloorTom );
\r
528 this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.ConfigIni.bAutoPlay.CY,
\r
529 "右シンバルとライドシンバルを自動で演奏します。",
\r
530 "To play both right- and Ride-Cymbal automatically." );
\r
531 this.list項目リスト.Add( this.iDrumsCymbalRide );
\r
535 this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums,
\r
536 "演奏時のドラム譜面のスクロールの速度を指定します。\n" +
\r
537 "x0.5 ~ x1000.0 を指定可能です。",
\r
538 "To change the scroll speed for the drums lanes.\n" +
\r
539 "You can set it from x0.5 to x1000.0.\n" +
\r
540 "(ScrollSpeed=x0.5 means half speed)" );
\r
541 this.list項目リスト.Add( this.iDrumsScrollSpeed );
\r
543 this.iDrumsSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue( E楽器パート.DRUMS ),
\r
545 "OFF: チップを常に表示します。\n" +
\r
546 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
548 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
550 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
552 "S(emi)-Invisible:\n" +
\r
553 " 通常はチップを透明にしますが、Poor /\n" +
\r
554 " Miss時にはしばらく表示します。\n" +
\r
555 "F(ull)-Invisible:\n" +
\r
556 " チップを常に透明にします。暗譜での練習\n" +
\r
558 "Drums chips display type:\n" +
\r
560 "OFF: Always show chips.\n" +
\r
561 "Sudden: The chips are disappered until they\n" +
\r
562 " come near the hit bar, and suddenly\n" +
\r
564 "Hidden: The chips are hidden by approaching to\n" +
\r
565 " the hit bar.\n" +
\r
566 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
567 "S(emi)-Invisible:\n" +
\r
568 " Usually you can't see the chips except\n" +
\r
569 " you've gotten Poor/Miss.\n" +
\r
570 "F(ull)-Invisible:\n" +
\r
571 " You can't see the chips at all.",
\r
572 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
573 this.list項目リスト.Add( this.iDrumsSudHid );
\r
575 //this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Drums,
\r
576 // "ドラムチップが譜面の下の方から表\n" +
\r
578 // "Drums chips are disappered until they\n" +
\r
579 // "come near the hit bar, and suddenly\n" +
\r
581 //this.list項目リスト.Add( this.iDrumsSudden );
\r
583 //this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Drums,
\r
584 // "ドラムチップが譜面の下の方で表示\n" +
\r
586 // "Drums chips are hidden by approaching\n" +
\r
587 // "to the hit bar. " );
\r
588 //this.list項目リスト.Add( this.iDrumsHidden );
\r
590 //this.iDrumsInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Drums,
\r
591 // "ドラムチップの透明化\n" +
\r
592 // "OFF: チップを常に表示します。\n" +
\r
593 // "SEMI: 通常はチップを透明にしますが、\n" +
\r
594 // " Poor/Miss時はしばらく表示します。\n" +
\r
595 // "FULL: チップを常に透明にします。\n" +
\r
596 // " 暗譜での練習にお使いください。\n" +
\r
597 // "これをONにすると、SuddenとHiddenの\n" +
\r
599 // "Invisible drums chip:\n" +
\r
600 // "If you set Blindfold=ON, you can't\n" +
\r
601 // "see the chips at all.",
\r
602 // new string[] { "OFF", "SEMI", "FULL" } );
\r
603 //this.list項目リスト.Add( this.iDrumsInvisible );
\r
605 this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark,
\r
606 "HALF: 背景、レーン、ゲージが表示されなくなります。\n" +
\r
607 "FULL: さらに小節線、拍線、判定ライン、パッドも表示されなくなります。",
\r
608 "OFF: all display parts are shown.\n" +
\r
609 "HALF: wallpaper, lanes and gauge are disappeared.\n" +
\r
610 "FULL: additionaly to HALF, bar/beat lines, hit bar, pads are disappeared.",
\r
611 new string[] { "OFF", "HALF", "FULL" } );
\r
612 this.list項目リスト.Add( this.iCommonDark );
\r
615 this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums,
\r
616 "ドラムチップが譜面の下から上に流れるようになります。",
\r
617 "The scroll way is reversed. Drums chips flow from the bottom to the top." );
\r
618 this.list項目リスト.Add( this.iDrumsReverse );
\r
620 this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky,
\r
622 "1以上の値にすると、その回数分のPoor/MissでFAILEDとなります。\n" +
\r
623 "0にすると無効になり、DamageLevelに従ったゲージ増減となります。\n" +
\r
625 "なお、この設定は、StageFailedの設定と併用できます。",
\r
627 "It means the Poor/Miss times to be FAILED.\n" +
\r
628 "Set 0 to disable Risky mode." );
\r
629 this.list項目リスト.Add( this.iSystemRisky );
\r
631 this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight,
\r
632 "ドラムチップのないところでパッドを叩くとミスになります。",
\r
633 "It becomes MISS to hit pad without chip." );
\r
634 this.list項目リスト.Add( this.iDrumsTight );
\r
636 #region [ Position ]
\r
637 this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置,
\r
638 "演奏時のドラムコンボ文字列の位置を指定します。",
\r
639 "The display position for Drums Combo.",
\r
640 //"Note that it doesn't take effect at Autoplay ([Left] is forcely used).",
\r
641 new string[] { "Left", "Center", "Right", "OFF" } );
\r
642 this.list項目リスト.Add( this.iDrumsComboPosition );
\r
644 this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Drums,
\r
645 "ドラムの判定文字の表示位置を指定\n" +
\r
650 "The position to show judgement mark.\n" +
\r
651 "(Perfect, Great, ...)\n" +
\r
653 " P-A: on the lanes.\n" +
\r
654 " P-B: under the hit bar.\n" +
\r
655 " OFF: no judgement mark.",
\r
656 new string[] { "OFF", "P-A", "P-B" } );
\r
657 this.list項目リスト.Add( this.iDrumsPosition );
\r
659 //this.iDrumsJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Drums,
\r
660 // "判定文字列とコンボ表示の優先順位を\n" +
\r
663 // " Under: チップの下に表示します。\n" +
\r
664 // " Over: チップの上に表示します。",
\r
665 // "The display prioity between chips\n" +
\r
666 // " and judge mark/combo.\n" +
\r
668 // " Under: Show them under the chips.\n" +
\r
669 // " Over: Show them over the chips.",
\r
670 // new string[] { "Under", "Over" } );
\r
671 //this.list項目リスト.Add( this.iDrumsJudgeDispPriority );
\r
675 this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup,
\r
676 "ハイハットレーン打ち分け設定:\n" +
\r
677 "左シンバル、ハイハットオープン、ハイハットクローズの打ち分け方法を指定します。\n" +
\r
678 " HH-0 ... LC | HHC | HHO\n" +
\r
679 " HH-1 ... LC & ( HHC | HHO )\n" +
\r
680 " HH-2 ... LC | ( HHC & HHO )\n" +
\r
681 " HH-3 ... LC & HHC & HHO\n" +
\r
683 "※BD Group が BD-1 である場合、この項目は変更できません。\n",
\r
684 "HH-0: LC|HC|HO;\n" +
\r
685 " all are separated.\n" +
\r
686 "HH-1: LC&(HC|HO);\n" +
\r
687 " HC and HO are separted.\n" +
\r
688 " LC is grouped with HC and HHO.\n" +
\r
689 "HH-2: LC|(HC&HO);\n" +
\r
690 " LC and HHs are separated.\n" +
\r
691 " HC and HO are grouped.\n" +
\r
692 "HH-3: LC&HC&HO; all are grouped.\n" +
\r
694 "* This value cannot be changed while BD Group is set as BD-1.",
\r
695 new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } );
\r
696 this.list項目リスト.Add( this.iSystemHHGroup );
\r
698 this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup,
\r
700 "ロータムとフロアタムの打ち分け方法を指定します。\n" +
\r
701 " FT-0 ... LT | FT\n" +
\r
702 " FT-1 ... LT & FT\n",
\r
704 " LT and FT are separated.\n" +
\r
706 " LT and FT are grouped.",
\r
707 new string[] { "FT-0", "FT-1" } );
\r
708 this.list項目リスト.Add( this.iSystemFTGroup );
\r
710 this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup,
\r
711 "シンバルレーン打ち分け設定:\n" +
\r
712 "右シンバルとライドシンバルの打ち分け方法を指定します。\n" +
\r
713 " CY-0 ... CY | RD\n" +
\r
714 " CY-1 ... CY & RD\n",
\r
716 " CY and RD are separated.\n" +
\r
718 " CY and RD are grouped.",
\r
719 new string[] { "CY-0", "CY-1" } );
\r
720 this.list項目リスト.Add( this.iSystemCYGroup );
\r
722 this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eBDGroup, // #27029 2012.1.4 from
\r
724 "ハイハットペダルをバスとして利用する方法を指定します。\n" +
\r
725 " BD-0 ... HP | BD\n" +
\r
726 " BD-1 ... FP & BD\n" +
\r
728 "注意:HitSound が OFF である場合は不具合が生じます。\n" +
\r
729 "また、BD-1 を選択している間はいくつかのオプションが変更できなくなります。",
\r
731 " HiHatPedal is HiHat.\n" +
\r
733 " HiHatPedal is Bass.\n" +
\r
735 "Warning: You should not use BD-1 with HitSound OFF.\n" +
\r
736 "And you cannot change some options while using BD-1.",
\r
737 new string[] { "BD-0", "BD-1" } );
\r
738 this.list項目リスト.Add( this.iSystemBDGroup );
\r
741 this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー,
\r
743 "左シンバル・右シンバルの区別をなくします。ライドシンバルまで区別をなくすか否かは、CYGroup に従います。\n",
\r
744 "Turn ON to group LC (left cymbal) and CY (right cymbal).\n" +
\r
745 "Whether RD (ride cymbal) is also grouped or not depends on the 'CY Group' setting." );
\r
746 this.list項目リスト.Add( this.iSystemCymbalFree );
\r
748 #region [ SoundPriority ]
\r
749 this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH,
\r
751 "ハイハットレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
752 " C > P ... チップの音が優先\n" +
\r
753 " P > C ... 叩いたパッドの音が優先\n" +
\r
755 "※BD Group が BD-1 である場合、この項目は変更できません。\n",
\r
756 "To specify playing sound in case you're using HH-0,1 and 2.\n" +
\r
759 " Chip sound is prior to the pad sound.\n" +
\r
761 " Pad sound is prior to the chip sound.\n" +
\r
763 "* This value cannot be changed while BD Group is set as BD-1.",
\r
764 new string[] { "C>P", "P>C" } );
\r
765 this.list項目リスト.Add( this.iSystemHitSoundPriorityHH );
\r
767 this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT,
\r
769 "フロアタム打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
770 " C > P ... チップの音が優先\n" +
\r
771 " P > C ... 叩いたパッドの音が優先",
\r
772 "To specify playing sound in case you're using FT-0.\n" +
\r
775 " Chip sound is prior to the pad sound.\n" +
\r
777 " Pad sound is prior to the chip sound.",
\r
778 new string[] { "C>P", "P>C" } );
\r
779 this.list項目リスト.Add( this.iSystemHitSoundPriorityFT );
\r
781 this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY,
\r
783 "シンバルレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" +
\r
784 " C > P ... チップの音が優先\n" +
\r
785 " P > C ... 叩いたパッドの音が優先",
\r
786 "To specify playing sound in case you're using CY-0.\n" +
\r
789 " Chip sound is prior to the pad sound.\n" +
\r
791 " Pad sound is prior to the chip sound.",
\r
792 new string[] { "C>P", "P>C" } );
\r
793 this.list項目リスト.Add( this.iSystemHitSoundPriorityCY );
\r
795 this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効,
\r
796 "フィルインエフェクトの使用:\n" +
\r
797 "フィルイン区間の爆発パターンに特別のエフェクトを使用します。\n" +
\r
798 "フィルインエフェクトの描画にはそれなりのマシンパワーが必要とされます。",
\r
799 "To show bursting effects at the fill-in zone." );
\r
800 this.list項目リスト.Add( this.iSystemFillIn );
\r
804 this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する,
\r
806 "これをOFFにすると、パッドを叩いたときの音を再生しなくなります(ドラムのみ)。\n" +
\r
807 "DTX本来の音色で演奏したい場合などにOFF にします。\n" +
\r
809 "注意:BD Group が BD-1 である場合は不具合が生じます。\n",
\r
810 "Turn OFF if you don't want to play hitting chip sound.\n" +
\r
811 "It is useful to play with real/electric drums kit.\n" +
\r
813 "Warning: You should not use BD Group BD-1 with HitSound OFF.\n" );
\r
814 this.list項目リスト.Add( this.iSystemHitSound );
\r
816 this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums,
\r
818 "ドラム音を他の音より大きめの音量で発声します。\n" +
\r
819 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
820 "To enhance the drums chip sound (except autoplay)." );
\r
821 this.list項目リスト.Add( this.iSystemSoundMonitorDrums );
\r
823 this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums,
\r
824 "表示可能な最小コンボ数(ドラム):\n" +
\r
825 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
826 "1 ~ 99999 の値が指定可能です。",
\r
827 "Initial number to show the combo for the drums.\n" +
\r
828 "You can specify from 1 to 99999." );
\r
829 this.list項目リスト.Add( this.iSystemMinComboDrums );
\r
832 // #23580 2011.1.3 yyagi
\r
833 this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums,
\r
834 "ドラムの入力タイミングの微調整を行います。\n" +
\r
835 "-99 ~ 99ms まで指定可能です。\n" +
\r
836 "入力ラグを軽減するためには、負の値を指定してください。",
\r
837 "To adjust the drums input timing.\n" +
\r
838 "You can set from -99 to 99ms.\n" +
\r
839 "To decrease input lag, set minus value." );
\r
840 this.list項目リスト.Add( this.iDrumsInputAdjustTimeMs );
\r
842 // #24074 2011.01.23 add ikanick
\r
843 this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph.Drums,
\r
844 "最高スキルと比較できるグラフを表示します。\n" +
\r
845 "オートプレイだと表示されません。",
\r
846 "To draw Graph or not." );
\r
847 this.list項目リスト.Add( this.iDrumsGraph );
\r
849 this.iDrumsGoToKeyAssign = new CItemBase( "Drums Keys", CItemBase.Eパネル種別.通常,
\r
850 "ドラムのキー入力に関する項目を設定します。",
\r
851 "Settings for the drums key/pad inputs." );
\r
852 this.list項目リスト.Add( this.iDrumsGoToKeyAssign );
\r
856 this.eメニュー種別 = Eメニュー種別.Drums;
\r
859 #region [ t項目リストの設定・Guitar() ]
\r
860 public void t項目リストの設定・Guitar()
\r
862 this.tConfigIniへ記録する();
\r
863 this.list項目リスト.Clear();
\r
865 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
867 this.iGuitarReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
869 "Return to left menu." );
\r
870 this.list項目リスト.Add( this.iGuitarReturnToMenu );
\r
872 #region [ AutoPlay ]
\r
873 this.iGuitarAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
874 "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。",
\r
875 "You can change whether Auto or not for all guitar neck/pick at once." );
\r
876 this.list項目リスト.Add( this.iGuitarAutoPlayAll );
\r
877 this.iGuitarR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.GtR,
\r
879 "To play R neck automatically." );
\r
880 this.list項目リスト.Add( this.iGuitarR );
\r
881 this.iGuitarG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.GtG,
\r
883 "To play G neck automatically." );
\r
884 this.list項目リスト.Add( this.iGuitarG );
\r
885 this.iGuitarB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.GtB,
\r
887 "To play B neck automatically." );
\r
888 this.list項目リスト.Add( this.iGuitarB );
\r
889 this.iGuitarPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.GtPick,
\r
891 "To play Pick automatically." );
\r
892 this.list項目リスト.Add( this.iGuitarPick );
\r
893 this.iGuitarW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.GtW,
\r
894 "ウェイリングを自動で演奏します。",
\r
895 "To play wailing automatically." );
\r
896 this.list項目リスト.Add( this.iGuitarW );
\r
898 this.iGuitarScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Guitar,
\r
899 "演奏時のギター譜面のスクロールの速度を指定します。\n" +
\r
900 "x0.5 ~ x1000.0 までを指定可能です。",
\r
901 "To change the scroll speed for the guitar lanes.\n" +
\r
902 "You can set it from x0.5 to x1000.0.\n" +
\r
903 "(ScrollSpeed=x0.5 means half speed)" );
\r
904 this.list項目リスト.Add( this.iGuitarScrollSpeed );
\r
906 this.iGuitarSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue( E楽器パート.GUITAR ),
\r
908 "OFF: チップを常に表示します。\n" +
\r
909 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
911 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
913 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
915 "S(emi)-Invisible:\n" +
\r
916 " 通常はチップを透明にしますが、Bad時\n" +
\r
917 " にはしばらく表示します。\n" +
\r
918 "F(ull)-Invisible:\n" +
\r
919 " チップを常に透明にします。暗譜での練習\n" +
\r
921 "Guitar chips display type:\n" +
\r
923 "OFF: Always show chips.\n" +
\r
924 "Sudden: The chips are disappered until they\n" +
\r
925 " come near the hit bar, and suddenly\n" +
\r
927 "Hidden: The chips are hidden by approaching to\n" +
\r
928 " the hit bar.\n" +
\r
929 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
930 "S(emi)-Invisible:\n" +
\r
931 " Usually you can't see the chips except\n" +
\r
932 " you've gotten Bad.\n" +
\r
933 "F(ull)-Invisible:\n" +
\r
934 " You can't see the chips at all.",
\r
935 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
936 this.list項目リスト.Add( this.iGuitarSudHid );
\r
938 //this.iGuitarSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Guitar,
\r
939 // "ギターチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
940 // "Guitar chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
941 //this.list項目リスト.Add( this.iGuitarSudden );
\r
942 //this.iGuitarHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Guitar,
\r
943 // "ギターチップがヒットバー付近で表示\nされなくなります。",
\r
944 // "Guitar chips are hidden by approaching\nto the hit bar. " );
\r
945 //this.list項目リスト.Add( this.iGuitarHidden );
\r
947 //this.iGuitarInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Guitar,
\r
948 // "ギターのチップを全く表示しなくなりま\n" +
\r
949 // "す。暗譜での練習にお使いください。\n" +
\r
950 // "これをONにすると、SuddenとHiddenの\n" +
\r
952 // "If you set Blindfold=ON, you can't\n" +
\r
953 // "see the chips at all.",
\r
954 // new string[] { "OFF", "HALF", "ON" } );
\r
955 //this.list項目リスト.Add( this.iGuitarInvisible );
\r
957 this.iGuitarReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Guitar,
\r
958 "ギターチップが譜面の上から下に流れるようになります。",
\r
959 "The scroll way is reversed. Guitar chips flow from the top to the bottom." );
\r
960 this.list項目リスト.Add( this.iGuitarReverse );
\r
962 this.iSystemJudgePosGuitar = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Guitar,
\r
964 "判定ラインとRGBボタンが、少し下側に表示されるようになります。",
\r
965 "Judge Line position:\n" +
\r
966 "The judge line and RGB buttons will be displayed lower position.",
\r
967 new string[] { "Normal", "Lower" } );
\r
968 this.list項目リスト.Add( this.iSystemJudgePosGuitar );
\r
970 this.iGuitarPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Guitar,
\r
971 "ギターの判定文字の表示位置を指定します。\n" +
\r
973 " P-B: 判定ラインの上\n" +
\r
974 " P-C: COMBO の下\n" +
\r
976 "The position to show judgement mark.\n" +
\r
977 "(Perfect, Great, ...)\n" +
\r
979 " P-A: on the lanes.\n" +
\r
980 " P-B: over the hit bar.\n" +
\r
981 " P-C: under the COMBO indication.\n" +
\r
982 " OFF: no judgement mark.",
\r
983 new string[] { "OFF", "P-A", "P-B", "P-C" } );
\r
984 this.list項目リスト.Add( this.iGuitarPosition );
\r
986 //this.iGuitarJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Guitar,
\r
987 // "判定文字列とコンボ表示の優先順位を\n" +
\r
990 // " Under: チップの下に表示します。\n" +
\r
991 // " Over: チップの上に表示します。",
\r
992 // "The display prioity between chips\n" +
\r
993 // " and judge mark/combo.\n" +
\r
995 // " Under: Show them under the chips.\n" +
\r
996 // " Over: Show them over the chips.",
\r
997 // new string[] { "Under", "Over" } );
\r
998 //this.list項目リスト.Add( this.iGuitarJudgeDispPriority );
\r
1000 this.iGuitarRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eRandom.Guitar,
\r
1001 "ギターのチップがランダムに降ってきます。\n" +
\r
1002 " Part: 小節・レーン単位で交換\n" +
\r
1003 " Super: チップ単位で交換\n" +
\r
1004 " Hyper: 全部完全に変更",
\r
1005 "Guitar chips come randomly.\n" +
\r
1007 " Part: swapping lanes randomly for each measures.\n" +
\r
1008 " Super: swapping chip randomly\n" +
\r
1009 " Hyper: swapping randomly (number of lanes also changes)",
\r
1010 new string[] { "OFF", "Part", "Super", "Hyper" } );
\r
1011 this.list項目リスト.Add( this.iGuitarRandom );
\r
1012 this.iGuitarLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Guitar,
\r
1013 "ギターチップのないところでピッキングしても BAD になりません。",
\r
1014 "Even if you pick without any chips, it doesn't become BAD." );
\r
1015 this.list項目リスト.Add( this.iGuitarLight );
\r
1016 this.iGuitarLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Guitar,
\r
1017 "ギターの RGB の並びが左右反転します。(左利きモード)",
\r
1018 "Lane order 'R-G-B' becomes 'B-G-R' for lefty." );
\r
1019 this.list項目リスト.Add( this.iGuitarLeft );
\r
1021 this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Guitar,
\r
1023 "ギター音を他の音より大きめの音量で発声します。\n" +
\r
1024 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
1025 "To enhance the guitar chip sound (except autoplay)." );
\r
1026 this.list項目リスト.Add( this.iSystemSoundMonitorGuitar );
\r
1027 this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar,
\r
1028 "表示可能な最小コンボ数(ギター):\n" +
\r
1029 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
1030 "1 ~ 99999 の値が指定可能です。",
\r
1031 "Initial number to show the combo for the guitar.\n" +
\r
1032 "You can specify from 1 to 99999." );
\r
1033 this.list項目リスト.Add( this.iSystemMinComboGuitar );
\r
1036 // #23580 2011.1.3 yyagi
\r
1037 this.iGuitarInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar,
\r
1038 "ギターの入力タイミングの微調整を行います。\n" +
\r
1039 "-99 ~ 99ms まで指定可能です。\n" +
\r
1040 "入力ラグを軽減するためには、負の値を指定してください。",
\r
1041 "To adjust the guitar input timing.\n" +
\r
1042 "You can set from -99 to 99ms.\n" +
\r
1043 "To decrease input lag, set minus value." );
\r
1044 this.list項目リスト.Add( this.iGuitarInputAdjustTimeMs );
\r
1046 this.iGuitarGoToKeyAssign = new CItemBase( "Guitar Keys", CItemBase.Eパネル種別.通常,
\r
1047 "ギターのキー入力に関する項目を設定します。",
\r
1048 "Settings for the guitar key/pad inputs." );
\r
1049 this.list項目リスト.Add( this.iGuitarGoToKeyAssign );
\r
1052 this.n現在の選択項目 = 0;
\r
1053 this.eメニュー種別 = Eメニュー種別.Guitar;
\r
1056 #region [ t項目リストの設定・Bass() ]
\r
1057 public void t項目リストの設定・Bass()
\r
1059 this.tConfigIniへ記録する();
\r
1060 this.list項目リスト.Clear();
\r
1062 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1064 this.iBassReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1066 "Return to left menu." );
\r
1067 this.list項目リスト.Add( this.iBassReturnToMenu );
\r
1069 #region [ AutoPlay ]
\r
1070 this.iBassAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
1071 "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。",
\r
1072 "You can change whether Auto or not for all bass neck/pick at once." );
\r
1073 this.list項目リスト.Add( this.iBassAutoPlayAll );
\r
1074 this.iBassR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.BsR,
\r
1076 "To play R neck automatically." );
\r
1077 this.list項目リスト.Add( this.iBassR );
\r
1078 this.iBassG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.BsG,
\r
1080 "To play G neck automatically." );
\r
1081 this.list項目リスト.Add( this.iBassG );
\r
1082 this.iBassB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.BsB,
\r
1084 "To play B neck automatically." );
\r
1085 this.list項目リスト.Add( this.iBassB );
\r
1086 this.iBassPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.BsPick,
\r
1088 "To play Pick automatically." );
\r
1089 this.list項目リスト.Add( this.iBassPick );
\r
1090 this.iBassW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.BsW,
\r
1091 "ウェイリングを自動で演奏します。",
\r
1092 "To play wailing automatically." );
\r
1093 this.list項目リスト.Add( this.iBassW );
\r
1096 this.iBassScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Bass,
\r
1097 "演奏時のベース譜面のスクロールの速度を指定します。\n" +
\r
1098 "x0.5 ~ x1000.0 までを指定可能です。",
\r
1099 "To change the scroll speed for the bass lanes.\n" +
\r
1100 "You can set it from x0.5 to x1000.0.\n" +
\r
1101 "(ScrollSpeed=x0.5 means half speed)" );
\r
1102 this.list項目リスト.Add( this.iBassScrollSpeed );
\r
1104 this.iBassSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue( E楽器パート.BASS ),
\r
1105 "ベースチップの表示方式:\n" +
\r
1106 "OFF: チップを常に表示します。\n" +
\r
1107 "Sudden: チップがヒットバー付近に来るまで表示\n" +
\r
1109 "Hidden: チップがヒットバー付近で表示されなく\n" +
\r
1111 "Sud+Hid: SuddenとHiddenの効果を同時にかけ\n" +
\r
1113 "S(emi)-Invisible:\n" +
\r
1114 " 通常はチップを透明にしますが、Bad時\n" +
\r
1115 " にはしばらく表示します。\n" +
\r
1116 "F(ull)-Invisible:\n" +
\r
1117 " チップを常に透明にします。暗譜での練習\n" +
\r
1119 "Bass chips display type:\n" +
\r
1121 "OFF: Always show chips.\n" +
\r
1122 "Sudden: The chips are disappered until they\n" +
\r
1123 " come near the hit bar, and suddenly\n" +
\r
1125 "Hidden: The chips are hidden by approaching to\n" +
\r
1126 " the hit bar.\n" +
\r
1127 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
1128 "S(emi)-Invisible:\n" +
\r
1129 " Usually you can't see the chips except\n" +
\r
1130 " you've gotten Bad.\n" +
\r
1131 "F(ull)-Invisible:\n" +
\r
1132 " You can't see the chips at all.",
\r
1133 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
1134 this.list項目リスト.Add( this.iBassSudHid );
\r
1136 //this.iBassSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Bass,
\r
1137 // "ベースチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
1138 // "Bass chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
1139 //this.list項目リスト.Add( this.iBassSudden );
\r
1140 //this.iBassHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Bass,
\r
1141 // "ベースチップがヒットバー付近で表示\nされなくなります。",
\r
1142 // "Bass chips are hidden by approaching\nto the hit bar." );
\r
1143 //this.list項目リスト.Add( this.iBassHidden );
\r
1145 //this.iBassInvisible = new CItemList( "InvisibleBlindfold", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Bass,
\r
1146 // "ベースのチップを全く表示しなくなりま\n" +
\r
1147 // "す。暗譜での練習にお使いください。\n" +
\r
1148 // "これをONにすると、SuddenとHiddenの\n" +
\r
1150 // "If you set Blindfold=ON, you can't\n" +
\r
1151 // "see the chips at all.",
\r
1152 // new string[] { "OFF", "HALF", "ON"} );
\r
1153 //this.list項目リスト.Add( this.iBassInvisible );
\r
1155 this.iBassReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Bass,
\r
1156 "ベースチップが譜面の上から下に流れるようになります。",
\r
1157 "The scroll way is reversed. Bass chips flow from the top to the bottom." );
\r
1158 this.list項目リスト.Add( this.iBassReverse );
\r
1160 this.iSystemJudgePosBass = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Bass,
\r
1162 "判定ラインとRGBボタンが、少し下側に表示されるようになります。",
\r
1163 "Judge Line position:\n" +
\r
1164 "The judge line and RGB buttons will be displayed lower position.",
\r
1165 new string[] { "Normal", "Lower" } );
\r
1166 this.list項目リスト.Add( this.iSystemJudgePosBass );
\r
1168 this.iBassPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常,
\r
1169 (int) CDTXMania.ConfigIni.判定文字表示位置.Bass,
\r
1170 "ベースの判定文字の表示位置を指定します。\n" +
\r
1172 " P-B: 判定ラインの上\n" +
\r
1173 " P-C: COMBO の下\n" +
\r
1175 "The position to show judgement mark.\n" +
\r
1176 "(Perfect, Great, ...)\n" +
\r
1178 " P-A: on the lanes.\n" +
\r
1179 " P-B: over the hit bar.\n" +
\r
1180 " P-C: under the COMBO indication.\n" +
\r
1181 " OFF: no judgement mark.",
\r
1182 new string[] { "OFF", "P-A", "P-B", "P-C" } );
\r
1183 this.list項目リスト.Add( this.iBassPosition );
\r
1185 //this.iBassJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Bass,
\r
1186 //"判定文字列とコンボ表示の優先順位を\n" +
\r
1189 //" Under: チップの下に表示します。\n" +
\r
1190 //" Over: チップの上に表示します。",
\r
1191 //"The display prioity between chips\n" +
\r
1192 //" and judge mark/combo.\n" +
\r
1194 //" Under: Show them under the chips.\n" +
\r
1195 //" Over: Show them over the chips.",
\r
1196 //new string[] { "Under", "Over" } );
\r
1197 //this.list項目リスト.Add( this.iBassJudgeDispPriority );
\r
1199 this.iBassRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常,
\r
1200 (int) CDTXMania.ConfigIni.eRandom.Bass,
\r
1201 "ベースのチップがランダムに降ってきます。\n" +
\r
1202 " Part: 小節・レーン単位で交換\n" +
\r
1203 " Super: チップ単位で交換\n" +
\r
1204 " Hyper: 全部完全に変更",
\r
1205 "Bass chips come randomly.\n" +
\r
1207 " Part: swapping lanes randomly for each measures.\n" +
\r
1208 " Super: swapping chip randomly\n" +
\r
1209 " Hyper: swapping randomly (number of lanes also changes)",
\r
1210 new string[] { "OFF", "Part", "Super", "Hyper" } );
\r
1211 this.list項目リスト.Add( this.iBassRandom );
\r
1212 this.iBassLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Bass,
\r
1213 "ベースチップのないところでピッキングしても BAD になりません。",
\r
1214 "Even if you pick without any chips, it doesn't become BAD." );
\r
1215 this.list項目リスト.Add( this.iBassLight );
\r
1216 this.iBassLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Bass,
\r
1217 "ベースの RGB の並びが左右反転します。(左利きモード)",
\r
1218 "Lane order 'R-G-B' becomes 'B-G-R' for lefty." );
\r
1219 this.list項目リスト.Add( this.iBassLeft );
\r
1221 this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Bass,
\r
1223 "ベース音を他の音より大きめの音量で発声します。\n" +
\r
1224 "ただし、オートプレイの場合は通常音量で発声されます。",
\r
1225 "To enhance the bass chip sound (except autoplay)." );
\r
1226 this.list項目リスト.Add( this.iSystemSoundMonitorBass );
\r
1228 this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass,
\r
1229 "表示可能な最小コンボ数(ベース):\n" +
\r
1230 "画面に表示されるコンボの最小の数を指定します。\n" +
\r
1231 "1 ~ 99999 の値が指定可能です。",
\r
1232 "Initial number to show the combo for the bass.\n" +
\r
1233 "You can specify from 1 to 99999." );
\r
1234 this.list項目リスト.Add( this.iSystemMinComboBass );
\r
1237 // #23580 2011.1.3 yyagi
\r
1238 this.iBassInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass,
\r
1239 "ベースの入力タイミングの微調整を行います。\n" +
\r
1240 "-99 ~ 99ms まで指定可能です。\n" +
\r
1241 "入力ラグを軽減するためには、負の値を指定してください。",
\r
1242 "To adjust the bass input timing.\n" +
\r
1243 "You can set from -99 to 99ms.\n" +
\r
1244 "To decrease input lag, set minus value." );
\r
1245 this.list項目リスト.Add( this.iBassInputAdjustTimeMs );
\r
1247 this.iBassGoToKeyAssign = new CItemBase( "Bass Keys", CItemBase.Eパネル種別.通常,
\r
1248 "ベースのキー入力に関する項目を設定します。",
\r
1249 "Settings for the bass key/pad inputs." );
\r
1250 this.list項目リスト.Add( this.iBassGoToKeyAssign );
\r
1253 this.n現在の選択項目 = 0;
\r
1254 this.eメニュー種別 = Eメニュー種別.Bass;
\r
1258 /// <summary>Sud+Hidの初期値を返す</summary>
\r
1259 /// <param name="eInst"></param>
\r
1265 /// 4: Semi-Invisible
\r
1266 /// 5: Full-Invisible
\r
1268 private int getDefaultSudHidValue( E楽器パート eInst )
\r
1271 int nInst = (int) eInst;
\r
1272 if ( CDTXMania.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF )
\r
1274 defvar = (int) CDTXMania.ConfigIni.eInvisible[ nInst ] + 3;
\r
1278 defvar = ( CDTXMania.ConfigIni.bSudden[ nInst ] ? 1 : 0 ) +
\r
1279 ( CDTXMania.ConfigIni.bHidden[ nInst ] ? 2 : 0 );
\r
1285 /// ESC押下時の右メニュー描画
\r
1287 public void tEsc押下()
\r
1289 if ( this.b要素値にフォーカス中 ) // #32059 2013.9.17 add yyagi
\r
1291 this.b要素値にフォーカス中 = false;
\r
1294 if ( this.eメニュー種別 == Eメニュー種別.KeyAssignSystem )
\r
1296 t項目リストの設定・System();
\r
1298 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums )
\r
1300 t項目リストの設定・Drums();
\r
1302 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignGuitar )
\r
1304 t項目リストの設定・Guitar();
\r
1306 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignBass )
\r
1312 public void tEnter押下()
\r
1314 CDTXMania.Skin.sound決定音.t再生する();
\r
1315 if( this.b要素値にフォーカス中 )
\r
1317 this.b要素値にフォーカス中 = false;
\r
1319 else if( this.list項目リスト[ this.n現在の選択項目 ].e種別 == CItemBase.E種別.整数 )
\r
1321 this.b要素値にフォーカス中 = true;
\r
1323 else if( this.b現在選択されている項目はReturnToMenuである )
\r
1325 //this.tConfigIniへ記録する();
\r
1326 //CONFIG中にスキン変化が発生すると面倒なので、一旦マスクした。
\r
1328 #region [ 個々のキーアサイン ]
\r
1329 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC )
\r
1331 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC );
\r
1333 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHC )
\r
1335 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HH );
\r
1337 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHO )
\r
1339 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HHO );
\r
1341 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsSD )
\r
1343 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.SD );
\r
1345 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsBD )
\r
1347 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.BD );
\r
1349 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHT )
\r
1351 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HT );
\r
1353 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLT )
\r
1355 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LT );
\r
1357 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsFT )
\r
1359 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.FT );
\r
1361 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsCY )
\r
1363 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.CY );
\r
1365 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsRD )
\r
1367 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RD );
\r
1369 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHP ) // #27029 2012.1.4 from
\r
1371 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HP ); //
\r
1373 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarR )
\r
1375 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.R );
\r
1377 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarG )
\r
1379 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.G );
\r
1381 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarB )
\r
1383 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.B );
\r
1385 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarPick )
\r
1387 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Pick );
\r
1389 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarWail )
\r
1391 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Wail );
\r
1393 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarDecide )
\r
1395 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Decide );
\r
1397 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarCancel )
\r
1399 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel );
\r
1401 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassR )
\r
1403 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.R );
\r
1405 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassG )
\r
1407 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.G );
\r
1409 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassB )
\r
1411 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.B );
\r
1413 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassPick )
\r
1415 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Pick );
\r
1417 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassWail )
\r
1419 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Wail );
\r
1421 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassDecide )
\r
1423 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Decide );
\r
1425 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel )
\r
1427 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Cancel );
\r
1429 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemCapture )
\r
1431 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture);
\r
1436 // #27029 2012.1.5 from
\r
1437 if( ( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) &&
\r
1438 ( ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHHGroup ) || ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHitSoundPriorityHH ) ) )
\r
1445 this.list項目リスト[ this.n現在の選択項目 ].tEnter押下();
\r
1451 if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemFullscreen )
\r
1453 CDTXMania.app.b次のタイミングで全画面・ウィンドウ切り替えを行う = true;
\r
1455 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemVSyncWait )
\r
1457 CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
1458 CDTXMania.app.b次のタイミングで垂直帰線同期切り替えを行う = true;
\r
1460 #region [ AutoPlay #23886 2012.5.8 yyagi ]
\r
1461 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsAutoPlayAll )
\r
1463 this.t全部のドラムパッドのAutoを切り替える( this.iDrumsAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1465 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iGuitarAutoPlayAll )
\r
1467 this.t全部のギターパッドのAutoを切り替える( this.iGuitarAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1469 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iBassAutoPlayAll )
\r
1471 this.t全部のベースパッドのAutoを切り替える( this.iBassAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1474 #region [ キーアサインへの遷移と脱出 ]
\r
1475 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGoToKeyAssign ) // #24609 2011.4.12 yyagi
\r
1477 t項目リストの設定・KeyAssignSystem();
\r
1479 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemReturnToMenu ) // #24609 2011.4.12 yyagi
\r
1481 t項目リストの設定・System();
\r
1483 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1485 t項目リストの設定・KeyAssignDrums();
\r
1487 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1489 t項目リストの設定・Drums();
\r
1491 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iGuitarGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1493 t項目リストの設定・KeyAssignGuitar();
\r
1495 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1497 t項目リストの設定・Guitar();
\r
1499 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iBassGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1501 t項目リストの設定・KeyAssignBass();
\r
1503 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1508 #region [ BDGroup #27029 2012.1.4 from ]
\r
1509 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemBDGroup ) // #27029 2012.1.4 from
\r
1511 if( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD )
\r
1513 // #27029 2012.1.5 from: 変更前の状態をバックアップする。
\r
1514 CDTXMania.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() {
\r
1515 eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号,
\r
1516 eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号,
\r
1519 // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし
\r
1520 if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.全部打ち分ける )
\r
1521 this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.左シンバルのみ打ち分ける;
\r
1522 if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.ハイハットのみ打ち分ける )
\r
1523 this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.全部共通;
\r
1525 // HH Priority ... C>P → 変更なし / P>C → C>P
\r
1526 if( this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int) E打ち分け時の再生の優先順位.PadがChipより優先 )
\r
1527 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) E打ち分け時の再生の優先順位.ChipがPadより優先;
\r
1531 // #27029 2012.1.5 from: 変更前の状態に戻す。
\r
1532 this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHHGroup;
\r
1533 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHitSoundPriorityHH;
\r
1535 CDTXMania.ConfigIni.BackupOf1BD = null;
\r
1539 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemUseBoxDefSkin ) // #28195 2012.5.6 yyagi
\r
1541 CSkin.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON;
\r
1543 #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。]
\r
1544 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder ) // #28195 2012.5.2 yyagi
\r
1546 tGenerateSkinSample();
\r
1549 #region [ 曲データ一覧の再読み込み ]
\r
1550 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemReloadDTX ) // #32081 2013.10.21 yyagi
\r
1552 if ( CDTXMania.EnumSongs.IsEnumerating )
\r
1554 // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" );
\r
1555 CDTXMania.EnumSongs.Abort();
\r
1556 CDTXMania.actEnumSongs.On非活性化();
\r
1559 CDTXMania.EnumSongs.StartEnumFromDisk();
\r
1560 CDTXMania.EnumSongs.ChangeEnumeratePriority( ThreadPriority.Normal );
\r
1561 CDTXMania.actEnumSongs.bコマンドでの曲データ取得 = true;
\r
1562 CDTXMania.actEnumSongs.On活性化();
\r
1568 private void tGenerateSkinSample()
\r
1570 nSkinIndex = ( ( CItemList ) this.list項目リスト[ this.n現在の選択項目 ] ).n現在選択されている項目番号;
\r
1571 if ( nSkinSampleIndex != nSkinIndex )
\r
1573 string path = skinSubFolders[ nSkinIndex ];
\r
1574 path = System.IO.Path.Combine( path, @"Graphics\ScreenTitle background.jpg" );
\r
1575 Bitmap bmSrc = new Bitmap( path );
\r
1576 Bitmap bmDest = new Bitmap( bmSrc.Width / 4, bmSrc.Height / 4 );
\r
1577 Graphics g = Graphics.FromImage( bmDest );
\r
1578 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
\r
1579 g.DrawImage( bmSrc, new Rectangle( 0, 0, bmSrc.Width / 4, bmSrc.Height / 4 ),
\r
1580 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel );
\r
1581 if ( txSkinSample1 != null )
\r
1583 CDTXMania.t安全にDisposeする( ref txSkinSample1 );
\r
1585 txSkinSample1 = CDTXMania.tテクスチャの生成( bmDest, false );
\r
1589 nSkinSampleIndex = nSkinIndex;
\r
1593 #region [ 項目リストの設定 ( Exit, KeyAssignSystem/Drums/Guitar/Bass) ]
\r
1594 public void t項目リストの設定・Exit()
\r
1596 this.tConfigIniへ記録する();
\r
1597 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1599 public void t項目リストの設定・KeyAssignSystem()
\r
1601 //this.tConfigIniへ記録する();
\r
1602 this.list項目リスト.Clear();
\r
1604 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1606 this.iKeyAssignSystemReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1608 "Return to left menu." );
\r
1609 this.list項目リスト.Add( this.iKeyAssignSystemReturnToMenu );
\r
1610 this.iKeyAssignSystemCapture = new CItemBase( "Capture",
\r
1612 "画面キャプチャのキーの割り当てを設定します。",
\r
1613 "Capture key assign:\n" +
\r
1614 "To assign key for screen capture.\n" +
\r
1615 "(You can assign keyboard only. You can't use pads to capture screenshot.)" );
\r
1616 this.list項目リスト.Add( this.iKeyAssignSystemCapture );
\r
1619 this.n現在の選択項目 = 0;
\r
1620 this.eメニュー種別 = Eメニュー種別.KeyAssignSystem;
\r
1622 public void t項目リストの設定・KeyAssignDrums()
\r
1624 // this.tConfigIniへ記録する();
\r
1625 this.list項目リスト.Clear();
\r
1627 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1629 this.iKeyAssignDrumsReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1631 "Return to left menu." );
\r
1632 this.list項目リスト.Add( this.iKeyAssignDrumsReturnToMenu );
\r
1633 this.iKeyAssignDrumsLC = new CItemBase( "LeftCymbal",
\r
1635 "左シンバルへのキーの割り当てを設定します。",
\r
1636 "Drums key assign:\n" +
\r
1637 "To assign key/pads for LeftCymbal button." );
\r
1638 this.list項目リスト.Add( this.iKeyAssignDrumsLC );
\r
1639 this.iKeyAssignDrumsHHC = new CItemBase( "HiHat(Close)",
\r
1641 "ハイハット(クローズ)へのキーの割り当てを設定します。",
\r
1642 "Drums key assign:\n" +
\r
1643 "To assign key/pads for HiHat(Close) button." );
\r
1644 this.list項目リスト.Add( this.iKeyAssignDrumsHHC );
\r
1645 this.iKeyAssignDrumsHHO = new CItemBase( "HiHat(Open)",
\r
1647 "ハイハット(オープン)へのキーの割り当てを設定します。",
\r
1648 "Drums key assign:\n" +
\r
1649 "To assign key/pads for HiHat(Open) button." );
\r
1650 this.list項目リスト.Add( this.iKeyAssignDrumsHHO );
\r
1651 this.iKeyAssignDrumsSD = new CItemBase( "Snare",
\r
1653 "スネアへのキーの割り当てを設定します。",
\r
1654 "Drums key assign:\n" +
\r
1655 "To assign key/pads for Snare button." );
\r
1656 this.list項目リスト.Add( this.iKeyAssignDrumsSD );
\r
1657 this.iKeyAssignDrumsBD = new CItemBase( "Bass",
\r
1659 "バスドラムへのキーの割り当てを設定します。",
\r
1660 "Drums key assign:\n" +
\r
1661 "To assign key/pads for Bass button." );
\r
1662 this.list項目リスト.Add( this.iKeyAssignDrumsBD );
\r
1663 this.iKeyAssignDrumsHT = new CItemBase( "HighTom",
\r
1665 "ハイタムへのキーの割り当てを設定します。",
\r
1666 "Drums key assign:\n" +
\r
1667 "To assign key/pads for HighTom button." );
\r
1668 this.list項目リスト.Add( this.iKeyAssignDrumsHT );
\r
1669 this.iKeyAssignDrumsLT = new CItemBase( "LowTom",
\r
1671 "ロータムへのキーの割り当てを設定します。",
\r
1672 "Drums key assign:\n" +
\r
1673 "To assign key/pads for LowTom button." );
\r
1674 this.list項目リスト.Add( this.iKeyAssignDrumsLT );
\r
1675 this.iKeyAssignDrumsFT = new CItemBase( "FloorTom",
\r
1677 "フロアタムへのキーの割り当てを設定します。",
\r
1678 "Drums key assign:\n" +
\r
1679 "To assign key/pads for FloorTom button." );
\r
1680 this.list項目リスト.Add( this.iKeyAssignDrumsFT );
\r
1681 this.iKeyAssignDrumsCY = new CItemBase( "RightCymbal",
\r
1683 "右シンバルへのキーの割り当てを設定します。",
\r
1684 "Drums key assign:\n" +
\r
1685 "To assign key/pads for RightCymbal button." );
\r
1686 this.list項目リスト.Add( this.iKeyAssignDrumsCY );
\r
1687 this.iKeyAssignDrumsRD = new CItemBase( "RideCymbal",
\r
1689 "ライドシンバルへのキーの割り当てを設定します。",
\r
1690 "Drums key assign:\n" +
\r
1691 "To assign key/pads for RideCymbal button." );
\r
1692 this.list項目リスト.Add( this.iKeyAssignDrumsRD );
\r
1693 this.iKeyAssignDrumsHP = new CItemBase( "HiHatPedal", // #27029 2012.1.4 from
\r
1694 "ドラムのキー設定:\n" + //
\r
1695 "ハイハットのフットペダルへのキーの割り当てを設定します。", //
\r
1696 "Drums key assign:\n" + //
\r
1697 "To assign key/pads for HiHatPedal button." ); //
\r
1698 this.list項目リスト.Add( this.iKeyAssignDrumsHP ); //
\r
1701 this.n現在の選択項目 = 0;
\r
1702 this.eメニュー種別 = Eメニュー種別.KeyAssignDrums;
\r
1704 public void t項目リストの設定・KeyAssignGuitar()
\r
1706 // this.tConfigIniへ記録する();
\r
1707 this.list項目リスト.Clear();
\r
1709 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1711 this.iKeyAssignGuitarReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1713 "Return to left menu." );
\r
1714 this.list項目リスト.Add( this.iKeyAssignGuitarReturnToMenu );
\r
1715 this.iKeyAssignGuitarR = new CItemBase( "R",
\r
1717 "Rボタンへのキーの割り当てを設定します。",
\r
1718 "Guitar key assign:\n" +
\r
1719 "To assign key/pads for R button." );
\r
1720 this.list項目リスト.Add( this.iKeyAssignGuitarR );
\r
1721 this.iKeyAssignGuitarG = new CItemBase( "G",
\r
1723 "Gボタンへのキーの割り当てを設定します。",
\r
1724 "Guitar key assign:\n" +
\r
1725 "To assign key/pads for G button." );
\r
1726 this.list項目リスト.Add( this.iKeyAssignGuitarG );
\r
1727 this.iKeyAssignGuitarB = new CItemBase( "B",
\r
1729 "Bボタンへのキーの割り当てを設定します。",
\r
1730 "Guitar key assign:\n" +
\r
1731 "To assign key/pads for B button." );
\r
1732 this.list項目リスト.Add( this.iKeyAssignGuitarB );
\r
1733 this.iKeyAssignGuitarPick = new CItemBase( "Pick",
\r
1735 "ピックボタンへのキーの割り当てを設定します。",
\r
1736 "Guitar key assign:\n" +
\r
1737 "To assign key/pads for Pick button." );
\r
1738 this.list項目リスト.Add( this.iKeyAssignGuitarPick );
\r
1739 this.iKeyAssignGuitarWail = new CItemBase( "Wailing",
\r
1741 "Wailingボタンへのキーの割り当てを設定します。",
\r
1742 "Guitar key assign:\nTo assign key/pads for Wailing button." );
\r
1743 this.list項目リスト.Add( this.iKeyAssignGuitarWail );
\r
1744 this.iKeyAssignGuitarDecide = new CItemBase( "Decide",
\r
1746 "決定ボタンへのキーの割り当てを設定します。",
\r
1747 "Guitar key assign:\nTo assign key/pads for Decide button." );
\r
1748 this.list項目リスト.Add( this.iKeyAssignGuitarDecide );
\r
1749 this.iKeyAssignGuitarCancel = new CItemBase( "Cancel",
\r
1751 "キャンセルボタンへのキーの割り当てを設定します。",
\r
1752 "Guitar key assign:\n" +
\r
1753 "To assign key/pads for Cancel button." );
\r
1754 this.list項目リスト.Add( this.iKeyAssignGuitarCancel );
\r
1757 this.n現在の選択項目 = 0;
\r
1758 this.eメニュー種別 = Eメニュー種別.KeyAssignGuitar;
\r
1760 public void t項目リストの設定・KeyAssignBass()
\r
1762 // this.tConfigIniへ記録する();
\r
1763 this.list項目リスト.Clear();
\r
1765 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1767 this.iKeyAssignBassReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1769 "Return to left menu." );
\r
1770 this.list項目リスト.Add( this.iKeyAssignBassReturnToMenu );
\r
1771 this.iKeyAssignBassR = new CItemBase( "R",
\r
1773 "Rボタンへのキーの割り当てを設定します。",
\r
1774 "Bass key assign:\n" +
\r
1775 "To assign key/pads for R button." );
\r
1776 this.list項目リスト.Add( this.iKeyAssignBassR );
\r
1777 this.iKeyAssignBassG = new CItemBase( "G",
\r
1779 "Gボタンへのキーの割り当てを設定します。",
\r
1780 "Bass key assign:\n" +
\r
1781 "To assign key/pads for G button." );
\r
1782 this.list項目リスト.Add( this.iKeyAssignBassG );
\r
1783 this.iKeyAssignBassB = new CItemBase( "B",
\r
1785 "Bボタンへのキーの割り当てを設定します。",
\r
1786 "Bass key assign:\n" +
\r
1787 "To assign key/pads for B button." );
\r
1788 this.list項目リスト.Add( this.iKeyAssignBassB );
\r
1789 this.iKeyAssignBassPick = new CItemBase( "Pick",
\r
1791 "ピックボタンへのキーの割り当てを設定します。",
\r
1792 "Bass key assign:\n" +
\r
1793 "To assign key/pads for Pick button." );
\r
1794 this.list項目リスト.Add( this.iKeyAssignBassPick );
\r
1795 this.iKeyAssignBassWail = new CItemBase( "Wailing",
\r
1797 "Wailingボタンへのキーの割り当てを設定します。",
\r
1798 "Bass key assign:\n" +
\r
1799 "To assign key/pads for Wailing button." );
\r
1800 this.list項目リスト.Add( this.iKeyAssignBassWail );
\r
1801 this.iKeyAssignBassDecide = new CItemBase( "Decide",
\r
1803 "決定ボタンへのキーの割り当てを設定します。",
\r
1804 "Bass key assign:\n" +
\r
1805 "To assign key/pads for Decide button." );
\r
1806 this.list項目リスト.Add( this.iKeyAssignBassDecide );
\r
1807 this.iKeyAssignBassCancel = new CItemBase( "Cancel",
\r
1809 "キャンセルボタンへのキーの割り当てを設定します。",
\r
1810 "Bass key assign:\n" +
\r
1811 "To assign key/pads for Cancel button." );
\r
1812 this.list項目リスト.Add( this.iKeyAssignBassCancel );
\r
1815 this.n現在の選択項目 = 0;
\r
1816 this.eメニュー種別 = Eメニュー種別.KeyAssignBass;
\r
1819 public void t次に移動()
\r
1821 CDTXMania.Skin.soundカーソル移動音.t再生する();
\r
1822 if( this.b要素値にフォーカス中 )
\r
1824 this.list項目リスト[ this.n現在の選択項目 ].t項目値を前へ移動();
\r
1829 this.n目標のスクロールカウンタ += 100;
\r
1832 public void t前に移動()
\r
1834 CDTXMania.Skin.soundカーソル移動音.t再生する();
\r
1835 if( this.b要素値にフォーカス中 )
\r
1837 this.list項目リスト[ this.n現在の選択項目 ].t項目値を次へ移動();
\r
1842 this.n目標のスクロールカウンタ -= 100;
\r
1845 private void t要素値を上下に変更中の処理()
\r
1847 //if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemMasterVolume ) // #33700 2014.4.26 yyagi
\r
1849 // CDTXMania.Sound管理.nMasterVolume = this.iSystemMasterVolume.n現在の値;
\r
1856 public override void On活性化()
\r
1858 if( this.b活性化してる )
\r
1861 this.list項目リスト = new List<CItemBase>();
\r
1862 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1864 #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ]
\r
1865 int ns = ( CDTXMania.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strSystemSkinSubfolders.Length;
\r
1866 int nb = ( CDTXMania.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strBoxDefSkinSubfolders.Length;
\r
1867 skinSubFolders = new string[ ns + nb ];
\r
1868 for ( int i = 0; i < ns; i++ )
\r
1870 skinSubFolders[ i ] = CDTXMania.Skin.strSystemSkinSubfolders[ i ];
\r
1872 for ( int i = 0; i < nb; i++ )
\r
1874 skinSubFolders[ ns + i ] = CDTXMania.Skin.strBoxDefSkinSubfolders[ i ];
\r
1876 skinSubFolder_org = CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true );
\r
1877 Array.Sort( skinSubFolders );
\r
1878 skinNames = CSkin.GetSkinName( skinSubFolders );
\r
1879 nSkinIndex = Array.BinarySearch( skinSubFolders, skinSubFolder_org );
\r
1880 if ( nSkinIndex < 0 ) // 念のため
\r
1884 nSkinSampleIndex = -1;
\r
1887 this.prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), (int) ( 18 * Scale.Y ) ); // t項目リストの設定 の前に必要
\r
1888 // this.listMenu = new List<stMenuItemRight>();
\r
1891 this.t項目リストの設定・Bass(); // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、
\r
1892 this.t項目リストの設定・Guitar(); // 活性化の時点でDrumsの設定も入れ込んでおかないと、System設定中に例外発生することがある。
\r
1893 this.t項目リストの設定・Drums(); //
\r
1894 this.t項目リストの設定・System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。
\r
1895 this.b要素値にフォーカス中 = false;
\r
1896 this.n目標のスクロールカウンタ = 0;
\r
1897 this.n現在のスクロールカウンタ = 0;
\r
1898 this.nスクロール用タイマ値 = -1;
\r
1899 this.ct三角矢印アニメ = new CCounter();
\r
1901 this.iSystemSoundType_initial = this.iSystemSoundType.n現在選択されている項目番号; // CONFIGに入ったときの値を保持しておく
\r
1902 // this.iSystemWASAPIBufferSizeMs_initial = this.iSystemWASAPIBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら
\r
1903 // this.iSystemASIOBufferSizeMs_initial = this.iSystemASIOBufferSizeMs.n現在の値; // サウンドデバイスを再構築する
\r
1904 this.iSystemASIODevice_initial = this.iSystemASIODevice.n現在選択されている項目番号; //
\r
1905 this.iSystemSoundTimerType_initial = this.iSystemSoundTimerType.GetIndex(); //
\r
1908 public override void On非活性化()
\r
1910 if( this.b活性化してない )
\r
1913 this.tConfigIniへ記録する();
\r
1914 this.list項目リスト.Clear();
\r
1915 this.ct三角矢印アニメ = null;
\r
1918 prvFont.Dispose();
\r
1921 #region [ Skin変更 ]
\r
1922 if ( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org )
\r
1924 CDTXMania.stageChangeSkin.tChangeSkinMain(); // #28195 2012.6.11 yyagi CONFIG脱出時にSkin更新
\r
1928 // #24820 2013.1.22 yyagi CONFIGでWASAPI/ASIO/DirectSound関連の設定を変更した場合、サウンドデバイスを再構築する。
\r
1929 // #33689 2014.6.17 yyagi CONFIGでSoundTimerTypeの設定を変更した場合も、サウンドデバイスを再構築する。
\r
1930 #region [ サウンドデバイス変更 ]
\r
1931 if ( this.iSystemSoundType_initial != this.iSystemSoundType.n現在選択されている項目番号 ||
\r
1932 // this.iSystemWASAPIBufferSizeMs_initial != this.iSystemWASAPIBufferSizeMs.n現在の値 ||
\r
1933 // this.iSystemASIOBufferSizeMs_initial != this.iSystemASIOBufferSizeMs.n現在の値 ||
\r
1934 this.iSystemASIODevice_initial != this.iSystemASIODevice.n現在選択されている項目番号 ||
\r
1935 this.iSystemSoundTimerType_initial != this.iSystemSoundTimerType.GetIndex() )
\r
1937 ESoundDeviceType soundDeviceType;
\r
1938 switch ( this.iSystemSoundType.n現在選択されている項目番号 )
\r
1941 soundDeviceType = ESoundDeviceType.DirectSound;
\r
1944 soundDeviceType = ESoundDeviceType.ASIO;
\r
1947 soundDeviceType = ESoundDeviceType.ExclusiveWASAPI;
\r
1950 soundDeviceType = ESoundDeviceType.Unknown;
\r
1954 CDTXMania.Sound管理.t初期化( soundDeviceType,
\r
1956 // this.iSystemWASAPIBufferSizeMs.n現在の値,
\r
1958 // this.iSystemASIOBufferSizeMs.n現在の値,
\r
1959 this.iSystemASIODevice.n現在選択されている項目番号,
\r
1960 this.iSystemSoundTimerType.bON );
\r
1961 CDTXMania.app.ShowWindowTitleWithSoundType();
\r
1964 #region [ サウンドのタイムストレッチモード変更 ]
\r
1965 FDK.CSound管理.bIsTimeStretch = this.iSystemTimeStretch.bON;
\r
1968 public override void OnManagedリソースの作成()
\r
1970 if( this.b活性化してない )
\r
1973 this.tx通常項目行パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false );
\r
1974 this.txその他項目行パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false );
\r
1975 this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false );
\r
1976 this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない
\r
1977 base.OnManagedリソースの作成();
\r
1979 public override void OnManagedリソースの解放()
\r
1981 if( this.b活性化してない )
\r
1984 CDTXMania.tテクスチャの解放( ref this.txSkinSample1 );
\r
1985 CDTXMania.tテクスチャの解放( ref this.tx通常項目行パネル );
\r
1986 CDTXMania.tテクスチャの解放( ref this.txその他項目行パネル );
\r
1987 CDTXMania.tテクスチャの解放( ref this.tx三角矢印 );
\r
1989 base.OnManagedリソースの解放();
\r
1992 private void OnListMenuの初期化()
\r
1995 this.listMenu = new stMenuItemRight[ this.list項目リスト.Count ];
\r
1999 /// 事前にレンダリングしておいたテクスチャを解放する。
\r
2001 private void OnListMenuの解放()
\r
2003 if ( listMenu != null )
\r
2005 for ( int i = 0; i < listMenu.Length; i++ )
\r
2007 if ( listMenu[ i ].txParam != null )
\r
2009 listMenu[ i ].txParam.Dispose();
\r
2011 if ( listMenu[ i ].txMenuItemRight != null )
\r
2013 listMenu[ i ].txMenuItemRight.Dispose();
\r
2016 this.listMenu = null;
\r
2019 public override int On進行描画()
\r
2021 throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );
\r
2023 public int t進行描画( bool b項目リスト側にフォーカスがある )
\r
2025 if( this.b活性化してない )
\r
2030 #region [ 初めての進行描画 ]
\r
2031 //-----------------
\r
2032 if( base.b初めての進行描画 )
\r
2034 this.nスクロール用タイマ値 = CSound管理.rc演奏用タイマ.n現在時刻;
\r
2035 this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer );
\r
2037 base.b初めての進行描画 = false;
\r
2039 //-----------------
\r
2042 this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶
\r
2044 #region [ 項目スクロールの進行 ]
\r
2045 //-----------------
\r
2046 long n現在時刻 = CDTXMania.Timer.n現在時刻;
\r
2047 if( n現在時刻 < this.nスクロール用タイマ値 ) this.nスクロール用タイマ値 = n現在時刻;
\r
2049 const int INTERVAL = 2; // [ms]
\r
2050 while( ( n現在時刻 - this.nスクロール用タイマ値 ) >= INTERVAL )
\r
2052 int n目標項目までのスクロール量 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) );
\r
2055 #region [ n加速度の決定;目標まで遠いほど加速する。]
\r
2056 //-----------------
\r
2057 if( n目標項目までのスクロール量 <= 100 )
\r
2061 else if( n目標項目までのスクロール量 <= 300 )
\r
2065 else if( n目標項目までのスクロール量 <= 500 )
\r
2073 //-----------------
\r
2075 #region [ this.n現在のスクロールカウンタに n加速度 を加減算。]
\r
2076 //-----------------
\r
2077 if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )
\r
2079 this.n現在のスクロールカウンタ += n加速度;
\r
2080 if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )
\r
2083 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2086 else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )
\r
2088 this.n現在のスクロールカウンタ -= n加速度;
\r
2089 if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )
\r
2092 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2095 //-----------------
\r
2097 #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。]
\r
2098 //-----------------
\r
2099 if( this.n現在のスクロールカウンタ >= 100 )
\r
2101 this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 );
\r
2102 this.n現在のスクロールカウンタ -= 100;
\r
2103 this.n目標のスクロールカウンタ -= 100;
\r
2104 if( this.n目標のスクロールカウンタ == 0 )
\r
2106 CDTXMania.stageコンフィグ.t項目変更通知();
\r
2109 else if( this.n現在のスクロールカウンタ <= -100 )
\r
2111 this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 );
\r
2112 this.n現在のスクロールカウンタ += 100;
\r
2113 this.n目標のスクロールカウンタ += 100;
\r
2114 if( this.n目標のスクロールカウンタ == 0 )
\r
2116 CDTXMania.stageコンフィグ.t項目変更通知();
\r
2119 //-----------------
\r
2122 this.nスクロール用タイマ値 += INTERVAL;
\r
2124 //-----------------
\r
2127 #region [ ▲印アニメの進行 ]
\r
2128 //-----------------
\r
2129 if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )
\r
2130 this.ct三角矢印アニメ.t進行Loop();
\r
2131 //-----------------
\r
2137 this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 276 : 301; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。
\r
2139 #region [ 計11個の項目パネルを描画する。]
\r
2140 //-----------------
\r
2141 int nItem = this.n現在の選択項目;
\r
2142 for( int i = 0; i < 4; i++ )
\r
2143 nItem = this.t前の項目( nItem );
\r
2145 for( int n行番号 = -4; n行番号 < 6; n行番号++ ) // n行番号 == 0 がフォーカスされている項目パネル。
\r
2147 #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。]
\r
2148 //-----------------
\r
2149 if( ( ( n行番号 == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている
\r
2150 ( ( n行番号 == +5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている
\r
2152 nItem = this.t次の項目( nItem );
\r
2155 //-----------------
\r
2158 int n移動元の行の基本位置 = n行番号 + 4;
\r
2159 int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( n移動元の行の基本位置 + 1 ) % 10 ) : ( ( ( n移動元の行の基本位置 - 1 ) + 10 ) % 10 );
\r
2160 int x = this.ptパネルの基本座標[ n移動元の行の基本位置 ].X + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].X - this.ptパネルの基本座標[ n移動元の行の基本位置 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
\r
2161 int y = this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].Y - this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
\r
2163 #region [ 現在の行の項目パネル枠を描画。]
\r
2164 //-----------------
\r
2165 switch ( this.list項目リスト[ nItem ].eパネル種別 )
\r
2167 case CItemBase.Eパネル種別.通常:
\r
2168 if ( this.tx通常項目行パネル != null )
\r
2169 this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y );
\r
2172 case CItemBase.Eパネル種別.その他:
\r
2173 if ( this.txその他項目行パネル != null )
\r
2174 this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y );
\r
2177 //-----------------
\r
2179 #region [ 現在の行の項目名を描画。]
\r
2180 //-----------------
\r
2181 if ( listMenu[ nItem ].txMenuItemRight != null ) // 自前のキャッシュに含まれているようなら、再レンダリングせずキャッシュを使用
\r
2183 listMenu[ nItem ].txMenuItemRight.t2D描画( CDTXMania.app.Device, ( x + 0x12 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 );
\r
2187 Bitmap bmpItem = prvFont.DrawPrivateFont( this.list項目リスト[ nItem ].str項目名, Color.White, Color.Black );
\r
2188 listMenu[ nItem ].txMenuItemRight = CDTXMania.tテクスチャの生成( bmpItem );
\r
2189 // ctItem.t2D描画( CDTXMania.app.Device, ( x + 0x12 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 );
\r
2190 // CDTXMania.tテクスチャの解放( ref ctItem );
\r
2191 CDTXMania.t安全にDisposeする( ref bmpItem );
\r
2193 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 );
\r
2194 //-----------------
\r
2196 #region [ 現在の行の項目の要素を描画。]
\r
2197 //-----------------
\r
2198 string strParam = null;
\r
2200 switch ( this.list項目リスト[ nItem ].e種別 )
\r
2202 case CItemBase.E種別.ONorOFFトグル:
\r
2204 //-----------------
\r
2205 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" );
\r
2206 strParam = ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF";
\r
2208 //-----------------
\r
2211 case CItemBase.E種別.ONorOFFor不定スリーステート:
\r
2213 //-----------------
\r
2214 switch ( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 )
\r
2216 case CItemThreeState.E状態.ON:
\r
2220 case CItemThreeState.E状態.不定:
\r
2228 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" );
\r
2230 //-----------------
\r
2233 case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION)
\r
2235 //-----------------
\r
2236 if ( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed )
\r
2238 double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0;
\r
2239 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2240 strParam = d.ToString( "0.000" );
\r
2242 else if ( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed )
\r
2244 float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f;
\r
2245 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2246 strParam = f.ToString( "x0.0" );
\r
2250 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2251 strParam = ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString();
\r
2253 b強調 = ( n行番号 == 0 ) && this.b要素値にフォーカス中;
\r
2255 //-----------------
\r
2258 case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports
\r
2260 //-----------------
\r
2262 CItemList list = (CItemList) this.list項目リスト[ nItem ];
\r
2263 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] );
\r
2264 strParam = list.list項目値[ list.n現在選択されている項目番号 ];
\r
2266 #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ]
\r
2267 if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder )
\r
2269 tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。
\r
2270 if ( txSkinSample1 != null )
\r
2272 txSkinSample1.t2D描画( CDTXMania.app.Device, 56 * Scale.X, 300 * Scale.Y );
\r
2278 //-----------------
\r
2283 Bitmap bmpStr = b強調 ?
\r
2284 prvFont.DrawPrivateFont( strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) :
\r
2285 prvFont.DrawPrivateFont( strParam, Color.White, Color.Black );
\r
2286 CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false );
\r
2287 txStr.t2D描画( CDTXMania.app.Device, ( x + 210 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 );
\r
2288 CDTXMania.tテクスチャの解放( ref txStr );
\r
2289 CDTXMania.t安全にDisposeする( ref bmpStr );
\r
2293 int nIndex = this.list項目リスト[ nItem ].GetIndex();
\r
2294 if ( listMenu[ nItem ].nParam != nIndex || listMenu[ nItem ].txParam == null )
\r
2296 stMenuItemRight stm = listMenu[ nItem ];
\r
2297 stm.nParam = nIndex;
\r
2298 object o = this.list項目リスト[ nItem ].obj現在値();
\r
2299 stm.strParam = ( o == null ) ? "" : o.ToString();
\r
2302 prvFont.DrawPrivateFont( strParam, Color.White, Color.Black );
\r
2303 stm.txParam = CDTXMania.tテクスチャの生成( bmpStr, false );
\r
2304 CDTXMania.t安全にDisposeする( ref bmpStr );
\r
2306 listMenu[ nItem ] = stm;
\r
2308 listMenu[ nItem ].txParam.t2D描画( CDTXMania.app.Device, ( x + 210 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 );
\r
2310 //-----------------
\r
2313 nItem = this.t次の項目( nItem );
\r
2315 //-----------------
\r
2318 #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。]
\r
2319 //-----------------
\r
2320 if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )
\r
2328 if( this.b要素値にフォーカス中 )
\r
2330 x = 528; // 要素値の上下あたり。
\r
2331 y_upper = 198 - this.ct三角矢印アニメ.n現在の値;
\r
2332 y_lower = 242 + this.ct三角矢印アニメ.n現在の値;
\r
2336 x = 276; // 項目名の上下あたり。
\r
2337 y_upper = 186 - this.ct三角矢印アニメ.n現在の値;
\r
2338 y_lower = 254 + this.ct三角矢印アニメ.n現在の値;
\r
2343 if ( this.tx三角矢印 != null )
\r
2345 this.tx三角矢印.t2D描画( CDTXMania.app.Device, x * Scale.X, y_upper * Scale.Y, new Rectangle( 0, 0, (int) ( 32 * Scale.X ), (int) ( 16 * Scale.Y ) ) );
\r
2346 this.tx三角矢印.t2D描画( CDTXMania.app.Device, x * Scale.X, y_lower * Scale.Y, new Rectangle( 0, (int) ( 16 * Scale.Y ), (int) ( 32 * Scale.X ), (int) ( 16 * Scale.Y ) ) );
\r
2349 //-----------------
\r
2357 #region [ private ]
\r
2358 //-----------------
\r
2359 private enum Eメニュー種別
\r
2365 KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン
\r
2373 private bool b項目リスト側にフォーカスがある;
\r
2374 private bool b要素値にフォーカス中;
\r
2375 private CCounter ct三角矢印アニメ;
\r
2376 private Eメニュー種別 eメニュー種別;
\r
2377 #region [ キーコンフィグ ]
\r
2378 private CItemBase iKeyAssignSystemCapture; // #24609
\r
2379 private CItemBase iKeyAssignSystemReturnToMenu; // #24609
\r
2380 private CItemBase iKeyAssignBassB;
\r
2381 private CItemBase iKeyAssignBassCancel;
\r
2382 private CItemBase iKeyAssignBassDecide;
\r
2383 private CItemBase iKeyAssignBassG;
\r
2384 private CItemBase iKeyAssignBassPick;
\r
2385 private CItemBase iKeyAssignBassR;
\r
2386 private CItemBase iKeyAssignBassReturnToMenu;
\r
2387 private CItemBase iKeyAssignBassWail;
\r
2388 private CItemBase iKeyAssignDrumsBD;
\r
2389 private CItemBase iKeyAssignDrumsCY;
\r
2390 private CItemBase iKeyAssignDrumsFT;
\r
2391 private CItemBase iKeyAssignDrumsHHC;
\r
2392 private CItemBase iKeyAssignDrumsHHO;
\r
2393 private CItemBase iKeyAssignDrumsHT;
\r
2394 private CItemBase iKeyAssignDrumsLC;
\r
2395 private CItemBase iKeyAssignDrumsLT;
\r
2396 private CItemBase iKeyAssignDrumsRD;
\r
2397 private CItemBase iKeyAssignDrumsReturnToMenu;
\r
2398 private CItemBase iKeyAssignDrumsSD;
\r
2399 private CItemBase iKeyAssignDrumsHP; // #27029 2012.1.4 from
\r
2400 private CItemBase iKeyAssignGuitarB;
\r
2401 private CItemBase iKeyAssignGuitarCancel;
\r
2402 private CItemBase iKeyAssignGuitarDecide;
\r
2403 private CItemBase iKeyAssignGuitarG;
\r
2404 private CItemBase iKeyAssignGuitarPick;
\r
2405 private CItemBase iKeyAssignGuitarR;
\r
2406 private CItemBase iKeyAssignGuitarReturnToMenu;
\r
2407 private CItemBase iKeyAssignGuitarWail;
\r
2409 private CItemToggle iLogOutputLog;
\r
2410 private CItemToggle iSystemAdjustWaves;
\r
2411 private CItemToggle iSystemAudienceSound;
\r
2412 private CItemInteger iSystemAutoChipVolume;
\r
2413 private CItemToggle iSystemAVI;
\r
2414 private CItemToggle iSystemBGA;
\r
2415 // private CItemToggle iSystemGraph; #24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2416 private CItemInteger iSystemBGAlpha;
\r
2417 private CItemToggle iSystemBGMSound;
\r
2418 private CItemInteger iSystemChipVolume;
\r
2419 private CItemList iSystemCYGroup;
\r
2420 private CItemToggle iSystemCymbalFree;
\r
2421 private CItemList iSystemDamageLevel;
\r
2422 private CItemToggle iSystemDebugInfo;
\r
2423 // private CItemToggle iSystemDrums;
\r
2424 private CItemToggle iSystemFillIn;
\r
2425 private CItemList iSystemFTGroup;
\r
2426 private CItemToggle iSystemFullscreen;
\r
2427 // private CItemToggle iSystemGuitar;
\r
2428 private CItemList iSystemHHGroup;
\r
2429 private CItemList iSystemBDGroup; // #27029 2012.1.4 from
\r
2430 private CItemToggle iSystemHitSound;
\r
2431 private CItemList iSystemHitSoundPriorityCY;
\r
2432 private CItemList iSystemHitSoundPriorityFT;
\r
2433 private CItemList iSystemHitSoundPriorityHH;
\r
2434 private CItemInteger iSystemMinComboBass;
\r
2435 private CItemInteger iSystemMinComboDrums;
\r
2436 private CItemInteger iSystemMinComboGuitar;
\r
2437 private CItemInteger iSystemPreviewImageWait;
\r
2438 private CItemInteger iSystemPreviewSoundWait;
\r
2439 private CItemToggle iSystemRandomFromSubBox;
\r
2440 private CItemBase iSystemReturnToMenu;
\r
2441 private CItemToggle iSystemSaveScore;
\r
2442 private CItemToggle iSystemSoundMonitorBass;
\r
2443 private CItemToggle iSystemSoundMonitorDrums;
\r
2444 private CItemToggle iSystemSoundMonitorGuitar;
\r
2445 private CItemToggle iSystemStageFailed;
\r
2446 private CItemToggle iSystemStoicMode;
\r
2447 private CItemToggle iSystemVSyncWait;
\r
2448 private CItemList iSystemShowLag; // #25370 2011.6.3 yyagi
\r
2449 private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi
\r
2450 private CItemToggle iSystemBufferedInput;
\r
2451 private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi
\r
2452 private CItemList iSystemSoundType; // #24820 2013.1.3 yyagi
\r
2453 // private CItemInteger iSystemWASAPIBufferSizeMs; // #24820 2013.1.15 yyagi
\r
2454 // private CItemInteger iSystemASIOBufferSizeMs; // #24820 2013.1.3 yyagi
\r
2455 private CItemList iSystemASIODevice; // #24820 2013.1.17 yyagi
\r
2457 private int iSystemSoundType_initial;
\r
2458 // private int iSystemWASAPIBufferSizeMs_initial;
\r
2459 // private int iSystemASIOBufferSizeMs_initial;
\r
2460 private int iSystemASIODevice_initial;
\r
2461 private CItemToggle iSystemSoundTimerType; // #33689 2014.6.17 yyagi
\r
2462 private int iSystemSoundTimerType_initial; // #33689 2014.6.17 yyagi
\r
2464 private CItemToggle iSystemTimeStretch; // #23664 2013.2.24 yyagi
\r
2465 private CItemList iSystemJudgePosGuitar; // #33891 2014.6.26 yyagi
\r
2466 private CItemList iSystemJudgePosBass; // #33891 2014.6.26 yyagi
\r
2468 //private CItemList iDrumsJudgeDispPriority; //
\r
2469 //private CItemList iGuitarJudgeDispPriority; //
\r
2470 //private CItemList iBassJudgeDispPriority; //
\r
2471 private CItemList iSystemJudgeDispPriority;
\r
2473 private List<CItemBase> list項目リスト;
\r
2474 private long nスクロール用タイマ値;
\r
2475 private int n現在のスクロールカウンタ;
\r
2476 private int n目標のスクロールカウンタ;
\r
2477 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
2478 private CTextureAf txその他項目行パネル;
\r
2479 private CTexture tx三角矢印;
\r
2480 private CTextureAf tx通常項目行パネル;
\r
2482 private CPrivateFastFont prvFont;
\r
2483 //private List<string> list項目リスト_str最終描画名;
\r
2484 private struct stMenuItemRight
\r
2486 // public string strMenuItem;
\r
2487 public CTexture txMenuItemRight;
\r
2488 public int nParam;
\r
2489 public string strParam;
\r
2490 public CTexture txParam;
\r
2492 private stMenuItemRight[] listMenu;
\r
2494 private CTexture txSkinSample1; // #28195 2012.5.2 yyagi
\r
2495 private string[] skinSubFolders; //
\r
2496 private string[] skinNames; //
\r
2497 private string skinSubFolder_org; //
\r
2498 private int nSkinSampleIndex; //
\r
2499 private int nSkinIndex; //
\r
2501 private CItemBase iDrumsGoToKeyAssign;
\r
2502 private CItemBase iGuitarGoToKeyAssign;
\r
2503 private CItemBase iBassGoToKeyAssign;
\r
2504 private CItemBase iSystemGoToKeyAssign; // #24609
\r
2506 private CItemList iSystemGRmode;
\r
2508 //private CItemToggle iBassAutoPlay;
\r
2509 private CItemThreeState iBassAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2510 private CItemToggle iBassR; //
\r
2511 private CItemToggle iBassG; //
\r
2512 private CItemToggle iBassB; //
\r
2513 private CItemToggle iBassPick; //
\r
2514 private CItemToggle iBassW; //
\r
2516 //private CItemToggle iBassHidden;
\r
2517 private CItemToggle iBassLeft;
\r
2518 private CItemToggle iBassLight;
\r
2519 private CItemList iBassPosition;
\r
2520 private CItemList iBassRandom;
\r
2521 private CItemBase iBassReturnToMenu;
\r
2522 private CItemToggle iBassReverse;
\r
2523 private CItemInteger iBassScrollSpeed;
\r
2524 //private CItemToggle iBassSudden;
\r
2525 private CItemList iCommonDark;
\r
2526 private CItemInteger iCommonPlaySpeed;
\r
2527 // private CItemBase iCommonReturnToMenu;
\r
2529 private CItemThreeState iDrumsAutoPlayAll;
\r
2530 private CItemToggle iDrumsBass;
\r
2531 private CItemList iDrumsComboPosition;
\r
2532 private CItemToggle iDrumsCymbalRide;
\r
2533 private CItemToggle iDrumsFloorTom;
\r
2534 //private CItemToggle iDrumsHidden;
\r
2535 private CItemToggle iDrumsHighTom;
\r
2536 private CItemToggle iDrumsHiHat;
\r
2537 private CItemToggle iDrumsLeftCymbal;
\r
2538 private CItemToggle iDrumsLowTom;
\r
2539 private CItemList iDrumsPosition;
\r
2540 private CItemBase iDrumsReturnToMenu;
\r
2541 private CItemToggle iDrumsReverse;
\r
2542 private CItemInteger iDrumsScrollSpeed;
\r
2543 private CItemToggle iDrumsSnare;
\r
2544 //private CItemToggle iDrumsSudden;
\r
2545 private CItemToggle iDrumsTight;
\r
2546 private CItemToggle iDrumsGraph; // #24074 2011.01.23 add ikanick
\r
2548 //private CItemToggle iGuitarAutoPlay;
\r
2549 private CItemThreeState iGuitarAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2550 private CItemToggle iGuitarR; //
\r
2551 private CItemToggle iGuitarG; //
\r
2552 private CItemToggle iGuitarB; //
\r
2553 private CItemToggle iGuitarPick; //
\r
2554 private CItemToggle iGuitarW; //
\r
2556 //private CItemToggle iGuitarHidden;
\r
2557 private CItemToggle iGuitarLeft;
\r
2558 private CItemToggle iGuitarLight;
\r
2559 private CItemList iGuitarPosition;
\r
2560 private CItemList iGuitarRandom;
\r
2561 private CItemBase iGuitarReturnToMenu;
\r
2562 private CItemToggle iGuitarReverse;
\r
2563 private CItemInteger iGuitarScrollSpeed;
\r
2564 //private CItemToggle iGuitarSudden;
\r
2565 private CItemInteger iDrumsInputAdjustTimeMs; // #23580 2011.1.3 yyagi
\r
2566 private CItemInteger iGuitarInputAdjustTimeMs; //
\r
2567 private CItemInteger iBassInputAdjustTimeMs; //
\r
2568 private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi
\r
2569 private CItemToggle iSystemUseBoxDefSkin; // #28195 2012.5.6 yyagi
\r
2570 private CItemList iDrumsSudHid; // #32072 2013.9.20 yyagi
\r
2571 private CItemList iGuitarSudHid; // #32072 2013.9.20 yyagi
\r
2572 private CItemList iBassSudHid; // #32072 2013.9.20 yyagi
\r
2573 private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi
\r
2574 //private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi
\r
2576 private int t前の項目( int nItem )
\r
2580 nItem = this.list項目リスト.Count - 1;
\r
2584 private int t次の項目( int nItem )
\r
2586 if( ++nItem >= this.list項目リスト.Count )
\r
2592 private void t全部のドラムパッドのAutoを切り替える( bool bAutoON )
\r
2594 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
2596 private void t全部のギターパッドのAutoを切り替える( bool bAutoON )
\r
2598 this.iGuitarR.bON = this.iGuitarG.bON = this.iGuitarB.bON = this.iGuitarPick.bON = this.iGuitarW.bON = bAutoON;
\r
2600 private void t全部のベースパッドのAutoを切り替える( bool bAutoON )
\r
2602 this.iBassR.bON = this.iBassG.bON = this.iBassB.bON = this.iBassPick.bON = this.iBassW.bON = bAutoON;
\r
2604 private void tConfigIniへ記録する()
\r
2606 switch( this.eメニュー種別 )
\r
2608 case Eメニュー種別.System:
\r
2609 this.tConfigIniへ記録する・System();
\r
2610 this.tConfigIniへ記録する・KeyAssignSystem();
\r
2613 case Eメニュー種別.Drums:
\r
2614 this.tConfigIniへ記録する・Drums();
\r
2615 this.tConfigIniへ記録する・KeyAssignDrums();
\r
2618 case Eメニュー種別.Guitar:
\r
2619 this.tConfigIniへ記録する・Guitar();
\r
2620 this.tConfigIniへ記録する・KeyAssignGuitar();
\r
2623 case Eメニュー種別.Bass:
\r
2624 this.tConfigIniへ記録する・Bass();
\r
2625 this.tConfigIniへ記録する・KeyAssignBass();
\r
2629 private void tConfigIniへ記録する・KeyAssignBass()
\r
2632 private void tConfigIniへ記録する・KeyAssignDrums()
\r
2635 private void tConfigIniへ記録する・KeyAssignGuitar()
\r
2638 private void tConfigIniへ記録する・KeyAssignSystem()
\r
2641 private void tConfigIniへ記録する・System()
\r
2643 CDTXMania.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号;
\r
2644 CDTXMania.ConfigIni.n演奏速度 = this.iCommonPlaySpeed.n現在の値;
\r
2646 CDTXMania.ConfigIni.bGuitar有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) / 2 ) == 1 );
\r
2647 //this.iSystemGuitar.bON;
\r
2648 CDTXMania.ConfigIni.bDrums有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) % 2 ) == 1 );
\r
2649 //this.iSystemDrums.bON;
\r
2651 CDTXMania.ConfigIni.b全画面モード = this.iSystemFullscreen.bON;
\r
2652 CDTXMania.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON;
\r
2653 CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON;
\r
2655 CDTXMania.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON;
\r
2656 CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
2657 CDTXMania.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON;
\r
2658 CDTXMania.ConfigIni.bAVI有効 = this.iSystemAVI.bON;
\r
2659 CDTXMania.ConfigIni.bBGA有効 = this.iSystemBGA.bON;
\r
2660 // CDTXMania.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2661 CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値;
\r
2662 CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値;
\r
2663 CDTXMania.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON;
\r
2664 CDTXMania.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値;
\r
2665 CDTXMania.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON;
\r
2666 CDTXMania.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON;
\r
2667 CDTXMania.ConfigIni.eダメージレベル = (Eダメージレベル) this.iSystemDamageLevel.n現在選択されている項目番号;
\r
2668 CDTXMania.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON;
\r
2670 CDTXMania.ConfigIni.bログ出力 = this.iLogOutputLog.bON;
\r
2671 CDTXMania.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値;
\r
2672 CDTXMania.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値;
\r
2673 CDTXMania.ConfigIni.bストイックモード = this.iSystemStoicMode.bON;
\r
2675 CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi
\r
2676 CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi
\r
2678 CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi
\r
2680 CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi
\r
2681 CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true );
\r
2682 CDTXMania.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi
\r
2684 CDTXMania.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi
\r
2685 // CDTXMania.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi
\r
2686 // CDTXMania.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi
\r
2687 CDTXMania.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi
\r
2688 CDTXMania.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi
\r
2690 CDTXMania.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi
\r
2691 //Trace.TraceInformation( "saved" );
\r
2692 //Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true) );
\r
2693 //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName );
\r
2694 //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName );
\r
2695 //CDTXMania.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi
\r
2696 CDTXMania.ConfigIni.e判定表示優先度 = (E判定表示優先度) this.iSystemJudgeDispPriority.n現在選択されている項目番号;
\r
2698 private void tConfigIniへ記録する・Bass()
\r
2700 //CDTXMania.ConfigIni.bAutoPlay.Bass = this.iBassAutoPlay.bON;
\r
2701 CDTXMania.ConfigIni.bAutoPlay.BsR = this.iBassR.bON;
\r
2702 CDTXMania.ConfigIni.bAutoPlay.BsG = this.iBassG.bON;
\r
2703 CDTXMania.ConfigIni.bAutoPlay.BsB = this.iBassB.bON;
\r
2704 CDTXMania.ConfigIni.bAutoPlay.BsPick = this.iBassPick.bON;
\r
2705 CDTXMania.ConfigIni.bAutoPlay.BsW = this.iBassW.bON;
\r
2706 CDTXMania.ConfigIni.n譜面スクロール速度.Bass = this.iBassScrollSpeed.n現在の値;
\r
2707 // "Sudden" || "Sud+Hid"
\r
2708 CDTXMania.ConfigIni.bSudden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 1 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2709 // "Hidden" || "Sud+Hid"
\r
2710 CDTXMania.ConfigIni.bHidden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 2 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2711 if ( this.iBassSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.SEMI; // "S-Invisible"
\r
2712 else if ( this.iBassSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.FULL; // "F-Invisible"
\r
2713 else CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.OFF;
\r
2714 CDTXMania.ConfigIni.bReverse.Bass = this.iBassReverse.bON;
\r
2715 CDTXMania.ConfigIni.判定文字表示位置.Bass = (E判定文字表示位置) this.iBassPosition.n現在選択されている項目番号;
\r
2716 CDTXMania.ConfigIni.eRandom.Bass = (Eランダムモード) this.iBassRandom.n現在選択されている項目番号;
\r
2717 CDTXMania.ConfigIni.bLight.Bass = this.iBassLight.bON;
\r
2718 CDTXMania.ConfigIni.bLeft.Bass = this.iBassLeft.bON;
\r
2719 CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2721 CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON;
\r
2722 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値;
\r
2723 CDTXMania.ConfigIni.e判定位置.Bass = (E判定位置) this.iSystemJudgePosBass.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2724 //CDTXMania.ConfigIni.e判定表示優先度.Bass = (E判定表示優先度) this.iBassJudgeDispPriority.n現在選択されている項目番号;
\r
2726 private void tConfigIniへ記録する・Drums()
\r
2728 CDTXMania.ConfigIni.bAutoPlay.LC = this.iDrumsLeftCymbal.bON;
\r
2729 CDTXMania.ConfigIni.bAutoPlay.HH = this.iDrumsHiHat.bON;
\r
2730 CDTXMania.ConfigIni.bAutoPlay.SD = this.iDrumsSnare.bON;
\r
2731 CDTXMania.ConfigIni.bAutoPlay.BD = this.iDrumsBass.bON;
\r
2732 CDTXMania.ConfigIni.bAutoPlay.HT = this.iDrumsHighTom.bON;
\r
2733 CDTXMania.ConfigIni.bAutoPlay.LT = this.iDrumsLowTom.bON;
\r
2734 CDTXMania.ConfigIni.bAutoPlay.FT = this.iDrumsFloorTom.bON;
\r
2735 CDTXMania.ConfigIni.bAutoPlay.CY = this.iDrumsCymbalRide.bON;
\r
2736 CDTXMania.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値;
\r
2737 CDTXMania.ConfigIni.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) this.iDrumsComboPosition.n現在選択されている項目番号;
\r
2738 // "Sudden" || "Sud+Hid"
\r
2739 CDTXMania.ConfigIni.bSudden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 1 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2740 // "Hidden" || "Sud+Hid"
\r
2741 CDTXMania.ConfigIni.bHidden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 2 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2742 if ( this.iDrumsSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.SEMI; // "S-Invisible"
\r
2743 else if ( this.iDrumsSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.FULL; // "F-Invisible"
\r
2744 else CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.OFF;
\r
2745 CDTXMania.ConfigIni.bReverse.Drums = this.iDrumsReverse.bON;
\r
2746 CDTXMania.ConfigIni.判定文字表示位置.Drums = (E判定文字表示位置) this.iDrumsPosition.n現在選択されている項目番号;
\r
2747 CDTXMania.ConfigIni.bTight = this.iDrumsTight.bON;
\r
2748 CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2749 CDTXMania.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick
\r
2751 CDTXMania.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号;
\r
2752 CDTXMania.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号;
\r
2753 CDTXMania.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号;
\r
2754 CDTXMania.ConfigIni.eBDGroup = (EBDGroup) this.iSystemBDGroup.n現在選択されている項目番号;
\r
2755 CDTXMania.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号;
\r
2756 CDTXMania.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号;
\r
2757 CDTXMania.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号;
\r
2758 CDTXMania.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON;
\r
2759 CDTXMania.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON;
\r
2760 CDTXMania.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON;
\r
2761 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値;
\r
2762 CDTXMania.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON;
\r
2764 CDTXMania.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号;
\r
2765 CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi
\r
2766 //CDTXMania.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号;
\r
2768 private void tConfigIniへ記録する・Guitar()
\r
2770 //CDTXMania.ConfigIni.bAutoPlay.Guitar = this.iGuitarAutoPlay.bON;
\r
2771 CDTXMania.ConfigIni.bAutoPlay.GtR = this.iGuitarR.bON;
\r
2772 CDTXMania.ConfigIni.bAutoPlay.GtG = this.iGuitarG.bON;
\r
2773 CDTXMania.ConfigIni.bAutoPlay.GtB = this.iGuitarB.bON;
\r
2774 CDTXMania.ConfigIni.bAutoPlay.GtPick = this.iGuitarPick.bON;
\r
2775 CDTXMania.ConfigIni.bAutoPlay.GtW = this.iGuitarW.bON;
\r
2776 CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = this.iGuitarScrollSpeed.n現在の値;
\r
2777 // "Sudden" || "Sud+Hid"
\r
2778 CDTXMania.ConfigIni.bSudden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 1 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2779 // "Hidden" || "Sud+Hid"
\r
2780 CDTXMania.ConfigIni.bHidden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 2 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2781 if ( this.iGuitarSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.SEMI; // "S-Invisible"
\r
2782 else if ( this.iGuitarSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.FULL; // "F-Invisible"
\r
2783 else CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.OFF;
\r
2784 CDTXMania.ConfigIni.bReverse.Guitar = this.iGuitarReverse.bON;
\r
2785 CDTXMania.ConfigIni.判定文字表示位置.Guitar = (E判定文字表示位置) this.iGuitarPosition.n現在選択されている項目番号;
\r
2786 CDTXMania.ConfigIni.eRandom.Guitar = (Eランダムモード) this.iGuitarRandom.n現在選択されている項目番号;
\r
2787 CDTXMania.ConfigIni.bLight.Guitar = this.iGuitarLight.bON;
\r
2788 CDTXMania.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON;
\r
2789 CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2791 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値;
\r
2792 CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON;
\r
2793 CDTXMania.ConfigIni.e判定位置.Guitar = (E判定位置) this.iSystemJudgePosGuitar.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2794 //CDTXMania.ConfigIni.e判定表示優先度.Guitar = (E判定表示優先度) this.iGuitarJudgeDispPriority.n現在選択されている項目番号;
\r
2796 //-----------------
\r