using System.Diagnostics;\r
using System.Text;\r
using System.Drawing;\r
+using SlimDX;\r
using FDK;\r
\r
namespace DTXMania\r
{\r
return false;\r
}\r
-// CItemBase base2 = this.list項目リスト[ this.n現在の選択項目 ];\r
-// if( ( ( base2 != this.iSystemReturnToMenu ) && ( base2 != this.iKeyAssignDrumsReturnToMenu ) ) && ( base2 != this.iKeyAssignGuitarReturnToMenu ) )\r
-// {\r
-// return ( base2 == this.iKeyAssignBassReturnToMenu );\r
-// }\r
-// return true;\r
}\r
}\r
public CItemBase ib現在の選択項目\r
{\r
this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
"Turn ON to put debug log to\n DTXManiaLog.txt\nTo take it effective, you need to\n re-open DTXMania." );\r
this.list項目リスト.Add( this.iLogOutputLog );\r
\r
+ this.iSystemSkinSubfolder = new CItemList( "Skin (General)", CItemBase.Eパネル種別.通常, nSkinIndex,\r
+ "スキン切替:\n" +\r
+ "スキンを切り替えます。\n",\r
+ //"CONFIGURATIONを抜けると、設定した\n" +\r
+ //"スキンに変更されます。",\r
+ "Skin:\n" +\r
+ "Change skin.",\r
+ skinNames );\r
+ this.list項目リスト.Add( this.iSystemSkinSubfolder );\r
+ this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.ConfigIni.bUseBoxDefSkin,\r
+ "Music boxスキンの利用:\n" +\r
+ "特別なスキンが設定されたMusic box\n" +\r
+ "に出入りしたときに、自動でスキンを\n" +\r
+ "切り替えるかどうかを設定します。\n",\r
+ //"\n" +\r
+ //"(Music Boxスキンは、box.defファイル\n" +\r
+ //" で指定できます)\n",\r
+ "Box skin:\n" +\r
+ "Automatically change skin\n" +\r
+ "specified in box.def file." );\r
+ this.list項目リスト.Add( this.iSystemUseBoxDefSkin );\r
+\r
+ \r
this.iSystemGoToKeyAssign = new CItemBase( "System Keys", CItemBase.Eパネル種別.通常,\r
"システムのキー入力に関する項目を設\n定します。",\r
"Settings for the system key/pad inputs." );\r
this.n現在の選択項目 = 0;\r
this.eメニュー種別 = Eメニュー種別.System;\r
}\r
-\r
public void t項目リストの設定・Drums()\r
{\r
this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iDrumsReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
this.list項目リスト.Add( this.iDrumsReturnToMenu );\r
+\r
this.iDrumsAutoPlayAll = new CItemThreeState( "AutoPlay (All)", CItemThreeState.E状態.不定,\r
- "全パッドの自動演奏の ON/OFF を\nまとめて切り替えます。",\r
- "You can change whether Auto or not\n for all drums lanes at once." );\r
+ "全パッドの自動演奏の ON/OFF を\n" +\r
+ "まとめて切り替えます。",\r
+ "You can change whether Auto or not\n" +\r
+ " for all drums lanes at once." );\r
this.list項目リスト.Add( this.iDrumsAutoPlayAll );\r
+\r
this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.ConfigIni.bAutoPlay.LC,\r
"左シンバルを自動で演奏します。",\r
"To play LeftCymbal automatically." );\r
this.list項目リスト.Add( this.iDrumsLeftCymbal );\r
+\r
this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.ConfigIni.bAutoPlay.HH,\r
- "ハイハットを自動で演奏します。\n(クローズ、オープンとも)",\r
- "To play HiHat automatically.\n(It effects to both HH-close and\n HH-open)" );\r
+ "ハイハットを自動で演奏します。\n" +\r
+ "(クローズ、オープンとも)",\r
+ "To play HiHat automatically.\n" +\r
+ "(It effects to both HH-close and\n HH-open)" );\r
this.list項目リスト.Add( this.iDrumsHiHat );\r
+\r
this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.ConfigIni.bAutoPlay.SD,\r
"スネアを自動で演奏します。",\r
"To play Snare automatically." );\r
this.list項目リスト.Add( this.iDrumsSnare );\r
+\r
this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.ConfigIni.bAutoPlay.BD,\r
"バスドラムを自動で演奏します。",\r
"To play Bass Drum automatically." );\r
this.list項目リスト.Add( this.iDrumsBass );\r
+\r
this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.ConfigIni.bAutoPlay.HT,\r
"ハイタムを自動で演奏します。",\r
"To play High Tom automatically." );\r
this.list項目リスト.Add( this.iDrumsHighTom );\r
+\r
this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.ConfigIni.bAutoPlay.LT,\r
"ロータムを自動で演奏します。",\r
"To play Low Tom automatically." );\r
this.list項目リスト.Add( this.iDrumsLowTom );\r
+\r
this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.ConfigIni.bAutoPlay.FT,\r
"フロアタムを自動で演奏します。",\r
"To play Floor Tom automatically." );\r
this.list項目リスト.Add( this.iDrumsFloorTom );\r
+\r
this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.ConfigIni.bAutoPlay.CY,\r
- "右シンバルとライドシンバルを自動で\n演奏します。",\r
- "To play both right- and Ride-Cymbal\n automatically." );\r
+ "右シンバルとライドシンバルを自動で\n" +\r
+ "演奏します。",\r
+ "To play both right- and Ride-Cymbal\n" +\r
+ " automatically." );\r
this.list項目リスト.Add( this.iDrumsCymbalRide );\r
\r
- this.iDrumsScrollSpeed = new CItemInteger("ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums,\r
- "演奏時のドラム譜面のスクロールの\n速度を指定します。\nx0.5 ~ x1000.0 を指定可能です。",\r
- "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)");\r
- this.list項目リスト.Add(this.iDrumsScrollSpeed);\r
- this.iDrumsSudden = new CItemToggle("Sudden", CDTXMania.ConfigIni.bSudden.Drums,\r
- "ドラムチップが譜面の下の方から表\n示されるようになります。",\r
- "Drums chips are disappered until they\ncome near the hit bar, and suddenly\nappears.");\r
- this.list項目リスト.Add(this.iDrumsSudden);\r
- this.iDrumsHidden = new CItemToggle("Hidden", CDTXMania.ConfigIni.bHidden.Drums,\r
- "ドラムチップが譜面の下の方で表示\nされなくなります。",\r
- "Drums chips are hidden by approaching\nto the hit bar. ");\r
- this.list項目リスト.Add(this.iDrumsHidden);\r
-\r
- this.iCommonDark = new CItemList("Dark", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.eDark,\r
- "HALF: 背景、レーン、ゲージが表示\nされなくなります。\nFULL: さらに小節線、拍線、判定ラ\nイン、パッドも表示されなくなります。",\r
- "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
- new string[] { "OFF", "HALF", "FULL" });\r
- this.list項目リスト.Add(this.iCommonDark);\r
+ this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums,\r
+ "演奏時のドラム譜面のスクロールの\n" +\r
+ "速度を指定します。\n" +\r
+ "x0.5 ~ x1000.0 を指定可能です。",\r
+ "To change the scroll speed for the\n" +\r
+ "drums lanes.\n" +\r
+ "You can set it from x0.5 to x1000.0.\n" +\r
+ "(ScrollSpeed=x0.5 means half speed)" );\r
+ this.list項目リスト.Add( this.iDrumsScrollSpeed );\r
+\r
+ this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Drums,\r
+ "ドラムチップが譜面の下の方から表\n" +\r
+ "示されるようになります。",\r
+ "Drums chips are disappered until they\n" +\r
+ "come near the hit bar, and suddenly\n" +\r
+ "appears." );\r
+ this.list項目リスト.Add( this.iDrumsSudden );\r
+\r
+ this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Drums,\r
+ "ドラムチップが譜面の下の方で表示\n" +\r
+ "されなくなります。",\r
+ "Drums chips are hidden by approaching\n" +\r
+ "to the hit bar. " );\r
+ this.list項目リスト.Add( this.iDrumsHidden );\r
+\r
+ this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark,\r
+ "HALF: 背景、レーン、ゲージが表示\n" +\r
+ "されなくなります。\n" +\r
+ "FULL: さらに小節線、拍線、判定ラ\n" +\r
+ "イン、パッドも表示されなくなります。",\r
+ "OFF: all display parts are shown.\n" +\r
+ "HALF: wallpaper, lanes and gauge are\n" +\r
+ " disappeared.\n" +\r
+ "FULL: additionaly to HALF, bar/beat\n" +\r
+ " lines, hit bar, pads are disappeared.",\r
+ new string[] { "OFF", "HALF", "FULL" } );\r
+ this.list項目リスト.Add( this.iCommonDark );\r
\r
\r
- this.iDrumsReverse = new CItemToggle("Reverse", CDTXMania.ConfigIni.bReverse.Drums,\r
- "ドラムチップが譜面の下から上に流\nれるようになります。",\r
- "The scroll way is reversed. Drums chips\nflow from the bottom to the top.");\r
- this.list項目リスト.Add(this.iDrumsReverse);\r
+ this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums,\r
+ "ドラムチップが譜面の下から上に流\n" +\r
+ "れるようになります。",\r
+ "The scroll way is reversed. Drums chips\n"\r
+ + "flow from the bottom to the top." );\r
+ this.list項目リスト.Add( this.iDrumsReverse );\r
\r
- this.iSystemRisky = new CItemInteger("Risky", 0, 10, CDTXMania.ConfigIni.nRisky,\r
- "Riskyモードの設定:\n1以上の値にすると、その回数分の\nPoor/MissでFAILEDとなります。\n0にすると無効になり、\nDamageLevelに従ったゲージ増減と\nなります。\nStageFailedの設定と併用できます。",\r
- "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
- this.list項目リスト.Add(this.iSystemRisky);\r
-\r
- this.iDrumsTight = new CItemToggle("Tight", CDTXMania.ConfigIni.bTight,\r
- "ドラムチップのないところでパッドを\n叩くとミスになります。",\r
- "It becomes MISS to hit pad without\n chip.");\r
- this.list項目リスト.Add(this.iDrumsTight);\r
-\r
- this.iDrumsComboPosition = new CItemList("ComboPosition", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.ドラムコンボ文字の表示位置,\r
- "演奏時のドラムコンボ文字列の位置\nを指定します。",\r
- "The display position for Drums Combo.\nNote that it doesn't take effect\n at Autoplay ([Left] is forcely used).",\r
- new string[] { "Left", "Center", "Right", "OFF" });\r
- this.list項目リスト.Add(this.iDrumsComboPosition);\r
- this.iDrumsPosition = new CItemList("Position", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.判定文字表示位置.Drums,\r
- "ドラムの判定文字の表示位置を指定\nします。\n P-A: レーン上\n P-B: 判定ライン下\n OFF: 表示しない",\r
- "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.",\r
- new string[] { "P-A", "P-B", "OFF" });\r
- this.list項目リスト.Add(this.iDrumsPosition);\r
+ this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky,\r
+ "Riskyモードの設定:\n" +\r
+ "1以上の値にすると、その回数分の\n" +\r
+ "Poor/MissでFAILEDとなります。\n" +\r
+ "0にすると無効になり、\n" +\r
+ "DamageLevelに従ったゲージ増減と\n" +\r
+ "なります。\n" +\r
+ "StageFailedの設定と併用できます。",\r
+ "Risky mode:\n" +\r
+ "Set over 1, in case you'd like to specify\n" +\r
+ " the number of Poor/Miss times to be\n" +\r
+ " FAILED.\n" +\r
+ "Set 0 to disable Risky mode." );\r
+ this.list項目リスト.Add( this.iSystemRisky );\r
\r
- \r
- this.iSystemHHGroup = new CItemList("HH Group", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.eHHGroup,\r
- "ハイハットレーン打ち分け設定:\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",\r
- "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.",\r
- new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } );\r
+ this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight,\r
+ "ドラムチップのないところでパッドを\n" +\r
+ "叩くとミスになります。",\r
+ "It becomes MISS to hit pad without\n" +\r
+ " chip." );\r
+ this.list項目リスト.Add( this.iDrumsTight );\r
+\r
+ this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置,\r
+ "演奏時のドラムコンボ文字列の位置\n" +\r
+ "を指定します。",\r
+ "The display position for Drums Combo.\n" +\r
+ "Note that it doesn't take effect\n" +\r
+ " at Autoplay ([Left] is forcely used).",\r
+ new string[] { "Left", "Center", "Right", "OFF" } );\r
+ this.list項目リスト.Add( this.iDrumsComboPosition );\r
+\r
+ this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Drums,\r
+ "ドラムの判定文字の表示位置を指定\n" +\r
+ "します。\n" +\r
+ " P-A: レーン上\n" +\r
+ " P-B: 判定ライン下\n" +\r
+ " OFF: 表示しない",\r
+ "The position to show judgement mark.\n" +\r
+ "(Perfect, Great, ...)\n" +\r
+ "\n" +\r
+ " P-A: on the lanes.\n" +\r
+ " P-B: under the hit bar.\n" +\r
+ " OFF: no judgement mark.",\r
+ new string[] { "P-A", "P-B", "OFF" } );\r
+ this.list項目リスト.Add( this.iDrumsPosition );\r
+\r
+\r
+ this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup,\r
+ "ハイハットレーン打ち分け設定:\n" +\r
+ "左シンバル、ハイハットオープン、ハ\n" +\r
+ "イハットクローズの打ち分け方法を指\n" +\r
+ "定します。\n" +\r
+ " HH-0 ... LC | HHC | HHO\n" +\r
+ " HH-1 ... LC & ( HHC | HHO )\n" +\r
+ " HH-2 ... LC | ( HHC & HHO )\n" +\r
+ " HH-3 ... LC & HHC & HHO\n" +\r
+ "\n" +\r
+ "※BD Group が BD-1 である場合、\n" +\r
+ " この項目は変更できません。\n",\r
+ "HH-0: LC|HC|HO; all are separated.\n" +\r
+ "HH-1: LC&(HC|HO);\n" +\r
+ " HC and HO are separted.\n" +\r
+ " LC is grouped with HC and HHO.\n" +\r
+ "HH-2: LC|(HC&HO);\n" +\r
+ " LC and HHs are separated.\n" +\r
+ " HC and HO are grouped.\n" +\r
+ "HH-3: LC&HC&HO; all are grouped.\n" +\r
+ "\n" +\r
+ "* This value cannot be changed while \n" +\r
+ " BD Group is set as BD-1.",\r
+ new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } );\r
this.list項目リスト.Add( this.iSystemHHGroup );\r
+\r
this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup,\r
- "フロアタム打ち分け設定:\nロータムとフロアタムの打ち分け方法\nを指定します。\n FT-0 ... LT | FT\n FT-1 ... LT & FT\n",\r
- "FT-0: LT|FT\n LT and FT are separated.\nFT-1: LT&FT\n LT and FT are grouped.",\r
+ "フロアタム打ち分け設定:\n" +\r
+ "ロータムとフロアタムの打ち分け方法\n" +\r
+ "を指定します。\n" +\r
+ " FT-0 ... LT | FT\n" +\r
+ " FT-1 ... LT & FT\n",\r
+ "FT-0: LT|FT\n" +\r
+ " LT and FT are separated.\n" +\r
+ "FT-1: LT&FT\n" +\r
+ " LT and FT are grouped.",\r
new string[] { "FT-0", "FT-1" } );\r
this.list項目リスト.Add( this.iSystemFTGroup );\r
+\r
this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup,\r
- "シンバルレーン打ち分け設定:\n右シンバルとライドシンバルの打ち分\nけ方法を指定します。\n CY-0 ... CY | RD\n CY-1 ... CY & RD\n",\r
- "CY-0: CY|RD\n CY and RD are separated.\nCY-1: CY&RD\n CY and RD are grouped.",\r
+ "シンバルレーン打ち分け設定:\n" +\r
+ "右シンバルとライドシンバルの打ち分\n" +\r
+ "け方法を指定します。\n" +\r
+ " CY-0 ... CY | RD\n" +\r
+ " CY-1 ... CY & RD\n",\r
+ "CY-0: CY|RD\n" +\r
+ " CY and RD are separated.\n" +\r
+ "CY-1: CY&RD\n" +\r
+ " CY and RD are grouped.",\r
new string[] { "CY-0", "CY-1" } );\r
this.list項目リスト.Add( this.iSystemCYGroup );\r
+\r
this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eBDGroup, // #27029 2012.1.4 from\r
- "バス数設定:\nハイハットペダルをバスとして利用する\n方法を指定します。\n BD-0 ... HP | BD\n BD-1 ... FP & BD\n", //\r
- "BD-0: HP|BD\n HiHatPedal is HiHat.\nBD-1: HP&BD\n HiHatPedal is Bass.", //\r
- new string[] { "BD-0", "BD-1" } ); //\r
- this.list項目リスト.Add( this.iSystemBDGroup ); //\r
+ "バス数設定:\n" +\r
+ "ハイハットペダルをバスとして利用する\n" +\r
+ "方法を指定します。\n" +\r
+ " BD-0 ... HP | BD\n" +\r
+ " BD-1 ... FP & BD\n" + \r
+ "\n" +\r
+ "注意:HitSound が OFF である場合は\n" + \r
+ "不具合が生じます。\n" +\r
+ "また、BD-1 を選択している間はいくつ\n" + \r
+ "かのオプションが変更できなくなります。",\r
+ "BD-0: HP|BD\n" +\r
+ " HiHatPedal is HiHat.\n" +\r
+ "BD-1: HP&BD\n" +\r
+ " HiHatPedal is Bass.\n" +\r
+ "\n" +\r
+ "Warning: You should not use BD-1 with \n" +\r
+ "HitSound OFF.\n" +\r
+ "And you cannot change some options \n" +\r
+ "while using BD-1.",\r
+ new string[] { "BD-0", "BD-1" } );\r
+ this.list項目リスト.Add( this.iSystemBDGroup );\r
\r
this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー,\r
- "シンバルフリーモード:\n左シンバル・右シンバルの区別をなく\nします。ライドシンバルまで区別をな\nくすか否かは、CYGroup に従います。\n",\r
- "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." );\r
+ "シンバルフリーモード:\n" +\r
+ "左シンバル・右シンバルの区別をなく\n" +\r
+ "します。ライドシンバルまで区別をな\n" +\r
+ "くすか否かは、CYGroup に従います。\n",\r
+ "Turn ON to group LC (left cymbal) and\n" +\r
+ " CY (right cymbal).\n" +\r
+ "Whether RD (ride cymbal) is also\n" +\r
+ " grouped or not depends on the\n" +\r
+ "'CY Group' setting." );\r
this.list項目リスト.Add( this.iSystemCymbalFree );\r
\r
- \r
+\r
this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH,\r
- "発声音決定の優先順位:\nハイハットレーン打ち分け有効時に、\nチップの発声音をどのように決定する\nかを指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先",\r
- "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.",\r
+ "発声音決定の優先順位:\n" +\r
+ "ハイハットレーン打ち分け有効時に、\n" +\r
+ "チップの発声音をどのように決定する\n" +\r
+ "かを指定します。\n" +\r
+ " C > P ... チップの音が優先\n" +\r
+ " P > C ... 叩いたパッドの音が優先\n" +\r
+ "\n" +\r
+ "※BD Group が BD-1 である場合、\n" +\r
+ " この項目は変更できません。\n",\r
+ "To specify playing sound in case you're\n" +\r
+ " using HH-0,1 and 2.\n" +\r
+ "\n" +\r
+ "C>P:\n" +\r
+ " Chip sound is prior to the pad sound.\n" +\r
+ "P>C:\n" +\r
+ " Pad sound is prior to the chip sound.\n" +\r
+ "\n" +\r
+ "* This value cannot be changed while \n" +\r
+ " BD Group is set as BD-1.",\r
new string[] { "C>P", "P>C" } );\r
this.list項目リスト.Add( this.iSystemHitSoundPriorityHH );\r
+\r
this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT,\r
- "発声音決定の優先順位:\nフロアタム打ち分け有効時に、チップ\nの発声音をどのように決定するかを\n指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先",\r
- "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.",\r
+ "発声音決定の優先順位:\n" +\r
+ "フロアタム打ち分け有効時に、チップ\n" +\r
+ "の発声音をどのように決定するかを\n" +\r
+ "指定します。\n" +\r
+ " C > P ... チップの音が優先\n" +\r
+ " P > C ... 叩いたパッドの音が優先",\r
+ "To specify playing sound in case you're\n" +\r
+ " using FT-0.\n" +\r
+ "\n" +\r
+ "C>P:\n" +\r
+ " Chip sound is prior to the pad sound.\n" +\r
+ "P>C:\n" +\r
+ " Pad sound is prior to the chip sound.",\r
new string[] { "C>P", "P>C" } );\r
this.list項目リスト.Add( this.iSystemHitSoundPriorityFT );\r
+\r
this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY,\r
- "発声音決定の優先順位:\nシンバルレーン打ち分け有効時に、\nチップの発声音をどのように決定する\nかを指定します。\n C > P ... チップの音が優先\n P > C ... 叩いたパッドの音が優先",\r
- "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.",\r
+ "発声音決定の優先順位:\n" +\r
+ "シンバルレーン打ち分け有効時に、\n" +\r
+ "チップの発声音をどのように決定する\n" +\r
+ "かを指定します。\n" +\r
+ " C > P ... チップの音が優先\n" +\r
+ " P > C ... 叩いたパッドの音が優先",\r
+ "To specify playing sound in case you're\n" +\r
+ " using CY-0.\n" +\r
+ "\n" +\r
+ "C>P:\n" +\r
+ " Chip sound is prior to the pad sound.\n" +\r
+ "P>C:\n" +\r
+ " Pad sound is prior to the chip sound.",\r
new string[] { "C>P", "P>C" } );\r
this.list項目リスト.Add( this.iSystemHitSoundPriorityCY );\r
+\r
this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効,\r
- "フィルインエフェクトの使用:\nフィルイン区間の爆発パターンに特別\nのエフェクトを使用します。\nフィルインエフェクトの描画にはそれな\nりのマシンパワーが必要とされます。",\r
- "To show bursting effects at the fill-in\n zone or not." );\r
+ "フィルインエフェクトの使用:\n" +\r
+ "フィルイン区間の爆発パターンに特別\n" +\r
+ "のエフェクトを使用します。\n" +\r
+ "フィルインエフェクトの描画にはそれな\n" +\r
+ "りのマシンパワーが必要とされます。",\r
+ "To show bursting effects at the fill-in\n" +\r
+ " zone or not." );\r
this.list項目リスト.Add( this.iSystemFillIn );\r
\r
\r
\r
this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する,\r
- "打撃音の再生:\nこれをOFFにすると、パッドを叩いた\nときの音を再生しなくなります(ドラム\nのみ)。\nDTX の音色で演奏したい場合などに\nOFF にします。",\r
- "Turn OFF if you don't want to play\n hitting chip sound.\nIt is useful to play with real/electric\n drums kit." );\r
+ "打撃音の再生:\n" +\r
+ "これをOFFにすると、パッドを叩いた\n" +\r
+ "ときの音を再生しなくなります(ドラム\n" +\r
+ "のみ)。\n" +\r
+ "DTX の音色で演奏したい場合などに\n" +\r
+ "OFF にします。\n" + \r
+ "\n" +\r
+ "注意:BD Group が BD-1 である場合\n" +\r
+ "は不具合が生じます。\n",\r
+ "Turn OFF if you don't want to play\n" +\r
+ " hitting chip sound.\n" +\r
+ "It is useful to play with real/electric\n" +\r
+ " drums kit.\n" + \r
+ "\n" +\r
+ "Warning: You should not use BD Group \n" + \r
+ "BD-1 with HitSound OFF.\n" );\r
this.list項目リスト.Add( this.iSystemHitSound );\r
+\r
this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums,\r
- "ドラム音モニタ:\nドラム音を他の音より大きめの音量で\n発声します。\nただし、オートプレイの場合は通常音\n量で発声されます。",\r
- "To enhance the drums chip sound\n(except autoplay)." );\r
+ "ドラム音モニタ:\n" +\r
+ "ドラム音を他の音より大きめの音量で\n" +\r
+ "発声します。\n" +\r
+ "ただし、オートプレイの場合は通常音\n" +\r
+ "量で発声されます。",\r
+ "To enhance the drums chip sound\n" +\r
+ "(except autoplay)." );\r
this.list項目リスト.Add( this.iSystemSoundMonitorDrums );\r
+\r
this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums,\r
- "表示可能な最小コンボ数(ドラム):\n画面に表示されるコンボの最小の数\nを指定します。\n1 ~ 99999 の値が指定可能です。",\r
- "Initial number to show the combo\n for the drums.\nYou can specify from 1 to 99999." );\r
+ "表示可能な最小コンボ数(ドラム):\n" +\r
+ "画面に表示されるコンボの最小の数\n" +\r
+ "を指定します。\n" +\r
+ "1 ~ 99999 の値が指定可能です。",\r
+ "Initial number to show the combo\n" +\r
+ " for the drums.\n" +\r
+ "You can specify from 1 to 99999." );\r
this.list項目リスト.Add( this.iSystemMinComboDrums );\r
\r
- \r
+\r
// #23580 2011.1.3 yyagi\r
this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 0, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums,\r
- "ドラムの入力タイミングの微調整を\n行います。\n-99 ~ 0ms まで指定可能です。\n入力ラグを軽減するためには、負の\n値を指定してください。",\r
- "To adjust the drums input timing.\nYou can set from -99 to 0ms.\nTo decrease input lag, set minus value." );\r
+ "ドラムの入力タイミングの微調整を\n" +\r
+ "行います。\n" +\r
+ "-99 ~ 0ms まで指定可能です。\n" +\r
+ "入力ラグを軽減するためには、負の\n" +\r
+ "値を指定してください。",\r
+ "To adjust the drums input timing.\n" +\r
+ "You can set from -99 to 0ms.\n" +\r
+ "To decrease input lag, set minus value." );\r
this.list項目リスト.Add( this.iDrumsInputAdjustTimeMs );\r
+\r
// #24074 2011.01.23 add ikanick\r
this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph.Drums,\r
- "最高スキルと比較できるグラフを\n表示します。\nオートプレイだと表示されません。",\r
- "To draw Graph \n or not." );\r
+ "最高スキルと比較できるグラフを\n" +\r
+ "表示します。\n" +\r
+ "オートプレイだと表示されません。",\r
+ "To draw Graph \n" +\r
+ " or not." );\r
this.list項目リスト.Add( this.iDrumsGraph );\r
\r
this.iDrumsGoToKeyAssign = new CItemBase( "Drums Keys", CItemBase.Eパネル種別.通常,\r
- "ドラムのキー入力に関する項目を設\n定します。",\r
+ "ドラムのキー入力に関する項目を設\n"+\r
+ "定します。",\r
"Settings for the drums key/pad inputs." );\r
this.list項目リスト.Add( this.iDrumsGoToKeyAssign );\r
\r
this.n現在の選択項目 = 0;\r
this.eメニュー種別 = Eメニュー種別.Drums;\r
}\r
-\r
public void t項目リストの設定・Guitar()\r
{\r
this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iGuitarReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
this.n現在の選択項目 = 0;\r
this.eメニュー種別 = Eメニュー種別.Guitar;\r
}\r
-\r
public void t項目リストの設定・Bass()\r
{\r
this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iBassReturnToMenu = new CItemBase( "<< Return To Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
}\r
// これ以外なら何もしない\r
}\r
-\r
public void tEnter押下()\r
{\r
CDTXMania.Skin.sound決定音.t再生する();\r
}\r
else if( this.b現在選択されている項目はReturnToMenuである )\r
{\r
- this.tConfigIniへ記録する();\r
+ //this.tConfigIniへ記録する();\r
+ //CONFIG中にスキン変化が発生すると面倒なので、一旦マスクした。\r
}\r
else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC )\r
{\r
}\r
else\r
{\r
- this.list項目リスト[ this.n現在の選択項目 ].tEnter押下();\r
+ // #27029 2012.1.5 from\r
+ if( ( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) &&\r
+ ( ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHHGroup ) || ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemHitSoundPriorityHH ) ) )\r
+ {\r
+ // 変更禁止(何もしない)\r
+ }\r
+ else\r
+ {\r
+ // 変更許可\r
+ this.list項目リスト[ this.n現在の選択項目 ].tEnter押下();\r
+ }\r
+\r
+\r
+ // Enter押下後の後処理\r
+\r
if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemFullscreen )\r
{\r
CDTXMania.app.b次のタイミングで全画面・ウィンドウ切り替えを行う = true;\r
}\r
else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemBDGroup ) // #27029 2012.1.4 from\r
{\r
- // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし\r
- if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.全部打ち分ける )\r
- this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.左シンバルのみ打ち分ける;\r
- if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.ハイハットのみ打ち分ける )\r
- this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.全部共通;\r
-\r
- // HH Priority ... C>P → 変更なし / P>C → C>P\r
- if( this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int) E打ち分け時の再生の優先順位.PadがChipより優先 )\r
- this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) E打ち分け時の再生の優先順位.ChipがPadより優先;\r
+ if( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD )\r
+ {\r
+ // #27029 2012.1.5 from: 変更前の状態をバックアップする。\r
+ CDTXMania.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() {\r
+ eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号,\r
+ eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号,\r
+ };\r
+\r
+ // HH Group ... HH-0 → HH-2 / HH-1 → HH-3 / HH-2 → 変更なし / HH-3 → 変更なし\r
+ if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.全部打ち分ける )\r
+ this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.左シンバルのみ打ち分ける;\r
+ if( this.iSystemHHGroup.n現在選択されている項目番号 == (int) EHHGroup.ハイハットのみ打ち分ける )\r
+ this.iSystemHHGroup.n現在選択されている項目番号 = (int) EHHGroup.全部共通;\r
+\r
+ // HH Priority ... C>P → 変更なし / P>C → C>P\r
+ if( this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 == (int) E打ち分け時の再生の優先順位.PadがChipより優先 )\r
+ this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) E打ち分け時の再生の優先順位.ChipがPadより優先;\r
+ }\r
+ else\r
+ {\r
+ // #27029 2012.1.5 from: 変更前の状態に戻す。\r
+ this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHHGroup;\r
+ this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHitSoundPriorityHH;\r
+ \r
+ CDTXMania.ConfigIni.BackupOf1BD = null;\r
+ }\r
+ }\r
+ else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemUseBoxDefSkin ) // #28195 2012.5.6 yyagi\r
+ {\r
+ CSkin.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON;\r
+ }\r
+ #region [ スキン項目でEnterを押下した場合に限り、スキンの縮小サンプルを生成する。]\r
+ else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder ) // #28195 2012.5.2 yyagi\r
+ {\r
+ tGenerateSkinSample();\r
}\r
+ #endregion\r
}\r
}\r
+\r
+ private void tGenerateSkinSample()\r
+ {\r
+ nSkinIndex = ( ( CItemList ) this.list項目リスト[ this.n現在の選択項目 ] ).n現在選択されている項目番号;\r
+ if ( nSkinSampleIndex != nSkinIndex )\r
+ {\r
+ string path = skinSubFolders[ nSkinIndex ];\r
+ path = System.IO.Path.Combine( path, @"Graphics\ScreenTitle background.jpg" );\r
+ Bitmap bmSrc = new Bitmap( path );\r
+ Bitmap bmDest = new Bitmap( bmSrc.Width / 4, bmSrc.Height / 4 );\r
+ Graphics g = Graphics.FromImage( bmDest );\r
+ g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;\r
+ g.DrawImage( bmSrc, new Rectangle( 0, 0, bmSrc.Width / 4, bmSrc.Height / 4 ),\r
+ 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel );\r
+ if ( txSkinSample1 != null )\r
+ {\r
+ CDTXMania.t安全にDisposeする( ref txSkinSample1 );\r
+ }\r
+ txSkinSample1 = CDTXMania.tテクスチャの生成( bmDest, false );\r
+ g.Dispose();\r
+ bmDest.Dispose();\r
+ bmSrc.Dispose();\r
+ nSkinSampleIndex = nSkinIndex;\r
+ }\r
+ }\r
+\r
public void t項目リストの設定・Exit()\r
{\r
this.tConfigIniへ記録する();\r
}\r
public void t項目リストの設定・KeyAssignSystem()\r
{\r
- // this.tConfigIniへ記録する();\r
+ //this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iKeyAssignSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
{\r
// this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iKeyAssignDrumsReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu.");\r
{\r
// this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iKeyAssignGuitarReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu.");\r
{\r
// this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
+\r
+ // #27029 2012.1.5 from: 説明文は最大9行→13行に変更。\r
+\r
this.iKeyAssignBassReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
"左側のメニューに戻ります。",\r
"Return to left menu." );\r
this.n現在の選択項目 = 0;\r
this.eメニュー種別 = Eメニュー種別.KeyAssignBass;\r
}\r
+\r
public void t次に移動()\r
{\r
CDTXMania.Skin.soundカーソル移動音.t再生する();\r
\r
public override void On活性化()\r
{\r
+ if( this.b活性化してる )\r
+ return;\r
+\r
this.list項目リスト = new List<CItemBase>();\r
this.eメニュー種別 = Eメニュー種別.Unknown;\r
- this.t項目リストの設定・System();\r
+\r
+ #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ]\r
+ int ns = ( CDTXMania.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strSystemSkinSubfolders.Length;\r
+ int nb = ( CDTXMania.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strBoxDefSkinSubfolders.Length;\r
+ skinSubFolders = new string[ ns + nb ];\r
+ for ( int i = 0; i < ns; i++ )\r
+ {\r
+ skinSubFolders[ i ] = CDTXMania.Skin.strSystemSkinSubfolders[ i ];\r
+ }\r
+ for ( int i = 0; i < nb; i++ )\r
+ {\r
+ skinSubFolders[ ns + i ] = CDTXMania.Skin.strBoxDefSkinSubfolders[ i ];\r
+ }\r
+ skinSubFolder_org = CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true );\r
+ Array.Sort( skinSubFolders );\r
+ skinNames = CSkin.GetSkinName( skinSubFolders );\r
+ nSkinIndex = Array.BinarySearch( skinSubFolders, skinSubFolder_org );\r
+ if ( nSkinIndex < 0 ) // 念のため\r
+ {\r
+ nSkinIndex = 0;\r
+ }\r
+ nSkinSampleIndex = -1;\r
+ #endregion\r
+\r
+ this.t項目リストの設定・Bass(); // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、\r
+ this.t項目リストの設定・Guitar(); // 活性化の時点でDrumsの設定も入れ込んでおかないと、System設定中に例外発生することがある。\r
+ this.t項目リストの設定・Drums(); // \r
+ this.t項目リストの設定・System(); // 順番として、最後にSystemを持ってくること。設定一覧の初期位置がSystemのため。\r
this.b要素値にフォーカス中 = false;\r
this.n目標のスクロールカウンタ = 0;\r
this.n現在のスクロールカウンタ = 0;\r
this.nスクロール用タイマ値 = -1;\r
this.ct三角矢印アニメ = new CCounter();\r
+ \r
base.On活性化();\r
}\r
public override void On非活性化()\r
{\r
+ if( this.b活性化してない )\r
+ return;\r
+\r
this.tConfigIniへ記録する();\r
this.list項目リスト.Clear();\r
this.ct三角矢印アニメ = null;\r
+ \r
base.On非活性化();\r
+\r
+ if ( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org )\r
+ {\r
+ CDTXMania.Skin.PrepareReloadSkin(); // #28195 2012.5.2 yyagi CONFIG脱出時にSkin更新\r
+ CDTXMania.Skin.ReloadSkin(); //\r
+ }\r
+\r
}\r
public override void OnManagedリソースの作成()\r
{\r
- if( !base.b活性化してない )\r
- {\r
- this.tx通常項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false );\r
- this.txその他項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false );\r
- this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false );\r
- base.OnManagedリソースの作成();\r
- }\r
+ if( this.b活性化してない )\r
+ return;\r
+\r
+ this.tx通常項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false );\r
+ this.txその他項目行パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false );\r
+ this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false );\r
+ this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない\r
+ base.OnManagedリソースの作成();\r
}\r
public override void OnManagedリソースの解放()\r
{\r
+ if( this.b活性化してない )\r
+ return;\r
+\r
+ CDTXMania.tテクスチャの解放( ref this.txSkinSample1 );\r
CDTXMania.tテクスチャの解放( ref this.tx通常項目行パネル );\r
CDTXMania.tテクスチャの解放( ref this.txその他項目行パネル );\r
CDTXMania.tテクスチャの解放( ref this.tx三角矢印 );\r
+ \r
base.OnManagedリソースの解放();\r
}\r
public override int On進行描画()\r
}\r
public int t進行描画( bool b項目リスト側にフォーカスがある )\r
{\r
- if( !base.b活性化してない )\r
+ if( this.b活性化してない )\r
+ return 0;\r
+\r
+ // 進行\r
+\r
+ #region [ 初めての進行描画 ]\r
+ //-----------------\r
+ if( base.b初めての進行描画 )\r
{\r
- #region [初めての進行描画]\r
- if ( base.b初めての進行描画 )\r
+ this.nスクロール用タイマ値 = CDTXMania.Timer.n現在時刻;\r
+ this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer );\r
+ \r
+ base.b初めての進行描画 = false;\r
+ }\r
+ //-----------------\r
+ #endregion\r
+\r
+ this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある; // 記憶\r
+\r
+ #region [ 項目スクロールの進行 ]\r
+ //-----------------\r
+ long n現在時刻 = CDTXMania.Timer.n現在時刻;\r
+ if( n現在時刻 < this.nスクロール用タイマ値 ) this.nスクロール用タイマ値 = n現在時刻;\r
+\r
+ const int INTERVAL = 2; // [ms]\r
+ while( ( n現在時刻 - this.nスクロール用タイマ値 ) >= INTERVAL )\r
+ {\r
+ int n目標項目までのスクロール量 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) );\r
+ int n加速度 = 0;\r
+\r
+ #region [ n加速度の決定;目標まで遠いほど加速する。]\r
+ //-----------------\r
+ if( n目標項目までのスクロール量 <= 100 )\r
{\r
- this.nスクロール用タイマ値 = CDTXMania.Timer.n現在時刻;\r
- this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer );\r
- base.b初めての進行描画 = false;\r
+ n加速度 = 2;\r
}\r
- #endregion\r
- this.b項目リスト側にフォーカスがある = b項目リスト側にフォーカスがある;\r
- long num = CDTXMania.Timer.n現在時刻;\r
- if( num < this.nスクロール用タイマ値 )\r
+ else if( n目標項目までのスクロール量 <= 300 )\r
{\r
- this.nスクロール用タイマ値 = num;\r
+ n加速度 = 3;\r
}\r
- while( ( num - this.nスクロール用タイマ値 ) >= 2 )\r
+ else if( n目標項目までのスクロール量 <= 500 )\r
{\r
- int num2 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) );\r
- int num3 = 0;\r
- if( num2 <= 100 )\r
- {\r
- num3 = 2;\r
- }\r
- else if( num2 <= 300 )\r
- {\r
- num3 = 3;\r
- }\r
- else if( num2 <= 500 )\r
- {\r
- num3 = 4;\r
- }\r
- else\r
+ n加速度 = 4;\r
+ }\r
+ else\r
+ {\r
+ n加速度 = 8;\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ #region [ this.n現在のスクロールカウンタに n加速度 を加減算。]\r
+ //-----------------\r
+ if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )\r
+ {\r
+ this.n現在のスクロールカウンタ += n加速度;\r
+ if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )\r
{\r
- num3 = 8;\r
+ // 目標を超えたら目標値で停止。\r
+ this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;\r
}\r
+ }\r
+ else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )\r
+ {\r
+ this.n現在のスクロールカウンタ -= n加速度;\r
if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )\r
{\r
- this.n現在のスクロールカウンタ += num3;\r
- if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )\r
- {\r
- this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;\r
- }\r
- }\r
- else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ )\r
- {\r
- this.n現在のスクロールカウンタ -= num3;\r
- if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ )\r
- {\r
- this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;\r
- }\r
+ // 目標を超えたら目標値で停止。\r
+ this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ;\r
}\r
- if( this.n現在のスクロールカウンタ >= 100 )\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ #region [ 行超え処理、ならびに目標位置に到達したらスクロールを停止して項目変更通知を発行。]\r
+ //-----------------\r
+ if( this.n現在のスクロールカウンタ >= 100 )\r
+ {\r
+ this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 );\r
+ this.n現在のスクロールカウンタ -= 100;\r
+ this.n目標のスクロールカウンタ -= 100;\r
+ if( this.n目標のスクロールカウンタ == 0 )\r
{\r
- this.n現在の選択項目 = this.t次の項目( this.n現在の選択項目 );\r
- this.n現在のスクロールカウンタ -= 100;\r
- this.n目標のスクロールカウンタ -= 100;\r
- if( this.n目標のスクロールカウンタ == 0 )\r
- {\r
- CDTXMania.stageコンフィグ.t項目変更通知();\r
- }\r
+ CDTXMania.stageコンフィグ.t項目変更通知();\r
}\r
- else if( this.n現在のスクロールカウンタ <= -100 )\r
+ }\r
+ else if( this.n現在のスクロールカウンタ <= -100 )\r
+ {\r
+ this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 );\r
+ this.n現在のスクロールカウンタ += 100;\r
+ this.n目標のスクロールカウンタ += 100;\r
+ if( this.n目標のスクロールカウンタ == 0 )\r
{\r
- this.n現在の選択項目 = this.t前の項目( this.n現在の選択項目 );\r
- this.n現在のスクロールカウンタ += 100;\r
- this.n目標のスクロールカウンタ += 100;\r
- if( this.n目標のスクロールカウンタ == 0 )\r
- {\r
- CDTXMania.stageコンフィグ.t項目変更通知();\r
- }\r
+ CDTXMania.stageコンフィグ.t項目変更通知();\r
}\r
- this.nスクロール用タイマ値 += 2;\r
}\r
- if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )\r
+ //-----------------\r
+ #endregion\r
+\r
+ this.nスクロール用タイマ値 += INTERVAL;\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ \r
+ #region [ ▲印アニメの進行 ]\r
+ //-----------------\r
+ if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )\r
+ this.ct三角矢印アニメ.t進行Loop();\r
+ //-----------------\r
+ #endregion\r
+\r
+\r
+ // 描画\r
+\r
+ this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 276 : 301; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。\r
+\r
+ #region [ 計11個の項目パネルを描画する。]\r
+ //-----------------\r
+ int nItem = this.n現在の選択項目;\r
+ for( int i = 0; i < 4; i++ )\r
+ nItem = this.t前の項目( nItem );\r
+\r
+ for( int n行番号 = -4; n行番号 < 6; n行番号++ ) // n行番号 == 0 がフォーカスされている項目パネル。\r
+ {\r
+ #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。]\r
+ //-----------------\r
+ if( ( ( n行番号 == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている\r
+ ( ( n行番号 == +5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている\r
{\r
- this.ct三角矢印アニメ.t進行Loop();\r
+ nItem = this.t次の項目( nItem );\r
+ continue;\r
}\r
- this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 0x114 : 0x12d;\r
- int nItem = this.n現在の選択項目;\r
- for( int i = 0; i < 4; i++ )\r
+ //-----------------\r
+ #endregion\r
+\r
+ int n移動元の行の基本位置 = n行番号 + 4;\r
+ int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( n移動元の行の基本位置 + 1 ) % 10 ) : ( ( ( n移動元の行の基本位置 - 1 ) + 10 ) % 10 );\r
+ int x = this.ptパネルの基本座標[ n移動元の行の基本位置 ].X + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].X - this.ptパネルの基本座標[ n移動元の行の基本位置 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );\r
+ int y = this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].Y - this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );\r
+\r
+ #region [ 現在の行の項目パネル枠を描画。]\r
+ //-----------------\r
+ switch( this.list項目リスト[ nItem ].eパネル種別 )\r
{\r
- nItem = this.t前の項目( nItem );\r
+ case CItemBase.Eパネル種別.通常:\r
+ if( this.tx通常項目行パネル != null )\r
+ this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x, y );\r
+ break;\r
+\r
+ case CItemBase.Eパネル種別.その他:\r
+ if( this.txその他項目行パネル != null )\r
+ this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x, y );\r
+ break;\r
}\r
- for( int j = -4; j < 6; j++ )\r
+ //-----------------\r
+ #endregion\r
+ #region [ 現在の行の項目名を描画。]\r
+ //-----------------\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 );\r
+ //-----------------\r
+ #endregion\r
+ #region [ 現在の行の項目の要素を描画。]\r
+ //-----------------\r
+ switch( this.list項目リスト[ nItem ].e種別 )\r
{\r
- if( ( ( j == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || ( ( j == 5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) )\r
- {\r
- nItem = this.t次の項目( nItem );\r
- continue;\r
- }\r
- int index = j + 4;\r
- int num8 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( ( j + 4 ) + 1 ) % 10 ) : ( ( ( ( j + 4 ) - 1 ) + 10 ) % 10 );\r
- int x = this.ptパネルの基本座標[ index ].X + ( (int) ( ( this.ptパネルの基本座標[ num8 ].X - this.ptパネルの基本座標[ index ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );\r
- int y = this.ptパネルの基本座標[ index ].Y + ( (int) ( ( this.ptパネルの基本座標[ num8 ].Y - this.ptパネルの基本座標[ index ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) );\r
- switch( this.list項目リスト[ nItem ].eパネル種別 )\r
- {\r
- case CItemBase.Eパネル種別.通常:\r
- if( this.tx通常項目行パネル != null )\r
- {\r
- this.tx通常項目行パネル.t2D描画( CDTXMania.app.Device, x, y );\r
- }\r
- break;\r
-\r
- case CItemBase.Eパネル種別.その他:\r
- if( this.txその他項目行パネル != null )\r
- {\r
- this.txその他項目行パネル.t2D描画( CDTXMania.app.Device, x, y );\r
- }\r
- break;\r
- }\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 );\r
- switch( this.list項目リスト[ nItem ].e種別 )\r
- {\r
- case CItemBase.E種別.ONorOFFトグル:\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" );\r
- break;\r
+ case CItemBase.E種別.ONorOFFトグル:\r
+ #region [ *** ]\r
+ //-----------------\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" );\r
+ break;\r
+ //-----------------\r
+ #endregion\r
+\r
+ case CItemBase.E種別.ONorOFFor不定スリーステート:\r
+ #region [ *** ]\r
+ //-----------------\r
+ switch( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 )\r
+ {\r
+ case CItemThreeState.E状態.ON:\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" );\r
+ break;\r
\r
- case CItemBase.E種別.ONorOFFor不定スリーステート:\r
- switch( ( (CItemThreeState) this.list項目リスト[ nItem ] ).e現在の状態 )\r
- {\r
- case CItemThreeState.E状態.ON:\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" );\r
- break;\r
+ case CItemThreeState.E状態.不定:\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "- -" );\r
+ break;\r
\r
- case CItemThreeState.E状態.不定:\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "- -" );\r
- break;\r
+ default:\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "OFF" );\r
+ break;\r
+ }\r
+ break;\r
+ //-----------------\r
+ #endregion\r
+\r
+ case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION)\r
+ #region [ *** ]\r
+ //-----------------\r
+ if( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed )\r
+ {\r
+ double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0;\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );\r
+ }\r
+ else if( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed )\r
+ {\r
+ float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f;\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );\r
+ }\r
+ else\r
+ {\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );\r
+ }\r
+ break;\r
+ //-----------------\r
+ #endregion\r
\r
- default:\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "OFF" );\r
- break;\r
- }\r
- break;\r
+ case CItemBase.E種別.リスト: // #28195 2012.5.2 yyagi: add Skin supports\r
+ #region [ *** ]\r
+ //-----------------\r
+ {\r
+ CItemList list = (CItemList) this.list項目リスト[ nItem ];\r
+ CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] );\r
\r
- case CItemBase.E種別.整数: // #24789 2011.4.8 yyagi: add PlaySpeed supports (copied them from OPTION)\r
+ #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ]\r
+ if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemSkinSubfolder )\r
{\r
- if ( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed )\r
+ tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。\r
+ if ( txSkinSample1 != null )\r
{\r
- double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0;\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( j == 0 ) && this.b要素値にフォーカス中 );\r
- }\r
- else if ( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed )\r
- {\r
- float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f;\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( j == 0 ) && this.b要素値にフォーカス中 );\r
- }\r
- else\r
- {\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( j == 0 ) && this.b要素値にフォーカス中 );\r
+ txSkinSample1.t2D描画( CDTXMania.app.Device, 56, 300 );\r
}\r
}\r
+ #endregion\r
break;\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ \r
+ nItem = this.t次の項目( nItem );\r
+ }\r
+ //-----------------\r
+ #endregion\r
+ \r
+ #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。]\r
+ //-----------------\r
+ if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )\r
+ {\r
+ int x;\r
+ int y_upper;\r
+ int y_lower;\r
+ \r
+ // 位置決定。\r
\r
- case CItemBase.E種別.リスト:\r
- {\r
- CItemList list = (CItemList) this.list項目リスト[ nItem ];\r
- CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] );\r
- break;\r
- }\r
- }\r
- nItem = this.t次の項目( nItem );\r
+ if( this.b要素値にフォーカス中 )\r
+ {\r
+ x = 528; // 要素値の上下あたり。\r
+ y_upper = 198 - this.ct三角矢印アニメ.n現在の値;\r
+ y_lower = 242 + this.ct三角矢印アニメ.n現在の値;\r
}\r
- if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) )\r
+ else\r
{\r
- int x;\r
- int y_upper;\r
- int y_lower;\r
- if( !this.b要素値にフォーカス中 )\r
- {\r
- x = 0x114;\r
- y_upper = 0xba - this.ct三角矢印アニメ.n現在の値;\r
- y_lower = 0xfe + this.ct三角矢印アニメ.n現在の値;\r
- }\r
- else\r
- {\r
- x = 0x210;\r
- y_upper = 0xc6 - this.ct三角矢印アニメ.n現在の値;\r
- y_lower = 0xf2 + this.ct三角矢印アニメ.n現在の値;\r
- }\r
- if( this.tx三角矢印 != null )\r
- {\r
- this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_upper, new Rectangle( 0, 0, 0x20, 0x10 ) );\r
- this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_lower, new Rectangle( 0, 0x10, 0x20, 0x10 ) );\r
- }\r
+ x = 276; // 項目名の上下あたり。\r
+ y_upper = 186 - this.ct三角矢印アニメ.n現在の値;\r
+ y_lower = 254 + this.ct三角矢印アニメ.n現在の値;\r
+ }\r
+\r
+ // 描画。\r
+ \r
+ if( this.tx三角矢印 != null )\r
+ {\r
+ this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_upper, new Rectangle( 0, 0, 32, 16 ) );\r
+ this.tx三角矢印.t2D描画( CDTXMania.app.Device, x, y_lower, new Rectangle( 0, 16, 32, 16 ) );\r
}\r
}\r
+ //-----------------\r
+ #endregion\r
return 0;\r
}\r
-\r
+ \r
\r
// その他\r
\r
private CTexture tx三角矢印;\r
private CTexture tx通常項目行パネル;\r
\r
+ private CTexture txSkinSample1; // #28195 2012.5.2 yyagi\r
+ private string[] skinSubFolders; //\r
+ private string[] skinNames; //\r
+ private string skinSubFolder_org; //\r
+ private int nSkinSampleIndex; //\r
+ private int nSkinIndex; //\r
+\r
private CItemBase iDrumsGoToKeyAssign;\r
private CItemBase iGuitarGoToKeyAssign;\r
private CItemBase iBassGoToKeyAssign;\r
private CItemInteger iDrumsInputAdjustTimeMs; // #23580 2011.1.3 yyagi\r
private CItemInteger iGuitarInputAdjustTimeMs; //\r
private CItemInteger iBassInputAdjustTimeMs; //\r
+ private CItemList iSystemSkinSubfolder; // #28195 2012.5.2 yyagi\r
+ private CItemToggle iSystemUseBoxDefSkin; // #28195 2012.5.6 yyagi\r
\r
private int t前の項目( int nItem )\r
{\r
CDTXMania.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値;\r
CDTXMania.ConfigIni.bストイックモード = this.iSystemStoicMode.bON;\r
\r
- CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi\r
- CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi\r
+ CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi\r
+ CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi\r
\r
- CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi\r
+ CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi\r
+\r
+ CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi\r
+ CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true );\r
+ CDTXMania.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi\r
+\r
+//Trace.TraceInformation( "saved" );\r
+//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true) );\r
+//Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName );\r
+//Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName );\r
+ \r
}\r
private void tConfigIniへ記録する・Bass()\r
{\r