OSDN Git Service

作業部屋50726 SkinConfig.iniでXG風画面か否かを判別するように変更。
authorkairera0467 <gennsou76573@gmail.com>
Sun, 24 Dec 2017 12:09:19 +0000 (21:09 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Sun, 24 Dec 2017 12:09:19 +0000 (21:09 +0900)
作業部屋50728 matixx選曲画面のbox用テクスチャが全てのパターンで表示されるようにした。
#xxxxx XG風表示のConfig画面に説明文表示が出ていなかったのを修正。
#xxxxx GITADORA風曲読み込み画面で落ちないよう修正
#xxxxx GITADORA風演奏画面の場合JudgeAnimeTypeCを使うと落ちていたので修正

DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigListXG.cs
DTXManiaプロジェクト/コード/ステージ/05.選曲/GITADORA/CActSelect曲リストGITADORA.cs
DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CAct演奏Drums判定文字列GD.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
DTXManiaプロジェクト/コード/全体/CSkin.cs
実行時フォルダ/DTXManiaGR.exe

index 1200e4b..44819bf 100644 (file)
@@ -53,6 +53,13 @@ namespace DTXMania
         //}
         #endregion
 
+        public override void On活性化()
+        {
+            this.prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), 20 );
+                       this.ftフォント = new Font( "MS PGothic", 18.0f, FontStyle.Bold, GraphicsUnit.Pixel );
+            base.On活性化();
+        }
+
         public override void OnManagedリソースの作成()
         {
             base.OnManagedリソースの作成();
@@ -63,14 +70,7 @@ namespace DTXMania
             CDTXMania.tテクスチャの解放( ref this.tx説明文パネル );
             base.OnManagedリソースの解放();
         }
-
-        public override void On活性化()
-        {
-            this.prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), 20 );
-                       this.ftフォント = new Font( "MS PGothic", 18.0f, FontStyle.Bold, GraphicsUnit.Pixel );
-            base.On活性化();
-        }
-
+        
         public override int On進行描画()
                {
                        throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );
@@ -369,6 +369,11 @@ namespace DTXMania
                        }
                        //-----------------
                        #endregion
+
+            #region[ 説明文パネル ]
+            if( this.tx説明文 != null )
+                this.tx説明文.t2D描画( CDTXMania.app.Device, 0x43, 0x17e );
+            #endregion
                        
                        #region [ 項目リストにフォーカスがあって、かつスクロールが停止しているなら、パネルの上下に▲印を描画する。]
                        //-----------------
index 4de4bd3..23a0777 100644 (file)
@@ -529,6 +529,10 @@ namespace DTXMania
                             {
                                 this.txバー選択中.t2D描画( CDTXMania.app.Device, 660, 312 );
                             }
+                            if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Box || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.BackBox ) && this.txバー_フォルダ != null )
+                            {
+                                this.txバー_フォルダ.t2D描画( CDTXMania.app.Device, 660, 315 );
+                            }
                                                        //-----------------
                                                        #endregion
                                                        #region [ タイトル名テクスチャを描画。]
@@ -540,7 +544,7 @@ namespace DTXMania
                             //-----------------
                             #endregion
                             #region[ ジャケット画像を描画 ]
-                            if( this.txTumbnail[ nパネル番号 ] != null )
+                            if( this.txTumbnail[ nパネル番号 ] != null && ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Random ) )
                             {
                                 //縮小 64x64
                                 float fRetW = 64.0f / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width;
@@ -583,10 +587,14 @@ namespace DTXMania
 //                            int x = i選曲バーX座標 + 500 - (int)(db割合0to1 * 500);
                                                        int y = this.ptバーの基本座標[ i ].Y;
 //                                                     this.tバーの描画( x, y, this.stバー情報[ nパネル番号 ].eバー種別, false );
+                            if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Box || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.BackBox ) && this.txバー_フォルダ != null )
+                            {
+                                this.txバー_フォルダ.t2D描画( CDTXMania.app.Device, 691, y - 12 );
+                            }
                                                        //-----------------
                                                        #endregion
                             #region[ ジャケット画像とクリアマークを描画 ]
-                            if( this.txTumbnail[ nパネル番号 ] != null )
+                            if( this.txTumbnail[ nパネル番号 ] != null && ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Random ) )
                             {
                                 //縮小 64x64
                                 float fRetW = 64.0f / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width;
@@ -656,10 +664,14 @@ namespace DTXMania
                             {
                                 this.txバー選択中.t2D描画( CDTXMania.app.Device, 660, 312 );
                             }
+                            if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Box || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.BackBox ) && this.txバー_フォルダ != null )
+                            {
+                                this.txバー_フォルダ.t2D描画( CDTXMania.app.Device, 660, y - 7 );
+                            }
                             //-----------------
                             #endregion
                             #region[ ジャケット画像とクリアマークを描画 ]
-                            if( this.txTumbnail[ nパネル番号 ] != null )
+                            if( this.txTumbnail[ nパネル番号 ] != null && ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Random ) )
                             {
                                 //縮小 64x64
                                 float fRetW = 64.0f / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width;
@@ -731,12 +743,12 @@ namespace DTXMania
                         //}
                         if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Box || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.BackBox ) && this.txバー_フォルダ != null )
                         {
-                            this.txバー_フォルダ.t2D描画( CDTXMania.app.Device, 660, y - 12 );
+                            this.txバー_フォルダ.t2D描画( CDTXMania.app.Device, 691, y - 12 );
                         }
                                                //-----------------
                                                #endregion
                         #region[ ジャケット画像とクリアマークを描画 ]
-                        if( this.txTumbnail[ nパネル番号 ] != null )
+                        if( this.txTumbnail[ nパネル番号 ] != null && ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score || this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Random ) )
                         {
                             //縮小 64x64
                             float fRetW = 64.0f / this.txTumbnail[ nパネル番号 ].szテクスチャサイズ.Width;
@@ -1070,6 +1082,11 @@ namespace DTXMania
         }
         private CTexture t指定された文字テクスチャを生成してバーに格納する( int nバー番号, string str文字, Eバー種別 eType )
         {
+            if( eType == Eバー種別.Random ) // 2017.12.24 ランダムの場合、固有の文字列を付与する
+            {
+                str文字 = "ランダムカテゴリー内";
+            }
+
             Bitmap bmp;
             bmp = prvFont.DrawPrivateFont( str文字, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, Color.White, Color.White, true );
             CTexture tx文字テクスチャ = CDTXMania.tテクスチャの生成( bmp, false );
index a87bf8f..02ca2f8 100644 (file)
@@ -22,10 +22,6 @@ namespace DTXMania
                        base.b活性化してない = true;
                        base.list子Activities.Add( this.actFI = new CActFIFOBlack() ); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略
                        base.list子Activities.Add( this.actFO = new CActFIFOBlack() );
-
-            if( !CDTXMania.bXGRelease ) {
-                this.actLoadMain = new CAct曲読み込みメイン画面GD();
-            }
                }
 
 
@@ -37,6 +33,10 @@ namespace DTXMania
                        Trace.Indent();
                        try
                        {
+                if( !CDTXMania.bXGRelease && this.actLoadMain == null ) {
+                    this.actLoadMain = new CAct曲読み込みメイン画面GD(); // 2017.12.24 スキン依存で生成の有無を決めるため、こちらに移動。
+                }
+
                                this.str曲タイトル = "";
                                this.strSTAGEFILE = "";
                                this.b音符を表示する = false;
index 4452ce4..cf78341 100644 (file)
@@ -1437,7 +1437,9 @@ namespace DTXMania
                             int num4 = 0;
                             int num5 = 0;
                             int num6 = 0;
-                            int nJudgePosY = CDTXMania.stage演奏ドラム画面.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
+                            int nJudgePosY = 0;
+                            if( CDTXMania.bXGRelease ) CDTXMania.stage演奏ドラム画面.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
+                            else CDTXMania.stage演奏ドラム画面GITADORA.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, CDTXMania.ConfigIni.bReverse.Drums, false, true );
                             base.iP_A = nJudgePosY - 211;
                             base.iP_B = nJudgePosY + 23; //これは固定値にしてもいいのではないか?
                             if( j < 10 )
index 49a3294..2be169a 100644 (file)
@@ -27,7 +27,7 @@ namespace DTXMania
         //public static readonly string D3DXDLL = "d3dx9_42.dll";      // February 2010
         //public static readonly string D3DXDLL = "d3dx9_41.dll";      // March 2009
         //public static readonly bool bXGRelease = true; //システム内部にGITADORA風表示とで大きく異る箇所があるので、わかりやすくなるようにフラグを作成。
-        public static readonly bool bXGRelease = false;
+        public static bool bXGRelease = false;
 
                public static CDTXMania app
                {
index 725cb76..60f5496 100644 (file)
@@ -846,6 +846,10 @@ namespace DTXMania
                             str3 = strArray[0].Trim();
                             str4 = strArray[1].Trim();
                             //-----------------------------
+                            if (str3.Equals("SkinType"))
+                            {
+                                CDTXMania.bXGRelease = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, 0 ) == 0 ? true : false;
+                            }
                             if (str3.Equals("NamePlateType"))
                             {
                                 CDTXMania.ConfigIni.eNamePlateType = (Eタイプ)C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int)CDTXMania.ConfigIni.eNamePlateType );
index f7eb7b6..c90aa1e 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ