• R/O
  • SSH
  • HTTPS

dtxmaniaxg-verk: 提交


Commit MetaInfo

修訂337 (tree)
時間2014-02-17 20:45:29
作者ron1120

Log Message

#xxxxx スピーカーを仮実装、BPM連動は未実装。

Change Summary

差異

--- trunk/DTXManiaプロジェクト/コード/全体/CConfigIni.cs (revision 336)
+++ trunk/DTXManiaプロジェクト/コード/全体/CConfigIni.cs (revision 337)
@@ -575,6 +575,7 @@
575575 public Eタイプ eドラムセットを動かす;
576576 public Eタイプ eBPMbar;
577577 public bool bLivePoint;
578+ public bool bSpeaker;
578579 #endregion
579580
580581 #region [ GDオプション ]
@@ -1192,6 +1193,7 @@
11921193
11931194 #region [ XGオプション ]
11941195 this.bLivePoint = true;
1196+ this.bSpeaker = true;
11951197 this.eNamePlate = Eタイプ.A;
11961198 #endregion
11971199
@@ -1791,6 +1793,9 @@
17911793 sw.WriteLine("; LivePointの表示(0:OFF, 1:ON)");
17921794 sw.WriteLine("LivePoint={0}", this.bLivePoint ? 1 : 0);
17931795 sw.WriteLine();
1796+ sw.WriteLine("; スピーカーの表示(0:OFF, 1:ON)");
1797+ sw.WriteLine("Speaker={0}", this.bSpeaker ? 1 : 0);
1798+ sw.WriteLine();
17941799 #endregion
17951800 sw.WriteLine("; シャッターINSIDE(0~100)");
17961801 sw.WriteLine("DrumsShutterIn={0}", (int)this.nShutterInSide.Drums);
@@ -2838,6 +2843,10 @@
28382843 {
28392844 this.bLivePoint = C変換.bONorOFF(str4[0]);
28402845 }
2846+ else if (str3.Equals("Speaker"))
2847+ {
2848+ this.bSpeaker = C変換.bONorOFF(str4[0]);
2849+ }
28412850 #endregion
28422851 else if (str3.Equals("DrumsStageEffect"))
28432852 {
--- trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs (revision 336)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs (revision 337)
@@ -846,6 +846,7 @@
846846 }
847847 }
848848 #endregion
849+
849850 if ( this.txバートップ != null && CDTXMania.ConfigIni.bDrums有効 && CDTXMania.ConfigIni.eBPMbar != Eタイプ.D )
850851 {
851852 //this.txバートップ.t2D描画(CDTXMania.app.Device, n振動x座標, 0);
@@ -853,15 +854,21 @@
853854 this.txバートップ.t2D描画(CDTXMania.app.Device, (int)(1151 - 42.4 * CDTXMania.stage演奏ドラム画面.ct登場用.n現在の値 - 2) + n振動x座標, 0, new Rectangle(640, 0, 640, 720));
854855 CDTXMania.stage演奏ドラム画面.actBPMBar.On進行描画();
855856 }
856- if ( this.txバートップ != null && CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.ConfigIni.eBPMbar != Eタイプ.D )
857+ if ( CDTXMania.ConfigIni.bGuitar有効 )
857858 {
858- if (CDTXMania.DTX.bチップがある.Guitar)
859- this.txバートップ.t2D描画(CDTXMania.app.Device, 0, 0, new Rectangle(0, 0, 640, 720));
859+ if ( CDTXMania.ConfigIni.bSpeaker )
860+ CDTXMania.stage演奏ギター画面.actSpeaker.On進行描画();
860861
861- if (CDTXMania.DTX.bチップがある.Bass)
862- this.txバートップ.t2D描画(CDTXMania.app.Device, 640, 0, new Rectangle(640, 0, 640, 720));
862+ if (this.txバートップ != null && CDTXMania.ConfigIni.eBPMbar != Eタイプ.D)
863+ {
864+ if (CDTXMania.DTX.bチップがある.Guitar)
865+ this.txバートップ.t2D描画(CDTXMania.app.Device, 0, 0, new Rectangle(0, 0, 640, 720));
863866
864- CDTXMania.stage演奏ギター画面.actBPMBar.On進行描画();
867+ if (CDTXMania.DTX.bチップがある.Bass)
868+ this.txバートップ.t2D描画(CDTXMania.app.Device, 640, 0, new Rectangle(640, 0, 640, 720));
869+
870+ CDTXMania.stage演奏ギター画面.actBPMBar.On進行描画();
871+ }
865872 }
866873 long lPos = 0;
867874 //if (this.dsBGV != null)
--- trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 336)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs (revision 337)
@@ -22,7 +22,8 @@
2222 base.eフェーズID = CStage.Eフェーズ.共通_通常状態;
2323 base.b活性化してない = true;
2424 base.list子Activities.Add( this.actBPMBar = new CAct演奏GuitarBPMバー() );
25- base.list子Activities.Add( this.actStageFailed = new CAct演奏ステージ失敗() );
25+ base.list子Activities.Add( this.actSpeaker = new CAct演奏Guitarスピーカー() );
26+ base.list子Activities.Add( this.actStageFailed = new CAct演奏ステージ失敗() );
2627 base.list子Activities.Add( this.actDANGER = new CAct演奏GuitarDanger() );
2728 base.list子Activities.Add( this.actAVI = new CAct演奏AVI() );
2829 base.list子Activities.Add( this.actBGA = new CAct演奏BGA() );
@@ -131,6 +132,7 @@
131132
132133 this.UnitTime = ((60.0 / (CDTXMania.stage演奏ギター画面.actPlayInfo.dbBPM) / 14.0)); //2014.01.14.kairera0467 これも動かしたいのだが・・・・
133134 this.actBPMBar.ctBPMバー = new CCounter(1.0, 14.0, UnitTime, CSound管理.rc演奏用タイマ);
135+ this.actSpeaker.ctBPM = new CCounter(1.0, 14.0, UnitTime, CSound管理.rc演奏用タイマ);
134136
135137 this.ctチップ模様アニメ.Guitar = new CCounter( 0, 0x17, 20, CDTXMania.Timer );
136138 this.ctチップ模様アニメ.Bass = new CCounter( 0, 0x17, 20, CDTXMania.Timer );
@@ -187,7 +189,6 @@
187189
188190 this.t進行描画・グラフ();
189191
190-
191192 this.t進行描画・WailingBonus();
192193 this.t進行描画・譜面スクロール速度();
193194 this.t進行描画・チップアニメ();
@@ -250,6 +251,7 @@
250251 public CAct演奏スキルメーター actGraph;
251252 public bool bサビ区間;
252253 public double UnitTime;
254+ public CAct演奏Guitarスピーカー actSpeaker;
253255
254256 protected override E判定 tチップのヒット処理( long nHitTime, CDTX.CChip pChip, bool bCorrectLane )
255257 {
--- trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスピーカー.cs (nonexistent)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスピーカー.cs (revision 337)
@@ -0,0 +1,106 @@
1+using System;
2+using System.Collections.Generic;
3+using System.Text;
4+using System.Drawing;
5+using System.IO;
6+using SlimDX;
7+using FDK;
8+
9+namespace DTXMania
10+{
11+ internal class CAct演奏Guitarスピーカー : CActivity
12+ {
13+
14+ protected CTexture スピーカー上;
15+ protected CTexture スピーカー下;
16+ protected CTexture txスピーカー背景;
17+ public CCounter ctBPM;
18+ public double UnitTime;
19+
20+ public override void On活性化()
21+ {
22+ this.ctBPM = null;
23+ this.UnitTime = 0.0;
24+ base.On活性化();
25+ }
26+ public override void OnManagedリソースの作成()
27+ {
28+ if (!base.b活性化してない)
29+ {
30+ this.スピーカー上 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_speakerU.png"));
31+ this.スピーカー下 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_speakerD.png"));
32+ this.txスピーカー背景 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_speaker.png"));
33+
34+ base.OnManagedリソースの作成();
35+ }
36+ }
37+ public override void OnManagedリソースの解放()
38+ {
39+ if (!base.b活性化してない)
40+ {
41+ CDTXMania.tテクスチャの解放(ref this.スピーカー上);
42+ CDTXMania.tテクスチャの解放(ref this.スピーカー下);
43+ CDTXMania.tテクスチャの解放(ref this.txスピーカー背景);
44+
45+ base.OnManagedリソースの解放();
46+ }
47+ }
48+
49+ // CActivity 実装(共通クラスからの差分のみ)
50+
51+ public override int On進行描画()
52+ {
53+ if (!base.b活性化してない)
54+ {
55+ int num = (int)this.ctBPM.db現在の値;
56+
57+ float num1 = 1 + (float)( Math.Sin(Math.PI * num / 14));
58+
59+ float f位置X = 218;
60+ float f位置Y = 231;
61+ float f下差Y = 23;
62+
63+ if (this.スピーカー上 != null && this.スピーカー下 != null)
64+ {
65+ if (CDTXMania.DTX.bチップがある.Guitar)
66+ {
67+ if (this.txスピーカー背景 != null)
68+ this.txスピーカー背景.t2D描画(CDTXMania.app.Device, 0, 0, new Rectangle(0, 0, 640, 720));
69+
70+ Matrix mat1u = Matrix.Identity;
71+ //mat1u *= Matrix.Scaling( num1, num1, 1f);
72+ mat1u *= Matrix.Translation(0f - f位置X, 0f + f位置Y, 0f);
73+
74+ this.スピーカー上.t3D描画(CDTXMania.app.Device, mat1u);
75+
76+ Matrix mat1d = Matrix.Identity;
77+ //mat1d *= Matrix.Scaling( num1, num1, 1f);
78+ mat1d *= Matrix.Translation(0f - f位置X, 0f - f位置Y - f下差Y, 0f);
79+
80+ this.スピーカー下.t3D描画(CDTXMania.app.Device, mat1d);
81+ }
82+
83+ if (CDTXMania.DTX.bチップがある.Bass)
84+ {
85+ if (this.txスピーカー背景 != null)
86+ this.txスピーカー背景.t2D描画(CDTXMania.app.Device, 640, 0, new Rectangle(640, 0, 640, 720));
87+
88+ Matrix mat2u = Matrix.Identity;
89+ //mat2u *= Matrix.Scaling(num1, num1, 1f);
90+ mat2u *= Matrix.Translation(0f + f位置X, 0f + f位置Y, 0f);
91+
92+ this.スピーカー上.t3D描画(CDTXMania.app.Device, mat2u);
93+
94+ Matrix mat2d = Matrix.Identity;
95+ //mat2d *= Matrix.Scaling(num1, num1, 1f);
96+ mat2d *= Matrix.Translation(0f + f位置X, 0f - f位置Y - f下差Y, 0f);
97+
98+ this.スピーカー下.t3D描画(CDTXMania.app.Device, mat2d);
99+
100+ }
101+ }
102+ }
103+ return 0;
104+ }
105+ }
106+}
--- trunk/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs (revision 336)
+++ trunk/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs (revision 337)
@@ -401,6 +401,11 @@
401401 #endregion
402402
403403 #region [ XGオプション ]
404+ this.iSystemSpeaker = new CItemToggle("Speaker", CDTXMania.ConfigIni.bSpeaker,
405+ "スピーカーの表示を設定します。",
406+ "");
407+ this.list項目リスト.Add(this.iSystemSpeaker);
408+
404409 this.iDrumsMoveDrumSet = new CItemList("DrumSetMove", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.eドラムセットを動かす,
405410 "ドラムセットが動くかを設定します。\n" +
406411 "ON: ドラムセットを動かします。\n" +
@@ -2588,6 +2593,7 @@
25882593 private CItemList iDrumsMoveDrumSet;
25892594 private CItemList iSystemBPMbar;
25902595 private CItemToggle iSystemLivePoint;
2596+ private CItemToggle iSystemSpeaker;
25912597 private CItemList iSystemNamePlateType;
25922598 #endregion
25932599
@@ -2839,6 +2845,7 @@
28392845 #region [ XGオプション ]
28402846 CDTXMania.ConfigIni.eドラムセットを動かす = (Eタイプ)this.iDrumsMoveDrumSet.n現在選択されている項目番号;
28412847 CDTXMania.ConfigIni.bLivePoint = this.iSystemLivePoint.bON;
2848+ CDTXMania.ConfigIni.bSpeaker = this.iSystemSpeaker.bON;
28422849 CDTXMania.ConfigIni.eBPMbar = (Eタイプ)this.iSystemBPMbar.n現在選択されている項目番号;
28432850 CDTXMania.ConfigIni.eNamePlate = (Eタイプ)this.iSystemNamePlateType.n現在選択されている項目番号;
28442851 #endregion
--- branches/GITADORA風/DTXManiaプロジェクト/コード/全体/CConfigIni.cs (revision 336)
+++ branches/GITADORA風/DTXManiaプロジェクト/コード/全体/CConfigIni.cs (revision 337)
@@ -575,6 +575,7 @@
575575 public Eタイプ eドラムセットを動かす;
576576 public Eタイプ eBPMbar;
577577 public bool bLivePoint;
578+ public bool bSpeaker;
578579 #endregion
579580
580581 #region [ GDオプション ]
@@ -1192,6 +1193,7 @@
11921193
11931194 #region [ XGオプション ]
11941195 this.bLivePoint = true;
1196+ this.bSpeaker = true;
11951197 this.eNamePlate = Eタイプ.A;
11961198 #endregion
11971199
@@ -1791,6 +1793,9 @@
17911793 sw.WriteLine("; LivePointの表示(0:OFF, 1:ON)");
17921794 sw.WriteLine("LivePoint={0}", this.bLivePoint ? 1 : 0);
17931795 sw.WriteLine();
1796+ sw.WriteLine("; スピーカーの表示(0:OFF, 1:ON)");
1797+ sw.WriteLine("Speaker={0}", this.bSpeaker ? 1 : 0);
1798+ sw.WriteLine();
17941799 #endregion
17951800 sw.WriteLine("; シャッターINSIDE(0~100)");
17961801 sw.WriteLine("DrumsShutterIn={0}", (int)this.nShutterInSide.Drums);
@@ -2838,6 +2843,10 @@
28382843 {
28392844 this.bLivePoint = C変換.bONorOFF(str4[0]);
28402845 }
2846+ else if (str3.Equals("Speaker"))
2847+ {
2848+ this.bSpeaker = C変換.bONorOFF(str4[0]);
2849+ }
28412850 #endregion
28422851 else if (str3.Equals("DrumsStageEffect"))
28432852 {
Show on old repository browser