OSDN Git Service

#34112 BG Alphaの説明と実動作があっていなかった問題を修正。説明文を実動作に合わせる。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 29 Jul 2014 15:37:12 +0000 (15:37 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Tue, 29 Jul 2014 15:37:12 +0000 (15:37 +0000)
#34113 背景動画再生のためのチャンネルを追加した。0x5Aを用いる。DTXMania本体とDYXC両方でこれに対応した。DTXCでは、AVIレーンの裏チャンネルが背景動画チャンネルになる。
#34114 従来のBGAサイズの動画を強制的に背景動画再生対応する設定を追加した。(CONFIGURATION/System/FullAVI。Config.iniではForceAVIFullscreen)。
#xxxxx ドラムレーンの画像にゴミがあったのを修正した。これに伴い、画像フォーマットをjpgからpngに変更した。
#xxxxx その他簡単なソース整理。

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@753 16f42ceb-6dc6-49c8-ba94-f2d53467949d

17 files changed:
DTXCreatorプロジェクト/Properties/AssemblyInfo.cs
DTXCreatorプロジェクト/Properties/Resources.Designer.cs
DTXCreatorプロジェクト/Properties/Resources.resx
DTXCreatorプロジェクト/コード/05.譜面/C譜面管理.cs
DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
DTXManiaプロジェクト/コード/全体/C定数.cs
実行時フォルダ(DTXCreator)/DTXCreator.exe
実行時フォルダ(DTXCreator)/ja-JP/DTXCreator.resources.dll
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.jpg [deleted file]
実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.png [new file with mode: 0644]

index 4947665..4fad374 100644 (file)
@@ -33,6 +33,6 @@ using System.Resources;
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
 // 既定値にすることができます:\r
 // [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion( "26.0.0.0" )]\r
-[assembly: AssemblyFileVersion( "26.0.0.0" )]\r
+[assembly: AssemblyVersion( "27.0.0.0" )]\r
+[assembly: AssemblyFileVersion( "27.0.0.0" )]\r
 [assembly: NeutralResourcesLanguageAttribute("")]\r
index 38bef42..056d47b 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------\r
 // <auto-generated>\r
 //     このコードはツールによって生成されました。\r
-//     ランタイム バージョン:2.0.50727.7905\r
+//     ランタイム バージョン:2.0.50727.8000\r
 //\r
 //     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
 //     コードが再生成されるときに損失したりします。\r
@@ -68,7 +68,7 @@ namespace DTXCreator.Properties {
         }\r
         \r
         /// <summary>\r
-        ///   026 に類似しているローカライズされた文字列を検索します。\r
+        ///   027 に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string DTXC_VERSION {\r
             get {\r
index 0e77806..cecaebf 100644 (file)
     <value>..\コード\99.リソース\DTXC.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
   </data>\r
   <data name="DTXC_VERSION" xml:space="preserve">\r
-    <value>026</value>\r
+    <value>027</value>\r
   </data>\r
   <data name="Redo" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
     <value>..\コード\99.リソース\edit_redohs.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
index feb2c94..4c9ca5f 100644 (file)
@@ -827,7 +827,7 @@ namespace DTXCreator.譜面
                        this.listレーン.Add( new Cレーン( Cレーン.E種別.BsB, "BsB", 0,    0,    false, Color.FromArgb( alpha, 0, 0x80, 0xff ), 0, width, Cレーン.ELaneType.Bass, true ) );\r
                        this.listレーン.Add( new Cレーン( Cレーン.E種別.BsW, "BsW", 0xa8, 0xa8, true,  Color.FromArgb( alpha, 160, 160, 160 ), 0, width, Cレーン.ELaneType.Bass, true ) );\r
 \r
-                       this.listレーン.Add( new Cレーン( Cレーン.E種別.AVI, "AVI", 0x54, 0x54, true,  Color.FromArgb( alpha, 160, 160, 160 ), 0, width, Cレーン.ELaneType.AVI, true ) );\r
+                       this.listレーン.Add( new Cレーン( Cレーン.E種別.AVI, "AVI", 0x54, 0x5A, true,  Color.FromArgb( alpha, 160, 160, 160 ), 0, width, Cレーン.ELaneType.AVI, true ) );\r
 \r
                        this.listレーン.Add( new Cレーン( Cレーン.E種別.BMP, "BG1", 0x04, 0xc4, true,  Color.FromArgb( alpha, 160, 160, 160 ), 0, width, Cレーン.ELaneType.BGA1_5, true ) );\r
                        this.listレーン.Add( new Cレーン( Cレーン.E種別.BMP, "BG2", 0x07, 0xc7, false, Color.FromArgb( alpha, 160, 160, 160 ), 0, width, Cレーン.ELaneType.BGA1_5, true ) );\r
index cd3b2d7..d8ffbe1 100644 (file)
@@ -573,7 +573,7 @@ namespace DTXMania
                                        "??", "??", "??", "??", "??", "??", "??", "??", \r
                                        "??", "??", "??", "??", "??", "??", "??", "??", \r
                                        "小節線", "拍線", "MIDIコーラス", "フィルイン", "AVI", "BMPレイヤ3", "BMPレイヤ4", "BMPレイヤ5",\r
-                                       "BMPレイヤ6", "BMPレイヤ7", "??", "??", "??", "??", "??", "??", \r
+                                       "BMPレイヤ6", "BMPレイヤ7", "AVIFull", "??", "??", "??", "??", "??", \r
                                        "BMPレイヤ8", "SE01", "SE02", "SE03", "SE04", "SE05", "SE06", "SE07",\r
                                        "SE08", "SE09", "??", "??", "??", "??", "??", "??", \r
                                        "SE10", "SE11", "SE12", "SE13", "SE14", "SE15", "SE16", "SE17",\r
@@ -1296,6 +1296,7 @@ namespace DTXMania
                public string strフォルダ名;\r
                public string TITLE;\r
                public double dbDTXVPlaySpeed;\r
+               public bool bMovieをFullscreen再生する;\r
 \r
 #if TEST_NOTEOFFMODE\r
                public STLANEVALUE<bool> b演奏で直前の音を消音する;\r
@@ -1348,7 +1349,8 @@ namespace DTXMania
                        this.bチップがある.OpenGuitar = false;\r
                        this.bチップがある.OpenBass = false;\r
                        this.bチップがある.BGA = false;\r
-                       this.bチップがある.Movie = false; \r
+                       this.bチップがある.Movie = false;\r
+                       this.bMovieをFullscreen再生する = false;\r
                        this.strファイル名 = "";\r
                        this.strフォルダ名 = "";\r
                        this.strファイル名の絶対パス = "";\r
@@ -1472,7 +1474,7 @@ namespace DTXMania
                        {\r
                                foreach( CChip chip in this.listChip )\r
                                {\r
-                                       if( chip.nチャンネル番号 == 0x54 )\r
+                                       if( chip.nチャンネル番号 == (int) Ech定義.Movie || chip.nチャンネル番号 == (int) Ech定義.MovieFull )\r
                                        {\r
                                                chip.eAVI種別 = EAVI種別.Unknown;\r
                                                chip.rAVI = null;\r
@@ -2640,7 +2642,7 @@ namespace DTXMania
 \r
                                                                case 0x05:      // Extended Object (非対応)\r
                                                                case 0x06:      // Missアニメ (非対応)\r
-                                                               case 0x5A:      // 未定義\r
+                                                               //case 0x5A:    // 未定義\r
                                                                case 0x5b:      // 未定義\r
                                                                case 0x5c:      // 未定義\r
                                                                case 0x5d:      // 未定義\r
@@ -2660,6 +2662,7 @@ namespace DTXMania
                                                                                continue;\r
                                                                        }\r
                                                                case 0x54:      // 動画再生\r
+                                                               case 0x5A:\r
                                                                        {\r
                                                                                if ( this.listAVIPAN.ContainsKey( chip.n整数値 ) )\r
                                                                                {\r
@@ -2746,11 +2749,7 @@ namespace DTXMania
                                                                        case ESoundChipType.SE:\r
                                                                                this.listWAV[ chip.n整数値・内部番号 ].bIsSESound = true; break;\r
                                                                        case ESoundChipType.BGM:\r
-                                                                               if ( chip.nチャンネル番号 == 0x01 )\r
-                                                                               {\r
-                                                                                       this.listWAV[ chip.n整数値・内部番号 ].bIsBGMSound = true; break;\r
-                                                                               }\r
-                                                                               break;\r
+                                                                               this.listWAV[ chip.n整数値・内部番号 ].bIsBGMSound = true; break;\r
                                                                }\r
                                                        }\r
                                                }\r
@@ -5232,7 +5231,7 @@ namespace DTXMania
                        }\r
                        //-----------------\r
                        #endregion\r
-                       #region [ å\8f\96å¾\97ã\81\97ã\81\9fã\83\81ã\83£ã\83³ã\83\8dã\83«ç\95ªå\8f·ã\81§ã\80\81this.bã\83\81ã\83\83ã\83\97ã\81\8cã\81\82ã\82\8b ã\81«è©²å½\93ã\81\8cã\81\82ã\82\8cã\81°設定する。]\r
+                       #region [ å\8f\96å¾\97ã\81\97ã\81\9fã\83\81ã\83£ã\83³ã\83\8dã\83«ç\95ªå\8f·ã\81§ã\80\81this.bã\83\81ã\83\83ã\83\97ã\81\8cã\81\82ã\82\8b ã\81«è©²å½\93ã\81\97ã\81\9fã\82\8aã\80\81this.bMovieã\82\92Fullscreenå\86\8dç\94\9fã\81\99ã\82\8b ã\81®æ\9d¡ä»¶ã\82\92æº\80足ã\81\99ã\82\8bã\81ªã\82\89ã\80\81設定する。]\r
                        //-----------------\r
                        if( ( nチャンネル番号 >= 0x11 ) && ( nチャンネル番号 <= 0x1a ) )\r
                        {\r
@@ -5251,9 +5250,18 @@ namespace DTXMania
                        {\r
                                this.bチップがある.BGA = true;\r
                        }\r
-                       else if ( nチャンネル番号 == 0x54 )\r
+                       else if ( nチャンネル番号 == (int) Ech定義.Movie )\r
+                       {\r
+                               this.bチップがある.Movie = true;\r
+                               if ( CDTXMania.ConfigIni.bForceAVIFullscreen )\r
+                               {\r
+                                       this.bMovieをFullscreen再生する = true;\r
+                               }\r
+                       }\r
+                       else if ( nチャンネル番号 == (int) Ech定義.MovieFull )\r
                        {\r
                                this.bチップがある.Movie = true;\r
+                               this.bMovieをFullscreen再生する = true;\r
                        }\r
 \r
                        switch ( nチャンネル番号 )\r
index 5eaffc9..b949ecd 100644 (file)
@@ -183,6 +183,13 @@ namespace DTXMania
                                "AVI の再生には、それなりのマシンパワーが必要とされます。",\r
                                "To use AVI playback or not." );\r
                        this.list項目リスト.Add( this.iSystemAVI );\r
+                       this.iSystemForceAVIFullscreen = new CItemToggle( "FullAVI", CDTXMania.ConfigIni.bForceAVIFullscreen,\r
+                               "旧AVIの全画面表示:\n" +\r
+                               "旧仕様の動画(AVI)の表示をを、強制的に全画面化します。\n" +\r
+                               "BGAと併用している場合は、表示がおかしくなります。",\r
+                               "Forcely show the legacy-spec AVI to fullscreen.\n" +\r
+                               "If the data contains both AVI and BGA, the screen will corrupt." );\r
+                       this.list項目リスト.Add( this.iSystemForceAVIFullscreen );\r
                        this.iSystemBGA = new CItemToggle( "BGA", CDTXMania.ConfigIni.bBGA有効,\r
                                "BGAの使用:\n" +\r
                                "演奏中に画像(BGA)を表示する場合にON にします。\n" +\r
@@ -211,12 +218,12 @@ namespace DTXMania
                                "You can ON/OFF the indications by pushing [Del] while playing drums, guitar or bass." );\r
                        this.list項目リスト.Add( this.iSystemDebugInfo );\r
                        this.iSystemBGAlpha = new CItemInteger( "BG Alpha", 0, 0xff, CDTXMania.ConfigIni.n背景の透過度,\r
-                               "背景画像の透明割合:\n" +\r
+                               "背景画像の透明割合:\n" +\r
                                "背景画像をDTXManiaのフレーム画像と合成する際の、背景画像の透明度を指定します。\n" +\r
-                               "0 が完全透明で、255 が完全不透明となります。",\r
+                               "0 が完全不透明で、255 が完全透明となります。",\r
                                "The degree for transparing playing screen and wallpaper.\n" +\r
                                "\n" +\r
-                               "0=completely transparent, 255=no transparency." );\r
+                               "0=no transparent, 255=completely transparency." );\r
                        this.list項目リスト.Add( this.iSystemBGAlpha );\r
                        this.iSystemBGMSound = new CItemToggle( "BGM Sound", CDTXMania.ConfigIni.bBGM音を発声する,\r
                                "BGMの再生:\n" +\r
@@ -2411,6 +2418,7 @@ namespace DTXMania
                private CItemToggle iSystemAudienceSound;\r
                private CItemInteger iSystemAutoChipVolume;\r
                private CItemToggle iSystemAVI;\r
+               private CItemToggle iSystemForceAVIFullscreen;\r
                private CItemToggle iSystemBGA;\r
 //             private CItemToggle iSystemGraph; #24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行\r
                private CItemInteger iSystemBGAlpha;\r
@@ -2656,6 +2664,7 @@ namespace DTXMania
                        CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON;\r
                        CDTXMania.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON;\r
                        CDTXMania.ConfigIni.bAVI有効 = this.iSystemAVI.bON;\r
+                       CDTXMania.ConfigIni.bForceAVIFullscreen = this.iSystemForceAVIFullscreen.bON;\r
                        CDTXMania.ConfigIni.bBGA有効 = this.iSystemBGA.bON;\r
 //                     CDTXMania.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行\r
                        CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値;\r
index c4ce067..89ea0d0 100644 (file)
@@ -33,13 +33,18 @@ namespace DTXMania
                        get;\r
                        set;\r
                }\r
+               public bool bFullScreenMovie\r
+               {\r
+                       get;\r
+                       set;\r
+               }\r
 \r
 \r
                // メソッド\r
 \r
                public void Start( int nチャンネル番号, CDTX.CAVI rAVI, int n開始サイズW, int n開始サイズH, int n終了サイズW, int n終了サイズH, int n画像側開始位置X, int n画像側開始位置Y, int n画像側終了位置X, int n画像側終了位置Y, int n表示側開始位置X, int n表示側開始位置Y, int n表示側終了位置X, int n表示側終了位置Y, int n総移動時間ms, int n移動開始時刻ms )\r
                {\r
-                       if( nチャンネル番号 == 0x54 )\r
+                       if( nチャンネル番号 == (int) Ech定義.Movie || nチャンネル番号 == (int) Ech定義.MovieFull )\r
                        {\r
                                this.rAVI = rAVI;\r
                                this.n開始サイズW = n開始サイズW;\r
@@ -282,7 +287,8 @@ namespace DTXMania
 \r
                                        float magX, magY;\r
                                        int xx, yy;\r
-                                       if ( bHasBGA || bIsPreviewMovie )\r
+                                       if ( ! bFullScreenMovie )\r
+                                       //if ( bHasBGA || bIsPreviewMovie )\r
                                        {\r
                                                #region [ BGA領域での再生 ]\r
                                                xx = x;\r
@@ -335,6 +341,7 @@ namespace DTXMania
                        this.pBmp = IntPtr.Zero;\r
                        // this.bIsPreviewMovie = false;        // bIsPreviewMovieは、活性化前にtrueにすること (OnManagedリソースの作成 で参照しているため)\r
                        this.bHasBGA = false;\r
+                       this.bFullScreenMovie = false;\r
                        base.On活性化();\r
                }\r
                public override void OnManagedリソースの作成()\r
index e3b19d5..dd1165c 100644 (file)
@@ -2018,8 +2018,9 @@ namespace DTXMania
                                                this.t進行描画・チップ・フィルイン( configIni, ref dTX, ref pChip );\r
                                                break;\r
                                        #endregion\r
-                                       #region [ 54: 動画再生 ]\r
-                                       case 0x54:      // 動画再生\r
+                                       #region [ 54: 動画再生(BGA領域), 5A: 動画再生(全画面) ]\r
+                                       case (int) Ech定義.Movie:             // 動画再生 (BGA領域)\r
+                                       case (int) Ech定義.MovieFull: // 動画再生 (全画面)\r
                                                if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) )\r
                                                {\r
                                                        pChip.bHit = true;\r
@@ -2029,12 +2030,19 @@ namespace DTXMania
                                                                {\r
                                                                        this.actAVI.bHasBGA = true;\r
                                                                }\r
+                                                               if ( pChip.nチャンネル番号 == (int) Ech定義.MovieFull || CDTXMania.ConfigIni.bForceAVIFullscreen )\r
+                                                               {\r
+                                                                       this.actAVI.bFullScreenMovie = true;\r
+                                                               }\r
                                                                switch ( pChip.eAVI種別 )\r
                                                                {\r
                                                                        case EAVI種別.AVI:\r
+                                                                               //if ( pChip.rAVI != null )\r
                                                                                {\r
-                                                                                       int startWidth = ( CDTXMania.DTX.bチップがある.BGA ) ? 278 : SampleFramework.GameWindowSize.Width;\r
-                                                                                       int startHeight = ( CDTXMania.DTX.bチップがある.BGA ) ? 355 : SampleFramework.GameWindowSize.Height;\r
+                                                                                       //int startWidth = ( CDTXMania.DTX.bチップがある.BGA ) ? 278 : SampleFramework.GameWindowSize.Width;\r
+                                                                                       //int startHeight = ( CDTXMania.DTX.bチップがある.BGA ) ? 355 : SampleFramework.GameWindowSize.Height;\r
+                                                                                       int startWidth  = !this.actAVI.bFullScreenMovie ? 278 : SampleFramework.GameWindowSize.Width;\r
+                                                                                       int startHeight = !this.actAVI.bFullScreenMovie ? 355 : SampleFramework.GameWindowSize.Height;\r
                                                                                        this.actAVI.Start( pChip.nチャンネル番号, pChip.rAVI, startWidth, startHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms );\r
                                                                                }\r
                                                                                break;\r
@@ -2940,14 +2948,15 @@ namespace DTXMania
 \r
                protected abstract void t背景テクスチャの生成();\r
                protected void t背景テクスチャの生成( string DefaultBgFilename, Rectangle bgrect, string bgfilename )\r
-               {\r
+               {                                                                       // Default...: レーン等があるレイヤー                bgfilename: DTXファイルで指定する背景\r
                        Bitmap image = null;\r
-                       bool flag = true;\r
+                       bool bSuccessLoadDTXbgfile = false;\r
 \r
-                       if ( bgfilename != null && File.Exists( bgfilename ) )\r
+                       if ( bgfilename != null && File.Exists( bgfilename ) && !CDTXMania.DTX.bチップがある.Movie )\r
                        {\r
                                try\r
                                {\r
+                                       #region [ DTXデータで指定されている背景画像を読み込む ]\r
                                        Bitmap bitmap1 = null;\r
                                        bitmap1 = new Bitmap( bgfilename );\r
                                        if ( ( bitmap1.Size.Width == 0 ) && ( bitmap1.Size.Height == 0 ) )\r
@@ -2955,17 +2964,29 @@ namespace DTXMania
                                                this.tx背景 = null;\r
                                                return;\r
                                        }\r
+                                       #endregion\r
 \r
                                        int newWidth = (int) ( bitmap1.Width * Scale.X );\r
                                        int newHeight = (int) ( bitmap1.Height * Scale.Y );\r
-                                       Bitmap bitmap2 = new Bitmap( newWidth, newHeight );\r
-                                       Graphics graphic2 = Graphics.FromImage( bitmap2 );\r
-                                       graphic2.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;\r
-                                       graphic2.DrawImage( bitmap1, 0, 0, newWidth, newHeight );\r
-                                       graphic2.Dispose();\r
-                                       bitmap1.Dispose();\r
+                                       Bitmap bitmap2;\r
 \r
+                                       #region [ 背景画像がVGAサイズ以下なら、FullHDサイズに拡大する ]\r
+                                       if ( bitmap1.Width <= 640 && bitmap1.Height <= 480 )\r
+                                       {\r
+                                               bitmap2 = new Bitmap( newWidth, newHeight );\r
+                                               Graphics graphic2 = Graphics.FromImage( bitmap2 );\r
+                                               graphic2.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;\r
+                                               graphic2.DrawImage( bitmap1, 0, 0, newWidth, newHeight );\r
+                                               graphic2.Dispose();\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               bitmap2 = (Bitmap) bitmap1.Clone();\r
+                                       }\r
+                                       bitmap1.Dispose();\r
+                                       #endregion\r
 \r
+                                       #region [ 実背景に格子状に配置するよう、コピーしていく ]\r
                                        Bitmap bitmap3 = new Bitmap( SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height );\r
                                        Graphics graphics3 = Graphics.FromImage( bitmap3 );\r
                                        for ( int i = 0; i < SampleFramework.GameWindowSize.Height; i += bitmap2.Size.Height )\r
@@ -2975,9 +2996,11 @@ namespace DTXMania
                                                        graphics3.DrawImage( bitmap2, j, i, bitmap2.Width, bitmap2.Height );\r
                                                }\r
                                        }\r
-                                       graphics3.Dispose(); \r
-                                       \r
+                                       graphics3.Dispose();\r
                                        bitmap2.Dispose();\r
+                                       #endregion\r
+\r
+                                       #region [ レーンフレームを合成 ]\r
                                        image = new Bitmap( CSkin.Path( DefaultBgFilename ) );\r
                                        graphics3 = Graphics.FromImage( image );\r
                                        ColorMatrix matrix2 = new ColorMatrix();\r
@@ -2994,14 +3017,16 @@ namespace DTXMania
                                        graphics3.DrawImage( bitmap3, bgrect, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height, GraphicsUnit.Pixel );\r
                                        graphics3.Dispose();\r
                                        bitmap3.Dispose();\r
-                                       flag = false;\r
+                                       #endregion\r
+                                       bSuccessLoadDTXbgfile = true;\r
                                }\r
                                catch\r
                                {\r
-                                       Trace.TraceError( "è\83\8cæ\99¯ç\94»å\83\8fã\81®èª­ã\81¿è¾¼ã\81¿ã\81«å¤±æ\95\97ã\81\97ã\81¾ã\81\97ã\81\9fã\80\82({0})", new object[] { bgfilename } );\r
+                                       Trace.TraceError( "è\83\8cæ\99¯ç\94»å\83\8fã\81¨ã\83¬ã\83¼ã\83³ç\94»å\83\8fã\81®å\90\88æ\88\90ã\81«å¤±æ\95\97ã\81\97ã\81¾ã\81\97ã\81\9fã\80\82({0})", bgfilename );\r
                                }\r
                        }\r
-                       if ( flag )\r
+                       #region [ DTXデータで指定する背景画像を合成しない場合は、レーン画像単体を背景画像とする ]\r
+                       if ( !bSuccessLoadDTXbgfile )\r
                        {\r
                                bgfilename = CSkin.Path( DefaultBgFilename );\r
                                try\r
@@ -3010,27 +3035,35 @@ namespace DTXMania
                                }\r
                                catch\r
                                {\r
-                                       Trace.TraceError( "背景画像の読み込みに失敗しました。({0})", new object[] { bgfilename } );\r
+                                       Trace.TraceError( "レーン画像の読み込みに失敗しました。({0})", bgfilename );\r
                                        this.tx背景 = null;\r
                                        return;\r
                                }\r
                        }\r
+                       #endregion\r
+                       #region [ BGA画像を表示する予定がある場合は、背景画像からあらかじめその領域を黒抜きにしておく ]\r
                        if ( ( CDTXMania.DTX.listBMP.Count > 0 ) || ( CDTXMania.DTX.listBMPTEX.Count > 0 ) )\r
                        {\r
                                Graphics graphics2 = Graphics.FromImage( image );\r
                                graphics2.FillRectangle( Brushes.Black, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height );\r
                                graphics2.Dispose();\r
                        }\r
+                       #endregion\r
+                       #region [ 背景画像をテクスチャにする。背景動画の表示予定上がる場合は、更に透明度を付与する。 ]\r
                        try\r
                        {\r
                                this.tx背景 = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );\r
-                               this.tx背景.n透明度 = CDTXMania.ConfigIni.n背景の透過度;             // 背景動画用\r
+                               if ( CDTXMania.DTX.bMovieをFullscreen再生する )                                            // Fullscreen動画再生が発生する場合は、動画レイヤーに対してレーン+背景レイヤーに透明度を設定する\r
+                               {\r
+                                       this.tx背景.n透明度 = 255 - CDTXMania.ConfigIni.n背景の透過度;       // 背景動画用\r
+                               }\r
                        }\r
                        catch ( CTextureCreateFailedException )\r
                        {\r
                                Trace.TraceError( "背景テクスチャの生成に失敗しました。" );\r
                                this.tx背景 = null;\r
                        }\r
+                       #endregion\r
                        image.Dispose();\r
                }\r
 \r
index a616006..7bf329e 100644 (file)
@@ -509,7 +509,7 @@ namespace DTXMania
                                        const int baseTextureOffsetY = (int) (  0 * Scale.Y );  // ドラム画面かギター画面かで変わる値\r
                                        const int drawX = (int) ( 140 * Scale.X );                              // 4種全て異なる値\r
 \r
-                                       const int numA = (int)( 29 * Scale.Y );                         // 4種全て同じ値;\r
+                                       const int numA = (int) ( 29 * Scale.Y );                                // ドラム画面かギター画面かで変わる値\r
                                        int y = configIni.bReverse.Guitar ?\r
                                                ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
                                                ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
@@ -697,7 +697,7 @@ namespace DTXMania
                                        const int baseTextureOffsetY = (int) (  0 * Scale.Y );  // ドラム画面かギター画面かで変わる値\r
                                        const int drawX =(int) ( 594 * Scale.X );                               // 4種全て異なる値\r
 \r
-                                       const int numA = (int) ( 29 * Scale.Y );                                // 4種全て同じ\r
+                                       const int numA = (int) ( 29 * Scale.Y );                                // ドラム画面かギター画面かで変わる\r
                                        int y = configIni.bReverse.Bass ?\r
                                                ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
                                                ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
index 02c73df..a5554dd 100644 (file)
@@ -1835,7 +1835,7 @@ namespace DTXMania
                protected override void t背景テクスチャの生成()\r
                {\r
                        Rectangle bgrect = new Rectangle( (int) ( 338 * Scale.X ), (int) ( 57 * Scale.Y ), (int) ( 278 * Scale.X ), (int) ( 355 * Scale.Y ) );\r
-                       string DefaultBgFilename = @"Graphics\ScreenPlayDrums background.jpg";\r
+                       string DefaultBgFilename = @"Graphics\ScreenPlayDrums background.png";\r
                        string BgFilename = "";\r
                        if ( ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) && !CDTXMania.ConfigIni.bストイックモード )\r
                        {\r
@@ -2172,7 +2172,7 @@ namespace DTXMania
                                        const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
                                        const int drawX = (int) ( 588 * Scale.X );                              // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
 \r
-                                       const int numA = (int) ( 26 * Scale.Y );                                // 4種全て同じ\r
+                                       const int numA = (int) ( 26 * Scale.Y );                                // ドラム画面かギター画面かで変わる\r
                                        int y = configIni.bReverse.Guitar ?\r
                                                ( y_base[1] - (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) ) :\r
                                                ( y_base[0] + (int) ( pChip.nバーからの距離dot.Guitar * Scale.Y ) );\r
@@ -2377,7 +2377,7 @@ namespace DTXMania
                                        const int baseTextureOffsetY = (int) ( 174 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値\r
                                        const int drawX = (int) ( 479 * Scale.X );                              // ウェイリングチップ描画位置X座標: 4種全て異なる値\r
 \r
-                                       const int numA = (int) ( 26 * Scale.Y );                                // 4種全て同じ\r
+                                       const int numA = (int) ( 26 * Scale.Y );                                // ドラム画面かギター画面かで変わる\r
                                        int y = configIni.bReverse.Bass ?\r
                                                ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) ) :\r
                                                ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Bass * Scale.Y ) );\r
index fc4303a..14d0cc8 100644 (file)
@@ -427,6 +427,7 @@ namespace DTXMania
                //----------------------------------------\r
 #endif\r
                public int nBGAlpha;\r
+               public bool bForceAVIFullscreen;\r
                public bool bAVI有効;\r
                public bool bBGA有効;\r
                public bool bBGM音を発声する;\r
@@ -1056,9 +1057,10 @@ namespace DTXMania
                        this.n非フォーカス時スリープms = 1;                  // #23568 2010.11.04 ikanick add\r
                        this._bGuitar有効 = true;\r
                        this._bDrums有効 = true;\r
-                       this.nBGAlpha = 100;\r
+                       this.nBGAlpha = 200;\r
                        this.eダメージレベル = Eダメージレベル.普通;\r
                        this.bSTAGEFAILED有効 = true;\r
+                       this.bForceAVIFullscreen = false;\r
                        this.bAVI有効 = true;\r
                        this.bBGA有効 = true;\r
                        this.bフィルイン有効 = true;\r
@@ -1391,8 +1393,8 @@ namespace DTXMania
                        sw.WriteLine( "Drums={0}", this.bDrums有効 ? 1 : 0 );\r
                        sw.WriteLine();\r
                        #endregion\r
-                       sw.WriteLine( "; 背景画像の半透明割合(0:透明~255:不透明)" );\r
-                       sw.WriteLine( "; Transparency for background image in playing screen.(0:tranaparent - 255:no transparent)" );\r
+                       sw.WriteLine( "; 背景画像の半透明割合(0:不透明~255:透明)" );\r
+                       sw.WriteLine( "; Transparency for background image in playing screen.(0:no tranaparent - 255:transparent)" );\r
                        sw.WriteLine( "BGAlpha={0}", this.nBGAlpha );\r
                        sw.WriteLine();\r
                        sw.WriteLine( "; Missヒット時のゲージ減少割合(0:少, 1:普通, 2:大)" );\r
@@ -1439,6 +1441,10 @@ namespace DTXMania
                        sw.WriteLine( "; AVIの表示(0:OFF, 1:ON)" );\r
                        sw.WriteLine( "AVI={0}", this.bAVI有効 ? 1 : 0 );\r
                        sw.WriteLine();\r
+                       sw.WriteLine( "; 旧サイズのAVI表示を強制的に全画面化する(0:OFF, 1:ON)" );\r
+                       sw.WriteLine( "; Forcely show BGA-sized movie as Fullscreen." );\r
+                       sw.WriteLine( "ForceAVIFullscreen={0}", this.bForceAVIFullscreen ? 1 : 0 );\r
+                       sw.WriteLine();\r
                        sw.WriteLine( "; BGAの表示(0:OFF, 1:ON)" );\r
                        sw.WriteLine( "BGA={0}", this.bBGA有効 ? 1 : 0 );\r
                        sw.WriteLine();\r
@@ -2311,7 +2317,11 @@ namespace DTXMania
                                                                                        {\r
                                                                                                this.bAVI有効 = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                                       else if( str3.Equals( "BGA" ) )\r
+                                                                                       else if ( str3.Equals( "ForceAVIFullscreen" ) )\r
+                                                                                       {\r
+                                                                                               this.bForceAVIFullscreen = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BGA" ) )\r
                                                                                        {\r
                                                                                                this.bBGA有効 = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
index 7eb4250..6069035 100644 (file)
@@ -97,7 +97,7 @@ namespace DTXMania
                BGALayer5                       = 0x57,\r
                BGALayer6                       = 0x58,\r
                BGALayer7                       = 0x59,\r
-               //nouse_5a                      = 0x5A,\r
+               MovieFull                       = 0x5A,\r
                //nouse_5b                      = 0x5B,\r
                //nouse_5c                      = 0x5C,\r
                //nouse_5d                      = 0x5D,\r
index b888930..30b3ef8 100644 (file)
Binary files a/実行時フォルダ(DTXCreator)/DTXCreator.exe and b/実行時フォルダ(DTXCreator)/DTXCreator.exe differ
index 8f19c30..6829db5 100644 (file)
Binary files a/実行時フォルダ(DTXCreator)/ja-JP/DTXCreator.resources.dll and b/実行時フォルダ(DTXCreator)/ja-JP/DTXCreator.resources.dll differ
index 135662e..20232dd 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
diff --git a/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.jpg b/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.jpg
deleted file mode 100644 (file)
index 9b3a460..0000000
Binary files a/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.jpg and /dev/null differ
diff --git a/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.png b/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.png
new file mode 100644 (file)
index 0000000..8a46482
Binary files /dev/null and b/実行時フォルダ/System/Default/Graphics/ScreenPlayDrums background.png differ