new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
this.ctキー反復用.R.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ) ||
+ CDTXMania.Instance.Pad.b押されている( EPad.Up ),
new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
if( CDTXMania.Instance.Pad.b押された( EPad.SD ) )
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
this.ctキー反復用.B.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ) ||
+ CDTXMania.Instance.Pad.b押されている( EPad.Down ),
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
if( CDTXMania.Instance.Pad.b押された( EPad.LT ) )
{
list項目リスト.Add(ReturnToMenu.System);
list項目リスト.Add(PadNotifier(EPad.Capture, cr.Label("strCfgKeyAssignCapture"), cr.Explanation("strCfgKeyAssignCapture") ));
+ list項目リスト.Add(PadNotifier(EPad.Up, cr.Label("strCfgKeyAssignUp"), cr.Explanation("strCfgKeyAssignUp")));
+ list項目リスト.Add(PadNotifier(EPad.Down, cr.Label("strCfgKeyAssignDown"), cr.Explanation("strCfgKeyAssignDown")));
}
else if (eMenu == Eメニュー種別.KeyAssignDrums)
{
{ "BsWail", EPad.BsWail },
{ "BsDecide", EPad.BsDecide },
{ "BsCancel", EPad.BsCancel },
- { "Capture", EPad.Capture}
+ { "Capture", EPad.Capture},
+ { "Up", EPad.Up},
+ { "Down", EPad.Down}
};
foreach ( string param in paramLines )
Debug.WriteLine( "デフォルトのキーアサインを設定できませんでした3: " + tmp[ 1 ] );
return;
}
+ else if (keys.Length == 1 && keys[0] == "") // xxx= (no value)
+ {
+ Debug.WriteLine("デフォルトのキーアサインを設定できませんでした4: " + tmp[ 1 ]);
+ return;
+ }
EPad e;
bool b = dicStrEPad.TryGetValue( strPad, out e );
if ( b == false )
BsCancel=K097
Capture=K065
+Up=
+Down=
";
- private string GetRelativePath( string strBasePath, string strTargetPath )
+ /// <summary>
+ /// Config Upgrade support
+ /// </summary>
+ public void UpgradeConfig()
+ {
+ // For KeyAssign:
+ // To avoid GPF when adding new entry (== EPad.MAX has been incremented by developper), check KeyAssign array to EPad.MAX
+ for (EPad j = EPad.Min; j < EPad.Max; ++j)
+ {
+ COptionKeyAssign ka;
+ try
+ {
+ ka = KeyAssign[j][0];
+ }
+ catch (NullReferenceException)
+ {
+ KeyAssign[j] = new COptionKeyAssign[AssignableCodes];
+ for (int k = 0; k < AssignableCodes; ++k)
+ {
+ KeyAssign[j][k] = new COptionKeyAssign();
+ }
+ }
+ }
+ }
+
+
+ private string GetRelativePath( string strBasePath, string strTargetPath )
{
string strRelativePath = strTargetPath;
try
new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
this.ctキー反復用.R.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ) ||
+ CDTXMania.Instance.Pad.b押されている( EPad.Up ),
new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
if (CDTXMania.Instance.Pad.b押された(EPad.SD))
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
this.ctキー反復用.B.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ) ||
+ CDTXMania.Instance.Pad.b押されている( EPad.Down ),
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
if (CDTXMania.Instance.Pad.b押された(EPad.LT))
new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
this.ctキー反復用.R.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtR ) || CDTXMania.Instance.Pad.b押されている( EPad.BsR ) ||
+ CDTXMania.Instance.Pad.b押されている(EPad.Up),
new CCounter.DGキー処理( this.tカーソルを上へ移動する ) );
if (CDTXMania.Instance.Pad.b押された(EPad.SD))
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
this.ctキー反復用.B.tキー反復(
- CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ),
+ CDTXMania.Instance.Pad.b押されている( EPad.GtB ) || CDTXMania.Instance.Pad.b押されている( EPad.BsB ) ||
+ CDTXMania.Instance.Pad.b押されている(EPad.Down),
new CCounter.DGキー処理( this.tカーソルを下へ移動する ) );
if (CDTXMania.Instance.Pad.b押された(EPad.LT))
Path.Combine( Path.Combine( this.strEXEのあるフォルダ, "System" ), ConfigIni.strSystemSkinSubfolderPath );
}
}
+
+ ConfigIni.UpgradeConfig(); // 本体version upに伴ってConfig.xmlの定義が更新される場合の、最低限のフォローアップ
}
/// <summary>
/// 座標値を読み込む。Coordinates メンバ初期化後いつ呼び出しても構わない。
[EnumMember]
Capture = 25,
[EnumMember]
- Max = 26,
+ Up = 26,
+ [EnumMember]
+ Down = 27,
+ [EnumMember]
+ Max = 28,
[EnumMember]
Unknown,
}
[DataMember]
public T Capture;
+ [DataMember]
+ public T Up;
+ [DataMember]
+ public T Down;
+
+
public T this[EPad e]
{
get
case EPad.BsCancel: return BsCancel;
case EPad.BsDecide: return BsDecide;
case EPad.Capture: return Capture;
+ case EPad.Up: return Up;
+ case EPad.Down: return Down;
}
throw new IndexOutOfRangeException();
}
case EPad.BsCancel: BsCancel = value; return;
case EPad.BsDecide: BsDecide = value; return;
case EPad.Capture: Capture = value; return;
+ case EPad.Up: Up= value; return;
+ case EPad.Down: Down= value; return;
}
throw new IndexOutOfRangeException();
}