OSDN Git Service

作業部屋50733 読み込み画面の背景画像が一瞬だけ遅れて描画される不具合の修正
authorkairera0467 <gennsou76573@gmail.com>
Sat, 23 Dec 2017 06:12:21 +0000 (15:12 +0900)
committerkairera0467 <gennsou76573@gmail.com>
Sat, 23 Dec 2017 06:12:21 +0000 (15:12 +0900)
#xxxxx GITADORA風表示のみ、読み込み画面が表示される最小時間の変更
#xxxxx matixx風コンボ数表示の描画を多少変更
#xxxxx 演奏画面の外側フレーム表示に対応

DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Combo共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/GITADORA/ドラム画面/CStage演奏ドラム画面GD.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/dll/FDK.dll

index 765e485..66a8c8b 100644 (file)
@@ -283,7 +283,18 @@ namespace DTXMania
                {
                        if( !base.b活性化してない )
                        {
-                               this.tx背景 = CDTXMania.tテクスチャの生成( this.strSTAGEFILE, false );
+                if( CDTXMania.bXGRelease )
+                {
+                                   this.tx背景 = CDTXMania.tテクスチャの生成( this.strSTAGEFILE, false );
+                }
+                else
+                {
+                    if( CDTXMania.ConfigIni.bDrums有効 ) {
+                        this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\6_background Drums.png" ) );
+                    } else {
+                        this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\6_background Guitar.png" ) );
+                    }
+                }
                 base.OnManagedリソースの作成();
                        }
                }
@@ -366,12 +377,7 @@ namespace DTXMania
                     this.actLoadMain.t難易度パネルの描画( CDTXMania.stage選曲GITADORA.n確定された曲の難易度 );
                     this.actLoadMain.t曲名アーティスト名テクスチャの生成( CDTXMania.stage選曲GITADORA.r確定された曲.strタイトル, CDTXMania.stage選曲GITADORA.r確定されたスコア.譜面情報.アーティスト名 );
                 }
-                if( CDTXMania.ConfigIni.bDrums有効 ) {
-                    this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\6_background Drums.png" ) );
-                } else {
-                    this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\6_background Guitar.png" ) );
-                }
-
+                
                 this.actLoadMain.On進行描画();
             }
 
@@ -665,15 +671,32 @@ namespace DTXMania
                                                if( nCurrentTime < this.nBGM再生開始時刻 )
                                                        this.nBGM再生開始時刻 = nCurrentTime;
 
-//                                             if ( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) )
-                                               if ( ( nCurrentTime - this.nBGM再生開始時刻 ) >= ( this.nBGMの総再生時間ms ) )      // #27787 2012.3.10 yyagi 1000ms == フェードイン分の時間
-                                               {
-                                                       if ( !CDTXMania.DTXVmode.Enabled )
-                                                       {
-                                                               this.actFO.tフェードアウト開始();
-                                                       }
-                                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
-                                               }
+                        if( CDTXMania.bXGRelease )
+                        {
+//                                                 if ( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) )
+                            if ((nCurrentTime - this.nBGM再生開始時刻) >= (this.nBGMの総再生時間ms))    // #27787 2012.3.10 yyagi 1000ms == フェードイン分の時間
+                            {
+                                if (!CDTXMania.DTXVmode.Enabled)
+                                {
+                                    this.actFO.tフェードアウト開始();
+                                }
+                                base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
+                            }
+                        }
+                        else
+                        {
+                            //2017.12.23 kairera0467 GITADORA風は最低でも
+//                                                 if ( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) )
+                            if( ( nCurrentTime - this.nBGM再生開始時刻 ) >= ( this.nBGMの総再生時間ms + 2000 ) )
+                            {
+                                if (!CDTXMania.DTXVmode.Enabled)
+                                {
+                                    this.actFO.tフェードアウト開始();
+                                }
+                                base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;
+                            }
+                        }
+
                                                return (int) E曲読込画面の戻り値.継続;
                                        }
 
index 8756b4d..ede1ac2 100644 (file)
@@ -158,6 +158,7 @@ namespace DTXMania
 
         private float fX;
         private float fY;
+        private float fZ;
         private int rot;
         private float fScaleX;
         private float fScaleY;
@@ -590,40 +591,56 @@ namespace DTXMania
                 if( this.txCOMBOドラム != null )
                 {
                     SlimDX.Matrix matSkillPanel = SlimDX.Matrix.Identity;
+                    
+                    matSkillPanel *= SlimDX.Matrix.Scaling( 0.5f, 0.9f, 1 );
                     matSkillPanel *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( 30 ) );
-                    matSkillPanel *= SlimDX.Matrix.Scaling( 0.25f - ( 0.05f * i ), 0.9f - ( 0.05f * i ), 1 );
-                    matSkillPanel *= SlimDX.Matrix.Translation( 539 - ( 65 * i ), 232 - ( 14 * i ) - y動作差分 + ( i == 0 ? this.nY1の位座標差分値 : 0 ), 0 );
+                    matSkillPanel *= SlimDX.Matrix.Translation( 537 - ( 6 * i ), 231 + ( 16 * i ) - y動作差分 + ( i == 0 ? this.nY1の位座標差分値 : 0 ), 0 + ( 80 * i ) );
+
                     this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel, new Rectangle( ( n位の数[ i ] % 5 ) * 120, ( n位の数[ i ] / 5 ) * 160, 120, 160 ) );
+
+
                 }
                        }
-
+/*
             if( this.txCOMBOドラム != null )
-            {/*
+            {
                 SlimDX.Matrix matSkillPanel = SlimDX.Matrix.Identity;
-                //matSkillPanel *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( rot ) );
                 matSkillPanel *= SlimDX.Matrix.Scaling( fScaleX, fScaleY, 1 );
+                matSkillPanel *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( rot ) );
                 matSkillPanel *= SlimDX.Matrix.Translation( fX, fY, 0 );
                 this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel, new Rectangle( 360, 160, 120, 160 ) );
 
                 SlimDX.Matrix matSkillPanel2 = SlimDX.Matrix.Identity;
-                //matSkillPanel2 *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( rot ) );
                 matSkillPanel2 *= SlimDX.Matrix.Scaling( fScaleX, fScaleY, 1 );
-                matSkillPanel2 *= SlimDX.Matrix.Translation( fX - offset, fY - 12, 0 );
+                matSkillPanel2 *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( rot ) );
+                matSkillPanel2 *= SlimDX.Matrix.Translation( fX - offset, fY, 0 );
                 this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel2, new Rectangle( 0, 0, 120, 160 ) );
 
                 SlimDX.Matrix matSkillPanel3 = SlimDX.Matrix.Identity;
                 //matSkillPanel3 *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( rot ) );
                 matSkillPanel3 *= SlimDX.Matrix.Scaling( fScaleX, fScaleY, 1 );
                 matSkillPanel3 *= SlimDX.Matrix.Translation( fX - offset * 2, fY - 12 * 2, 0 );
-                this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel3, new Rectangle( 120, 0, 120, 160 ) );
-             */
-            }
+                //this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel3, new Rectangle( 120, 0, 120, 160 ) );
+
+                SlimDX.Matrix matSkillPanel = SlimDX.Matrix.Identity;
+                matSkillPanel *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( 30 ) );
+                matSkillPanel *= SlimDX.Matrix.Scaling( 0.25f, 0.9f, 1 );
+                matSkillPanel *= SlimDX.Matrix.Translation( 539, 232, 0 );
+                //this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel, new Rectangle( 360, 160, 120, 160 ) );
 
+                SlimDX.Matrix matSkillPanel2 = SlimDX.Matrix.Identity;
+                matSkillPanel2 *= SlimDX.Matrix.RotationY( C変換.DegreeToRadian( 30 ) );
+                matSkillPanel2 *= SlimDX.Matrix.Scaling( 0.25f, 0.9f, 1 );
+                matSkillPanel2 *= SlimDX.Matrix.Translation( fX, fY, fZ );
+                //this.txCOMBOドラム.t3D描画( CDTXMania.app.Device, matSkillPanel2, new Rectangle( 0, 0, 120, 160 ) );
+                
+            }
+*/
 
                        //-----------------
                        #endregion
 
-            /*
+            
             if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F1 ) )
             {
                 fX--;
@@ -688,16 +705,48 @@ namespace DTXMania
             {
                 offset++;
             }
-
-            CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, "RotY:" + rot.ToString() );
-            CDTXMania.act文字コンソール.tPrint( 0, 16, C文字コンソール.Eフォント種別.白, "PanelX:" + fX.ToString() );
-            CDTXMania.act文字コンソール.tPrint( 0, 32, C文字コンソール.Eフォント種別.白, "PanelY:" + fY.ToString() );
-            CDTXMania.act文字コンソール.tPrint( 0, 48, C文字コンソール.Eフォント種別.白, "ScaleX:" + fScaleX.ToString() );
-            CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, "ScaleY:" + fScaleY.ToString() );
-            CDTXMania.act文字コンソール.tPrint( 0, 80, C文字コンソール.Eフォント種別.白, "OFFSET:" + offset.ToString() );
-            */
-               }
-               protected virtual void tコンボ表示_ギター( int nCombo値, int nジャンプインデックス )
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.D7 ) )
+            {
+                fX -= 10;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.D8 ) )
+            {
+                fX += 10;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.D9 ) )
+            {
+                fY -= 10;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.D0 ) )
+            {
+                fY += 10;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Q ) )
+            {
+                fZ -= 1;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.W ) )
+            {
+                fZ += 1;
+            }
+            if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.E ) )
+            {
+                fZ -= 10;
+            }
+            if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.R ) )
+            {
+                fZ += 10;
+            }
+            
+            //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, "RotY:" + rot.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 16, C文字コンソール.Eフォント種別.白, "PanelX:" + fX.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 32, C文字コンソール.Eフォント種別.白, "PanelY:" + fY.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 48, C文字コンソール.Eフォント種別.白, "ScaleX:" + fScaleX.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 64, C文字コンソール.Eフォント種別.白, "ScaleY:" + fScaleY.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 80, C文字コンソール.Eフォント種別.白, "OFFSET:" + offset.ToString() );
+            //CDTXMania.act文字コンソール.tPrint( 0, 96, C文字コンソール.Eフォント種別.白, "PanelZ:" + fZ.ToString() );
+        }
+        protected virtual void tコンボ表示_ギター( int nCombo値, int nジャンプインデックス )
                {
                }
                protected virtual void tコンボ表示_ベース( int nCombo値, int nジャンプインデックス )
index 2313611..4307756 100644 (file)
@@ -131,6 +131,7 @@ namespace DTXMania
                                }
                 this.tレーンタイプからレーン位置を設定する( CDTXMania.ConfigIni.eLaneType, CDTXMania.ConfigIni.eRDPosition );
                 this.txフレーム = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_frame.png" ) );
+                this.txフレーム外側 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_frame2.png" ) );
 
                                base.OnManagedリソースの作成();
                        }
@@ -145,6 +146,7 @@ namespace DTXMania
                                CDTXMania.tテクスチャの解放( ref this.txチップ );
                                CDTXMania.tテクスチャの解放( ref this.txレーンフレームGB );
                 CDTXMania.tテクスチャの解放( ref this.txフレーム );
+                CDTXMania.tテクスチャの解放( ref this.txフレーム外側 );
                                //CDTXMania.tテクスチャの解放( ref this.txWailing枠 );
                                base.OnManagedリソースの解放();
                        }
@@ -225,7 +227,8 @@ namespace DTXMania
                                bIsFinishedPlaying = this.t進行描画_チップ(E楽器パート.DRUMS);
                 this.actShutter.On進行描画();
                 this.t進行描画_ドラムパッド();
-                this.txフレーム.t2D描画( CDTXMania.app.Device, 0, 0 );
+                if( this.txフレーム != null ) this.txフレーム.t2D描画( CDTXMania.app.Device, 0, 0 );
+                if( this.txフレーム外側 != null ) this.txフレーム外側.t2D描画( CDTXMania.app.Device, 0, 0 );
                 this.t進行描画_ゲージ();
 
                 this.t進行描画_ステータスパネル();
@@ -308,6 +311,7 @@ namespace DTXMania
                private CTexture txヒットバーGB;
                private CTexture txレーンフレームGB;
         private CTexture txフレーム;
+        private CTexture txフレーム外側;
                //-----------------
 
         /// <summary>
index f4b8d68..61005e5 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index f5ccd74..ef28886 100644 (file)
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ