public int ClearCountDrums;\r
public int ClearCountGuitar;\r
public int ClearCountBass;\r
- // --------------------------------/\r
+ // #24459 2011.2.24 yyagi----------/\r
+ public STDGBVALUE<int> BestRank;\r
+ // --------------------------------/\r
public int HistoryCount;\r
public string[] History;\r
public int BGMAdjust;\r
HiScoreGuitar = 2,\r
HiSkillGuitar = 3,\r
HiScoreBass = 4,\r
- HiSkillBass = 5,\r
- LastPlayDrums = 6, // #23595 2011.1.9 ikanick\r
- LastPlayGuitar = 7, //\r
- LastPlayBass = 8, //\r
+ HiSkillBass = 5,\r
+ LastPlayDrums = 6, // #23595 2011.1.9 ikanick\r
+ LastPlayGuitar = 7, //\r
+ LastPlayBass = 8, //\r
+ }\r
+ public enum ERANK : int // #24459 yyagi\r
+ {\r
+ SS = 0,\r
+ S = 1,\r
+ A = 2,\r
+ B = 3,\r
+ C = 4,\r
+ D = 5,\r
+ E = 6,\r
+ UNKNOWN = 99\r
}\r
public class C演奏記録\r
{\r
public int nPerfect数;\r
public int nPoorになる範囲ms;\r
public int nPoor数;\r
+ public int nPerfect数・Auto含まない;\r
+ public int nGreat数・Auto含まない;\r
+ public int nGood数・Auto含まない;\r
+ public int nPoor数・Auto含まない;\r
+ public int nMiss数・Auto含まない;\r
public long nスコア;\r
public int n演奏速度分子;\r
public int n演奏速度分母;\r
{\r
this.iniファイルのあるフォルダ名 = null;\r
this.iniファイル名 = null;\r
- STファイル stファイル = new STファイル();\r
+ this.stファイル = new STファイル();\r
stファイル.Title = "";\r
stファイル.Name = "";\r
stファイル.Hash = "";\r
stファイル.History = new string[] { "", "", "", "", "" };\r
- this.stファイル = stファイル;\r
- STセクション stセクション = new STセクション();\r
+ stファイル.BestRank.Drums = (int)ERANK.UNKNOWN; // #24459 2011.2.24 yyagi\r
+ stファイル.BestRank.Guitar = (int)ERANK.UNKNOWN; //\r
+ stファイル.BestRank.Bass = (int)ERANK.UNKNOWN; //\r
+ \r
+ this.stセクション = new STセクション();\r
stセクション.HiScoreDrums = new C演奏記録();\r
stセクション.HiSkillDrums = new C演奏記録();\r
stセクション.HiScoreGuitar = new C演奏記録();\r
stセクション.LastPlayDrums = new C演奏記録();\r
stセクション.LastPlayGuitar = new C演奏記録();\r
stセクション.LastPlayBass = new C演奏記録();\r
- this.stセクション = stセクション;\r
}\r
\r
/// <summary>\r
{\r
try\r
{\r
- string str3;\r
- string str4;\r
+ string item;\r
+ string para;\r
C演奏記録 c演奏記録;\r
if( str[ 0 ] == '[' )\r
{\r
string[] strArray = str.Split( new char[] { '=' } );\r
if( strArray.Length == 2 )\r
{\r
- str3 = strArray[ 0 ].Trim();\r
- str4 = strArray[ 1 ].Trim();\r
+ item = strArray[ 0 ].Trim();\r
+ para = strArray[ 1 ].Trim();\r
switch( unknown )\r
{\r
case Eセクション種別.File:\r
{\r
- if( !str3.Equals( "Title" ) )\r
+ if( !item.Equals( "Title" ) )\r
{\r
goto Label_01C7;\r
}\r
- this.stファイル.Title = str4;\r
+ this.stファイル.Title = para;\r
continue;\r
}\r
case Eセクション種別.HiScoreDrums:\r
case Eセクション種別.LastPlayBass:\r
{\r
c演奏記録 = this.stセクション[ (int) unknown ];\r
- if( !str3.Equals( "Score" ) )\r
+ if( !item.Equals( "Score" ) )\r
{\r
goto Label_03B9;\r
}\r
- c演奏記録.nスコア = long.Parse( str4 );\r
+ c演奏記録.nスコア = long.Parse( para );\r
continue;\r
}\r
}\r
}\r
continue;\r
Label_01C7:\r
- if( str3.Equals( "Name" ) )\r
+ if( item.Equals( "Name" ) )\r
{\r
- this.stファイル.Name = str4;\r
+ this.stファイル.Name = para;\r
}\r
- else if( str3.Equals( "Hash" ) )\r
+ else if( item.Equals( "Hash" ) )\r
{\r
- this.stファイル.Hash = str4;\r
+ this.stファイル.Hash = para;\r
}\r
- else if( str3.Equals( "PlayCountDrums" ) )\r
+ else if( item.Equals( "PlayCountDrums" ) )\r
{\r
- this.stファイル.PlayCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 );\r
+ this.stファイル.PlayCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 );\r
}\r
- else if( str3.Equals( "PlayCountGuitars" ) )// #23596 11.2.5 changed ikanick\r
+ else if( item.Equals( "PlayCountGuitars" ) )// #23596 11.2.5 changed ikanick\r
{\r
- this.stファイル.PlayCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 );\r
+ this.stファイル.PlayCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 );\r
}\r
- else if( str3.Equals( "PlayCountBass" ) )\r
+ else if( item.Equals( "PlayCountBass" ) )\r
{\r
- this.stファイル.PlayCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 );\r
+ this.stファイル.PlayCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 );\r
}\r
// #23596 10.11.16 add ikanick------------------------------------/\r
- else if (str3.Equals("ClearCountDrums"))\r
+ else if (item.Equals("ClearCountDrums"))\r
{\r
- this.stファイル.ClearCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0);\r
+ this.stファイル.ClearCountDrums = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0);\r
}\r
- else if (str3.Equals("ClearCountGuitars"))// #23596 11.2.5 changed ikanick\r
+ else if (item.Equals("ClearCountGuitars"))// #23596 11.2.5 changed ikanick\r
{\r
- this.stファイル.ClearCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0);\r
+ this.stファイル.ClearCountGuitar = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0);\r
}\r
- else if (str3.Equals("ClearCountBass"))\r
+ else if (item.Equals("ClearCountBass"))\r
{\r
- this.stファイル.ClearCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x5f5e0ff, 0);\r
+ this.stファイル.ClearCountBass = C変換.n値を文字列から取得して範囲内に丸めて返す(para, 0, 99999999, 0);\r
}\r
- //----------------------------------------------------------------/\r
- else if( str3.Equals( "History0" ) )\r
+ // #24459 2011.2.24 yyagi-----------------------------------------/\r
+ else if ( item.Equals( "BestRankDrums" ) )\r
+ {\r
+ this.stファイル.BestRank.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN );\r
+ }\r
+ else if ( item.Equals( "BestRankGuitar" ) )\r
+ {\r
+ this.stファイル.BestRank.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN );\r
+ }\r
+ else if ( item.Equals( "BestRankBass" ) )\r
+ {\r
+ this.stファイル.BestRank.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( para, (int) ERANK.SS, (int) ERANK.E, (int) ERANK.UNKNOWN );\r
+ }\r
+ //----------------------------------------------------------------/\r
+ else if ( item.Equals( "History0" ) )\r
{\r
- this.stファイル.History[ 0 ] = str4;\r
+ this.stファイル.History[ 0 ] = para;\r
}\r
- else if( str3.Equals( "History1" ) )\r
+ else if( item.Equals( "History1" ) )\r
{\r
- this.stファイル.History[ 1 ] = str4;\r
+ this.stファイル.History[ 1 ] = para;\r
}\r
- else if( str3.Equals( "History2" ) )\r
+ else if( item.Equals( "History2" ) )\r
{\r
- this.stファイル.History[ 2 ] = str4;\r
+ this.stファイル.History[ 2 ] = para;\r
}\r
- else if( str3.Equals( "History3" ) )\r
+ else if( item.Equals( "History3" ) )\r
{\r
- this.stファイル.History[ 3 ] = str4;\r
+ this.stファイル.History[ 3 ] = para;\r
}\r
- else if( str3.Equals( "History4" ) )\r
+ else if( item.Equals( "History4" ) )\r
{\r
- this.stファイル.History[ 4 ] = str4;\r
+ this.stファイル.History[ 4 ] = para;\r
}\r
- else if( str3.Equals( "HistoryCount" ) )\r
+ else if( item.Equals( "HistoryCount" ) )\r
{\r
- this.stファイル.HistoryCount = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, 0 );\r
+ this.stファイル.HistoryCount = C変換.n値を文字列から取得して範囲内に丸めて返す( para, 0, 99999999, 0 );\r
}\r
- else if( str3.Equals( "BGMAdjust" ) )\r
+ else if( item.Equals( "BGMAdjust" ) )\r
{\r
- this.stファイル.BGMAdjust = C変換.n値を文字列から取得して返す( str4, 0 );\r
+ this.stファイル.BGMAdjust = C変換.n値を文字列から取得して返す( para, 0 );\r
}\r
continue;\r
Label_03B9:\r
- if( str3.Equals( "PlaySkill" ) )\r
+ if( item.Equals( "PlaySkill" ) )\r
{\r
- c演奏記録.db演奏型スキル値 = (double) decimal.Parse( str4 );\r
+ c演奏記録.db演奏型スキル値 = (double) decimal.Parse( para );\r
}\r
- else if( str3.Equals( "Skill" ) )\r
+ else if( item.Equals( "Skill" ) )\r
{\r
- c演奏記録.dbゲーム型スキル値 = (double) decimal.Parse( str4 );\r
+ c演奏記録.dbゲーム型スキル値 = (double) decimal.Parse( para );\r
}\r
- else if( str3.Equals( "Perfect" ) )\r
+ else if( item.Equals( "Perfect" ) )\r
{\r
- c演奏記録.nPerfect数 = int.Parse( str4 );\r
+ c演奏記録.nPerfect数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "Great" ) )\r
+ else if( item.Equals( "Great" ) )\r
{\r
- c演奏記録.nGreat数 = int.Parse( str4 );\r
+ c演奏記録.nGreat数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "Good" ) )\r
+ else if( item.Equals( "Good" ) )\r
{\r
- c演奏記録.nGood数 = int.Parse( str4 );\r
+ c演奏記録.nGood数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "Poor" ) )\r
+ else if( item.Equals( "Poor" ) )\r
{\r
- c演奏記録.nPoor数 = int.Parse( str4 );\r
+ c演奏記録.nPoor数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "Miss" ) )\r
+ else if( item.Equals( "Miss" ) )\r
{\r
- c演奏記録.nMiss数 = int.Parse( str4 );\r
+ c演奏記録.nMiss数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "MaxCombo" ) )\r
+ else if( item.Equals( "MaxCombo" ) )\r
{\r
- c演奏記録.n最大コンボ数 = int.Parse( str4 );\r
+ c演奏記録.n最大コンボ数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "TotalChips" ) )\r
+ else if( item.Equals( "TotalChips" ) )\r
{\r
- c演奏記録.n全チップ数 = int.Parse( str4 );\r
+ c演奏記録.n全チップ数 = int.Parse( para );\r
}\r
- else if( str3.Equals( "AutoPlay" ) )\r
+ else if( item.Equals( "AutoPlay" ) )\r
{\r
- if( str4.Length == 9 )\r
+ if( para.Length == 9 )\r
{\r
for( int i = 0; i < 9; i++ )\r
{\r
- c演奏記録.bAutoPlay[ i ] = this.ONorOFF( str4[ i ] );\r
+ c演奏記録.bAutoPlay[ i ] = this.ONorOFF( para[ i ] );\r
}\r
}\r
- else if( str4.Length == 10 )\r
+ else if( para.Length == 10 )\r
{\r
for( int j = 0; j < 10; j++ )\r
{\r
- c演奏記録.bAutoPlay[ j ] = this.ONorOFF( str4[ j ] );\r
+ c演奏記録.bAutoPlay[ j ] = this.ONorOFF( para[ j ] );\r
}\r
}\r
}\r
- else if( str3.Equals( "TightDrums" ) )\r
+ else if( item.Equals( "TightDrums" ) )\r
{\r
- c演奏記録.bTight = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bTight = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "SuddenDrums" ) )\r
+ else if( item.Equals( "SuddenDrums" ) )\r
{\r
- c演奏記録.bSudden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bSudden.Drums = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "SuddenGuitar" ) )\r
+ else if( item.Equals( "SuddenGuitar" ) )\r
{\r
- c演奏記録.bSudden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bSudden.Guitar = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "SuddenBass" ) )\r
+ else if( item.Equals( "SuddenBass" ) )\r
{\r
- c演奏記録.bSudden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bSudden.Bass = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "HiddenDrums" ) )\r
+ else if( item.Equals( "HiddenDrums" ) )\r
{\r
- c演奏記録.bHidden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bHidden.Drums = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "HiddenGuitar" ) )\r
+ else if( item.Equals( "HiddenGuitar" ) )\r
{\r
- c演奏記録.bHidden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bHidden.Guitar = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "HiddenBass" ) )\r
+ else if( item.Equals( "HiddenBass" ) )\r
{\r
- c演奏記録.bHidden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bHidden.Bass = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "ReverseDrums" ) )\r
+ else if( item.Equals( "ReverseDrums" ) )\r
{\r
- c演奏記録.bReverse.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bReverse.Drums = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "ReverseGuitar" ) )\r
+ else if( item.Equals( "ReverseGuitar" ) )\r
{\r
- c演奏記録.bReverse.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bReverse.Guitar = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "ReverseBass" ) )\r
+ else if( item.Equals( "ReverseBass" ) )\r
{\r
- c演奏記録.bReverse.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bReverse.Bass = C変換.bONorOFF( para[ 0 ] );\r
}\r
else\r
{\r
- if( str3.Equals( "RandomGuitar" ) )\r
+ if( item.Equals( "RandomGuitar" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "RandomGuitar の値が無効です。" );\r
}\r
- if( str3.Equals( "RandomBass" ) )\r
+ if( item.Equals( "RandomBass" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "RandomBass の値が無効です。" );\r
}\r
- if( str3.Equals( "LightGuitar" ) )\r
+ if( item.Equals( "LightGuitar" ) )\r
{\r
- c演奏記録.bLight.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bLight.Guitar = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "LightBass" ) )\r
+ else if( item.Equals( "LightBass" ) )\r
{\r
- c演奏記録.bLight.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bLight.Bass = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "LeftGuitar" ) )\r
+ else if( item.Equals( "LeftGuitar" ) )\r
{\r
- c演奏記録.bLeft.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bLeft.Guitar = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "LeftBass" ) )\r
+ else if( item.Equals( "LeftBass" ) )\r
{\r
- c演奏記録.bLeft.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bLeft.Bass = C変換.bONorOFF( para[ 0 ] );\r
}\r
else\r
{\r
- if( str3.Equals( "Dark" ) )\r
+ if( item.Equals( "Dark" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "Dark の値が無効です。" );\r
}\r
- if( str3.Equals( "ScrollSpeedDrums" ) )\r
+ if( item.Equals( "ScrollSpeedDrums" ) )\r
{\r
- c演奏記録.f譜面スクロール速度.Drums = (float) decimal.Parse( str4 );\r
+ c演奏記録.f譜面スクロール速度.Drums = (float) decimal.Parse( para );\r
}\r
- else if( str3.Equals( "ScrollSpeedGuitar" ) )\r
+ else if( item.Equals( "ScrollSpeedGuitar" ) )\r
{\r
- c演奏記録.f譜面スクロール速度.Guitar = (float) decimal.Parse( str4 );\r
+ c演奏記録.f譜面スクロール速度.Guitar = (float) decimal.Parse( para );\r
}\r
- else if( str3.Equals( "ScrollSpeedBass" ) )\r
+ else if( item.Equals( "ScrollSpeedBass" ) )\r
{\r
- c演奏記録.f譜面スクロール速度.Bass = (float) decimal.Parse( str4 );\r
+ c演奏記録.f譜面スクロール速度.Bass = (float) decimal.Parse( para );\r
}\r
- else if( str3.Equals( "PlaySpeed" ) )\r
+ else if( item.Equals( "PlaySpeed" ) )\r
{\r
- string[] strArray2 = str4.Split( new char[] { '/' } );\r
+ string[] strArray2 = para.Split( new char[] { '/' } );\r
if( strArray2.Length == 2 )\r
{\r
c演奏記録.n演奏速度分子 = int.Parse( strArray2[ 0 ] );\r
}\r
else\r
{\r
- if( str3.Equals( "HHGroup" ) )\r
+ if( item.Equals( "HHGroup" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "HHGroup の値が無効です。" );\r
}\r
- if( str3.Equals( "FTGroup" ) )\r
+ if( item.Equals( "FTGroup" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "FTGroup の値が無効です。" );\r
}\r
- if( str3.Equals( "CYGroup" ) )\r
+ if( item.Equals( "CYGroup" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "CYGroup の値が無効です。" );\r
}\r
- if( str3.Equals( "HitSoundPriorityHH" ) )\r
+ if( item.Equals( "HitSoundPriorityHH" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "HitSoundPriorityHH の値が無効です。" );\r
}\r
- if( str3.Equals( "HitSoundPriorityFT" ) )\r
+ if( item.Equals( "HitSoundPriorityFT" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "HitSoundPriorityFT の値が無効です。" );\r
}\r
- if( str3.Equals( "HitSoundPriorityCY" ) )\r
+ if( item.Equals( "HitSoundPriorityCY" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "HitSoundPriorityCY の値が無効です。" );\r
}\r
- if( str3.Equals( "Guitar" ) )\r
+ if( item.Equals( "Guitar" ) )\r
{\r
- c演奏記録.bGuitar有効 = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bGuitar有効 = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "Drums" ) )\r
+ else if( item.Equals( "Drums" ) )\r
{\r
- c演奏記録.bDrums有効 = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bDrums有効 = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "StageFailed" ) )\r
+ else if( item.Equals( "StageFailed" ) )\r
{\r
- c演奏記録.bSTAGEFAILED有効 = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.bSTAGEFAILED有効 = C変換.bONorOFF( para[ 0 ] );\r
}\r
else\r
{\r
- if( str3.Equals( "DamageLevel" ) )\r
+ if( item.Equals( "DamageLevel" ) )\r
{\r
- switch( int.Parse( str4 ) )\r
+ switch( int.Parse( para ) )\r
{\r
case 0:\r
{\r
}\r
throw new Exception( "DamageLevel の値が無効です。" );\r
}\r
- if( str3.Equals( "UseKeyboard" ) )\r
+ if( item.Equals( "UseKeyboard" ) )\r
{\r
- c演奏記録.b演奏にキーボードを使用した = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.b演奏にキーボードを使用した = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "UseMIDIIN" ) )\r
+ else if( item.Equals( "UseMIDIIN" ) )\r
{\r
- c演奏記録.b演奏にMIDI入力を使用した = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.b演奏にMIDI入力を使用した = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "UseJoypad" ) )\r
+ else if( item.Equals( "UseJoypad" ) )\r
{\r
- c演奏記録.b演奏にジョイパッドを使用した = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.b演奏にジョイパッドを使用した = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "UseMouse" ) )\r
+ else if( item.Equals( "UseMouse" ) )\r
{\r
- c演奏記録.b演奏にマウスを使用した = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.b演奏にマウスを使用した = C変換.bONorOFF( para[ 0 ] );\r
}\r
- else if( str3.Equals( "PerfectRange" ) )\r
+ else if( item.Equals( "PerfectRange" ) )\r
{\r
- c演奏記録.nPerfectになる範囲ms = int.Parse( str4 );\r
+ c演奏記録.nPerfectになる範囲ms = int.Parse( para );\r
}\r
- else if( str3.Equals( "GreatRange" ) )\r
+ else if( item.Equals( "GreatRange" ) )\r
{\r
- c演奏記録.nGreatになる範囲ms = int.Parse( str4 );\r
+ c演奏記録.nGreatになる範囲ms = int.Parse( para );\r
}\r
- else if( str3.Equals( "GoodRange" ) )\r
+ else if( item.Equals( "GoodRange" ) )\r
{\r
- c演奏記録.nGoodになる範囲ms = int.Parse( str4 );\r
+ c演奏記録.nGoodになる範囲ms = int.Parse( para );\r
}\r
- else if( str3.Equals( "PoorRange" ) )\r
+ else if( item.Equals( "PoorRange" ) )\r
{\r
- c演奏記録.nPoorになる範囲ms = int.Parse( str4 );\r
+ c演奏記録.nPoorになる範囲ms = int.Parse( para );\r
}\r
- else if( str3.Equals( "DTXManiaVersion" ) )\r
+ else if( item.Equals( "DTXManiaVersion" ) )\r
{\r
- c演奏記録.strDTXManiaのバージョン = str4;\r
+ c演奏記録.strDTXManiaのバージョン = para;\r
}\r
- else if( str3.Equals( "DateTime" ) )\r
+ else if( item.Equals( "DateTime" ) )\r
{\r
- c演奏記録.最終更新日時 = str4;\r
+ c演奏記録.最終更新日時 = para;\r
}\r
- else if( str3.Equals( "Hash" ) )\r
+ else if( item.Equals( "Hash" ) )\r
{\r
- c演奏記録.Hash = str4;\r
+ c演奏記録.Hash = para;\r
}\r
- else if( str3.Equals( "9LaneMode" ) )\r
+ else if( item.Equals( "9LaneMode" ) )\r
{\r
- c演奏記録.レーン9モード = C変換.bONorOFF( str4[ 0 ] );\r
+ c演奏記録.レーン9モード = C変換.bONorOFF( para[ 0 ] );\r
}\r
}\r
}\r
writer.WriteLine( "ClearCountDrums={0}", this.stファイル.ClearCountDrums ); // #23596 10.11.16 add ikanick\r
writer.WriteLine( "ClearCountGuitars={0}", this.stファイル.ClearCountGuitar ); //\r
writer.WriteLine( "ClearCountBass={0}", this.stファイル.ClearCountBass ); //\r
+ writer.WriteLine( "BestRankDrums={0}", this.stファイル.BestRank.Drums ); // #24459 2011.2.24 yyagi\r
+ writer.WriteLine( "BestRankGuitar={0}", this.stファイル.BestRank.Guitar ); //\r
+ writer.WriteLine( "BestRankBass={0}", this.stファイル.BestRank.Bass ); //\r
writer.WriteLine( "HistoryCount={0}", this.stファイル.HistoryCount );\r
writer.WriteLine( "History0={0}", this.stファイル.History[ 0 ] );\r
writer.WriteLine( "History1={0}", this.stファイル.History[ 1 ] );\r
{\r
if( part.b演奏にMIDI入力を使用した || part.b演奏にキーボードを使用した || part.b演奏にジョイパッドを使用した || part.b演奏にマウスを使用した ) // 2010.9.11\r
{\r
- int nTotal = ( ( ( part.nPerfect数 + part.nGreat数 ) + part.nGood数 ) + part.nPoor数 ) + part.nMiss数;\r
+ int nTotal = part.nPerfect数 + part.nGreat数 + part.nGood数 + part.nPoor数 + part.nMiss数;\r
return tランク値を計算して返す( nTotal, part.nPerfect数, part.nGreat数, part.nGood数, part.nPoor数, part.nMiss数 );\r
}\r
- return 99;\r
+ return (int)ERANK.UNKNOWN;\r
}\r
internal static int tランク値を計算して返す( int nTotal, int nPerfect, int nGreat, int nGood, int nPoor, int nMiss )\r
{\r
if( nTotal <= 0 )\r
- return 99;\r
+ return (int)ERANK.UNKNOWN;\r
\r
- int num = 6;\r
- int num2 = nTotal - ( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss );\r
- if( nTotal == num2 )\r
+ //int nRank = (int)ERANK.E;\r
+ int nAuto = nTotal - ( nPerfect + nGreat + nGood + nPoor + nMiss );\r
+ if( nTotal == nAuto )\r
{\r
- return 0;\r
+ return (int)ERANK.SS;\r
}\r
- double num3 = ( (double) ( nPerfect + nGreat ) ) / ( (double) ( nTotal - num2 ) );\r
- if( num3 == 1.0 )\r
+ double dRate = ( (double) ( nPerfect + nGreat ) ) / ( (double) ( nTotal - nAuto ) );\r
+ if( dRate == 1.0 )\r
{\r
- return 0;\r
+ return (int)ERANK.SS;\r
}\r
- if( num3 >= 0.95 )\r
+ if( dRate >= 0.95 )\r
{\r
- return 1;\r
+ return (int)ERANK.S;\r
}\r
- if( num3 >= 0.9 )\r
+ if( dRate >= 0.9 )\r
{\r
- return 2;\r
+ return (int)ERANK.A;\r
}\r
- if( num3 >= 0.85 )\r
+ if( dRate >= 0.85 )\r
{\r
- return 3;\r
+ return (int)ERANK.B;\r
}\r
- if( num3 >= 0.8 )\r
+ if( dRate >= 0.8 )\r
{\r
- return 4;\r
+ return (int)ERANK.C;\r
}\r
- if( num3 >= 0.7 )\r
+ if( dRate >= 0.7 )\r
{\r
- return 5;\r
+ return (int)ERANK.D;\r
}\r
- return 6;\r
+ return (int)ERANK.E;\r
}\r
internal static double tゲーム型スキルを計算して返す( int nLevel, int nTotal, int nPerfect, int nCombo )\r
{\r
if( ( nTotal == 0 ) || ( ( nPerfect == 0 ) && ( nCombo == 0 ) ) )\r
return 0.0;\r
\r
- return ( ( nLevel * ( ( ( nPerfect * 0.8 ) + ( nCombo * 0.2 ) ) / ( (double) nTotal ) ) ) / 2.0 );\r
+ return ( ( nLevel * ( ( nPerfect * 0.8 + nCombo * 0.2 ) / ( (double) nTotal ) ) ) / 2.0 );\r
}\r
internal static double t演奏型スキルを計算して返す( int nTotal, int nPerfect, int nGreat, int nGood, int nPoor, int nMiss )\r
{\r
if( nTotal == 0 )\r
return 0.0;\r
\r
- int num = nTotal - ( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss );\r
- double y = ( ( ( ( ( ( ( nPerfect * 1.0 ) + ( nGreat * 0.8 ) ) + ( nGood * 0.5 ) ) + ( nPoor * 0.2 ) ) + ( nMiss * 0.0 ) ) + ( num * 0.0 ) ) * 100.0 ) / ( (double) nTotal );\r
+ int nAuto = nTotal - ( nPerfect + nGreat + nGood + nPoor + nMiss );\r
+ double y = ( ( nPerfect * 1.0 + nGreat * 0.8 + nGood * 0.5 + nPoor * 0.2 + nMiss * 0.0 + nAuto * 0.0 ) * 100.0 ) / ( (double) nTotal );\r
return ( 100.0 * ( ( Math.Pow( 1.03, y ) - 1.0 ) / ( Math.Pow( 1.03, 100.0 ) - 1.0 ) ) );\r
}\r
internal static string t演奏セクションのMD5を求めて返す( C演奏記録 cc )\r
}\r
internal static void t更新条件を取得する( out bool bDrumsを更新する, out bool bGuitarを更新する, out bool bBassを更新する )\r
{\r
- bDrumsを更新する = ( CDTXMania.ConfigIni.bDrums有効 && CDTXMania.DTX.bチップがある.Drums ) && !CDTXMania.ConfigIni.bドラムが全部オートプレイである;\r
- bGuitarを更新する = ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar ) && !CDTXMania.ConfigIni.bAutoPlay.Guitar;\r
- bBassを更新する = ( CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass ) && !CDTXMania.ConfigIni.bAutoPlay.Bass;\r
+ bDrumsを更新する = CDTXMania.ConfigIni.bDrums有効 && CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bドラムが全部オートプレイである;\r
+ bGuitarを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar && !CDTXMania.ConfigIni.bAutoPlay.Guitar;\r
+ bBassを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass && !CDTXMania.ConfigIni.bAutoPlay.Bass;\r
}\r
internal static int t総合ランク値を計算して返す( C演奏記録 Drums, C演奏記録 Guitar, C演奏記録 Bass )\r
{\r
- int nPerfect = ( Drums.nPerfect数 + Guitar.nPerfect数 ) + Bass.nPerfect数;\r
- int nGreat = ( Drums.nGreat数 + Guitar.nGreat数 ) + Bass.nGreat数;\r
- int nGood = ( Drums.nGood数 + Guitar.nGood数 ) + Bass.nGood数;\r
- int nPoor = ( Drums.nPoor数 + Guitar.nPoor数 ) + Bass.nPoor数;\r
- int nMiss = ( Drums.nMiss数 + Guitar.nMiss数 ) + Bass.nMiss数;\r
- return tランク値を計算して返す( ( ( ( nPerfect + nGreat ) + nGood ) + nPoor ) + nMiss, nPerfect, nGreat, nGood, nPoor, nMiss );\r
+ int nTotal = Drums.n全チップ数 + Guitar.n全チップ数 + Bass.n全チップ数;\r
+ int nPerfect = Drums.nPerfect数・Auto含まない + Guitar.nPerfect数・Auto含まない + Bass.nPerfect数・Auto含まない; // #24569 2011.3.1 yyagi: to calculate result rank without AUTO chips\r
+ int nGreat = Drums.nGreat数・Auto含まない + Guitar.nGreat数・Auto含まない + Bass.nGreat数・Auto含まない; //\r
+ int nGood = Drums.nGood数・Auto含まない + Guitar.nGood数・Auto含まない + Bass.nGood数・Auto含まない; //\r
+ int nPoor = Drums.nPoor数・Auto含まない + Guitar.nPoor数・Auto含まない + Bass.nPoor数・Auto含まない; //\r
+ int nMiss = Drums.nMiss数・Auto含まない + Guitar.nMiss数・Auto含まない + Bass.nMiss数・Auto含まない; //\r
+ return tランク値を計算して返す( nTotal, nPerfect, nGreat, nGood, nPoor, nMiss );\r
}\r
\r
\r