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( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,
\r
76 "Return to left menu." );
\r
77 this.list項目リスト.Add( this.iSystemReturnToMenu );
\r
79 this.iSystemReloadDTX = new CItemBase( "Reload Songs", CItemBase.Eパネル種別.通常,
\r
80 "曲データの一覧情報を取得し直します。",
\r
81 "Reload song data." );
\r
82 this.list項目リスト.Add( this.iSystemReloadDTX );
\r
84 this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark,
\r
85 "HALF: 背景、レーン、ゲージが表示\nされなくなります。\nFULL: さらに小節線、拍線、判定ラ\nイン、パッドも表示されなくなります。",
\r
86 "OFF: all display parts are shown.\nHALF: wallpaper, lanes and gauge are\n disappeared.\nFULL: additionaly to HALF, bar/beat\n lines, hit bar, pads are disappeared.",
\r
87 new string[] { "OFF", "HALF", "FULL" } );
\r
88 this.list項目リスト.Add( this.iCommonDark );
\r
90 this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky,
\r
91 "Riskyモードの設定:\n1以上の値にすると、その回数分の\nPoor/MissでFAILEDとなります。\n0にすると無効になり、\nDamageLevelに従ったゲージ増減と\nなります。\nStageFailedの設定と併用できます。",
\r
92 "Risky mode:\nSet over 1, in case you'd like to specify\n the number of Poor/Miss times to be\n FAILED.\nSet 0 to disable Risky mode." );
\r
93 this.list項目リスト.Add( this.iSystemRisky );
\r
95 int nDGmode = (CDTXMania.ConfigIni.bGuitar有効 ? 2 : 0) + (CDTXMania.ConfigIni.bDrums有効 ? 1 : 0) - 1;
\r
96 this.iSystemGRmode = new CItemList("Drums & GR", CItemBase.Eパネル種別.通常, nDGmode,
\r
97 "使用楽器の選択:\nDrOnly: ドラムのみ有効にします。\nGROnly: ギター/ベースのみの\n専用画面を用います。\nBoth: ドラムとギター/ベースの\n両方を有効にします。\n",
\r
98 "DrOnly: Only Drums is available.\nGROnly: Only Guitar/Bass are available.\n You can play them in GR screen.\nBoth: Both Drums and Guitar/Bass\n are available.",
\r
99 new string[] { "DrOnly", "GROnly", "Both" });
\r
100 this.list項目リスト.Add(this.iSystemGRmode);
\r
103 this.iCommonPlaySpeed = new CItemInteger("PlaySpeed", 5, 40, CDTXMania.ConfigIni.n演奏速度,
\r
104 "曲の演奏速度を、速くしたり遅くした\n" +
\r
106 "(※一部のサウンドカードでは正しく\n" +
\r
107 " 再生できない可能性があります。)\n" +
\r
109 "TimeStretchがONのときに、演奏\n" +
\r
110 "速度をx0.850以下にすると、チップの\n" +
\r
112 "It changes the song speed.\n" +
\r
113 "For example, you can play in half\n" +
\r
114 " speed by setting PlaySpeed = 0.500\n" +
\r
115 " for your practice.\n" +
\r
117 "Note: It also changes the songs' pitch.\n" +
\r
118 "In case TimeStretch=ON, some sound\n" +
\r
119 "lag occurs slower than x0.900.");
\r
120 this.list項目リスト.Add( this.iCommonPlaySpeed );
\r
122 this.iSystemTimeStretch = new CItemToggle( "TimeStretch", CDTXMania.ConfigIni.bTimeStretch,
\r
124 "ONにすると、演奏速度の変更を、\n" +
\r
128 "これをONにすると、サウンド処理に\n" +
\r
129 "より多くのCPU性能を使用します。\n" +
\r
130 "また、演奏速度をx0.850以下にすると、\n" +
\r
132 "How to change the playing speed:\n" +
\r
133 "Turn ON to use time stretch\n" +
\r
134 "to change the play speed." +
\r
136 "If you set TimeStretch=ON, it usese\n" +
\r
137 "more CPU power. And some sound\n" +
\r
138 "lag occurs slower than x0.900.");
\r
139 this.list項目リスト.Add( this.iSystemTimeStretch );
\r
142 this.iSystemFullscreen = new CItemToggle( "Fullscreen", CDTXMania.ConfigIni.b全画面モード,
\r
143 "画面モード設定:\nON で全画面モード、OFF でウィンド\nウモードになります。",
\r
144 "Fullscreen mode or window mode." );
\r
145 this.list項目リスト.Add( this.iSystemFullscreen );
\r
146 this.iSystemStageFailed = new CItemToggle( "StageFailed", CDTXMania.ConfigIni.bSTAGEFAILED有効,
\r
147 "STAGE FAILED 有効:\nON にすると、ゲージがなくなった時\nに STAGE FAILED となり演奏が中断\nされます。OFF の場合は、ゲージが\nなくなっても最後まで演奏できます。",
\r
148 "Turn OFF if you don't want to encount\n GAME OVER." );
\r
149 this.list項目リスト.Add( this.iSystemStageFailed );
\r
150 this.iSystemRandomFromSubBox = new CItemToggle( "RandSubBox", CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする,
\r
151 "子BOXをRANDOMの対象とする:\nON にすると、RANDOM SELECT 時\nに子BOXも選択対象とします。",
\r
152 "Turn ON to use child BOX (subfolders)\n at RANDOM SELECT." );
\r
153 this.list項目リスト.Add( this.iSystemRandomFromSubBox );
\r
157 this.iSystemAdjustWaves = new CItemToggle( "AdjustWaves", CDTXMania.ConfigIni.bWave再生位置自動調整機能有効,
\r
158 "サウンド再生位置自動補正:\n" +
\r
159 "ハードウェアやOSに起因するサウン\n" +
\r
160 "ドのずれを強制的に補正します。\n" +
\r
161 "BGM のように再生時間の長い音声\n" +
\r
162 "データが使用されている曲で効果が\n" +
\r
165 "※ DirectSound使用時のみ有効です。",
\r
166 "Automatic wave playing position\n" +
\r
167 " adjustment feature. If you turn it ON,\n" +
\r
168 " it decrease the lag which comes from\n" +
\r
169 " the difference of hardware/OS.\n" +
\r
170 "Usually, you should turn it ON." +
\r
172 "Note: This setting is effetive\n" +
\r
173 " only when DirectSound is used.");
\r
174 this.list項目リスト.Add( this.iSystemAdjustWaves );
\r
175 this.iSystemVSyncWait = new CItemToggle( "VSyncWait", CDTXMania.ConfigIni.b垂直帰線待ちを行う,
\r
176 "垂直帰線同期:\n画面の描画をディスプレイの垂直帰\n線中に行なう場合には ON を指定し\nます。ON にすると、ガタつきのない\n滑らかな画面描画が実現されます。",
\r
177 "Turn ON to wait VSync (Vertical\n Synchronizing signal) at every\n drawings. (so FPS becomes 60)\nIf you have enough CPU/GPU power,\n the scroll would become smooth." );
\r
178 this.list項目リスト.Add( this.iSystemVSyncWait );
\r
179 this.iSystemAVI = new CItemToggle( "AVI", CDTXMania.ConfigIni.bAVI有効,
\r
180 "AVIの使用:\n動画(AVI)を再生可能にする場合に\nON にします。AVI の再生には、それ\nなりのマシンパワーが必要とされます。",
\r
181 "To use AVI playback or not." );
\r
182 this.list項目リスト.Add( this.iSystemAVI );
\r
183 this.iSystemBGA = new CItemToggle( "BGA", CDTXMania.ConfigIni.bBGA有効,
\r
184 "BGAの使用:\n画像(BGA)を表示可能にする場合に\nON にします。BGA の再生には、それ\nなりのマシンパワーが必要とされます。",
\r
185 "To draw BGA (back ground animations)\n or not." );
\r
186 this.list項目リスト.Add( this.iSystemBGA );
\r
187 this.iSystemPreviewSoundWait = new CItemInteger( "PreSoundWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms,
\r
188 "プレビュー音演奏までの時間:\n曲にカーソルが合わされてからプレ\nビュー音が鳴り始めるまでの時間を\n指定します。\n0 ~ 10000 [ms] が指定可能です。",
\r
189 "Delay time(ms) to start playing preview\n sound in SELECT MUSIC screen.\nYou can specify from 0ms to 10000ms." );
\r
190 this.list項目リスト.Add( this.iSystemPreviewSoundWait );
\r
191 this.iSystemPreviewImageWait = new CItemInteger( "PreImageWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms,
\r
192 "プレビュー画像表示までの時間:\n曲にカーソルが合わされてからプレ\nビュー画像が表示されるまでの時間\nを指定します。\n0 ~ 10000 [ms] が指定可能です。",
\r
193 "Delay time(ms) to show preview image\n in SELECT MUSIC screen.\nYou can specify from 0ms to 10000ms." );
\r
194 this.list項目リスト.Add( this.iSystemPreviewImageWait );
\r
195 this.iSystemDebugInfo = new CItemToggle( "Debug Info", CDTXMania.ConfigIni.b演奏情報を表示する,
\r
196 "演奏情報の表示:\n演奏中、BGA領域の下部に演奏情報\n(FPS、BPM、演奏時間など)を表示し\nます。\nまた、小節線の横に小節番号が表示\nされるようになります。",
\r
197 "To show song informations on playing\n BGA area. (FPS, BPM, total time etc)\nYou can ON/OFF the indications\n by pushing [Del] while playing drums,\n guitar or bass." );
\r
198 this.list項目リスト.Add( this.iSystemDebugInfo );
\r
199 this.iSystemBGAlpha = new CItemInteger( "BG Alpha", 0, 0xff, CDTXMania.ConfigIni.n背景の透過度,
\r
200 "背景画像の半透明割合:\n背景画像をDTXManiaのフレーム画像\nと合成する際の、背景画像の透明度\nを指定します。\n0 が完全透明で、255 が完全不透明\nとなります。",
\r
201 "The degree for transparing playing\n screen and wallpaper.\n\n0=completely transparent,\n255=no transparency" );
\r
202 this.list項目リスト.Add( this.iSystemBGAlpha );
\r
203 this.iSystemBGMSound = new CItemToggle( "BGM Sound", CDTXMania.ConfigIni.bBGM音を発声する,
\r
204 "BGMの再生:\nこれをOFFにすると、BGM を再生しな\nくなります。",
\r
205 "Turn OFF if you don't want to play\n BGM." );
\r
206 this.list項目リスト.Add( this.iSystemBGMSound );
\r
207 this.iSystemAudienceSound = new CItemToggle( "Audience", CDTXMania.ConfigIni.b歓声を発声する,
\r
208 "歓声の再生:\nこれをOFFにすると、歓声を再生しな\nくなります。",
\r
209 "Turn ON if you want to be cheered\n at the end of fill-in zone or not." );
\r
210 this.list項目リスト.Add( this.iSystemAudienceSound );
\r
211 this.iSystemDamageLevel = new CItemList( "DamageLevel", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eダメージレベル,
\r
212 "ゲージ減少割合:\nMiss ヒット時のゲージの減少度合い\nを指定します。\nRiskyが1以上の場合は無効となります",
\r
213 "Damage level at missing (and\n recovering level) at playing.\nThis setting is ignored when Risky >= 1.",
\r
214 new string[] { "Small", "Normal", "Large" } );
\r
215 this.list項目リスト.Add( this.iSystemDamageLevel );
\r
216 this.iSystemSaveScore = new CItemToggle( "SaveScore", CDTXMania.ConfigIni.bScoreIniを出力する,
\r
217 "演奏記録の保存:\nON で演奏記録を ~.score.ini ファイ\nルに保存します。\n",
\r
218 "To save high-scores/skills, turn it ON.\nTurn OFF in case your song data are\n in read-only media (CD-ROM etc).\nNote that the score files also contain\n 'BGM Adjust' parameter. So if you\n want to keep adjusting parameter,\n you need to set SaveScore=ON." );
\r
219 this.list項目リスト.Add( this.iSystemSaveScore );
\r
222 this.iSystemChipVolume = new CItemInteger( "ChipVolume", 0, 100, CDTXMania.ConfigIni.n手動再生音量,
\r
223 "打音の音量:\n入力に反応して再生されるチップの音\n量を指定します。\n0 ~ 100 % の値が指定可能です。\n",
\r
224 "The volumes for chips you hit.\nYou can specify from 0 to 100%." );
\r
225 this.list項目リスト.Add( this.iSystemChipVolume );
\r
226 this.iSystemAutoChipVolume = new CItemInteger( "AutoVolume", 0, 100, CDTXMania.ConfigIni.n自動再生音量,
\r
227 "自動再生音の音量:\n自動的に再生されるチップの音量を指\n定します。\n0 ~ 100 % の値が指定可能です。\n",
\r
228 "The volumes for AUTO chips.\nYou can specify from 0 to 100%." );
\r
229 this.list項目リスト.Add( this.iSystemAutoChipVolume );
\r
230 this.iSystemStoicMode = new CItemToggle( "StoicMode", CDTXMania.ConfigIni.bストイックモード,
\r
231 "ストイック(禁欲)モード:\n以下をまとめて表示ON/OFFします。\n・プレビュー画像/動画\n・リザルト画像/動画\n・NowLoading画像\n・演奏画面の背景画像\n・BGA 画像 / AVI 動画\n・グラフ画像\n",
\r
232 "Turn ON to disable drawing\n * preview image / movie\n * result image / movie\n * nowloading image\n * wallpaper (in playing screen)\n * BGA / AVI (in playing screen)" );
\r
233 this.list項目リスト.Add( this.iSystemStoicMode );
\r
234 this.iSystemShowLag = new CItemList( "ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.ConfigIni.nShowLagType,
\r
235 "ズレ時間表示:\nジャストタイミングからのズレ時間(ms)\nを表示します。\n OFF: ズレ時間を表示しません。\n ON: ズレ時間を表示します。\n GREAT-: PERFECT以外の時のみ\n表示します。",
\r
236 "About displaying the lag from\n the \"just timing\".\n OFF: Don't show it.\n ON: Show it.\n GREAT-: Show it except you've\n gotten PERFECT.",
\r
237 new string[] { "OFF", "ON", "GREAT-" } );
\r
238 this.list項目リスト.Add( this.iSystemShowLag );
\r
239 this.iSystemAutoResultCapture = new CItemToggle( "Autosaveresult", CDTXMania.ConfigIni.bIsAutoResultCapture,
\r
240 "リザルト画像自動保存機能:\nONにすると、ハイスコア/ハイスキル時に\n自動でリザルト画像を曲データと同じ\nフォルダに保存します。",
\r
241 "AutoSaveResult:\nTurn ON to save your result screen\n image automatically when you get\n hiscore/hiskill." );
\r
242 this.list項目リスト.Add( this.iSystemAutoResultCapture );
\r
244 this.iSystemJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度,
\r
245 "判定文字列とコンボ表示の優先順位を\n" +
\r
248 " Under: チップの下に表示します。\n" +
\r
249 " Over: チップの上に表示します。",
\r
250 "The display prioity between chips\n" +
\r
251 " and judge mark/combo.\n" +
\r
253 " Under: Show them under the chips.\n" +
\r
254 " Over: Show them over the chips.",
\r
255 new string[] { "Under", "Over" } );
\r
256 this.list項目リスト.Add( this.iSystemJudgeDispPriority );
\r
258 this.iSystemBufferedInput = new CItemToggle( "BufferedInput", CDTXMania.ConfigIni.bバッファ入力を行う,
\r
259 "バッファ入力モード:\nON にすると、FPS を超える入力解像\n度を実現します。\nOFF にすると、入力解像度は FPS に\n等しくなります。",
\r
260 "To select joystick input method.\n\nON to use buffer input. No lost/lags.\nOFF to use realtime input. It may\n causes lost/lags for input.\n Moreover, input frequency is\n synchronized with FPS." );
\r
261 this.list項目リスト.Add( this.iSystemBufferedInput );
\r
262 this.iLogOutputLog = new CItemToggle( "TraceLog", CDTXMania.ConfigIni.bログ出力,
\r
263 "Traceログ出力:\nDTXManiaLog.txt にログを出力します。\n変更した場合は、DTXMania の再起動\n後に有効となります。",
\r
264 "Turn ON to put debug log to\n DTXManiaLog.txt\nTo take it effective, you need to\n re-open DTXMania." );
\r
265 this.list項目リスト.Add( this.iLogOutputLog );
\r
267 // #24820 2013.1.3 yyagi
\r
268 this.iSystemSoundType = new CItemList("SoundType", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nSoundDeviceType,
\r
270 "WASAPI, ASIO, DSound(DirectSound)\n" +
\r
271 "の中からサウンド出力方式を選択\n" +
\r
273 "WASAPIはVista以降でのみ使用可能\n" +
\r
274 "です。ASIOは対応機器でのみ使用\n" +
\r
276 "WASAPIかASIOを指定することで、\n" +
\r
277 "遅延の少ない演奏を楽しむことが\n" +
\r
280 "※ 設定はCONFIGURATION画面の\n" +
\r
282 "Sound output type:\n" +
\r
283 "You can choose WASAPI, ASIO or\n" +
\r
284 "DShow(DirectShow).\n" +
\r
285 "WASAPI can use only after Vista.\n" +
\r
286 "ASIO can use on the\n" +
\r
287 "\"ASIO-supported\" sound device.\n" +
\r
288 "You should use WASAPI or ASIO\n" +
\r
289 "to decrease the sound lag.\n" +
\r
291 "Note: Exit CONFIGURATION to make\n" +
\r
292 " the setting take effect.",
\r
293 new string[] { "DSound", "ASIO", "WASAPI" });
\r
294 this.list項目リスト.Add(this.iSystemSoundType);
\r
296 // #24820 2013.1.15 yyagi
\r
297 //this.iSystemWASAPIBufferSizeMs = new CItemInteger( "WASAPIBufSize", 0, 99999, CDTXMania.ConfigIni.nWASAPIBufferSizeMs,
\r
298 // "WASAPI使用時のバッファサイズ:\n" +
\r
299 // "0~99999ms を指定可能です。\n" +
\r
300 // "0を指定すると、OSがバッファの\n" +
\r
301 // "サイズを自動設定します。\n" +
\r
302 // "値を小さくするほど発音ラグが\n" +
\r
303 // "減少しますが、音割れや異常動作を\n" +
\r
304 // "引き起こす場合があります。\n" +
\r
305 // "※ 設定はCONFIGURATION画面の\n" +
\r
306 // " 終了時に有効になります。",
\r
307 // "Sound buffer size for WASAPI:\n" +
\r
308 // "You can set from 0 to 99999ms.\n" +
\r
309 // "Set 0 to use a default sysytem\n" +
\r
310 // "buffer size.\n" +
\r
311 // "Smaller value makes smaller lag,\n" +
\r
312 // "but it may cause sound troubles.\n" +
\r
314 // "Note: Exit CONFIGURATION to make\n" +
\r
315 // " the setting take effect." );
\r
316 //this.list項目リスト.Add( this.iSystemWASAPIBufferSizeMs );
\r
318 // #24820 2013.1.17 yyagi
\r
319 string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices();
\r
320 this.iSystemASIODevice = new CItemList( "ASIO device", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nASIODevice,
\r
322 "ASIO使用時のサウンドデバイスを\n" +
\r
325 "※ 設定はCONFIGURATION画面の\n" +
\r
327 "ASIO Sound Device:\n" +
\r
328 "Select the sound device to use\n" +
\r
329 "under ASIO mode.\n" +
\r
331 "Note: Exit CONFIGURATION to make\n" +
\r
332 " the setting take effect.",
\r
334 this.list項目リスト.Add( this.iSystemASIODevice );
\r
336 // #24820 2013.1.3 yyagi
\r
337 //this.iSystemASIOBufferSizeMs = new CItemInteger("ASIOBuffSize", 0, 99999, CDTXMania.ConfigIni.nASIOBufferSizeMs,
\r
338 // "ASIO使用時のバッファサイズ:\n" +
\r
339 // "0~99999ms を指定可能です。\n" +
\r
340 // "推奨値は0で、サウンドデバイスでの\n" +
\r
341 // "設定値をそのまま使用します。\n" +
\r
342 // "(サウンドデバイスのASIO設定は、\n" +
\r
343 // " ASIO capsなどで行います)\n" +
\r
344 // "値を小さくするほど発音ラグが\n" +
\r
345 // "減少しますが、音割れや異常動作を\n" +
\r
346 // "引き起こす場合があります。\n" +
\r
348 // "※ 設定はCONFIGURATION画面の\n" +
\r
349 // " 終了時に有効になります。",
\r
350 // "Sound buffer size for ASIO:\n" +
\r
351 // "You can set from 0 to 99999ms.\n" +
\r
352 // "You should set it to 0, to use\n" +
\r
353 // "a default value specified to\n" +
\r
354 // "the sound device.\n" +
\r
355 // "Smaller value makes smaller lag,\n" +
\r
356 // "but it may cause sound troubles.\n" +
\r
358 // "Note: Exit CONFIGURATION to make\n" +
\r
359 // " the setting take effect." );
\r
360 //this.list項目リスト.Add( this.iSystemASIOBufferSizeMs );
\r
362 // #33689 2014.6.17 yyagi
\r
363 this.iSystemSoundTimerType = new CItemToggle( "UseOSTimer", CDTXMania.ConfigIni.bUseOSTimer,
\r
364 "OSタイマーを使用するかどうか:\n" +
\r
365 "演奏タイマーとして、DTXMania独自の\n" +
\r
366 "タイマーを使うか、OS標準のタイマー\n" +
\r
368 "OS標準タイマーを使うとスクロールが\n" +
\r
369 "滑らかになりますが、演奏で音ズレが\n" +
\r
370 "発生することがあります。(そのため\n" +
\r
371 "AdjustWavesの効果が適用されます。)\n" +
\r
373 "この指定はWASAPI/ASIO使用時のみ有効\n" +
\r
375 "Use OS Timer or not:\n" +
\r
376 "If this settings is ON, DTXMania uses\n" +
\r
377 "OS Standard timer. It brings smooth\n" +
\r
378 "scroll, but may cause some sound lag.\n" +
\r
379 "(so AdjustWaves is also avilable)\n" +
\r
381 "If OFF, DTXMania uses its original\n" +
\r
382 "timer and the effect is vice versa.\n" +
\r
384 "This settings is avilable only when\n" +
\r
385 "you uses WASAPI/ASIO.\n"
\r
387 this.list項目リスト.Add( this.iSystemSoundTimerType );
\r
389 // #33700 2013.1.3 yyagi
\r
390 //this.iSystemMasterVolume = new CItemInteger( "MasterVolume", 0, 100, CDTXMania.ConfigIni.nMasterVolume,
\r
391 // "マスターボリュームの設定:\n" +
\r
392 // "全体の音量を設定します。\n" +
\r
393 // "0が無音で、100が最大値です。\n" +
\r
394 // "(WASAPI/ASIO時のみ有効です)",
\r
395 // "Master Volume:\n" +
\r
396 // "You can set 0 - 100.\n" +
\r
399 // "Only for WASAPI/ASIO mode." );
\r
400 //this.list項目リスト.Add( this.iSystemMasterVolume );
\r
402 this.iSystemSkinSubfolder = new CItemList( "Skin (General)", CItemBase.Eパネル種別.通常, nSkinIndex,
\r
405 //"CONFIGURATIONを抜けると、設定した\n" +
\r
410 this.list項目リスト.Add( this.iSystemSkinSubfolder );
\r
411 this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.ConfigIni.bUseBoxDefSkin,
\r
412 "Music boxスキンの利用:\n" +
\r
413 "特別なスキンが設定されたMusic box\n" +
\r
414 "に出入りしたときに、自動でスキンを\n" +
\r
415 "切り替えるかどうかを設定します。\n",
\r
417 //"(Music Boxスキンは、box.defファイル\n" +
\r
420 "Automatically change skin\n" +
\r
421 "specified in box.def file." );
\r
422 this.list項目リスト.Add( this.iSystemUseBoxDefSkin );
\r
425 this.iSystemGoToKeyAssign = new CItemBase( "System Keys", CItemBase.Eパネル種別.通常,
\r
426 "システムのキー入力に関する項目を設\n定します。",
\r
427 "Settings for the system key/pad inputs." );
\r
428 this.list項目リスト.Add( this.iSystemGoToKeyAssign );
\r
432 this.eメニュー種別 = Eメニュー種別.System;
\r
435 #region [ t項目リストの設定・Drums() ]
\r
436 public void t項目リストの設定・Drums()
\r
438 this.tConfigIniへ記録する();
\r
439 this.list項目リスト.Clear();
\r
441 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
443 this.iDrumsReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
445 "Return to left menu." );
\r
446 this.list項目リスト.Add( this.iDrumsReturnToMenu );
\r
448 #region [ AutoPlay ]
\r
449 this.iDrumsAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
450 "全パッドの自動演奏の ON/OFF を\n" +
\r
452 "You can change whether Auto or not\n" +
\r
453 " for all drums lanes at once." );
\r
454 this.list項目リスト.Add( this.iDrumsAutoPlayAll );
\r
456 this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.ConfigIni.bAutoPlay.LC,
\r
458 "To play LeftCymbal automatically." );
\r
459 this.list項目リスト.Add( this.iDrumsLeftCymbal );
\r
461 this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.ConfigIni.bAutoPlay.HH,
\r
462 "ハイハットを自動で演奏します。\n" +
\r
464 "To play HiHat automatically.\n" +
\r
465 "(It effects to both HH-close and\n HH-open)" );
\r
466 this.list項目リスト.Add( this.iDrumsHiHat );
\r
468 this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.ConfigIni.bAutoPlay.SD,
\r
470 "To play Snare automatically." );
\r
471 this.list項目リスト.Add( this.iDrumsSnare );
\r
473 this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.ConfigIni.bAutoPlay.BD,
\r
475 "To play Bass Drum automatically." );
\r
476 this.list項目リスト.Add( this.iDrumsBass );
\r
478 this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.ConfigIni.bAutoPlay.HT,
\r
480 "To play High Tom automatically." );
\r
481 this.list項目リスト.Add( this.iDrumsHighTom );
\r
483 this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.ConfigIni.bAutoPlay.LT,
\r
485 "To play Low Tom automatically." );
\r
486 this.list項目リスト.Add( this.iDrumsLowTom );
\r
488 this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.ConfigIni.bAutoPlay.FT,
\r
490 "To play Floor Tom automatically." );
\r
491 this.list項目リスト.Add( this.iDrumsFloorTom );
\r
493 this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.ConfigIni.bAutoPlay.CY,
\r
494 "右シンバルとライドシンバルを自動で\n" +
\r
496 "To play both right- and Ride-Cymbal\n" +
\r
497 " automatically." );
\r
498 this.list項目リスト.Add( this.iDrumsCymbalRide );
\r
501 this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums,
\r
502 "演奏時のドラム譜面のスクロールの\n" +
\r
504 "x0.5 ~ x1000.0 を指定可能です。",
\r
505 "To change the scroll speed for the\n" +
\r
507 "You can set it from x0.5 to x1000.0.\n" +
\r
508 "(ScrollSpeed=x0.5 means half speed)" );
\r
509 this.list項目リスト.Add( this.iDrumsScrollSpeed );
\r
511 this.iDrumsSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue(E楽器パート.DRUMS ),
\r
513 "OFF: チップを常に表示します。\n" +
\r
514 "Sudden: チップが譜面の下の方から\n" +
\r
515 " 表示されるようになります。\n" +
\r
516 "Hidden: チップが譜面の下の方で表示\n" +
\r
518 "Sud+Hid: SuddenとHiddenの効果を\n" +
\r
520 "S(emi)-Invisible:\n" +
\r
521 " 通常はチップを透明にしますが、\n" +
\r
522 " Poor/Miss時しばらく表示します。\n" +
\r
523 "F(ull)-Invisible:\n" +
\r
524 " チップを常に透明にします。\n" +
\r
525 " 暗譜での練習にお使いください。",
\r
527 "Drums chips display type:\n" +
\r
528 "OFF: Always show chips.\n" +
\r
529 "Sudden: The chips are disappered\n" +
\r
530 " until they come near the hit\n" +
\r
531 " bar, and suddenly appears.\n" +
\r
532 "Hidden: The chips are hidden by\n" +
\r
533 " approaching to the hit bar.\n" +
\r
534 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
535 "S(emi)-Invisible:\n" +
\r
536 " Usually you can't see the chips\n" +
\r
537 " except you've gotten Poor/Miss.\n" +
\r
538 "F(ull)-Invisible:\n" +
\r
539 " You can't see the chips at all.",
\r
540 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
541 this.list項目リスト.Add( this.iDrumsSudHid );
\r
543 //this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Drums,
\r
544 // "ドラムチップが譜面の下の方から表\n" +
\r
546 // "Drums chips are disappered until they\n" +
\r
547 // "come near the hit bar, and suddenly\n" +
\r
549 //this.list項目リスト.Add( this.iDrumsSudden );
\r
551 //this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Drums,
\r
552 // "ドラムチップが譜面の下の方で表示\n" +
\r
554 // "Drums chips are hidden by approaching\n" +
\r
555 // "to the hit bar. " );
\r
556 //this.list項目リスト.Add( this.iDrumsHidden );
\r
558 //this.iDrumsInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Drums,
\r
559 // "ドラムチップの透明化\n" +
\r
560 // "OFF: チップを常に表示します。\n" +
\r
561 // "SEMI: 通常はチップを透明にしますが、\n" +
\r
562 // " Poor/Miss時はしばらく表示します。\n" +
\r
563 // "FULL: チップを常に透明にします。\n" +
\r
564 // " 暗譜での練習にお使いください。\n" +
\r
565 // "これをONにすると、SuddenとHiddenの\n" +
\r
567 // "Invisible drums chip:\n" +
\r
568 // "If you set Blindfold=ON, you can't\n" +
\r
569 // "see the chips at all.",
\r
570 // new string[] { "OFF", "SEMI", "FULL" } );
\r
571 //this.list項目リスト.Add( this.iDrumsInvisible );
\r
573 this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark,
\r
574 "HALF: 背景、レーン、ゲージが表示\n" +
\r
576 "FULL: さらに小節線、拍線、判定ラ\n" +
\r
577 "イン、パッドも表示されなくなります。",
\r
578 "OFF: all display parts are shown.\n" +
\r
579 "HALF: wallpaper, lanes and gauge are\n" +
\r
580 " disappeared.\n" +
\r
581 "FULL: additionaly to HALF, bar/beat\n" +
\r
582 " lines, hit bar, pads are disappeared.",
\r
583 new string[] { "OFF", "HALF", "FULL" } );
\r
584 this.list項目リスト.Add( this.iCommonDark );
\r
587 this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums,
\r
588 "ドラムチップが譜面の下から上に流\n" +
\r
590 "The scroll way is reversed. Drums chips\n"
\r
591 + "flow from the bottom to the top." );
\r
592 this.list項目リスト.Add( this.iDrumsReverse );
\r
594 this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky,
\r
596 "1以上の値にすると、その回数分の\n" +
\r
597 "Poor/MissでFAILEDとなります。\n" +
\r
599 "DamageLevelに従ったゲージ増減と\n" +
\r
601 "StageFailedの設定と併用できます。",
\r
603 "Set over 1, in case you'd like to specify\n" +
\r
604 " the number of Poor/Miss times to be\n" +
\r
606 "Set 0 to disable Risky mode." );
\r
607 this.list項目リスト.Add( this.iSystemRisky );
\r
609 this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight,
\r
610 "ドラムチップのないところでパッドを\n" +
\r
612 "It becomes MISS to hit pad without\n" +
\r
614 this.list項目リスト.Add( this.iDrumsTight );
\r
616 #region [ Position ]
\r
617 this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置,
\r
618 "演奏時のドラムコンボ文字列の位置\n" +
\r
620 "The display position for Drums Combo.\n" +
\r
621 "Note that it doesn't take effect\n" +
\r
622 " at Autoplay ([Left] is forcely used).",
\r
623 new string[] { "Left", "Center", "Right", "OFF" } );
\r
624 this.list項目リスト.Add( this.iDrumsComboPosition );
\r
626 this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Drums,
\r
627 "ドラムの判定文字の表示位置を指定\n" +
\r
632 "The position to show judgement mark.\n" +
\r
633 "(Perfect, Great, ...)\n" +
\r
635 " P-A: on the lanes.\n" +
\r
636 " P-B: under the hit bar.\n" +
\r
637 " OFF: no judgement mark.",
\r
638 new string[] { "P-A", "P-B", "OFF" } );
\r
639 this.list項目リスト.Add( this.iDrumsPosition );
\r
641 //this.iDrumsJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Drums,
\r
642 // "判定文字列とコンボ表示の優先順位を\n" +
\r
645 // " Under: チップの下に表示します。\n" +
\r
646 // " Over: チップの上に表示します。",
\r
647 // "The display prioity between chips\n" +
\r
648 // " and judge mark/combo.\n" +
\r
650 // " Under: Show them under the chips.\n" +
\r
651 // " Over: Show them over the chips.",
\r
652 // new string[] { "Under", "Over" } );
\r
653 //this.list項目リスト.Add( this.iDrumsJudgeDispPriority );
\r
657 this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup,
\r
658 "ハイハットレーン打ち分け設定:\n" +
\r
659 "左シンバル、ハイハットオープン、ハ\n" +
\r
660 "イハットクローズの打ち分け方法を指\n" +
\r
662 " HH-0 ... LC | HHC | HHO\n" +
\r
663 " HH-1 ... LC & ( HHC | HHO )\n" +
\r
664 " HH-2 ... LC | ( HHC & HHO )\n" +
\r
665 " HH-3 ... LC & HHC & HHO\n" +
\r
667 "※BD Group が BD-1 である場合、\n" +
\r
668 " この項目は変更できません。\n",
\r
669 "HH-0: LC|HC|HO; all are separated.\n" +
\r
670 "HH-1: LC&(HC|HO);\n" +
\r
671 " HC and HO are separted.\n" +
\r
672 " LC is grouped with HC and HHO.\n" +
\r
673 "HH-2: LC|(HC&HO);\n" +
\r
674 " LC and HHs are separated.\n" +
\r
675 " HC and HO are grouped.\n" +
\r
676 "HH-3: LC&HC&HO; all are grouped.\n" +
\r
678 "* This value cannot be changed while \n" +
\r
679 " BD Group is set as BD-1.",
\r
680 new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } );
\r
681 this.list項目リスト.Add( this.iSystemHHGroup );
\r
683 this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup,
\r
685 "ロータムとフロアタムの打ち分け方法\n" +
\r
687 " FT-0 ... LT | FT\n" +
\r
688 " FT-1 ... LT & FT\n",
\r
690 " LT and FT are separated.\n" +
\r
692 " LT and FT are grouped.",
\r
693 new string[] { "FT-0", "FT-1" } );
\r
694 this.list項目リスト.Add( this.iSystemFTGroup );
\r
696 this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup,
\r
697 "シンバルレーン打ち分け設定:\n" +
\r
698 "右シンバルとライドシンバルの打ち分\n" +
\r
700 " CY-0 ... CY | RD\n" +
\r
701 " CY-1 ... CY & RD\n",
\r
703 " CY and RD are separated.\n" +
\r
705 " CY and RD are grouped.",
\r
706 new string[] { "CY-0", "CY-1" } );
\r
707 this.list項目リスト.Add( this.iSystemCYGroup );
\r
709 this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eBDGroup, // #27029 2012.1.4 from
\r
711 "ハイハットペダルをバスとして利用する\n" +
\r
713 " BD-0 ... HP | BD\n" +
\r
714 " BD-1 ... FP & BD\n" +
\r
716 "注意:HitSound が OFF である場合は\n" +
\r
718 "また、BD-1 を選択している間はいくつ\n" +
\r
719 "かのオプションが変更できなくなります。",
\r
721 " HiHatPedal is HiHat.\n" +
\r
723 " HiHatPedal is Bass.\n" +
\r
725 "Warning: You should not use BD-1 with \n" +
\r
726 "HitSound OFF.\n" +
\r
727 "And you cannot change some options \n" +
\r
728 "while using BD-1.",
\r
729 new string[] { "BD-0", "BD-1" } );
\r
730 this.list項目リスト.Add( this.iSystemBDGroup );
\r
733 this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー,
\r
735 "左シンバル・右シンバルの区別をなく\n" +
\r
736 "します。ライドシンバルまで区別をな\n" +
\r
737 "くすか否かは、CYGroup に従います。\n",
\r
738 "Turn ON to group LC (left cymbal) and\n" +
\r
739 " CY (right cymbal).\n" +
\r
740 "Whether RD (ride cymbal) is also\n" +
\r
741 " grouped or not depends on the\n" +
\r
742 "'CY Group' setting." );
\r
743 this.list項目リスト.Add( this.iSystemCymbalFree );
\r
745 #region [ SoundPriority ]
\r
746 this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH,
\r
748 "ハイハットレーン打ち分け有効時に、\n" +
\r
749 "チップの発声音をどのように決定する\n" +
\r
751 " C > P ... チップの音が優先\n" +
\r
752 " P > C ... 叩いたパッドの音が優先\n" +
\r
754 "※BD Group が BD-1 である場合、\n" +
\r
755 " この項目は変更できません。\n",
\r
756 "To specify playing sound in case you're\n" +
\r
757 " using HH-0,1 and 2.\n" +
\r
760 " Chip sound is prior to the pad sound.\n" +
\r
762 " Pad sound is prior to the chip sound.\n" +
\r
764 "* This value cannot be changed while \n" +
\r
765 " BD Group is set as BD-1.",
\r
766 new string[] { "C>P", "P>C" } );
\r
767 this.list項目リスト.Add( this.iSystemHitSoundPriorityHH );
\r
769 this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT,
\r
771 "フロアタム打ち分け有効時に、チップ\n" +
\r
772 "の発声音をどのように決定するかを\n" +
\r
774 " C > P ... チップの音が優先\n" +
\r
775 " P > C ... 叩いたパッドの音が優先",
\r
776 "To specify playing sound in case you're\n" +
\r
780 " Chip sound is prior to the pad sound.\n" +
\r
782 " Pad sound is prior to the chip sound.",
\r
783 new string[] { "C>P", "P>C" } );
\r
784 this.list項目リスト.Add( this.iSystemHitSoundPriorityFT );
\r
786 this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY,
\r
788 "シンバルレーン打ち分け有効時に、\n" +
\r
789 "チップの発声音をどのように決定する\n" +
\r
791 " C > P ... チップの音が優先\n" +
\r
792 " P > C ... 叩いたパッドの音が優先",
\r
793 "To specify playing sound in case you're\n" +
\r
797 " Chip sound is prior to the pad sound.\n" +
\r
799 " Pad sound is prior to the chip sound.",
\r
800 new string[] { "C>P", "P>C" } );
\r
801 this.list項目リスト.Add( this.iSystemHitSoundPriorityCY );
\r
803 this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効,
\r
804 "フィルインエフェクトの使用:\n" +
\r
805 "フィルイン区間の爆発パターンに特別\n" +
\r
806 "のエフェクトを使用します。\n" +
\r
807 "フィルインエフェクトの描画にはそれな\n" +
\r
808 "りのマシンパワーが必要とされます。",
\r
809 "To show bursting effects at the fill-in\n" +
\r
811 this.list項目リスト.Add( this.iSystemFillIn );
\r
815 this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する,
\r
817 "これをOFFにすると、パッドを叩いた\n" +
\r
818 "ときの音を再生しなくなります(ドラム\n" +
\r
820 "DTX の音色で演奏したい場合などに\n" +
\r
823 "注意:BD Group が BD-1 である場合\n" +
\r
825 "Turn OFF if you don't want to play\n" +
\r
826 " hitting chip sound.\n" +
\r
827 "It is useful to play with real/electric\n" +
\r
830 "Warning: You should not use BD Group \n" +
\r
831 "BD-1 with HitSound OFF.\n" );
\r
832 this.list項目リスト.Add( this.iSystemHitSound );
\r
834 this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums,
\r
836 "ドラム音を他の音より大きめの音量で\n" +
\r
838 "ただし、オートプレイの場合は通常音\n" +
\r
840 "To enhance the drums chip sound\n" +
\r
841 "(except autoplay)." );
\r
842 this.list項目リスト.Add( this.iSystemSoundMonitorDrums );
\r
844 this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums,
\r
845 "表示可能な最小コンボ数(ドラム):\n" +
\r
846 "画面に表示されるコンボの最小の数\n" +
\r
848 "1 ~ 99999 の値が指定可能です。",
\r
849 "Initial number to show the combo\n" +
\r
850 " for the drums.\n" +
\r
851 "You can specify from 1 to 99999." );
\r
852 this.list項目リスト.Add( this.iSystemMinComboDrums );
\r
855 // #23580 2011.1.3 yyagi
\r
856 this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums,
\r
857 "ドラムの入力タイミングの微調整を\n" +
\r
859 "-99 ~ 99ms まで指定可能です。\n" +
\r
860 "入力ラグを軽減するためには、負の\n" +
\r
862 "To adjust the drums input timing.\n" +
\r
863 "You can set from -99 to 99ms.\n" +
\r
864 "To decrease input lag, set minus value." );
\r
865 this.list項目リスト.Add( this.iDrumsInputAdjustTimeMs );
\r
867 // #24074 2011.01.23 add ikanick
\r
868 this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph.Drums,
\r
869 "最高スキルと比較できるグラフを\n" +
\r
871 "オートプレイだと表示されません。",
\r
872 "To draw Graph \n" +
\r
874 this.list項目リスト.Add( this.iDrumsGraph );
\r
876 this.iDrumsGoToKeyAssign = new CItemBase( "Drums Keys", CItemBase.Eパネル種別.通常,
\r
877 "ドラムのキー入力に関する項目を設\n"+
\r
879 "Settings for the drums key/pad inputs." );
\r
880 this.list項目リスト.Add( this.iDrumsGoToKeyAssign );
\r
883 this.eメニュー種別 = Eメニュー種別.Drums;
\r
886 #region [ t項目リストの設定・Guitar() ]
\r
887 public void t項目リストの設定・Guitar()
\r
889 this.tConfigIniへ記録する();
\r
890 this.list項目リスト.Clear();
\r
892 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
894 this.iGuitarReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
896 "Return to left menu." );
\r
897 this.list項目リスト.Add( this.iGuitarReturnToMenu );
\r
899 #region [ AutoPlay ]
\r
900 //this.iGuitarAutoPlay = new CItemToggle( "AutoPlay", CDTXMania.ConfigIni.bAutoPlay.Guitar,
\r
901 // "ギターパートを自動で演奏します。",
\r
902 // "To play the guitar part automatically." );
\r
903 //this.list項目リスト.Add( this.iGuitarAutoPlay );
\r
905 this.iGuitarAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
906 "全ネック/ピックの自動演奏の ON/OFF を\n" +
\r
908 "You can change whether Auto or not\n" +
\r
909 " for all guitar neck/pick at once." );
\r
910 this.list項目リスト.Add( this.iGuitarAutoPlayAll );
\r
911 this.iGuitarR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.GtR,
\r
913 "To play R neck automatically." );
\r
914 this.list項目リスト.Add( this.iGuitarR );
\r
915 this.iGuitarG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.GtG,
\r
917 "To play G neck automatically." );
\r
918 this.list項目リスト.Add( this.iGuitarG );
\r
919 this.iGuitarB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.GtB,
\r
921 "To play B neck automatically." );
\r
922 this.list項目リスト.Add( this.iGuitarB );
\r
923 this.iGuitarPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.GtPick,
\r
925 "To play Pick automatically." );
\r
926 this.list項目リスト.Add( this.iGuitarPick );
\r
927 this.iGuitarW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.GtW,
\r
928 "ウェイリングを自動で演奏します。",
\r
929 "To play wailing automatically." );
\r
930 this.list項目リスト.Add( this.iGuitarW );
\r
932 this.iGuitarScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Guitar,
\r
933 "演奏時のギター譜面のスクロールの\n速度を指定します。\nx0.5 ~ x1000.0 までを指定可能です。",
\r
934 "To change the scroll speed for the\nguitar lanes.\nYou can set it from x0.5 to x1000.0.\n(ScrollSpeed=x0.5 means half speed)" );
\r
935 this.list項目リスト.Add( this.iGuitarScrollSpeed );
\r
937 this.iGuitarSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue( E楽器パート.GUITAR ),
\r
939 "OFF: チップを常に表示します。\n" +
\r
940 "Sudden: チップが譜面の下の方から\n" +
\r
941 " 表示されるようになります。\n" +
\r
942 "Hidden: チップが譜面の下の方で表示\n" +
\r
944 "Sud+Hid: SuddenとHiddenの効果を\n" +
\r
946 "S(emi)-Invisible:\n" +
\r
947 " 通常はチップを透明にしますが、\n" +
\r
948 " Bad時しばらく表示します。\n" +
\r
949 "F(ull)-Invisible:\n" +
\r
950 " チップを常に透明にします。\n" +
\r
951 " 暗譜での練習にお使いください。",
\r
953 "Guitar chips display type:\n" +
\r
954 "OFF: Always show chips.\n" +
\r
955 "Sudden: The chips are disappered\n" +
\r
956 " until they come near the hit\n" +
\r
957 " bar, and suddenly appears.\n" +
\r
958 "Hidden: The chips are hidden by\n" +
\r
959 " approaching to the hit bar.\n" +
\r
960 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
961 "S(emi)-Invisible:\n" +
\r
962 " Usually you can't see the chips\n" +
\r
963 " except you've gotten Bad.\n" +
\r
964 "F(ull)-Invisible:\n" +
\r
965 " You can't see the chips at all.",
\r
966 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
967 this.list項目リスト.Add( this.iGuitarSudHid );
\r
969 //this.iGuitarSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Guitar,
\r
970 // "ギターチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
971 // "Guitar chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
972 //this.list項目リスト.Add( this.iGuitarSudden );
\r
973 //this.iGuitarHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Guitar,
\r
974 // "ギターチップがヒットバー付近で表示\nされなくなります。",
\r
975 // "Guitar chips are hidden by approaching\nto the hit bar. " );
\r
976 //this.list項目リスト.Add( this.iGuitarHidden );
\r
978 //this.iGuitarInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Guitar,
\r
979 // "ギターのチップを全く表示しなくなりま\n" +
\r
980 // "す。暗譜での練習にお使いください。\n" +
\r
981 // "これをONにすると、SuddenとHiddenの\n" +
\r
983 // "If you set Blindfold=ON, you can't\n" +
\r
984 // "see the chips at all.",
\r
985 // new string[] { "OFF", "HALF", "ON" } );
\r
986 //this.list項目リスト.Add( this.iGuitarInvisible );
\r
988 this.iGuitarReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Guitar,
\r
989 "ギターチップが譜面の上から下に\n" +
\r
991 "The scroll way is reversed\n" +
\r
992 "Guitar chips flow from the top\n" +
\r
993 "to the bottom." );
\r
994 this.list項目リスト.Add( this.iGuitarReverse );
\r
996 this.iSystemJudgePosGuitar = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Guitar,
\r
998 "判定ラインとRGBボタンが、少し下側に\n" +
\r
1000 "Judge Line position:\n" +
\r
1001 "The judge line and RGB buttons will\n" +
\r
1002 "be displayed lower position.",
\r
1003 new string[] { "Normal", "Lower" } );
\r
1004 this.list項目リスト.Add( this.iSystemJudgePosGuitar );
\r
1006 this.iGuitarPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Guitar,
\r
1007 "ギターの判定文字の表示位置を指定\n" +
\r
1010 " P-B: COMBO の下\n" +
\r
1011 " P-C: 判定ラインの上\n" +
\r
1013 "The position to show judgement mark.\n" +
\r
1014 "(Perfect, Great, ...)\n" +
\r
1016 " P-A: on the lanes.\n" +
\r
1017 " P-B: under the COMBO indication.\n" +
\r
1018 " P-C: over the hit bar.\n" +
\r
1019 " OFF: no judgement mark.",
\r
1020 new string[] { "P-A", "P-B", "P-C", "OFF" } );
\r
1021 this.list項目リスト.Add( this.iGuitarPosition );
\r
1023 //this.iGuitarJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Guitar,
\r
1024 // "判定文字列とコンボ表示の優先順位を\n" +
\r
1027 // " Under: チップの下に表示します。\n" +
\r
1028 // " Over: チップの上に表示します。",
\r
1029 // "The display prioity between chips\n" +
\r
1030 // " and judge mark/combo.\n" +
\r
1032 // " Under: Show them under the chips.\n" +
\r
1033 // " Over: Show them over the chips.",
\r
1034 // new string[] { "Under", "Over" } );
\r
1035 //this.list項目リスト.Add( this.iGuitarJudgeDispPriority );
\r
1037 this.iGuitarRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eRandom.Guitar,
\r
1038 "ギターのチップがランダムに降ってき\nます。\n Part: 小節・レーン単位で交換\n Super: チップ単位で交換\n Hyper: 全部完全に変更",
\r
1039 "Guitar chips come randomly.\n\n Part: swapping lanes randomly for each\n measures.\n Super: swapping chip randomly\n Hyper: swapping randomly\n (number of lanes also changes)",
\r
1040 new string[] { "OFF", "Part", "Super", "Hyper" } );
\r
1041 this.list項目リスト.Add( this.iGuitarRandom );
\r
1042 this.iGuitarLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Guitar,
\r
1043 "ギターチップのないところでピッキン\nグしても BAD になりません。",
\r
1044 "Even if you pick without any chips,\nit doesn't become BAD." );
\r
1045 this.list項目リスト.Add( this.iGuitarLight );
\r
1046 this.iGuitarLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Guitar,
\r
1047 "ギターの RGB の並びが左右反転し\nます。(左利きモード)",
\r
1048 "Lane order 'R-G-B' becomes 'B-G-R'\nfor lefty." );
\r
1049 this.list項目リスト.Add( this.iGuitarLeft );
\r
1051 this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Guitar,
\r
1052 "ギター音モニタ:\nギター音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。",
\r
1053 "To enhance the guitar chip sound\n(except autoplay)." );
\r
1054 this.list項目リスト.Add( this.iSystemSoundMonitorGuitar );
\r
1055 this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar,
\r
1056 "表示可能な最小コンボ数(ギター):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。",
\r
1057 "Initial number to show the combo\n for the guitar.\nYou can specify from 1 to 99999." );
\r
1058 this.list項目リスト.Add( this.iSystemMinComboGuitar );
\r
1061 // #23580 2011.1.3 yyagi
\r
1062 this.iGuitarInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar,
\r
1063 "ギターの入力タイミングの微調整を\n" +
\r
1065 "-99 ~ 99ms まで指定可能です。\n" +
\r
1066 "入力ラグを軽減するためには、負の\n" +
\r
1068 "To adjust the guitar input timing.\n" +
\r
1069 "You can set from -99 to 99ms.\n" +
\r
1070 "To decrease input lag, set minus value." );
\r
1071 this.list項目リスト.Add( this.iGuitarInputAdjustTimeMs );
\r
1073 this.iGuitarGoToKeyAssign = new CItemBase( "Guitar Keys", CItemBase.Eパネル種別.通常,
\r
1074 "ギターのキー入力に関する項目を設\n定します。",
\r
1075 "Settings for the guitar key/pad inputs." );
\r
1076 this.list項目リスト.Add( this.iGuitarGoToKeyAssign );
\r
1078 this.n現在の選択項目 = 0;
\r
1079 this.eメニュー種別 = Eメニュー種別.Guitar;
\r
1082 #region [ t項目リストの設定・Bass() ]
\r
1083 public void t項目リストの設定・Bass()
\r
1085 this.tConfigIniへ記録する();
\r
1086 this.list項目リスト.Clear();
\r
1088 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1090 this.iBassReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,
\r
1092 "Return to left menu." );
\r
1093 this.list項目リスト.Add( this.iBassReturnToMenu );
\r
1095 #region [ AutoPlay ]
\r
1096 //this.iBassAutoPlay = new CItemToggle( "AutoPlay", CDTXMania.ConfigIni.bAutoPlay.Bass,
\r
1097 // "ベースパートを自動で演奏します。",
\r
1098 // "To play the bass part automatically." );
\r
1099 //this.list項目リスト.Add( this.iBassAutoPlay );
\r
1101 this.iBassAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,
\r
1102 "全ネック/ピックの自動演奏の ON/OFF を\n" +
\r
1104 "You can change whether Auto or not\n" +
\r
1105 " for all bass neck/pick at once." );
\r
1106 this.list項目リスト.Add( this.iBassAutoPlayAll );
\r
1107 this.iBassR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.BsR,
\r
1109 "To play R neck automatically." );
\r
1110 this.list項目リスト.Add( this.iBassR );
\r
1111 this.iBassG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.BsG,
\r
1113 "To play G neck automatically." );
\r
1114 this.list項目リスト.Add( this.iBassG );
\r
1115 this.iBassB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.BsB,
\r
1117 "To play B neck automatically." );
\r
1118 this.list項目リスト.Add( this.iBassB );
\r
1119 this.iBassPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.BsPick,
\r
1121 "To play Pick automatically." );
\r
1122 this.list項目リスト.Add( this.iBassPick );
\r
1123 this.iBassW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.BsW,
\r
1124 "ウェイリングを自動で演奏します。",
\r
1125 "To play wailing automatically." );
\r
1126 this.list項目リスト.Add( this.iBassW );
\r
1129 this.iBassScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Bass,
\r
1130 "演奏時のベース譜面のスクロールの\n速度を指定します。\nx0.5 ~ x1000.0 までを指定可能です。",
\r
1131 "To change the scroll speed for the\nbass lanes.\nYou can set it from x0.5 to x1000.0.\n(ScrollSpeed=x0.5 means half speed)" );
\r
1132 this.list項目リスト.Add( this.iBassScrollSpeed );
\r
1134 this.iBassSudHid = new CItemList( "Sud+Hid", CItemBase.Eパネル種別.通常, getDefaultSudHidValue( E楽器パート.BASS ),
\r
1135 "ベースチップの表示方式:\n" +
\r
1136 "OFF: チップを常に表示します。\n" +
\r
1137 "Sudden: チップが譜面の下の方から\n" +
\r
1138 " 表示されるようになります。\n" +
\r
1139 "Hidden: チップが譜面の下の方で表示\n" +
\r
1141 "Sud+Hid: SuddenとHiddenの効果を\n" +
\r
1143 "S(emi)-Invisible:\n" +
\r
1144 " 通常はチップを透明にしますが、\n" +
\r
1145 " Bad時しばらく表示します。\n" +
\r
1146 "F(ull)-Invisible:\n" +
\r
1147 " チップを常に透明にします。\n" +
\r
1148 " 暗譜での練習にお使いください。",
\r
1150 "Bass chips display type:\n" +
\r
1151 "OFF: Always show chips.\n" +
\r
1152 "Sudden: The chips are disappered\n" +
\r
1153 " until they come near the hit\n" +
\r
1154 " bar, and suddenly appears.\n" +
\r
1155 "Hidden: The chips are hidden by\n" +
\r
1156 " approaching to the hit bar.\n" +
\r
1157 "Sud+Hid: Both Sudden and Hidden.\n" +
\r
1158 "S(emi)-Invisible:\n" +
\r
1159 " Usually you can't see the chips\n" +
\r
1160 " except you've gotten Bad.\n" +
\r
1161 "F(ull)-Invisible:\n" +
\r
1162 " You can't see the chips at all.",
\r
1163 new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } );
\r
1164 this.list項目リスト.Add( this.iBassSudHid );
\r
1166 //this.iBassSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Bass,
\r
1167 // "ベースチップがヒットバー付近にくる\nまで表示されなくなります。",
\r
1168 // "Bass chips are disappered until they\ncome near the hit bar, and suddenly\nappears." );
\r
1169 //this.list項目リスト.Add( this.iBassSudden );
\r
1170 //this.iBassHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Bass,
\r
1171 // "ベースチップがヒットバー付近で表示\nされなくなります。",
\r
1172 // "Bass chips are hidden by approaching\nto the hit bar." );
\r
1173 //this.list項目リスト.Add( this.iBassHidden );
\r
1175 //this.iBassInvisible = new CItemList( "InvisibleBlindfold", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Bass,
\r
1176 // "ベースのチップを全く表示しなくなりま\n" +
\r
1177 // "す。暗譜での練習にお使いください。\n" +
\r
1178 // "これをONにすると、SuddenとHiddenの\n" +
\r
1180 // "If you set Blindfold=ON, you can't\n" +
\r
1181 // "see the chips at all.",
\r
1182 // new string[] { "OFF", "HALF", "ON"} );
\r
1183 //this.list項目リスト.Add( this.iBassInvisible );
\r
1185 this.iBassReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Bass,
\r
1186 "ベースチップが譜面の上から下に\n" +
\r
1188 "The scroll way is reversed.\n" +
\r
1189 "Bass chips flow from the top\n" +
\r
1190 "to the bottom." );
\r
1191 this.list項目リスト.Add( this.iBassReverse );
\r
1193 this.iSystemJudgePosBass = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Bass,
\r
1195 "判定ラインとRGBボタンが、少し下側に\n" +
\r
1197 "Judge Line position:\n" +
\r
1198 "The judge line and RGB buttons will\n" +
\r
1199 "be displayed lower position.",
\r
1200 new string[] { "Normal", "Lower" } );
\r
1201 this.list項目リスト.Add( this.iSystemJudgePosBass );
\r
1203 this.iBassPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常,
\r
1204 (int) CDTXMania.ConfigIni.判定文字表示位置.Bass,
\r
1205 "ベースの判定文字の表示位置を指定\n" +
\r
1208 " P-B: COMBO の下\n" +
\r
1209 " P-C: 判定ラインの上\n" +
\r
1211 "The position to show judgement mark.\n" +
\r
1212 "(Perfect, Great, ...)\n" +
\r
1214 " P-A: on the lanes.\n" +
\r
1215 " P-B: under the COMBO indication.\n" +
\r
1216 " P-C: over the hit bar.\n" +
\r
1217 " OFF: no judgement mark.",
\r
1218 new string[] { "P-A", "P-B", "P-C", "OFF" } );
\r
1219 this.list項目リスト.Add( this.iBassPosition );
\r
1221 //this.iBassJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Bass,
\r
1222 //"判定文字列とコンボ表示の優先順位を\n" +
\r
1225 //" Under: チップの下に表示します。\n" +
\r
1226 //" Over: チップの上に表示します。",
\r
1227 //"The display prioity between chips\n" +
\r
1228 //" and judge mark/combo.\n" +
\r
1230 //" Under: Show them under the chips.\n" +
\r
1231 //" Over: Show them over the chips.",
\r
1232 //new string[] { "Under", "Over" } );
\r
1233 //this.list項目リスト.Add( this.iBassJudgeDispPriority );
\r
1235 this.iBassRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常,
\r
1236 (int) CDTXMania.ConfigIni.eRandom.Bass,
\r
1237 "ベースのチップがランダムに降ってき\nます。\n Part: 小節・レーン単位で交換\n Super: チップ単位で交換\n Hyper: 全部完全に変更",
\r
1238 "Bass chips come randomly.\n\n Part: swapping lanes randomly for each\n measures.\n Super: swapping chip randomly\n Hyper: swapping randomly\n (number of lanes also changes)",
\r
1239 new string[] { "OFF", "Part", "Super", "Hyper" } );
\r
1240 this.list項目リスト.Add( this.iBassRandom );
\r
1241 this.iBassLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Bass,
\r
1242 "ベースチップのないところでピッキン\nグしても BAD になりません。",
\r
1243 "Even if you pick without any chips,\nit doesn't become BAD." );
\r
1244 this.list項目リスト.Add( this.iBassLight );
\r
1245 this.iBassLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Bass,
\r
1246 "ベースの RGB の並びが左右反転し\nます。(左利きモード)",
\r
1247 "Lane order 'R-G-B' becomes 'B-G-R'\nfor lefty." );
\r
1248 this.list項目リスト.Add( this.iBassLeft );
\r
1250 this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Bass,
\r
1251 "ベース音モニタ:\nベース音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。",
\r
1252 "To enhance the bass chip sound\n(except autoplay)." );
\r
1253 this.list項目リスト.Add( this.iSystemSoundMonitorBass );
\r
1255 this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass,
\r
1256 "表示可能な最小コンボ数(ベース):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。",
\r
1257 "Initial number to show the combo\n for the bass.\nYou can specify from 1 to 99999." );
\r
1258 this.list項目リスト.Add( this.iSystemMinComboBass );
\r
1261 // #23580 2011.1.3 yyagi
\r
1262 this.iBassInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass,
\r
1263 "ベースの入力タイミングの微調整を\n" +
\r
1265 "-99 ~ 99ms まで指定可能です。\n" +
\r
1266 "入力ラグを軽減するためには、負の\n" +
\r
1268 "To adjust the bass input timing.\n" +
\r
1269 "You can set from -99 to 99ms.\n" +
\r
1270 "To decrease input lag, set minus value." );
\r
1271 this.list項目リスト.Add( this.iBassInputAdjustTimeMs );
\r
1273 this.iBassGoToKeyAssign = new CItemBase( "Bass Keys", CItemBase.Eパネル種別.通常,
\r
1274 "ベースのキー入力に関する項目を設\n定します。",
\r
1275 "Settings for the bass key/pad inputs.");
\r
1276 this.list項目リスト.Add( this.iBassGoToKeyAssign );
\r
1278 this.n現在の選択項目 = 0;
\r
1279 this.eメニュー種別 = Eメニュー種別.Bass;
\r
1283 /// <summary>Sud+Hidの初期値を返す</summary>
\r
1284 /// <param name="eInst"></param>
\r
1290 /// 4: Semi-Invisible
\r
1291 /// 5: Full-Invisible
\r
1293 private int getDefaultSudHidValue( E楽器パート eInst )
\r
1296 int nInst = (int) eInst;
\r
1297 if ( CDTXMania.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF )
\r
1299 defvar = (int) CDTXMania.ConfigIni.eInvisible[ nInst ] + 3;
\r
1303 defvar = ( CDTXMania.ConfigIni.bSudden[ nInst ] ? 1 : 0 ) +
\r
1304 ( CDTXMania.ConfigIni.bHidden[ nInst ] ? 2 : 0 );
\r
1310 /// ESC押下時の右メニュー描画
\r
1312 public void tEsc押下()
\r
1314 if ( this.b要素値にフォーカス中 ) // #32059 2013.9.17 add yyagi
\r
1316 this.b要素値にフォーカス中 = false;
\r
1319 if ( this.eメニュー種別 == Eメニュー種別.KeyAssignSystem )
\r
1321 t項目リストの設定・System();
\r
1323 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums )
\r
1325 t項目リストの設定・Drums();
\r
1327 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignGuitar )
\r
1329 t項目リストの設定・Guitar();
\r
1331 else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignBass )
\r
1337 public void tEnter押下()
\r
1339 CDTXMania.Skin.sound決定音.t再生する();
\r
1340 if( this.b要素値にフォーカス中 )
\r
1342 this.b要素値にフォーカス中 = false;
\r
1344 else if( this.list項目リスト[ this.n現在の選択項目 ].e種別 == CItemBase.E種別.整数 )
\r
1346 this.b要素値にフォーカス中 = true;
\r
1348 else if( this.b現在選択されている項目はReturnToMenuである )
\r
1350 //this.tConfigIniへ記録する();
\r
1351 //CONFIG中にスキン変化が発生すると面倒なので、一旦マスクした。
\r
1353 #region [ 個々のキーアサイン ]
\r
1354 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC )
\r
1356 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC );
\r
1358 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHC )
\r
1360 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HH );
\r
1362 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHO )
\r
1364 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HHO );
\r
1366 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsSD )
\r
1368 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.SD );
\r
1370 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsBD )
\r
1372 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.BD );
\r
1374 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHT )
\r
1376 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HT );
\r
1378 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLT )
\r
1380 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LT );
\r
1382 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsFT )
\r
1384 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.FT );
\r
1386 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsCY )
\r
1388 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.CY );
\r
1390 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsRD )
\r
1392 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RD );
\r
1394 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHP ) // #27029 2012.1.4 from
\r
1396 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HP ); //
\r
1398 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarR )
\r
1400 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.R );
\r
1402 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarG )
\r
1404 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.G );
\r
1406 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarB )
\r
1408 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.B );
\r
1410 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarPick )
\r
1412 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Pick );
\r
1414 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarWail )
\r
1416 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Wail );
\r
1418 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarDecide )
\r
1420 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Decide );
\r
1422 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarCancel )
\r
1424 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel );
\r
1426 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassR )
\r
1428 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.R );
\r
1430 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassG )
\r
1432 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.G );
\r
1434 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassB )
\r
1436 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.B );
\r
1438 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassPick )
\r
1440 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Pick );
\r
1442 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassWail )
\r
1444 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Wail );
\r
1446 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassDecide )
\r
1448 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Decide );
\r
1450 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel )
\r
1452 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Cancel );
\r
1454 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemCapture )
\r
1456 CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture);
\r
1461 // #27029 2012.1.5 from
\r
1462 if( ( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) &&
\r
1463 ( ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHHGroup ) || ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHitSoundPriorityHH ) ) )
\r
1470 this.list項目リスト[ this.n現在の選択項目 ].tEnter押下();
\r
1476 if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemFullscreen )
\r
1478 CDTXMania.app.b次のタイミングで全画面・ウィンドウ切り替えを行う = true;
\r
1480 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemVSyncWait )
\r
1482 CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
1483 CDTXMania.app.b次のタイミングで垂直帰線同期切り替えを行う = true;
\r
1485 #region [ AutoPlay #23886 2012.5.8 yyagi ]
\r
1486 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsAutoPlayAll )
\r
1488 this.t全部のドラムパッドのAutoを切り替える( this.iDrumsAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1490 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iGuitarAutoPlayAll )
\r
1492 this.t全部のギターパッドのAutoを切り替える( this.iGuitarAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1494 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iBassAutoPlayAll )
\r
1496 this.t全部のベースパッドのAutoを切り替える( this.iBassAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );
\r
1499 #region [ キーアサインへの遷移と脱出 ]
\r
1500 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGoToKeyAssign ) // #24609 2011.4.12 yyagi
\r
1502 t項目リストの設定・KeyAssignSystem();
\r
1504 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemReturnToMenu ) // #24609 2011.4.12 yyagi
\r
1506 t項目リストの設定・System();
\r
1508 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1510 t項目リストの設定・KeyAssignDrums();
\r
1512 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1514 t項目リストの設定・Drums();
\r
1516 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iGuitarGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1518 t項目リストの設定・KeyAssignGuitar();
\r
1520 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1522 t項目リストの設定・Guitar();
\r
1524 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iBassGoToKeyAssign ) // #24525 2011.3.15 yyagi
\r
1526 t項目リストの設定・KeyAssignBass();
\r
1528 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassReturnToMenu ) // #24525 2011.3.15 yyagi
\r
1533 #region [ BDGroup #27029 2012.1.4 from ]
\r
1534 else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemBDGroup ) // #27029 2012.1.4 from
\r
1536 if( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD )
\r
1538 // #27029 2012.1.5 from: 変更前の状態をバックアップする。
\r
1539 CDTXMania.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() {
\r
1540 eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号,
\r
1541 eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号,
\r
1544 // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし
\r
1545 if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.全部打ち分ける )
\r
1546 this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.左シンバルのみ打ち分ける;
\r
1547 if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.ハイハットのみ打ち分ける )
\r
1548 this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.全部共通;
\r
1550 // HH Priority ... C>P → 変更なし / P>C → C>P
\r
1551 if( this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int) E打ち分け時の再生の優先順位.PadがChipより優先 )
\r
1552 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) E打ち分け時の再生の優先順位.ChipがPadより優先;
\r
1556 // #27029 2012.1.5 from: 変更前の状態に戻す。
\r
1557 this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHHGroup;
\r
1558 this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHitSoundPriorityHH;
\r
1560 CDTXMania.ConfigIni.BackupOf1BD = null;
\r
1564 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemUseBoxDefSkin ) // #28195 2012.5.6 yyagi
\r
1566 CSkin.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON;
\r
1568 #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。]
\r
1569 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder ) // #28195 2012.5.2 yyagi
\r
1571 tGenerateSkinSample();
\r
1574 #region [ 曲データ一覧の再読み込み ]
\r
1575 else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemReloadDTX ) // #32081 2013.10.21 yyagi
\r
1577 if ( CDTXMania.EnumSongs.IsEnumerating )
\r
1579 // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" );
\r
1580 CDTXMania.EnumSongs.Abort();
\r
1581 CDTXMania.actEnumSongs.On非活性化();
\r
1584 CDTXMania.EnumSongs.StartEnumFromDisk();
\r
1585 CDTXMania.EnumSongs.ChangeEnumeratePriority( ThreadPriority.Normal );
\r
1586 CDTXMania.actEnumSongs.bコマンドでの曲データ取得 = true;
\r
1587 CDTXMania.actEnumSongs.On活性化();
\r
1593 private void tGenerateSkinSample()
\r
1595 nSkinIndex = ( ( CItemList ) this.list項目リスト[ this.n現在の選択項目 ] ).n現在選択されている項目番号;
\r
1596 if ( nSkinSampleIndex != nSkinIndex )
\r
1598 string path = skinSubFolders[ nSkinIndex ];
\r
1599 path = System.IO.Path.Combine( path, @"Graphics\ScreenTitle background.jpg" );
\r
1600 Bitmap bmSrc = new Bitmap( path );
\r
1601 Bitmap bmDest = new Bitmap( bmSrc.Width / 4, bmSrc.Height / 4 );
\r
1602 Graphics g = Graphics.FromImage( bmDest );
\r
1603 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
\r
1604 g.DrawImage( bmSrc, new Rectangle( 0, 0, bmSrc.Width / 4, bmSrc.Height / 4 ),
\r
1605 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel );
\r
1606 if ( txSkinSample1 != null )
\r
1608 CDTXMania.t安全にDisposeする( ref txSkinSample1 );
\r
1610 txSkinSample1 = CDTXMania.tテクスチャの生成( bmDest, false );
\r
1614 nSkinSampleIndex = nSkinIndex;
\r
1618 #region [ 項目リストの設定 ( Exit, KeyAssignSystem/Drums/Guitar/Bass) ]
\r
1619 public void t項目リストの設定・Exit()
\r
1621 this.tConfigIniへ記録する();
\r
1622 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1624 public void t項目リストの設定・KeyAssignSystem()
\r
1626 //this.tConfigIniへ記録する();
\r
1627 this.list項目リスト.Clear();
\r
1629 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1631 this.iKeyAssignSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,
\r
1633 "Return to left menu." );
\r
1634 this.list項目リスト.Add( this.iKeyAssignSystemReturnToMenu );
\r
1635 this.iKeyAssignSystemCapture = new CItemBase( "Capture",
\r
1636 "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。",
\r
1637 "Capture key assign:\nTo assign key for screen capture.\n (You can use keyboard only. You can't\nuse pads to capture screenshot." );
\r
1638 this.list項目リスト.Add( this.iKeyAssignSystemCapture );
\r
1640 this.n現在の選択項目 = 0;
\r
1641 this.eメニュー種別 = Eメニュー種別.KeyAssignSystem;
\r
1643 public void t項目リストの設定・KeyAssignDrums()
\r
1645 // this.tConfigIniへ記録する();
\r
1646 this.list項目リスト.Clear();
\r
1648 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1650 this.iKeyAssignDrumsReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,
\r
1652 "Return to left menu.");
\r
1653 this.list項目リスト.Add(this.iKeyAssignDrumsReturnToMenu);
\r
1654 this.iKeyAssignDrumsLC = new CItemBase( "LeftCymbal",
\r
1655 "ドラムのキー設定:\n左シンバルへのキーの割り当てを設\n定します。",
\r
1656 "Drums key assign:\nTo assign key/pads for LeftCymbal\n button.");
\r
1657 this.list項目リスト.Add(this.iKeyAssignDrumsLC);
\r
1658 this.iKeyAssignDrumsHHC = new CItemBase( "HiHat(Close)",
\r
1659 "ドラムのキー設定:\nハイハット(クローズ)へのキーの割り\n当てを設定します。",
\r
1660 "Drums key assign:\nTo assign key/pads for HiHat(Close)\n button.");
\r
1661 this.list項目リスト.Add( this.iKeyAssignDrumsHHC );
\r
1662 this.iKeyAssignDrumsHHO = new CItemBase( "HiHat(Open)",
\r
1663 "ドラムのキー設定:\nハイハット(オープン)へのキーの割り\n当てを設定します。",
\r
1664 "Drums key assign:\nTo assign key/pads for HiHat(Open)\n button.");
\r
1665 this.list項目リスト.Add(this.iKeyAssignDrumsHHO);
\r
1666 this.iKeyAssignDrumsSD = new CItemBase( "Snare",
\r
1667 "ドラムのキー設定:\nスネアへのキーの割り当てを設定し\nます。",
\r
1668 "Drums key assign:\nTo assign key/pads for Snare button.");
\r
1669 this.list項目リスト.Add(this.iKeyAssignDrumsSD);
\r
1670 this.iKeyAssignDrumsBD = new CItemBase( "Bass",
\r
1671 "ドラムのキー設定:\nバスドラムへのキーの割り当てを設定\nします。",
\r
1672 "Drums key assign:\nTo assign key/pads for Bass button.");
\r
1673 this.list項目リスト.Add(this.iKeyAssignDrumsBD);
\r
1674 this.iKeyAssignDrumsHT = new CItemBase( "HighTom",
\r
1675 "ドラムのキー設定:\nハイタムへのキーの割り当てを設定\nします。",
\r
1676 "Drums key assign:\nTo assign key/pads for HighTom\n button.");
\r
1677 this.list項目リスト.Add(this.iKeyAssignDrumsHT);
\r
1678 this.iKeyAssignDrumsLT = new CItemBase( "LowTom",
\r
1679 "ドラムのキー設定:\nロータムへのキーの割り当てを設定\nします。",
\r
1680 "Drums key assign:\nTo assign key/pads for LowTom button.");
\r
1681 this.list項目リスト.Add(this.iKeyAssignDrumsLT);
\r
1682 this.iKeyAssignDrumsFT = new CItemBase( "FloorTom",
\r
1683 "ドラムのキー設定:\nフロアタムへのキーの割り当てを設\n定します。",
\r
1684 "Drums key assign:\nTo assign key/pads for FloorTom\n button.");
\r
1685 this.list項目リスト.Add(this.iKeyAssignDrumsFT);
\r
1686 this.iKeyAssignDrumsCY = new CItemBase( "RightCymbal",
\r
1687 "ドラムのキー設定:\n右シンバルへのキーの割り当てを設\n定します。",
\r
1688 "Drums key assign:\nTo assign key/pads for RightCymbal\n button.");
\r
1689 this.list項目リスト.Add(this.iKeyAssignDrumsCY);
\r
1690 this.iKeyAssignDrumsRD = new CItemBase( "RideCymbal",
\r
1691 "ドラムのキー設定:\nライドシンバルへのキーの割り当て\nを設定します。",
\r
1692 "Drums key assign:\nTo assign key/pads for RideCymbal\n button.");
\r
1693 this.list項目リスト.Add(this.iKeyAssignDrumsRD);
\r
1694 this.iKeyAssignDrumsHP = new CItemBase( "HiHatPedal", // #27029 2012.1.4 from
\r
1695 "ドラムのキー設定:\nハイハットのフットペダルへのキーの\n割り当てを設定します。", //
\r
1696 "Drums key assign:\nTo assign key/pads for HiHatPedal\n button." ); //
\r
1697 this.list項目リスト.Add( this.iKeyAssignDrumsHP ); //
\r
1698 this.n現在の選択項目 = 0;
\r
1699 this.eメニュー種別 = Eメニュー種別.KeyAssignDrums;
\r
1701 public void t項目リストの設定・KeyAssignGuitar()
\r
1703 // this.tConfigIniへ記録する();
\r
1704 this.list項目リスト.Clear();
\r
1706 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1708 this.iKeyAssignGuitarReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,
\r
1710 "Return to left menu.");
\r
1711 this.list項目リスト.Add(this.iKeyAssignGuitarReturnToMenu);
\r
1712 this.iKeyAssignGuitarR = new CItemBase( "R",
\r
1713 "ギターのキー設定:\nRボタンへのキーの割り当てを設定し\nます。",
\r
1714 "Guitar key assign:\nTo assign key/pads for R button.");
\r
1715 this.list項目リスト.Add(this.iKeyAssignGuitarR);
\r
1716 this.iKeyAssignGuitarG = new CItemBase( "G",
\r
1717 "ギターのキー設定:\nGボタンへのキーの割り当てを設定し\nます。",
\r
1718 "Guitar key assign:\nTo assign key/pads for G button.");
\r
1719 this.list項目リスト.Add(this.iKeyAssignGuitarG);
\r
1720 this.iKeyAssignGuitarB = new CItemBase( "B",
\r
1721 "ギターのキー設定:\nBボタンへのキーの割り当てを設定し\nます。",
\r
1722 "Guitar key assign:\nTo assign key/pads for B button.");
\r
1723 this.list項目リスト.Add(this.iKeyAssignGuitarB);
\r
1724 this.iKeyAssignGuitarPick = new CItemBase( "Pick",
\r
1725 "ギターのキー設定:\nピックボタンへのキーの割り当てを設\n定します。",
\r
1726 "Guitar key assign:\nTo assign key/pads for Pick button.");
\r
1727 this.list項目リスト.Add(this.iKeyAssignGuitarPick);
\r
1728 this.iKeyAssignGuitarWail = new CItemBase( "Wailing",
\r
1729 "ギターのキー設定:\nWailingボタンへのキーの割り当てを\n設定します。",
\r
1730 "Guitar key assign:\nTo assign key/pads for Wailing button.");
\r
1731 this.list項目リスト.Add(this.iKeyAssignGuitarWail);
\r
1732 this.iKeyAssignGuitarDecide = new CItemBase( "Decide",
\r
1733 "ギターのキー設定:\n決定ボタンへのキーの割り当てを設\n定します。",
\r
1734 "Guitar key assign:\nTo assign key/pads for Decide button.");
\r
1735 this.list項目リスト.Add(this.iKeyAssignGuitarDecide);
\r
1736 this.iKeyAssignGuitarCancel = new CItemBase( "Cancel",
\r
1737 "ギターのキー設定:\nキャンセルボタンへのキーの割り当\nてを設定します。",
\r
1738 "Guitar key assign:\nTo assign key/pads for Cancel button.");
\r
1739 this.list項目リスト.Add(this.iKeyAssignGuitarCancel);
\r
1740 this.n現在の選択項目 = 0;
\r
1741 this.eメニュー種別 = Eメニュー種別.KeyAssignGuitar;
\r
1743 public void t項目リストの設定・KeyAssignBass()
\r
1745 // this.tConfigIniへ記録する();
\r
1746 this.list項目リスト.Clear();
\r
1748 // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。
\r
1750 this.iKeyAssignBassReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,
\r
1752 "Return to left menu." );
\r
1753 this.list項目リスト.Add( this.iKeyAssignBassReturnToMenu );
\r
1754 this.iKeyAssignBassR = new CItemBase( "R",
\r
1755 "ベースのキー設定:\nRボタンへのキーの割り当てを設定し\nます。",
\r
1756 "Bass key assign:\nTo assign key/pads for R button." );
\r
1757 this.list項目リスト.Add( this.iKeyAssignBassR );
\r
1758 this.iKeyAssignBassG = new CItemBase( "G",
\r
1759 "ベースのキー設定:\nGボタンへのキーの割り当てを設定し\nます。",
\r
1760 "Bass key assign:\nTo assign key/pads for G button." );
\r
1761 this.list項目リスト.Add( this.iKeyAssignBassG );
\r
1762 this.iKeyAssignBassB = new CItemBase( "B",
\r
1763 "ベースのキー設定:\nBボタンへのキーの割り当てを設定し\nます。",
\r
1764 "Bass key assign:\nTo assign key/pads for B button." );
\r
1765 this.list項目リスト.Add( this.iKeyAssignBassB );
\r
1766 this.iKeyAssignBassPick = new CItemBase( "Pick",
\r
1767 "ベースのキー設定:\nピックボタンへのキーの割り当てを設\n定します。",
\r
1768 "Bass key assign:\nTo assign key/pads for Pick button." );
\r
1769 this.list項目リスト.Add( this.iKeyAssignBassPick );
\r
1770 this.iKeyAssignBassWail = new CItemBase( "Wailing",
\r
1771 "ベースのキー設定:\nWailingボタンへのキーの割り当てを設\n定します。",
\r
1772 "Bass key assign:\nTo assign key/pads for Wailing button." );
\r
1773 this.list項目リスト.Add( this.iKeyAssignBassWail );
\r
1774 this.iKeyAssignBassDecide = new CItemBase( "Decide",
\r
1775 "ベースのキー設定:\n決定ボタンへのキーの割り当てを設\n定します。",
\r
1776 "Bass key assign:\nTo assign key/pads for Decide button." );
\r
1777 this.list項目リスト.Add( this.iKeyAssignBassDecide );
\r
1778 this.iKeyAssignBassCancel = new CItemBase( "Cancel",
\r
1779 "ベースのキー設定:\nキャンセルボタンへのキーの割り当\nてを設定します。",
\r
1780 "Bass key assign:\nTo assign key/pads for Cancel button." );
\r
1781 this.list項目リスト.Add( this.iKeyAssignBassCancel );
\r
1782 this.n現在の選択項目 = 0;
\r
1783 this.eメニュー種別 = Eメニュー種別.KeyAssignBass;
\r
1786 public void t次に移動()
\r
1788 CDTXMania.Skin.soundカーソル移動音.t再生する();
\r
1789 if( this.b要素値にフォーカス中 )
\r
1791 this.list項目リスト[ this.n現在の選択項目 ].t項目値を前へ移動();
\r
1796 this.n目標のスクロールカウンタ += 100;
\r
1799 public void t前に移動()
\r
1801 CDTXMania.Skin.soundカーソル移動音.t再生する();
\r
1802 if( this.b要素値にフォーカス中 )
\r
1804 this.list項目リスト[ this.n現在の選択項目 ].t項目値を次へ移動();
\r
1809 this.n目標のスクロールカウンタ -= 100;
\r
1812 private void t要素値を上下に変更中の処理()
\r
1814 //if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemMasterVolume ) // #33700 2014.4.26 yyagi
\r
1816 // CDTXMania.Sound管理.nMasterVolume = this.iSystemMasterVolume.n現在の値;
\r
1823 public override void On活性化()
\r
1825 if( this.b活性化してる )
\r
1828 this.list項目リスト = new List<CItemBase>();
\r
1829 this.eメニュー種別 = Eメニュー種別.Unknown;
\r
1831 #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ]
\r
1832 int ns = ( CDTXMania.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strSystemSkinSubfolders.Length;
\r
1833 int nb = ( CDTXMania.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strBoxDefSkinSubfolders.Length;
\r
1834 skinSubFolders = new string[ ns + nb ];
\r
1835 for ( int i = 0; i < ns; i++ )
\r
1837 skinSubFolders[ i ] = CDTXMania.Skin.strSystemSkinSubfolders[ i ];
\r
1839 for ( int i = 0; i < nb; i++ )
\r
1841 skinSubFolders[ ns + i ] = CDTXMania.Skin.strBoxDefSkinSubfolders[ i ];
\r
1843 skinSubFolder_org = CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true );
\r
1844 Array.Sort( skinSubFolders );
\r
1845 skinNames = CSkin.GetSkinName( skinSubFolders );
\r
1846 nSkinIndex = Array.BinarySearch( skinSubFolders, skinSubFolder_org );
\r
1847 if ( nSkinIndex < 0 ) // 念のため
\r
1851 nSkinSampleIndex = -1;
\r
1854 this.t項目リストの設定・Bass(); // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、
\r
1855 this.t項目リストの設定・Guitar(); // 活性化の時点でDrumsの設定も入れ込んでおかないと、System設定中に例外発生することがある。
\r
1856 this.t項目リストの設定・Drums(); //
\r
1857 this.t項目リストの設定・System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。
\r
1858 this.b要素値にフォーカス中 = false;
\r
1859 this.n目標のスクロールカウンタ = 0;
\r
1860 this.n現在のスクロールカウンタ = 0;
\r
1861 this.nスクロール用タイマ値 = -1;
\r
1862 this.ct三角矢印アニメ = new CCounter();
\r
1864 this.iSystemSoundType_initial = this.iSystemSoundType.n現在選択されている項目番号; // CONFIGに入ったときの値を保持しておく
\r
1865 // this.iSystemWASAPIBufferSizeMs_initial = this.iSystemWASAPIBufferSizeMs.n現在の値; // CONFIG脱出時にこの値から変更されているようなら
\r
1866 // this.iSystemASIOBufferSizeMs_initial = this.iSystemASIOBufferSizeMs.n現在の値; // サウンドデバイスを再構築する
\r
1867 this.iSystemASIODevice_initial = this.iSystemASIODevice.n現在選択されている項目番号; //
\r
1868 this.iSystemSoundTimerType_initial = this.iSystemSoundTimerType.GetIndex(); //
\r
1871 public override void On非活性化()
\r
1873 if( this.b活性化してない )
\r
1876 this.tConfigIniへ記録する();
\r
1877 this.list項目リスト.Clear();
\r
1878 this.ct三角矢印アニメ = null;
\r
1881 #region [ Skin変更 ]
\r
1882 if ( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org )
\r
1884 CDTXMania.stageChangeSkin.tChangeSkinMain(); // #28195 2012.6.11 yyagi CONFIG脱出時にSkin更新
\r
1888 // #24820 2013.1.22 yyagi CONFIGでWASAPI/ASIO/DirectSound関連の設定を変更した場合、サウンドデバイスを再構築する。
\r
1889 // #33689 2014.6.17 yyagi CONFIGでSoundTimerTypeの設定を変更した場合も、サウンドデバイスを再構築する。
\r
1890 #region [ サウンドデバイス変更 ]
\r
1891 if ( this.iSystemSoundType_initial != this.iSystemSoundType.n現在選択されている項目番号 ||
\r
1892 // this.iSystemWASAPIBufferSizeMs_initial != this.iSystemWASAPIBufferSizeMs.n現在の値 ||
\r
1893 // this.iSystemASIOBufferSizeMs_initial != this.iSystemASIOBufferSizeMs.n現在の値 ||
\r
1894 this.iSystemASIODevice_initial != this.iSystemASIODevice.n現在選択されている項目番号 ||
\r
1895 this.iSystemSoundTimerType_initial != this.iSystemSoundTimerType.GetIndex() )
\r
1897 ESoundDeviceType soundDeviceType;
\r
1898 switch ( this.iSystemSoundType.n現在選択されている項目番号 )
\r
1901 soundDeviceType = ESoundDeviceType.DirectSound;
\r
1904 soundDeviceType = ESoundDeviceType.ASIO;
\r
1907 soundDeviceType = ESoundDeviceType.ExclusiveWASAPI;
\r
1910 soundDeviceType = ESoundDeviceType.Unknown;
\r
1914 CDTXMania.Sound管理.t初期化( soundDeviceType,
\r
1916 // this.iSystemWASAPIBufferSizeMs.n現在の値,
\r
1918 // this.iSystemASIOBufferSizeMs.n現在の値,
\r
1919 this.iSystemASIODevice.n現在選択されている項目番号,
\r
1920 this.iSystemSoundTimerType.bON );
\r
1921 CDTXMania.app.ShowWindowTitleWithSoundType();
\r
1924 #region [ サウンドのタイムストレッチモード変更 ]
\r
1925 FDK.CSound管理.bIsTimeStretch = this.iSystemTimeStretch.bON;
\r
1928 public override void OnManagedリソースの作成()
\r
1930 if( this.b活性化してない )
\r
1933 this.tx通常項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false );
\r
1934 this.txその他項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false );
\r
1935 this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false );
\r
1936 this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない
\r
1937 base.OnManagedリソースの作成();
\r
1939 public override void OnManagedリソースの解放()
\r
1941 if( this.b活性化してない )
\r
1944 CDTXMania.tテクスチャの解放( ref this.txSkinSample1 );
\r
1945 CDTXMania.tテクスチャの解放( ref this.tx通常項目行パネル );
\r
1946 CDTXMania.tテクスチャの解放( ref this.txその他項目行パネル );
\r
1947 CDTXMania.tテクスチャの解放( ref this.tx三角矢印 );
\r
1949 base.OnManagedリソースの解放();
\r
1951 public override int On進行描画()
\r
1953 throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );
\r
1955 public int t進行描画( bool b項目リスト側にフォーカスがある )
\r
1957 if( this.b活性化してない )
\r
1962 #region [ 初めての進行描画 ]
\r
1963 //-----------------
\r
1964 if( base.b初めての進行描画 )
\r
1966 this.nスクロール用タイマ値 = CSound管理.rc演奏用タイマ.n現在時刻;
\r
1967 this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer );
\r
1969 base.b初めての進行描画 = false;
\r
1971 //-----------------
\r
1974 this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶
\r
1976 #region [ 項目スクロールの進行 ]
\r
1977 //-----------------
\r
1978 long n現在時刻 = CDTXMania.Timer.n現在時刻;
\r
1979 if( n現在時刻 < this.nスクロール用タイマ値 ) this.nスクロール用タイマ値 = n現在時刻;
\r
1981 const int INTERVAL = 2; // [ms]
\r
1982 while( ( n現在時刻 - this.nスクロール用タイマ値 ) >= INTERVAL )
\r
1984 int n目標項目までのスクロール量 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) );
\r
1987 #region [ n加速度の決定;目標まで遠いほど加速する。]
\r
1988 //-----------------
\r
1989 if( n目標項目までのスクロール量 <= 100 )
\r
1993 else if( n目標項目までのスクロール量 <= 300 )
\r
1997 else if( n目標項目までのスクロール量 <= 500 )
\r
2005 //-----------------
\r
2007 #region [ this.n現在のスクロールカウンタに n加速度 を加減算。]
\r
2008 //-----------------
\r
2009 if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )
\r
2011 this.n現在のスクロールカウンタ += n加速度;
\r
2012 if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )
\r
2015 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2018 else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )
\r
2020 this.n現在のスクロールカウンタ -= n加速度;
\r
2021 if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )
\r
2024 this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;
\r
2027 //-----------------
\r
2029 #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。]
\r
2030 //-----------------
\r
2031 if( this.n現在のスクロールカウンタ >= 100 )
\r
2033 this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 );
\r
2034 this.n現在のスクロールカウンタ -= 100;
\r
2035 this.n目標のスクロールカウンタ -= 100;
\r
2036 if( this.n目標のスクロールカウンタ == 0 )
\r
2038 CDTXMania.stageコンフィグ.t項目変更通知();
\r
2041 else if( this.n現在のスクロールカウンタ <= -100 )
\r
2043 this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 );
\r
2044 this.n現在のスクロールカウンタ += 100;
\r
2045 this.n目標のスクロールカウンタ += 100;
\r
2046 if( this.n目標のスクロールカウンタ == 0 )
\r
2048 CDTXMania.stageコンフィグ.t項目変更通知();
\r
2051 //-----------------
\r
2054 this.nスクロール用タイマ値 += INTERVAL;
\r
2056 //-----------------
\r
2059 #region [ ▲印アニメの進行 ]
\r
2060 //-----------------
\r
2061 if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )
\r
2062 this.ct三角矢印アニメ.t進行Loop();
\r
2063 //-----------------
\r
2069 this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 276 : 301; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。
\r
2071 #region [ 計11個の項目パネルを描画する。]
\r
2072 //-----------------
\r
2073 int nItem = this.n現在の選択項目;
\r
2074 for( int i = 0; i < 4; i++ )
\r
2075 nItem = this.t前の項目( nItem );
\r
2077 for( int n行番号 = -4; n行番号 < 6; n行番号++ ) // n行番号 == 0 がフォーカスされている項目パネル。
\r
2079 #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。]
\r
2080 //-----------------
\r
2081 if( ( ( n行番号 == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている
\r
2082 ( ( n行番号 == +5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている
\r
2084 nItem = this.t次の項目( nItem );
\r
2087 //-----------------
\r
2090 int n移動元の行の基本位置 = n行番号 + 4;
\r
2091 int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( n移動元の行の基本位置 + 1 ) % 10 ) : ( ( ( n移動元の行の基本位置 - 1 ) + 10 ) % 10 );
\r
2092 int x = this.ptパネルの基本座標[ n移動元の行の基本位置 ].X + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].X - this.ptパネルの基本座標[ n移動元の行の基本位置 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
\r
2093 int y = this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].Y - this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );
\r
2095 #region [ 現在の行の項目パネル枠を描画。]
\r
2096 //-----------------
\r
2097 switch( this.list項目リスト[ nItem ].eパネル種別 )
\r
2099 case CItemBase.Eパネル種別.通常:
\r
2100 if( this.tx通常項目行パネル != null )
\r
2101 this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x, y );
\r
2104 case CItemBase.Eパネル種別.その他:
\r
2105 if( this.txその他項目行パネル != null )
\r
2106 this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x, y );
\r
2109 //-----------------
\r
2111 #region [ 現在の行の項目名を描画。]
\r
2112 //-----------------
\r
2113 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 );
\r
2114 //-----------------
\r
2116 #region [ 現在の行の項目の要素を描画。]
\r
2117 //-----------------
\r
2118 switch( this.list項目リスト[ nItem ].e種別 )
\r
2120 case CItemBase.E種別.ONorOFFトグル:
\r
2122 //-----------------
\r
2123 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" );
\r
2125 //-----------------
\r
2128 case CItemBase.E種別.ONorOFFor不定スリーステート:
\r
2130 //-----------------
\r
2131 switch( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 )
\r
2133 case CItemThreeState.E状態.ON:
\r
2134 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" );
\r
2137 case CItemThreeState.E状態.不定:
\r
2138 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "- -" );
\r
2142 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "OFF" );
\r
2146 //-----------------
\r
2149 case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION)
\r
2151 //-----------------
\r
2152 if( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed )
\r
2154 double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0;
\r
2155 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2157 else if( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed )
\r
2159 float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f;
\r
2160 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2164 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
\r
2167 //-----------------
\r
2170 case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports
\r
2172 //-----------------
\r
2174 CItemList list = (CItemList) this.list項目リスト[ nItem ];
\r
2175 CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] );
\r
2177 #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ]
\r
2178 if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder )
\r
2180 tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。
\r
2181 if ( txSkinSample1 != null )
\r
2183 txSkinSample1.t2D描画( CDTXMania.app.Device, 56, 300 );
\r
2189 //-----------------
\r
2192 //-----------------
\r
2195 nItem = this.t次の項目( nItem );
\r
2197 //-----------------
\r
2200 #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。]
\r
2201 //-----------------
\r
2202 if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )
\r
2210 if( this.b要素値にフォーカス中 )
\r
2212 x = 528; // 要素値の上下あたり。
\r
2213 y_upper = 198 - this.ct三角矢印アニメ.n現在の値;
\r
2214 y_lower = 242 + this.ct三角矢印アニメ.n現在の値;
\r
2218 x = 276; // 項目名の上下あたり。
\r
2219 y_upper = 186 - this.ct三角矢印アニメ.n現在の値;
\r
2220 y_lower = 254 + this.ct三角矢印アニメ.n現在の値;
\r
2225 if( this.tx三角矢印 != null )
\r
2227 this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_upper, new Rectangle( 0, 0, 32, 16 ) );
\r
2228 this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_lower, new Rectangle( 0, 16, 32, 16 ) );
\r
2231 //-----------------
\r
2239 #region [ private ]
\r
2240 //-----------------
\r
2241 private enum Eメニュー種別
\r
2247 KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン
\r
2255 private bool b項目リスト側にフォーカスがある;
\r
2256 private bool b要素値にフォーカス中;
\r
2257 private CCounter ct三角矢印アニメ;
\r
2258 private Eメニュー種別 eメニュー種別;
\r
2259 #region [ キーコンフィグ ]
\r
2260 private CItemBase iKeyAssignSystemCapture; // #24609
\r
2261 private CItemBase iKeyAssignSystemReturnToMenu; // #24609
\r
2262 private CItemBase iKeyAssignBassB;
\r
2263 private CItemBase iKeyAssignBassCancel;
\r
2264 private CItemBase iKeyAssignBassDecide;
\r
2265 private CItemBase iKeyAssignBassG;
\r
2266 private CItemBase iKeyAssignBassPick;
\r
2267 private CItemBase iKeyAssignBassR;
\r
2268 private CItemBase iKeyAssignBassReturnToMenu;
\r
2269 private CItemBase iKeyAssignBassWail;
\r
2270 private CItemBase iKeyAssignDrumsBD;
\r
2271 private CItemBase iKeyAssignDrumsCY;
\r
2272 private CItemBase iKeyAssignDrumsFT;
\r
2273 private CItemBase iKeyAssignDrumsHHC;
\r
2274 private CItemBase iKeyAssignDrumsHHO;
\r
2275 private CItemBase iKeyAssignDrumsHT;
\r
2276 private CItemBase iKeyAssignDrumsLC;
\r
2277 private CItemBase iKeyAssignDrumsLT;
\r
2278 private CItemBase iKeyAssignDrumsRD;
\r
2279 private CItemBase iKeyAssignDrumsReturnToMenu;
\r
2280 private CItemBase iKeyAssignDrumsSD;
\r
2281 private CItemBase iKeyAssignDrumsHP; // #27029 2012.1.4 from
\r
2282 private CItemBase iKeyAssignGuitarB;
\r
2283 private CItemBase iKeyAssignGuitarCancel;
\r
2284 private CItemBase iKeyAssignGuitarDecide;
\r
2285 private CItemBase iKeyAssignGuitarG;
\r
2286 private CItemBase iKeyAssignGuitarPick;
\r
2287 private CItemBase iKeyAssignGuitarR;
\r
2288 private CItemBase iKeyAssignGuitarReturnToMenu;
\r
2289 private CItemBase iKeyAssignGuitarWail;
\r
2291 private CItemToggle iLogOutputLog;
\r
2292 private CItemToggle iSystemAdjustWaves;
\r
2293 private CItemToggle iSystemAudienceSound;
\r
2294 private CItemInteger iSystemAutoChipVolume;
\r
2295 private CItemToggle iSystemAVI;
\r
2296 private CItemToggle iSystemBGA;
\r
2297 // private CItemToggle iSystemGraph; #24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2298 private CItemInteger iSystemBGAlpha;
\r
2299 private CItemToggle iSystemBGMSound;
\r
2300 private CItemInteger iSystemChipVolume;
\r
2301 private CItemList iSystemCYGroup;
\r
2302 private CItemToggle iSystemCymbalFree;
\r
2303 private CItemList iSystemDamageLevel;
\r
2304 private CItemToggle iSystemDebugInfo;
\r
2305 // private CItemToggle iSystemDrums;
\r
2306 private CItemToggle iSystemFillIn;
\r
2307 private CItemList iSystemFTGroup;
\r
2308 private CItemToggle iSystemFullscreen;
\r
2309 // private CItemToggle iSystemGuitar;
\r
2310 private CItemList iSystemHHGroup;
\r
2311 private CItemList iSystemBDGroup; // #27029 2012.1.4 from
\r
2312 private CItemToggle iSystemHitSound;
\r
2313 private CItemList iSystemHitSoundPriorityCY;
\r
2314 private CItemList iSystemHitSoundPriorityFT;
\r
2315 private CItemList iSystemHitSoundPriorityHH;
\r
2316 private CItemInteger iSystemMinComboBass;
\r
2317 private CItemInteger iSystemMinComboDrums;
\r
2318 private CItemInteger iSystemMinComboGuitar;
\r
2319 private CItemInteger iSystemPreviewImageWait;
\r
2320 private CItemInteger iSystemPreviewSoundWait;
\r
2321 private CItemToggle iSystemRandomFromSubBox;
\r
2322 private CItemBase iSystemReturnToMenu;
\r
2323 private CItemToggle iSystemSaveScore;
\r
2324 private CItemToggle iSystemSoundMonitorBass;
\r
2325 private CItemToggle iSystemSoundMonitorDrums;
\r
2326 private CItemToggle iSystemSoundMonitorGuitar;
\r
2327 private CItemToggle iSystemStageFailed;
\r
2328 private CItemToggle iSystemStoicMode;
\r
2329 private CItemToggle iSystemVSyncWait;
\r
2330 private CItemList iSystemShowLag; // #25370 2011.6.3 yyagi
\r
2331 private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi
\r
2332 private CItemToggle iSystemBufferedInput;
\r
2333 private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi
\r
2334 private CItemList iSystemSoundType; // #24820 2013.1.3 yyagi
\r
2335 // private CItemInteger iSystemWASAPIBufferSizeMs; // #24820 2013.1.15 yyagi
\r
2336 // private CItemInteger iSystemASIOBufferSizeMs; // #24820 2013.1.3 yyagi
\r
2337 private CItemList iSystemASIODevice; // #24820 2013.1.17 yyagi
\r
2339 private int iSystemSoundType_initial;
\r
2340 // private int iSystemWASAPIBufferSizeMs_initial;
\r
2341 // private int iSystemASIOBufferSizeMs_initial;
\r
2342 private int iSystemASIODevice_initial;
\r
2343 private CItemToggle iSystemSoundTimerType; // #33689 2014.6.17 yyagi
\r
2344 private int iSystemSoundTimerType_initial; // #33689 2014.6.17 yyagi
\r
2346 private CItemToggle iSystemTimeStretch; // #23664 2013.2.24 yyagi
\r
2347 private CItemList iSystemJudgePosGuitar; // #33891 2014.6.26 yyagi
\r
2348 private CItemList iSystemJudgePosBass; // #33891 2014.6.26 yyagi
\r
2350 //private CItemList iDrumsJudgeDispPriority; //
\r
2351 //private CItemList iGuitarJudgeDispPriority; //
\r
2352 //private CItemList iBassJudgeDispPriority; //
\r
2353 private CItemList iSystemJudgeDispPriority;
\r
2355 private List<CItemBase> list項目リスト;
\r
2356 private long nスクロール用タイマ値;
\r
2357 private int n現在のスクロールカウンタ;
\r
2358 private int n目標のスクロールカウンタ;
\r
2359 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
2360 private CTexture txその他項目行パネル;
\r
2361 private CTexture tx三角矢印;
\r
2362 private CTexture tx通常項目行パネル;
\r
2364 private CTexture txSkinSample1; // #28195 2012.5.2 yyagi
\r
2365 private string[] skinSubFolders; //
\r
2366 private string[] skinNames; //
\r
2367 private string skinSubFolder_org; //
\r
2368 private int nSkinSampleIndex; //
\r
2369 private int nSkinIndex; //
\r
2371 private CItemBase iDrumsGoToKeyAssign;
\r
2372 private CItemBase iGuitarGoToKeyAssign;
\r
2373 private CItemBase iBassGoToKeyAssign;
\r
2374 private CItemBase iSystemGoToKeyAssign; // #24609
\r
2376 private CItemList iSystemGRmode;
\r
2378 //private CItemToggle iBassAutoPlay;
\r
2379 private CItemThreeState iBassAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2380 private CItemToggle iBassR; //
\r
2381 private CItemToggle iBassG; //
\r
2382 private CItemToggle iBassB; //
\r
2383 private CItemToggle iBassPick; //
\r
2384 private CItemToggle iBassW; //
\r
2386 //private CItemToggle iBassHidden;
\r
2387 private CItemToggle iBassLeft;
\r
2388 private CItemToggle iBassLight;
\r
2389 private CItemList iBassPosition;
\r
2390 private CItemList iBassRandom;
\r
2391 private CItemBase iBassReturnToMenu;
\r
2392 private CItemToggle iBassReverse;
\r
2393 private CItemInteger iBassScrollSpeed;
\r
2394 //private CItemToggle iBassSudden;
\r
2395 private CItemList iCommonDark;
\r
2396 private CItemInteger iCommonPlaySpeed;
\r
2397 // private CItemBase iCommonReturnToMenu;
\r
2399 private CItemThreeState iDrumsAutoPlayAll;
\r
2400 private CItemToggle iDrumsBass;
\r
2401 private CItemList iDrumsComboPosition;
\r
2402 private CItemToggle iDrumsCymbalRide;
\r
2403 private CItemToggle iDrumsFloorTom;
\r
2404 //private CItemToggle iDrumsHidden;
\r
2405 private CItemToggle iDrumsHighTom;
\r
2406 private CItemToggle iDrumsHiHat;
\r
2407 private CItemToggle iDrumsLeftCymbal;
\r
2408 private CItemToggle iDrumsLowTom;
\r
2409 private CItemList iDrumsPosition;
\r
2410 private CItemBase iDrumsReturnToMenu;
\r
2411 private CItemToggle iDrumsReverse;
\r
2412 private CItemInteger iDrumsScrollSpeed;
\r
2413 private CItemToggle iDrumsSnare;
\r
2414 //private CItemToggle iDrumsSudden;
\r
2415 private CItemToggle iDrumsTight;
\r
2416 private CItemToggle iDrumsGraph; // #24074 2011.01.23 add ikanick
\r
2418 //private CItemToggle iGuitarAutoPlay;
\r
2419 private CItemThreeState iGuitarAutoPlayAll; // #23886 2012.5.8 yyagi
\r
2420 private CItemToggle iGuitarR; //
\r
2421 private CItemToggle iGuitarG; //
\r
2422 private CItemToggle iGuitarB; //
\r
2423 private CItemToggle iGuitarPick; //
\r
2424 private CItemToggle iGuitarW; //
\r
2426 //private CItemToggle iGuitarHidden;
\r
2427 private CItemToggle iGuitarLeft;
\r
2428 private CItemToggle iGuitarLight;
\r
2429 private CItemList iGuitarPosition;
\r
2430 private CItemList iGuitarRandom;
\r
2431 private CItemBase iGuitarReturnToMenu;
\r
2432 private CItemToggle iGuitarReverse;
\r
2433 private CItemInteger iGuitarScrollSpeed;
\r
2434 //private CItemToggle iGuitarSudden;
\r
2435 private CItemInteger iDrumsInputAdjustTimeMs; // #23580 2011.1.3 yyagi
\r
2436 private CItemInteger iGuitarInputAdjustTimeMs; //
\r
2437 private CItemInteger iBassInputAdjustTimeMs; //
\r
2438 private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi
\r
2439 private CItemToggle iSystemUseBoxDefSkin; // #28195 2012.5.6 yyagi
\r
2440 private CItemList iDrumsSudHid; // #32072 2013.9.20 yyagi
\r
2441 private CItemList iGuitarSudHid; // #32072 2013.9.20 yyagi
\r
2442 private CItemList iBassSudHid; // #32072 2013.9.20 yyagi
\r
2443 private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi
\r
2444 //private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi
\r
2446 private int t前の項目( int nItem )
\r
2450 nItem = this.list項目リスト.Count - 1;
\r
2454 private int t次の項目( int nItem )
\r
2456 if( ++nItem >= this.list項目リスト.Count )
\r
2462 private void t全部のドラムパッドのAutoを切り替える( bool bAutoON )
\r
2464 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
2466 private void t全部のギターパッドのAutoを切り替える( bool bAutoON )
\r
2468 this.iGuitarR.bON = this.iGuitarG.bON = this.iGuitarB.bON = this.iGuitarPick.bON = this.iGuitarW.bON = bAutoON;
\r
2470 private void t全部のベースパッドのAutoを切り替える( bool bAutoON )
\r
2472 this.iBassR.bON = this.iBassG.bON = this.iBassB.bON = this.iBassPick.bON = this.iBassW.bON = bAutoON;
\r
2474 private void tConfigIniへ記録する()
\r
2476 switch( this.eメニュー種別 )
\r
2478 case Eメニュー種別.System:
\r
2479 this.tConfigIniへ記録する・System();
\r
2480 this.tConfigIniへ記録する・KeyAssignSystem();
\r
2483 case Eメニュー種別.Drums:
\r
2484 this.tConfigIniへ記録する・Drums();
\r
2485 this.tConfigIniへ記録する・KeyAssignDrums();
\r
2488 case Eメニュー種別.Guitar:
\r
2489 this.tConfigIniへ記録する・Guitar();
\r
2490 this.tConfigIniへ記録する・KeyAssignGuitar();
\r
2493 case Eメニュー種別.Bass:
\r
2494 this.tConfigIniへ記録する・Bass();
\r
2495 this.tConfigIniへ記録する・KeyAssignBass();
\r
2499 private void tConfigIniへ記録する・KeyAssignBass()
\r
2502 private void tConfigIniへ記録する・KeyAssignDrums()
\r
2505 private void tConfigIniへ記録する・KeyAssignGuitar()
\r
2508 private void tConfigIniへ記録する・KeyAssignSystem()
\r
2511 private void tConfigIniへ記録する・System()
\r
2513 CDTXMania.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号;
\r
2514 CDTXMania.ConfigIni.n演奏速度 = this.iCommonPlaySpeed.n現在の値;
\r
2516 CDTXMania.ConfigIni.bGuitar有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) / 2 ) == 1 );
\r
2517 //this.iSystemGuitar.bON;
\r
2518 CDTXMania.ConfigIni.bDrums有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) % 2 ) == 1 );
\r
2519 //this.iSystemDrums.bON;
\r
2521 CDTXMania.ConfigIni.b全画面モード = this.iSystemFullscreen.bON;
\r
2522 CDTXMania.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON;
\r
2523 CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON;
\r
2525 CDTXMania.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON;
\r
2526 CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;
\r
2527 CDTXMania.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON;
\r
2528 CDTXMania.ConfigIni.bAVI有効 = this.iSystemAVI.bON;
\r
2529 CDTXMania.ConfigIni.bBGA有効 = this.iSystemBGA.bON;
\r
2530 // CDTXMania.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行
\r
2531 CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値;
\r
2532 CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値;
\r
2533 CDTXMania.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON;
\r
2534 CDTXMania.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値;
\r
2535 CDTXMania.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON;
\r
2536 CDTXMania.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON;
\r
2537 CDTXMania.ConfigIni.eダメージレベル = (Eダメージレベル) this.iSystemDamageLevel.n現在選択されている項目番号;
\r
2538 CDTXMania.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON;
\r
2540 CDTXMania.ConfigIni.bログ出力 = this.iLogOutputLog.bON;
\r
2541 CDTXMania.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値;
\r
2542 CDTXMania.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値;
\r
2543 CDTXMania.ConfigIni.bストイックモード = this.iSystemStoicMode.bON;
\r
2545 CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi
\r
2546 CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi
\r
2548 CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi
\r
2550 CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi
\r
2551 CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true );
\r
2552 CDTXMania.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi
\r
2554 CDTXMania.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi
\r
2555 // CDTXMania.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi
\r
2556 // CDTXMania.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi
\r
2557 CDTXMania.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi
\r
2558 CDTXMania.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi
\r
2560 CDTXMania.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi
\r
2561 //Trace.TraceInformation( "saved" );
\r
2562 //Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true) );
\r
2563 //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName );
\r
2564 //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName );
\r
2565 //CDTXMania.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi
\r
2566 CDTXMania.ConfigIni.e判定表示優先度 = (E判定表示優先度) this.iSystemJudgeDispPriority.n現在選択されている項目番号;
\r
2568 private void tConfigIniへ記録する・Bass()
\r
2570 //CDTXMania.ConfigIni.bAutoPlay.Bass = this.iBassAutoPlay.bON;
\r
2571 CDTXMania.ConfigIni.bAutoPlay.BsR = this.iBassR.bON;
\r
2572 CDTXMania.ConfigIni.bAutoPlay.BsG = this.iBassG.bON;
\r
2573 CDTXMania.ConfigIni.bAutoPlay.BsB = this.iBassB.bON;
\r
2574 CDTXMania.ConfigIni.bAutoPlay.BsPick = this.iBassPick.bON;
\r
2575 CDTXMania.ConfigIni.bAutoPlay.BsW = this.iBassW.bON;
\r
2576 CDTXMania.ConfigIni.n譜面スクロール速度.Bass = this.iBassScrollSpeed.n現在の値;
\r
2577 // "Sudden" || "Sud+Hid"
\r
2578 CDTXMania.ConfigIni.bSudden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 1 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2579 // "Hidden" || "Sud+Hid"
\r
2580 CDTXMania.ConfigIni.bHidden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 2 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2581 if ( this.iBassSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.SEMI; // "S-Invisible"
\r
2582 else if ( this.iBassSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.FULL; // "F-Invisible"
\r
2583 else CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.OFF;
\r
2584 CDTXMania.ConfigIni.bReverse.Bass = this.iBassReverse.bON;
\r
2585 CDTXMania.ConfigIni.判定文字表示位置.Bass = (E判定文字表示位置) this.iBassPosition.n現在選択されている項目番号;
\r
2586 CDTXMania.ConfigIni.eRandom.Bass = (Eランダムモード) this.iBassRandom.n現在選択されている項目番号;
\r
2587 CDTXMania.ConfigIni.bLight.Bass = this.iBassLight.bON;
\r
2588 CDTXMania.ConfigIni.bLeft.Bass = this.iBassLeft.bON;
\r
2589 CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2591 CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON;
\r
2592 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値;
\r
2593 CDTXMania.ConfigIni.e判定位置.Bass = (E判定位置) this.iSystemJudgePosBass.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2594 //CDTXMania.ConfigIni.e判定表示優先度.Bass = (E判定表示優先度) this.iBassJudgeDispPriority.n現在選択されている項目番号;
\r
2596 private void tConfigIniへ記録する・Drums()
\r
2598 CDTXMania.ConfigIni.bAutoPlay.LC = this.iDrumsLeftCymbal.bON;
\r
2599 CDTXMania.ConfigIni.bAutoPlay.HH = this.iDrumsHiHat.bON;
\r
2600 CDTXMania.ConfigIni.bAutoPlay.SD = this.iDrumsSnare.bON;
\r
2601 CDTXMania.ConfigIni.bAutoPlay.BD = this.iDrumsBass.bON;
\r
2602 CDTXMania.ConfigIni.bAutoPlay.HT = this.iDrumsHighTom.bON;
\r
2603 CDTXMania.ConfigIni.bAutoPlay.LT = this.iDrumsLowTom.bON;
\r
2604 CDTXMania.ConfigIni.bAutoPlay.FT = this.iDrumsFloorTom.bON;
\r
2605 CDTXMania.ConfigIni.bAutoPlay.CY = this.iDrumsCymbalRide.bON;
\r
2606 CDTXMania.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値;
\r
2607 CDTXMania.ConfigIni.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) this.iDrumsComboPosition.n現在選択されている項目番号;
\r
2608 // "Sudden" || "Sud+Hid"
\r
2609 CDTXMania.ConfigIni.bSudden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 1 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2610 // "Hidden" || "Sud+Hid"
\r
2611 CDTXMania.ConfigIni.bHidden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 2 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2612 if ( this.iDrumsSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.SEMI; // "S-Invisible"
\r
2613 else if ( this.iDrumsSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.FULL; // "F-Invisible"
\r
2614 else CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.OFF;
\r
2615 CDTXMania.ConfigIni.bReverse.Drums = this.iDrumsReverse.bON;
\r
2616 CDTXMania.ConfigIni.判定文字表示位置.Drums = (E判定文字表示位置) this.iDrumsPosition.n現在選択されている項目番号;
\r
2617 CDTXMania.ConfigIni.bTight = this.iDrumsTight.bON;
\r
2618 CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2619 CDTXMania.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick
\r
2621 CDTXMania.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号;
\r
2622 CDTXMania.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号;
\r
2623 CDTXMania.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号;
\r
2624 CDTXMania.ConfigIni.eBDGroup = (EBDGroup) this.iSystemBDGroup.n現在選択されている項目番号;
\r
2625 CDTXMania.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号;
\r
2626 CDTXMania.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号;
\r
2627 CDTXMania.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号;
\r
2628 CDTXMania.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON;
\r
2629 CDTXMania.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON;
\r
2630 CDTXMania.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON;
\r
2631 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値;
\r
2632 CDTXMania.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON;
\r
2634 CDTXMania.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号;
\r
2635 CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi
\r
2636 //CDTXMania.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号;
\r
2638 private void tConfigIniへ記録する・Guitar()
\r
2640 //CDTXMania.ConfigIni.bAutoPlay.Guitar = this.iGuitarAutoPlay.bON;
\r
2641 CDTXMania.ConfigIni.bAutoPlay.GtR = this.iGuitarR.bON;
\r
2642 CDTXMania.ConfigIni.bAutoPlay.GtG = this.iGuitarG.bON;
\r
2643 CDTXMania.ConfigIni.bAutoPlay.GtB = this.iGuitarB.bON;
\r
2644 CDTXMania.ConfigIni.bAutoPlay.GtPick = this.iGuitarPick.bON;
\r
2645 CDTXMania.ConfigIni.bAutoPlay.GtW = this.iGuitarW.bON;
\r
2646 CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = this.iGuitarScrollSpeed.n現在の値;
\r
2647 // "Sudden" || "Sud+Hid"
\r
2648 CDTXMania.ConfigIni.bSudden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 1 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2649 // "Hidden" || "Sud+Hid"
\r
2650 CDTXMania.ConfigIni.bHidden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 2 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false;
\r
2651 if ( this.iGuitarSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.SEMI; // "S-Invisible"
\r
2652 else if ( this.iGuitarSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.FULL; // "F-Invisible"
\r
2653 else CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.OFF;
\r
2654 CDTXMania.ConfigIni.bReverse.Guitar = this.iGuitarReverse.bON;
\r
2655 CDTXMania.ConfigIni.判定文字表示位置.Guitar = (E判定文字表示位置) this.iGuitarPosition.n現在選択されている項目番号;
\r
2656 CDTXMania.ConfigIni.eRandom.Guitar = (Eランダムモード) this.iGuitarRandom.n現在選択されている項目番号;
\r
2657 CDTXMania.ConfigIni.bLight.Guitar = this.iGuitarLight.bON;
\r
2658 CDTXMania.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON;
\r
2659 CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi
\r
2661 CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値;
\r
2662 CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON;
\r
2663 CDTXMania.ConfigIni.e判定位置.Guitar = (E判定位置) this.iSystemJudgePosGuitar.n現在選択されている項目番号; // #33891 2014.6.26 yyagi
\r
2664 //CDTXMania.ConfigIni.e判定表示優先度.Guitar = (E判定表示優先度) this.iGuitarJudgeDispPriority.n現在選択されている項目番号;
\r
2666 //-----------------
\r