• R/O
  • SSH
  • HTTPS

dtxmaniaxg-verk: Commit


Commit MetaInfo

Revision551 (tree)
Time2016-06-18 17:19:35
Authorkairera0467

Log Message

#35943 SkillMaterの自己ベストの欄に自己ベストが入っていなかったので修正。
#35943 ゴーストから演奏結果を逆算する機能がうまく動作しないいため、ghost.scoreと併用する体制に変更。

Change Summary

Incremental Difference

--- trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 550)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 551)
@@ -85,7 +85,7 @@
8585 else
8686 {
8787 this.actGraph.dbグラフ値目標_渡 = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ]; // #24074 2011.01.23 add ikanick
88- //this.actGraph.dbグラフ値自己ベスト = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ];
88+ this.actGraph.dbグラフ値自己ベスト = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ];
8989
9090 // #35411 2015.08.21 chnmr0 add
9191 // ゴースト利用可のなとき、0で初期化
--- trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs (revision 550)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs (revision 551)
@@ -97,6 +97,7 @@
9797 else
9898 {
9999 this.actGraph.dbグラフ値目標_渡 = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ 0 ]; // #24074 2011.01.23 add ikanick
100+ this.actGraph.dbグラフ値自己ベスト = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ 0 ]; // #24074 2011.01.23 add ikanick
100101
101102 //fork
102103 // #35411 2015.08.21 chnmr0 add
--- trunk/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 550)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 551)
@@ -795,14 +795,27 @@
795795 }
796796 }
797797
798+ string [] inst = {"dr", "gt", "bs"};
799+ if( CDTXMania.ConfigIni.bIsSwappedGuitarBass )
800+ {
801+ inst[1] = "bs";
802+ inst[2] = "gt";
803+ }
798804 //演奏記録をゴーストから逆生成
799805 for( int i = 0; i < 3; i++ )
800806 {
801807 int nNowCombo = 0;
802808 int nMaxCombo = 0;
809+
810+ //2016.06.18 kairera0467 「.ghost.score」ファイルが無かった場合ghostファイルから逆算を行う形に変更。
811+ string[] prefix = { "none", "perfect", "lastplay", "hiskill", "hiscore", "online" };
812+ int indPrefix = (int)CDTXMania.ConfigIni.eTargetGhost[ i ];
813+ string filename = cdtx.strフォルダ名 + "\\" + cdtx.strファイル名 + "." + prefix[ indPrefix ] + "." + inst[ i ] + ".ghost";
814+
815+ if( this.stGhostLag[ i ] == null || File.Exists( filename + ".score" ) )
816+ continue;
803817 CDTXMania.listTargetGhostScoreData[ i ] = new CScoreIni.C演奏記録();
804- if( this.stGhostLag[ i ] == null )
805- continue;
818+
806819 for( int j = 0; j < this.stGhostLag[ i ].Count; j++ )
807820 {
808821 int ghostLag = 128;
@@ -816,7 +829,7 @@
816829
817830 if( ghostLag <= 127 )
818831 {
819- E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(ghostLag, 0);
832+ E判定 eJudge = this.e指定時刻からChipのJUDGEを返す( ghostLag, 0 );
820833
821834 switch( eJudge )
822835 {
@@ -1261,75 +1274,75 @@
12611274 }
12621275 }
12631276
1264- //if( File.Exists( filename + ".score" ) )
1265- //{
1266- // using( FileStream fs = new FileStream( filename + ".score", FileMode.Open, FileAccess.Read ) )
1267- // {
1268- // using( StreamReader sr = new StreamReader( fs ) )
1269- // {
1270- // try
1271- // {
1272- // string strScoreDataFile = sr.ReadToEnd();
1277+ if( File.Exists( filename + ".score" ) )
1278+ {
1279+ using( FileStream fs = new FileStream( filename + ".score", FileMode.Open, FileAccess.Read ) )
1280+ {
1281+ using( StreamReader sr = new StreamReader( fs ) )
1282+ {
1283+ try
1284+ {
1285+ string strScoreDataFile = sr.ReadToEnd();
12731286
1274- // strScoreDataFile = strScoreDataFile.Replace( Environment.NewLine, "\n" );
1275- // string[] delimiter = { "\n" };
1276- // string[] strSingleLine = strScoreDataFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
1287+ strScoreDataFile = strScoreDataFile.Replace( Environment.NewLine, "\n" );
1288+ string[] delimiter = { "\n" };
1289+ string[] strSingleLine = strScoreDataFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
12771290
1278- // for( int i = 0; i < strSingleLine.Length; i++ )
1279- // {
1280- // string[] strA = strSingleLine[ i ].Split( '=' );
1281- // if (strA.Length != 2)
1282- // continue;
1291+ for( int i = 0; i < strSingleLine.Length; i++ )
1292+ {
1293+ string[] strA = strSingleLine[ i ].Split( '=' );
1294+ if (strA.Length != 2)
1295+ continue;
12831296
1284- // switch( strA[ 0 ] )
1285- // {
1286- // case "Score":
1287- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nスコア = Convert.ToInt32( strA[ 1 ] );
1288- // continue;
1289- // case "PlaySkill":
1290- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].db演奏型スキル値 = Convert.ToDouble( strA[ 1 ] );
1291- // continue;
1292- // case "Skill":
1293- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].dbゲーム型スキル値 = Convert.ToDouble( strA[ 1 ] );
1294- // continue;
1295- // case "Perfect":
1296- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPerfect数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1297- // continue;
1298- // case "Great":
1299- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGreat数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1300- // continue;
1301- // case "Good":
1302- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGood数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1303- // continue;
1304- // case "Poor":
1305- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPoor数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1306- // continue;
1307- // case "Miss":
1308- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nMiss数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1309- // continue;
1310- // case "MaxCombo":
1311- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].n最大コンボ数 = Convert.ToInt32( strA[ 1 ] );
1312- // continue;
1313- // default:
1314- // continue;
1315- // }
1316- // }
1317- // }
1318- // catch( NullReferenceException )
1319- // {
1320- // Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1321- // }
1322- // catch( EndOfStreamException )
1323- // {
1324- // Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1325- // }
1326- // }
1327- // }
1328- //}
1329- //else
1330- //{
1331- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ] = null;
1332- //}
1297+ switch( strA[ 0 ] )
1298+ {
1299+ case "Score":
1300+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nスコア = Convert.ToInt32( strA[ 1 ] );
1301+ continue;
1302+ case "PlaySkill":
1303+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].db演奏型スキル値 = Convert.ToDouble( strA[ 1 ] );
1304+ continue;
1305+ case "Skill":
1306+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].dbゲーム型スキル値 = Convert.ToDouble( strA[ 1 ] );
1307+ continue;
1308+ case "Perfect":
1309+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPerfect数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1310+ continue;
1311+ case "Great":
1312+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGreat数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1313+ continue;
1314+ case "Good":
1315+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGood数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1316+ continue;
1317+ case "Poor":
1318+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPoor数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1319+ continue;
1320+ case "Miss":
1321+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nMiss数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
1322+ continue;
1323+ case "MaxCombo":
1324+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].n最大コンボ数 = Convert.ToInt32( strA[ 1 ] );
1325+ continue;
1326+ default:
1327+ continue;
1328+ }
1329+ }
1330+ }
1331+ catch( NullReferenceException )
1332+ {
1333+ Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1334+ }
1335+ catch( EndOfStreamException )
1336+ {
1337+ Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1338+ }
1339+ }
1340+ }
1341+ }
1342+ else
1343+ {
1344+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ] = null;
1345+ }
13331346 }
13341347
13351348 private void t小文字表示(int x, int y, string str)
@@ -1459,8 +1472,7 @@
14591472 {
14601473 //if ( pChip != null )
14611474 {
1462- int nDeltaTime = Math.Abs( (int)nTime );
1463- //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));
1475+ int nDeltaTime = Math.Abs( (int)nTime + nInputAdjustTime );
14641476 if ( nDeltaTime <= CDTXMania.nPerfect範囲ms )
14651477 {
14661478 return E判定.Perfect;
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 550)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 551)
@@ -81,7 +81,7 @@
8181 else
8282 {
8383 this.actGraph.dbグラフ値目標_渡 = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ]; // #24074 2011.01.23 add ikanick
84- //this.actGraph.dbグラフ値自己ベスト = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ];
84+ this.actGraph.dbグラフ値自己ベスト = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ nGraphUsePart ];
8585
8686 // #35411 2015.08.21 chnmr0 add
8787 // ゴースト利用可のなとき、0で初期化
--- branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 550)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs (revision 551)
@@ -585,14 +585,27 @@
585585 }
586586 }
587587
588+ string [] inst = {"dr", "gt", "bs"};
589+ if( CDTXMania.ConfigIni.bIsSwappedGuitarBass )
590+ {
591+ inst[1] = "bs";
592+ inst[2] = "gt";
593+ }
588594 //演奏記録をゴーストから逆生成
589595 for( int i = 0; i < 3; i++ )
590596 {
591597 int nNowCombo = 0;
592598 int nMaxCombo = 0;
599+
600+ //2016.06.18 kairera0467 「.ghost.score」ファイルが無かった場合ghostファイルから逆算を行う形に変更。
601+ string[] prefix = { "none", "perfect", "lastplay", "hiskill", "hiscore", "online" };
602+ int indPrefix = (int)CDTXMania.ConfigIni.eTargetGhost[ i ];
603+ string filename = cdtx.strフォルダ名 + "\\" + cdtx.strファイル名 + "." + prefix[ indPrefix ] + "." + inst[ i ] + ".ghost";
604+
605+ if( this.stGhostLag[ i ] == null || File.Exists( filename + ".score" ) )
606+ continue;
593607 CDTXMania.listTargetGhostScoreData[ i ] = new CScoreIni.C演奏記録();
594- if( this.stGhostLag[ i ] == null )
595- continue;
608+
596609 for( int n = 0; n < this.stGhostLag[ i ].Count; n++ )
597610 {
598611 int ghostLag = 128;
@@ -606,7 +619,7 @@
606619
607620 if( ghostLag <= 127 )
608621 {
609- E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(ghostLag, 0);
622+ E判定 eJudge = this.e指定時刻からChipのJUDGEを返す( ghostLag, 0 );
610623
611624 switch( eJudge )
612625 {
@@ -878,8 +891,7 @@
878891 {
879892 //if ( pChip != null )
880893 {
881- int nDeltaTime = Math.Abs( (int)nTime );
882- //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms));
894+ int nDeltaTime = Math.Abs((int)nTime + nInputAdjustTime);
883895 if ( nDeltaTime <= CDTXMania.nPerfect範囲ms )
884896 {
885897 return E判定.Perfect;
@@ -928,75 +940,75 @@
928940 }
929941 }
930942
931- //if( File.Exists( filename + ".score" ) )
932- //{
933- // using( FileStream fs = new FileStream( filename + ".score", FileMode.Open, FileAccess.Read ) )
934- // {
935- // using( StreamReader sr = new StreamReader( fs ) )
936- // {
937- // try
938- // {
939- // string strScoreDataFile = sr.ReadToEnd();
943+ if( File.Exists( filename + ".score" ) )
944+ {
945+ using( FileStream fs = new FileStream( filename + ".score", FileMode.Open, FileAccess.Read ) )
946+ {
947+ using( StreamReader sr = new StreamReader( fs ) )
948+ {
949+ try
950+ {
951+ string strScoreDataFile = sr.ReadToEnd();
940952
941- // strScoreDataFile = strScoreDataFile.Replace( Environment.NewLine, "\n" );
942- // string[] delimiter = { "\n" };
943- // string[] strSingleLine = strScoreDataFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
953+ strScoreDataFile = strScoreDataFile.Replace( Environment.NewLine, "\n" );
954+ string[] delimiter = { "\n" };
955+ string[] strSingleLine = strScoreDataFile.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );
944956
945- // for( int i = 0; i < strSingleLine.Length; i++ )
946- // {
947- // string[] strA = strSingleLine[ i ].Split( '=' );
948- // if (strA.Length != 2)
949- // continue;
957+ for( int i = 0; i < strSingleLine.Length; i++ )
958+ {
959+ string[] strA = strSingleLine[ i ].Split( '=' );
960+ if (strA.Length != 2)
961+ continue;
950962
951- // switch( strA[ 0 ] )
952- // {
953- // case "Score":
954- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nスコア = Convert.ToInt32( strA[ 1 ] );
955- // continue;
956- // case "PlaySkill":
957- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].db演奏型スキル値 = Convert.ToDouble( strA[ 1 ] );
958- // continue;
959- // case "Skill":
960- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].dbゲーム型スキル値 = Convert.ToDouble( strA[ 1 ] );
961- // continue;
962- // case "Perfect":
963- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPerfect数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
964- // continue;
965- // case "Great":
966- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGreat数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
967- // continue;
968- // case "Good":
969- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGood数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
970- // continue;
971- // case "Poor":
972- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPoor数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
973- // continue;
974- // case "Miss":
975- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nMiss数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
976- // continue;
977- // case "MaxCombo":
978- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].n最大コンボ数 = Convert.ToInt32( strA[ 1 ] );
979- // continue;
980- // default:
981- // continue;
982- // }
983- // }
984- // }
985- // catch( NullReferenceException )
986- // {
987- // Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
988- // }
989- // catch( EndOfStreamException )
990- // {
991- // Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
992- // }
993- // }
994- // }
995- //}
996- //else
997- //{
998- // CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ] = null;
999- //}
963+ switch( strA[ 0 ] )
964+ {
965+ case "Score":
966+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nスコア = Convert.ToInt32( strA[ 1 ] );
967+ continue;
968+ case "PlaySkill":
969+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].db演奏型スキル値 = Convert.ToDouble( strA[ 1 ] );
970+ continue;
971+ case "Skill":
972+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].dbゲーム型スキル値 = Convert.ToDouble( strA[ 1 ] );
973+ continue;
974+ case "Perfect":
975+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPerfect数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
976+ continue;
977+ case "Great":
978+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGreat数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
979+ continue;
980+ case "Good":
981+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nGood数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
982+ continue;
983+ case "Poor":
984+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nPoor数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
985+ continue;
986+ case "Miss":
987+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].nMiss数・Auto含まない = Convert.ToInt32( strA[ 1 ] );
988+ continue;
989+ case "MaxCombo":
990+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ].n最大コンボ数 = Convert.ToInt32( strA[ 1 ] );
991+ continue;
992+ default:
993+ continue;
994+ }
995+ }
996+ }
997+ catch( NullReferenceException )
998+ {
999+ Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1000+ }
1001+ catch( EndOfStreamException )
1002+ {
1003+ Trace.TraceInformation("ゴーストデータの記録が正しく読み込まれませんでした。");
1004+ }
1005+ }
1006+ }
1007+ }
1008+ else
1009+ {
1010+ CDTXMania.listTargetGhostScoreData[ (int)this.nCurrentInst ] = null;
1011+ }
10001012 }
10011013 private void t小文字表示(int x, int y, string str)
10021014 {
Show on old repository browser