X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=DTXMania%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%2F%E3%82%B3%E3%83%BC%E3%83%89%2F%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%2F04.%E3%82%B3%E3%83%B3%E3%83%95%E3%82%A3%E3%82%B0%2FCActConfigList.cs;h=c26fa60d342eaa07d2c9cc0421990a66f7f986b0;hb=8b76fd5aabd7cd27a2315f3f7587105930fd7f80;hp=091c9b4a3dc63b4c85775ea9c96c9e2f1510c398;hpb=fa32b71a38d4342ac0327a5d4aba2183ba24aa45;p=dtxmania%2Fdtxmania.git diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs index 091c9b4a..c26fa60d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Drawing; +using SlimDX; using FDK; namespace DTXMania @@ -16,7 +17,8 @@ namespace DTXMania get { Eメニュー種別 e = this.eメニュー種別; - if ( e == Eメニュー種別.KeyAssignBass || e == Eメニュー種別.KeyAssignDrums || e == Eメニュー種別.KeyAssignGuitar ) + if ( e == Eメニュー種別.KeyAssignBass || e == Eメニュー種別.KeyAssignDrums || + e == Eメニュー種別.KeyAssignGuitar || e == Eメニュー種別.KeyAssignSystem ) { return true; } @@ -40,12 +42,6 @@ namespace DTXMania { return false; } -// CItemBase base2 = this.list項目リスト[ this.n現在の選択項目 ]; -// if( ( ( base2 != this.iSystemReturnToMenu ) && ( base2 != this.iKeyAssignDrumsReturnToMenu ) ) && ( base2 != this.iKeyAssignGuitarReturnToMenu ) ) -// { -// return ( base2 == this.iKeyAssignBassReturnToMenu ); -// } -// return true; } } public CItemBase ib現在の選択項目 @@ -63,38 +59,37 @@ namespace DTXMania { this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu." ); this.list項目リスト.Add( this.iSystemReturnToMenu ); - this.iCommonDark = new CItemList( "DARK", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, + + this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, "HALF: 背景、レーン、ゲージが表示\nされなくなります。\nFULL: さらに小節線、拍線、判定ラ\nイン、パッドも表示されなくなります。", "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.", new string[] { "OFF", "HALF", "FULL" } ); this.list項目リスト.Add( this.iCommonDark ); - this.iCommonPlaySpeed = new CItemInteger( "PlaySpeed", 5, 40, CDTXMania.ConfigIni.n演奏速度, - "曲の演奏速度を、速くしたり遅くした\nりすることができます。\n(※一部のサウンドカードでは正しく\n 再生できない可能性があります。)", - "It changes the song speed.\nFor example, you can play in half\n speed by setting PlaySpeed = x0.5\n for your practice.\nNote: It also changes the songs' pitch." ); - this.list項目リスト.Add( this.iCommonPlaySpeed ); + this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky, + "Riskyモードの設定:\n1以上の値にすると、その回数分の\nPoor/MissでFAILEDとなります。\n0にすると無効になり、\nDamageLevelに従ったゲージ増減と\nなります。\nStageFailedの設定と併用できます。", + "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." ); + this.list項目リスト.Add( this.iSystemRisky ); - int nDGmode = ( CDTXMania.ConfigIni.bGuitar有効 ? 2 : 0 ) + ( CDTXMania.ConfigIni.bDrums有効 ? 1 : 0 ) - 1; - this.iSystemGRmode = new CItemList( "DrGrMode", CItemBase.Eパネル種別.通常, nDGmode, - "DrOnly: ドラムのみ有効にします。\nGROnly: ギター/ベースのみの\n専用画面を用います。\nDr&GR: ドラムとギター/ベースの\n両方を有効にします。\n", - "DrOnly: Only Drums is available.\nGROnly: Only Guitar/Bass are available.\n You can play them in GR screen.\nDr&GR: Both Drums and Guitar/bass\n are available.", - new string[] { "DrOnly", "GROnly", "Dr&GR"} ); - this.list項目リスト.Add( this.iSystemGRmode ); + int nDGmode = (CDTXMania.ConfigIni.bGuitar有効 ? 2 : 0) + (CDTXMania.ConfigIni.bDrums有効 ? 1 : 0) - 1; + this.iSystemGRmode = new CItemList("Drums & GR", CItemBase.Eパネル種別.通常, nDGmode, + "使用楽器の選択:\nDrOnly: ドラムのみ有効にします。\nGROnly: ギター/ベースのみの\n専用画面を用います。\nBoth: ドラムとギター/ベースの\n両方を有効にします。\n", + "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.", + new string[] { "DrOnly", "GROnly", "Both" }); + this.list項目リスト.Add(this.iSystemGRmode); - -// this.iSystemGuitar = new CItemToggle( "Guitar", CDTXMania.ConfigIni.bGuitar有効, -// "ギター有効:\nこれを OFF にすると、ギターとベース\nに関するすべてが無効になります。\nつまりは DTXMania がドラム専用の\nゲームとなります。", -// "To show guitar/bass lanes.\nIf Guitar=ON and Drums=OFF,\n the playing screen becomes\n guitar-only mode." ); -// this.list項目リスト.Add( this.iSystemGuitar ); -// this.iSystemDrums = new CItemToggle( "Drums", CDTXMania.ConfigIni.bDrums有効, -// "ドラム有効:\nこれを OFF にすると、ドラムに関する\nすべてが無効になります。\nつまりは DTXMania がギター専用の\nゲームとなります。", -// "To use drums lanes.\nIf Guitar=ON and Drums=OFF,\n the playing screen becomes\n guitar-only mode." ); -// this.list項目リスト.Add( this.iSystemDrums ); + this.iCommonPlaySpeed = new CItemInteger("PlaySpeed", 5, 40, CDTXMania.ConfigIni.n演奏速度, + "曲の演奏速度を、速くしたり遅くした\nりすることができます。\n(※一部のサウンドカードでは正しく\n 再生できない可能性があります。)", + "It changes the song speed.\nFor example, you can play in half\n speed by setting PlaySpeed = 0.500\n for your practice.\nNote: It also changes the songs' pitch." ); + this.list項目リスト.Add( this.iCommonPlaySpeed ); this.iSystemFullscreen = new CItemToggle( "Fullscreen", CDTXMania.ConfigIni.b全画面モード, @@ -109,36 +104,9 @@ namespace DTXMania "子BOXをRANDOMの対象とする:\nON にすると、RANDOM SELECT 時\nに子BOXも選択対象とします。", "Turn ON to use child BOX (subfolders)\n at RANDOM SELECT." ); this.list項目リスト.Add( this.iSystemRandomFromSubBox ); - this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup, - "ハイハットレーン打ち分け設定:\n左シンバル、ハイハットオープン、ハ\nイハットクローズの打ち分け方法を指\n定します。\n HH-0 ... LC | HHC | HHO\n HH-1 ... LC & ( HHC | HHO )\n HH-2 ... LC | ( HHC & HHO )\n HH-3 ... LC & HHC & HHO\n", - "HH-0: LC|HC|HO; all are separated.\nHH-1: LC&(HC|HO);\n HC and HO are separted.\n LC is grouped with HC and HHO.\nHH-2: LC|(HC&HO);\n LC and HHs are separated.\n HC and HO are grouped.\nHH-3: LC&HC&HO; all are grouped.", - new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } ); - this.list項目リスト.Add( this.iSystemHHGroup ); - this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup, - "フロアタム打ち分け設定:\nロータムとフロアタムの打ち分け方法\nを指定します。\n FT-0 ... LT | FT\n FT-1 ... LT & FT\n", - "FT-0: LT|FT\n LT and FT are separated.\nFT-1: LT&FT\n LT and FT are grouped.", - new string[] { "FT-0", "FT-1" } ); - this.list項目リスト.Add( this.iSystemFTGroup ); - this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup, - "シンバルレーン打ち分け設定:\n右シンバルとライドシンバルの打ち分\nけ方法を指定します。\n CY-0 ... CY | RD\n CY-1 ... CY & RD\n", - "CY-0: CY|RD\n CY and RD are separated.\nCY-1: CY&RD\n CY and RD are grouped.", - new string[] { "CY-0", "CY-1" } ); - this.list項目リスト.Add( this.iSystemCYGroup ); - this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH, - "発声音決定の優先順位:\nハイハットレーン打ち分け有効時に、\nチップの発声音をどのように決定する\nかを指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先", - "To specify playing sound in case you're\n using HH-0,1 and 2.\n\nC>P:\n Chip sound is prior to the pad sound.\nP>C:\n Pad sound is prior to the chip sound.", - new string[] { "C>P", "P>C" } ); - this.list項目リスト.Add( this.iSystemHitSoundPriorityHH ); - this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT, - "発声音決定の優先順位:\nフロアタム打ち分け有効時に、チップ\nの発声音をどのように決定するかを\n指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先", - "To specify playing sound in case you're\n using FT-0.\n\nC>P:\n Chip sound is prior to the pad sound.\nP>C:\n Pad sound is prior to the chip sound.", - new string[] { "C>P", "P>C" } ); - this.list項目リスト.Add( this.iSystemHitSoundPriorityFT ); - this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY, - "発声音決定の優先順位\nシンバルレーン打ち分け有効時に、\nチップの発声音をどのように決定する\nかを指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先", - "To specify playing sound in case you're\n using CY-0.\n\nC>P:\n Chip sound is prior to the pad sound.\nP>C:\n Pad sound is prior to the chip sound.", - new string[] { "C>P", "P>C" } ); - this.list項目リスト.Add( this.iSystemHitSoundPriorityCY ); + + + this.iSystemAdjustWaves = new CItemToggle( "AdjustWaves", CDTXMania.ConfigIni.bWave再生位置自動調整機能有効, "サウンド再生位置自動補正:\nハードウェアやOSに起因するサウン\nドのずれを強制的に補正します。\nBGM のように再生時間の長い音声\nデータが使用されている曲で効果が\nあります。", "Automatic wave playing position\n adjustment feature. If you turn it ON,\n it decrease the lag which comes from\n the difference of hardware/OS.\nUsually, you should turn it ON." ); @@ -155,27 +123,6 @@ namespace DTXMania "BGAの使用:\n画像(BGA)を表示可能にする場合に\nON にします。BGA の再生には、それ\nなりのマシンパワーが必要とされます。", "To draw BGA (back ground animations)\n or not." ); this.list項目リスト.Add( this.iSystemBGA ); - // #24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行 - // this.iSystemGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph有効, - // "達成率グラフの使用:\n最高スキル達成率と比較できるグラフ\nを表示する場合にON にします。\nオートプレイだと表示されません。\n現バージョンではドラムのみとなって\nいます。", - // "To draw Graph \n or not."); - // this.list項目リスト.Add( this.iSystemGraph ); - this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効, - "フィルインエフェクトの使用:\nフィルイン区間の爆発パターンに特別\nのエフェクトを使用します。\nフィルインエフェクトの描画にはそれな\nりのマシンパワーが必要とされます。", - "To show bursting effects at the fill-in\n zone or not." ); - this.list項目リスト.Add( this.iSystemFillIn ); - this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums, - "ドラム音モニタ:\nドラム音を他の音より大きめの音量で\n発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。", - "To enhance the drums chip sound\n(except autoplay)." ); - this.list項目リスト.Add( this.iSystemSoundMonitorDrums ); - this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Guitar, - "ギター音モニタ:\nギター音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。", - "To enhance the guitar chip sound\n(except autoplay)." ); - this.list項目リスト.Add( this.iSystemSoundMonitorGuitar ); - this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Bass, - "ベース音モニタ:\nベース音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。", - "To enhance the bass chip sound\n(except autoplay)." ); - this.list項目リスト.Add( this.iSystemSoundMonitorBass ); this.iSystemPreviewSoundWait = new CItemInteger( "PreSoundWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms, "プレビュー音演奏までの時間:\n曲にカーソルが合わされてからプレ\nビュー音が鳴り始めるまでの時間を\n指定します。\n0 ~ 10000 [ms] が指定可能です。", "Delay time(ms) to start playing preview\n sound in SELECT MUSIC screen.\nYou can specify from 0ms to 10000ms." ); @@ -196,35 +143,21 @@ namespace DTXMania "BGMの再生:\nこれをOFFにすると、BGM を再生しな\nくなります。", "Turn OFF if you don't want to play\n BGM." ); this.list項目リスト.Add( this.iSystemBGMSound ); - this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する, - "打撃音の再生:\nこれをOFFにすると、パッドを叩いた\nときの音を再生しなくなります(ドラム\nのみ)。\nDTX の音色で演奏したい場合などに\nOFF にします。", - "Turn OFF if you don't want to play\n hitting chip sound.\nIt is useful to play with real/electric\n drums kit." ); - this.list項目リスト.Add( this.iSystemHitSound ); this.iSystemAudienceSound = new CItemToggle( "Audience", CDTXMania.ConfigIni.b歓声を発声する, "歓声の再生:\nこれをOFFにすると、歓声を再生しな\nくなります。", "Turn ON if you want to be cheered\n at the end of fill-in zone or not." ); this.list項目リスト.Add( this.iSystemAudienceSound ); this.iSystemDamageLevel = new CItemList( "DamageLevel", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eダメージレベル, - "ゲージ減少割合:\nMiss ヒット時のゲージの減少度合い\nを指定します。\n", - "Damage level at missing (and\n recovering level) at playing.", + "ゲージ減少割合:\nMiss ヒット時のゲージの減少度合い\nを指定します。\nRiskyが1以上の場合は無効となります", + "Damage level at missing (and\n recovering level) at playing.\nThis setting is ignored when Risky >= 1.", new string[] { "Small", "Normal", "Large" } ); this.list項目リスト.Add( this.iSystemDamageLevel ); this.iSystemSaveScore = new CItemToggle( "SaveScore", CDTXMania.ConfigIni.bScoreIniを出力する, "演奏記録の保存:\nON で演奏記録を ~.score.ini ファイ\nルに保存します。\n", "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." ); this.list項目リスト.Add( this.iSystemSaveScore ); - this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums, - "表示可能な最小コンボ数(ドラム):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", - "Initial number to show the combo\n for the drums.\nYou can specify from 1 to 99999." ); - this.list項目リスト.Add( this.iSystemMinComboDrums ); - this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar, - "表示可能な最小コンボ数(ギター):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", - "Initial number to show the combo\n for the guitar.\nYou can specify from 1 to 99999." ); - this.list項目リスト.Add( this.iSystemMinComboGuitar ); - this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass, - "表示可能な最小コンボ数(ベース):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", - "Initial number to show the combo\n for the bass.\nYou can specify from 1 to 99999." ); - this.list項目リスト.Add( this.iSystemMinComboBass ); + + this.iSystemChipVolume = new CItemInteger( "ChipVolume", 0, 100, CDTXMania.ConfigIni.n手動再生音量, "打音の音量:\n入力に反応して再生されるチップの音\n量を指定します。\n0 ~ 100 % の値が指定可能です。\n", "The volumes for chips you hit.\nYou can specify from 0 to 100%." ); @@ -237,120 +170,448 @@ namespace DTXMania "ストイック(禁欲)モード:\n以下をまとめて表示ON/OFFします。\n・プレビュー画像/動画\n・リザルト画像/動画\n・NowLoading画像\n・演奏画面の背景画像\n・BGA 画像 / AVI 動画\n・グラフ画像\n", "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)" ); this.list項目リスト.Add( this.iSystemStoicMode ); - this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー, - "シンバルフリーモード:\n左シンバル・右シンバルの区別をなく\nします。ライドシンバルまで区別をな\nくすか否かは、CYGroup に従います。\n", - "Turn ON to group LC (left cymbal) and\n CY (right cymbal).\nWhether RD (ride cymbal) is also\n grouped or not depends on the\n'CY Group' setting." ); - this.list項目リスト.Add( this.iSystemCymbalFree ); + this.iSystemShowLag = new CItemList( "ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.ConfigIni.nShowLagType, + "ズレ時間表示:\nジャストタイミングからのズレ時間(ms)\nを表示します。\n OFF: ズレ時間を表示しません。\n ON: ズレ時間を表示します。\n GREAT-: PERFECT以外の時のみ\n表示します。", + "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.", + new string[] { "OFF", "ON", "GREAT-" } ); + this.list項目リスト.Add( this.iSystemShowLag ); + this.iSystemAutoResultCapture = new CItemToggle( "Autosaveresult", CDTXMania.ConfigIni.bIsAutoResultCapture, + "リザルト画像自動保存機能:\nONにすると、ハイスコア/ハイスキル時に\n自動でリザルト画像を曲データと同じ\nフォルダに保存します。", + "AutoSaveResult:\nTurn ON to save your result screen\n image automatically when you get\n hiscore/hiskill." ); + this.list項目リスト.Add( this.iSystemAutoResultCapture ); + + this.iSystemBufferedInput = new CItemToggle( "BufferedInput", CDTXMania.ConfigIni.bバッファ入力を行う, "バッファ入力モード:\nON にすると、FPS を超える入力解像\n度を実現します。\nOFF にすると、入力解像度は FPS に\n等しくなります。", - "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." ); + "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." ); this.list項目リスト.Add( this.iSystemBufferedInput ); this.iLogOutputLog = new CItemToggle( "TraceLog", CDTXMania.ConfigIni.bログ出力, "Traceログ出力:\nDTXManiaLog.txt にログを出力します。\n変更した場合は、DTXMania の再起動\n後に有効となります。", "Turn ON to put debug log to\n DTXManiaLog.txt\nTo take it effective, you need to\n re-open DTXMania." ); this.list項目リスト.Add( this.iLogOutputLog ); + + this.iSystemSkinSubfolder = new CItemList( "Skin (General)", CItemBase.Eパネル種別.通常, nSkinIndex, + "スキン切替:\n" + + "スキンを切り替えます。\n", + //"CONFIGURATIONを抜けると、設定した\n" + + //"スキンに変更されます。", + "Skin:\n" + + "Change skin.", + skinNames ); + this.list項目リスト.Add( this.iSystemSkinSubfolder ); + this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.ConfigIni.bUseBoxDefSkin, + "Music boxスキンの利用:\n" + + "特別なスキンが設定されたMusic box\n" + + "に出入りしたときに、自動でスキンを\n" + + "切り替えるかどうかを設定します。\n", + //"\n" + + //"(Music Boxスキンは、box.defファイル\n" + + //" で指定できます)\n", + "Box skin:\n" + + "Automatically change skin\n" + + "specified in box.def file." ); + this.list項目リスト.Add( this.iSystemUseBoxDefSkin ); + + + this.iSystemGoToKeyAssign = new CItemBase( "System Keys", CItemBase.Eパネル種別.通常, + "システムのキー入力に関する項目を設\n定します。", + "Settings for the system key/pad inputs." ); + this.list項目リスト.Add( this.iSystemGoToKeyAssign ); + + this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.System; } - public void t項目リストの設定・Drums() { this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iDrumsReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu." ); this.list項目リスト.Add( this.iDrumsReturnToMenu ); + this.iDrumsAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定, - "全パッドの自動演奏の ON/OFF を\nまとめて切り替えます。", - "You can change whether Auto or not\n for all drums lanes at once." ); + "全パッドの自動演奏の ON/OFF を\n" + + "まとめて切り替えます。", + "You can change whether Auto or not\n" + + " for all drums lanes at once." ); this.list項目リスト.Add( this.iDrumsAutoPlayAll ); + this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.ConfigIni.bAutoPlay.LC, "左シンバルを自動で演奏します。", "To play LeftCymbal automatically." ); this.list項目リスト.Add( this.iDrumsLeftCymbal ); + this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.ConfigIni.bAutoPlay.HH, - "ハイハットを自動で演奏します。\n(クローズ、オープンとも)", - "To play HiHat automatically.\n(It effects to both HH-close and\n HH-open)" ); + "ハイハットを自動で演奏します。\n" + + "(クローズ、オープンとも)", + "To play HiHat automatically.\n" + + "(It effects to both HH-close and\n HH-open)" ); this.list項目リスト.Add( this.iDrumsHiHat ); + this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.ConfigIni.bAutoPlay.SD, "スネアを自動で演奏します。", "To play Snare automatically." ); this.list項目リスト.Add( this.iDrumsSnare ); + this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.ConfigIni.bAutoPlay.BD, "バスドラムを自動で演奏します。", "To play Bass Drum automatically." ); this.list項目リスト.Add( this.iDrumsBass ); + this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.ConfigIni.bAutoPlay.HT, "ハイタムを自動で演奏します。", "To play High Tom automatically." ); this.list項目リスト.Add( this.iDrumsHighTom ); + this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.ConfigIni.bAutoPlay.LT, "ロータムを自動で演奏します。", "To play Low Tom automatically." ); this.list項目リスト.Add( this.iDrumsLowTom ); + this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.ConfigIni.bAutoPlay.FT, "フロアタムを自動で演奏します。", "To play Floor Tom automatically." ); this.list項目リスト.Add( this.iDrumsFloorTom ); + this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.ConfigIni.bAutoPlay.CY, - "右シンバルとライドシンバルを自動で\n演奏します。", - "To play both right- and Ride-Cymbal\n automatically." ); + "右シンバルとライドシンバルを自動で\n" + + "演奏します。", + "To play both right- and Ride-Cymbal\n" + + " automatically." ); this.list項目リスト.Add( this.iDrumsCymbalRide ); + this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums, - "演奏時のドラム譜面のスクロールの\n速度を指定します。\nx0.5 ~ x1000.0 を指定可能です。", - "To change the scroll speed for the\ndrums lanes.\nYou can set it from x0.5 to x1000.0.\n(ScrollSpeed=x0.5 means half speed)" ); + "演奏時のドラム譜面のスクロールの\n" + + "速度を指定します。\n" + + "x0.5 ~ x1000.0 を指定可能です。", + "To change the scroll speed for the\n" + + "drums lanes.\n" + + "You can set it from x0.5 to x1000.0.\n" + + "(ScrollSpeed=x0.5 means half speed)" ); this.list項目リスト.Add( this.iDrumsScrollSpeed ); - this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置, - "演奏時のドラムコンボ文字列の位置\nを指定します。", - "The display position for Drums Combo.\nNote that it doesn't take effect\n at Autoplay ([Left] is forcely used).", - new string[] { "Left", "Center", "Right", "OFF" } ); - this.list項目リスト.Add( this.iDrumsComboPosition ); + this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Drums, - "ドラムチップが譜面の下の方から表\n示されるようになります。", - "Drums chips are disappered until they\ncome near the hit bar, and suddenly\nappears." ); + "ドラムチップが譜面の下の方から表\n" + + "示されるようになります。", + "Drums chips are disappered until they\n" + + "come near the hit bar, and suddenly\n" + + "appears." ); this.list項目リスト.Add( this.iDrumsSudden ); + this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Drums, - "ドラムチップが譜面の下の方で表示\nされなくなります。", - "Drums chips are hidden by approaching\nto the hit bar. " ); + "ドラムチップが譜面の下の方で表示\n" + + "されなくなります。", + "Drums chips are hidden by approaching\n" + + "to the hit bar. " ); this.list項目リスト.Add( this.iDrumsHidden ); + + this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, + "HALF: 背景、レーン、ゲージが表示\n" + + "されなくなります。\n" + + "FULL: さらに小節線、拍線、判定ラ\n" + + "イン、パッドも表示されなくなります。", + "OFF: all display parts are shown.\n" + + "HALF: wallpaper, lanes and gauge are\n" + + " disappeared.\n" + + "FULL: additionaly to HALF, bar/beat\n" + + " lines, hit bar, pads are disappeared.", + new string[] { "OFF", "HALF", "FULL" } ); + this.list項目リスト.Add( this.iCommonDark ); + + this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums, - "ドラムチップが譜面の下から上に流\nれるようになります。", - "The scroll way is reversed. Drums chips\nflow from the bottom to the top." ); + "ドラムチップが譜面の下から上に流\n" + + "れるようになります。", + "The scroll way is reversed. Drums chips\n" + + "flow from the bottom to the top." ); this.list項目リスト.Add( this.iDrumsReverse ); + + this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky, + "Riskyモードの設定:\n" + + "1以上の値にすると、その回数分の\n" + + "Poor/MissでFAILEDとなります。\n" + + "0にすると無効になり、\n" + + "DamageLevelに従ったゲージ増減と\n" + + "なります。\n" + + "StageFailedの設定と併用できます。", + "Risky mode:\n" + + "Set over 1, in case you'd like to specify\n" + + " the number of Poor/Miss times to be\n" + + " FAILED.\n" + + "Set 0 to disable Risky mode." ); + this.list項目リスト.Add( this.iSystemRisky ); + + this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight, + "ドラムチップのないところでパッドを\n" + + "叩くとミスになります。", + "It becomes MISS to hit pad without\n" + + " chip." ); + this.list項目リスト.Add( this.iDrumsTight ); + + this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置, + "演奏時のドラムコンボ文字列の位置\n" + + "を指定します。", + "The display position for Drums Combo.\n" + + "Note that it doesn't take effect\n" + + " at Autoplay ([Left] is forcely used).", + new string[] { "Left", "Center", "Right", "OFF" } ); + this.list項目リスト.Add( this.iDrumsComboPosition ); + this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Drums, - "ドラムの判定文字の表示位置を指定\nします。\n P-A: レーン上\n P-B: 判定ライン下\n OFF: 表示しない", - "The position to show judgement mark.\n(Perfect, Great, ...)\n\n P-A: on the lanes.\n P-B: under the hit bar.\n OFF: no judgement mark.", + "ドラムの判定文字の表示位置を指定\n" + + "します。\n" + + " P-A: レーン上\n" + + " P-B: 判定ライン下\n" + + " OFF: 表示しない", + "The position to show judgement mark.\n" + + "(Perfect, Great, ...)\n" + + "\n" + + " P-A: on the lanes.\n" + + " P-B: under the hit bar.\n" + + " OFF: no judgement mark.", new string[] { "P-A", "P-B", "OFF" } ); this.list項目リスト.Add( this.iDrumsPosition ); - this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight, - "ドラムチップのないところでパッドを\n叩くとミスになります。", - "It becomes MISS to hit pad without\n chip." ); - this.list項目リスト.Add( this.iDrumsTight ); + + + this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup, + "ハイハットレーン打ち分け設定:\n" + + "左シンバル、ハイハットオープン、ハ\n" + + "イハットクローズの打ち分け方法を指\n" + + "定します。\n" + + " HH-0 ... LC | HHC | HHO\n" + + " HH-1 ... LC & ( HHC | HHO )\n" + + " HH-2 ... LC | ( HHC & HHO )\n" + + " HH-3 ... LC & HHC & HHO\n" + + "\n" + + "※BD Group が BD-1 である場合、\n" + + " この項目は変更できません。\n", + "HH-0: LC|HC|HO; all are separated.\n" + + "HH-1: LC&(HC|HO);\n" + + " HC and HO are separted.\n" + + " LC is grouped with HC and HHO.\n" + + "HH-2: LC|(HC&HO);\n" + + " LC and HHs are separated.\n" + + " HC and HO are grouped.\n" + + "HH-3: LC&HC&HO; all are grouped.\n" + + "\n" + + "* This value cannot be changed while \n" + + " BD Group is set as BD-1.", + new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } ); + this.list項目リスト.Add( this.iSystemHHGroup ); + + this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup, + "フロアタム打ち分け設定:\n" + + "ロータムとフロアタムの打ち分け方法\n" + + "を指定します。\n" + + " FT-0 ... LT | FT\n" + + " FT-1 ... LT & FT\n", + "FT-0: LT|FT\n" + + " LT and FT are separated.\n" + + "FT-1: LT&FT\n" + + " LT and FT are grouped.", + new string[] { "FT-0", "FT-1" } ); + this.list項目リスト.Add( this.iSystemFTGroup ); + + this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup, + "シンバルレーン打ち分け設定:\n" + + "右シンバルとライドシンバルの打ち分\n" + + "け方法を指定します。\n" + + " CY-0 ... CY | RD\n" + + " CY-1 ... CY & RD\n", + "CY-0: CY|RD\n" + + " CY and RD are separated.\n" + + "CY-1: CY&RD\n" + + " CY and RD are grouped.", + new string[] { "CY-0", "CY-1" } ); + this.list項目リスト.Add( this.iSystemCYGroup ); + + this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eBDGroup, // #27029 2012.1.4 from + "バス数設定:\n" + + "ハイハットペダルをバスとして利用する\n" + + "方法を指定します。\n" + + " BD-0 ... HP | BD\n" + + " BD-1 ... FP & BD\n" + + "\n" + + "注意:HitSound が OFF である場合は\n" + + "不具合が生じます。\n" + + "また、BD-1 を選択している間はいくつ\n" + + "かのオプションが変更できなくなります。", + "BD-0: HP|BD\n" + + " HiHatPedal is HiHat.\n" + + "BD-1: HP&BD\n" + + " HiHatPedal is Bass.\n" + + "\n" + + "Warning: You should not use BD-1 with \n" + + "HitSound OFF.\n" + + "And you cannot change some options \n" + + "while using BD-1.", + new string[] { "BD-0", "BD-1" } ); + this.list項目リスト.Add( this.iSystemBDGroup ); + + this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー, + "シンバルフリーモード:\n" + + "左シンバル・右シンバルの区別をなく\n" + + "します。ライドシンバルまで区別をな\n" + + "くすか否かは、CYGroup に従います。\n", + "Turn ON to group LC (left cymbal) and\n" + + " CY (right cymbal).\n" + + "Whether RD (ride cymbal) is also\n" + + " grouped or not depends on the\n" + + "'CY Group' setting." ); + this.list項目リスト.Add( this.iSystemCymbalFree ); + + + this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH, + "発声音決定の優先順位:\n" + + "ハイハットレーン打ち分け有効時に、\n" + + "チップの発声音をどのように決定する\n" + + "かを指定します。\n" + + " C > P ... チップの音が優先\n" + + " P > C ... 叩いたパッドの音が優先\n" + + "\n" + + "※BD Group が BD-1 である場合、\n" + + " この項目は変更できません。\n", + "To specify playing sound in case you're\n" + + " using HH-0,1 and 2.\n" + + "\n" + + "C>P:\n" + + " Chip sound is prior to the pad sound.\n" + + "P>C:\n" + + " Pad sound is prior to the chip sound.\n" + + "\n" + + "* This value cannot be changed while \n" + + " BD Group is set as BD-1.", + new string[] { "C>P", "P>C" } ); + this.list項目リスト.Add( this.iSystemHitSoundPriorityHH ); + + this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT, + "発声音決定の優先順位:\n" + + "フロアタム打ち分け有効時に、チップ\n" + + "の発声音をどのように決定するかを\n" + + "指定します。\n" + + " C > P ... チップの音が優先\n" + + " P > C ... 叩いたパッドの音が優先", + "To specify playing sound in case you're\n" + + " using FT-0.\n" + + "\n" + + "C>P:\n" + + " Chip sound is prior to the pad sound.\n" + + "P>C:\n" + + " Pad sound is prior to the chip sound.", + new string[] { "C>P", "P>C" } ); + this.list項目リスト.Add( this.iSystemHitSoundPriorityFT ); + + this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY, + "発声音決定の優先順位:\n" + + "シンバルレーン打ち分け有効時に、\n" + + "チップの発声音をどのように決定する\n" + + "かを指定します。\n" + + " C > P ... チップの音が優先\n" + + " P > C ... 叩いたパッドの音が優先", + "To specify playing sound in case you're\n" + + " using CY-0.\n" + + "\n" + + "C>P:\n" + + " Chip sound is prior to the pad sound.\n" + + "P>C:\n" + + " Pad sound is prior to the chip sound.", + new string[] { "C>P", "P>C" } ); + this.list項目リスト.Add( this.iSystemHitSoundPriorityCY ); + + this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効, + "フィルインエフェクトの使用:\n" + + "フィルイン区間の爆発パターンに特別\n" + + "のエフェクトを使用します。\n" + + "フィルインエフェクトの描画にはそれな\n" + + "りのマシンパワーが必要とされます。", + "To show bursting effects at the fill-in\n" + + " zone or not." ); + this.list項目リスト.Add( this.iSystemFillIn ); + + + + this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する, + "打撃音の再生:\n" + + "これをOFFにすると、パッドを叩いた\n" + + "ときの音を再生しなくなります(ドラム\n" + + "のみ)。\n" + + "DTX の音色で演奏したい場合などに\n" + + "OFF にします。\n" + + "\n" + + "注意:BD Group が BD-1 である場合\n" + + "は不具合が生じます。\n", + "Turn OFF if you don't want to play\n" + + " hitting chip sound.\n" + + "It is useful to play with real/electric\n" + + " drums kit.\n" + + "\n" + + "Warning: You should not use BD Group \n" + + "BD-1 with HitSound OFF.\n" ); + this.list項目リスト.Add( this.iSystemHitSound ); + + this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums, + "ドラム音モニタ:\n" + + "ドラム音を他の音より大きめの音量で\n" + + "発声します。\n" + + "ただし、オートプレイの場合は通常音\n" + + "量で発声されます。", + "To enhance the drums chip sound\n" + + "(except autoplay)." ); + this.list項目リスト.Add( this.iSystemSoundMonitorDrums ); + + this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums, + "表示可能な最小コンボ数(ドラム):\n" + + "画面に表示されるコンボの最小の数\n" + + "を指定します。\n" + + "1 ~ 99999 の値が指定可能です。", + "Initial number to show the combo\n" + + " for the drums.\n" + + "You can specify from 1 to 99999." ); + this.list項目リスト.Add( this.iSystemMinComboDrums ); + + // #23580 2011.1.3 yyagi this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 0, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums, - "ドラムの入力タイミングの微調整を\n行います。\n-99 ~ 0ms まで指定可能です。\n入力ラグを軽減するためには、負の\n値を指定してください。", - "To adjust the drums input timing.\nYou can set from -99 to 0ms.\nTo decrease input lag, set minus value." ); + "ドラムの入力タイミングの微調整を\n" + + "行います。\n" + + "-99 ~ 0ms まで指定可能です。\n" + + "入力ラグを軽減するためには、負の\n" + + "値を指定してください。", + "To adjust the drums input timing.\n" + + "You can set from -99 to 0ms.\n" + + "To decrease input lag, set minus value." ); this.list項目リスト.Add( this.iDrumsInputAdjustTimeMs ); + // #24074 2011.01.23 add ikanick this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph.Drums, - "最高スキルと比較できるグラフを\n表示します。\nオートプレイだと表示されません。", - "To draw Graph \n or not." ); + "最高スキルと比較できるグラフを\n" + + "表示します。\n" + + "オートプレイだと表示されません。", + "To draw Graph \n" + + " or not." ); this.list項目リスト.Add( this.iDrumsGraph ); this.iDrumsGoToKeyAssign = new CItemBase( "Drums Keys", CItemBase.Eパネル種別.通常, - "ドラムのキー入力に関する項目を設\n定します。", + "ドラムのキー入力に関する項目を設\n"+ + "定します。", "Settings for the drums key/pad inputs." ); this.list項目リスト.Add( this.iDrumsGoToKeyAssign ); this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.Drums; } - public void t項目リストの設定・Guitar() { this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iGuitarReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu." ); @@ -393,6 +654,17 @@ namespace DTXMania "ギターの RGB の並びが左右反転し\nます。(左利きモード)", "Lane order 'R-G-B' becomes 'B-G-R'\nfor lefty." ); this.list項目リスト.Add( this.iGuitarLeft ); + + this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Guitar, + "ギター音モニタ:\nギター音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。", + "To enhance the guitar chip sound\n(except autoplay)." ); + this.list項目リスト.Add( this.iSystemSoundMonitorGuitar ); + this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar, + "表示可能な最小コンボ数(ギター):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", + "Initial number to show the combo\n for the guitar.\nYou can specify from 1 to 99999." ); + this.list項目リスト.Add( this.iSystemMinComboGuitar ); + + // #23580 2011.1.3 yyagi this.iGuitarInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 0, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar, "ギターの入力タイミングの微調整を\n行います。\n-99 ~ 0ms まで指定可能です。\n入力ラグを軽減するためには、負の\n値を指定してください。", @@ -407,12 +679,13 @@ namespace DTXMania this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.Guitar; } - public void t項目リストの設定・Bass() { this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iBassReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu." ); @@ -457,6 +730,18 @@ namespace DTXMania "ベースの RGB の並びが左右反転し\nます。(左利きモード)", "Lane order 'R-G-B' becomes 'B-G-R'\nfor lefty." ); this.list項目リスト.Add( this.iBassLeft ); + + this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Bass, + "ベース音モニタ:\nベース音を他の音より大きめの音量\nで発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。", + "To enhance the bass chip sound\n(except autoplay)." ); + this.list項目リスト.Add( this.iSystemSoundMonitorBass ); + + this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass, + "表示可能な最小コンボ数(ベース):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。", + "Initial number to show the combo\n for the bass.\nYou can specify from 1 to 99999." ); + this.list項目リスト.Add( this.iSystemMinComboBass ); + + // #23580 2011.1.3 yyagi this.iBassInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 0, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass, "ベースの入力タイミングの微調整を\n行います。\n-99 ~ 0ms まで指定可能です。入力ラグを軽減するためには、負の\n値を指定してください。", @@ -478,7 +763,11 @@ namespace DTXMania /// public void tEsc押下() { - if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums ) + if ( this.eメニュー種別 == Eメニュー種別.KeyAssignSystem ) + { + t項目リストの設定・System(); + } + else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums ) { t項目リストの設定・Drums(); } @@ -492,7 +781,6 @@ namespace DTXMania } // これ以外なら何もしない } - public void tEnter押下() { CDTXMania.Skin.sound決定音.t再生する(); @@ -506,122 +794,130 @@ namespace DTXMania } else if( this.b現在選択されている項目はReturnToMenuである ) { - this.tConfigIniへ記録する(); + //this.tConfigIniへ記録する(); + //CONFIG中にスキン変化が発生すると面倒なので、一旦マスクした。 } -// else if( ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGuitar ) || ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemDrums ) ) -// { -// this.list項目リスト[ this.n現在の選択項目 ].tEnter押下(); -// if( !this.iSystemGuitar.bON && !this.iSystemDrums.bON ) -// { -// if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGuitar ) -// { -// this.iSystemDrums.bON = true; -// } -// else -// { -// this.iSystemGuitar.bON = true; -// } -// } -// } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.LC ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHC ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HH ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HH ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHO ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HHO ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HHO ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsSD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.SD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.SD ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsBD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.BD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.BD ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HT ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.LT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LT ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsFT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.FT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.FT ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsCY ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.CY ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.CY ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsRD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.RD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RD ); } + else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHP ) // #27029 2012.1.4 from + { // + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HP ); // + } // else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarR ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.HH ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.R ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarG ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.SD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.G ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarB ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.BD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.B ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarPick ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.HT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Pick ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarWail ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.LT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Wail ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarDecide ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.CY ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Decide ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarCancel ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.FT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassR ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.HH ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.R ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassG ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.SD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.G ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassB ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.BD ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.B ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassPick ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.HT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Pick ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassWail ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.LT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Wail ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassDecide ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.CY ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Decide ); + } + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel ) + { + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Cancel ); } - else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel ) + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemCapture ) { - CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.FT ); + CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture); } else { - this.list項目リスト[ this.n現在の選択項目 ].tEnter押下(); + // #27029 2012.1.5 from + if( ( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) && + ( ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHHGroup ) || ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHitSoundPriorityHH ) ) ) + { + // 変更禁止(何もしない) + } + else + { + // 変更許可 + this.list項目リスト[ this.n現在の選択項目 ].tEnter押下(); + } + + + // Enter押下後の後処理 + if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemFullscreen ) { CDTXMania.app.b次のタイミングで全画面・ウィンドウ切り替えを行う = true; @@ -635,6 +931,14 @@ namespace DTXMania { this.t全部のドラムパッドのAutoを切り替える( this.iDrumsAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON ); } + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGoToKeyAssign ) // #24609 2011.4.12 yyagi + { + t項目リストの設定・KeyAssignSystem(); + } + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemReturnToMenu ) // #24609 2011.4.12 yyagi + { + t項目リストの設定・System(); + } else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsGoToKeyAssign ) // #24525 2011.3.15 yyagi { t項目リストの設定・KeyAssignDrums(); @@ -659,17 +963,104 @@ namespace DTXMania { t項目リストの設定・Bass(); } + else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemBDGroup ) // #27029 2012.1.4 from + { + if( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) + { + // #27029 2012.1.5 from: 変更前の状態をバックアップする。 + CDTXMania.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() { + eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号, + eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号, + }; + + // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし + if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.全部打ち分ける ) + this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.左シンバルのみ打ち分ける; + if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.ハイハットのみ打ち分ける ) + this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.全部共通; + + // HH Priority ... C>P → 変更なし / P>C → C>P + if( this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int) E打ち分け時の再生の優先順位.PadがChipより優先 ) + this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) E打ち分け時の再生の優先順位.ChipがPadより優先; + } + else + { + // #27029 2012.1.5 from: 変更前の状態に戻す。 + this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHHGroup; + this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHitSoundPriorityHH; + + CDTXMania.ConfigIni.BackupOf1BD = null; + } + } + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemUseBoxDefSkin ) // #28195 2012.5.6 yyagi + { + CSkin.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; + } + #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。] + else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder ) // #28195 2012.5.2 yyagi + { + tGenerateSkinSample(); + } + #endregion + } + } + + private void tGenerateSkinSample() + { + nSkinIndex = ( ( CItemList ) this.list項目リスト[ this.n現在の選択項目 ] ).n現在選択されている項目番号; + if ( nSkinSampleIndex != nSkinIndex ) + { + string path = skinSubFolders[ nSkinIndex ]; + path = System.IO.Path.Combine( path, @"Graphics\ScreenTitle background.jpg" ); + Bitmap bmSrc = new Bitmap( path ); + Bitmap bmDest = new Bitmap( bmSrc.Width / 4, bmSrc.Height / 4 ); + Graphics g = Graphics.FromImage( bmDest ); + g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + g.DrawImage( bmSrc, new Rectangle( 0, 0, bmSrc.Width / 4, bmSrc.Height / 4 ), + 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel ); + if ( txSkinSample1 != null ) + { + CDTXMania.t安全にDisposeする( ref txSkinSample1 ); + } + txSkinSample1 = CDTXMania.tテクスチャの生成( bmDest, false ); + g.Dispose(); + bmDest.Dispose(); + bmSrc.Dispose(); + nSkinSampleIndex = nSkinIndex; } } + public void t項目リストの設定・Exit() { this.tConfigIniへ記録する(); this.eメニュー種別 = Eメニュー種別.Unknown; } + public void t項目リストの設定・KeyAssignSystem() + { + //this.tConfigIniへ記録する(); + this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + + this.iKeyAssignSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他, + "左側のメニューに戻ります。", + "Return to left menu." ); + this.list項目リスト.Add( this.iKeyAssignSystemReturnToMenu ); + this.iKeyAssignSystemCapture = new CItemBase( "Capture", + "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。", + "Capture key assign:\nTo assign key for screen capture.\n (You can use keyboard only. You can't\nuse pads to capture screenshot." ); + this.list項目リスト.Add( this.iKeyAssignSystemCapture ); + + this.n現在の選択項目 = 0; + this.eメニュー種別 = Eメニュー種別.KeyAssignSystem; + } public void t項目リストの設定・KeyAssignDrums() { // this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iKeyAssignDrumsReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu."); @@ -714,6 +1105,10 @@ namespace DTXMania "ドラムのキー設定:\nライドシンバルへのキーの割り当て\nを設定します。", "Drums key assign:\nTo assign key/pads for RideCymbal\n button."); this.list項目リスト.Add(this.iKeyAssignDrumsRD); + this.iKeyAssignDrumsHP = new CItemBase( "HiHatPedal", // #27029 2012.1.4 from + "ドラムのキー設定:\nハイハットのフットペダルへのキーの\n割り当てを設定します。", // + "Drums key assign:\nTo assign key/pads for HiHatPedal\n button." ); // + this.list項目リスト.Add( this.iKeyAssignDrumsHP ); // this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.KeyAssignDrums; } @@ -721,6 +1116,9 @@ namespace DTXMania { // this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iKeyAssignGuitarReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu."); @@ -760,6 +1158,9 @@ namespace DTXMania { // this.tConfigIniへ記録する(); this.list項目リスト.Clear(); + + // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。 + this.iKeyAssignBassReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他, "左側のメニューに戻ります。", "Return to left menu." ); @@ -795,6 +1196,7 @@ namespace DTXMania this.n現在の選択項目 = 0; this.eメニュー種別 = Eメニュー種別.KeyAssignBass; } + public void t次に移動() { CDTXMania.Skin.soundカーソル移動音.t再生する(); @@ -825,38 +1227,86 @@ namespace DTXMania public override void On活性化() { + if( this.b活性化してる ) + return; + this.list項目リスト = new List(); this.eメニュー種別 = Eメニュー種別.Unknown; - this.t項目リストの設定・System(); + + #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ] + int ns = ( CDTXMania.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strSystemSkinSubfolders.Length; + int nb = ( CDTXMania.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strBoxDefSkinSubfolders.Length; + skinSubFolders = new string[ ns + nb ]; + for ( int i = 0; i < ns; i++ ) + { + skinSubFolders[ i ] = CDTXMania.Skin.strSystemSkinSubfolders[ i ]; + } + for ( int i = 0; i < nb; i++ ) + { + skinSubFolders[ ns + i ] = CDTXMania.Skin.strBoxDefSkinSubfolders[ i ]; + } + skinSubFolder_org = CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ); + Array.Sort( skinSubFolders ); + skinNames = CSkin.GetSkinName( skinSubFolders ); + nSkinIndex = Array.BinarySearch( skinSubFolders, skinSubFolder_org ); + if ( nSkinIndex < 0 ) // 念のため + { + nSkinIndex = 0; + } + nSkinSampleIndex = -1; + #endregion + + this.t項目リストの設定・Bass(); // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、 + this.t項目リストの設定・Guitar(); // 活性化の時点でDrumsの設定も入れ込んでおかないと、System設定中に例外発生することがある。 + this.t項目リストの設定・Drums(); // + this.t項目リストの設定・System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。 this.b要素値にフォーカス中 = false; this.n目標のスクロールカウンタ = 0; this.n現在のスクロールカウンタ = 0; this.nスクロール用タイマ値 = -1; this.ct三角矢印アニメ = new CCounter(); + base.On活性化(); } public override void On非活性化() { + if( this.b活性化してない ) + return; + this.tConfigIniへ記録する(); this.list項目リスト.Clear(); this.ct三角矢印アニメ = null; + base.On非活性化(); + + if ( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org ) + { + CDTXMania.Skin.PrepareReloadSkin(); // #28195 2012.5.2 yyagi CONFIG脱出時にSkin更新 + CDTXMania.Skin.ReloadSkin(); // + } + } public override void OnManagedリソースの作成() { - if( !base.b活性化してない ) - { - this.tx通常項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false ); - this.txその他項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false ); - this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false ); - base.OnManagedリソースの作成(); - } + if( this.b活性化してない ) + return; + + this.tx通常項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false ); + this.txその他項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false ); + this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false ); + this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない + base.OnManagedリソースの作成(); } public override void OnManagedリソースの解放() { + if( this.b活性化してない ) + return; + + CDTXMania.tテクスチャの解放( ref this.txSkinSample1 ); CDTXMania.tテクスチャの解放( ref this.tx通常項目行パネル ); CDTXMania.tテクスチャの解放( ref this.txその他項目行パネル ); CDTXMania.tテクスチャの解放( ref this.tx三角矢印 ); + base.OnManagedリソースの解放(); } public override int On進行描画() @@ -865,183 +1315,285 @@ namespace DTXMania } public int t進行描画( bool b項目リスト側にフォーカスがある ) { - if( !base.b活性化してない ) + if( this.b活性化してない ) + return 0; + + // 進行 + + #region [ 初めての進行描画 ] + //----------------- + if( base.b初めての進行描画 ) + { + this.nスクロール用タイマ値 = CDTXMania.Timer.n現在時刻; + this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer ); + + base.b初めての進行描画 = false; + } + //----------------- + #endregion + + this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶 + + #region [ 項目スクロールの進行 ] + //----------------- + long n現在時刻 = CDTXMania.Timer.n現在時刻; + if( n現在時刻 < this.nスクロール用タイマ値 ) this.nスクロール用タイマ値 = n現在時刻; + + const int INTERVAL = 2; // [ms] + while( ( n現在時刻 - this.nスクロール用タイマ値 ) >= INTERVAL ) { - #region [初めての進行描画] - if ( base.b初めての進行描画 ) + int n目標項目までのスクロール量 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) ); + int n加速度 = 0; + + #region [ n加速度の決定;目標まで遠いほど加速する。] + //----------------- + if( n目標項目までのスクロール量 <= 100 ) { - this.nスクロール用タイマ値 = CDTXMania.Timer.n現在時刻; - this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer ); - base.b初めての進行描画 = false; + n加速度 = 2; } - #endregion - this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; - long num = CDTXMania.Timer.n現在時刻; - if( num < this.nスクロール用タイマ値 ) + else if( n目標項目までのスクロール量 <= 300 ) { - this.nスクロール用タイマ値 = num; + n加速度 = 3; } - while( ( num - this.nスクロール用タイマ値 ) >= 2 ) + else if( n目標項目までのスクロール量 <= 500 ) { - int num2 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) ); - int num3 = 0; - if( num2 <= 100 ) - { - num3 = 2; - } - else if( num2 <= 300 ) - { - num3 = 3; - } - else if( num2 <= 500 ) - { - num3 = 4; - } - else + n加速度 = 4; + } + else + { + n加速度 = 8; + } + //----------------- + #endregion + #region [ this.n現在のスクロールカウンタに n加速度 を加減算。] + //----------------- + if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ ) + { + this.n現在のスクロールカウンタ += n加速度; + if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) { - num3 = 8; + // 目標を超えたら目標値で停止。 + this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; } + } + else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) + { + this.n現在のスクロールカウンタ -= n加速度; if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ ) { - this.n現在のスクロールカウンタ += num3; - if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) - { - this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; - } + // 目標を超えたら目標値で停止。 + this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; } - else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) + } + //----------------- + #endregion + #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。] + //----------------- + if( this.n現在のスクロールカウンタ >= 100 ) + { + this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 ); + this.n現在のスクロールカウンタ -= 100; + this.n目標のスクロールカウンタ -= 100; + if( this.n目標のスクロールカウンタ == 0 ) { - this.n現在のスクロールカウンタ -= num3; - if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ ) - { - this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; - } + CDTXMania.stageコンフィグ.t項目変更通知(); } - if( this.n現在のスクロールカウンタ >= 100 ) - { - this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 ); - this.n現在のスクロールカウンタ -= 100; - this.n目標のスクロールカウンタ -= 100; - if( this.n目標のスクロールカウンタ == 0 ) - { - CDTXMania.stageコンフィグ.t項目変更通知(); - } - } - else if( this.n現在のスクロールカウンタ <= -100 ) + } + else if( this.n現在のスクロールカウンタ <= -100 ) + { + this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 ); + this.n現在のスクロールカウンタ += 100; + this.n目標のスクロールカウンタ += 100; + if( this.n目標のスクロールカウンタ == 0 ) { - this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 ); - this.n現在のスクロールカウンタ += 100; - this.n目標のスクロールカウンタ += 100; - if( this.n目標のスクロールカウンタ == 0 ) - { - CDTXMania.stageコンフィグ.t項目変更通知(); - } + CDTXMania.stageコンフィグ.t項目変更通知(); } - this.nスクロール用タイマ値 += 2; } - if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) ) + //----------------- + #endregion + + this.nスクロール用タイマ値 += INTERVAL; + } + //----------------- + #endregion + + #region [ ▲印アニメの進行 ] + //----------------- + if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) ) + this.ct三角矢印アニメ.t進行Loop(); + //----------------- + #endregion + + + // 描画 + + this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 276 : 301; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。 + + #region [ 計11個の項目パネルを描画する。] + //----------------- + int nItem = this.n現在の選択項目; + for( int i = 0; i < 4; i++ ) + nItem = this.t前の項目( nItem ); + + for( int n行番号 = -4; n行番号 < 6; n行番号++ ) // n行番号 == 0 がフォーカスされている項目パネル。 + { + #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。] + //----------------- + if( ( ( n行番号 == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている + ( ( n行番号 == +5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている { - this.ct三角矢印アニメ.t進行Loop(); + nItem = this.t次の項目( nItem ); + continue; } - this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 0x114 : 0x12d; - int nItem = this.n現在の選択項目; - for( int i = 0; i < 4; i++ ) + //----------------- + #endregion + + int n移動元の行の基本位置 = n行番号 + 4; + int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( n移動元の行の基本位置 + 1 ) % 10 ) : ( ( ( n移動元の行の基本位置 - 1 ) + 10 ) % 10 ); + int x = this.ptパネルの基本座標[ n移動元の行の基本位置 ].X + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].X - this.ptパネルの基本座標[ n移動元の行の基本位置 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); + int y = this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].Y - this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); + + #region [ 現在の行の項目パネル枠を描画。] + //----------------- + switch( this.list項目リスト[ nItem ].eパネル種別 ) { - nItem = this.t前の項目( nItem ); + case CItemBase.Eパネル種別.通常: + if( this.tx通常項目行パネル != null ) + this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x, y ); + break; + + case CItemBase.Eパネル種別.その他: + if( this.txその他項目行パネル != null ) + this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x, y ); + break; } - for( int j = -4; j < 6; j++ ) + //----------------- + #endregion + #region [ 現在の行の項目名を描画。] + //----------------- + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 ); + //----------------- + #endregion + #region [ 現在の行の項目の要素を描画。] + //----------------- + switch( this.list項目リスト[ nItem ].e種別 ) { - if( ( ( j == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || ( ( j == 5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) - { - nItem = this.t次の項目( nItem ); - continue; - } - int index = j + 4; - int num8 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( ( j + 4 ) + 1 ) % 10 ) : ( ( ( ( j + 4 ) - 1 ) + 10 ) % 10 ); - int x = this.ptパネルの基本座標[ index ].X + ( (int) ( ( this.ptパネルの基本座標[ num8 ].X - this.ptパネルの基本座標[ index ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); - int y = this.ptパネルの基本座標[ index ].Y + ( (int) ( ( this.ptパネルの基本座標[ num8 ].Y - this.ptパネルの基本座標[ index ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); - switch( this.list項目リスト[ nItem ].eパネル種別 ) - { - case CItemBase.Eパネル種別.通常: - if( this.tx通常項目行パネル != null ) - { - this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x, y ); - } - break; + case CItemBase.E種別.ONorOFFトグル: + #region [ *** ] + //----------------- + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" ); + break; + //----------------- + #endregion - case CItemBase.Eパネル種別.その他: - if( this.txその他項目行パネル != null ) - { - this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x, y ); - } - break; - } - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 ); - switch( this.list項目リスト[ nItem ].e種別 ) - { - case CItemBase.E種別.ONorOFFトグル: - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" ); - break; + case CItemBase.E種別.ONorOFFor不定スリーステート: + #region [ *** ] + //----------------- + switch( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 ) + { + case CItemThreeState.E状態.ON: + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" ); + break; - case CItemBase.E種別.ONorOFFor不定スリーステート: - switch( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 ) - { - case CItemThreeState.E状態.ON: - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" ); - break; + case CItemThreeState.E状態.不定: + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "- -" ); + break; - case CItemThreeState.E状態.不定: - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "- -" ); - break; + default: + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "OFF" ); + break; + } + break; + //----------------- + #endregion - default: - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "OFF" ); - break; - } - break; + case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION) + #region [ *** ] + //----------------- + if( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed ) + { + double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0; + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + } + else if( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed ) + { + float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f; + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + } + else + { + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + } + break; + //----------------- + #endregion - case CItemBase.E種別.整数: - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( j == 0 ) && this.b要素値にフォーカス中 ); - break; + case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports + #region [ *** ] + //----------------- + { + CItemList list = (CItemList) this.list項目リスト[ nItem ]; + CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] ); - case CItemBase.E種別.リスト: + #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ] + if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder ) { - CItemList list = (CItemList) this.list項目リスト[ nItem ]; - CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] ); - break; + tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。 + if ( txSkinSample1 != null ) + { + txSkinSample1.t2D描画( CDTXMania.app.Device, 56, 300 ); + } } - } - + #endregion + break; + } + //----------------- + #endregion + } + //----------------- + #endregion + + nItem = this.t次の項目( nItem ); + } + //----------------- + #endregion + + #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。] + //----------------- + if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) ) + { + int x; + int y_upper; + int y_lower; + + // 位置決定。 - nItem = this.t次の項目( nItem ); + if( this.b要素値にフォーカス中 ) + { + x = 528; // 要素値の上下あたり。 + y_upper = 198 - this.ct三角矢印アニメ.n現在の値; + y_lower = 242 + this.ct三角矢印アニメ.n現在の値; } - if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) ) + else { - int num11; - int num12; - int num13; - if( !this.b要素値にフォーカス中 ) - { - num11 = 0x114; - num12 = 0xba - this.ct三角矢印アニメ.n現在の値; - num13 = 0xfe + this.ct三角矢印アニメ.n現在の値; - } - else - { - num11 = 0x210; - num12 = 0xc6 - this.ct三角矢印アニメ.n現在の値; - num13 = 0xf2 + this.ct三角矢印アニメ.n現在の値; - } - if( this.tx三角矢印 != null ) - { - this.tx三角矢印.t2D描画( CDTXMania.app.Device, num11, num12, new Rectangle( 0, 0, 0x20, 0x10 ) ); - this.tx三角矢印.t2D描画( CDTXMania.app.Device, num11, num13, new Rectangle( 0, 0x10, 0x20, 0x10 ) ); - } + x = 276; // 項目名の上下あたり。 + y_upper = 186 - this.ct三角矢印アニメ.n現在の値; + y_lower = 254 + this.ct三角矢印アニメ.n現在の値; + } + + // 描画。 + + if( this.tx三角矢印 != null ) + { + this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_upper, new Rectangle( 0, 0, 32, 16 ) ); + this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_lower, new Rectangle( 0, 16, 32, 16 ) ); } } + //----------------- + #endregion return 0; } - + // その他 @@ -1053,6 +1605,7 @@ namespace DTXMania Drums, Guitar, Bass, + KeyAssignSystem, // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン KeyAssignDrums, KeyAssignGuitar, KeyAssignBass, @@ -1064,6 +1617,8 @@ namespace DTXMania private bool b要素値にフォーカス中; private CCounter ct三角矢印アニメ; private Eメニュー種別 eメニュー種別; + private CItemBase iKeyAssignSystemCapture; // #24609 + private CItemBase iKeyAssignSystemReturnToMenu; // #24609 private CItemBase iKeyAssignBassB; private CItemBase iKeyAssignBassCancel; private CItemBase iKeyAssignBassDecide; @@ -1083,6 +1638,7 @@ namespace DTXMania private CItemBase iKeyAssignDrumsRD; private CItemBase iKeyAssignDrumsReturnToMenu; private CItemBase iKeyAssignDrumsSD; + private CItemBase iKeyAssignDrumsHP; // #27029 2012.1.4 from private CItemBase iKeyAssignGuitarB; private CItemBase iKeyAssignGuitarCancel; private CItemBase iKeyAssignGuitarDecide; @@ -1111,6 +1667,7 @@ namespace DTXMania private CItemToggle iSystemFullscreen; // private CItemToggle iSystemGuitar; private CItemList iSystemHHGroup; + private CItemList iSystemBDGroup; // #27029 2012.1.4 from private CItemToggle iSystemHitSound; private CItemList iSystemHitSoundPriorityCY; private CItemList iSystemHitSoundPriorityFT; @@ -1129,7 +1686,11 @@ namespace DTXMania private CItemToggle iSystemStageFailed; private CItemToggle iSystemStoicMode; private CItemToggle iSystemVSyncWait; + private CItemList iSystemShowLag; // #25370 2011.6.3 yyagi + private CItemToggle iSystemAutoResultCapture; // #25399 2011.6.9 yyagi private CItemToggle iSystemBufferedInput; + private CItemInteger iSystemRisky; // #23559 2011.7.27 yyagi + private List list項目リスト; private long nスクロール用タイマ値; private int n現在のスクロールカウンタ; @@ -1139,9 +1700,17 @@ namespace DTXMania private CTexture tx三角矢印; private CTexture tx通常項目行パネル; + private CTexture txSkinSample1; // #28195 2012.5.2 yyagi + private string[] skinSubFolders; // + private string[] skinNames; // + private string skinSubFolder_org; // + private int nSkinSampleIndex; // + private int nSkinIndex; // + private CItemBase iDrumsGoToKeyAssign; private CItemBase iGuitarGoToKeyAssign; private CItemBase iBassGoToKeyAssign; + private CItemBase iSystemGoToKeyAssign; // #24609 private CItemList iSystemGRmode; @@ -1189,7 +1758,8 @@ namespace DTXMania private CItemInteger iDrumsInputAdjustTimeMs; // #23580 2011.1.3 yyagi private CItemInteger iGuitarInputAdjustTimeMs; // private CItemInteger iBassInputAdjustTimeMs; // - + private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi + private CItemToggle iSystemUseBoxDefSkin; // #28195 2012.5.6 yyagi private int t前の項目( int nItem ) { @@ -1217,6 +1787,7 @@ namespace DTXMania { case Eメニュー種別.System: this.tConfigIniへ記録する・System(); + this.tConfigIniへ記録する・KeyAssignSystem(); return; case Eメニュー種別.Drums: @@ -1244,6 +1815,9 @@ namespace DTXMania private void tConfigIniへ記録する・KeyAssignGuitar() { } + private void tConfigIniへ記録する・KeyAssignSystem() + { + } private void tConfigIniへ記録する・System() { CDTXMania.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号; @@ -1257,39 +1831,41 @@ namespace DTXMania CDTXMania.ConfigIni.b全画面モード = this.iSystemFullscreen.bON; CDTXMania.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON; CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON; - CDTXMania.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号; + CDTXMania.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON; CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON; CDTXMania.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON; CDTXMania.ConfigIni.bAVI有効 = this.iSystemAVI.bON; CDTXMania.ConfigIni.bBGA有効 = this.iSystemBGA.bON; // CDTXMania.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行 - CDTXMania.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON; - CDTXMania.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON; - CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON; - CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON; CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値; CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値; CDTXMania.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON; CDTXMania.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値; CDTXMania.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON; - CDTXMania.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON; CDTXMania.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON; CDTXMania.ConfigIni.eダメージレベル = (Eダメージレベル) this.iSystemDamageLevel.n現在選択されている項目番号; CDTXMania.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON; - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値; - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値; - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値; + CDTXMania.ConfigIni.bログ出力 = this.iLogOutputLog.bON; CDTXMania.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値; CDTXMania.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値; CDTXMania.ConfigIni.bストイックモード = this.iSystemStoicMode.bON; - CDTXMania.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON; + + CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi + CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi + + CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi + + CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi + CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true ); + CDTXMania.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi + +//Trace.TraceInformation( "saved" ); +//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true) ); +//Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); +//Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); + } private void tConfigIniへ記録する・Bass() { @@ -1303,9 +1879,9 @@ namespace DTXMania CDTXMania.ConfigIni.bLight.Bass = this.iBassLight.bON; CDTXMania.ConfigIni.bLeft.Bass = this.iBassLeft.bON; CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi - } - private void tConfigIniへ記録する・Common() - { + + CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON; + CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値; } private void tConfigIniへ記録する・Drums() { @@ -1326,6 +1902,22 @@ namespace DTXMania CDTXMania.ConfigIni.bTight = this.iDrumsTight.bON; CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi CDTXMania.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick + + CDTXMania.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号; + CDTXMania.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号; + CDTXMania.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号; + CDTXMania.ConfigIni.eBDGroup = (EBDGroup) this.iSystemBDGroup.n現在選択されている項目番号; + CDTXMania.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号; + CDTXMania.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号; + CDTXMania.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号; + CDTXMania.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON; + CDTXMania.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON; + CDTXMania.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON; + CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値; + CDTXMania.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON; + + CDTXMania.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号; + CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi } private void tConfigIniへ記録する・Guitar() { @@ -1339,6 +1931,9 @@ namespace DTXMania CDTXMania.ConfigIni.bLight.Guitar = this.iGuitarLight.bON; CDTXMania.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON; CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi + + CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値; + CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON; } //----------------- #endregion