From: yyagi Date: Thu, 3 Mar 2011 16:41:46 +0000 (+0000) Subject: #23670 エラー発生時強制終了する前に例外の内容をダイアログ表示するようにした。 X-Git-Tag: Release099f~397 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=f296bd6fa7b0378fe509ce3711d011dbf7051783;p=dtxmania%2Fdtxmania.git #23670 エラー発生時強制終了する前に例外の内容をダイアログ表示するようにした。 #24415 FLIP問題再修正。 #24459 HiScore/HiSkillとは別に、最高ランクを独立して残すよう修正 #24569 AUTO演奏楽器を含む場合の総合リザルトの値を修正。(現状の動作が仕様であるならば、後日元に戻します) (未起票) リファクタに伴い空打ちチップ使用でエラーになっていたのを修正。 git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@128 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs b/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs index d2739d22..bb05aa8f 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs @@ -1524,16 +1524,15 @@ namespace DTXMania #endif this.db再生速度 = 1.0; this.strハッシュofDTXファイル = ""; - STチップがある stチップがある = new STチップがある(); - stチップがある.Drums = false; - stチップがある.Guitar = false; - stチップがある.Bass = false; - stチップがある.HHOpen = false; - stチップがある.Ride = false; - stチップがある.LeftCymbal = false; - stチップがある.OpenGuitar = false; - stチップがある.OpenBass = false; - this.bチップがある = stチップがある; + this.bチップがある = new STチップがある(); + this.bチップがある.Drums = false; + this.bチップがある.Guitar = false; + this.bチップがある.Bass = false; + this.bチップがある.HHOpen = false; + this.bチップがある.Ride = false; + this.bチップがある.LeftCymbal = false; + this.bチップがある.OpenGuitar = false; + this.bチップがある.OpenBass = false; this.strファイル名 = ""; this.strフォルダ名 = ""; this.strファイル名の絶対パス = ""; @@ -2928,7 +2927,8 @@ namespace DTXMania { this.strハッシュofDTXファイル = "00000000000000000000000000000000"; } - if( CDTXMania.ConfigIni.bLogDTX詳細ログ出力 ) + #region [ bLogDTX詳細ログ出力 ] + if ( CDTXMania.ConfigIni.bLogDTX詳細ログ出力 ) { foreach( CWAV cwav3 in this.listWAV.Values ) { @@ -2967,6 +2967,7 @@ namespace DTXMania Trace.TraceInformation( chip14.ToString() ); } } + #endregion } } } @@ -3002,14 +3003,14 @@ namespace DTXMania // SwapGuitarBassInfos_AutoFlags(); } - //public void SwapGuitarBassInfos_AutoFlags() - //{ - // bool ts = CDTXMania.ConfigIni.bAutoPlay.Bass; // #24415 2011.2.21 yyagi: FLIP時のリザルトにAUTOの記録が混ざらないよう、AUTOのフラグもswapする - // CDTXMania.ConfigIni.bAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Guitar; - // CDTXMania.ConfigIni.bAutoPlay.Guitar = ts; - - // CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped; - //} + public void SwapGuitarBassInfos_AutoFlags() + { + bool ts = CDTXMania.ConfigIni.bAutoPlay.Bass; // #24415 2011.2.21 yyagi: FLIP時のリザルトにAUTOの記録が混ざらないよう、AUTOのフラグもswapする + CDTXMania.ConfigIni.bAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Guitar; + CDTXMania.ConfigIni.bAutoPlay.Guitar = ts; + + CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped; + } // CActivity 実装 diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs b/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs index 2836421e..b6eca3e2 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs @@ -30,7 +30,9 @@ namespace DTXMania public int ClearCountDrums; public int ClearCountGuitar; public int ClearCountBass; - // --------------------------------/ + // #24459 2011.2.24 yyagi----------/ + public STDGBVALUE BestRank; + // --------------------------------/ public int HistoryCount; public string[] History; public int BGMAdjust; @@ -141,10 +143,21 @@ namespace DTXMania HiScoreGuitar = 2, HiSkillGuitar = 3, HiScoreBass = 4, - HiSkillBass = 5, - LastPlayDrums = 6, // #23595 2011.1.9 ikanick - LastPlayGuitar = 7, // - LastPlayBass = 8, // + HiSkillBass = 5, + LastPlayDrums = 6, // #23595 2011.1.9 ikanick + LastPlayGuitar = 7, // + LastPlayBass = 8, // + } + public enum ERANK : int // #24459 yyagi + { + SS = 0, + S = 1, + A = 2, + B = 3, + C = 4, + D = 5, + E = 6, + UNKNOWN = 99 } public class C演奏記録 { @@ -184,6 +197,11 @@ namespace DTXMania public int nPerfect数; public int nPoorになる範囲ms; public int nPoor数; + public int nPerfect数・Auto含まない; + public int nGreat数・Auto含まない; + public int nGood数・Auto含まない; + public int nPoor数・Auto含まない; + public int nMiss数・Auto含まない; public long nスコア; public int n演奏速度分子; public int n演奏速度分母; @@ -393,13 +411,16 @@ namespace DTXMania { this.iniファイルのあるフォルダ名 = null; this.iniファイル名 = null; - STファイル stファイル = new STファイル(); + this.stファイル = new STファイル(); stファイル.Title = ""; stファイル.Name = ""; stファイル.Hash = ""; stファイル.History = new string[] { "", "", "", "", "" }; - this.stファイル = stファイル; - STセクション stセクション = new STセクション(); + stファイル.BestRank.Drums = (int)ERANK.UNKNOWN; // #24459 2011.2.24 yyagi + stファイル.BestRank.Guitar = (int)ERANK.UNKNOWN; // + stファイル.BestRank.Bass = (int)ERANK.UNKNOWN; // + + this.stセクション = new STセクション(); stセクション.HiScoreDrums = new C演奏記録(); stセクション.HiSkillDrums = new C演奏記録(); stセクション.HiScoreGuitar = new C演奏記録(); @@ -409,7 +430,6 @@ namespace DTXMania stセクション.LastPlayDrums = new C演奏記録(); stセクション.LastPlayGuitar = new C演奏記録(); stセクション.LastPlayBass = new C演奏記録(); - this.stセクション = stセクション; } /// @@ -479,8 +499,8 @@ namespace DTXMania { try { - string str3; - string str4; + string item; + string para; C演奏記録 c演奏記録; if( str[ 0 ] == '[' ) { @@ -543,17 +563,17 @@ namespace DTXMania string[] strArray = str.Split( new char[] { '=' } ); if( strArray.Length == 2 ) { - str3 = strArray[ 0 ].Trim(); - str4 = strArray[ 1 ].Trim(); + item = strArray[ 0 ].Trim(); + para = strArray[ 1 ].Trim(); switch( unknown ) { case Eセクション種別.File: { - if( !str3.Equals( "Title" ) ) + if( !item.Equals( "Title" ) ) { goto Label_01C7; } - this.stファイル.Title = str4; + this.stファイル.Title = para; continue; } case Eセクション種別.HiScoreDrums: @@ -567,11 +587,11 @@ namespace DTXMania case Eセクション種別.LastPlayBass: { c演奏記録 = this.stセクション[ (int) unknown ]; - if( !str3.Equals( "Score" ) ) + if( !item.Equals( "Score" ) ) { goto Label_03B9; } - c演奏記録.nスコア = long.Parse( str4 ); + c演奏記録.nスコア = long.Parse( para ); continue; } } @@ -579,168 +599,181 @@ namespace DTXMania } continue; Label_01C7: - if( str3.Equals( "Name" ) ) + if( item.Equals( "Name" ) ) { - this.stファイル.Name = str4; + this.stファイル.Name = para; } - else if( str3.Equals( "Hash" ) ) + else if( item.Equals( "Hash" ) ) { - this.stファイル.Hash = str4; + this.stファイル.Hash = para; } - else if( str3.Equals( "PlayCountDrums" ) ) + else if( item.Equals( "PlayCountDrums" ) ) { - this.stファイル.PlayCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 ); + this.stファイル.PlayCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 ); } - else if( str3.Equals( "PlayCountGuitars" ) )// #23596 11.2.5 changed ikanick + else if( item.Equals( "PlayCountGuitars" ) )// #23596 11.2.5 changed ikanick { - this.stファイル.PlayCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 ); + this.stファイル.PlayCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 ); } - else if( str3.Equals( "PlayCountBass" ) ) + else if( item.Equals( "PlayCountBass" ) ) { - this.stファイル.PlayCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 ); + this.stファイル.PlayCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 ); } // #23596 10.11.16 add ikanick------------------------------------/ - else if (str3.Equals("ClearCountDrums")) + else if (item.Equals("ClearCountDrums")) { - this.stファイル.ClearCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0); + this.stファイル.ClearCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0); } - else if (str3.Equals("ClearCountGuitars"))// #23596 11.2.5 changed ikanick + else if (item.Equals("ClearCountGuitars"))// #23596 11.2.5 changed ikanick { - this.stファイル.ClearCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0); + this.stファイル.ClearCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0); } - else if (str3.Equals("ClearCountBass")) + else if (item.Equals("ClearCountBass")) { - this.stファイル.ClearCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0); + this.stファイル.ClearCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0); } - //----------------------------------------------------------------/ - else if( str3.Equals( "History0" ) ) + // #24459 2011.2.24 yyagi-----------------------------------------/ + else if ( item.Equals( "BestRankDrums" ) ) + { + this.stファイル.BestRank.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN ); + } + else if ( item.Equals( "BestRankGuitar" ) ) + { + this.stファイル.BestRank.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN ); + } + else if ( item.Equals( "BestRankBass" ) ) + { + this.stファイル.BestRank.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN ); + } + //----------------------------------------------------------------/ + else if ( item.Equals( "History0" ) ) { - this.stファイル.History[ 0 ] = str4; + this.stファイル.History[ 0 ] = para; } - else if( str3.Equals( "History1" ) ) + else if( item.Equals( "History1" ) ) { - this.stファイル.History[ 1 ] = str4; + this.stファイル.History[ 1 ] = para; } - else if( str3.Equals( "History2" ) ) + else if( item.Equals( "History2" ) ) { - this.stファイル.History[ 2 ] = str4; + this.stファイル.History[ 2 ] = para; } - else if( str3.Equals( "History3" ) ) + else if( item.Equals( "History3" ) ) { - this.stファイル.History[ 3 ] = str4; + this.stファイル.History[ 3 ] = para; } - else if( str3.Equals( "History4" ) ) + else if( item.Equals( "History4" ) ) { - this.stファイル.History[ 4 ] = str4; + this.stファイル.History[ 4 ] = para; } - else if( str3.Equals( "HistoryCount" ) ) + else if( item.Equals( "HistoryCount" ) ) { - this.stファイル.HistoryCount = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 ); + this.stファイル.HistoryCount = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 ); } - else if( str3.Equals( "BGMAdjust" ) ) + else if( item.Equals( "BGMAdjust" ) ) { - this.stファイル.BGMAdjust = C変換.n値を文字列から取得して返す( str4, 0 ); + this.stファイル.BGMAdjust = C変換.n値を文字列から取得して返す( para, 0 ); } continue; Label_03B9: - if( str3.Equals( "PlaySkill" ) ) + if( item.Equals( "PlaySkill" ) ) { - c演奏記録.db演奏型スキル値 = (double) decimal.Parse( str4 ); + c演奏記録.db演奏型スキル値 = (double) decimal.Parse( para ); } - else if( str3.Equals( "Skill" ) ) + else if( item.Equals( "Skill" ) ) { - c演奏記録.dbゲーム型スキル値 = (double) decimal.Parse( str4 ); + c演奏記録.dbゲーム型スキル値 = (double) decimal.Parse( para ); } - else if( str3.Equals( "Perfect" ) ) + else if( item.Equals( "Perfect" ) ) { - c演奏記録.nPerfect数 = int.Parse( str4 ); + c演奏記録.nPerfect数 = int.Parse( para ); } - else if( str3.Equals( "Great" ) ) + else if( item.Equals( "Great" ) ) { - c演奏記録.nGreat数 = int.Parse( str4 ); + c演奏記録.nGreat数 = int.Parse( para ); } - else if( str3.Equals( "Good" ) ) + else if( item.Equals( "Good" ) ) { - c演奏記録.nGood数 = int.Parse( str4 ); + c演奏記録.nGood数 = int.Parse( para ); } - else if( str3.Equals( "Poor" ) ) + else if( item.Equals( "Poor" ) ) { - c演奏記録.nPoor数 = int.Parse( str4 ); + c演奏記録.nPoor数 = int.Parse( para ); } - else if( str3.Equals( "Miss" ) ) + else if( item.Equals( "Miss" ) ) { - c演奏記録.nMiss数 = int.Parse( str4 ); + c演奏記録.nMiss数 = int.Parse( para ); } - else if( str3.Equals( "MaxCombo" ) ) + else if( item.Equals( "MaxCombo" ) ) { - c演奏記録.n最大コンボ数 = int.Parse( str4 ); + c演奏記録.n最大コンボ数 = int.Parse( para ); } - else if( str3.Equals( "TotalChips" ) ) + else if( item.Equals( "TotalChips" ) ) { - c演奏記録.n全チップ数 = int.Parse( str4 ); + c演奏記録.n全チップ数 = int.Parse( para ); } - else if( str3.Equals( "AutoPlay" ) ) + else if( item.Equals( "AutoPlay" ) ) { - if( str4.Length == 9 ) + if( para.Length == 9 ) { for( int i = 0; i < 9; i++ ) { - c演奏記録.bAutoPlay[ i ] = this.ONorOFF( str4[ i ] ); + c演奏記録.bAutoPlay[ i ] = this.ONorOFF( para[ i ] ); } } - else if( str4.Length == 10 ) + else if( para.Length == 10 ) { for( int j = 0; j < 10; j++ ) { - c演奏記録.bAutoPlay[ j ] = this.ONorOFF( str4[ j ] ); + c演奏記録.bAutoPlay[ j ] = this.ONorOFF( para[ j ] ); } } } - else if( str3.Equals( "TightDrums" ) ) + else if( item.Equals( "TightDrums" ) ) { - c演奏記録.bTight = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bTight = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "SuddenDrums" ) ) + else if( item.Equals( "SuddenDrums" ) ) { - c演奏記録.bSudden.Drums = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bSudden.Drums = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "SuddenGuitar" ) ) + else if( item.Equals( "SuddenGuitar" ) ) { - c演奏記録.bSudden.Guitar = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bSudden.Guitar = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "SuddenBass" ) ) + else if( item.Equals( "SuddenBass" ) ) { - c演奏記録.bSudden.Bass = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bSudden.Bass = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "HiddenDrums" ) ) + else if( item.Equals( "HiddenDrums" ) ) { - c演奏記録.bHidden.Drums = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bHidden.Drums = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "HiddenGuitar" ) ) + else if( item.Equals( "HiddenGuitar" ) ) { - c演奏記録.bHidden.Guitar = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bHidden.Guitar = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "HiddenBass" ) ) + else if( item.Equals( "HiddenBass" ) ) { - c演奏記録.bHidden.Bass = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bHidden.Bass = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "ReverseDrums" ) ) + else if( item.Equals( "ReverseDrums" ) ) { - c演奏記録.bReverse.Drums = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bReverse.Drums = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "ReverseGuitar" ) ) + else if( item.Equals( "ReverseGuitar" ) ) { - c演奏記録.bReverse.Guitar = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bReverse.Guitar = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "ReverseBass" ) ) + else if( item.Equals( "ReverseBass" ) ) { - c演奏記録.bReverse.Bass = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bReverse.Bass = C変換.bONorOFF( para[ 0 ] ); } else { - if( str3.Equals( "RandomGuitar" ) ) + if( item.Equals( "RandomGuitar" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -760,9 +793,9 @@ namespace DTXMania } throw new Exception( "RandomGuitar の値が無効です。" ); } - if( str3.Equals( "RandomBass" ) ) + if( item.Equals( "RandomBass" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -782,27 +815,27 @@ namespace DTXMania } throw new Exception( "RandomBass の値が無効です。" ); } - if( str3.Equals( "LightGuitar" ) ) + if( item.Equals( "LightGuitar" ) ) { - c演奏記録.bLight.Guitar = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bLight.Guitar = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "LightBass" ) ) + else if( item.Equals( "LightBass" ) ) { - c演奏記録.bLight.Bass = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bLight.Bass = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "LeftGuitar" ) ) + else if( item.Equals( "LeftGuitar" ) ) { - c演奏記録.bLeft.Guitar = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bLeft.Guitar = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "LeftBass" ) ) + else if( item.Equals( "LeftBass" ) ) { - c演奏記録.bLeft.Bass = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bLeft.Bass = C変換.bONorOFF( para[ 0 ] ); } else { - if( str3.Equals( "Dark" ) ) + if( item.Equals( "Dark" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -822,21 +855,21 @@ namespace DTXMania } throw new Exception( "Dark の値が無効です。" ); } - if( str3.Equals( "ScrollSpeedDrums" ) ) + if( item.Equals( "ScrollSpeedDrums" ) ) { - c演奏記録.f譜面スクロール速度.Drums = (float) decimal.Parse( str4 ); + c演奏記録.f譜面スクロール速度.Drums = (float) decimal.Parse( para ); } - else if( str3.Equals( "ScrollSpeedGuitar" ) ) + else if( item.Equals( "ScrollSpeedGuitar" ) ) { - c演奏記録.f譜面スクロール速度.Guitar = (float) decimal.Parse( str4 ); + c演奏記録.f譜面スクロール速度.Guitar = (float) decimal.Parse( para ); } - else if( str3.Equals( "ScrollSpeedBass" ) ) + else if( item.Equals( "ScrollSpeedBass" ) ) { - c演奏記録.f譜面スクロール速度.Bass = (float) decimal.Parse( str4 ); + c演奏記録.f譜面スクロール速度.Bass = (float) decimal.Parse( para ); } - else if( str3.Equals( "PlaySpeed" ) ) + else if( item.Equals( "PlaySpeed" ) ) { - string[] strArray2 = str4.Split( new char[] { '/' } ); + string[] strArray2 = para.Split( new char[] { '/' } ); if( strArray2.Length == 2 ) { c演奏記録.n演奏速度分子 = int.Parse( strArray2[ 0 ] ); @@ -845,9 +878,9 @@ namespace DTXMania } else { - if( str3.Equals( "HHGroup" ) ) + if( item.Equals( "HHGroup" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -872,9 +905,9 @@ namespace DTXMania } throw new Exception( "HHGroup の値が無効です。" ); } - if( str3.Equals( "FTGroup" ) ) + if( item.Equals( "FTGroup" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -889,9 +922,9 @@ namespace DTXMania } throw new Exception( "FTGroup の値が無効です。" ); } - if( str3.Equals( "CYGroup" ) ) + if( item.Equals( "CYGroup" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -906,9 +939,9 @@ namespace DTXMania } throw new Exception( "CYGroup の値が無効です。" ); } - if( str3.Equals( "HitSoundPriorityHH" ) ) + if( item.Equals( "HitSoundPriorityHH" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -923,9 +956,9 @@ namespace DTXMania } throw new Exception( "HitSoundPriorityHH の値が無効です。" ); } - if( str3.Equals( "HitSoundPriorityFT" ) ) + if( item.Equals( "HitSoundPriorityFT" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -940,9 +973,9 @@ namespace DTXMania } throw new Exception( "HitSoundPriorityFT の値が無効です。" ); } - if( str3.Equals( "HitSoundPriorityCY" ) ) + if( item.Equals( "HitSoundPriorityCY" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -957,23 +990,23 @@ namespace DTXMania } throw new Exception( "HitSoundPriorityCY の値が無効です。" ); } - if( str3.Equals( "Guitar" ) ) + if( item.Equals( "Guitar" ) ) { - c演奏記録.bGuitar有効 = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bGuitar有効 = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "Drums" ) ) + else if( item.Equals( "Drums" ) ) { - c演奏記録.bDrums有効 = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bDrums有効 = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "StageFailed" ) ) + else if( item.Equals( "StageFailed" ) ) { - c演奏記録.bSTAGEFAILED有効 = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.bSTAGEFAILED有効 = C変換.bONorOFF( para[ 0 ] ); } else { - if( str3.Equals( "DamageLevel" ) ) + if( item.Equals( "DamageLevel" ) ) { - switch( int.Parse( str4 ) ) + switch( int.Parse( para ) ) { case 0: { @@ -993,53 +1026,53 @@ namespace DTXMania } throw new Exception( "DamageLevel の値が無効です。" ); } - if( str3.Equals( "UseKeyboard" ) ) + if( item.Equals( "UseKeyboard" ) ) { - c演奏記録.b演奏にキーボードを使用した = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.b演奏にキーボードを使用した = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "UseMIDIIN" ) ) + else if( item.Equals( "UseMIDIIN" ) ) { - c演奏記録.b演奏にMIDI入力を使用した = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.b演奏にMIDI入力を使用した = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "UseJoypad" ) ) + else if( item.Equals( "UseJoypad" ) ) { - c演奏記録.b演奏にジョイパッドを使用した = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.b演奏にジョイパッドを使用した = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "UseMouse" ) ) + else if( item.Equals( "UseMouse" ) ) { - c演奏記録.b演奏にマウスを使用した = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.b演奏にマウスを使用した = C変換.bONorOFF( para[ 0 ] ); } - else if( str3.Equals( "PerfectRange" ) ) + else if( item.Equals( "PerfectRange" ) ) { - c演奏記録.nPerfectになる範囲ms = int.Parse( str4 ); + c演奏記録.nPerfectになる範囲ms = int.Parse( para ); } - else if( str3.Equals( "GreatRange" ) ) + else if( item.Equals( "GreatRange" ) ) { - c演奏記録.nGreatになる範囲ms = int.Parse( str4 ); + c演奏記録.nGreatになる範囲ms = int.Parse( para ); } - else if( str3.Equals( "GoodRange" ) ) + else if( item.Equals( "GoodRange" ) ) { - c演奏記録.nGoodになる範囲ms = int.Parse( str4 ); + c演奏記録.nGoodになる範囲ms = int.Parse( para ); } - else if( str3.Equals( "PoorRange" ) ) + else if( item.Equals( "PoorRange" ) ) { - c演奏記録.nPoorになる範囲ms = int.Parse( str4 ); + c演奏記録.nPoorになる範囲ms = int.Parse( para ); } - else if( str3.Equals( "DTXManiaVersion" ) ) + else if( item.Equals( "DTXManiaVersion" ) ) { - c演奏記録.strDTXManiaのバージョン = str4; + c演奏記録.strDTXManiaのバージョン = para; } - else if( str3.Equals( "DateTime" ) ) + else if( item.Equals( "DateTime" ) ) { - c演奏記録.最終更新日時 = str4; + c演奏記録.最終更新日時 = para; } - else if( str3.Equals( "Hash" ) ) + else if( item.Equals( "Hash" ) ) { - c演奏記録.Hash = str4; + c演奏記録.Hash = para; } - else if( str3.Equals( "9LaneMode" ) ) + else if( item.Equals( "9LaneMode" ) ) { - c演奏記録.レーン9モード = C変換.bONorOFF( str4[ 0 ] ); + c演奏記録.レーン9モード = C変換.bONorOFF( para[ 0 ] ); } } } @@ -1082,6 +1115,9 @@ namespace DTXMania writer.WriteLine( "ClearCountDrums={0}", this.stファイル.ClearCountDrums ); // #23596 10.11.16 add ikanick writer.WriteLine( "ClearCountGuitars={0}", this.stファイル.ClearCountGuitar ); // writer.WriteLine( "ClearCountBass={0}", this.stファイル.ClearCountBass ); // + writer.WriteLine( "BestRankDrums={0}", this.stファイル.BestRank.Drums ); // #24459 2011.2.24 yyagi + writer.WriteLine( "BestRankGuitar={0}", this.stファイル.BestRank.Guitar ); // + writer.WriteLine( "BestRankBass={0}", this.stファイル.BestRank.Bass ); // writer.WriteLine( "HistoryCount={0}", this.stファイル.HistoryCount ); writer.WriteLine( "History0={0}", this.stファイル.History[ 0 ] ); writer.WriteLine( "History1={0}", this.stファイル.History[ 1 ] ); @@ -1167,63 +1203,63 @@ namespace DTXMania { if( part.b演奏にMIDI入力を使用した || part.b演奏にキーボードを使用した || part.b演奏にジョイパッドを使用した || part.b演奏にマウスを使用した ) // 2010.9.11 { - int nTotal = ( ( ( part.nPerfect数 + part.nGreat数 ) + part.nGood数 ) + part.nPoor数 ) + part.nMiss数; + int nTotal = part.nPerfect数 + part.nGreat数 + part.nGood数 + part.nPoor数 + part.nMiss数; return tランク値を計算して返す( nTotal, part.nPerfect数, part.nGreat数, part.nGood数, part.nPoor数, part.nMiss数 ); } - return 99; + return (int)ERANK.UNKNOWN; } internal static int tランク値を計算して返す( int nTotal, int nPerfect, int nGreat, int nGood, int nPoor, int nMiss ) { if( nTotal <= 0 ) - return 99; + return (int)ERANK.UNKNOWN; - int num = 6; - int num2 = nTotal - ( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss ); - if( nTotal == num2 ) + //int nRank = (int)ERANK.E; + int nAuto = nTotal - ( nPerfect + nGreat + nGood + nPoor + nMiss ); + if( nTotal == nAuto ) { - return 0; + return (int)ERANK.SS; } - double num3 = ( (double) ( nPerfect + nGreat ) ) / ( (double) ( nTotal - num2 ) ); - if( num3 == 1.0 ) + double dRate = ( (double) ( nPerfect + nGreat ) ) / ( (double) ( nTotal - nAuto ) ); + if( dRate == 1.0 ) { - return 0; + return (int)ERANK.SS; } - if( num3 >= 0.95 ) + if( dRate >= 0.95 ) { - return 1; + return (int)ERANK.S; } - if( num3 >= 0.9 ) + if( dRate >= 0.9 ) { - return 2; + return (int)ERANK.A; } - if( num3 >= 0.85 ) + if( dRate >= 0.85 ) { - return 3; + return (int)ERANK.B; } - if( num3 >= 0.8 ) + if( dRate >= 0.8 ) { - return 4; + return (int)ERANK.C; } - if( num3 >= 0.7 ) + if( dRate >= 0.7 ) { - return 5; + return (int)ERANK.D; } - return 6; + return (int)ERANK.E; } internal static double tゲーム型スキルを計算して返す( int nLevel, int nTotal, int nPerfect, int nCombo ) { if( ( nTotal == 0 ) || ( ( nPerfect == 0 ) && ( nCombo == 0 ) ) ) return 0.0; - return ( ( nLevel * ( ( ( nPerfect * 0.8 ) + ( nCombo * 0.2 ) ) / ( (double) nTotal ) ) ) / 2.0 ); + return ( ( nLevel * ( ( nPerfect * 0.8 + nCombo * 0.2 ) / ( (double) nTotal ) ) ) / 2.0 ); } internal static double t演奏型スキルを計算して返す( int nTotal, int nPerfect, int nGreat, int nGood, int nPoor, int nMiss ) { if( nTotal == 0 ) return 0.0; - int num = nTotal - ( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss ); - double y = ( ( ( ( ( ( ( nPerfect * 1.0 ) + ( nGreat * 0.8 ) ) + ( nGood * 0.5 ) ) + ( nPoor * 0.2 ) ) + ( nMiss * 0.0 ) ) + ( num * 0.0 ) ) * 100.0 ) / ( (double) nTotal ); + int nAuto = nTotal - ( nPerfect + nGreat + nGood + nPoor + nMiss ); + double y = ( ( nPerfect * 1.0 + nGreat * 0.8 + nGood * 0.5 + nPoor * 0.2 + nMiss * 0.0 + nAuto * 0.0 ) * 100.0 ) / ( (double) nTotal ); return ( 100.0 * ( ( Math.Pow( 1.03, y ) - 1.0 ) / ( Math.Pow( 1.03, 100.0 ) - 1.0 ) ) ); } internal static string t演奏セクションのMD5を求めて返す( C演奏記録 cc ) @@ -1294,18 +1330,19 @@ namespace DTXMania } internal static void t更新条件を取得する( out bool bDrumsを更新する, out bool bGuitarを更新する, out bool bBassを更新する ) { - bDrumsを更新する = ( CDTXMania.ConfigIni.bDrums有効 && CDTXMania.DTX.bチップがある.Drums ) && !CDTXMania.ConfigIni.bドラムが全部オートプレイである; - bGuitarを更新する = ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar ) && !CDTXMania.ConfigIni.bAutoPlay.Guitar; - bBassを更新する = ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass ) && !CDTXMania.ConfigIni.bAutoPlay.Bass; + bDrumsを更新する = CDTXMania.ConfigIni.bDrums有効 && CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bドラムが全部オートプレイである; + bGuitarを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar && !CDTXMania.ConfigIni.bAutoPlay.Guitar; + bBassを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass && !CDTXMania.ConfigIni.bAutoPlay.Bass; } internal static int t総合ランク値を計算して返す( C演奏記録 Drums, C演奏記録 Guitar, C演奏記録 Bass ) { - int nPerfect = ( Drums.nPerfect数 + Guitar.nPerfect数 ) + Bass.nPerfect数; - int nGreat = ( Drums.nGreat数 + Guitar.nGreat数 ) + Bass.nGreat数; - int nGood = ( Drums.nGood数 + Guitar.nGood数 ) + Bass.nGood数; - int nPoor = ( Drums.nPoor数 + Guitar.nPoor数 ) + Bass.nPoor数; - int nMiss = ( Drums.nMiss数 + Guitar.nMiss数 ) + Bass.nMiss数; - return tランク値を計算して返す( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss, nPerfect, nGreat, nGood, nPoor, nMiss ); + int nTotal = Drums.n全チップ数 + Guitar.n全チップ数 + Bass.n全チップ数; + int nPerfect = Drums.nPerfect数・Auto含まない + Guitar.nPerfect数・Auto含まない + Bass.nPerfect数・Auto含まない; // #24569 2011.3.1 yyagi: to calculate result rank without AUTO chips + int nGreat = Drums.nGreat数・Auto含まない + Guitar.nGreat数・Auto含まない + Bass.nGreat数・Auto含まない; // + int nGood = Drums.nGood数・Auto含まない + Guitar.nGood数・Auto含まない + Bass.nGood数・Auto含まない; // + int nPoor = Drums.nPoor数・Auto含まない + Guitar.nPoor数・Auto含まない + Bass.nPoor数・Auto含まない; // + int nMiss = Drums.nMiss数・Auto含まない + Guitar.nMiss数・Auto含まない + Bass.nMiss数・Auto含まない; // + return tランク値を計算して返す( nTotal, nPerfect, nGreat, nGood, nPoor, nMiss ); } diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs index 2027ed82..1e2f744b 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs @@ -587,11 +587,13 @@ namespace DTXMania int num3 = ( i * 2 ) + 1; if( ( ini.stセクション[ num3 ].b演奏にMIDI入力を使用した || ini.stセクション[ num3 ].b演奏にキーボードを使用した ) || ( ini.stセクション[ num3 ].b演奏にジョイパッドを使用した || ini.stセクション[ num3 ].b演奏にマウスを使用した ) ) { - node.arスコア[ lv ].譜面情報.最大ランク[ i ] = CScoreIni.tランク値を計算して返す( ini.stセクション[ num3 ] ); + node.arスコア[ lv ].譜面情報.最大ランク[ i ] = + (ini.stファイル.BestRank[i] != (int)CScoreIni.ERANK.UNKNOWN)? + (int)ini.stファイル.BestRank[i] : CScoreIni.tランク値を計算して返す( ini.stセクション[ num3 ] ); } else { - node.arスコア[ lv ].譜面情報.最大ランク[ i ] = 0x63; + node.arスコア[ lv ].譜面情報.最大ランク[ i ] = (int)CScoreIni.ERANK.UNKNOWN; } node.arスコア[ lv ].譜面情報.最大スキル[ i ] = ini.stセクション[ num3 ].db演奏型スキル値; node.arスコア[ lv ].譜面情報.フルコンボ[ i ] = ini.stセクション[ num3 ].bフルコンボである; diff --git a/DTXManiaプロジェクト/コード/スコア、曲/Cスコア.cs b/DTXManiaプロジェクト/コード/スコア、曲/Cスコア.cs index 233d7129..c3b9999b 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/Cスコア.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/Cスコア.cs @@ -147,7 +147,7 @@ namespace DTXMania } set { - if( ( value < 0 ) || ( ( value != 0x63 ) && ( value > 6 ) ) ) + if ( ( value < (int)CScoreIni.ERANK.SS ) || ( ( value != (int)CScoreIni.ERANK.UNKNOWN ) && ( value > (int)CScoreIni.ERANK.E ) ) ) { throw new ArgumentOutOfRangeException(); } @@ -236,34 +236,31 @@ namespace DTXMania this.ScoreIni情報 = new STScoreIni情報( DateTime.MinValue, 0L ); this.bSongDBにキャッシュがあった = false; this.ファイル情報 = new STファイル情報( "", "", DateTime.MinValue, 0L ); - ST譜面情報 st譜面情報 = new ST譜面情報(); - st譜面情報.タイトル = ""; - st譜面情報.アーティスト名 = ""; - st譜面情報.コメント = ""; - st譜面情報.ジャンル = ""; - st譜面情報.Preimage = ""; - st譜面情報.Premovie = ""; - st譜面情報.Presound = ""; - st譜面情報.Backgound = ""; - st譜面情報.レベル = new STDGBVALUE(); - ST譜面情報.STRANK strank = new ST譜面情報.STRANK(); - strank.Drums = 0x63; - strank.Guitar = 0x63; - strank.Bass = 0x63; - st譜面情報.最大ランク = strank; - st譜面情報.フルコンボ = new STDGBVALUE(); - st譜面情報.演奏回数 = new STDGBVALUE(); - ST譜面情報.STHISTORY sthistory = new ST譜面情報.STHISTORY(); - sthistory.行1 = ""; - sthistory.行2 = ""; - sthistory.行3 = ""; - sthistory.行4 = ""; - sthistory.行5 = ""; - st譜面情報.演奏履歴 = sthistory; - st譜面情報.レベルを非表示にする = false; - st譜面情報.最大スキル = new ST譜面情報.STSKILL(); - st譜面情報.曲種別 = CDTX.E種別.DTX; - this.譜面情報 = st譜面情報; + this.譜面情報 = new ST譜面情報(); + this.譜面情報.タイトル = ""; + this.譜面情報.アーティスト名 = ""; + this.譜面情報.コメント = ""; + this.譜面情報.ジャンル = ""; + this.譜面情報.Preimage = ""; + this.譜面情報.Premovie = ""; + this.譜面情報.Presound = ""; + this.譜面情報.Backgound = ""; + this.譜面情報.レベル = new STDGBVALUE(); + this.譜面情報.最大ランク = new ST譜面情報.STRANK(); + this.譜面情報.最大ランク.Drums = (int)CScoreIni.ERANK.UNKNOWN; + this.譜面情報.最大ランク.Guitar = (int)CScoreIni.ERANK.UNKNOWN; + this.譜面情報.最大ランク.Bass = (int)CScoreIni.ERANK.UNKNOWN; + this.譜面情報.フルコンボ = new STDGBVALUE(); + this.譜面情報.演奏回数 = new STDGBVALUE(); + this.譜面情報.演奏履歴 = new ST譜面情報.STHISTORY(); + this.譜面情報.演奏履歴.行1 = ""; + this.譜面情報.演奏履歴.行2 = ""; + this.譜面情報.演奏履歴.行3 = ""; + this.譜面情報.演奏履歴.行4 = ""; + this.譜面情報.演奏履歴.行5 = ""; + this.譜面情報.レベルを非表示にする = false; + this.譜面情報.最大スキル = new ST譜面情報.STSKILL(); + this.譜面情報.曲種別 = CDTX.E種別.DTX; } } } diff --git a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs index 550ece37..367cdb9a 100644 --- a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs @@ -150,17 +150,17 @@ namespace DTXMania if( CDTXMania.Input管理.Keyboard.bキーが押された( (int) Key.Escape ) ) return 4; - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( 0x84 ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + 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パッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) this.tカーソルを上へ移動する(); - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( 50 ), new CCounter.DGキー処理( 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パッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) this.tカーソルを下へ移動する(); - if( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( 0x75 ) ) ) ) + if( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || 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 ) ) ) ) { if( ( this.n現在のカーソル行 == 0 ) && CDTXMania.Skin.soundゲーム開始音.b読み込み成功 ) { @@ -232,7 +232,14 @@ namespace DTXMania break; } base.eフェーズID = CStage.Eフェーズ.共通_終了状態; - return ( this.n現在のカーソル行 + 1 ); +// if ( this.n現在のカーソル行 == 1 ) // #24525 yyagi 一時的にOPTION選択時CONFIGURATIONにする +// { +// return (int)E戻り値.CONFIG; +// } +// else +// { + return ( this.n現在のカーソル行 + 1 ); +// } case CStage.Eフェーズ.タイトル_起動画面からのフェードイン: if( this.actFIfromSetup.On進行描画() != 0 ) diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs index ab864bd5..6304fd79 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs @@ -283,7 +283,7 @@ namespace DTXMania base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; } } - else if( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( 0x75 ) ) ) ) + else if( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || 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) ) ) ) { if( this.n現在のメニュー番号 == 4 ) { @@ -308,22 +308,22 @@ namespace DTXMania this.bメニューにフォーカス中 = true; this.t説明文パネルに現在選択されているメニューの説明を描画する(); } - goto Label_0505; + break; // goto Label_0505; case EItemPanelモード.キーコード一覧: this.actKeyAssign.tEnter押下(); - goto Label_0505; + break; // goto Label_0505; } } } - Label_0505: - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( 0x84 ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); +// Label_0505: + 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パッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) { this.tカーソルを上へ移動する(); } - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( 50 ), new CCounter.DGキー処理( 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パッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); if( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) { diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs index 2d19f630..415b21af 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs @@ -314,6 +314,7 @@ namespace DTXMania { // [SHIFT] + [F1] OPTION this.actPresound.tサウンド停止(); this.eフェードアウト完了時の戻り値 = E戻り値.オプション呼び出し; +// this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 yyagi OPTION選択時もCONFIG呼び出し this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; CDTXMania.Skin.sound取消音.t再生する(); diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs index 19093ef9..c49febcb 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs @@ -41,6 +41,11 @@ namespace DTXMania Drums.nGood数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数・Auto含む.Drums.Good : this.nヒット数・Auto含まない.Drums.Good; Drums.nPoor数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数・Auto含む.Drums.Poor : this.nヒット数・Auto含まない.Drums.Poor; Drums.nMiss数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数・Auto含む.Drums.Miss : this.nヒット数・Auto含まない.Drums.Miss; + Drums.nPerfect数・Auto含まない = this.nヒット数・Auto含まない.Drums.Perfect; + Drums.nGreat数・Auto含まない = this.nヒット数・Auto含まない.Drums.Great; + Drums.nGood数・Auto含まない = this.nヒット数・Auto含まない.Drums.Good; + Drums.nPoor数・Auto含まない = this.nヒット数・Auto含まない.Drums.Poor; + Drums.nMiss数・Auto含まない = this.nヒット数・Auto含まない.Drums.Miss; Drums.n最大コンボ数 = this.actCombo.n現在のコンボ数.Drums最高値; Drums.n全チップ数 = CDTXMania.DTX.n可視チップ数.Drums; for ( int i = 0; i < 10; i++ ) @@ -98,6 +103,11 @@ namespace DTXMania Guitar.nGood数 = CDTXMania.ConfigIni.bAutoPlay.Guitar ? this.nヒット数・Auto含む.Guitar.Good : this.nヒット数・Auto含まない.Guitar.Good; Guitar.nPoor数 = CDTXMania.ConfigIni.bAutoPlay.Guitar ? this.nヒット数・Auto含む.Guitar.Poor : this.nヒット数・Auto含まない.Guitar.Poor; Guitar.nMiss数 = CDTXMania.ConfigIni.bAutoPlay.Guitar ? this.nヒット数・Auto含む.Guitar.Miss : this.nヒット数・Auto含まない.Guitar.Miss; + Guitar.nPerfect数・Auto含まない = this.nヒット数・Auto含まない.Guitar.Perfect; + Guitar.nGreat数・Auto含まない = this.nヒット数・Auto含まない.Guitar.Great; + Guitar.nGood数・Auto含まない = this.nヒット数・Auto含まない.Guitar.Good; + Guitar.nPoor数・Auto含まない = this.nヒット数・Auto含まない.Guitar.Poor; + Guitar.nMiss数・Auto含まない = this.nヒット数・Auto含まない.Guitar.Miss; Guitar.n最大コンボ数 = this.actCombo.n現在のコンボ数.Guitar最高値; Guitar.n全チップ数 = CDTXMania.DTX.n可視チップ数.Guitar; for ( int i = 0; i < 10; i++ ) @@ -155,6 +165,11 @@ namespace DTXMania Bass.nGood数 = CDTXMania.ConfigIni.bAutoPlay.Bass ? this.nヒット数・Auto含む.Bass.Good : this.nヒット数・Auto含まない.Bass.Good; Bass.nPoor数 = CDTXMania.ConfigIni.bAutoPlay.Bass ? this.nヒット数・Auto含む.Bass.Poor : this.nヒット数・Auto含まない.Bass.Poor; Bass.nMiss数 = CDTXMania.ConfigIni.bAutoPlay.Bass ? this.nヒット数・Auto含む.Bass.Miss : this.nヒット数・Auto含まない.Bass.Miss; + Bass.nPerfect数・Auto含まない = this.nヒット数・Auto含まない.Bass.Perfect; + Bass.nGreat数・Auto含まない = this.nヒット数・Auto含まない.Bass.Great; + Bass.nGood数・Auto含まない = this.nヒット数・Auto含まない.Bass.Good; + Bass.nPoor数・Auto含まない = this.nヒット数・Auto含まない.Bass.Poor; + Bass.nMiss数・Auto含まない = this.nヒット数・Auto含まない.Bass.Miss; Bass.n最大コンボ数 = this.actCombo.n現在のコンボ数.Bass最高値; Bass.n全チップ数 = CDTXMania.DTX.n可視チップ数.Bass; for ( int i = 0; i < 10; i++ ) diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs index e97be628..7b1c27ce 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs @@ -160,15 +160,15 @@ namespace DTXMania // Bass.Hash = CScoreIni.t演奏セクションのMD5を求めて返す( Bass ); //} #endregion - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える - { - CScoreIni.C演奏記録 t; - t = Guitar; - Guitar = Bass; - Bass = t; - - CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す - } +// if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える +// { +// CScoreIni.C演奏記録 t; +// t = Guitar; +// Guitar = Bass; +// Bass = t; +// +// CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す +// } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs index fc5eb796..5987fab7 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs @@ -233,15 +233,15 @@ namespace DTXMania } } - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える - { - CScoreIni.C演奏記録 t; - t = Guitar; - Guitar = Bass; - Bass = t; - - CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す - } +// if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える +// { +// CScoreIni.C演奏記録 t; +// t = Guitar; +// Guitar = Bass; +// Bass = t; +// +// CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す +// } } @@ -621,9 +621,9 @@ namespace DTXMania //private STDGBVALUE ctチップ模様アニメ; private readonly Eパッド[] eチャンネルtoパッド = new Eパッド[] { - Eパッド.SD, Eパッド.BD, Eパッド.HT, Eパッド.LT, - Eパッド.CY, Eパッド.FT, Eパッド.HHO, Eパッド.RD, - Eパッド.UNKNOWN, Eパッド.UNKNOWN, Eパッド.LC + Eパッド.HH, Eパッド.SD, Eパッド.BD, Eパッド.HT, + Eパッド.LT, Eパッド.CY, Eパッド.FT, Eパッド.HHO, + Eパッド.RD, Eパッド.UNKNOWN, Eパッド.UNKNOWN, Eパッド.LC }; //private E演奏画面の戻り値 eフェードアウト完了時の戻り値; //private readonly int[,] nBGAスコープチャンネルマップ; diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs index 2ef60de9..38fdf00b 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs @@ -77,14 +77,14 @@ namespace DTXMania #region [ 結果の計算 ] //--------------------- - for( int j = 0; j < 3; j++ ) + for( int i = 0; i < 3; i++ ) { - this.nランク値[ j ] = -1; - if( ( ( ( j != 0 ) || ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) ) && ( ( j != 1 ) || CDTXMania.DTX.bチップがある.Guitar ) ) && ( ( j != 2 ) || CDTXMania.DTX.bチップがある.Bass ) ) + this.nランク値[ i ] = -1; + if ( ( ( ( i != 0 ) || ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) ) && ( ( i != 1 ) || CDTXMania.DTX.bチップがある.Guitar ) ) && ( ( i != 2 ) || CDTXMania.DTX.bチップがある.Bass ) ) { - CScoreIni.C演奏記録 part = this.st演奏記録[ j ]; + CScoreIni.C演奏記録 part = this.st演奏記録[ i ]; bool bIsAutoPlay = true; - switch( j ) + switch( i ) { case 0: bIsAutoPlay = CDTXMania.ConfigIni.bドラムが全部オートプレイである; @@ -98,14 +98,19 @@ namespace DTXMania bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay.Bass; break; } - this.fPerfect率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPerfect数 ) / ( (float) part.n全チップ数 ) ); - this.fGreat率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGreat数 ) / ( (float) part.n全チップ数 ) ); - this.fGood率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGood数 ) / ( (float) part.n全チップ数 ) ); - this.fPoor率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPoor数 ) / ( (float) part.n全チップ数 ) ); - this.fMiss率[ j ] = bIsAutoPlay ? 0f : ( ( 100f * part.nMiss数 ) / ( (float) part.n全チップ数 ) ); - this.bオート[ j ] = bIsAutoPlay; // #23596 10.11.16 add ikanick そのパートがオートなら1 + this.fPerfect率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPerfect数 ) / ( (float) part.n全チップ数 ) ); + this.fGreat率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGreat数 ) / ( (float) part.n全チップ数 ) ); + this.fGood率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nGood数 ) / ( (float) part.n全チップ数 ) ); + this.fPoor率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPoor数 ) / ( (float) part.n全チップ数 ) ); + this.fMiss率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nMiss数 ) / ( (float) part.n全チップ数 ) ); + this.bオート[ i ] = bIsAutoPlay; // #23596 10.11.16 add ikanick そのパートがオートなら1 // 10.11.17 change (int to bool) ikanick - this.nランク値[ j ] = CScoreIni.tランク値を計算して返す( part ); + this.nランク値[ i ] = CScoreIni.tランク値を計算して返す( part ); +//Debug.WriteLine( "rank[" + i + "]=" + this.nランク値[ i ] ); +//if ( this.nランク値[ i ] != -1 ) +//{ +// this.n総合ランク値 = Math.Min( this.n総合ランク値, this.nランク値[ i ] ); +//} } } this.n総合ランク値 = CScoreIni.t総合ランク値を計算して返す( this.st演奏記録.Drums, this.st演奏記録.Guitar, this.st演奏記録.Bass ); @@ -119,34 +124,40 @@ namespace DTXMania bool[] b今までにフルコンボしたことがある = new bool[] { false, false, false }; - for( int k = 0; k < 3; k++ ) + for( int i = 0; i < 3; i++ ) { // フルコンボチェックならびに新記録ランクチェックは、ini.Record[] が、スコアチェックや演奏型スキルチェックの IF 内で書き直されてしまうよりも前に行う。(2010.9.10) - b今までにフルコンボしたことがある[ k ] = ini.stセクション[ k * 2 ].bフルコンボである | ini.stセクション[ k * 2 + 1 ].bフルコンボである; - - if( this.nランク値[ k ] <= CScoreIni.tランク値を計算して返す( ini.stセクション[ ( k * 2 ) + 1 ] ) ) + b今までにフルコンボしたことがある[ i ] = ini.stセクション[ i * 2 ].bフルコンボである | ini.stセクション[ i * 2 + 1 ].bフルコンボである; + + // if( this.nランク値[ i ] <= CScoreIni.tランク値を計算して返す( ini.stセクション[ ( i * 2 ) + 1 ] ) ) + // { + // this.b新記録ランク[ i ] = true; + // } + // 上記の条件だと[HiSkill.***]でのランクしかチェックしていないので、BestRankと比較するよう変更 + if ( this.nランク値[ i ] >= 0 && ini.stファイル.BestRank[ i ] > this.nランク値[ i ] ) // #24459 2011.3.1 yyagi update BestRank { - this.b新記録ランク[ k ] = true; + this.b新記録ランク[ i ] = true; + ini.stファイル.BestRank[ i ] = this.nランク値[ i ]; } // 新記録スコアチェック - if( this.st演奏記録[ k ].nスコア > ini.stセクション[ k * 2 ].nスコア ) + if( this.st演奏記録[ i ].nスコア > ini.stセクション[ i * 2 ].nスコア ) { - this.b新記録スコア[ k ] = true; - ini.stセクション[ k * 2 ] = this.st演奏記録[ k ]; + this.b新記録スコア[ i ] = true; + ini.stセクション[ i * 2 ] = this.st演奏記録[ i ]; } // 新記録スキルチェック - if (this.st演奏記録[k].db演奏型スキル値 > ini.stセクション[(k * 2) + 1].db演奏型スキル値) + if (this.st演奏記録[i].db演奏型スキル値 > ini.stセクション[(i * 2) + 1].db演奏型スキル値) { - this.b新記録スキル[ k ] = true; - ini.stセクション[(k * 2) + 1] = this.st演奏記録[ k ]; + this.b新記録スキル[ i ] = true; + ini.stセクション[(i * 2) + 1] = this.st演奏記録[ i ]; } // ラストプレイ #23595 2011.1.9 ikanick // オートじゃなければプレイ結果を書き込む - if (this.bオート[ k ] == false) { - ini.stセクション[k + 6] = this.st演奏記録[ k ]; + if (this.bオート[ i ] == false) { + ini.stセクション[i + 6] = this.st演奏記録[ i ]; } // #23596 10.11.16 add ikanick オートじゃないならクリア回数を1増やす @@ -154,9 +165,9 @@ namespace DTXMania bool[] b更新が必要か否か = new bool[ 3 ]; CScoreIni.t更新条件を取得する( out b更新が必要か否か[ 0 ], out b更新が必要か否か[ 1 ], out b更新が必要か否か[ 2 ] ); - if (b更新が必要か否か[ k ]) + if (b更新が必要か否か[ i ]) { - switch ( k ) + switch ( i ) { case 0: ini.stファイル.ClearCountDrums++; diff --git a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs index 6cadfb62..f6806a8f 100644 --- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs +++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs @@ -557,11 +557,11 @@ namespace DTXMania get; set; } - //public bool bIsSwappedGuitarBass_AutoFlagsAreSwapped // #24415 2011.2.21 yyagi FLIP中にalt-f4終了で、AUTOフラグがswapした状態でconfig.iniが出力されてしまうことを避けるためのフラグ - //{ - // get; - // set; - //} + public bool bIsSwappedGuitarBass_AutoFlagsAreSwapped // #24415 2011.2.21 yyagi FLIP中にalt-f4終了で、AUTOフラグがswapした状態でconfig.iniが出力されてしまうことを避けるためのフラグ + { + get; + set; + } public STAUTOPLAY bAutoPlay; [StructLayout( LayoutKind.Sequential )] public struct STAUTOPLAY diff --git a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs index affa1a1c..a5da087e 100644 --- a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs +++ b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs @@ -386,9 +386,7 @@ namespace DTXMania } protected override void Draw( GameTime gameTime ) { - CScoreIni.C演奏記録 c演奏記録; - CScoreIni.C演奏記録 c演奏記録2; - CScoreIni.C演奏記録 c演奏記録3; + CScoreIni.C演奏記録 c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass; CDTX.CChip[] chipArray; string str; @@ -925,14 +923,28 @@ for (int i = 0; i < 3; i++) { chipArray = new CDTX.CChip[ 10 ]; if( ConfigIni.bギタレボモード ) { - stage演奏ギター画面.t演奏結果を格納する( out c演奏記録, out c演奏記録2, out c演奏記録3 ); + stage演奏ギター画面.t演奏結果を格納する( out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass ); } else { - stage演奏ドラム画面.t演奏結果を格納する( out c演奏記録, out c演奏記録2, out c演奏記録3, out chipArray ); + stage演奏ドラム画面.t演奏結果を格納する( out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass, out chipArray ); } + + if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える + { + CScoreIni.C演奏記録 t; + t = c演奏記録_Guitar; + c演奏記録_Guitar = c演奏記録_Bass; + c演奏記録_Bass = t; + + CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す + CDTXMania.DTX.SwapGuitarBassInfos_AutoFlags(); // #24415 2011.2.27 yyagi + // リザルト集計時のみ、Auto系のフラグを入れ替え + // これを戻すのは、リザルト集計後。 + } // "case CStage.Eステージ.結果:"のところ。 + str = "Cleared"; - switch( CScoreIni.t総合ランク値を計算して返す( c演奏記録, c演奏記録2, c演奏記録3 ) ) + switch( CScoreIni.t総合ランク値を計算して返す( c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass ) ) { case 0: str = "Cleared (Rank:SS)"; @@ -983,9 +995,9 @@ for (int i = 0; i < 3; i++) { r現在のステージ.On非活性化(); Trace.TraceInformation( "----------------------" ); Trace.TraceInformation( "■ 結果" ); - stage結果.st演奏記録.Drums = c演奏記録; - stage結果.st演奏記録.Guitar = c演奏記録2; - stage結果.st演奏記録.Bass = c演奏記録3; + stage結果.st演奏記録.Drums = c演奏記録_Drums; + stage結果.st演奏記録.Guitar = c演奏記録_Guitar; + stage結果.st演奏記録.Bass = c演奏記録_Bass; stage結果.r空うちドラムチップ = chipArray; stage結果.On活性化(); r直前のステージ = r現在のステージ; @@ -1015,6 +1027,11 @@ for (int i = 0; i < 3; i++) { //----------------------------- if( this.n進行描画の戻り値 != 0 ) { + if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24415 2011.2.27 yyagi Gt/Bsを入れ替えていたなら、Auto状態をリザルト画面終了後に元に戻す + { + CDTXMania.DTX.SwapGuitarBassInfos_AutoFlags(); // Auto入れ替え + } + DTX.t全チップの再生一時停止(); DTX.On非活性化(); r現在のステージ.On非活性化(); @@ -1768,10 +1785,10 @@ for (int i = 0; i < 3; i++) { //--------------------- Trace.TraceInformation("Config.ini を出力します。"); // if ( ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.16 yyagi ギターベースがスワップしているときは元に戻す - //if ( ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped ) // #24415 2011.2.21 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、AUTOのフラグをswapして戻す - //{ - // DTX.SwapGuitarBassInfos_AutoFlags(); - //} + if ( ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped ) // #24415 2011.2.21 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、AUTOのフラグをswapして戻す + { + DTX.SwapGuitarBassInfos_AutoFlags(); + } string str = strEXEのあるフォルダ + "Config.ini"; Trace.Indent(); try diff --git a/DTXManiaプロジェクト/コード/全体/C定数.cs b/DTXManiaプロジェクト/コード/全体/C定数.cs index 68fdfeb9..b1ce06d2 100644 --- a/DTXManiaプロジェクト/コード/全体/C定数.cs +++ b/DTXManiaプロジェクト/コード/全体/C定数.cs @@ -36,24 +36,24 @@ namespace DTXMania } public enum Eパッド { - B = 2, + HH = 0, + R = 0, + SD = 1, + G = 1, BD = 2, + B = 2, + HT = 3, + Pick = 3, + LT = 4, + Wail = 4, + FT = 5, Cancel = 5, CY = 6, Decide = 6, - FT = 5, - G = 1, - HH = 0, HHO = 7, - HT = 3, - LC = 9, - LT = 4, - Pick = 3, - R = 0, RD = 8, - SD = 1, - UNKNOWN = 0x63, - Wail = 4 + LC = 9, + UNKNOWN = 99 } [Flags] public enum EパッドFlag // #24063 2011.1.16 yyagi コマンド入力用 パッド入力のフラグ化 diff --git a/DTXManiaプロジェクト/コード/全体/Program.cs b/DTXManiaプロジェクト/コード/全体/Program.cs index 333de3ae..0246824f 100644 --- a/DTXManiaプロジェクト/コード/全体/Program.cs +++ b/DTXManiaプロジェクト/コード/全体/Program.cs @@ -34,6 +34,10 @@ namespace DTXMania [DllImport( "kernel32", CharSet = CharSet.Unicode, SetLastError = true )] internal static extern IntPtr LoadLibrary( string lpFileName ); + +// [DllImport("dwmapi.dll", PreserveSig = false)] +// public static extern int DwmEnableComposition(bool fEnable); + //----------------------------- #endregion @@ -69,6 +73,16 @@ namespace DTXMania )) flag = true; if (!flag) { + // turn off Aero Glass +// try +// { +// DwmEnableComposition( false ); +// } +// catch ( DllNotFoundException ) +// { +// // DLLがなければXP以下とみなし何もしない +// } + // BEGIN #23670 2010.11.13 from: キャッチされない例外は放出せずに、ログに詳細を出力する。 try { @@ -84,6 +98,7 @@ namespace DTXMania Trace.Write( e.ToString() ); Trace.WriteLine( "" ); Trace.WriteLine( "エラーだゴメン!(涙" ); + MessageBox.Show( e.ToString(), "DTXMania Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); // #23670 2011.2.28 yyagi to show error dialog } // END #23670 2010.11.13 from