OSDN Git Service

#36177 ConfigにDTXをヘッダ以外も取得するLoadDTXDetailを追加。使用レーン数等、曲データの詳細な取得が可能になる
authorikanick <ikanick@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 30 Jul 2016 09:46:03 +0000 (09:46 +0000)
committerikanick <ikanick@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 30 Jul 2016 09:46:03 +0000 (09:46 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@1008 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/Properties/Resources.Designer.cs
DTXManiaプロジェクト/Properties/Resources.ja-JP.resx
DTXManiaプロジェクト/Properties/Resources.resx
DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CConfigXml.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs
DTXManiaプロジェクト/コード/全体/C定数.cs
実行時フォルダ/System/resources.csv

index 173d6a0..166e199 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------\r
 // <auto-generated>\r
 //     このコードはツールによって生成されました。\r
-//     ランタイム バージョン:4.0.30319.42000\r
+//     ランタイム バージョン:4.0.30319.34209\r
 //\r
 //     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
 //     コードが再生成されるときに損失したりします。\r
@@ -1468,6 +1468,15 @@ namespace DTXMania.Properties {
         /// <summary>\r
         ///   test に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
+        internal static string strCfgSysLoadDTXDetail {\r
+            get {\r
+                return ResourceManager.GetString("strCfgSysLoadDTXDetail", resourceCulture);\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
+        ///   test に類似しているローカライズされた文字列を検索します。\r
+        /// </summary>\r
         internal static string strCfgSysLog {\r
             get {\r
                 return ResourceManager.GetString("strCfgSysLog", resourceCulture);\r
index a4a9b97..d43544a 100644 (file)
   <data name="strTitleStart" xml:space="preserve">\r
     <value>スタート</value>\r
   </data>\r
+  <data name="strCfgSysLoadDTXDetail" xml:space="preserve">\r
+    <value>test</value>\r
+  </data>\r
 </root>
\ No newline at end of file
index 13a1429..999e24b 100644 (file)
   <data name="strTitleStart" xml:space="preserve">\r
     <value>START</value>\r
   </data>\r
+  <data name="strCfgSysLoadDTXDetail" xml:space="preserve">\r
+    <value>test</value>\r
+  </data>\r
 </root>
\ No newline at end of file
index 11f6cca..29d4b85 100644 (file)
@@ -822,7 +822,8 @@ namespace DTXMania
                                                        {\r
                                                                try\r
                                                                {\r
-                                                                       CDTX cdtx = new CDTX(c曲リストノード.arスコア[i].ファイル情報.ファイルの絶対パス, false);//DTX ファイルのヘッダだけ読み込んでいたが、使用レーン数の集計の為全て読み込みに変更\r
+                                                                       //#36177 2016.7.30 ikanick 曲データの取得時、bLoadDTXDetailがtrueであれば bヘッダのみをfalseにし 詳細なデータを取得する\r
+                                                                       CDTX cdtx = new CDTX(c曲リストノード.arスコア[i].ファイル情報.ファイルの絶対パス, !CDTXMania.Instance.ConfigIni.bLoadDTXDetail );\r
                                                                        c曲リストノード.arスコア[i].譜面情報.タイトル = cdtx.TITLE;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.アーティスト名 = cdtx.ARTIST;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.コメント = cdtx.COMMENT;\r
@@ -838,9 +839,14 @@ namespace DTXMania
                                                                        c曲リストノード.arスコア[i].譜面情報.曲種別 = cdtx.e種別;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.Bpm = cdtx.BPM;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.Duration = 0;  //  (cdtx.listChip == null)? 0 : cdtx.listChip[ cdtx.listChip.Count - 1 ].n発声時刻ms;\r
+                                                                       \r
+                                                                       // #36177 2016.7.30 ikanick\r
+                                                                       #region [ LoadDTXDetail ]\r
                                                                        c曲リストノード.arスコア[i].譜面情報.使用レーン数.Drums = cdtx.n使用レーン数.Drums;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.使用レーン数.Guitar = cdtx.n使用レーン数.Guitar;\r
                                                                        c曲リストノード.arスコア[i].譜面情報.使用レーン数.Bass = cdtx.n使用レーン数.Bass;\r
+                                                                       #endregion\r
+\r
                                                                        this.nファイルから反映できたスコア数++;\r
                                                                        cdtx.On非活性化();\r
                                                                        //Debug.WriteLine( "★" + this.nファイルから反映できたスコア数 + " " + c曲リストノード.arスコア[ i ].譜面情報.タイトル );\r
index 9d2e63f..aeb44d4 100644 (file)
@@ -440,6 +440,7 @@ namespace DTXMania
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bUseOSTimer);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nMasterVolume);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nPolyphonicSounds);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bLoadDTXDetail);// #36177 2016.7.30 ikanick\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bUseBoxDefSkin);\r
                                list項目リスト.Add(skins);\r
                                list項目リスト.Add(DisplayMenu.System);\r
index cba7a56..64f85b8 100644 (file)
@@ -154,6 +154,10 @@ namespace DTXMania
                // 言語設定\r
                public COptionString strLanguage;\r
        //      public COptionStringList strLanguageList;\r
+               \r
+               // #36177 2016.7.30 ikanick\r
+               [DataMember( Order = 105 )]\r
+               public COptionBool bLoadDTXDetail;\r
 \r
                [DataMember]\r
                public COptionInteger nBGAlpha;\r
@@ -470,6 +474,7 @@ namespace DTXMania
                        nSoundDeviceType = new COptionEnum<ESoundDeviceTypeForConfig>(FDK.COS.bIsVistaOrLater ? ESoundDeviceTypeForConfig.WASAPI : ESoundDeviceTypeForConfig.DSound);\r
                        bForceHighPowerPlan = new COptionBool( false );\r
                        bEventDrivenWASAPI = new COptionBool( false );\r
+                       bLoadDTXDetail = new COptionBool( false ); \r
 \r
                        // string\r
                        strSongDataPath = new COptionString(@".\");\r
@@ -724,6 +729,7 @@ namespace DTXMania
                        bTimeStretch.Initialize( "strCfgSysTimeStretch" );\r
                        bForceHighPowerPlan.Initialize( "strCfgSysForceHighPowerPlan" );\r
                        bEventDrivenWASAPI.Initialize( "strCfgSysWASAPIEventDriven" );\r
+                       bLoadDTXDetail.Initialize( "strCfgSysLoadDTXDetail" ); // #36177 2016.7.30 ikanick\r
 \r
                        bCymbalFree.Initialize( "strCfgDrCymbalFree" );\r
                        bDrumsHitSound.Initialize( "strCfgDrChipSound" );\r
index de47a4f..bd79792 100644 (file)
@@ -304,7 +304,7 @@ namespace DTXMania
                                for (EPart m = EPart.Drums; m <= EPart.Bass; m++)\r
                                {\r
                                        this.stバー情報[index].nスキル値[m] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[m];\r
-                                       this.stバー情報[index].n使用レーン数[m] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[m];\r
+                                       this.stバー情報[index].e使用レーン数[m] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[m];\r
                                }\r
                                song = this.r次の曲(song);\r
                        }\r
@@ -712,7 +712,7 @@ namespace DTXMania
                                                for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
                                                {\r
                                                        this.stバー情報[index].nスキル値[i] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[i];\r
-                                                       this.stバー情報[index].n使用レーン数[i] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[i];\r
+                                                       this.stバー情報[index].e使用レーン数[i] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[i];\r
                                                }\r
 \r
                                                // 1行(100カウント)移動完了。\r
@@ -770,7 +770,7 @@ namespace DTXMania
                                                for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
                                                {\r
                                                        this.stバー情報[index].nスキル値[i] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[i];\r
-                                                       this.stバー情報[index].n使用レーン数[i] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[i];\r
+                                                       this.stバー情報[index].e使用レーン数[i] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[i];\r
                                                }\r
 \r
 \r
@@ -872,7 +872,7 @@ namespace DTXMania
                                                        #region [ 使用レーン数を描画。]\r
                                                        //-----------------\r
                                                        if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != EPart.Unknown))\r
-                                                               this.t使用レーン数の描画(x + (int)(0 * Scale.X), y + (int)53, this.stバー情報[nパネル番号].n使用レーン数[this.e楽器パート]);\r
+                                                               this.t使用レーン数の描画(x + (int)(0 * Scale.X), y + (int)53, this.stバー情報[nパネル番号].e使用レーン数[this.e楽器パート]);\r
                                                        //-----------------\r
                                                        #endregion\r
                                                }\r
@@ -907,7 +907,7 @@ namespace DTXMania
                                                        #region [ 使用レーン数を描画。]\r
                                                        //-----------------\r
                                                        if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != EPart.Unknown))\r
-                                                               this.t使用レーン数の描画(x + (int)(-14 * Scale.X), y + (int)(11 * Scale.Y), this.stバー情報[nパネル番号].n使用レーン数[this.e楽器パート]);\r
+                                                               this.t使用レーン数の描画(x + (int)(-14 * Scale.X), y + (int)(11 * Scale.Y), this.stバー情報[nパネル番号].e使用レーン数[this.e楽器パート]);\r
                                                        //-----------------\r
                                                        #endregion\r
                                                }\r
@@ -969,7 +969,7 @@ namespace DTXMania
                                                        this.t使用レーン数の描画(\r
                                                                (int)(216 * Scale.X),\r
                                                                (int)(208 * Scale.Y),\r
-                                                               this.stバー情報[nパネル番号].n使用レーン数[this.e楽器パート]\r
+                                                               this.stバー情報[nパネル番号].e使用レーン数[this.e楽器パート]\r
                                                        );\r
                                                //-----------------\r
                                                #endregion\r
@@ -1002,7 +1002,7 @@ namespace DTXMania
                                                #region [ 使用レーン数を描画。]\r
                                                //-----------------\r
                                                if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != EPart.Unknown))\r
-                                                       this.t使用レーン数の描画(x + (int)(-14 * Scale.X), y + (int)(11 * Scale.Y), this.stバー情報[nパネル番号].n使用レーン数[this.e楽器パート]);\r
+                                                       this.t使用レーン数の描画(x + (int)(-14 * Scale.X), y + (int)(11 * Scale.Y), this.stバー情報[nパネル番号].e使用レーン数[this.e楽器パート]);\r
                                                //-----------------\r
                                                #endregion\r
                                        }\r
@@ -1092,7 +1092,7 @@ namespace DTXMania
                        public string strタイトル文字列;\r
                        public CTexture txタイトル名;\r
                        public STDGBSValue<int> nスキル値;\r
-                       public STDGBSValue<EUseLanes> n使用レーン数;\r
+                       public STDGBSValue<EUseLanes> e使用レーン数;\r
                        public Color col文字色;\r
                }\r
 \r
@@ -1301,7 +1301,7 @@ namespace DTXMania
                                for (EPart j = EPart.Drums; j <= EPart.Bass; j++)\r
                                {\r
                                        this.stバー情報[i].nスキル値[j] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[j];\r
-                                       this.stバー情報[i].n使用レーン数[j] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[j];\r
+                                       this.stバー情報[i].e使用レーン数[j] = song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.使用レーン数[j];\r
                                }\r
 \r
                                song = this.r次の曲(song);\r
@@ -1493,8 +1493,7 @@ namespace DTXMania
                                case EUseLanes.Dr_12    : n使用レーン数 = 12; break;\r
                        }\r
 \r
-                       if (n使用レーン数 == 0)\r
-                               return;\r
+                       if (n使用レーン数 == 0) return;\r
 \r
                        int n十の位 = n使用レーン数 / 10;\r
                        int n一の位 = n使用レーン数 % 10;\r
index 3befc30..31f5ee9 100644 (file)
@@ -442,6 +442,7 @@ namespace DTXMania
        // #36177 使用レーン数 ikanick add 16.04.15\r
        public enum EUseLanes : int\r
        {\r
+               None,\r
                Dr_6,\r
                Dr_10,\r
                Dr_12,\r
index 625217c..a98fbf3 100644 (file)
Binary files a/実行時フォルダ/System/resources.csv and b/実行時フォルダ/System/resources.csv differ