• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版71b46369d2bb9d54f9e1298bf7aac9293c281df8 (tree)
时间2017-05-08 18:18:07
作者FROM <from@alto...>
CommiterFROM

Log Message

BGAの表示ずれ、ならびにBGAPAN 時のピクセル揺れを解消。

BGAの描画方法を、1枚の内部テクスチャに全部描画してからそのテクスチャを画面に表示する方法に変更した。

更改概述

  • delete: "DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTXNestedTypes.cs"
  • delete: "DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\203\206\343\203\274\343\202\270/07.\346\274\224\345\245\217/CAct\346\274\224\345\245\217BGA.cs"
  • delete: "FDK17\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/04.\343\202\260\343\203\251\343\203\225\343\202\243\343\203\203\343\202\257/CTexture.cs"
  • delete: "\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXCreator.exe"
  • delete: "\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe"
  • delete: "\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll"
  • delete: "\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXCreator.resources.dll"
  • delete: "\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXManiaGR.resources.dll"

差异

--- "a/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTXNestedTypes.cs"
+++ "b/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\202\263\343\202\242\343\200\201\346\233\262/CDTXNestedTypes.cs"
@@ -346,6 +346,7 @@ namespace DTXMania
346346
347347 this.bDisposed済み = true;
348348 }
349+ //-----------------
349350 #endregion
350351 #region [ private ]
351352 //-----------------
--- "a/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\203\206\343\203\274\343\202\270/07.\346\274\224\345\245\217/CAct\346\274\224\345\245\217BGA.cs"
+++ "b/DTXMania\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/\343\202\271\343\203\206\343\203\274\343\202\270/07.\346\274\224\345\245\217/CAct\346\274\224\345\245\217BGA.cs"
@@ -30,8 +30,9 @@ namespace DTXMania
3030 public long n移動開始時刻ms;
3131 }
3232
33- private Surface sfBackBuffer;
33+ private CTexture txBGA;
3434 private STLAYER[] stLayer = new STLAYER[8];
35+ private readonly Size size基準 = new Size( 278, 355 );
3536
3637 public CAct演奏BGA()
3738 {
@@ -57,10 +58,10 @@ namespace DTXMania
5758 this.stLayer[i].pt画像側開始位置.Y = n画像側開始位置Y;
5859 this.stLayer[i].pt画像側終了位置.X = n画像側終了位置X;
5960 this.stLayer[i].pt画像側終了位置.Y = n画像側終了位置Y;
60- this.stLayer[i].pt表示側開始位置.X = n表示側開始位置X * 2;
61- this.stLayer[i].pt表示側開始位置.Y = n表示側開始位置Y * 2;
62- this.stLayer[i].pt表示側終了位置.X = n表示側終了位置X * 2;
63- this.stLayer[i].pt表示側終了位置.Y = n表示側終了位置Y * 2;
61+ this.stLayer[i].pt表示側開始位置.X = n表示側開始位置X;
62+ this.stLayer[i].pt表示側開始位置.Y = n表示側開始位置Y;
63+ this.stLayer[i].pt表示側終了位置.X = n表示側終了位置X;
64+ this.stLayer[i].pt表示側終了位置.Y = n表示側終了位置Y;
6465 this.stLayer[i].n総移動時間ms = n総移動時間ms;
6566 this.stLayer[i].n移動開始時刻ms = (n移動開始時刻ms != -1) ? n移動開始時刻ms : CDTXMania.Instance.Timer.n現在時刻;
6667 }
@@ -131,13 +132,23 @@ namespace DTXMania
131132
132133 public override void OnManagedリソースの作成()
133134 {
134- if (!base.b活性化してない)
135+ if (base.b活性化してる)
135136 {
136137 using (Surface surface = CDTXMania.Instance.Device.GetBackBuffer(0, 0))
137138 {
138139 try
139140 {
140- this.sfBackBuffer = Surface.CreateOffscreenPlain(CDTXMania.Instance.Device, surface.Description.Width, surface.Description.Height, surface.Description.Format, Pool.SystemMemory);
141+ this.txBGA = new CTexture( CDTXMania.Instance.Device,
142+ size基準.Width,
143+ size基準.Height,
144+ surface.Description.Format,
145+ Pool.Default,
146+ Usage.RenderTarget );
147+
148+ txBGA.vc拡大縮小倍率 = new Vector3(
149+ (float) CDTXMania.Instance.Coordinates.Movie.W / size基準.Width,
150+ (float) CDTXMania.Instance.Coordinates.Movie.H / size基準.Height,
151+ 1f );
141152 }
142153 catch (Exception e)
143154 {
@@ -150,12 +161,12 @@ namespace DTXMania
150161
151162 public override void OnManagedリソースの解放()
152163 {
153- if (!base.b活性化してない)
164+ if (base.b活性化してる)
154165 {
155- if (this.sfBackBuffer != null)
166+ if (this.txBGA != null)
156167 {
157- this.sfBackBuffer.Dispose();
158- this.sfBackBuffer = null;
168+ this.txBGA.Dispose();
169+ this.txBGA = null;
159170 }
160171 base.OnManagedリソースの解放();
161172 }
@@ -165,183 +176,202 @@ namespace DTXMania
165176 {
166177 if (b活性化してる && CDTXMania.Instance.ConfigIni.bBGA && !CDTXMania.Instance.ConfigIni.bStoicMode)
167178 {
168- int x = CDTXMania.Instance.ConfigIni.cdMovieX[CDTXMania.Instance.ConfigIni.eActiveInst];
169- int y = CDTXMania.Instance.ConfigIni.cdMovieY[CDTXMania.Instance.ConfigIni.eActiveInst];
170- using (Bitmap bmp = new Bitmap(CDTXMania.Instance.Coordinates.Movie.W, CDTXMania.Instance.Coordinates.Movie.H))
179+ // (1) txBGA をレンダーターゲットにして、BGA を描画する。
180+
181+ using( Surface sfBackBuffer = CDTXMania.Instance.Device.GetRenderTarget( 0 ) )
171182 {
172- for (int i = 0; i < 8; i++)
183+ using( Surface sfBGA = txBGA.texture.GetSurfaceLevel( 0 ) )
173184 {
174- if (((this.stLayer[i].n移動開始時刻ms != -1) && ((this.stLayer[i].rBMP != null) || (this.stLayer[i].rBMPTEX != null))) && (((this.stLayer[i].rBMP == null) || (this.stLayer[i].rBMP.bUse && (this.stLayer[i].rBMP.tx画像 != null))) && ((this.stLayer[i].rBMPTEX == null) || (this.stLayer[i].rBMPTEX.bUse && (this.stLayer[i].rBMPTEX.tx画像 != null)))))
185+ CDTXMania.Instance.Device.SetRenderTarget( 0, sfBGA );
186+ CDTXMania.Instance.Device.Clear( ClearFlags.Target, new ColorBGRA( (int) 0 ), 0f, 0 );
187+
188+ for( int i = 0; i < 8; i++ )
175189 {
176- Size sizeStart = this.stLayer[i].sz開始サイズ;
177- Size sizeEnd = this.stLayer[i].sz終了サイズ;
178- Point ptImgStart = this.stLayer[i].pt画像側開始位置;
179- Point ptImgEnd = this.stLayer[i].pt画像側終了位置;
180- Point ptDispStart = this.stLayer[i].pt表示側開始位置;
181- Point ptDispEnd = this.stLayer[i].pt表示側終了位置;
182- long timeTotal = this.stLayer[i].n総移動時間ms;
183- long timeMoveStart = this.stLayer[i].n移動開始時刻ms;
184-
185- if (CDTXMania.Instance.Timer.n現在時刻 < timeMoveStart)
190+ #region [ レイヤー i の描画 ]
191+ if( ( ( ( this.stLayer[ i ].n移動開始時刻ms != -1 ) && ( ( this.stLayer[ i ].rBMP != null ) || ( this.stLayer[ i ].rBMPTEX != null ) ) ) ) &&
192+ ( ( ( this.stLayer[ i ].rBMP == null ) || ( this.stLayer[ i ].rBMP.bUse && ( this.stLayer[ i ].rBMP.tx画像 != null ) ) ) &&
193+ ( ( ( this.stLayer[ i ].rBMPTEX == null ) || ( this.stLayer[ i ].rBMPTEX.bUse && ( this.stLayer[ i ].rBMPTEX.tx画像 != null ) ) ) ) ) )
186194 {
187- timeMoveStart = CDTXMania.Instance.Timer.n現在時刻;
188- }
189- // Size size3 = new Size( 0x116, 0x163 );
190- Size size表示域 = new Size(278 * 2, 355 * 2);
191- // chnrm0 : #34192
192- // 表示域を2倍に変更した。
193- // x,yについては次のように変更した。
194- // 338,57 => 1014+139,128 (Dr.) 139は278の半分で、GR領域の中央によせるためにすこし右側にずらした。
195- // 181,50 => 682, 112 (Gt.)
196- Size sizeBMP = new Size(
197- (this.stLayer[i].rBMP != null) ? this.stLayer[i].rBMP.n幅 : this.stLayer[i].rBMPTEX.tx画像.sz画像サイズ.Width,
198- (this.stLayer[i].rBMP != null) ? this.stLayer[i].rBMP.n高さ : this.stLayer[i].rBMPTEX.tx画像.sz画像サイズ.Height);
199-
200- int n再生位置 = (int)((CDTXMania.Instance.Timer.n現在時刻 - timeMoveStart) * (((double)CDTXMania.Instance.ConfigIni.nPlaySpeed) / 20.0));
201-
202- if ((timeTotal != 0) && (timeTotal < n再生位置))
203- {
204- this.stLayer[i].pt画像側開始位置 = ptImgStart = ptImgEnd;
205- this.stLayer[i].pt表示側開始位置 = ptDispStart = ptDispEnd;
206- this.stLayer[i].sz開始サイズ = sizeStart = sizeEnd;
207- this.stLayer[i].n総移動時間ms = timeTotal = 0;
208- }
195+ Size sizeStart = this.stLayer[ i ].sz開始サイズ;
196+ Size sizeEnd = this.stLayer[ i ].sz終了サイズ;
197+ Point ptImgStart = this.stLayer[ i ].pt画像側開始位置;
198+ Point ptImgEnd = this.stLayer[ i ].pt画像側終了位置;
199+ Point ptDispStart = this.stLayer[ i ].pt表示側開始位置;
200+ Point ptDispEnd = this.stLayer[ i ].pt表示側終了位置;
201+ long timeTotal = this.stLayer[ i ].n総移動時間ms;
202+ long timeMoveStart = this.stLayer[ i ].n移動開始時刻ms;
209203
210- Rectangle rect画像側 = new Rectangle();
211- Rectangle rect表示側 = new Rectangle();
212-
213- if (timeTotal == 0)
214- {
215- rect画像側.X = ptImgStart.X;
216- rect画像側.Y = ptImgStart.Y;
217- rect画像側.Width = sizeStart.Width;
218- rect画像側.Height = sizeStart.Height;
219- rect表示側.X = ptDispStart.X;
220- rect表示側.Y = ptDispStart.Y;
221- rect表示側.Width = sizeStart.Width;
222- rect表示側.Height = sizeStart.Height;
223- }
224- else
225- {
226- double coefSizeWhileMoving = ((double)n再生位置) / ((double)timeTotal);
227- Size sizeWhileMoving = new Size(sizeStart.Width + ((int)((sizeEnd.Width - sizeStart.Width) * coefSizeWhileMoving)), sizeStart.Height + ((int)((sizeEnd.Height - sizeStart.Height) * coefSizeWhileMoving)));
228- rect画像側.X = ptImgStart.X + ((int)((ptImgEnd.X - ptImgStart.X) * coefSizeWhileMoving));
229- rect画像側.Y = ptImgStart.Y + ((int)((ptImgEnd.Y - ptImgStart.Y) * coefSizeWhileMoving));
230- rect画像側.Width = sizeWhileMoving.Width;
231- rect画像側.Height = sizeWhileMoving.Height;
232- rect表示側.X = ptDispStart.X + ((int)((ptDispEnd.X - ptDispStart.X) * coefSizeWhileMoving));
233- rect表示側.Y = ptDispStart.Y + ((int)((ptDispEnd.Y - ptDispStart.Y) * coefSizeWhileMoving));
234- rect表示側.Width = sizeWhileMoving.Width * 2;
235- rect表示側.Height = sizeWhileMoving.Height * 2;
236- }
237- if (
238- (rect画像側.Right > 0) &&
239- (rect画像側.Bottom > 0) &&
240- (rect画像側.Left < sizeBMP.Width) &&
241- (rect画像側.Top < sizeBMP.Height) &&
242- (rect表示側.Right > 0) &&
243- (rect表示側.Bottom > 0) &&
244- (rect表示側.Left < size表示域.Width) &&
245- (rect表示側.Top < size表示域.Height)
246- )
247- {
248- // 画像側の表示指定が画像の境界をまたいでいる場合補正
249- if (rect画像側.X < 0)
204+ if( CDTXMania.Instance.Timer.n現在時刻 < timeMoveStart )
250205 {
251- rect表示側.Width -= -rect画像側.X;
252- rect表示側.X += -rect画像側.X;
253- rect画像側.Width -= -rect画像側.X;
254- rect画像側.X = 0;
255- }
256- if (rect画像側.Y < 0)
257- {
258- rect表示側.Height -= -rect画像側.Y;
259- rect表示側.Y += -rect画像側.Y;
260- rect画像側.Height -= -rect画像側.Y;
261- rect画像側.Y = 0;
262- }
263- if (rect画像側.Right > sizeBMP.Width)
264- {
265- rect表示側.Width -= rect画像側.Right - sizeBMP.Width;
266- rect画像側.Width -= rect画像側.Right - sizeBMP.Width;
267- }
268- if (rect画像側.Bottom > sizeBMP.Height)
269- {
270- rect表示側.Height -= rect画像側.Bottom - sizeBMP.Height;
271- rect画像側.Height -= rect画像側.Bottom - sizeBMP.Height;
206+ timeMoveStart = CDTXMania.Instance.Timer.n現在時刻;
272207 }
273208
274- // 表示側の表示指定が表示域の境界をまたいでいる場合補正
275- if (rect表示側.X < 0)
276- {
277- rect画像側.Width -= -rect表示側.X;
278- rect画像側.X += -rect表示側.X;
279- rect表示側.Width -= rect表示側.X;
280- rect表示側.X = 0;
281- }
282- if (rect表示側.Y < 0)
209+ Size sizeBMP = new Size(
210+ ( this.stLayer[ i ].rBMP != null ) ? this.stLayer[ i ].rBMP.n幅 : this.stLayer[ i ].rBMPTEX.tx画像.sz画像サイズ.Width,
211+ ( this.stLayer[ i ].rBMP != null ) ? this.stLayer[ i ].rBMP.n高さ : this.stLayer[ i ].rBMPTEX.tx画像.sz画像サイズ.Height );
212+
213+ int n再生位置 = (int) ( ( CDTXMania.Instance.Timer.n現在時刻 - timeMoveStart ) * ( ( (double) CDTXMania.Instance.ConfigIni.nPlaySpeed ) / 20.0 ) );
214+
215+ if( ( timeTotal != 0 ) && ( timeTotal < n再生位置 ) )
283216 {
284- rect画像側.Height -= -rect表示側.Y;
285- rect画像側.Y += -rect表示側.Y;
286- rect表示側.Height -= -rect表示側.Y;
287- rect表示側.Y = 0;
217+ this.stLayer[ i ].pt画像側開始位置 = ptImgStart = ptImgEnd;
218+ this.stLayer[ i ].pt表示側開始位置 = ptDispStart = ptDispEnd;
219+ this.stLayer[ i ].sz開始サイズ = sizeStart = sizeEnd;
220+ this.stLayer[ i ].n総移動時間ms = timeTotal = 0;
288221 }
289- if (rect表示側.Right > size表示域.Width)
222+
223+ Rectangle rect画像側 = new Rectangle();
224+ Rectangle rect表示側 = new Rectangle();
225+
226+ if( timeTotal == 0 )
290227 {
291- rect画像側.Width -= (rect表示側.Right - size表示域.Width) / 2;
292- rect表示側.Width -= rect表示側.Right - size表示域.Width;
228+ rect画像側.X = ptImgStart.X;
229+ rect画像側.Y = ptImgStart.Y;
230+ rect画像側.Width = sizeStart.Width;
231+ rect画像側.Height = sizeStart.Height;
232+ rect表示側.X = ptDispStart.X;
233+ rect表示側.Y = ptDispStart.Y;
234+ rect表示側.Width = sizeStart.Width;
235+ rect表示側.Height = sizeStart.Height;
293236 }
294- if (rect表示側.Bottom > size表示域.Height)
237+ else
295238 {
296- rect画像側.Height -= (rect表示側.Bottom - size表示域.Height) / 2;
297- rect表示側.Height -= rect表示側.Bottom - size表示域.Height;
239+ double coefSizeWhileMoving = ( (double) n再生位置 ) / ( (double) timeTotal );
240+ Size sizeWhileMoving = new Size(
241+ sizeStart.Width + ( (int) ( ( sizeEnd.Width - sizeStart.Width ) * coefSizeWhileMoving ) ),
242+ sizeStart.Height + ( (int) ( ( sizeEnd.Height - sizeStart.Height ) * coefSizeWhileMoving ) ) );
243+ rect画像側.X = ptImgStart.X + ( (int) ( ( ptImgEnd.X - ptImgStart.X ) * coefSizeWhileMoving ) );
244+ rect画像側.Y = ptImgStart.Y + ( (int) ( ( ptImgEnd.Y - ptImgStart.Y ) * coefSizeWhileMoving ) );
245+ rect画像側.Width = sizeWhileMoving.Width;
246+ rect画像側.Height = sizeWhileMoving.Height;
247+ rect表示側.X = ptDispStart.X + ( (int) ( ( ptDispEnd.X - ptDispStart.X ) * coefSizeWhileMoving ) );
248+ rect表示側.Y = ptDispStart.Y + ( (int) ( ( ptDispEnd.Y - ptDispStart.Y ) * coefSizeWhileMoving ) );
249+ rect表示側.Width = sizeWhileMoving.Width;
250+ rect表示側.Height = sizeWhileMoving.Height;
298251 }
299252
300- if (
301- (rect画像側.Width > 0) &&
302- (rect画像側.Height > 0) &&
303- (rect表示側.Width > 0) &&
304- (rect表示側.Height > 0) &&
305-
306- (rect画像側.Right >= 0) &&
307- (rect画像側.Bottom >= 0) &&
308- (rect画像側.Left <= sizeBMP.Width) &&
309- (rect画像側.Top <= sizeBMP.Height) &&
310- (rect表示側.Right >= 0) &&
311- (rect表示側.Bottom >= 0) &&
312- (rect表示側.Left <= size表示域.Width) &&
313- (rect表示側.Top <= size表示域.Height)
253+ if(
254+ ( rect画像側.Right > 0 ) &&
255+ ( rect画像側.Bottom > 0 ) &&
256+ ( rect画像側.Left < sizeBMP.Width ) &&
257+ ( rect画像側.Top < sizeBMP.Height ) &&
258+ ( rect表示側.Right > 0 ) &&
259+ ( rect表示側.Bottom > 0 ) &&
260+ ( rect表示側.Left < size基準.Width ) &&
261+ ( rect表示側.Top < size基準.Height )
314262 )
315263 {
316- CTexture tex = null;
317- if (this.stLayer[i].rBMP != null)
264+ #region " 画像側の表示指定が画像の境界をまたいでいる場合補正 "
265+ //----------------
266+ if( rect画像側.X < 0 )
318267 {
319- tex = this.stLayer[i].rBMP.tx画像;
268+ rect表示側.Width -= -rect画像側.X;
269+ rect表示側.X += -rect画像側.X;
270+ rect画像側.Width -= -rect画像側.X;
271+ rect画像側.X = 0;
320272 }
321- else if (this.stLayer[i].rBMPTEX != null)
273+ if( rect画像側.Y < 0 )
322274 {
323- tex = this.stLayer[i].rBMPTEX.tx画像;
275+ rect表示側.Height -= -rect画像側.Y;
276+ rect表示側.Y += -rect画像側.Y;
277+ rect画像側.Height -= -rect画像側.Y;
278+ rect画像側.Y = 0;
324279 }
325- if (tex != null)
280+ if( rect画像側.Right > sizeBMP.Width )
326281 {
327- if (CDTXMania.Instance.DTX != null && !CDTXMania.Instance.DTX.bUse556x710BGAAVI)
282+ rect表示側.Width -= rect画像側.Right - sizeBMP.Width;
283+ rect画像側.Width -= rect画像側.Right - sizeBMP.Width;
284+ }
285+ if( rect画像側.Bottom > sizeBMP.Height )
286+ {
287+ rect表示側.Height -= rect画像側.Bottom - sizeBMP.Height;
288+ rect画像側.Height -= rect画像側.Bottom - sizeBMP.Height;
289+ }
290+ //----------------
291+ #endregion
292+
293+ #region " 表示側の表示指定が表示域の境界をまたいでいる場合補正 "
294+ //----------------
295+ if( rect表示側.X < 0 )
296+ {
297+ rect画像側.Width -= -rect表示側.X;
298+ rect画像側.X += -rect表示側.X;
299+ rect表示側.Width -= rect表示側.X;
300+ rect表示側.X = 0;
301+ }
302+ if( rect表示側.Y < 0 )
303+ {
304+ rect画像側.Height -= -rect表示側.Y;
305+ rect画像側.Y += -rect表示側.Y;
306+ rect表示側.Height -= -rect表示側.Y;
307+ rect表示側.Y = 0;
308+ }
309+ if( rect表示側.Right > size基準.Width )
310+ {
311+ rect画像側.Width -= rect表示側.Right - size基準.Width;
312+ rect表示側.Width -= rect表示側.Right - size基準.Width;
313+ }
314+ if( rect表示側.Bottom > size基準.Height )
315+ {
316+ rect画像側.Height -= rect表示側.Bottom - size基準.Height;
317+ rect表示側.Height -= rect表示側.Bottom - size基準.Height;
318+ }
319+ //----------------
320+ #endregion
321+
322+ if(
323+ ( rect画像側.Width > 0 ) &&
324+ ( rect画像側.Height > 0 ) &&
325+ ( rect表示側.Width > 0 ) &&
326+ ( rect表示側.Height > 0 ) &&
327+
328+ ( rect画像側.Right >= 0 ) &&
329+ ( rect画像側.Bottom >= 0 ) &&
330+ ( rect画像側.Left <= sizeBMP.Width ) &&
331+ ( rect画像側.Top <= sizeBMP.Height ) &&
332+ ( rect表示側.Right >= 0 ) &&
333+ ( rect表示側.Bottom >= 0 ) &&
334+ ( rect表示側.Left <= size基準.Width ) &&
335+ ( rect表示側.Top <= size基準.Height )
336+ )
337+ {
338+ CTexture tex = null;
339+ if( this.stLayer[ i ].rBMP != null )
328340 {
329- tex.vc拡大縮小倍率.X = 2.0f;
330- tex.vc拡大縮小倍率.Y = 2.0f;
331- tex.vc拡大縮小倍率.Z = 1.0f;
341+ tex = this.stLayer[ i ].rBMP.tx画像;
332342 }
343+ else if( this.stLayer[ i ].rBMPTEX != null )
344+ {
345+ tex = this.stLayer[ i ].rBMPTEX.tx画像;
346+ }
347+ if( tex != null )
348+ {
349+ //if( CDTXMania.Instance.DTX != null && !CDTXMania.Instance.DTX.bUse556x710BGAAVI )
350+ //{
351+ // tex.vc拡大縮小倍率.X = 2.0f;
352+ // tex.vc拡大縮小倍率.Y = 2.0f;
353+ // tex.vc拡大縮小倍率.Z = 1.0f;
354+ //}
333355
334- tex.t2D描画(
335- CDTXMania.Instance.Device,
336- (x + rect表示側.X),
337- (y + rect表示側.Y),
338- rect画像側);
356+ tex.t2D描画( CDTXMania.Instance.Device, rect表示側.X, rect表示側.Y, rect画像側 );
357+ }
339358 }
340359 }
341360 }
361+ #endregion
342362 }
363+
364+ // レンダーターゲットをバックバッファに戻す。
365+ CDTXMania.Instance.Device.SetRenderTarget( 0, sfBackBuffer );
343366 }
344367 }
368+
369+ // (2) バックバッファに txBGA を描画する。
370+
371+ int x = CDTXMania.Instance.ConfigIni.cdMovieX[ CDTXMania.Instance.ConfigIni.eActiveInst ];
372+ int y = CDTXMania.Instance.ConfigIni.cdMovieY[ CDTXMania.Instance.ConfigIni.eActiveInst ];
373+
374+ txBGA.t2D描画( CDTXMania.Instance.Device, x, y );
345375 }
346376 return 0;
347377 }
--- "a/FDK17\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/04.\343\202\260\343\203\251\343\203\225\343\202\243\343\203\203\343\202\257/CTexture.cs"
+++ "b/FDK17\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210/\343\202\263\343\203\274\343\203\211/04.\343\202\260\343\203\251\343\203\225\343\202\243\343\203\203\343\202\257/CTexture.cs"
@@ -451,7 +451,7 @@ namespace FDK
451451 this.cvTransformedColoredVertexies[ 3 ].Color = color;
452452 this.cvTransformedColoredVertexies[ 3 ].TextureCoordinates.X = f右U値;
453453 this.cvTransformedColoredVertexies[ 3 ].TextureCoordinates.Y = f下V値;
454-
454+
455455 device.SetTexture( 0, this.texture );
456456 device.VertexFormat = TransformedColoredTexturedVertex.Format;
457457 device.DrawUserPrimitives( PrimitiveType.TriangleStrip, 0, 2, this.cvTransformedColoredVertexies );
Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXCreator.exe" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXCreator.exe" differ
Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/DTXManiaGR.exe" differ
Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/dll/FDK.dll" differ
Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXCreator.resources.dll" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXCreator.resources.dll" differ
Binary files "a/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXManiaGR.resources.dll" and "b/\345\256\237\350\241\214\346\231\202\343\203\225\343\202\251\343\203\253\343\203\200/ja-JP/DTXManiaGR.resources.dll" differ