OSDN Git Service

#38362 旧動画のフルスクリーン再生での非センタリング機能において、
authoryyagi <yyagi.dtxmania@gmail.com>
Tue, 31 Jul 2018 15:31:40 +0000 (00:31 +0900)
committeryyagi <yyagi.dtxmania@gmail.com>
Tue, 31 Jul 2018 15:31:40 +0000 (00:31 +0900)
 * FullAVI=OFFの時に、旧AVIの表示座標が(FullAVIX, FullAVIY)担っていたのを修正。
 * FullAVIX, FullAVIYに負の値を指定できるようにした。それぞれの最小値は-1920, -1080。
 * FullAVIYの最大値が1920となっていたのを、1080に修正。
 * いくつかの変数に<summary>情報を追加。

#xxxxx BGA表示において、Use556x718BGAAVIフラグが正しく反映されるようにした。

DTXMania/コード/ステージ/04.コンフィグ/CConfigXml.cs
DTXMania/コード/ステージ/07.演奏/CAct演奏AVI.cs
DTXMania/コード/ステージ/07.演奏/CAct演奏BGA.cs
DTXMania/コード/ステージ/07.演奏/CStage演奏画面共通.cs

index a91f8a6..06a0f59 100644 (file)
@@ -70,9 +70,12 @@ namespace DTXMania
                        return (CConfigXml) MemberwiseClone();
                }
 
-
+               /// <summary>
+               /// 従来のAVIをウインドウ全体に拡大表示するかどうか
+               /// </summary>
                [DataMember]
                public COptionBool bFullAVI;
+
                [DataMember]
                public COptionBool bAVI;
                [DataMember]
@@ -360,10 +363,19 @@ namespace DTXMania
                public STDGBSValue<COptionInteger> nSuddenFrom;
                [DataMember]
                public STDGBSValue<COptionInteger> nHiddenFrom;
+               /// <summary>
+               /// 旧AVIを強制的にウインドウ全体に表示するときの、X座標
+               /// </summary>
                [DataMember(Order = 113)]
-               public STInstValue<COptionInteger> cdForceFullMovieX;   // #38362 2018.7.19 add yyagi
+               public STInstValue<COptionInteger> cdForceFullMovieX;   // #38362 2018.7.19 add yyagi
+               /// <summary>
+               /// 旧AVIを強制的にウインドウ全体に表示するときの、Y座標
+               /// </summary>
                [DataMember(Order = 113)]
                public STInstValue<COptionInteger> cdForceFullMovieY;   // #38362 2018.7.19 add yyagi
+               /// <summary>
+               /// 旧AVIを強制的にウインドウ全体に表示するときに、センタリング表示するかどうか
+               /// </summary>
                [DataMember(Order = 113)]
                public STInstValue<COptionBool> bForceFullMovieCentering;   // #38362 2018.7.19 add yyagi
 
@@ -936,13 +948,13 @@ namespace DTXMania
                        cdMovieY.Both.Initialize("strCfgDispMovieYBoth", 0, 1 + SampleFramework.GameWindowSize.Height, crdStep);
                        cdMovieY.GBOnly.Initialize("strCfgDispMovieYGB", 0, 1 + SampleFramework.GameWindowSize.Height, crdStep);
 
-                       cdForceFullMovieX.DrOnly.Initialize("strCfgForceFullMovieXDr", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
-                       cdForceFullMovieX.Both.Initialize("strCfgForceFullMovieXBoth", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
-                       cdForceFullMovieX.GBOnly.Initialize("strCfgForceFullMovieXGB", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
+                       cdForceFullMovieX.DrOnly.Initialize("strCfgForceFullMovieXDr", -SampleFramework.GameWindowSize.Width, 1 + SampleFramework.GameWindowSize.Width, crdStep);
+                       cdForceFullMovieX.Both.Initialize("strCfgForceFullMovieXBoth", -SampleFramework.GameWindowSize.Width, 1 + SampleFramework.GameWindowSize.Width, crdStep);
+                       cdForceFullMovieX.GBOnly.Initialize("strCfgForceFullMovieXGB", -SampleFramework.GameWindowSize.Width, 1 + SampleFramework.GameWindowSize.Width, crdStep);
 
-                       cdForceFullMovieY.DrOnly.Initialize("strCfgForceFullMovieYDr", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
-                       cdForceFullMovieY.Both.Initialize("strCfgForceFullMovieYBoth", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
-                       cdForceFullMovieY.GBOnly.Initialize("strCfgForceFullMovieYGB", 0, 1 + SampleFramework.GameWindowSize.Width, crdStep);
+                       cdForceFullMovieY.DrOnly.Initialize("strCfgForceFullMovieYDr", -SampleFramework.GameWindowSize.Height, 1 + SampleFramework.GameWindowSize.Height, crdStep);
+                       cdForceFullMovieY.Both.Initialize("strCfgForceFullMovieYBoth", -SampleFramework.GameWindowSize.Height, 1 + SampleFramework.GameWindowSize.Height, crdStep);
+                       cdForceFullMovieY.GBOnly.Initialize("strCfgForceFullMovieYGB", -SampleFramework.GameWindowSize.Height, 1 + SampleFramework.GameWindowSize.Height, crdStep);
 
                        bForceFullMovieCentering.DrOnly.Initialize("strCfgForceFullMovieCenteringDr");
                        bForceFullMovieCentering.Both.Initialize("strCfgForceFullMovieCenteringBoth");
index 1a3ce11..a1bafaf 100644 (file)
@@ -57,21 +57,33 @@ namespace DTXMania
                        get;
                        set;
                }
+               /// <summary>
+               /// AVIをウインドウ全体に表示するかどうか
+               /// </summary>
                public bool bFullScreenMovie
                {
                        get;
                        set;
                }
+               /// <summary>
+               /// ウインドウ全体で再生するAVIを、センタリング表示するかどうか
+               /// </summary>
                public bool bFullScreenMovieCentering
                {
                        get;
                        set;
                }
+               /// <summary>
+               /// ウインドウ全体で再生するAVIを、センタリング表示しない場合の、表示X座標
+               /// </summary>
                public int nFullScreenMovieX
                {
                        get;
                        set;
                }
+               /// <summary>
+               /// ウインドウ全体で再生するAVIを、センタリング表示しない場合の、表示Y座標
+               /// </summary>
                public int nFullScreenMovieY
                {
                        get;
@@ -278,11 +290,17 @@ namespace DTXMania
                                                        xx = cmg.px;
                                                        yy = cmg.py;
                                                }
-                                               else
+                                               else if (bFullScreenMovie)
                                                {
                                                        xx = nFullScreenMovieX;
                                                        yy = nFullScreenMovieY;
                                                }
+                                               // fullscreenでないときはxx=x, yy=yだが、xx,yyの初期値がx,yのためここでわざわざ記載する必要なし
+                                               //else
+                                               //{
+                                               //      xx = x;
+                                               //      yy = y;
+                                               //}
                                        }
 
                                        this.tx描画用.vc拡大縮小倍率.X = magX;
index b7d86b3..566b21b 100644 (file)
@@ -32,7 +32,7 @@ namespace DTXMania
 
                private CTexture txBGA;
                private STLAYER[] stLayer = new STLAYER[8];
-               private readonly Size size基準 = new Size( 278, 355 );
+               private Size size基準;
 
                public CAct演奏BGA()
                {
@@ -145,6 +145,8 @@ namespace DTXMania
                                                        case Format.X8B8G8R8: format = Format.A8R8G8B8; break;
                                                        case Format.X8R8G8B8: format = Format.A8R8G8B8; break;
                                                }
+                                               size基準 = (CDTXMania.Instance.DTX.bUse556x710BGAAVI)?
+                                                       new Size(278 * 2, 355 * 2) : new Size( 278, 355 );
 
                                                this.txBGA = new CTexture( CDTXMania.Instance.Device,
                                                        size基準.Width,
index e02b7f8..f5e4a7d 100644 (file)
@@ -3098,7 +3098,7 @@ namespace DTXMania
                                {
                                        this.t進行描画_チップ_フィルイン(ref pChip);
                                }
-                               else if (pChip.bMovie && !pChip.bHit && (pChip.nバーからの距離dot.Drums < 0))
+                               else if (pChip.bMovie && !pChip.bHit && (pChip.nバーからの距離dot.Drums < 0))            // 動画全般
                                {
                                        pChip.bHit = true;
                                        if (CDTXMania.Instance.ConfigIni.bAVI)
@@ -3107,18 +3107,18 @@ namespace DTXMania
                                                {
                                                        this.actAVI.bHasBGA = true;
                                                }
+                                               this.actAVI.bFullScreenMovieCentering = (pChip.eチャンネル番号 == EChannel.MovieFull) ? true : CDTXMania.Instance.ConfigIni.bForceFullMovieCentering.Both;
                                                if (CDTXMania.Instance.ConfigIni.bFullAVI)
                                                {
-                                                       this.actAVI.bFullScreenMovieCentering = CDTXMania.Instance.ConfigIni.bForceFullMovieCentering.Both;
                                                        if (!this.actAVI.bFullScreenMovieCentering)
                                                        {
                                                                this.actAVI.nFullScreenMovieX = CDTXMania.Instance.ConfigIni.cdForceFullMovieX.Both;
                                                                this.actAVI.nFullScreenMovieY = CDTXMania.Instance.ConfigIni.cdForceFullMovieY.Both;
                                                        }
-                                                       if (pChip.eチャンネル番号 == EChannel.MovieFull || CDTXMania.Instance.ConfigIni.bFullAVI)
-                                                       {
-                                                               this.actAVI.bFullScreenMovie = true;
-                                                       }
+                                               }
+                                               if (pChip.eチャンネル番号 == EChannel.MovieFull || CDTXMania.Instance.ConfigIni.bFullAVI)
+                                               {
+                                                       this.actAVI.bFullScreenMovie = true;
                                                }
 
                                                switch (pChip.eAVI種別)