OSDN Git Service

#33891 ギター/ベースの判定位置をVシリーズ同等にできるようにした。CONFIGURATION/GuitarまたはBassの、V Seriesという設定で選択可能。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Thu, 26 Jun 2014 17:23:36 +0000 (17:23 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Thu, 26 Jun 2014 17:23:36 +0000 (17:23 +0000)
ただし現在この機能はGRモードの画面でのみ動作する。ドラム画面では動作しない。

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/branches/140113(DTXMania098%20with%2028821%20DTXVmode)@725 16f42ceb-6dc6-49c8-ba94-f2d53467949d

15 files changed:
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏RGB共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/C演奏判定ライン座標共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarRGB.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drums判定文字列.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
実行時フォルダ(DTXCreator)/dll/FDK.dll
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/dll/FDK.dll

index f692264..a065ff9 100644 (file)
@@ -961,6 +961,16 @@ namespace DTXMania
                                "ギターチップが譜面の上から下に流\nれるようになります。",\r
                                "The scroll way is reversed. Guitar chips\nflow from the top to the bottom." );\r
                        this.list項目リスト.Add( this.iGuitarReverse );\r
+\r
+                       this.iSystemVseriesCompatibilityGuitar = new CItemToggle( "V Series", CDTXMania.ConfigIni.bVseries.Guitar,\r
+                               "Vシリーズ相当の判定位置:\n" +\r
+                               "判定ラインとRGBボタンが、少し下側に\n" +\r
+                               "表示されるようになります。",\r
+                               "V Series compatible judge positon\n" +\r
+                               "The judge line and RGB buttons will^n" +\r
+                               "be displayed lower position." );\r
+                       this.list項目リスト.Add( this.iSystemVseriesCompatibilityGuitar );\r
+\r
                        this.iGuitarPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Guitar,\r
                                "ギターの判定文字の表示位置を指定\n" +\r
                                "します。\n" +\r
@@ -1129,6 +1139,16 @@ namespace DTXMania
                                "ベースチップが譜面の上から下に流\nれるようになります。",\r
                                "The scroll way is reversed. Bass chips\nflow from the top to the bottom." );\r
                        this.list項目リスト.Add( this.iBassReverse );\r
+\r
+                       this.iSystemVseriesCompatibilityBass = new CItemToggle( "V Series", CDTXMania.ConfigIni.bVseries.Bass,\r
+                               "Vシリーズ相当の判定位置:\n" +\r
+                               "判定ラインとRGBボタンが、少し下側に\n" +\r
+                               "表示されるようになります。",\r
+                               "V Series compatible judge positon\n" +\r
+                               "The judge line and RGB buttons will^n" +\r
+                               "be displayed lower position." );\r
+                       this.list項目リスト.Add( this.iSystemVseriesCompatibilityBass );\r
+                       \r
                        this.iBassPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常,\r
                                (int) CDTXMania.ConfigIni.判定文字表示位置.Bass,\r
                                "ベースの判定文字の表示位置を指定\n" +\r
@@ -2170,6 +2190,7 @@ namespace DTXMania
                private bool b要素値にフォーカス中;\r
                private CCounter ct三角矢印アニメ;\r
                private Eメニュー種別 eメニュー種別;\r
+               #region [ キーコンフィグ ]\r
                private CItemBase iKeyAssignSystemCapture;                      // #24609\r
                private CItemBase iKeyAssignSystemReturnToMenu;         // #24609\r
                private CItemBase iKeyAssignBassB;\r
@@ -2200,6 +2221,7 @@ namespace DTXMania
                private CItemBase iKeyAssignGuitarR;\r
                private CItemBase iKeyAssignGuitarReturnToMenu;\r
                private CItemBase iKeyAssignGuitarWail;\r
+               #endregion\r
                private CItemToggle iLogOutputLog;\r
                private CItemToggle iSystemAdjustWaves;\r
                private CItemToggle iSystemAudienceSound;\r
@@ -2256,6 +2278,8 @@ namespace DTXMania
                private int iSystemSoundTimerType_initial;                      // #33689 2014.6.17 yyagi\r
 \r
                private CItemToggle iSystemTimeStretch;                         // #23664 2013.2.24 yyagi\r
+               private CItemToggle iSystemVseriesCompatibilityGuitar;  // #33891 2014.6.26 yyagi\r
+               private CItemToggle iSystemVseriesCompatibilityBass;    // #33891 2014.6.26 yyagi\r
 \r
 \r
                private List<CItemBase> list項目リスト;\r
@@ -2451,7 +2475,7 @@ namespace DTXMania
                        CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号;                                // #25370 2011.6.3 yyagi\r
                        CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON;                                   // #25399 2011.6.9 yyagi\r
 \r
-                       CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値;                                                                           // #23559 2911.7.27 yyagi\r
+                       CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値;                                                                           // #23559 2011.7.27 yyagi\r
 \r
                        CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ];                              // #28195 2012.5.2 yyagi\r
                        CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true );\r
@@ -2495,6 +2519,7 @@ namespace DTXMania
 \r
                        CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON;\r
                        CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値;\r
+                       CDTXMania.ConfigIni.bVseries.Bass = this.iSystemVseriesCompatibilityBass.bON;                           // #33891 2014.6.26 yyagi\r
                }\r
                private void tConfigIniへ記録する・Drums()\r
                {\r
@@ -2562,6 +2587,7 @@ namespace DTXMania
 \r
                        CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値;\r
                        CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON;\r
+                       CDTXMania.ConfigIni.bVseries.Guitar = this.iSystemVseriesCompatibilityGuitar.bON;                               // #33891 2014.6.26 yyagi\r
                }\r
                //-----------------\r
                #endregion\r
index f835795..fccecf6 100644 (file)
@@ -55,5 +55,10 @@ namespace DTXMania
                                base.OnManagedリソースの解放();\r
                        }\r
                }\r
+\r
+               public virtual int t進行描画( C演奏判定ライン座標共通 演奏判定ライン座標共通 )\r
+               {\r
+                       return 0;\r
+               }\r
        }\r
 }\r
index d98e5f8..0256ab7 100644 (file)
@@ -19,19 +19,20 @@ namespace DTXMania
 \r
                // メソッド\r
 \r
-               public virtual void Start( int nLane, int n中央X, int n中央Y, STDGBVALUE<int> _nJudgeLinePosY_delta )\r
+               public virtual void Start( int nLane, int n中央X, int n中央Y, C演奏判定ライン座標共通 演奏判定ライン座標 )\r
                {\r
                        if( ( nLane >= 0 ) || ( nLane <= 5 ) )\r
                        {\r
                                this.pt中央位置[ nLane ].X = n中央X;\r
                                this.pt中央位置[ nLane ].Y = n中央Y;\r
                                this.ct進行[ nLane ].t開始( 28, 56, 8, CDTXMania.Timer );           // #24736 2011.2.17 yyagi: (0, 0x38, 4,..) -> (24, 0x38, 8) に変更 ギターチップの光り始めを早くするため\r
-                               this.nJudgeLinePosY_delta = _nJudgeLinePosY_delta;                              // #31602 2013.6.24 yyagi\r
+                               //this.nJudgeLinePosY_delta = _nJudgeLinePosY_delta;                            // #31602 2013.6.24 yyagi\r
+                               this._演奏判定ライン座標 = 演奏判定ライン座標;\r
                                this.bReverse = CDTXMania.ConfigIni.bReverse;                                   //\r
                        }\r
                }\r
 \r
-               public abstract void Start( int nLane, STDGBVALUE<int> _nJudgeLinePosY_delta );\r
+               public abstract void Start( int nLane, C演奏判定ライン座標共通 演奏判定ライン座標 );\r
 //             public abstract void Start( int nLane );\r
 \r
                // CActivity 実装\r
@@ -108,7 +109,7 @@ namespace DTXMania
                                                this.tx火花[ j % 3 ].vc拡大縮小倍率 = new Vector3( scale, scale, 1f );\r
 \r
                                                E楽器パート e楽器パート = ( j < 3 ) ? E楽器パート.GUITAR : E楽器パート.BASS;        // BEGIN #31602 2013.6.24 yyagi\r
-                                               int deltaY=  nJudgeLinePosY_delta[ (int)e楽器パート ];\r
+                                               int deltaY = _演奏判定ライン座標.nJudgeLinePosY_delta[ (int)e楽器パート ];\r
                                                if ( this.bReverse[ (int)e楽器パート ] )\r
                                                {\r
                                                        deltaY = -deltaY;\r
@@ -129,7 +130,8 @@ namespace DTXMania
                private CCounter[] ct進行 = new CCounter[ 6 ];\r
                private Point[] pt中央位置 = new Point[ 6 ];\r
                private CTexture[] tx火花 = new CTexture[ 3 ];\r
-               private STDGBVALUE<int> nJudgeLinePosY_delta = new STDGBVALUE<int>();\r
+               //private STDGBVALUE<int> nJudgeLinePosY_delta = new STDGBVALUE<int>();\r
+               C演奏判定ライン座標共通 _演奏判定ライン座標 = new C演奏判定ライン座標共通();\r
                private STDGBVALUE<bool> bReverse = new STDGBVALUE<bool>();\r
                //-----------------\r
                #endregion\r
index e369ae7..78af869 100644 (file)
@@ -271,6 +271,7 @@ namespace DTXMania
                                                                                                                                                                                                        //        2011.1.7 ikanick 修正\r
                                //this.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ];                // #31602 2013.6.23 yyagi\r
 \r
+                               this.演奏判定ライン座標.bVseries[ k ] = CDTXMania.ConfigIni.bVseries[ k ];\r
                                this.演奏判定ライン座標.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ];\r
                                this.bReverse[ k ]             = CDTXMania.ConfigIni.bReverse[ k ];                                     //\r
 \r
@@ -1671,7 +1672,7 @@ namespace DTXMania
                {\r
                        if ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL )\r
                        {\r
-                               this.actRGB.On進行描画();\r
+                               this.actRGB.t進行描画( 演奏判定ライン座標 );\r
                        }\r
                }\r
                protected void t進行描画・STAGEFAILED()\r
@@ -2596,15 +2597,15 @@ namespace DTXMania
                                        bool bSuccessOPEN = bChipIsO && ( autoR || !pushingR ) && ( autoG || !pushingG ) && ( autoB || !pushingB );\r
                                        if ( ( bChipHasR && ( autoR || pushingR ) && autoPick ) || bSuccessOPEN )\r
                                        {\r
-                                               this.actChipFireGB.Start( 0 + lo, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                               this.actChipFireGB.Start( 0 + lo, 演奏判定ライン座標 );\r
                                        }\r
                                        if ( ( bChipHasG && ( autoG || pushingG ) && autoPick ) || bSuccessOPEN )\r
                                        {\r
-                                               this.actChipFireGB.Start( 1 + lo, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                               this.actChipFireGB.Start( 1 + lo, 演奏判定ライン座標 );\r
                                        }\r
                                        if ( ( bChipHasB && ( autoB || pushingB ) && autoPick ) || bSuccessOPEN )\r
                                        {\r
-                                               this.actChipFireGB.Start( 2 + lo, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                               this.actChipFireGB.Start( 2 + lo, 演奏判定ライン座標 );\r
                                        }\r
                                        #endregion\r
                                        if ( autoPick )\r
@@ -3032,17 +3033,17 @@ namespace DTXMania
                                                        if ( ( bChipHasR && ( autoR || pushingR != 0 ) ) || bSuccessOPEN )\r
                                                        //if ( ( pushingR != 0 ) || autoR || ( flagRGB == 0 ) )\r
                                                        {\r
-                                                               this.actChipFireGB.Start( R, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                                               this.actChipFireGB.Start( R, 演奏判定ライン座標 );\r
                                                        }\r
                                                        if ( ( bChipHasG && ( autoG || pushingG != 0 ) ) || bSuccessOPEN )\r
                                                        //if ( ( pushingG != 0 ) || autoG || ( flagRGB == 0 ) )\r
                                                        {\r
-                                                               this.actChipFireGB.Start( G, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                                               this.actChipFireGB.Start( G, 演奏判定ライン座標 );\r
                                                        }\r
                                                        if ( ( bChipHasB && ( autoB || pushingB != 0 ) ) || bSuccessOPEN )\r
                                                        //if ( ( pushingB != 0 ) || autoB || ( flagRGB == 0 ) )\r
                                                        {\r
-                                                               this.actChipFireGB.Start( B, 演奏判定ライン座標.nJudgeLinePosY_delta );\r
+                                                               this.actChipFireGB.Start( B, 演奏判定ライン座標 );\r
                                                        }\r
                                                        this.tチップのヒット処理( nTime, pChip );\r
                                                        this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.nシステム時刻, inst, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する[indexInst], e判定 == E判定.Poor );\r
index 4f5e94b..3dc0abd 100644 (file)
@@ -14,7 +14,7 @@ namespace DTXMania
                /// 判定ラインのy座標\r
                /// </summary>\r
                private STDGBVALUE<int>[,,] n判定ラインY座標元データ = null;                 // 補正無しの時の座標データ\r
-               //private STDGBVALUE<int>[,] n判定ラインY座標表示位置補正 = null;          // 表示位置の補正データ\r
+               private STDGBVALUE<int>[,,] n演奏RGBボタンY座標元データ = null;\r
 \r
                /// <summary>\r
                /// 表示位置の補正データ\r
@@ -23,10 +23,10 @@ namespace DTXMania
                public STDGBVALUE<int> nJudgeLinePosY_delta;\r
 \r
                /// <summary>\r
-               /// 判定ライン表示位置を、Vシリーズ互換にするかどうか\r
+               /// 判定ライン表示位置を、Vシリーズ互換にするかどうか。\r
+               /// 設定は外部から行うこと。\r
                /// </summary>\r
-               public bool bVseries;\r
-\r
+               public STDGBVALUE<bool> bVseries;\r
 \r
                /// <summary>\r
                /// コンストラクタ(座標値の初期化)\r
@@ -37,12 +37,12 @@ namespace DTXMania
                        #region [ 判定ライン座標の初期化]\r
                        // Normal, Drums画面, 判定ライン\r
                        n判定ラインY座標元データ[ 0, 0, 0 ].Drums  = 0;              //未使用\r
-                       n判定ラインY座標元データ[ 0, 0, 0 ].Guitar = 95 - 3;\r
-                       n判定ラインY座標元データ[ 0, 0, 0 ].Bass   = 95 - 3;\r
+                       n判定ラインY座標元データ[ 0, 0, 0 ].Guitar = 95;\r
+                       n判定ラインY座標元データ[ 0, 0, 0 ].Bass   = 95;\r
                        // Reverse, Drums画面, 判定ライン\r
                        n判定ラインY座標元データ[ 1, 0, 0 ].Drums  = 0;              //未使用\r
-                       n判定ラインY座標元データ[ 1, 0, 0 ].Guitar = 374 - 3;\r
-                       n判定ラインY座標元データ[ 1, 0, 0 ].Bass   = 374 - 3;\r
+                       n判定ラインY座標元データ[ 1, 0, 0 ].Guitar = 374;\r
+                       n判定ラインY座標元データ[ 1, 0, 0 ].Bass   = 374;\r
                        // Normal, Drums画面, Wailing枠\r
                        n判定ラインY座標元データ[ 0, 0, 1 ].Drums  = 0;              //未使用\r
                        n判定ラインY座標元データ[ 0, 0, 1 ].Guitar = 69;\r
@@ -54,12 +54,12 @@ namespace DTXMania
 \r
                        // Normal, GR画面, 判定ライン\r
                        n判定ラインY座標元データ[ 0, 1, 0 ].Drums  = 0;              //未使用\r
-                       n判定ラインY座標元データ[ 0, 1, 0 ].Guitar = 40 - 3;\r
-                       n判定ラインY座標元データ[ 0, 1, 0 ].Bass   = 40 - 3;\r
+                       n判定ラインY座標元データ[ 0, 1, 0 ].Guitar = 40;\r
+                       n判定ラインY座標元データ[ 0, 1, 0 ].Bass   = 40;\r
                        // Reverse, GR画面, 判定ライン\r
                        n判定ラインY座標元データ[ 1, 1, 0 ].Drums  = 0;              //未使用\r
-                       n判定ラインY座標元データ[ 1, 1, 0 ].Guitar = 369 - 3;\r
-                       n判定ラインY座標元データ[ 1, 1, 0 ].Bass   = 369 - 3;\r
+                       n判定ラインY座標元データ[ 1, 1, 0 ].Guitar = 369;\r
+                       n判定ラインY座標元データ[ 1, 1, 0 ].Bass   = 369;\r
                        // Normal, GR画面, Wailing枠\r
                        n判定ラインY座標元データ[ 0, 1, 1 ].Drums  = 0;              //未使用\r
                        n判定ラインY座標元データ[ 0, 1, 1 ].Guitar = 11;\r
@@ -70,6 +70,48 @@ namespace DTXMania
                        n判定ラインY座標元データ[ 1, 1, 1 ].Bass   = 340;\r
                        #endregion\r
 \r
+                       n演奏RGBボタンY座標元データ = new STDGBVALUE<int>[ 2, 2, 2 ];\r
+                       #region [ RGBボタン座標の初期化]\r
+                       // Normal, Drums画面, RGBボタン\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 0 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 0 ].Guitar = 0;\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 0 ].Bass   = 0;\r
+                       // Reverse, Drums画面, RGBボタン\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 0 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 0 ].Guitar = 0;\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 0 ].Bass   = 0;\r
+                       // Normal, Drums画面, RGBボタン(Vシリーズ)\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 1 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 1 ].Guitar = 0;\r
+                       n演奏RGBボタンY座標元データ[ 0, 0, 1 ].Bass   = 0;\r
+                       // Reverse, Drums画面, RGBボタン(Vシリーズ)\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 1 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 1 ].Guitar = 0;\r
+                       n演奏RGBボタンY座標元データ[ 1, 0, 1 ].Bass   = 0;\r
+\r
+                       // Normal, GR画面, RGBボタン\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 0 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 0 ].Guitar = 3;\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 0 ].Bass   = 3;\r
+                       // Reverse, GR画面, RGBボタン\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 0 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 0 ].Guitar = 3;\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 0 ].Bass   = 3;\r
+                       // Normal, GR画面, RGBボタン(Vシリーズ)\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 1 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 1 ].Guitar = 44;\r
+                       n演奏RGBボタンY座標元データ[ 0, 1, 1 ].Bass   = 44;\r
+                       // Reverse, GR画面, RGBボタン(Vシリーズ)\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 1 ].Drums  = 0;           // 未使用\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 1 ].Guitar = 44;\r
+                       n演奏RGBボタンY座標元データ[ 1, 1, 1 ].Bass   = 44;\r
+                       #endregion\r
+\r
+                       bVseries = new STDGBVALUE<bool>();\r
+                       bVseries.Drums  = false;\r
+                       bVseries.Guitar = false;\r
+                       bVseries.Bass   = false;\r
+\r
                        // 補正値は、Normal/Reverse, Drums/GR画面共通\r
                        nJudgeLinePosY_delta.Drums  = 0;\r
                        nJudgeLinePosY_delta.Guitar = 0;\r
@@ -84,22 +126,27 @@ namespace DTXMania
                /// <param name="eInst">E楽器パート</param>\r
                /// <param name="bGRmode">GRmodeか否か</param>\r
                /// <param name="bReverse">Reverseか否か</param>\r
-               /// <param name="bReverse">Wailing枠の座標か、判定ラインの座標か</param>\r
                /// <returns></returns>\r
                public int n判定ラインY座標( E楽器パート eInst, bool bGRmode, bool bReverse )\r
                {\r
                        return n判定ラインY座標( eInst, bGRmode, bReverse, false );\r
                }\r
-               \r
+\r
+               public int n判定ラインY座標( E楽器パート eInst, bool bGRmode, bool bReverse, bool bWailingFrame )\r
+               {\r
+                       return n判定ラインY座標( eInst, bGRmode, bReverse, bWailingFrame, false );\r
+               }\r
+\r
                /// <summary>\r
                /// 判定ラインのY座標を返す。とりあえずGuitar/Bassのみ対応。\r
                /// </summary>\r
                /// <param name="eInst">E楽器パート</param>\r
                /// <param name="bGRmode">GRmodeか否か</param>\r
                /// <param name="bReverse">Reverseか否か</param>\r
-               /// <param name="bReverse">Wailing枠の座標か、判定ラインの座標か</param>\r
+               /// <param name="bWailingFrame">Wailing枠の座標か、判定ラインの座標か</param>\r
+               /// <param name="b補正あり">プレーヤーのライン表示位置補正情報を加えるかどうか</param>\r
                /// <returns></returns>\r
-               public int n判定ラインY座標( E楽器パート eInst, bool bGRmode, bool bReverse, bool bWailingFrame )\r
+               public int n判定ラインY座標( E楽器パート eInst, bool bGRmode, bool bReverse, bool bWailingFrame, bool b補正あり )\r
                {\r
                        if ( eInst == E楽器パート.DRUMS )\r
                        {\r
@@ -116,16 +163,40 @@ namespace DTXMania
                                int nWailing = bWailingFrame ? 1 : 0;\r
                                int nInst    = (int) eInst;\r
                                int ret = this.n判定ラインY座標元データ[ nReverse, nGRmode, nWailing ][ nInst ];             // 補正無しの値\r
-                               if ( bReverse )                                                                                                                                                 // 補正を追加\r
+                               if ( bReverse )\r
                                {\r
-                                       ret += nJudgeLinePosY_delta[ nInst ];\r
+                                       if ( bVseries[ nInst] ) ret += 13;\r
+                                       if ( b補正あり )            ret += nJudgeLinePosY_delta[ nInst ];\r
                                }\r
                                else\r
                                {\r
-                                       ret -= nJudgeLinePosY_delta[ nInst ];\r
+                                       if ( bVseries[ nInst] ) ret += 52;\r
+                                       if ( b補正あり )            ret -= nJudgeLinePosY_delta[ nInst ];\r
                                }\r
                                return ret;\r
                        }\r
                }\r
+\r
+               public int n演奏RGBボタンY座標( E楽器パート eInst, bool bGRmode, bool bReverse )\r
+               {\r
+                       if ( eInst == E楽器パート.DRUMS )\r
+                       {\r
+                               throw new NotImplementedException();\r
+                       }\r
+                       else if ( eInst == E楽器パート.UNKNOWN )\r
+                       {\r
+                               throw new ArgumentOutOfRangeException();\r
+                       }\r
+                       else\r
+                       {\r
+                               int nInst    = (int) eInst;\r
+                               int nGRmode  = bGRmode ?  1 : 0;\r
+                               int nReverse = bReverse ? 1 : 0;\r
+                               int nVseries = bVseries[ nInst ] ? 1 : 0;\r
+                               int ret = n演奏RGBボタンY座標元データ[ nReverse, nGRmode, nVseries ][ nInst ];               // 補正無しの値\r
+\r
+                               return ret;\r
+                       }\r
+               }\r
        }\r
 }\r
index 53ed2ab..8dddd1d 100644 (file)
@@ -19,6 +19,10 @@ namespace DTXMania
 \r
                public override int On進行描画()\r
                {\r
+                       throw new InvalidOperationException( "t進行描画(C演奏判定ライン座標共通 演奏判定ライン共通 ) のほうを使用してください。" );\r
+               }\r
+               public override int t進行描画( C演奏判定ライン座標共通 演奏判定ライン座標 )\r
+               {\r
                        if( !base.b活性化してない )\r
                        {\r
                                if( !CDTXMania.ConfigIni.bGuitar有効 )\r
@@ -37,7 +41,9 @@ namespace DTXMania
                                                }\r
                                                if( base.txRGB != null )\r
                                                {\r
-                                                       base.txRGB.t2D描画( CDTXMania.app.Device, 0x1f + ( j * 0x24 ), 3, rectangle );\r
+                                                       int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar );\r
+                                               //      int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar, false, false );\r
+                                                       base.txRGB.t2D描画( CDTXMania.app.Device, 0x1f + ( j * 0x24 ), y, rectangle );\r
                                                }\r
                                        }\r
                                }\r
@@ -45,15 +51,17 @@ namespace DTXMania
                                {\r
                                        for( int k = 0; k < 3; k++ )\r
                                        {\r
-                                               int num4 = CDTXMania.ConfigIni.bLeft.Bass ? ( 2 - k ) : k;\r
-                                               Rectangle rectangle2 = new Rectangle( num4 * 0x18, 0, 0x18, 0x20 );\r
-                                               if( base.b押下状態[ num4 + 3 ] )\r
+                                               int index = CDTXMania.ConfigIni.bLeft.Bass ? ( 2 - k ) : k;\r
+                                               Rectangle rectangle2 = new Rectangle( index * 0x18, 0, 0x18, 0x20 );\r
+                                               if( base.b押下状態[ index + 3 ] )\r
                                                {\r
                                                        rectangle2.Y += 0x20;\r
                                                }\r
                                                if( base.txRGB != null )\r
                                                {\r
-                                                       base.txRGB.t2D描画( CDTXMania.app.Device, 0x1e5 + ( k * 0x24 ), 3, rectangle2 );\r
+                                                       int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass );\r
+                                                       //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass, false, false );\r
+                                                       base.txRGB.t2D描画( CDTXMania.app.Device, 0x1e5 + ( k * 0x24 ), y, rectangle2 );\r
                                                }\r
                                        }\r
                                }\r
index 171e5e7..3b4b0bb 100644 (file)
@@ -17,7 +17,7 @@ namespace DTXMania
                \r
                // メソッド\r
 \r
-               public override void Start( int nLane, STDGBVALUE<int> _nJudgeLinePosY_delta )\r
+               public override void Start( int nLane, C演奏判定ライン座標共通 演奏判定ライン座標 )\r
                {\r
                        if( ( nLane < 0 ) && ( nLane > 5 ) )\r
                        {\r
@@ -30,12 +30,13 @@ namespace DTXMania
                                index = ( ( index / 3 ) * 3 ) + ( 2 - ( index % 3 ) );\r
                        }\r
                        int x = this.pt中央[ index ].X;\r
-                       int y = this.pt中央[ index ].Y;\r
-                       if ( CDTXMania.ConfigIni.bReverse[ (int)e楽器パート ] )\r
-                       {\r
-                               y = ( nLane < 3 ) ? 369 : 369;\r
-                       }\r
-                       base.Start( nLane, x, y, _nJudgeLinePosY_delta );\r
+                       //int y = this.pt中央[ index ].Y;\r
+                       int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, true, CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] );\r
+                       //if ( CDTXMania.ConfigIni.bReverse[ (int)e楽器パート ] )\r
+                       //{\r
+                       //    y = 369;\r
+                       //}\r
+                       base.Start( nLane, x, y, 演奏判定ライン座標 );\r
                }\r
 \r
 \r
index 20f6d55..7a135b8 100644 (file)
@@ -249,7 +249,7 @@ namespace DTXMania
                        {\r
                                if ( CDTXMania.DTX.bチップがある.Guitar )\r
                                {\r
-                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, bReverse[ (int) E楽器パート.GUITAR ] );\r
+                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, bReverse[ (int) E楽器パート.GUITAR ] ) - 3;\r
                                                                                                                        // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする\r
                                        if ( this.txヒットバー != null )\r
                                        {\r
@@ -261,7 +261,7 @@ namespace DTXMania
                                }\r
                                if ( CDTXMania.DTX.bチップがある.Bass )\r
                                {\r
-                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, bReverse[ (int) E楽器パート.BASS   ] );\r
+                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, bReverse[ (int) E楽器パート.BASS   ] ) - 3;\r
                                                                                                                        // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする\r
                                        if ( this.txヒットバー != null )\r
                                        {\r
@@ -331,7 +331,10 @@ namespace DTXMania
                protected override void t進行描画・チップ・ギターベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽器パート inst )\r
                {\r
                        base.t進行描画・チップ・ギターベース( configIni, ref dTX, ref pChip, inst,\r
-                               40, 369, 0, 409, 26, 480, 0, 192, 103, 8, 32, 26, 98, 480, 552, 36, 32 );\r
+                               演奏判定ライン座標.n判定ラインY座標( inst, true, false ),       // 40\r
+                               演奏判定ライン座標.n判定ラインY座標( inst, true, true ),        // 369\r
+                               0, 409, 26, 480, 0, 192, 103, 8, 32, 26, 98, 480, 552, 36, 32\r
+                       );\r
                }\r
 #if false\r
                protected override void t進行描画・チップ・ギターベース( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, E楽器パート inst )\r
@@ -467,7 +470,10 @@ namespace DTXMania
                                        {\r
                                                this.txチップ.n透明度 = pChip.n透明度;\r
                                        }\r
-                                       int[] y_base = { 40, 369 };                     // ドラム画面かギター画面かで変わる値\r
+                                       int[] y_base = {\r
+                                               演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, false ),            // 40\r
+                                               演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, true )              // 369\r
+                                       };                      // ドラム画面かギター画面かで変わる値\r
                                        int offset = 0;                                         // ドラム画面かギター画面かで変わる値\r
 \r
                                        const int WailingWidth = 20;            // 4種全て同じ値\r
@@ -660,7 +666,10 @@ namespace DTXMania
                                        {\r
                                                this.txチップ.n透明度 = pChip.n透明度;\r
                                        }\r
-                                       int[] y_base = { 40, 369 };                     // ドラム画面かギター画面かで変わる値\r
+                                       int[] y_base = {\r
+                                               演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, false ),            // 40\r
+                                               演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, true )              // 369\r
+                                       };                      // ドラム画面かギター画面かで変わる値\r
                                        int offset = 0;                                         // ドラム画面かギター画面かで変わる値\r
 \r
                                        const int WailingWidth = 20;            // 4種全て同じ値\r
index db7d17f..8e9778c 100644 (file)
@@ -9,7 +9,7 @@ namespace DTXMania
        {\r
                // メソッド\r
 \r
-               public override void Start( int nLane, STDGBVALUE<int> _nJudgeLinePosY_delta )\r
+               public override void Start( int nLane, C演奏判定ライン座標共通 演奏判定ライン座標 )\r
                {\r
                        if( ( nLane < 0 ) && ( nLane > 5 ) )\r
                        {\r
@@ -22,13 +22,14 @@ namespace DTXMania
                                index = ( ( index / 3 ) * 3 ) + ( 2 - ( index % 3 ) );\r
                        }\r
                        int x = this.pt中央[ index ].X;\r
-                       int y = this.pt中央[ index ].Y;\r
-                       if ( CDTXMania.ConfigIni.bReverse[ (int)e楽器パート ] )\r
-                       {\r
-                               y = ( nLane < 3 ) ? 374 : 374;\r
+                       //int y = this.pt中央[ index ].Y;\r
+                       int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, true, CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] );\r
+                       //if ( CDTXMania.ConfigIni.bReverse[ (int)e楽器パート ] )\r
+                       //{\r
+                       //    y = 374;\r
 \r
-                       }\r
-                       base.Start( nLane, x, y, _nJudgeLinePosY_delta );\r
+                       //}\r
+                       base.Start( nLane, x, y, 演奏判定ライン座標 );\r
 \r
                }\r
 \r
@@ -37,7 +38,14 @@ namespace DTXMania
 \r
                #region [ private ]\r
                //-----------------\r
-               private readonly Point[] pt中央 = new Point[] { new Point( 0x207, 0x5f ), new Point( 0x221, 0x5f ), new Point( 0x23b, 0x5f ), new Point( 410, 0x5f ), new Point( 0x1b4, 0x5f ), new Point( 0x1ce, 0x5f ) };\r
+               private readonly Point[] pt中央 = new Point[] {\r
+                       new Point( 519, 95 ),   // GtR\r
+                       new Point( 545, 95 ),   // GtG\r
+                       new Point( 571, 95 ),   // GtB\r
+                       new Point( 410, 95 ),           // BsR\r
+                       new Point( 436, 95 ),   // BsG\r
+                       new Point( 462, 95 )    // BsB\r
+               };\r
                //-----------------\r
                #endregion\r
        }\r
index f99389b..9896c46 100644 (file)
@@ -139,11 +139,6 @@ namespace DTXMania
                                                        {\r
                                                                continue;\r
                                                        }\r
-                                                       //baseX = this.stレーンサイズ[ j ].x;\r
-                                                       //baseY = CDTXMania.ConfigIni.bReverse.Bass ?\r
-                                                       //      ( ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.レーン上 ) ? 240 : 100 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) :\r
-                                                       //      ( ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.レーン上 ) ? 180 : 300 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ) );\r
-                                               \r
                                                        switch ( CDTXMania.ConfigIni.判定文字表示位置.Bass )\r
                                                        {\r
                                                                case E判定文字表示位置.コンボ下:\r
@@ -167,19 +162,6 @@ namespace DTXMania
                                                        {\r
                                                                continue;\r
                                                        }\r
-                                                       //if( !CDTXMania.DTX.bチップがある.Bass && ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.コンボ下 ) )    // 判定ライン上または横\r
-                                                       //{\r
-                                                       //    baseX = 0x198;\r
-                                                       //    baseY = 0x93;\r
-                                                       //}\r
-                                                       //else\r
-                                                       //{\r
-                                                       //    baseX = this.stレーンサイズ[ j ].x;\r
-                                                       //    baseY = CDTXMania.ConfigIni.bReverse.Guitar ?\r
-                                                       //        ( ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.レーン上 ) ? 240 : 100 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) :\r
-                                                       //        ( ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.レーン上 ) ? 180 : 300 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ) );\r
-                                                       //}\r
-\r
                                                        switch ( CDTXMania.ConfigIni.判定文字表示位置.Guitar )\r
                                                        {\r
                                                            case E判定文字表示位置.コンボ下:\r
index be1fdc5..3ea3a81 100644 (file)
@@ -468,7 +468,7 @@ Trace.TraceInformation( "rc演奏用タイマ.n現在時刻=" + CSound管理.rc
                        {\r
                                if ( CDTXMania.DTX.bチップがある.Guitar )\r
                                {\r
-                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, bReverse[ (int) E楽器パート.GUITAR ] );\r
+                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, bReverse[ (int) E楽器パート.GUITAR ] ) - 3;\r
                                                                                                                                // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする\r
                                        if ( this.txヒットバーGB != null )\r
                                        {\r
@@ -481,7 +481,7 @@ Trace.TraceInformation( "rc演奏用タイマ.n現在時刻=" + CSound管理.rc
                                }\r
                                if ( CDTXMania.DTX.bチップがある.Bass )\r
                                {\r
-                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS,   false, bReverse[ (int) E楽器パート.BASS   ] );\r
+                                       int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS,   false, bReverse[ (int) E楽器パート.BASS   ] ) - 3;\r
                                                                                                                                // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする\r
                                        if ( this.txヒットバーGB != null )\r
                                        {\r
index 68dff48..ab0097b 100644 (file)
@@ -437,6 +437,7 @@ namespace DTXMania
                public bool bLog曲検索ログ出力;\r
                public bool bLog作成解放ログ出力;\r
                public STDGBVALUE<bool> bReverse;\r
+               public STDGBVALUE<bool> bVseries;                       // #33891 2014.6.26 yyagi\r
                public bool bScoreIniを出力する;\r
                public bool bSTAGEFAILED有効;\r
                public STDGBVALUE<bool> bSudden;\r
@@ -1084,6 +1085,7 @@ namespace DTXMania
                        this.eRandom = new STDGBVALUE<Eランダムモード>();\r
                        this.bLight = new STDGBVALUE<bool>();\r
                        this.bLeft = new STDGBVALUE<bool>();\r
+                       this.bVseries = new STDGBVALUE<bool>();                         // #33891 2014.6.26 yyagi\r
                        this.判定文字表示位置 = new STDGBVALUE<E判定文字表示位置>();\r
                        this.n譜面スクロール速度 = new STDGBVALUE<int>();\r
                        this.nInputAdjustTimeMs = new STDGBVALUE<int>();        // #23580 2011.1.3 yyagi\r
@@ -1103,6 +1105,7 @@ namespace DTXMania
                                this.nJudgeLinePosOffset[ i ] = 0;\r
                                this.eInvisible[ i ] = EInvisible.OFF;\r
                                this.nViewerScrollSpeed[ i ] = 1;\r
+                               this.bVseries[ i ] = false;\r
                        }\r
                        this.n演奏速度 = 20;\r
                        #region [ AutoPlay ]\r
@@ -1569,6 +1572,12 @@ namespace DTXMania
                        sw.WriteLine( "JudgeLinePosOffsetDrums={0}",  this.nJudgeLinePosOffset.Drums );         //\r
                        sw.WriteLine( "JudgeLinePosOffsetGuitar={0}", this.nJudgeLinePosOffset.Guitar );        //\r
                        sw.WriteLine( "JudgeLinePosOffsetBass={0}",   this.nJudgeLinePosOffset.Bass );          //\r
+\r
+                       sw.WriteLine( "; 判定ラインの表示位置(ギター, ベース)をVシリーズ互換にするかどうか" );    // #33891 2014.6.26 yyagi\r
+                       sw.WriteLine( "; Position of the Judgement line and RGB button; Vseries compatible(1) or not(0)." );    //\r
+                       sw.WriteLine( "JudgeLinePosCompatibilityGuitar={0}", this.bVseries.Guitar ? 1 : 0 );    //\r
+                       sw.WriteLine( "JudgeLinePosCompatibilityBass={0}", this.bVseries.Bass ? 1 : 0 );                //\r
+                       \r
                        sw.WriteLine();\r
                        #endregion\r
                        #region [ VelocityMin ]\r
@@ -2434,6 +2443,14 @@ namespace DTXMania
                                                                                        {\r
                                                                                                this.nJudgeLinePosOffset.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 99, this.nJudgeLinePosOffset.Bass );\r
                                                                                        }\r
+                                                                                       else if ( str3.Equals( "JudgeLinePosCompatibilityGuitar" ) )    // #33891 2014.6.26 yyagi\r
+                                                                                       {\r
+                                                                                               this.bVseries.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "JudgeLinePosCompatibilityBass" ) )              // #33891 2014.6.26 yyagi\r
+                                                                                       {\r
+                                                                                               this.bVseries.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
                                                                                        #endregion\r
                                                                                        else if( str3.Equals( "BufferedInput" ) )\r
                                                                                        {\r
index 8861a13..01a1049 100644 (file)
Binary files a/実行時フォルダ(DTXCreator)/dll/FDK.dll and b/実行時フォルダ(DTXCreator)/dll/FDK.dll differ
index 6b80795..cdcf4ab 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index 8861a13..01a1049 100644 (file)
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ