From 4d1af76c75c19ff1116835b12d591cce2dbf81a1 Mon Sep 17 00:00:00 2001 From: yyagi Date: Wed, 30 Mar 2011 15:07:47 +0000 Subject: [PATCH] =?utf8?q?#23615=20=E6=9B=B2=E9=A0=86=E3=81=AE=E3=82=BD?= =?utf8?q?=E3=83=BC=E3=83=88=E6=A9=9F=E8=83=BD=E3=82=92=E8=BF=BD=E5=8A=A0?= =?utf8?q?=E3=80=82=20=E3=81=9D=E3=81=AE=E4=BB=96=E3=83=AA=E3=83=95?= =?utf8?q?=E3=82=A1=E3=82=AF=E3=82=BF=E7=AD=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@140 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../コード/スコア、曲/CSong管理.cs | 296 +++++++++++++++-- .../CActSelectステータスパネル.cs | 18 +- .../05.選曲/CActSelect曲リスト.cs | 67 +++- .../ステージ/05.選曲/CStage選曲.cs | 358 +++++++++++---------- .../06.曲読み込み/CStage曲読み込み.cs | 8 +- .../ステージ/08.結果/CStage結果.cs | 3 +- .../コード/全体/Program.cs | 8 +- 7 files changed, 524 insertions(+), 234 deletions(-) diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs index 1e2f744b..5b97dff5 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs @@ -991,7 +991,8 @@ namespace DTXMania { ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) { - if( n1 == n2 ) + #region [ 共通処理 ] + if ( n1 == n2 ) { return 0; } @@ -1004,6 +1005,7 @@ namespace DTXMania { return n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); } + #endregion string str = ""; if( string.IsNullOrEmpty( n1.pathSetDefの絶対パス ) ) { @@ -1054,7 +1056,7 @@ namespace DTXMania } } } - public void t曲リストのソート2_タイトル順( List ノードリスト ) + public void t曲リストのソート2_タイトル順( List ノードリスト, E楽器パート part, int order, params object[] p ) { ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) { @@ -1065,64 +1067,292 @@ namespace DTXMania int num = this.t比較0_共通( n1, n2 ); if( num != 0 ) { - return num; + return order * num; } - return n1.strタイトル.CompareTo( n2.strタイトル ); + return order * n1.strタイトル.CompareTo( n2.strタイトル ); } ); - foreach( C曲リストノード c曲リストノード in ノードリスト ) - { - if( ( c曲リストノード.list子リスト != null ) && ( c曲リストノード.list子リスト.Count > 1 ) ) - { - this.t曲リストのソート2_タイトル順( c曲リストノード.list子リスト ); - } - } +// foreach( C曲リストノード c曲リストノード in ノードリスト ) +// { +// if( ( c曲リストノード.list子リスト != null ) && ( c曲リストノード.list子リスト.Count > 1 ) ) +// { +// this.t曲リストのソート2_タイトル順( c曲リストノード.list子リスト, part, order ); +// } +// } } - public void t曲リストのソート3_演奏回数の多い順( List ノードリスト, E楽器パート part ) + /// + /// + /// + /// + /// + /// 1=Ascend -1=Descend + public void t曲リストのソート3_演奏回数の多い順( List ノードリスト, E楽器パート part, int order, params object[] p ) { - if( part != E楽器パート.UNKNOWN ) + order = -order; + int nL12345 = (int) p[ 0 ]; + if ( part != E楽器パート.UNKNOWN ) { ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) { - if( n1 == n2 ) + #region [ 共通処理 ] + if ( n1 == n2 ) { return 0; } - int num = 0; - num = this.t比較0_共通( n1, n2 ); + int num = this.t比較0_共通( n1, n2 ); if( num != 0 ) { - return num; + return order * num; } if( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) { - return n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); + return order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); } - int num2 = 0; - int num3 = 0; - for( int i = 0; i < 5; i++ ) - { - if( n1.arスコア[ i ] != null ) + #endregion + int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0; +// for( int i = 0; i < 5; i++ ) +// { + if( n1.arスコア[ nL12345 ] != null ) { - num2 += n1.arスコア[ i ].譜面情報.演奏回数[ (int) part ]; + nSumPlayCountN1 += n1.arスコア[ nL12345 ].譜面情報.演奏回数[ (int) part ]; } - if( n2.arスコア[ i ] != null ) + if( n2.arスコア[ nL12345 ] != null ) { - num3 += n2.arスコア[ i ].譜面情報.演奏回数[ (int) part ]; + nSumPlayCountN2 += n2.arスコア[ nL12345 ].譜面情報.演奏回数[ (int) part ]; } - } - num = num3 - num2; +// } + num = nSumPlayCountN2 - nSumPlayCountN1; if( num != 0 ) { - return num; + return order * num; + } + return order * n1.strタイトル.CompareTo( n2.strタイトル ); + } ); + foreach ( C曲リストノード c曲リストノード in ノードリスト ) + { + int nSumPlayCountN1 = 0; +// for ( int i = 0; i < 5; i++ ) +// { + if ( c曲リストノード.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 += c曲リストノード.arスコア[ nL12345 ].譜面情報.演奏回数[ (int) part ]; + } +// } + Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストノード.strタイトル ); + } + +// foreach( C曲リストノード c曲リストノード in ノードリスト ) +// { +// if( ( c曲リストノード.list子リスト != null ) && ( c曲リストノード.list子リスト.Count > 1 ) ) +// { +// this.t曲リストのソート3_演奏回数の多い順( c曲リストノード.list子リスト, part ); +// } +// } + } + } + public void t曲リストのソート4_LEVEL順( List ノードリスト, E楽器パート part, int order, params object[] p ) + { + order = -order; + int nL12345 = (int)p[ 0 ]; + if ( part != E楽器パート.UNKNOWN ) + { + ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) + { + #region [ 共通処理 ] + if ( n1 == n2 ) + { + return 0; + } + int num = this.t比較0_共通( n1, n2 ); + if ( num != 0 ) + { + return order * num; + } + if ( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) + { + return order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); + } + #endregion + int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0; + if ( n1.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = n1.arスコア[ nL12345 ].譜面情報.レベル[ (int) part ]; + } + if ( n2.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN2 = n2.arスコア[ nL12345 ].譜面情報.レベル[ (int) part ]; + } + num = nSumPlayCountN2 - nSumPlayCountN1; + if ( num != 0 ) + { + return order * num; + } + return order * n1.strタイトル.CompareTo( n2.strタイトル ); + } ); + foreach ( C曲リストノード c曲リストノード in ノードリスト ) + { + int nSumPlayCountN1 = 0; + if ( c曲リストノード.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = c曲リストノード.arスコア[ nL12345 ].譜面情報.レベル[ (int) part ]; + } + Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストノード.strタイトル ); + } + } + } + public void t曲リストのソート5_BestRank順( List ノードリスト, E楽器パート part, int order, params object[] p ) + { + order = -order; + int nL12345 = (int) p[ 0 ]; + if ( part != E楽器パート.UNKNOWN ) + { + ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) + { + #region [ 共通処理 ] + if ( n1 == n2 ) + { + return 0; + } + int num = this.t比較0_共通( n1, n2 ); + if ( num != 0 ) + { + return order * num; + } + if ( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) + { + return order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); + } + #endregion + int nSumPlayCountN1 = 0, nSumPlayCountN2 = 0; + bool isFullCombo1 = false, isFullCombo2 = false; + if ( n1.arスコア[ nL12345 ] != null ) + { + isFullCombo1 = n1.arスコア[ nL12345 ].譜面情報.フルコンボ[ (int) part ]; + nSumPlayCountN1 = n1.arスコア[ nL12345 ].譜面情報.最大ランク[ (int) part ]; + } + if ( n2.arスコア[ nL12345 ] != null ) + { + isFullCombo2 = n2.arスコア[ nL12345 ].譜面情報.フルコンボ[ (int) part ]; + nSumPlayCountN2 = n2.arスコア[ nL12345 ].譜面情報.最大ランク[ (int) part ]; + } + if ( isFullCombo1 ^ isFullCombo2 ) + { + if ( isFullCombo1 ) return order; else return -order; + } + num = nSumPlayCountN2 - nSumPlayCountN1; + if ( num != 0 ) + { + return order * num; + } + return order * n1.strタイトル.CompareTo( n2.strタイトル ); + } ); + foreach ( C曲リストノード c曲リストノード in ノードリスト ) + { + int nSumPlayCountN1 = 0; + if ( c曲リストノード.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = c曲リストノード.arスコア[ nL12345 ].譜面情報.最大ランク[ (int) part ]; + } + Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストノード.strタイトル ); + } + } + } + public void t曲リストのソート6_SkillPoint順( List ノードリスト, E楽器パート part, int order, params object[] p ) + { + order = -order; + int nL12345 = (int) p[ 0 ]; + if ( part != E楽器パート.UNKNOWN ) + { + ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) + { + #region [ 共通処理 ] + if ( n1 == n2 ) + { + return 0; + } + int num = this.t比較0_共通( n1, n2 ); + if ( num != 0 ) + { + return order * num; + } + if ( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) + { + return order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); + } + #endregion + double nSumPlayCountN1 = 0, nSumPlayCountN2 = 0; + if ( n1.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = n1.arスコア[ nL12345 ].譜面情報.最大スキル[ (int) part ]; + } + if ( n2.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN2 = n2.arスコア[ nL12345 ].譜面情報.最大スキル[ (int) part ]; + } + double d = nSumPlayCountN2 - nSumPlayCountN1; + if ( d != 0 ) + { + return order * System.Math.Sign(d); + } + return order * n1.strタイトル.CompareTo( n2.strタイトル ); + } ); + foreach ( C曲リストノード c曲リストノード in ノードリスト ) + { + double nSumPlayCountN1 = 0; + if ( c曲リストノード.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = c曲リストノード.arスコア[ nL12345 ].譜面情報.最大スキル[ (int) part ]; + } + Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストノード.strタイトル ); + } + } + } + public void t曲リストのソート7_更新日時順( List ノードリスト, E楽器パート part, int order, params object[] p ) + { + int nL12345 = (int) p[ 0 ]; + if ( part != E楽器パート.UNKNOWN ) + { + ノードリスト.Sort( delegate( C曲リストノード n1, C曲リストノード n2 ) + { + #region [ 共通処理 ] + if ( n1 == n2 ) + { + return 0; + } + int num = this.t比較0_共通( n1, n2 ); + if ( num != 0 ) + { + return order * num; + } + if ( ( n1.eノード種別 == C曲リストノード.Eノード種別.BOX ) && ( n2.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) + { + return order * n1.arスコア[ 0 ].ファイル情報.フォルダの絶対パス.CompareTo( n2.arスコア[ 0 ].ファイル情報.フォルダの絶対パス ); + } + #endregion + DateTime nSumPlayCountN1 = DateTime.Parse("0001/01/01 12:00:01.000"); + DateTime nSumPlayCountN2 = DateTime.Parse("0001/01/01 12:00:01.000"); + if ( n1.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN1 = n1.arスコア[ nL12345 ].ファイル情報.最終更新日時; + } + if ( n2.arスコア[ nL12345 ] != null ) + { + nSumPlayCountN2 = n2.arスコア[ nL12345 ].ファイル情報.最終更新日時; + } + int d = nSumPlayCountN1.CompareTo(nSumPlayCountN2); + if ( d != 0 ) + { + return order * System.Math.Sign( d ); } - return n1.strタイトル.CompareTo( n2.strタイトル ); + return order * n1.strタイトル.CompareTo( n2.strタイトル ); } ); - foreach( C曲リストノード c曲リストノード in ノードリスト ) + foreach ( C曲リストノード c曲リストノード in ノードリスト ) { - if( ( c曲リストノード.list子リスト != null ) && ( c曲リストノード.list子リスト.Count > 1 ) ) + DateTime nSumPlayCountN1 = DateTime.Parse( "0001/01/01 12:00:01.000" ); + if ( c曲リストノード.arスコア[ nL12345 ] != null ) { - this.t曲リストのソート3_演奏回数の多い順( c曲リストノード.list子リスト, part ); + nSumPlayCountN1 = c曲リストノード.arスコア[ nL12345 ].ファイル情報.最終更新日時; } + Debug.WriteLine( nSumPlayCountN1 + ":" + c曲リストノード.strタイトル ); } } } diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs index 647a7c5b..d1f14a0d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs @@ -24,23 +24,23 @@ namespace DTXMania this.n現在選択中の曲の難易度 = CDTXMania.stage選曲.n現在選択中の曲の難易度; for( int i = 0; i < 3; i++ ) { - int num2 = cスコア.譜面情報.レベル[ i ]; - if( num2 < 0 ) + int nLevel = cスコア.譜面情報.レベル[ i ]; + if( nLevel < 0 ) { - num2 = 0; + nLevel = 0; } - if( num2 > 0x63 ) + if( nLevel > 99 ) { - num2 = 0x63; + nLevel = 99; } - this.n現在選択中の曲のレベル[ i ] = num2; + this.n現在選択中の曲のレベル[ i ] = nLevel; this.n現在選択中の曲の最高ランク[ i ] = cスコア.譜面情報.最大ランク[ i ]; this.b現在選択中の曲がフルコンボ[ i ] = cスコア.譜面情報.フルコンボ[ i ]; this.db現在選択中の曲の最高スキル値[ i ] = cスコア.譜面情報.最大スキル[ i ]; } - for( int j = 0; j < 5; j++ ) + for( int i = 0; i < 5; i++ ) { - this.str難易度ラベル[ j ] = c曲リストノード.ar難易度ラベル[ j ]; + this.str難易度ラベル[ i ] = c曲リストノード.ar難易度ラベル[ i ]; } if( this.r直前の曲 != c曲リストノード ) { @@ -61,7 +61,7 @@ namespace DTXMania for( int i = 0; i < 3; i++ ) { this.n現在選択中の曲のレベル[ i ] = 0; - this.n現在選択中の曲の最高ランク[ i ] = 99; + this.n現在選択中の曲の最高ランク[ i ] = (int)CScoreIni.ERANK.UNKNOWN; this.b現在選択中の曲がフルコンボ[ i ] = false; this.db現在選択中の曲の最高スキル値[ i ] = 0.0; } diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs index 3c13e012..8b064465 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs @@ -110,36 +110,73 @@ namespace DTXMania } public C曲リストノード r指定された曲が存在するリストの先頭の曲( C曲リストノード song ) { - if( song.r親ノード == null ) + List songList = GetSongListWithinMe( song ); + if ( songList == null ) { - if( ( CDTXMania.Songs管理.list曲ルート != null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) ) - { - return CDTXMania.Songs管理.list曲ルート[ 0 ]; - } return null; } - if( ( song.r親ノード.list子リスト != null ) && ( song.r親ノード.list子リスト.Count > 0 ) ) + else { - return song.r親ノード.list子リスト[ 0 ]; + return songList[ 0 ]; } - return null; + } public C曲リストノード r指定された曲が存在するリストの末尾の曲( C曲リストノード song ) { - if( song.r親ノード == null ) + List songList = GetSongListWithinMe( song ); + if ( songList == null ) + { + return null; + } + else + { + return songList[ songList.Count - 1 ]; + } + } + + private List GetSongListWithinMe( C曲リストノード song ) + { + if ( song.r親ノード == null ) // root階層のノートだったら + { + return CDTXMania.Songs管理.list曲ルート; // rootのリストを返す + } + else { - if( ( CDTXMania.Songs管理.list曲ルート != null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) ) + if ( ( song.r親ノード.list子リスト != null ) && ( song.r親ノード.list子リスト.Count > 0 ) ) { - return CDTXMania.Songs管理.list曲ルート[ CDTXMania.Songs管理.list曲ルート.Count - 1 ]; + return song.r親ノード.list子リスト; } - return null; + else + { + return null; + } + } + } + + + public delegate void DGSortFunc( List songList, E楽器パート eInst, int order, params object[] p); + /// + /// 主にCSong管理.cs内にあるソート機能を、delegateで呼び出す。 + /// + /// ソート用に呼び出すメソッド + /// ソート基準とする楽器 + /// -1=降順, 1=昇順 + public void t曲リストのソート( DGSortFunc sf, E楽器パート eInst, int order, params object[] p ) + { + List songList = GetSongListWithinMe( this.r現在選択中の曲 ); + if ( songList == null ) + { + // 何もしない; } - if( ( song.r親ノード.list子リスト != null ) && ( song.r親ノード.list子リスト.Count > 0 ) ) + else { - return song.r親ノード.list子リスト[ song.r親ノード.list子リスト.Count - 1 ]; +// CDTXMania.Songs管理.t曲リストのソート3_演奏回数の多い順( songList, eInst, order ); + sf( songList, eInst, order, p ); +// this.r現在選択中の曲 = CDTXMania + this.t現在選択中の曲を元に曲バーを再構成する(); } - return null; } + public void tBOXに入る() { if( ( this.r現在選択中の曲.list子リスト != null ) && ( this.r現在選択中の曲.list子リスト.Count > 0 ) ) diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs index d82e4459..a109748c 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs @@ -57,7 +57,6 @@ namespace DTXMania } } - // コンストラクタ public CStage選曲() { @@ -75,8 +74,10 @@ namespace DTXMania base.list子Activities.Add( this.actPresound = new CActSelectPresound() ); base.list子Activities.Add( this.actArtistComment = new CActSelectArtistComment() ); base.list子Activities.Add( this.actInformation = new CActSelectInformation() ); + base.list子Activities.Add( this.actSortSongs = new CActSortSongs() ); this.CommandHistory = new CCommandHistory(); // #24063 2011.1.16 yyagi +// this.actSortSongs.bIsActiveSortMenu = false; // #23615 2011.3.28 yyagi } @@ -134,7 +135,10 @@ namespace DTXMania { this.eフェードアウト完了時の戻り値 = E戻り値.継続; this.bBGM再生済み = false; -// this.n前回Bassを踏んだ時刻 = -1; + +// this.actSortSongs.bIsActiveSortMenu = false; + + // this.n前回Bassを踏んだ時刻 = -1; // this.n前回HHを叩いた時刻 = -1; // this.n前回ギターをPickした時刻 = -1; // this.n前回ベースをPickした時刻 = -1; @@ -297,194 +301,209 @@ namespace DTXMania } // キー入力 - if( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 && CDTXMania.act現在入力を占有中のプラグイン == null ) { - if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) || ( ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) && ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード == null ) ) ) ) - { // [ESC] - CDTXMania.Skin.sound取消音.t再生する(); - this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る; - this.actFIFO.tフェードアウト開始(); - base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - return 0; - } - if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) && - CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) ) - { // [SHIFT] + [F1] OPTION - this.actPresound.tサウンド停止(); -// this.eフェードアウト完了時の戻り値 = E戻り値.オプション呼び出し; - this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し - this.actFIFO.tフェードアウト開始(); - base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - CDTXMania.Skin.sound取消音.t再生する(); - return 0; - } - // #24525 2011.3.16 yyagi: [SHIFT]+[F2]は廃止(将来発生するかもしれない別用途のためにキープ) -/* - if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) && - CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F2 ) ) - { // [SHIFT] + [F2] CONFIGURATION - this.actPresound.tサウンド停止(); - this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; - this.actFIFO.tフェードアウト開始(); - base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - CDTXMania.Skin.sound取消音.t再生する(); - return 0; - } -*/ - if( this.act曲リスト.r現在選択中の曲 != null ) + if ( !this.actSortSongs.bIsActiveSortMenu ) { - if( ( CDTXMania.Pad.b押されたDGB( Eパッド.Decide ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || - ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Return ) ) ) ) - { - CDTXMania.Skin.sound決定音.t再生する(); - if( this.act曲リスト.r現在選択中の曲 != null ) - { - switch( this.act曲リスト.r現在選択中の曲.eノード種別 ) - { - case C曲リストノード.Eノード種別.SCORE: - this.t曲を選択する(); - break; - - case C曲リストノード.Eノード種別.SCORE_MIDI: - this.t曲を選択する(); - break; - - case C曲リストノード.Eノード種別.BOX: - this.act曲リスト.tBOXに入る(); - break; - - case C曲リストノード.Eノード種別.BACKBOX: - this.act曲リスト.tBOXを出る(); - break; - - case C曲リストノード.Eノード種別.RANDOM: - this.t曲をランダム選択する(); - break; - } - } - } - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) - { - this.tカーソルを上へ移動する(); - } - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) - { - this.tカーソルを下へ移動する(); + if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || ( ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) && ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード == null ) ) ) ) + { // [ESC] + CDTXMania.Skin.sound取消音.t再生する(); + this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る; + this.actFIFO.tフェードアウト開始(); + base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; + return 0; } - if( ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード != null ) ) && ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) ) - { + if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) && + CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) ) + { // [SHIFT] + [F1] OPTION this.actPresound.tサウンド停止(); + // this.eフェードアウト完了時の戻り値 = E戻り値.オプション呼び出し; + this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し + this.actFIFO.tフェードアウト開始(); + base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; CDTXMania.Skin.sound取消音.t再生する(); - this.act曲リスト.tBOXを出る(); - this.t選択曲変更通知(); + return 0; } - if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.BD ) ) - { // [BD]x2 スクロール速度変更 - CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.BD ); - EパッドFlag[] comChangeScrollSpeed = new EパッドFlag[ 2 ] { EパッドFlag.BD, EパッドFlag.BD }; - if ( CommandHistory.CheckCommand( comChangeScrollSpeed, E楽器パート.DRUMS ) ) + // #24525 2011.3.16 yyagi: [SHIFT]+[F2]は廃止(将来発生するかもしれない別用途のためにキープ) + /* + if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) && + CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F2 ) ) + { // [SHIFT] + [F2] CONFIGURATION + this.actPresound.tサウンド停止(); + this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; + this.actFIFO.tフェードアウト開始(); + base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; + CDTXMania.Skin.sound取消音.t再生する(); + return 0; + } + */ + if ( this.act曲リスト.r現在選択中の曲 != null ) + { + if ( ( CDTXMania.Pad.b押されたDGB( Eパッド.Decide ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || + ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) { -Debug.WriteLine( "ドラムススクロール速度変更" ); - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ) % 0x10; - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.Skin.sound決定音.t再生する(); + if ( this.act曲リスト.r現在選択中の曲 != null ) + { + switch ( this.act曲リスト.r現在選択中の曲.eノード種別 ) + { + case C曲リストノード.Eノード種別.SCORE: + this.t曲を選択する(); + break; + + case C曲リストノード.Eノード種別.SCORE_MIDI: + this.t曲を選択する(); + break; + + case C曲リストノード.Eノード種別.BOX: + this.act曲リスト.tBOXに入る(); + break; + + case C曲リストノード.Eノード種別.BACKBOX: + this.act曲リスト.tBOXを出る(); + break; + + case C曲リストノード.Eノード種別.RANDOM: + this.t曲をランダム選択する(); + break; + } + } } - } - if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HH ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HHO ) ) - { // [HH]x2 難易度変更 - CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH ); - EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.HH, EパッドFlag.HH }; - if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) ) + this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) { -Debug.WriteLine( "ドラムス難易度変更" ); - this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + this.tカーソルを上へ移動する(); } - } - if( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && - { // [G] + [Pick][Pick] ギター難易度変更 - CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick | EパッドFlag.G ); - EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; - if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.GUITAR ) ) + this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) { -Debug.WriteLine( "ギター難易度変更" ); - this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + this.tカーソルを下へ移動する(); } - } - if( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && - { // [G] + [Pick][Pick] ベース難易度変更 - CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick | EパッドFlag.G); - EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; - if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.BASS ) ) + if ( ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード != null ) ) && ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) ) { -Debug.WriteLine( "ベース難易度変更" ); - this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + this.actPresound.tサウンド停止(); + CDTXMania.Skin.sound取消音.t再生する(); + this.act曲リスト.tBOXを出る(); + this.t選択曲変更通知(); + } + if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.BD ) ) + { // [BD]x2 スクロール速度変更 + CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.BD ); + EパッドFlag[] comChangeScrollSpeed = new EパッドFlag[ 2 ] { EパッドFlag.BD, EパッドFlag.BD }; + if ( CommandHistory.CheckCommand( comChangeScrollSpeed, E楽器パート.DRUMS ) ) + { + Debug.WriteLine( "ドラムススクロール速度変更" ); + CDTXMania.ConfigIni.n譜面スクロール速度.Drums = ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ) % 0x10; + CDTXMania.Skin.sound変更音.t再生する(); + } + } + if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HH ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HHO ) ) + { // [HH]x2 難易度変更 + CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH ); + EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.HH, EパッドFlag.HH }; + if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) ) + { + Debug.WriteLine( "ドラムス難易度変更" ); + this.act曲リスト.t難易度レベルをひとつ進める(); + CDTXMania.Skin.sound変更音.t再生する(); + } + } + if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && + { // [G] + [Pick][Pick] ギター難易度変更 + CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick | EパッドFlag.G ); + EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; + if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.GUITAR ) ) + { + Debug.WriteLine( "ギター難易度変更" ); + this.act曲リスト.t難易度レベルをひとつ進める(); + CDTXMania.Skin.sound変更音.t再生する(); + } + } + if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && + { // [G] + [Pick][Pick] ベース難易度変更 + CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick | EパッドFlag.G ); + EパッドFlag[] comChangeDifficulty = new EパッドFlag[ 2 ] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; + if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.BASS ) ) + { + Debug.WriteLine( "ベース難易度変更" ); + this.act曲リスト.t難易度レベルをひとつ進める(); + CDTXMania.Skin.sound変更音.t再生する(); + } } - } - if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) - { // ギター[Pick]: コマンドとしてEnqueue - CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick ); - // Pick, G, G, Pick で、ギターとベースを入れ替え - EパッドFlag[] comSwapGtBs = new EパッドFlag[ 4 ] { EパッドFlag.Pick, EパッドFlag.G, EパッドFlag.G, EパッドFlag.Pick }; - if ( CommandHistory.CheckCommand( comSwapGtBs, E楽器パート.GUITAR ) ) - { -Debug.WriteLine( "ギターとベースの入れ替え1" ); - CDTXMania.Skin.sound変更音.t再生する(); - // ギターとベースのキーを入れ替え - //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); - CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) + { // ギター[Pick]: コマンドとしてEnqueue + CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick ); + // Pick, G, G, Pick で、ギターとベースを入れ替え + EパッドFlag[] comSwapGtBs = new EパッドFlag[ 4 ] { EパッドFlag.Pick, EパッドFlag.G, EパッドFlag.G, EパッドFlag.Pick }; + if ( CommandHistory.CheckCommand( comSwapGtBs, E楽器パート.GUITAR ) ) + { + Debug.WriteLine( "ギターとベースの入れ替え1" ); + CDTXMania.Skin.sound変更音.t再生する(); + // ギターとベースのキーを入れ替え + //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); + CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + } } - } - if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) - { // ベース[Pick]: コマンドとしてEnqueue - CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick); - // Pick, G, G, Pick で、ギターとベースを入れ替え - EパッドFlag[] comSwapGtBs = new EパッドFlag[ 4 ] { EパッドFlag.Pick, EパッドFlag.G, EパッドFlag.G, EパッドFlag.Pick }; - if ( CommandHistory.CheckCommand( comSwapGtBs, E楽器パート.BASS ) ) - { -Debug.WriteLine( "ギターとベースの入れ替え2" ); - CDTXMania.Skin.sound変更音.t再生する(); - // ギターとベースのキーを入れ替え - //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); - CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) + { // ベース[Pick]: コマンドとしてEnqueue + CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick ); + // Pick, G, G, Pick で、ギターとベースを入れ替え + EパッドFlag[] comSwapGtBs = new EパッドFlag[ 4 ] { EパッドFlag.Pick, EパッドFlag.G, EパッドFlag.G, EパッドFlag.Pick }; + if ( CommandHistory.CheckCommand( comSwapGtBs, E楽器パート.BASS ) ) + { + Debug.WriteLine( "ギターとベースの入れ替え2" ); + CDTXMania.Skin.sound変更音.t再生する(); + // ギターとベースのキーを入れ替え + //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); + CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + } } - } - if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.G ) ) - { // ギター[G]: コマンドとしてEnqueue - CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.G ); - } - if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.G ) ) - { // ベース[G]: コマンドとしてEnqueue - CommandHistory.Add( E楽器パート.BASS, EパッドFlag.G); - } - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HT ) ) - { // [HT]x2 未使用 - // - CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HT ); - EパッドFlag[] comSort = new EパッドFlag[ 2 ] { EパッドFlag.BD, EパッドFlag.HT }; - if ( CommandHistory.CheckCommand( comSort, E楽器パート.DRUMS ) ) - { -Debug.WriteLine( "ソート画面発動" ); - -// if( ( this.n前回HTを叩いた時刻 != -1 ) && ( ( CDTXMania.Timer.n現在時刻 - this.n前回HTを叩いた時刻 ) < 400 ) ) -// { -// this.n前回HTを叩いた時刻 = -1; -// } -// else -// { -// this.n前回HTを叩いた時刻 = CDTXMania.Timer.n現在時刻; -// } + if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.G ) ) + { // ギター[G]: コマンドとしてEnqueue + CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.G ); + // ギター G, G, G で、ソート画面に遷移 + EパッドFlag[] comSortGt = new EパッドFlag[ 3 ] { EパッドFlag.G, EパッドFlag.G, EパッドFlag.G }; + if ( CommandHistory.CheckCommand( comSortGt, E楽器パート.GUITAR ) ) + { + CDTXMania.Skin.sound変更音.t再生する(); + Debug.WriteLine( "ソート画面発動(gt)" ); + //this.actSortSongs.bIsActiveSortMenu = !this.actSortSongs.bIsActiveSortMenu; + this.actSortSongs.tActivateSortMenu( ref this.act曲リスト ); + } + } + if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.G ) ) + { // ベース[G]: コマンドとしてEnqueue + CommandHistory.Add( E楽器パート.BASS, EパッドFlag.G ); + // ベース G, G, G で、ソート画面に遷移 + EパッドFlag[] comSortBs = new EパッドFlag[ 3 ] { EパッドFlag.G, EパッドFlag.G, EパッドFlag.G }; + if ( CommandHistory.CheckCommand( comSortBs, E楽器パート.BASS ) ) + { + CDTXMania.Skin.sound変更音.t再生する(); + Debug.WriteLine( "ソート画面発動(gt)" ); + //this.actSortSongs.bIsActiveSortMenu = !this.actSortSongs.bIsActiveSortMenu; + this.actSortSongs.tActivateSortMenu( ref this.act曲リスト ); + } + } + if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HT ) ) + { // [BD]+[HT] 未使用 + // + CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HT ); + EパッドFlag[] comSort = new EパッドFlag[ 2 ] { EパッドFlag.BD, EパッドFlag.HT }; + if ( CommandHistory.CheckCommand( comSort, E楽器パート.DRUMS ) ) + { + CDTXMania.Skin.sound変更音.t再生する(); + Debug.WriteLine( "ソート画面発動(dr)" ); + //this.actSortSongs.bIsActiveSortMenu = !this.actSortSongs.bIsActiveSortMenu; + this.actSortSongs.tActivateSortMenu( ref this.act曲リスト ); + } } } } + this.actSortSongs.t進行描画( this.actSortSongs.bIsActiveSortMenu ); } } return 0; @@ -565,6 +584,9 @@ Debug.WriteLine( "ソート画面発動" ); private CActSelectステータスパネル actステータスパネル; private CActSelect演奏履歴パネル act演奏履歴パネル; private CActSelect曲リスト act曲リスト; + + private CActSortSongs actSortSongs; + private bool bBGM再生済み; private STキー反復用カウンタ ctキー反復用; private CCounter ct登場時アニメ用共通; diff --git a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs index 37655857..314a6352 100644 --- a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs +++ b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs @@ -270,12 +270,12 @@ namespace DTXMania case CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ: { - long num2 = CDTXMania.Timer.n現在時刻; + long nCurrentTime = CDTXMania.Timer.n現在時刻; - if( num2 < this.nBGM再生開始時刻 ) - this.nBGM再生開始時刻 = num2; + if( nCurrentTime < this.nBGM再生開始時刻 ) + this.nBGM再生開始時刻 = nCurrentTime; - if( ( num2 - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 0x3e8 ) ) + if( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) ) { this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs index d2b3c73d..f9c2167e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs @@ -377,7 +377,8 @@ namespace DTXMania return (int) this.eフェードアウト完了時の戻り値; } #region [ #24609 ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ] - if ( this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false ) // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. + if ( this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. + && CDTXMania.ConfigIni.bScoreIniを出力する) { // http://www.gamedev.net/topic/594369-dx9slimdxati-incorrect-saving-surface-to-file/ using ( Surface pSurface = CDTXMania.app.Device.GetRenderTarget( 0 ) ) diff --git a/DTXManiaプロジェクト/コード/全体/Program.cs b/DTXManiaプロジェクト/コード/全体/Program.cs index 080aca4b..c61d02da 100644 --- a/DTXManiaプロジェクト/コード/全体/Program.cs +++ b/DTXManiaプロジェクト/コード/全体/Program.cs @@ -76,10 +76,10 @@ namespace DTXMania #endregion if (!flag) { -//#if TEST_ENGLISH -// Thread.CurrentThread.CurrentCulture = new CultureInfo( "en-US" ); -//#endif - +#if DEBUG && TEST_ENGLISH + Thread.CurrentThread.CurrentCulture = new CultureInfo( "en-US" ); +#endif + // turn off Aero Glass // try // { -- 2.11.0