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