From e37f5df8f73b5c6a290fb40bf093e3d5d96eef03 Mon Sep 17 00:00:00 2001 From: chnmr0 Date: Tue, 23 Feb 2016 16:30:33 +0000 Subject: [PATCH] =?utf8?q?#36043=20CDTXMania=20=E5=86=85=E3=81=AE=20app=20?= =?utf8?q?=E4=BB=A5=E5=A4=96=E3=81=AE=20static=20=E3=83=A1=E3=83=B3?= =?utf8?q?=E3=83=90=E3=82=92=E3=82=A4=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=B3?= =?utf8?q?=E3=82=B9=E3=83=A1=E3=83=B3=E3=83=90=E3=81=AB=E3=81=97=E3=80=81a?= =?utf8?q?pp=E3=82=92=E4=BB=8B=E3=81=97=E3=81=A6=E3=82=A2=E3=82=AF?= =?utf8?q?=E3=82=BB=E3=82=B9=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?utf8?q?=E5=A4=89=E6=9B=B4=E3=80=82CChip=E3=81=AE=E3=83=A1=E3=83=B3?= =?utf8?q?=E3=83=90=E3=81=AE=E5=A4=9A=E3=81=8F=E3=82=92private=20set?= =?utf8?q?=E3=81=AB=E3=81=97=E3=80=81=E5=80=A4=E8=A8=AD=E5=AE=9A=E3=81=AB?= =?utf8?q?=E9=96=A2=E9=80=A3=E3=81=99=E3=82=8B=E5=87=A6=E7=90=86=E3=81=AF?= =?utf8?q?=E3=81=99=E3=81=B9=E3=81=A6=20CChip=20=E5=86=85=E3=81=A7?= =?utf8?q?=E8=A1=8C=E3=81=86=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= =?utf8?q?=E3=80=82CDTXMania=20=E3=81=AE=E3=83=86=E3=82=AF=E3=82=B9?= =?utf8?q?=E3=83=81=E3=83=A3=E7=94=9F=E6=88=90=E3=83=BB=E8=A7=A3=E6=94=BE?= =?utf8?q?=E3=83=BB=E5=AE=89=E5=85=A8Dispose=20=E3=82=92=20TextureFactory?= =?utf8?q?=20=E3=81=A8=E3=81=84=E3=81=86=E3=82=AF=E3=83=A9=E3=82=B9?= =?utf8?q?=E3=81=B8=E7=A7=BB=E5=8B=95=E3=80=82CDTXMania=20=E5=86=85?= =?utf8?q?=E3=81=AB=E3=81=82=E3=81=A3=E3=81=9F=20Ghost=20=E9=96=A2?= =?utf8?q?=E9=80=A3=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=20CDTX=20=E3=81=B8?= =?utf8?q?=E7=A7=BB=E5=8B=95=E3=81=97=E3=80=81=E5=88=9D=E6=9C=9F=E5=8C=96?= =?utf8?q?=E5=87=A6=E7=90=86=E3=81=AE=E4=BD=8D=E7=BD=AE=E3=82=92=E5=A4=89?= =?utf8?q?=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@920 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../DTXManiaプロジェクト.csproj | 1 + .../コード/スコア、曲/CChip.cs | 791 ++++- .../コード/スコア、曲/CDTX.cs | 390 +-- .../コード/スコア、曲/CDTXInput.cs | 339 +- .../コード/スコア、曲/CDTXNestedTypes.cs | 52 +- .../コード/スコア、曲/CScoreIni.cs | 12 +- .../コード/スコア、曲/CSong管理.cs | 40 +- .../ステージ/01.起動/CStage起動.cs | 39 +- .../ステージ/02.タイトル/CActEnumSongs.cs | 18 +- .../ステージ/02.タイトル/CEnumSongs.cs | 65 +- .../02.タイトル/CStageタイトル.cs | 59 +- .../04.コンフィグ/CActConfigKeyAssign.cs | 181 +- .../04.コンフィグ/CActConfigList.cs | 655 ++-- .../04.コンフィグ/CStageコンフィグ.cs | 90 +- .../05.選曲/CActSelectArtistComment.cs | 21 +- .../05.選曲/CActSelectInformation.cs | 10 +- .../ステージ/05.選曲/CActSelectPopupMenu.cs | 70 +- .../05.選曲/CActSelectPreimageパネル.cs | 63 +- .../ステージ/05.選曲/CActSelectPresound.cs | 27 +- .../05.選曲/CActSelectQuickConfig.cs | 124 +- .../05.選曲/CActSelectShowCurrentPosition.cs | 11 +- .../CActSelectステータスパネル.cs | 49 +- .../05.選曲/CActSelect曲リスト.cs | 810 ++--- .../05.選曲/CActSelect演奏履歴パネル.cs | 15 +- .../ステージ/05.選曲/CActSortSongs.cs | 16 +- .../ステージ/05.選曲/CStage選曲.cs | 166 +- .../06.曲読み込み/CStage曲読み込み.cs | 469 ++- .../ステージ/07.演奏/CAct演奏AVI.cs | 14 +- .../ステージ/07.演奏/CAct演奏BGA.cs | 16 +- .../07.演奏/CAct演奏Combo共通.cs | 46 +- .../ステージ/07.演奏/CAct演奏RGB共通.cs | 4 +- .../07.演奏/CAct演奏WailingBonus共通.cs | 4 +- .../07.演奏/CAct演奏ゲージ共通.cs | 4 +- .../07.演奏/CAct演奏スクロール速度.cs | 4 +- .../07.演奏/CAct演奏スコア共通.cs | 10 +- .../07.演奏/CAct演奏ステージ失敗.cs | 20 +- .../07.演奏/CAct演奏チップファイアGB.cs | 16 +- .../07.演奏/CAct演奏パネル文字列.cs | 12 +- .../CAct演奏レーンフラッシュGB共通.cs | 16 +- .../07.演奏/CAct演奏判定文字列共通.cs | 22 +- .../07.演奏/CAct演奏演奏情報.cs | 32 +- .../ステージ/07.演奏/CInvisibleChip.cs | 2 +- .../07.演奏/CStage演奏画面共通.cs | 2558 +++++++------- .../ステージ/07.演奏/CWailingChip.cs | 116 +- .../ギター画面/CAct演奏GuitarDanger.cs | 10 +- .../ギター画面/CAct演奏GuitarRGB.cs | 18 +- .../CAct演奏GuitarWailingBonus.cs | 12 +- .../ギター画面/CAct演奏Guitarゲージ.cs | 12 +- .../ギター画面/CAct演奏Guitarコンボ.cs | 12 +- .../ギター画面/CAct演奏Guitarスコア.cs | 4 +- .../CAct演奏Guitarステータスパネル.cs | 12 +- .../CAct演奏Guitarチップファイア.cs | 6 +- .../CAct演奏GuitarレーンフラッシュGB.cs | 6 +- .../CAct演奏Guitar判定文字列.cs | 34 +- .../ギター画面/CStage演奏ギター画面.cs | 348 +- .../ドラム画面/CAct演奏DrumsDanger.cs | 16 +- .../ドラム画面/CAct演奏DrumsRGB.cs | 20 +- .../ドラム画面/CAct演奏DrumsWailingBonus.cs | 12 +- .../ドラム画面/CAct演奏Drumsグラフ.cs | 20 +- .../ドラム画面/CAct演奏Drumsゲージ.cs | 22 +- .../ドラム画面/CAct演奏DrumsコンボDGB.cs | 24 +- .../ドラム画面/CAct演奏Drumsスコア.cs | 2 +- .../CAct演奏Drumsステータスパネル.cs | 6 +- .../CAct演奏DrumsチップファイアD.cs | 70 +- .../CAct演奏DrumsチップファイアGB.cs | 6 +- .../ドラム画面/CAct演奏Drumsパッド.cs | 18 +- .../CAct演奏DrumsレーンフラッシュD.cs | 14 +- .../CAct演奏DrumsレーンフラッシュGB.cs | 6 +- .../CAct演奏Drums判定文字列.cs | 68 +- .../ドラム画面/CStage演奏ドラム画面.cs | 1770 +++++----- .../ステージ/08.結果/CActResultImage.cs | 78 +- .../08.結果/CActResultParameterPanel.cs | 63 +- .../ステージ/08.結果/CActResultRank.cs | 31 +- .../ステージ/08.結果/CActResultSongBar.cs | 12 +- .../ステージ/08.結果/CStage結果.cs | 108 +- .../ステージ/09.終了/CStage終了.cs | 10 +- .../ステージ/10.ChangeSkin/CStageChangeSkin.cs | 10 +- .../コード/ステージ/CActDFPFont.cs | 4 +- .../コード/ステージ/CActFIFOBlack.cs | 8 +- .../コード/ステージ/CActFIFOWhite.cs | 8 +- .../コード/ステージ/CActLVLNFont.cs | 2 +- .../ステージ/CActオプションパネル.cs | 6 +- .../コード/ステージ/CDTXVmode.cs | 22 +- .../コード/プラグイン/CPluginHost.cs | 23 +- .../コード/全体/CConfigIni.cs | 24 +- .../コード/全体/CDTXMania.cs | 3677 +++++++++----------- .../コード/全体/CPrivateFastFont.cs | 8 +- .../コード/全体/CPrivateFont.cs | 10 +- .../コード/全体/CSkin.cs | 16 +- .../コード/全体/C文字コンソール.cs | 4 +- .../コード/全体/Program.cs | 2 +- .../コード/全体/TextureFactory.cs | 142 + 92 files changed, 7119 insertions(+), 7176 deletions(-) create mode 100644 DTXManiaプロジェクト/コード/全体/TextureFactory.cs diff --git a/DTXManiaプロジェクト/DTXManiaプロジェクト.csproj b/DTXManiaプロジェクト/DTXManiaプロジェクト.csproj index 53127f38..a22b5de8 100644 --- a/DTXManiaプロジェクト/DTXManiaプロジェクト.csproj +++ b/DTXManiaプロジェクト/DTXManiaプロジェクト.csproj @@ -77,6 +77,7 @@ + ResXFileCodeGenerator Resources.Designer.cs diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CChip.cs b/DTXManiaプロジェクト/コード/スコア、曲/CChip.cs index 1d34fb71..f7206bf3 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CChip.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CChip.cs @@ -8,34 +8,35 @@ namespace DTXMania { public class CChip : IComparable, ICloneable { - public bool bHit; - public bool b可視; - public double dbチップサイズ倍率; - public double db実数値; - public EAVI種別 eAVI種別; - public EBGA種別 eBGA種別; - public E楽器パート e楽器パート; - public Ech定義 eチャンネル番号; - public STDGBVALUE nバーからの距離dot; - public int n整数値; - public int n整数値_内部番号; - public int n総移動時間; - public int n透明度; - public int n発声位置; - public int n発声時刻ms; - public int nLag; // 2011.2.1 yyagi - public int nCurrentComboForGhost; // 2015.9.29 chnmr0 - public CDTX.CAVI rAVI; - public CDTX.CAVIPAN rAVIPan; - public CDTX.CBGA rBGA; - public CDTX.CBGAPAN rBGAPan; - public CDTX.CBMP rBMP; - public CDTX.CBMPTEX rBMPTEX; - public bool bIsAutoPlayed; // 2011.6.10 yyagi - public bool b演奏終了後も再生が続くチップである; // #32248 2013.10.14 yyagi - public bool b空打ちチップである; // #34029 2014.7.15 yyagi - public int n楽器パートでの出現順; // #35411 2015.08.20 chnmr0 - public bool bTargetGhost判定済み; // #35411 2015.08.22 chnmr0 + public bool bHit { get; set; } + public bool b可視 { get; set; } + public int n透明度 { get; set; } + public int nLag { get; set; } // 2011.2.1 yyagi + public int n楽器パートでの出現順 { get; set; } // #35411 2015.08.20 chnmr0 + public bool bTargetGhost判定済み { get; set; } // #35411 2015.08.22 chnmr0 + public bool extendInfoForGhost { get; set; } // 2015.9.29 chnmr0 + + public bool bIsAutoPlayed { get; private set; } // 2011.6.10 yyagi + public double dbチップサイズ倍率 { get; private set; } + public double db実数値 { get; private set; } + public EAVI種別 eAVI種別 { get; private set; } + public EBGA種別 eBGA種別 { get; private set; } + public E楽器パート e楽器パート { get; private set; } + public Ech定義 eチャンネル番号 { get; private set; } + public STDGBVALUE nバーからの距離dot { get; private set; } + public int n整数値 { get; private set; } + public int n整数値_内部番号 { get; private set; } + public int n総移動時間 { get; private set; } + public int n発声位置 { get; private set; } + public int n発声時刻ms { get; private set; } + public CDTX.CAVI rAVI { get; private set; } + public CDTX.CAVIPAN rAVIPan { get; private set; } + public CDTX.CBGA rBGA { get; private set; } + public CDTX.CBGAPAN rBGAPan { get; private set; } + public CDTX.CBMP rBMP { get; private set; } + public CDTX.CBMPTEX rBMPTEX { get; private set; } + public bool b演奏終了後も再生が続くチップである { get; private set; } // #32248 2013.10.14 yyagi + public bool b空打ちチップである { get; private set; } // #34029 2014.7.15 yyagi /// /// このチップがベースBPM、拡張BPM指示チップであることを示す。 @@ -45,8 +46,8 @@ namespace DTXMania get { return ( - this.eチャンネル番号 == Ech定義.BPM || - this.eチャンネル番号 == Ech定義.BPMEx + this.eチャンネル番号 == Ech定義.BPM || + this.eチャンネル番号 == Ech定義.BPMEx ); } } @@ -54,7 +55,7 @@ namespace DTXMania /// /// 可視 HHC~LBD /// - public bool bDrums可視チップである + public bool bDrums可視チップ { get { @@ -66,7 +67,7 @@ namespace DTXMania /// /// 可視 HHC~LC /// - public bool bDrums可視チップであるLP_LBD含まない + public bool bDrums可視チップ_LP_LBD含まない { get { @@ -78,7 +79,7 @@ namespace DTXMania /// /// 不可視 HHC~LBD /// - public bool bDrums不可視チップである + public bool bDrums不可視チップ { get { @@ -90,7 +91,7 @@ namespace DTXMania /// /// 空打ち HHC~LBD /// - public bool bDrums空打ちチップである + public bool bDrums空打ちチップ { get { @@ -131,15 +132,15 @@ namespace DTXMania { get { - return Ech定義.Guitar_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Guitar_Wailing; + return Ech定義.Guitar_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Guitar_RGB; } } - public bool bGuitar可視チップ_Wailing含まない + public bool bGuitar可視チップ_Wailing含む { get { - return Ech定義.Guitar_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Guitar_RGB; + return Ech定義.Guitar_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Guitar_Wailing; } } @@ -151,15 +152,15 @@ namespace DTXMania { get { - return Ech定義.Bass_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Bass_Wailing; + return Ech定義.Bass_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Bass_RGB; } } - public bool bBass可視チップ_Wailing含まない + public bool bBass可視チップ_Wailing含む { get { - return Ech定義.Bass_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Bass_RGB; + return Ech定義.Bass_Open <= eチャンネル番号 && eチャンネル番号 <= Ech定義.Bass_Wailing; } } @@ -174,6 +175,14 @@ namespace DTXMania } } + public bool bGuitarBass可視チップ_Wailing含む + { + get + { + return bGuitar可視チップ_Wailing含む || bBass可視チップ_Wailing含む; + } + } + /// /// Guitar or Bass has R pattern /// @@ -205,7 +214,7 @@ namespace DTXMania { get { - return bGuitar可視チップ && (((int)eチャンネル番号 & 0x0F) == 0x08); + return bGuitarBass可視チップ_Wailing含む && (((int)eチャンネル番号 & 0x0F) == 0x08); } } @@ -213,7 +222,91 @@ namespace DTXMania { get { - return bGuitar可視チップ && (((int)eチャンネル番号 & 0x0F) == 0x00); + return bGuitarBass可視チップ && (((int)eチャンネル番号 & 0x0F) == 0x00); + } + } + + public bool this[Ech定義 x] + { + get + { + return eチャンネル番号 == x; + } + } + + public bool bBGALayer + { + get + { + return + ((eチャンネル番号 == Ech定義.BGALayer1) || + (eチャンネル番号 == Ech定義.BGALayer2) || + ((Ech定義.BGALayer3 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.BGALayer7)) || + (eチャンネル番号 == Ech定義.BGALayer8)); + } + } + + public bool bBGALayerSwap + { + get + { + return + ((eチャンネル番号 == Ech定義.BGALayer1_Swap) || + (eチャンネル番号 == Ech定義.BGALayer2_Swap) || + ((Ech定義.BGALayer3_Swap <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.BGALayer7_Swap)) || + (eチャンネル番号 == Ech定義.BGALayer8_Swap)); + } + } + + public void DecideInstrumentPart() + { + if (bDrums可視チップ) + { + e楽器パート = E楽器パート.DRUMS; + } + else if (bGuitar可視チップ) + { + e楽器パート = E楽器パート.GUITAR; + } + else if (bBass可視チップ) + { + e楽器パート = E楽器パート.BASS; + } + else + { + e楽器パート = E楽器パート.UNKNOWN; + } + } + + /// + /// #34029 2014.7.15 yyagi + /// ドラムの空打ち音だったら、フラグを立てたうえで、通常チップのチャンネル番号に変更。ギターベースの空打ち音はとりあえずフラグを立てるだけ。 + /// + public void ConvertNoChip() + { + if (Ech定義.HiHatClose_NoChip <= eチャンネル番号 && eチャンネル番号 <= Ech定義.RideCymbal_NoChip) + { + b空打ちチップである = true; + eチャンネル番号 = eチャンネル番号 - 0xB0 + 0x10; + } + else if (this[Ech定義.Guitar_NoChip] || this[Ech定義.Bass_NoChip]) + { + b空打ちチップである = true; + } + else if (this[Ech定義.LeftCymbal_NoChip]) + { + b空打ちチップである = true; + eチャンネル番号 = Ech定義.LeftCymbal; + } + else if (this[Ech定義.LeftPedal_NoChip]) + { + b空打ちチップである = true; + eチャンネル番号 = Ech定義.LeftPedal; + } + else if (this[Ech定義.LeftBassDrum_NoChip]) + { + b空打ちチップである = true; + eチャンネル番号 = Ech定義.LeftBassDrum; } } @@ -247,6 +340,32 @@ namespace DTXMania } } + public bool bMovie + { + get + { + return eチャンネル番号 == Ech定義.MovieFull || eチャンネル番号 == Ech定義.Movie; + } + } + + public bool bSE + { + get + { + if (((Ech定義.SE01 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.SE09)) || + ((Ech定義.SE10 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.SE19)) || + ((Ech定義.SE20 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.SE29)) || + ((Ech定義.SE30 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.SE32))) + { + return true; + } + else + { + return false; + } + } + } + /// /// このチップが持つチャンネルの ESoundChipType を返す。 /// チャンネル番号→Chipの種類、の変換。今後の拡張を容易にするために追加 @@ -423,6 +542,460 @@ namespace DTXMania } + /// + /// これが本当に一意なWAV番号となる。(無限定義の場合、chip.n整数値 は一意である保証がない。) + /// + /// + public void AssignInfiniteManageWAV(int index) + { + if (bWAVを使うチャンネルである) + { + n整数値_内部番号 = index;// + } + } + + /// + /// // これが本当に一意なBPM番号となる。(無限WAVも参照) + /// + /// + public void AssignInfiniteManageBPM(int index) + { + if (bBPMチップである) + { + n整数値_内部番号 = index; + } + } + + public void AdjustPlayPositionForFillin(int index) + { + if (this[Ech定義.FillIn]) + { + // ずらすのは、フィルインONチップと同じ位置にいるチップでも確実にフィルインが発動し、 + // 同様に、フィルインOFFチップと同じ位置にいるチップでも確実にフィルインが終了するようにするため。 + + if ((index > 0) && (index != 2)) + { + n発声位置 -= 32; // 384÷32=12 ということで、フィルインONチップは12分音符ほど前へ移動。 + } + else if (index == 2) + { + n発声位置 += 32; // 同じく、フィルインOFFチップは12分音符ほど後ろへ移動。 + } + } + } + + /// + /// #BPMzz 行より前の行に出現した #BPMzz では、整数値・内部番号は -zz に初期化されている。 + /// + /// + /// + public void AdjustInfiniteManageIntInternalIndex(bool chipCond, int zz, int newIndex) + { + if (chipCond && n整数値_内部番号 == -zz) + { + n整数値_内部番号 = newIndex; + } + } + + public void AddPlayPositionMsForSE(int increment) + { + if (this[Ech定義.BGM] || bSE) + { + n発声時刻ms += increment; + } + } + + public void ApplyAVI( + Dictionary listAVI, + Dictionary listAVIPAN + ) + { + if (bMovie) + { + eAVI種別 = EAVI種別.Unknown; + rAVI = null; + rAVIPan = null; + if (listAVIPAN.ContainsKey(n整数値)) + { + CDTX.CAVIPAN cavipan = listAVIPAN[n整数値]; + if (listAVI.ContainsKey(cavipan.nAVI番号) && (listAVI[cavipan.nAVI番号].avi != null)) + { + eAVI種別 = EAVI種別.AVIPAN; + rAVI = listAVI[cavipan.nAVI番号]; + rAVIPan = cavipan; + return; + } + } + if (listAVI.ContainsKey(n整数値) && (listAVI[n整数値].avi != null)) + { + eAVI種別 = EAVI種別.AVI; + rAVI = listAVI[n整数値]; + } + } + } + + + public void ApplyBMP_BMPTEX( + Dictionary listBGA, + Dictionary listBGAPAN, + Dictionary listBMP, + Dictionary listBMPTEX) + { + if (bBGALayer) + { + eBGA種別 = EBGA種別.Unknown; + rBMP = null; + rBMPTEX = null; + rBGA = null; + rBGAPan = null; + + #region [ BGAPAN ] + if (listBGAPAN.ContainsKey(n整数値)) + { + CDTX.CBGAPAN cbgapan = listBGAPAN[n整数値]; + if (listBMPTEX.ContainsKey(cbgapan.nBMP番号) && listBMPTEX[cbgapan.nBMP番号].bUse) + { + eBGA種別 = EBGA種別.BGAPAN; + rBMPTEX = listBMPTEX[cbgapan.nBMP番号]; + rBGAPan = cbgapan; + return; + } + if (listBMP.ContainsKey(cbgapan.nBMP番号) && listBMP[cbgapan.nBMP番号].bUse) + { + eBGA種別 = EBGA種別.BGAPAN; + rBMP = listBMP[cbgapan.nBMP番号]; + rBGAPan = cbgapan; + return; + } + } + #endregion + + #region [ BGA ] + if (listBGA.ContainsKey(n整数値)) + { + CDTX.CBGA cbga = listBGA[n整数値]; + if (listBMPTEX.ContainsKey(cbga.nBMP番号) && listBMPTEX[cbga.nBMP番号].bUse) + { + eBGA種別 = EBGA種別.BGA; + rBMPTEX = listBMPTEX[cbga.nBMP番号]; + rBGA = cbga; + return; + } + if (listBMP.ContainsKey(cbga.nBMP番号) && listBMP[cbga.nBMP番号].bUse) + { + eBGA種別 = EBGA種別.BGA; + rBMP = listBMP[cbga.nBMP番号]; + rBGA = cbga; + return; + } + } + #endregion + + #region [ BMPTEX ] + if (listBMPTEX.ContainsKey(n整数値) && listBMPTEX[n整数値].bUse) + { + eBGA種別 = EBGA種別.BMPTEX; + rBMPTEX = listBMPTEX[n整数値]; + return; + } + #endregion + + #region [ BMP ] + if (listBMP.ContainsKey(n整数値) && listBMP[n整数値].bUse) + { + eBGA種別 = EBGA種別.BMP; + rBMP = listBMP[n整数値]; + return; + } + #endregion + } + #region [ BGA入れ替え ] + if (bBGALayerSwap) + { + eBGA種別 = EBGA種別.Unknown; + rBMP = null; + rBMPTEX = null; + rBGA = null; + rBGAPan = null; + if (listBMPTEX.ContainsKey(n整数値) && listBMPTEX[n整数値].bUse) + { + eBGA種別 = EBGA種別.BMPTEX; + rBMPTEX = listBMPTEX[n整数値]; + } + else if (listBMP.ContainsKey(n整数値) && listBMP[n整数値].bUse) + { + eBGA種別 = EBGA種別.BMP; + rBMP = listBMP[n整数値]; + } + } + #endregion + } + + public void SetDBChipSizeFactor(double newFactor) + { + dbチップサイズ倍率 = newFactor; + } + + + public void SetSoundAfterPlayEnd(bool newBSound) + { + b演奏終了後も再生が続くチップである = newBSound; + } + + public void CalculatePlayPositionMs( + EDTX種別 type, + double basebpm, + Dictionary listBPM, + Dictionary listAVIPAN, + Dictionary listBGAPAN, + ref double bpm, + ref double dbBarLength, + ref int basePlayPosition, + ref int ms, + ref int nBar) + { + n発声時刻ms = ms + ((int)(((0x271 * (n発声位置 - basePlayPosition)) * dbBarLength) / bpm)); + if (((type == EDTX種別.BMS) || (type == EDTX種別.BME)) && + ((dbBarLength != 1.0) && ((n発声位置 / 384) != nBar))) + { + basePlayPosition = n発声位置; + ms = n発声時刻ms; + dbBarLength = 1.0; + } + nBar = n発声位置 / 384; + + if (this[Ech定義.BarLength]) + { + basePlayPosition = n発声位置; + ms = n発声時刻ms; + dbBarLength = db実数値; + return; + } + else if (this[Ech定義.BPM]) + { + basePlayPosition = n発声位置; + ms = n発声時刻ms; + bpm = basebpm + n整数値; + return; + } + else if (this[Ech定義.BPMEx]) + { + basePlayPosition = n発声位置; + ms = n発声時刻ms; + if (listBPM.ContainsKey(n整数値_内部番号)) + { + bpm = ((listBPM[n整数値_内部番号].n表記上の番号 == 0) ? 0.0 : basebpm) + listBPM[n整数値_内部番号].dbBPM値; + } + return; + } + else if (bMovie) + { + if (listAVIPAN.ContainsKey(n整数値)) + { + int num21 = ms + ((int)(((0x271 * (n発声位置 - basePlayPosition)) * dbBarLength) / bpm)); + int num22 = ms + ((int)(((0x271 * ((n発声位置 + listAVIPAN[n整数値].n移動時間ct) - basePlayPosition)) * dbBarLength) / bpm)); + n総移動時間 = num22 - num21; + } + return; + } + else if (bBGALayer) + { + if (listBGAPAN.ContainsKey(n整数値)) + { + int num19 = ms + ((int)(((0x271 * (n発声位置 - basePlayPosition)) * dbBarLength) / bpm)); + int num20 = ms + ((int)(((0x271 * ((n発声位置 + listBGAPAN[n整数値].n移動時間ct) - basePlayPosition)) * dbBarLength) / bpm)); + n総移動時間 = num20 - num19; + } + } + } + + /// + /// 演奏速度を適用。2回以上呼ぶとさらに短くなる。 + /// + /// + public void ApplyPlaySpeed(double factor) + { + if (factor > 0) + { + n発声時刻ms = (int)((double)n発声時刻ms / factor); + } + } + + public void CalcDistanceFromBar(long currentTime, STDGBVALUE ScrollSpeedInSetting) + { + //double speed = 264.0; // BPM150の時の1小節の長さ[dot] + const double speed = 234.0 * Scale.Y; // BPM150の時の1小節の長さ[dot] + double ScrollSpeedDrums = (ScrollSpeedInSetting.Drums + 1.0) * 0.5 * 37.5 * speed / 60000.0; + double ScrollSpeedGuitar = (ScrollSpeedInSetting.Guitar + 1.0) * 0.5 * 0.5 * 37.5 * speed / 60000.0; + double ScrollSpeedBass = (ScrollSpeedInSetting.Bass + 1.0) * 0.5 * 0.5 * 37.5 * speed / 60000.0; + + STDGBVALUE newDot = new STDGBVALUE(); + + newDot.Drums = (int)((n発声時刻ms - currentTime) * ScrollSpeedDrums); + newDot.Guitar = (int)((n発声時刻ms - currentTime) * ScrollSpeedGuitar); + newDot.Bass = (int)((n発声時刻ms - currentTime) * ScrollSpeedBass); + + nバーからの距離dot = newDot; + } + + public void RandomizeRGB(Eランダムモード eRandom, int seed, bool existOpen) + { + int[,] nランダムレーン候補 = new int[,] + { + { 0, 1, 2, 3, 4, 5, 6, 7 }, + { 0, 2, 1, 3, 4, 6, 5, 7 }, + { 0, 1, 4, 5, 2, 3, 6, 7 }, + { 0, 2, 4, 6, 1, 3, 5, 7 }, + { 0, 4, 1, 5, 2, 6, 3, 7 }, + { 0, 4, 2, 6, 1, 5, 3, 7 } + }; + Eレーンビットパターン nRGBレーンビットパターン; + Eレーンビットパターン n新RGBレーンビットパターン = Eレーンビットパターン.OPEN;// 「未割り当てのローカル変数」ビルドエラー回避のために0を初期値に設定 + int nランダム化前BassFlag = nGuitarBassUpper4Bit; + bool bAdjustRandomLane = true; + + if (bGuitarBass可視チップ) + { + switch (eRandom) + { + case Eランダムモード.RANDOM: // 1小節単位でレーンのR/G/Bがランダムに入れ替わる + eチャンネル番号 = (Ech定義)((nGuitarBassUpper4Bit) | nランダムレーン候補[seed, (int)eRGBビットパターン]); + return; + + case Eランダムモード.SUPERRANDOM: // チップごとにR/G/Bがランダムで入れ替わる(レーンの本数までは変わらない)。 + eチャンネル番号 = (Ech定義)((nGuitarBassUpper4Bit) | nランダムレーン候補[CDTXMania.app.Random.Next(6), (int)eRGBビットパターン]); + return; + + case Eランダムモード.HYPERRANDOM: // レーンの本数も変わる + nRGBレーンビットパターン = eRGBビットパターン; + // n新RGBレーンビットパターン = (int)Eレーンビットパターン.OPEN; // この値は結局未使用なので削除 + if ( + (nRGBレーンビットパターン != Eレーンビットパターン.xxB) && + (nRGBレーンビットパターン != Eレーンビットパターン.xGx) && + (nRGBレーンビットパターン != Eレーンビットパターン.Rxx)) // xxB, xGx, Rxx レーン1本相当 + { + } + else + { + n新RGBレーンビットパターン = (Eレーンビットパターン)CDTXMania.app.Random.Next(6) + 1; // レーン1本相当なら、レーン1本か2本(1~6)に変化して終了 + bAdjustRandomLane = false; + } + break; + + default: + return; + } + if (bAdjustRandomLane) + { + switch (nRGBレーンビットパターン) + { + case Eレーンビットパターン.xGB: // xGB レーン2本相当 + case Eレーンビットパターン.RxB: // RxB + case Eレーンビットパターン.RGx: // RGx + n新RGBレーンビットパターン = existOpen ? (Eレーンビットパターン)(CDTXMania.app.Random.Next(8)) : (Eレーンビットパターン)(CDTXMania.app.Random.Next(7) + 1); // OPENあり譜面ならOPENを含むランダム, OPENなし譜面ならOPENを含まないランダム + break; + + default: + if (nRGBレーンビットパターン == Eレーンビットパターン.RGB) // RGB レーン3本相当 + { + if (existOpen) // OPENあり譜面の場合 + { + int n乱数パーセント = CDTXMania.app.Random.Next(100); + if (n乱数パーセント < 30) + { + n新RGBレーンビットパターン = Eレーンビットパターン.OPEN; + } + else if (n乱数パーセント < 60) + { + n新RGBレーンビットパターン = Eレーンビットパターン.RGB; + } + else if (n乱数パーセント < 85) + { + switch (CDTXMania.app.Random.Next(3)) + { + case 0: + n新RGBレーンビットパターン = Eレーンビットパターン.xGB; + break; + + case 1: + n新RGBレーンビットパターン = Eレーンビットパターン.RxB; + break; + } + n新RGBレーンビットパターン = Eレーンビットパターン.RGx; + } + else // OPENでない場合 + { + switch (CDTXMania.app.Random.Next(3)) + { + case 0: + n新RGBレーンビットパターン = Eレーンビットパターン.xxB; + break; + + case 1: + n新RGBレーンビットパターン = Eレーンビットパターン.xGx; + break; + } + n新RGBレーンビットパターン = Eレーンビットパターン.Rxx; + } + } + else // OPENなし譜面の場合 + { + int n乱数パーセント = CDTXMania.app.Random.Next(100); + if (n乱数パーセント < 60) + { + n新RGBレーンビットパターン = Eレーンビットパターン.RGB; + } + else if (n乱数パーセント < 85) + { + switch (CDTXMania.app.Random.Next(3)) + { + case 0: + n新RGBレーンビットパターン = Eレーンビットパターン.xGB; + break; + + case 1: + n新RGBレーンビットパターン = Eレーンビットパターン.RxB; + break; + } + n新RGBレーンビットパターン = Eレーンビットパターン.RGx; + } + else + { + switch (CDTXMania.app.Random.Next(3)) + { + case 0: + n新RGBレーンビットパターン = Eレーンビットパターン.xxB; + break; + + case 1: + n新RGBレーンビットパターン = Eレーンビットパターン.xGx; + break; + } + n新RGBレーンビットパターン = Eレーンビットパターン.Rxx; + } + } + } + break; + } + } + eチャンネル番号 = (Ech定義)((nランダム化前BassFlag) | (int)n新RGBレーンビットパターン); + } + } + + public void SwapGB() + { + int offset = 0xA0 - 0x20; + if (bBass可視チップ) + { + eチャンネル番号 -= offset; + } + else if (bGuitar可視チップ) + { + eチャンネル番号 += offset; + } + DecideInstrumentPart(); + } + public CChip() { this.nバーからの距離dot = new STDGBVALUE() @@ -437,6 +1010,34 @@ namespace DTXMania n透明度 = 0xff; } + public CChip(int playPosition, int intData, int intDataInternalIndex, Ech定義 channel) + : this(playPosition, intData, channel) + { + n整数値_内部番号 = intDataInternalIndex; + } + + public CChip(int playPosition, int intData, Ech定義 channel) + : this() + { + n発声位置 = playPosition; + n整数値 = intData; + eチャンネル番号 = channel; + } + + public CChip(int playPosition, double phraseLengthFactor, Ech定義 channel) + : this() + { + + } + + public CChip(int playPosition, int intData, int intDataInternalIndex, Ech定義 channel, + int playPositionMs, bool bSoundAfterPlayEnd) + : this(playPosition, intData, intDataInternalIndex, channel) + { + n発声時刻ms = playPositionMs; + b演奏終了後も再生が続くチップである = bSoundAfterPlayEnd; + } + public override string ToString() { /* @@ -474,17 +1075,17 @@ namespace DTXMania }; */ return string.Format("CChip: 位置:{0:D4}.{1:D3}, 時刻{2:D6}, Ch:{3:X2}({4}), Pn:{5}({11})(内部{6}), Pd:{7}, Sz:{8}, UseWav:{9}", - this.n発声位置 / 384, - this.n発声位置 % 384, - this.n発声時刻ms, - this.eチャンネル番号, - this.eチャンネル番号, - this.n整数値, this.n整数値_内部番号, - this.db実数値, - this.dbチップサイズ倍率, - this.bWAVを使うチャンネルである, + this.n発声位置 / 384, + this.n発声位置 % 384, + this.n発声時刻ms, + this.eチャンネル番号, + this.eチャンネル番号, + this.n整数値, this.n整数値_内部番号, + this.db実数値, + this.dbチップサイズ倍率, + this.bWAVを使うチャンネルである, // this.b自動再生音チャンネルである, - CDTX.tZZ(this.n整数値)); + CDTX.tZZ(this.n整数値)); } /// /// チップの再生長を取得する。現状、WAVチップとBGAチップでのみ使用可能。 @@ -497,7 +1098,7 @@ namespace DTXMania if (this.bWAVを使うチャンネルである) // WAV { CDTX.CWAV wc; - CDTXMania.DTX.listWAV.TryGetValue(this.n整数値_内部番号, out wc); + CDTXMania.app.DTX.listWAV.TryGetValue(this.n整数値_内部番号, out wc); if (wc == null) { nDuration = 0; @@ -518,7 +1119,7 @@ namespace DTXMania } } - double _db再生速度 = (CDTXMania.DTXVmode.Enabled) ? CDTXMania.DTX.dbDTXVPlaySpeed : CDTXMania.DTX.db再生速度; + double _db再生速度 = (CDTXMania.app.DTXVmode.Enabled) ? CDTXMania.app.DTX.dbDTXVPlaySpeed : CDTXMania.app.DTX.db再生速度; return (int)(nDuration / _db再生速度); } @@ -574,6 +1175,69 @@ namespace DTXMania #endregion + + public bool bAssignAutoPlayState(STAUTOPLAY bIsAutoPlay) + { + bool ret = false; + bool bGtBsR = bGuitarBass_R; + bool bGtBsG = bGuitarBass_G; + bool bGtBsB = bGuitarBass_B; + bool bGtBsW = bGuitarBass_Wailing; + bool bGtBsO = bGuitarBass_Open; + //if ( ( + // ( ( pChip.e楽器パート == E楽器パート.DRUMS ) && bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ) || + // ( ( pChip.e楽器パート == E楽器パート.GUITAR ) && bIsAutoPlay.Guitar ) ) || + // ( ( pChip.e楽器パート == E楽器パート.BASS ) && bIsAutoPlay.Bass ) + // ) + //// if ((pChip.e楽器パート == E楽器パート.DRUMS) && bIsAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) + //{ + // bPChipIsAutoPlay = true; + //} + if (bDrums可視チップ) + { + if (bIsAutoPlay[CStage演奏画面共通.nチャンネル0Atoレーン07[eチャンネル番号 - Ech定義.HiHatClose]]) + { + ret = true; + } + } + else if (bGuitar可視チップ) + { + //Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB ); + //Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eレーン.GtR ], bIsAutoPlay[ (int) Eレーン.GtG ], bIsAutoPlay[ (int) Eレーン.GtB ]); + ret = true; + if (bIsAutoPlay[(int)Eレーン.GtPick] == false) ret = false; + else + { + if (bGtBsR == true && bIsAutoPlay[(int)Eレーン.GtR] == false) ret = false; + else if (bGtBsG == true && bIsAutoPlay[(int)Eレーン.GtG] == false) ret = false; + else if (bGtBsB == true && bIsAutoPlay[(int)Eレーン.GtB] == false) ret = false; + else if (bGtBsW == true && bIsAutoPlay[(int)Eレーン.GtW] == false) ret = false; + else if (bGtBsO == true && + (bIsAutoPlay[(int)Eレーン.GtR] == false || bIsAutoPlay[(int)Eレーン.GtG] == false || bIsAutoPlay[(int)Eレーン.GtB] == false)) + ret = false; + } + //Trace.TraceInformation( "{0:x2}: {1}", pChip.nチャンネル番号, bPChipIsAutoPlay.ToString() ); + } + else if (bBass可視チップ) + { + ret = true; + if (bIsAutoPlay[(int)Eレーン.BsPick] == false) ret = false; + else + { + if (bGtBsR == true && bIsAutoPlay[(int)Eレーン.BsR] == false) ret = false; + else if (bGtBsG == true && bIsAutoPlay[(int)Eレーン.BsG] == false) ret = false; + else if (bGtBsB == true && bIsAutoPlay[(int)Eレーン.BsB] == false) ret = false; + else if (bGtBsW == true && bIsAutoPlay[(int)Eレーン.BsW] == false) ret = false; + else if (bGtBsO == true && + (bIsAutoPlay[(int)Eレーン.BsR] == false || bIsAutoPlay[(int)Eレーン.BsG] == false || bIsAutoPlay[(int)Eレーン.BsB] == false)) + ret = false; + } + } + this.bIsAutoPlayed = ret; + return ret; + } + + /// /// shallow copyです。 /// @@ -582,6 +1246,25 @@ namespace DTXMania { return MemberwiseClone(); } + + internal void ConvertSE25_26_27ToCY_RCY_LCY() + { + if ((Ech定義.SE25 <= eチャンネル番号) && (eチャンネル番号 <= Ech定義.SE27)) + { + Ech定義[] ch = { Ech定義.Cymbal, Ech定義.RideCymbal, Ech定義.LeftCymbal }; + eチャンネル番号 = ch[eチャンネル番号 - Ech定義.SE25]; + } + } + + internal void SetNoChipGuitarToOpen() + { + eチャンネル番号 = Ech定義.Guitar_Open; + } + + internal void SetNoChipBassToOpen() + { + eチャンネル番号 = Ech定義.Bass_Open; + } } } diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs b/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs index d85039be..7266810d 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs @@ -73,6 +73,8 @@ namespace DTXMania public double dbDTXVPlaySpeed; public bool bMovieをFullscreen再生する; public bool bUse556x710BGAAVI; + public STDGBVALUE> listAutoGhostLag; + public STDGBVALUE> listTargetGhsotLag; #if TEST_NOTEOFFMODE public STLANEVALUE b演奏で直前の音を消音する; @@ -82,7 +84,7 @@ namespace DTXMania #endif #region [ コンストラクタ ] - public CDTX() + private CDTX() { this.TITLE = ""; this.ARTIST = ""; @@ -141,6 +143,8 @@ namespace DTXMania this.nRESULTIMAGE用優先順位 = new int[7]; this.nRESULTMOVIE用優先順位 = new int[7]; this.nRESULTSOUND用優先順位 = new int[7]; + this.listAutoGhostLag = new STDGBVALUE>(); + this.listTargetGhsotLag = new STDGBVALUE>(); #region [ 2011.1.1 yyagi GDA->DTX変換テーブル リファクタ後 ] STGDAPARAM[] stgdaparamArray = new STGDAPARAM[] { // GDA->DTX conversion table @@ -209,7 +213,7 @@ namespace DTXMania this.stGDAParam = stgdaparamArray; #endregion this.nBGMAdjust = 0; - this.nPolyphonicSounds = CDTXMania.ConfigIni.nPoliphonicSounds; + this.nPolyphonicSounds = CDTXMania.app.ConfigIni.nPoliphonicSounds; this.dbDTXVPlaySpeed = 1.0f; this.bUse556x710BGAAVI = false; @@ -220,7 +224,7 @@ namespace DTXMania #endif } - public CDTX(string str全入力文字列) + private CDTX(string str全入力文字列) : this() { this.On活性化(); @@ -232,7 +236,7 @@ namespace DTXMania this.On活性化(); this.t入力(strファイル名, bヘッダのみ); } - public CDTX(string str全入力文字列, double db再生速度, int nBGMAdjust) + private CDTX(string str全入力文字列, double db再生速度, int nBGMAdjust) : this() { this.On活性化(); @@ -251,7 +255,7 @@ namespace DTXMania public int nモニタを考慮した音量(E楽器パート part) { - CConfigIni configIni = CDTXMania.ConfigIni; + CConfigIni configIni = CDTXMania.app.ConfigIni; switch (part) { case E楽器パート.DRUMS: @@ -294,28 +298,7 @@ namespace DTXMania { foreach (CChip chip in this.listChip) { - if (chip.eチャンネル番号 == Ech定義.Movie || chip.eチャンネル番号 == Ech定義.MovieFull) - { - chip.eAVI種別 = EAVI種別.Unknown; - chip.rAVI = null; - chip.rAVIPan = null; - if (this.listAVIPAN.ContainsKey(chip.n整数値)) - { - CAVIPAN cavipan = this.listAVIPAN[chip.n整数値]; - if (this.listAVI.ContainsKey(cavipan.nAVI番号) && (this.listAVI[cavipan.nAVI番号].avi != null)) - { - chip.eAVI種別 = EAVI種別.AVIPAN; - chip.rAVI = this.listAVI[cavipan.nAVI番号]; - chip.rAVIPan = cavipan; - continue; - } - } - if (this.listAVI.ContainsKey(chip.n整数値) && (this.listAVI[chip.n整数値].avi != null)) - { - chip.eAVI種別 = EAVI種別.AVI; - chip.rAVI = this.listAVI[chip.n整数値]; - } - } + chip.ApplyAVI(listAVI, listAVIPAN); } } } @@ -504,96 +487,7 @@ namespace DTXMania { foreach (CChip chip in this.listChip) { - #region [ BGAPAN/BGA/BMPTEX/BMP ] - if ((chip.eチャンネル番号 == Ech定義.BGALayer1) || (chip.eチャンネル番号 == Ech定義.BGALayer2) || - ((chip.eチャンネル番号 >= Ech定義.BGALayer3) && (chip.eチャンネル番号 <= Ech定義.BGALayer7)) || - (chip.eチャンネル番号 == Ech定義.BGALayer8)) - { - chip.eBGA種別 = EBGA種別.Unknown; - chip.rBMP = null; - chip.rBMPTEX = null; - chip.rBGA = null; - chip.rBGAPan = null; - #region [ BGAPAN ] - if (this.listBGAPAN.ContainsKey(chip.n整数値)) - { - CBGAPAN cbgapan = this.listBGAPAN[chip.n整数値]; - if (this.listBMPTEX.ContainsKey(cbgapan.nBMP番号) && this.listBMPTEX[cbgapan.nBMP番号].bUse) - { - chip.eBGA種別 = EBGA種別.BGAPAN; - chip.rBMPTEX = this.listBMPTEX[cbgapan.nBMP番号]; - chip.rBGAPan = cbgapan; - continue; - } - if (this.listBMP.ContainsKey(cbgapan.nBMP番号) && this.listBMP[cbgapan.nBMP番号].bUse) - { - chip.eBGA種別 = EBGA種別.BGAPAN; - chip.rBMP = this.listBMP[cbgapan.nBMP番号]; - chip.rBGAPan = cbgapan; - continue; - } - } - #endregion - #region [ BGA ] - if (this.listBGA.ContainsKey(chip.n整数値)) - { - CBGA cbga = this.listBGA[chip.n整数値]; - if (this.listBMPTEX.ContainsKey(cbga.nBMP番号) && this.listBMPTEX[cbga.nBMP番号].bUse) - { - chip.eBGA種別 = EBGA種別.BGA; - chip.rBMPTEX = this.listBMPTEX[cbga.nBMP番号]; - chip.rBGA = cbga; - continue; - } - if (this.listBMP.ContainsKey(cbga.nBMP番号) && this.listBMP[cbga.nBMP番号].bUse) - { - chip.eBGA種別 = EBGA種別.BGA; - chip.rBMP = this.listBMP[cbga.nBMP番号]; - chip.rBGA = cbga; - continue; - } - } - #endregion - #region [ BMPTEX ] - if (this.listBMPTEX.ContainsKey(chip.n整数値) && this.listBMPTEX[chip.n整数値].bUse) - { - chip.eBGA種別 = EBGA種別.BMPTEX; - chip.rBMPTEX = this.listBMPTEX[chip.n整数値]; - continue; - } - #endregion - #region [ BMP ] - if (this.listBMP.ContainsKey(chip.n整数値) && this.listBMP[chip.n整数値].bUse) - { - chip.eBGA種別 = EBGA種別.BMP; - chip.rBMP = this.listBMP[chip.n整数値]; - continue; - } - #endregion - } - #endregion - #region [ BGA入れ替え ] - if ((chip.eチャンネル番号 == Ech定義.BGALayer1_Swap) || (chip.eチャンネル番号 == Ech定義.BGALayer2_Swap) || - ((chip.eチャンネル番号 >= Ech定義.BGALayer3_Swap) && (chip.eチャンネル番号 <= Ech定義.BGALayer7_Swap)) || - (chip.eチャンネル番号 == Ech定義.BGALayer8_Swap)) - { - chip.eBGA種別 = EBGA種別.Unknown; - chip.rBMP = null; - chip.rBMPTEX = null; - chip.rBGA = null; - chip.rBGAPan = null; - if (this.listBMPTEX.ContainsKey(chip.n整数値) && this.listBMPTEX[chip.n整数値].bUse) - { - chip.eBGA種別 = EBGA種別.BMPTEX; - chip.rBMPTEX = this.listBMPTEX[chip.n整数値]; - } - else if (this.listBMP.ContainsKey(chip.n整数値) && this.listBMP[chip.n整数値].bUse) - { - chip.eBGA種別 = EBGA種別.BMP; - chip.rBMP = this.listBMP[chip.n整数値]; - } - } - #endregion + chip.ApplyBMP_BMPTEX(listBGA, listBGAPAN, listBMP, listBMPTEX); } } } @@ -690,19 +584,19 @@ namespace DTXMania { // string strCount = count.ToString() + " / " + this.listWAV.Count.ToString(); // Debug.WriteLine(strCount); - // CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, strCount); + // CDTXMania.app.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, strCount); // count++; string str = string.IsNullOrEmpty(this.PATH_WAV) ? this.strフォルダ名 : this.PATH_WAV; str = str + cwav.strファイル名; - bool bIsDirectSound = (CDTXMania.Sound管理.GetCurrentSoundDeviceType() == "DirectSound"); + bool bIsDirectSound = (CDTXMania.app.Sound管理.GetCurrentSoundDeviceType() == "DirectSound"); try { //try //{ - // cwav.rSound[ 0 ] = CDTXMania.Sound管理.tサウンドを生成する( str ); + // cwav.rSound[ 0 ] = CDTXMania.app.Sound管理.tサウンドを生成する( str ); // cwav.rSound[ 0 ].n音量 = 100; - // if ( CDTXMania.ConfigIni.bLog作成解放ログ出力 ) + // if ( CDTXMania.app.ConfigIni.bLog作成解放ログ出力 ) // { // Trace.TraceInformation( "サウンドを作成しました。({3})({0})({1})({2}bytes)", cwav.strコメント文, str, cwav.rSound[ 0 ].nサウンドバッファサイズ, cwav.rSound[ 0 ].bストリーム再生する ? "Stream" : "OnMemory" ); // } @@ -724,20 +618,20 @@ namespace DTXMania // for ( int j = 1; j < nPolyphonicSounds; j++ ) // { // cwav.rSound[ j ] = (CSound) cwav.rSound[ 0 ].Clone(); // #24007 2011.9.5 yyagi add: to accelerate loading chip sounds - // CDTXMania.Sound管理.tサウンドを登録する( cwav.rSound[ j ] ); + // CDTXMania.app.Sound管理.tサウンドを登録する( cwav.rSound[ j ] ); // } //} // まず1つめを登録する try { - cwav.rSound[0] = CDTXMania.Sound管理.tサウンドを生成する(str); + cwav.rSound[0] = CDTXMania.app.Sound管理.tサウンドを生成する(str); cwav.rSound[0].n音量 = 100; - if (!CDTXMania.ConfigIni.bDynamicBassMixerManagement) + if (!CDTXMania.app.ConfigIni.bDynamicBassMixerManagement) { cwav.rSound[0].tBASSサウンドをミキサーに追加する(); } - if (CDTXMania.ConfigIni.bLog作成解放ログ出力) + if (CDTXMania.app.ConfigIni.bLog作成解放ログ出力) { Trace.TraceInformation("サウンドを作成しました。({3})({0})({1})({2}bytes)", cwav.strコメント文, str, cwav.rSound[0].nサウンドバッファサイズ, cwav.rSound[0].bストリーム再生する ? "Stream" : "OnMemory"); } @@ -751,7 +645,7 @@ namespace DTXMania #region [ 同時発音数を、チャンネルによって変える ] int nPoly = nPolyphonicSounds; - if (CDTXMania.Sound管理.GetCurrentSoundDeviceType() != "DirectSound") // DShowでの再生の場合はミキシング負荷が高くないため、 + if (CDTXMania.app.Sound管理.GetCurrentSoundDeviceType() != "DirectSound") // DShowでの再生の場合はミキシング負荷が高くないため、 { // チップのライフタイム管理を行わない if (cwav.bIsBassSound) nPoly = (nPolyphonicSounds >= 2) ? 2 : 1; else if (cwav.bIsGuitarSound) nPoly = (nPolyphonicSounds >= 2) ? 2 : 1; @@ -767,7 +661,7 @@ namespace DTXMania // for ( int i = 1; i < nPoly; i++ ) // { // cwav.rSound[ i ] = (CSound) cwav.rSound[ 0 ].Clone(); // #24007 2011.9.5 yyagi add: to accelerate loading chip sounds - // // CDTXMania.Sound管理.tサウンドを登録する( cwav.rSound[ j ] ); + // // CDTXMania.app.Sound管理.tサウンドを登録する( cwav.rSound[ j ] ); // } // for ( int i = nPoly; i < nPolyphonicSounds; i++ ) // { @@ -780,13 +674,13 @@ namespace DTXMania { try { - cwav.rSound[i] = CDTXMania.Sound管理.tサウンドを生成する(str); + cwav.rSound[i] = CDTXMania.app.Sound管理.tサウンドを生成する(str); cwav.rSound[i].n音量 = 100; - if (!CDTXMania.ConfigIni.bDynamicBassMixerManagement) + if (!CDTXMania.app.ConfigIni.bDynamicBassMixerManagement) { cwav.rSound[i].tBASSサウンドをミキサーに追加する(); } - if (CDTXMania.ConfigIni.bLog作成解放ログ出力) + if (CDTXMania.app.ConfigIni.bLog作成解放ログ出力) { Trace.TraceInformation("サウンドを作成しました。({3})({0})({1})({2}bytes)", cwav.strコメント文, str, cwav.rSound[0].nサウンドバッファサイズ, cwav.rSound[0].bストリーム再生する ? "Stream" : "OnMemory"); } @@ -825,161 +719,20 @@ namespace DTXMania { if (((part == E楽器パート.GUITAR) || (part == E楽器パート.BASS)) && (eRandom != Eランダムモード.OFF)) { - int[,] nランダムレーン候補 = new int[,] - { - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0, 2, 1, 3, 4, 6, 5, 7 }, - { 0, 1, 4, 5, 2, 3, 6, 7 }, - { 0, 2, 4, 6, 1, 3, 5, 7 }, - { 0, 4, 1, 5, 2, 6, 3, 7 }, - { 0, 4, 2, 6, 1, 5, 3, 7 } - }; - int n小節番号 = -10000; - int n小節内乱数6通り = 0; + int seed = 0; // int GOTO_END = 0; // gotoの飛び先のダミーコードで使うダミー変数 foreach (CChip chip in this.listChip) { - Eレーンビットパターン nRGBレーンビットパターン; - Eレーンビットパターン n新RGBレーンビットパターン = Eレーンビットパターン.OPEN;// 「未割り当てのローカル変数」ビルドエラー回避のために0を初期値に設定 - bool bOpenChip; - bool bAdjustRandomLane = true; + bool bOpenChip = (chip.bGuitar可視チップ && this.bチップがある.OpenGuitar) || ((chip.bBass可視チップ) && this.bチップがある.OpenBass); if ((chip.n発声位置 / 384) != n小節番号) // 小節が変化したら { n小節番号 = chip.n発声位置 / 384; - n小節内乱数6通り = CDTXMania.Random.Next(6); + seed = CDTXMania.app.Random.Next(6); } - int nランダム化前BassFlag = chip.nGuitarBassUpper4Bit; - if ((((part != E楽器パート.GUITAR) || (Ech定義.Guitar_Open > chip.eチャンネル番号)) || (chip.eチャンネル番号 > Ech定義.Guitar_RGB)) - && (((part != E楽器パート.BASS) || (Ech定義.Bass_Open > chip.eチャンネル番号)) || (chip.eチャンネル番号 > Ech定義.Bass_RGB)) - ) - { - continue; - } - switch (eRandom) - { - case Eランダムモード.RANDOM: // 1小節単位でレーンのR/G/Bがランダムに入れ替わる - chip.eチャンネル番号 = (Ech定義)((chip.nGuitarBassUpper4Bit) | nランダムレーン候補[n小節内乱数6通り, (int)chip.eRGBビットパターン]); - continue; - - case Eランダムモード.SUPERRANDOM: // チップごとにR/G/Bがランダムで入れ替わる(レーンの本数までは変わらない)。 - chip.eチャンネル番号 = (Ech定義)((chip.nGuitarBassUpper4Bit) | nランダムレーン候補[CDTXMania.Random.Next(6), (int)chip.eRGBビットパターン]); - continue; - - case Eランダムモード.HYPERRANDOM: // レーンの本数も変わる - nRGBレーンビットパターン = chip.eRGBビットパターン; - // n新RGBレーンビットパターン = (int)Eレーンビットパターン.OPEN; // この値は結局未使用なので削除 - bOpenChip = ((part == E楽器パート.GUITAR) && this.bチップがある.OpenGuitar) || ((part == E楽器パート.BASS) && this.bチップがある.OpenBass); // #23546 2010.10.28 yyagi fixed (bチップがある.Bass→bチップがある.OpenBass) - if ( - (nRGBレーンビットパターン != Eレーンビットパターン.xxB) && - (nRGBレーンビットパターン != Eレーンビットパターン.xGx) && - (nRGBレーンビットパターン != Eレーンビットパターン.Rxx)) // xxB, xGx, Rxx レーン1本相当 - { - } - else - { - n新RGBレーンビットパターン = (Eレーンビットパターン)CDTXMania.Random.Next(6) + 1; // レーン1本相当なら、レーン1本か2本(1~6)に変化して終了 - bAdjustRandomLane = false; - } - break; - - default: - continue; // goto Label_02C4; - } - if (bAdjustRandomLane) - { - switch (nRGBレーンビットパターン) - { - case Eレーンビットパターン.xGB: // xGB レーン2本相当 - case Eレーンビットパターン.RxB: // RxB - case Eレーンビットパターン.RGx: // RGx - n新RGBレーンビットパターン = bOpenChip ? (Eレーンビットパターン)(CDTXMania.Random.Next(8)) : (Eレーンビットパターン)(CDTXMania.Random.Next(7) + 1); // OPENあり譜面ならOPENを含むランダム, OPENなし譜面ならOPENを含まないランダム - break; - - default: - if (nRGBレーンビットパターン == Eレーンビットパターン.RGB) // RGB レーン3本相当 - { - if (bOpenChip) // OPENあり譜面の場合 - { - int n乱数パーセント = CDTXMania.Random.Next(100); - if (n乱数パーセント < 30) - { - n新RGBレーンビットパターン = Eレーンビットパターン.OPEN; - } - else if (n乱数パーセント < 60) - { - n新RGBレーンビットパターン = Eレーンビットパターン.RGB; - } - else if (n乱数パーセント < 85) - { - switch (CDTXMania.Random.Next(3)) - { - case 0: - n新RGBレーンビットパターン = Eレーンビットパターン.xGB; - break; - - case 1: - n新RGBレーンビットパターン = Eレーンビットパターン.RxB; - break; - } - n新RGBレーンビットパターン = Eレーンビットパターン.RGx; - } - else // OPENでない場合 - { - switch (CDTXMania.Random.Next(3)) - { - case 0: - n新RGBレーンビットパターン = Eレーンビットパターン.xxB; - break; - - case 1: - n新RGBレーンビットパターン = Eレーンビットパターン.xGx; - break; - } - n新RGBレーンビットパターン = Eレーンビットパターン.Rxx; - } - } - else // OPENなし譜面の場合 - { - int n乱数パーセント = CDTXMania.Random.Next(100); - if (n乱数パーセント < 60) - { - n新RGBレーンビットパターン = Eレーンビットパターン.RGB; - } - else if (n乱数パーセント < 85) - { - switch (CDTXMania.Random.Next(3)) - { - case 0: - n新RGBレーンビットパターン = Eレーンビットパターン.xGB; - break; - - case 1: - n新RGBレーンビットパターン = Eレーンビットパターン.RxB; - break; - } - n新RGBレーンビットパターン = Eレーンビットパターン.RGx; - } - else - { - switch (CDTXMania.Random.Next(3)) - { - case 0: - n新RGBレーンビットパターン = Eレーンビットパターン.xxB; - break; - - case 1: - n新RGBレーンビットパターン = Eレーンビットパターン.xGx; - break; - } - n新RGBレーンビットパターン = Eレーンビットパターン.Rxx; - } - } - } - break; - } - } - chip.eチャンネル番号 = (Ech定義)((nランダム化前BassFlag) | (int)n新RGBレーンビットパターン); + + chip.RandomizeRGB(eRandom, seed, bOpenChip); + // #23546 2010.10.28 yyagi fixed (bチップがある.Bass→bチップがある.OpenBass) // Label_02C4: // GOTO_END++; // goto用のダミーコード } @@ -989,7 +742,7 @@ namespace DTXMania #region [ チップの再生と停止 ] public void tチップの再生(CChip rChip, long n再生開始システム時刻ms, int nLane) { - this.tチップの再生(rChip, n再生開始システム時刻ms, nLane, CDTXMania.ConfigIni.n自動再生音量, false, false); + this.tチップの再生(rChip, n再生開始システム時刻ms, nLane, CDTXMania.app.ConfigIni.n自動再生音量, false, false); } public void tチップの再生(CChip rChip, long n再生開始システム時刻ms, int nLane, int nVol) { @@ -1021,13 +774,13 @@ namespace DTXMania { if (bBad) { - sound.db周波数倍率 = ((float)(100 + (((CDTXMania.Random.Next(3) + 1) * 7) * (1 - (CDTXMania.Random.Next(2) * 2))))) / 100f; + sound.db周波数倍率 = ((float)(100 + (((CDTXMania.app.Random.Next(3) + 1) * 7) * (1 - (CDTXMania.app.Random.Next(2) * 2))))) / 100f; } else { sound.db周波数倍率 = 1.0; } - sound.db再生速度 = ((double)CDTXMania.ConfigIni.n演奏速度) / 20.0; + sound.db再生速度 = ((double)CDTXMania.app.ConfigIni.n演奏速度) / 20.0; // 再生速度によって、WASAPI/ASIOで使う使用mixerが決まるため、付随情報の設定(音量/PAN)は、再生速度の設定後に行う sound.n音量 = (int)(((double)(nVol * wc.n音量)) / 100.0); sound.n位置 = wc.n位置; @@ -1041,21 +794,9 @@ namespace DTXMania public void t各自動再生音チップの再生時刻を変更する(int nBGMAdjustの増減値) { this.nBGMAdjust += nBGMAdjustの増減値; - for (int i = 0; i < this.listChip.Count; i++) + foreach (CChip chip in listChip) { - Ech定義 nChannelNumber = this.listChip[i].eチャンネル番号; - if ((( - (nChannelNumber == Ech定義.BGM) || - ((Ech定義.SE01 <= nChannelNumber) && (nChannelNumber <= Ech定義.SE09)) - ) || - ((Ech定義.SE10 <= nChannelNumber) && (nChannelNumber <= Ech定義.SE19)) - ) || - (((Ech定義.SE20 <= nChannelNumber) && (nChannelNumber <= Ech定義.SE29)) || - ((Ech定義.SE30 <= nChannelNumber) && (nChannelNumber <= Ech定義.SE32))) - ) - { - this.listChip[i].n発声時刻ms += nBGMAdjustの増減値; - } + chip.AddPlayPositionMsForSE(nBGMAdjustの増減値); } foreach (CWAV cwav in this.listWAV.Values) { @@ -1122,7 +863,7 @@ namespace DTXMania /// public void PlanToAddMixerChannel() { - if (CDTXMania.Sound管理.GetCurrentSoundDeviceType() == "DirectSound") // DShowでの再生の場合はミキシング負荷が高くないため、 + if (CDTXMania.app.Sound管理.GetCurrentSoundDeviceType() == "DirectSound") // DShowでの再生の場合はミキシング負荷が高くないため、 { // チップのライフタイム管理を行わない return; } @@ -1160,10 +901,10 @@ namespace DTXMania //{ // if ( listWAV.ContainsKey( pChip.n整数値・内部番号 ) ) // { - // CDTX.CWAV wc = CDTXMania.DTX.listWAV[ pChip.n整数値・内部番号 ]; + // CDTX.CWAV wc = CDTXMania.app.DTX.listWAV[ pChip.n整数値・内部番号 ]; // if ( wc.rSound[ 0 ] != null ) // { - // CDTXMania.Sound管理.AddMixer( wc.rSound[ 0 ] ); // BGMは多重再生しない仕様としているので、1個目だけミキサーに登録すればよい + // CDTXMania.app.Sound管理.AddMixer( wc.rSound[ 0 ] ); // BGMは多重再生しない仕様としているので、1個目だけミキサーに登録すればよい // } // } //} @@ -1175,15 +916,7 @@ namespace DTXMania t発声時刻msと発声位置を取得する(pChip.n発声時刻ms - n発音前余裕ms, out nAddMixer時刻ms, out nAddMixer位置); //Debug.WriteLine( "nAddMixer時刻ms=" + nAddMixer時刻ms + ",nAddMixer位置=" + nAddMixer位置 ); - CChip c_AddMixer = new CChip() - { - eチャンネル番号 = Ech定義.MixerAdd, - n整数値 = pChip.n整数値, - n整数値_内部番号 = pChip.n整数値_内部番号, - n発声時刻ms = nAddMixer時刻ms, - n発声位置 = nAddMixer位置, - b演奏終了後も再生が続くチップである = false - }; + CChip c_AddMixer = new CChip(nAddMixer位置, pChip.n整数値, pChip.n整数値_内部番号, Ech定義.MixerAdd, nAddMixer時刻ms, false); listAddMixerChannel.Add(c_AddMixer); //Debug.WriteLine("listAddMixerChannel:" ); //DebugOut_CChipList( listAddMixerChannel ); @@ -1193,8 +926,8 @@ namespace DTXMania int fullduration = 0; if (listWAV.ContainsKey(pChip.n整数値_内部番号)) { - CDTX.CWAV wc = CDTXMania.DTX.listWAV[pChip.n整数値_内部番号]; - double _db再生速度 = (CDTXMania.DTXVmode.Enabled) ? this.dbDTXVPlaySpeed : this.db再生速度; + CDTX.CWAV wc = CDTXMania.app.DTX.listWAV[pChip.n整数値_内部番号]; + double _db再生速度 = (CDTXMania.app.DTXVmode.Enabled) ? this.dbDTXVPlaySpeed : this.db再生速度; fullduration = (wc.rSound[0] == null) ? 0 : (int)(wc.rSound[0].n総演奏時間ms / _db再生速度); // #23664 durationに再生速度が加味されておらず、低速再生でBGMが途切れる問題を修正 (発声時刻msは、DTX読み込み時に再生速度加味済) } //Debug.WriteLine("fullduration=" + fullduration ); @@ -1238,7 +971,7 @@ namespace DTXMania if (n新RemoveMixer時刻ms < pChip.n発声時刻ms + duration) // 曲の最後でサウンドが切れるような場合は { CChip c_AddMixer_noremove = c_AddMixer; - c_AddMixer_noremove.b演奏終了後も再生が続くチップである = true; + c_AddMixer_noremove.SetSoundAfterPlayEnd(true); listAddMixerChannel[listAddMixerChannel.Count - 1] = c_AddMixer_noremove; //continue; // 発声位置の計算ができないので、Mixer削除をあきらめる・・・のではなく // #32248 2013.10.15 yyagi 演奏終了後も再生を続けるチップであるというフラグをpChip内に立てる @@ -1281,14 +1014,7 @@ namespace DTXMania //DebugOut_CChipList( listRemoveMixerChannel ); //listRemoveTiming.RemoveAt( index ); } - CChip c = new CChip() // mixer削除時刻を更新(遅延)する - { - eチャンネル番号 = Ech定義.MixerRemove, - n整数値 = listRemoveTiming[index].n整数値, - n整数値_内部番号 = listRemoveTiming[index].n整数値_内部番号, - n発声時刻ms = n新RemoveMixer時刻ms, - n発声位置 = n新RemoveMixer位置 - }; + CChip c = new CChip(n新RemoveMixer位置,listRemoveTiming[index].n整数値, listRemoveTiming[index].n整数値_内部番号, Ech定義.MixerRemove,n新RemoveMixer時刻ms,false);// mixer削除時刻を更新(遅延)する listRemoveTiming[index] = c; //listRemoveTiming[ index ].n発声時刻ms = n新RemoveMixer時刻ms; // mixer削除時刻を更新(遅延)する //listRemoveTiming[ index ].n発声位置 = n新RemoveMixer位置; @@ -1297,14 +1023,7 @@ namespace DTXMania } else // 過去に同じチップを発音していないor { // 発音していたが既にmixer削除確定していたなら - CChip c = new CChip() // 新しくmixer削除候補として追加する - { - eチャンネル番号 = Ech定義.MixerRemove, - n整数値 = pChip.n整数値, - n整数値_内部番号 = pChip.n整数値_内部番号, - n発声時刻ms = n新RemoveMixer時刻ms, - n発声位置 = n新RemoveMixer位置 - }; + CChip c = new CChip(n新RemoveMixer位置,pChip.n整数値,pChip.n整数値_内部番号,Ech定義.MixerRemove,n新RemoveMixer時刻ms,false);// 新しくmixer削除候補として追加する //Debug.WriteLine( "Add new chip to listRemoveMixerTiming: " ); //Debug.WriteLine( "ch=" + c.nチャンネル番号.ToString( "x2" ) + ", nWAV番号=" + c.n整数値 + ", time=" + c.n発声時刻ms + ", lasttime=" + listChip[ listChip.Count - 1 ].n発声時刻ms ); listRemoveTiming.Add(c); @@ -1398,26 +1117,9 @@ namespace DTXMania /// public void SwapGuitarBassInfos() // #24063 2011.1.24 yyagi ギターとベースの譜面情報入替 { - for (int i = this.listChip.Count - 1; i >= 0; i--) + foreach(CChip chip in listChip) { - if (listChip[i].e楽器パート == E楽器パート.BASS) - { - listChip[i].e楽器パート = E楽器パート.GUITAR; - listChip[i].eチャンネル番号 -= (0xA0 - 0x20); - } - else if (listChip[i].e楽器パート == E楽器パート.GUITAR) - { - listChip[i].e楽器パート = E楽器パート.BASS; - listChip[i].eチャンネル番号 += (0xA0 - 0x20); - } - else if (listChip[i].eチャンネル番号 == Ech定義.Guitar_Wailing) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応 - { - listChip[i].eチャンネル番号 += (0xA0 - 0x20); - } - else if (listChip[i].eチャンネル番号 == Ech定義.Bass_Wailing) // #25215 2011.5.21 yyagi wailingはE楽器パート.UNKNOWNが割り当てられているので個別に対応 - { - listChip[i].eチャンネル番号 -= (0xA0 - 0x20); - } + chip.SwapGB(); } int t = this.LEVEL.Bass; this.LEVEL.Bass = this.LEVEL.Guitar; diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CDTXInput.cs b/DTXManiaプロジェクト/コード/スコア、曲/CDTXInput.cs index 96e531a8..83c5c715 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CDTXInput.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CDTXInput.cs @@ -168,7 +168,6 @@ namespace DTXMania if (!this.bヘッダのみ) { #region [ BPM/BMP初期化 ] - Ech定義 ch; CBPM cbpm = null; foreach (CBPM cbpm2 in this.listBPM.Values) { @@ -185,29 +184,17 @@ namespace DTXMania cbpm.n表記上の番号 = 0; cbpm.dbBPM値 = 120.0; this.listBPM.Add(cbpm.n内部番号, cbpm); - CChip chip = new CChip(); - chip.n発声位置 = 0; - chip.eチャンネル番号 = Ech定義.BPMEx; // 拡張BPM - chip.n整数値 = 0; - chip.n整数値_内部番号 = cbpm.n内部番号; + CChip chip = new CChip(0, 0, cbpm.n内部番号, Ech定義.BPMEx); this.listChip.Insert(0, chip); } else { - CChip chip = new CChip(); - chip.n発声位置 = 0; - chip.eチャンネル番号 = Ech定義.BPMEx; // 拡張BPM - chip.n整数値 = 0; - chip.n整数値_内部番号 = cbpm.n内部番号; + CChip chip = new CChip(0, 0, cbpm.n内部番号, Ech定義.BPMEx); this.listChip.Insert(0, chip); } if (this.listBMP.ContainsKey(0)) { - CChip chip = new CChip(); - chip.n発声位置 = 0; - chip.eチャンネル番号 = Ech定義.BGALayer1; // BGA (レイヤBGA1) - chip.n整数値 = 0; - chip.n整数値_内部番号 = 0; + CChip chip = new CChip(0, 0, 0, Ech定義.BGALayer1); this.listChip.Insert(0, chip); } #endregion @@ -257,7 +244,7 @@ namespace DTXMania CWAV cwav = this.listWAV[chip.n整数値_内部番号]; // if ( chip.n整数値・内部番号 == cwav.n内部番号 ) // { - chip.dbチップサイズ倍率 = ((double)cwav.nチップサイズ) / 100.0; + chip.SetDBChipSizeFactor(((double)cwav.nチップサイズ) / 100.0); //if ( chip.nチャンネル番号 == 0x01 ) // BGMだったら //{ // cwav.bIsOnBGMLane = true; @@ -302,10 +289,7 @@ namespace DTXMania int nEndOfSong = (this.listChip[this.listChip.Count - 1].n発声位置 + 384) - (this.listChip[this.listChip.Count - 1].n発声位置 % 384); for (int tick384 = 0; tick384 <= nEndOfSong; tick384 += 384) // 小節線の挿入 (後に出てくる拍子線とループをまとめようとするなら、forループの終了条件の微妙な違いに注意が必要) { - CChip chip = new CChip(); - chip.n発声位置 = tick384; - chip.eチャンネル番号 = Ech定義.BarLine; // 小節線 - chip.n整数値 = 36 * 36 - 1; + CChip chip = new CChip(tick384, 36 * 36 - 1, Ech定義.BarLine); this.listChip.Add(chip); } //this.listChip.Sort(); // ここでのソートは不要。ただし最後にソートすること @@ -343,10 +327,7 @@ namespace DTXMania } if (((tickBeat + n発声位置_C1_同一小節内) % 384) != 0) { - CChip chip = new CChip(); - chip.n発声位置 = tick384 + (tickBeat + n発声位置_C1_同一小節内); - chip.eチャンネル番号 = Ech定義.BeatLine; // beat line 拍線 - chip.n整数値 = 36 * 36 - 1; + CChip chip = new CChip(tick384 + (tickBeat + n発声位置_C1_同一小節内), 36*36-1, Ech定義.BeatLine); this.listChip.Add(chip); } } @@ -400,96 +381,20 @@ namespace DTXMania #region [ 発声時刻の計算 ] double bpm = 120.0; double dbBarLength = 1.0; - int n発声位置 = 0; + int nPlayPosition = 0; int ms = 0; int nBar = 0; foreach (CChip chip in this.listChip) { - chip.n発声時刻ms = ms + ((int)(((0x271 * (chip.n発声位置 - n発声位置)) * dbBarLength) / bpm)); - if (((this.e種別 == EDTX種別.BMS) || (this.e種別 == EDTX種別.BME)) && ((dbBarLength != 1.0) && ((chip.n発声位置 / 384) != nBar))) - { - n発声位置 = chip.n発声位置; - ms = chip.n発声時刻ms; - dbBarLength = 1.0; - } - nBar = chip.n発声位置 / 384; - ch = chip.eチャンネル番号; - switch (ch) - { - case Ech定義.BarLength: // BarLength - { - n発声位置 = chip.n発声位置; - ms = chip.n発声時刻ms; - dbBarLength = chip.db実数値; - continue; - } - case Ech定義.BPM: // BPM - { - n発声位置 = chip.n発声位置; - ms = chip.n発声時刻ms; - bpm = this.BASEBPM + chip.n整数値; - continue; - } - case Ech定義.BGALayer1: // BGA (レイヤBGA1) - case Ech定義.BGALayer2: // レイヤBGA2 - case Ech定義.BGALayer3: // レイヤBGA3 - case Ech定義.BGALayer4: // レイヤBGA4 - case Ech定義.BGALayer5: // レイヤBGA5 - case Ech定義.BGALayer6: // レイヤBGA6 - case Ech定義.BGALayer7: // レイヤBGA7 - case Ech定義.BGALayer8: // レイヤBGA8 - break; - - case Ech定義.ExObj_nouse: // Extended Object (非対応) - case Ech定義.MissAnimation_nouse: // Missアニメ (非対応) - //case 0x5A: // 未定義 - case Ech定義.nouse_5b: // 未定義 - case Ech定義.nouse_5c: // 未定義 - case Ech定義.nouse_5d: // 未定義 - case Ech定義.nouse_5e: // 未定義 - case Ech定義.nouse_5f: // 未定義 - { - continue; - } - case Ech定義.BPMEx: // 拡張BPM - { - n発声位置 = chip.n発声位置; - ms = chip.n発声時刻ms; - if (this.listBPM.ContainsKey(chip.n整数値_内部番号)) - { - bpm = ((this.listBPM[chip.n整数値_内部番号].n表記上の番号 == 0) ? 0.0 : this.BASEBPM) + this.listBPM[chip.n整数値_内部番号].dbBPM値; - } - continue; - } - case Ech定義.Movie: // 動画再生 - case Ech定義.MovieFull: - { - if (this.listAVIPAN.ContainsKey(chip.n整数値)) - { - int num21 = ms + ((int)(((0x271 * (chip.n発声位置 - n発声位置)) * dbBarLength) / bpm)); - int num22 = ms + ((int)(((0x271 * ((chip.n発声位置 + this.listAVIPAN[chip.n整数値].n移動時間ct) - n発声位置)) * dbBarLength) / bpm)); - chip.n総移動時間 = num22 - num21; - } - continue; - } - default: - { - continue; - } - } - if (this.listBGAPAN.ContainsKey(chip.n整数値)) - { - int num19 = ms + ((int)(((0x271 * (chip.n発声位置 - n発声位置)) * dbBarLength) / bpm)); - int num20 = ms + ((int)(((0x271 * ((chip.n発声位置 + this.listBGAPAN[chip.n整数値].n移動時間ct) - n発声位置)) * dbBarLength) / bpm)); - chip.n総移動時間 = num20 - num19; - } + chip.CalculatePlayPositionMs(e種別, BASEBPM, listBPM, listAVIPAN, listBGAPAN, + ref bpm, ref dbBarLength, ref nPlayPosition, ref ms, ref nBar); } if (this.db再生速度 > 0.0) { - double _db再生速度 = (CDTXMania.DTXVmode.Enabled) ? this.dbDTXVPlaySpeed : this.db再生速度; + double _db再生速度 = (CDTXMania.app.DTXVmode.Enabled) ? this.dbDTXVPlaySpeed : this.db再生速度; foreach (CChip chip in this.listChip) { - chip.n発声時刻ms = (int)(((double)chip.n発声時刻ms) / _db再生速度); + chip.ApplyPlaySpeed(_db再生速度); } } #endregion @@ -509,15 +414,15 @@ namespace DTXMania foreach (CChip chip in this.listChip) { Ech定義 c = chip.eチャンネル番号; - if (chip.bDrums可視チップである && !chip.b空打ちチップである) + if (chip.bDrums可視チップ && !chip.b空打ちチップである) { this.n可視チップ数[c - Ech定義.HiHatClose]++; } - if (chip.bGuitar可視チップ_Wailing含まない) + if (chip.bGuitar可視チップ) { this.n可視チップ数.Guitar++; } - if (chip.bBass可視チップ_Wailing含まない) + if (chip.bBass可視チップ) { this.n可視チップ数.Bass++; } @@ -592,7 +497,7 @@ namespace DTXMania //Trace.TraceInformation( "hash計算: {0}", span.ToString() ); //timeBeginLoad = DateTime.Now; #region [ bLogDTX詳細ログ出力 ] - if (CDTXMania.ConfigIni.bLogDTX詳細ログ出力) + if (CDTXMania.app.ConfigIni.bLogDTX詳細ログ出力) { foreach (CWAV cwav in this.listWAV.Values) { @@ -1000,7 +905,7 @@ namespace DTXMania if (!int.TryParse(strパラメータ, out n数値)) n数値 = 1; - this.n現在の乱数 = CDTXMania.Random.Next(n数値) + 1; // 1~数値 までの乱数を生成。 + this.n現在の乱数 = CDTXMania.app.Random.Next(n数値) + 1; // 1~数値 までの乱数を生成。 } //----------------- #endregion @@ -1187,7 +1092,7 @@ namespace DTXMania #region [ AVIリストに {zz, avi} の組を登録する。 ] //----------------- - var avi = new CAVI(zz, strパラメータ, strコメント, CDTXMania.ConfigIni.n演奏速度); + var avi = new CAVI(zz, strパラメータ, strコメント, CDTXMania.app.ConfigIni.n演奏速度); if (this.listAVI.ContainsKey(zz)) // 既にリスト中に存在しているなら削除。後のものが有効。 this.listAVI.Remove(zz); @@ -2028,12 +1933,9 @@ namespace DTXMania //----------------- if (this.n無限管理BPM[zz] == -zz) // 初期状態では n無限管理BPM[zz] = -zz である。この場合、#BPMzz がまだ出現していないことを意味する。 { - for (int i = 0; i < this.listChip.Count; i++) // これまでに出てきたチップのうち、該当する(BPM値が未設定の)BPMチップの値を変更する(仕組み上、必ず後方参照となる)。 + foreach(CChip chip in listChip) // これまでに出てきたチップのうち、該当する(BPM値が未設定の)BPMチップの値を変更する(仕組み上、必ず後方参照となる)。 { - var chip = this.listChip[i]; - - if (chip.bBPMチップである && chip.n整数値_内部番号 == -zz) // #BPMzz 行より前の行に出現した #BPMzz では、整数値・内部番号は -zz に初期化されている。 - chip.n整数値_内部番号 = this.n内部番号BPM1to; + chip.AdjustInfiniteManageIntInternalIndex(chip.bBPMチップである, zz, this.n内部番号BPM1to); } } this.n無限管理BPM[zz] = this.n内部番号BPM1to; // 次にこの BPM番号 zz を使うBPMチップが現れたら、このBPM値が格納されることになる。 @@ -2418,12 +2320,9 @@ namespace DTXMania //----------------- if (this.n無限管理WAV[zz] == -zz) // 初期状態では n無限管理WAV[zz] = -zz である。この場合、#WAVzz がまだ出現していないことを意味する。 { - for (int i = 0; i < this.listChip.Count; i++) // これまでに出てきたチップのうち、該当する(内部番号が未設定の)WAVチップの値を変更する(仕組み上、必ず後方参照となる)。 + foreach(CChip chip in listChip) // これまでに出てきたチップのうち、該当する(内部番号が未設定の)WAVチップの値を変更する(仕組み上、必ず後方参照となる)。 { - var chip = this.listChip[i]; - - if (chip.bWAVを使うチャンネルである && (chip.n整数値_内部番号 == -zz)) // この #WAVzz 行より前の行に出現した #WAVzz では、整数値・内部番号は -zz に初期化されている。 - chip.n整数値_内部番号 = this.n内部番号WAV1to; + chip.AdjustInfiniteManageIntInternalIndex(chip.bWAVを使うチャンネルである, zz, n内部番号WAV1to); } } this.n無限管理WAV[zz] = this.n内部番号WAV1to; // 次にこの WAV番号 zz を使うWAVチップが現れたら、この内部番号が格納されることになる。 @@ -2598,88 +2497,14 @@ namespace DTXMania } //----------------- #endregion - #region [ 取得したチャンネル番号で、this.bチップがある に該当したり、this.bMovieをFullscreen再生する の条件を満足するなら、設定する。] - //----------------- - if ((tmpチャンネル番号 >= Ech定義.HiHatClose) && (tmpチャンネル番号 <= Ech定義.LeftBassDrum)) - { - this.bチップがある.Drums = true; - - switch (tmpチャンネル番号) - { - case Ech定義.HiHatOpen: - this.bチップがある.HHOpen = true; - break; - - case Ech定義.RideCymbal: - this.bチップがある.Ride = true; - break; - - case Ech定義.LeftCymbal: - this.bチップがある.LeftCymbal = true; - break; - - case Ech定義.LeftPedal: - this.bチップがある.LeftPedal = true; - break; - - case Ech定義.LeftBassDrum: - this.bチップがある.LeftBassDrum = true; - break; - } - } - else if ((tmpチャンネル番号 >= Ech定義.Guitar_Open) && (tmpチャンネル番号 <= Ech定義.Guitar_RGB)) - { - this.bチップがある.Guitar = true; - - switch (tmpチャンネル番号) - { - case Ech定義.Guitar_Open: - this.bチップがある.OpenGuitar = true; - break; - } - } - else if ((tmpチャンネル番号 >= Ech定義.Bass_Open) && (tmpチャンネル番号 <= Ech定義.Bass_RGB)) - { - this.bチップがある.Bass = true; - - switch (tmpチャンネル番号) - { - case Ech定義.Bass_Open: - this.bチップがある.OpenBass = true; - break; - } - } - else if ((tmpチャンネル番号 == Ech定義.BGALayer1) || (tmpチャンネル番号 == Ech定義.BGALayer2) || - ((Ech定義.BGALayer3 <= tmpチャンネル番号) && (tmpチャンネル番号 <= Ech定義.BGALayer7)) || (tmpチャンネル番号 == Ech定義.BGALayer8)) - { - this.bチップがある.BGA = true; - } - else if (tmpチャンネル番号 == Ech定義.Movie) - { - this.bチップがある.Movie = true; - if (CDTXMania.ConfigIni.bForceAVIFullscreen) - { - this.bMovieをFullscreen再生する = true; - } - } - else if (tmpチャンネル番号 == Ech定義.MovieFull) - { - this.bチップがある.Movie = true; - this.bMovieをFullscreen再生する = true; - } - - //----------------- - #endregion // (2) Ch.02を処理。 - #region [ 小節長変更(Ch.02)は他のチャンネルとはパラメータが特殊なので、先にとっとと終わらせる。 ] //----------------- if (tmpチャンネル番号 == Ech定義.BarLength) { // 小節長倍率を取得する。 - double db小節長倍率 = 1.0; //if( !double.TryParse( strパラメータ, out result ) ) if (!this.TryParse(strパラメータ, out db小節長倍率)) // #23880 2010.12.30 yyagi: alternative TryParse to permit both '.' and ',' for decimal point @@ -2688,25 +2513,15 @@ namespace DTXMania return false; } - // 小節長倍率チップを配置する。 - - this.listChip.Insert( - 0, - new CChip() - { - eチャンネル番号 = tmpチャンネル番号, - db実数値 = db小節長倍率, - n発声位置 = n小節番号 * 384, - }); + // 小節長倍率チップを一番先頭に配置する。 + this.listChip.Insert(0, new CChip(n小節番号 * 384, db小節長倍率, tmpチャンネル番号)); return true; // 配置終了。 } //----------------- #endregion - // (3) パラメータを処理。 - if (string.IsNullOrEmpty(strパラメータ)) // パラメータはnullまたは空文字列ではないこと。 return false; @@ -2767,94 +2582,38 @@ namespace DTXMania #endregion // オブジェクト数値に対応するチップを生成。 - - var chip = new CChip(); - - chip.n発声位置 = (n小節番号 * 384) + ((384 * i) / (n文字数 / 2)); - chip.n整数値 = nオブジェクト数値; - chip.n整数値_内部番号 = nオブジェクト数値; - - #region [ chip.e楽器パート = ... ] - //----------------- - if ((tmpチャンネル番号 >= Ech定義.HiHatClose) && (tmpチャンネル番号 <= Ech定義.LeftBassDrum)) - { - chip.e楽器パート = E楽器パート.DRUMS; - } - if ((tmpチャンネル番号 >= Ech定義.Guitar_Open) && (tmpチャンネル番号 <= Ech定義.Guitar_RGB)) - { - chip.e楽器パート = E楽器パート.GUITAR; - } - if ((tmpチャンネル番号 >= Ech定義.Bass_Open) && (tmpチャンネル番号 <= Ech定義.Bass_RGB)) - { - chip.e楽器パート = E楽器パート.BASS; - } - //----------------- - #endregion - - // #34029 2014.7.15 yyagi - #region [ ドラムの空打ち音だったら、フラグを立てたうえで、通常チップのチャンネル番号に変更。ギターベースの空打ち音はとりあえずフラグを立てるだけ。 ] - if (Ech定義.HiHatClose_NoChip <= tmpチャンネル番号 && tmpチャンネル番号 <= Ech定義.RideCymbal_NoChip) - { - chip.b空打ちチップである = true; - tmpチャンネル番号 = tmpチャンネル番号 - 0xB0 + 0x10; - } - else if (tmpチャンネル番号 == Ech定義.Guitar_NoChip || tmpチャンネル番号 == Ech定義.Bass_NoChip) + var chip = new CChip((n小節番号 * 384) + ((384 * i) / (n文字数 / 2)), nオブジェクト数値, nオブジェクト数値, tmpチャンネル番号); + + // 楽器パートの決定 + chip.DecideInstrumentPart(); + + // チップがある更新 + this.bチップがある.Drums |= chip.bDrums可視チップ; + this.bチップがある.HHOpen |= chip[Ech定義.HiHatOpen]; + this.bチップがある.Ride |= chip[Ech定義.RideCymbal]; + this.bチップがある.LeftCymbal |= chip[Ech定義.LeftCymbal]; + this.bチップがある.LeftPedal |= chip[Ech定義.LeftPedal]; + this.bチップがある.LeftBassDrum |= chip[Ech定義.LeftBassDrum]; + this.bチップがある.Guitar |= chip.bGuitar可視チップ; + this.bチップがある.OpenGuitar |= chip[Ech定義.Guitar_Open]; + this.bチップがある.Bass |= chip.bBass可視チップ; + this.bチップがある.OpenBass |= chip[Ech定義.Bass_Open]; + this.bチップがある.BGA |= chip.bBGALayer; + this.bチップがある.Movie |= chip[Ech定義.Movie] | chip[Ech定義.MovieFull]; + if (CDTXMania.app.ConfigIni.bForceAVIFullscreen || chip[Ech定義.MovieFull]) { - chip.b空打ちチップである = true; - } - else if (tmpチャンネル番号 == Ech定義.LeftCymbal_NoChip) - { - chip.b空打ちチップである = true; - tmpチャンネル番号 = Ech定義.LeftCymbal; - } - else if (tmpチャンネル番号 == Ech定義.LeftPedal_NoChip) - { - chip.b空打ちチップである = true; - tmpチャンネル番号 = Ech定義.LeftPedal; - } - else if (tmpチャンネル番号 == Ech定義.LeftBassDrum_NoChip) - { - chip.b空打ちチップである = true; - tmpチャンネル番号 = Ech定義.LeftBassDrum; - } - #endregion - - chip.eチャンネル番号 = tmpチャンネル番号; - - #region [ 無限定義への対応 → 内部番号の取得。] - //----------------- - if (chip.bWAVを使うチャンネルである) - { - chip.n整数値_内部番号 = this.n無限管理WAV[nオブジェクト数値]; // これが本当に一意なWAV番号となる。(無限定義の場合、chip.n整数値 は一意である保証がない。) - } - else if (chip.bBPMチップである) - { - chip.n整数値_内部番号 = this.n無限管理BPM[nオブジェクト数値]; // これが本当に一意なBPM番号となる。(同上。) + this.bMovieをFullscreen再生する = true; } - //----------------- - #endregion - #region [ フィルインON/OFFチャンネル(Ch.53)の場合、発声位置を少し前後にずらす。] - //----------------- - if (tmpチャンネル番号 == Ech定義.FillIn) - { - // ずらすのは、フィルインONチップと同じ位置にいるチップでも確実にフィルインが発動し、 - // 同様に、フィルインOFFチップと同じ位置にいるチップでも確実にフィルインが終了するようにするため。 + // 空打ちチップを変換する。 + chip.ConvertNoChip(); - if ((nオブジェクト数値 > 0) && (nオブジェクト数値 != 2)) - { - chip.n発声位置 -= 32; // 384÷32=12 ということで、フィルインONチップは12分音符ほど前へ移動。 - } - else if (nオブジェクト数値 == 2) - { - chip.n発声位置 += 32; // 同じく、フィルインOFFチップは12分音符ほど後ろへ移動。 - } - } - //----------------- - #endregion + // 無限管理オブジェクトインデックスの割当。(もしそのチップが対象であれば) + chip.AssignInfiniteManageWAV(this.n無限管理WAV[nオブジェクト数値]); + chip.AssignInfiniteManageBPM(this.n無限管理BPM[nオブジェクト数値]); + chip.AdjustPlayPositionForFillin(nオブジェクト数値); // チップを配置。 - this.listChip.Add(chip); } return true; diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CDTXNestedTypes.cs b/DTXManiaプロジェクト/コード/スコア、曲/CDTXNestedTypes.cs index db26e883..50baba91 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CDTXNestedTypes.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CDTXNestedTypes.cs @@ -38,12 +38,12 @@ namespace DTXMania //----------------- string strAVIファイル名; - if (CDTXMania.DTX != null && !Path.IsPathRooted(this.strファイル名)) // CDTX抜きでCAVI単体で使うことを考慮(選曲画面, リザルト画面) + if (CDTXMania.app.DTX != null && !Path.IsPathRooted(this.strファイル名)) // CDTX抜きでCAVI単体で使うことを考慮(選曲画面, リザルト画面) { // 演奏終了直後はCDTXオブジェクトが残っているので、ファイル名がフルパスかどうかでプレビュー判定する - if (!string.IsNullOrEmpty(CDTXMania.DTX.PATH_WAV)) - strAVIファイル名 = CDTXMania.DTX.PATH_WAV + this.strファイル名; + if (!string.IsNullOrEmpty(CDTXMania.app.DTX.PATH_WAV)) + strAVIファイル名 = CDTXMania.app.DTX.PATH_WAV + this.strファイル名; else - strAVIファイル名 = CDTXMania.DTX.strフォルダ名 + this.strファイル名; + strAVIファイル名 = CDTXMania.app.DTX.strフォルダ名 + this.strファイル名; } else { @@ -90,12 +90,12 @@ namespace DTXMania #region [ strAVIファイル名 の作成。なぜDispose時にファイル名の生成をしているのかと思ったら、デバッグログ用でした。 ] //----------------- string strAVIファイル名; - if (CDTXMania.DTX != null && !Path.IsPathRooted(this.strファイル名)) // CDTX抜きでCAVI単体で使うことを考慮(選曲画面, リザルト画面) + if (CDTXMania.app.DTX != null && !Path.IsPathRooted(this.strファイル名)) // CDTX抜きでCAVI単体で使うことを考慮(選曲画面, リザルト画面) { // 演奏終了直後はCDTXオブジェクトが残っているので、ファイル名がフルパスかどうかでプレビュー判定する - if (!string.IsNullOrEmpty(CDTXMania.DTX.PATH_WAV)) - strAVIファイル名 = CDTXMania.DTX.PATH_WAV + this.strファイル名; + if (!string.IsNullOrEmpty(CDTXMania.app.DTX.PATH_WAV)) + strAVIファイル名 = CDTXMania.app.DTX.PATH_WAV + this.strファイル名; else - strAVIファイル名 = CDTXMania.DTX.strフォルダ名 + this.strファイル名; + strAVIファイル名 = CDTXMania.app.DTX.strフォルダ名 + this.strファイル名; } else { @@ -243,10 +243,10 @@ namespace DTXMania { get { - if (!string.IsNullOrEmpty(CDTXMania.DTX.PATH_WAV)) - return CDTXMania.DTX.PATH_WAV + this.strファイル名; + if (!string.IsNullOrEmpty(CDTXMania.app.DTX.PATH_WAV)) + return CDTXMania.app.DTX.PATH_WAV + this.strファイル名; else - return CDTXMania.DTX.strフォルダ名 + this.strファイル名; + return CDTXMania.app.DTX.strフォルダ名 + this.strファイル名; } } @@ -265,12 +265,12 @@ namespace DTXMania // テクスチャを作成。 byte[] txData = File.ReadAllBytes(strテクスチャファイル名); - this.tx画像 = CDTXMania.tテクスチャの生成(txData, b黒を透過する); + this.tx画像 = TextureFactory.tテクスチャの生成(txData, b黒を透過する); if (this.tx画像 != null) { // 作成成功。 - if (CDTXMania.ConfigIni.bLog作成解放ログ出力) + if (CDTXMania.app.ConfigIni.bLog作成解放ログ出力) PutLog(strテクスチャファイル名); txData = null; this.bUse = true; @@ -293,12 +293,12 @@ namespace DTXMania { bitmap.MakeTransparent(Color.Black); // 黒を透過色にする } - this.tx画像 = CDTXMania.tテクスチャの生成(bitmap, b黒を透過する); + this.tx画像 = TextureFactory.tテクスチャの生成(bitmap, b黒を透過する); if (this.tx画像 != null) { // 作成成功。 - if (CDTXMania.ConfigIni.bLog作成解放ログ出力) + if (CDTXMania.app.ConfigIni.bLog作成解放ログ出力) PutLog(strテクスチャファイル名); this.bUse = true; } @@ -330,16 +330,16 @@ namespace DTXMania #region [ strテクスチャファイル名 を作成。] //----------------- string strテクスチャファイル名 = this.GetFullPathname; - //if( !string.IsNullOrEmpty( CDTXMania.DTX.PATH_WAV ) ) - // strテクスチャファイル名 = CDTXMania.DTX.PATH_WAV + this.strファイル名; + //if( !string.IsNullOrEmpty( CDTXMania.app.DTX.PATH_WAV ) ) + // strテクスチャファイル名 = CDTXMania.app.DTX.PATH_WAV + this.strファイル名; //else - // strテクスチャファイル名 = CDTXMania.DTX.strフォルダ名 + this.strファイル名; + // strテクスチャファイル名 = CDTXMania.app.DTX.strフォルダ名 + this.strファイル名; //----------------- #endregion - CDTXMania.tテクスチャの解放(ref this.tx画像); + TextureFactory.tテクスチャの解放(ref this.tx画像); - if (CDTXMania.ConfigIni.bLog作成解放ログ出力) + if (CDTXMania.app.ConfigIni.bLog作成解放ログ出力) Trace.TraceInformation("テクスチャを解放しました。({0})({1})", this.strコメント文, strテクスチャファイル名); } this.bUse = false; @@ -380,13 +380,13 @@ namespace DTXMania public List listこのWAVを使用するチャンネル番号の集合 = new List(16); public int nチップサイズ = 100; public int n位置; - public long[] n一時停止時刻 = new long[CDTXMania.ConfigIni.nPoliphonicSounds]; // 4 + public long[] n一時停止時刻 = new long[CDTXMania.app.ConfigIni.nPoliphonicSounds]; // 4 public int n音量 = 100; public int n現在再生中のサウンド番号; - public long[] n再生開始時刻 = new long[CDTXMania.ConfigIni.nPoliphonicSounds]; // 4 + public long[] n再生開始時刻 = new long[CDTXMania.app.ConfigIni.nPoliphonicSounds]; // 4 public int n内部番号; public int n表記上の番号; - public CSound[] rSound = new CSound[CDTXMania.ConfigIni.nPoliphonicSounds]; // 4 + public CSound[] rSound = new CSound[CDTXMania.app.ConfigIni.nPoliphonicSounds]; // 4 public string strコメント文 = ""; public string strファイル名 = ""; public bool bBGMとして使わない @@ -437,13 +437,13 @@ namespace DTXMania if (bManagedリソースの解放も行う) { - for (int i = 0; i < CDTXMania.ConfigIni.nPoliphonicSounds; i++) // 4 + for (int i = 0; i < CDTXMania.app.ConfigIni.nPoliphonicSounds; i++) // 4 { if (this.rSound[i] != null) - CDTXMania.Sound管理.tサウンドを破棄する(this.rSound[i]); + CDTXMania.app.Sound管理.tサウンドを破棄する(this.rSound[i]); this.rSound[i] = null; - if ((i == 0) && CDTXMania.ConfigIni.bLog作成解放ログ出力) + if ((i == 0) && CDTXMania.app.ConfigIni.bLog作成解放ログ出力) Trace.TraceInformation("サウンドを解放しました。({0})({1})", this.strコメント文, this.strファイル名); } } diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs b/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs index 658ebd5e..ea03fc07 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CScoreIni.cs @@ -1443,7 +1443,7 @@ namespace DTXMania #endregion #region [ Drums ] case E楽器パート.DRUMS: - if ( !CDTXMania.ConfigIni.bドラムが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ) { #region [ Auto BD ] if ( bAutoPlay.BD ) @@ -1456,7 +1456,7 @@ namespace DTXMania #endregion #region [ Guitar ] case E楽器パート.GUITAR: - if ( !CDTXMania.ConfigIni.bギターが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bギターが全部オートプレイである ) { #region [ Auto Pick ] if ( bAutoPlay.GtPick ) @@ -1485,7 +1485,7 @@ namespace DTXMania #endregion #region [ Bass ] case E楽器パート.BASS: - if ( !CDTXMania.ConfigIni.bベースが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bベースが全部オートプレイである ) { #region [ Auto Pick ] if ( bAutoPlay.BsPick ) @@ -1588,9 +1588,9 @@ namespace DTXMania } internal static void t更新条件を取得する( out bool bDrumsを更新する, out bool bGuitarを更新する, out bool bBassを更新する ) { - bDrumsを更新する = CDTXMania.ConfigIni.bDrums有効 && CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bドラムが全部オートプレイである; - bGuitarを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Guitar && !CDTXMania.ConfigIni.bギターが全部オートプレイである; - bBassを更新する = CDTXMania.ConfigIni.bGuitar有効 && CDTXMania.DTX.bチップがある.Bass && !CDTXMania.ConfigIni.bベースが全部オートプレイである; + bDrumsを更新する = CDTXMania.app.ConfigIni.bDrums有効 && CDTXMania.app.DTX.bチップがある.Drums && !CDTXMania.app.ConfigIni.bドラムが全部オートプレイである; + bGuitarを更新する = CDTXMania.app.ConfigIni.bGuitar有効 && CDTXMania.app.DTX.bチップがある.Guitar && !CDTXMania.app.ConfigIni.bギターが全部オートプレイである; + bBassを更新する = CDTXMania.app.ConfigIni.bGuitar有効 && CDTXMania.app.DTX.bチップがある.Bass && !CDTXMania.app.ConfigIni.bベースが全部オートプレイである; } internal static int t総合ランク値を計算して返す( C演奏記録 Drums, C演奏記録 Guitar, C演奏記録 Bass ) { diff --git a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs index 84355e0b..50237257 100644 --- a/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs +++ b/DTXManiaプロジェクト/コード/スコア、曲/CSong管理.cs @@ -143,7 +143,7 @@ namespace DTXMania DirectoryInfo info = new DirectoryInfo( str基点フォルダ ); - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) Trace.TraceInformation( "基点フォルダ: " + str基点フォルダ ); #region [ a.フォルダ内に set.def が存在する場合 → set.def からノード作成] @@ -153,7 +153,7 @@ namespace DTXMania { CSetDef def = new CSetDef( path ); new FileInfo( path ); - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.TraceInformation( "set.def検出 : {0}", path ); Trace.Indent(); @@ -211,7 +211,7 @@ namespace DTXMania { listノードリスト.Add( item ); this.n検索された曲ノード数++; - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { StringBuilder builder = new StringBuilder( 0x200 ); builder.Append( string.Format( "nID#{0:D3}", item.nID ) ); @@ -264,7 +264,7 @@ namespace DTXMania } finally { - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.Unindent(); } @@ -306,7 +306,7 @@ namespace DTXMania this.n検索されたスコア数++; listノードリスト.Add( c曲リストノード ); this.n検索された曲ノード数++; - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.Indent(); try @@ -424,7 +424,7 @@ namespace DTXMania { s += System.IO.Path.DirectorySeparatorChar; } - if ( CDTXMania.Skin.bIsValid( s ) ) + if ( CDTXMania.app.Skin.bIsValid( s ) ) { c曲リストノード.strSkinPath = s; } @@ -452,7 +452,7 @@ namespace DTXMania c曲リストノード.nPoor範囲ms = boxdef.PoorRange; } } - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.Indent(); try @@ -523,7 +523,7 @@ namespace DTXMania { s += System.IO.Path.DirectorySeparatorChar; } - if ( CDTXMania.Skin.bIsValid( s ) ) + if ( CDTXMania.app.Skin.bIsValid( s ) ) { c曲リストノード.strSkinPath = s; } @@ -543,7 +543,7 @@ namespace DTXMania c曲リストノード.nGood範囲ms = boxdef.GoodRange; c曲リストノード.nPoor範囲ms = boxdef.PoorRange; listノードリスト.Add( c曲リストノード ); - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.TraceInformation( "box.def検出 : {0}", infoDir.FullName + @"\box.def" ); Trace.Indent(); @@ -679,7 +679,7 @@ namespace DTXMania if( nMatched == -1 ) { //Trace.TraceInformation( "songs.db に存在しません。({0})", node.arスコア[ lv ].ファイル情報.ファイルの絶対パス ); - if ( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if ( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.TraceInformation( "songs.db に存在しません。({0})", node.arスコア[ lv ].ファイル情報.ファイルの絶対パス ); } @@ -688,7 +688,7 @@ namespace DTXMania { node.arスコア[ lv ].譜面情報 = this.listSongsDB[ nMatched ].譜面情報; node.arスコア[ lv ].bSongDBにキャッシュがあった = true; - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.TraceInformation( "songs.db から転記しました。({0})", node.arスコア[ lv ].ファイル情報.ファイルの絶対パス ); } @@ -726,7 +726,7 @@ namespace DTXMania { node.arスコア[ lv ].譜面情報.演奏履歴[ j ] = scoreIni.stファイル.History[ j ]; } - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { Trace.TraceInformation( "演奏記録ファイルから HiSkill 情報と演奏履歴を取得しました。({0})", strFileNameScoreIni ); } @@ -842,7 +842,7 @@ namespace DTXMania //Debug.WriteLine( "★" + this.nファイルから反映できたスコア数 + " " + c曲リストノード.arスコア[ i ].譜面情報.タイトル ); #region [ 曲検索ログ出力 ] //----------------- - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { StringBuilder sb = new StringBuilder( 0x400 ); sb.Append( string.Format( "曲データファイルから譜面情報を転記しました。({0})", path ) ); @@ -895,9 +895,9 @@ namespace DTXMania public void t曲リストへ後処理を適用する() { listStrBoxDefSkinSubfolderFullName = new List(); - if ( CDTXMania.Skin.strBoxDefSkinSubfolders != null ) + if ( CDTXMania.app.Skin.strBoxDefSkinSubfolders != null ) { - foreach ( string b in CDTXMania.Skin.strBoxDefSkinSubfolders ) + foreach ( string b in CDTXMania.app.Skin.strBoxDefSkinSubfolders ) { listStrBoxDefSkinSubfolderFullName.Add( b ); } @@ -906,7 +906,7 @@ namespace DTXMania this.t曲リストへ後処理を適用する( this.list曲ルート ); #region [ skin名で比較して、systemスキンとboxdefスキンに重複があれば、boxdefスキン側を削除する ] - string[] systemSkinNames = CSkin.GetSkinName( CDTXMania.Skin.strSystemSkinSubfolders ); + string[] systemSkinNames = CSkin.GetSkinName( CDTXMania.app.Skin.strSystemSkinSubfolders ); List l = new List( listStrBoxDefSkinSubfolderFullName ); foreach ( string boxdefSkinSubfolderFullName in l ) { @@ -920,7 +920,7 @@ namespace DTXMania #endregion string[] ba = listStrBoxDefSkinSubfolderFullName.ToArray(); Array.Sort( ba ); - CDTXMania.Skin.strBoxDefSkinSubfolders = ba; + CDTXMania.app.Skin.strBoxDefSkinSubfolders = ba; } private void t曲リストへ後処理を適用する( List ノードリスト ) { @@ -951,7 +951,7 @@ namespace DTXMania #region [ ログ出力 ] //----------------------------- - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { StringBuilder sb = new StringBuilder( 0x100 ); sb.Append( string.Format( "nID#{0:D3}", itemRandom.nID ) ); @@ -1009,7 +1009,7 @@ namespace DTXMania #region [ ログ出力 ] //----------------------------- - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) { StringBuilder sb = new StringBuilder( 0x100 ); sb.Append( string.Format( "nID#{0:D3}", itemBack.nID ) ); @@ -1043,7 +1043,7 @@ namespace DTXMania { c曲リストノード.strタイトル = c曲リストノード.arスコア[ j ].譜面情報.タイトル; - if( CDTXMania.ConfigIni.bLog曲検索ログ出力 ) + if( CDTXMania.app.ConfigIni.bLog曲検索ログ出力 ) Trace.TraceInformation( "タイトルを設定しました。(nID#{0:D3}, title={1})", c曲リストノード.nID, c曲リストノード.strタイトル ); break; diff --git a/DTXManiaプロジェクト/コード/ステージ/01.起動/CStage起動.cs b/DTXManiaプロジェクト/コード/ステージ/01.起動/CStage起動.cs index 37c4fbb5..5e8b2398 100644 --- a/DTXManiaプロジェクト/コード/ステージ/01.起動/CStage起動.cs +++ b/DTXManiaプロジェクト/コード/ステージ/01.起動/CStage起動.cs @@ -13,7 +13,6 @@ namespace DTXMania internal class CStage起動 : CStage { // コンストラクタ - public CStage起動() { base.eステージID = CStage.Eステージ.起動; @@ -68,7 +67,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSetup background.jpg" ), false ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSetup background.jpg" ), false ); base.OnManagedリソースの作成(); } } @@ -76,7 +75,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); base.OnManagedリソースの解放(); } } @@ -95,7 +94,7 @@ namespace DTXMania return 0; } - // CSongs管理 s管理 = CDTXMania.Songs管理; + // CSongs管理 s管理 = CDTXMania.app.Songs管理; if( this.tx背景 != null ) this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 ); @@ -150,17 +149,17 @@ namespace DTXMania int y = 0; foreach( string str in this.list進行文字列 ) { - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.灰細, str ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.灰細, str ); y += 14 * 2; } - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.灰細, this.str現在進行中 ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.灰細, this.str現在進行中 ); } //----------------- #endregion if( es != null && es.IsSongListEnumCompletelyDone ) // 曲リスト作成が終わったら { - CDTXMania.Songs管理 = ( es != null ) ? es.Songs管理 : null; // 最後に、曲リストを拾い上げる + CDTXMania.app.Songs管理 = ( es != null ) ? es.Songs管理 : null; // 最後に、曲リストを拾い上げる return 1; } } @@ -184,8 +183,8 @@ namespace DTXMania // すべてのファイルアクセスは「絶対パス」で行うこと。(2010.9.16) DateTime now = DateTime.Now; - string strPathSongsDB = CDTXMania.strEXEのあるフォルダ + "songs.db"; - string strPathSongList = CDTXMania.strEXEのあるフォルダ + "songlist.db"; + string strPathSongsDB = CDTXMania.app.strEXEのあるフォルダ + "songs.db"; + string strPathSongList = CDTXMania.app.strEXEのあるフォルダ + "songlist.db"; try { @@ -198,16 +197,16 @@ namespace DTXMania try { - for( int i = 0; i < CDTXMania.Skin.nシステムサウンド数; i++ ) + for( int i = 0; i < CDTXMania.app.Skin.nシステムサウンド数; i++ ) { - CSkin.Cシステムサウンド cシステムサウンド = CDTXMania.Skin[ i ]; - if( !CDTXMania.bコンパクトモード || cシステムサウンド.bCompact対象 ) + CSkin.Cシステムサウンド cシステムサウンド = CDTXMania.app.Skin[ i ]; + if( !CDTXMania.app.bコンパクトモード || cシステムサウンド.bCompact対象 ) { try { cシステムサウンド.t読み込み(); Trace.TraceInformation( "システムサウンドを読み込みました。({0})", new object[] { cシステムサウンド.strファイル名 } ); - if( ( cシステムサウンド == CDTXMania.Skin.bgm起動画面 ) && cシステムサウンド.b読み込み成功 ) + if( ( cシステムサウンド == CDTXMania.app.Skin.bgm起動画面 ) && cシステムサウンド.b読み込み成功 ) { cシステムサウンド.t再生する(); } @@ -235,7 +234,7 @@ namespace DTXMania //----------------------------- #endregion - if( CDTXMania.bコンパクトモード ) + if( CDTXMania.app.bコンパクトモード ) { Trace.TraceInformation( "コンパクトモードなので残りの起動処理は省略します。" ); return; @@ -250,18 +249,18 @@ namespace DTXMania try { - if ( !CDTXMania.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) + if ( !CDTXMania.app.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) { try { - CDTXMania.Songs管理.tSongListDBを読み込む( strPathSongList ); + CDTXMania.app.Songs管理.tSongListDBを読み込む( strPathSongList ); } catch { Trace.TraceError( "songlist.db の読み込みに失敗しました。" ); } - int scores = ( CDTXMania.Songs管理 == null ) ? 0 : CDTXMania.Songs管理.n検索されたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.Songs管理 がnullの場合があるので注意 + int scores = ( CDTXMania.app.Songs管理 == null ) ? 0 : CDTXMania.app.Songs管理.n検索されたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.app.Songs管理 がnullの場合があるので注意 Trace.TraceInformation( "songlist.db の読み込みを完了しました。[{0}スコア]", scores ); lock ( this.list進行文字列 ) { @@ -293,18 +292,18 @@ namespace DTXMania try { - if ( !CDTXMania.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) + if ( !CDTXMania.app.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) { try { - CDTXMania.Songs管理.tSongsDBを読み込む( strPathSongsDB ); + CDTXMania.app.Songs管理.tSongsDBを読み込む( strPathSongsDB ); } catch { Trace.TraceError( "songs.db の読み込みに失敗しました。" ); } - int scores = ( CDTXMania.Songs管理 == null ) ? 0 : CDTXMania.Songs管理.nSongsDBから取得できたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.Songs管理 がnullの場合があるので注意 + int scores = ( CDTXMania.app.Songs管理 == null ) ? 0 : CDTXMania.app.Songs管理.nSongsDBから取得できたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.app.Songs管理 がnullの場合があるので注意 Trace.TraceInformation( "songs.db の読み込みを完了しました。[{0}スコア]", scores ); lock ( this.list進行文字列 ) { diff --git a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CActEnumSongs.cs b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CActEnumSongs.cs index 8122f9b0..213f6f36 100644 --- a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CActEnumSongs.cs +++ b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CActEnumSongs.cs @@ -48,8 +48,8 @@ namespace DTXMania try { - this.ctNowEnumeratingSongs = new CCounter(); // 0, 1000, 17, CDTXMania.Timer ); - this.ctNowEnumeratingSongs.t開始( 0, 100, 17, CDTXMania.Timer ); + this.ctNowEnumeratingSongs = new CCounter(); // 0, 1000, 17, CDTXMania.app.Timer ); + this.ctNowEnumeratingSongs.t開始( 0, 100, 17, CDTXMania.app.Timer ); } finally { @@ -69,7 +69,7 @@ namespace DTXMania string pathNowEnumeratingSongs = CSkin.Path( @"Graphics\ScreenTitle NowEnumeratingSongs.png" ); if ( File.Exists( pathNowEnumeratingSongs ) ) { - this.txNowEnumeratingSongs = CDTXMania.tテクスチャの生成( pathNowEnumeratingSongs, false ); + this.txNowEnumeratingSongs = TextureFactory.tテクスチャの生成( pathNowEnumeratingSongs, false ); } else { @@ -78,7 +78,7 @@ namespace DTXMania string pathDialogNowEnumeratingSongs = CSkin.Path( @"Graphics\ScreenConfig NowEnumeratingSongs.png" ); if ( File.Exists( pathDialogNowEnumeratingSongs ) ) { - this.txDialogNowEnumeratingSongs = CDTXMania.tテクスチャの生成( pathDialogNowEnumeratingSongs, false ); + this.txDialogNowEnumeratingSongs = TextureFactory.tテクスチャの生成( pathDialogNowEnumeratingSongs, false ); } else { @@ -107,10 +107,10 @@ namespace DTXMania graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; graphics.DrawString( strMessage[ ci ], ftMessage, Brushes.White, (float) 0f, (float) 0f ); graphics.Dispose(); - this.txMessage = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.txMessage = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); this.txMessage.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); image.Dispose(); - CDTXMania.t安全にDisposeする( ref ftMessage ); + TextureFactory.t安全にDisposeする( ref ftMessage ); } else { @@ -130,9 +130,9 @@ namespace DTXMania if ( this.b活性化してない ) return; - CDTXMania.t安全にDisposeする( ref this.txDialogNowEnumeratingSongs ); - CDTXMania.t安全にDisposeする( ref this.txNowEnumeratingSongs ); - CDTXMania.t安全にDisposeする( ref this.txMessage ); + TextureFactory.t安全にDisposeする( ref this.txDialogNowEnumeratingSongs ); + TextureFactory.t安全にDisposeする( ref this.txNowEnumeratingSongs ); + TextureFactory.t安全にDisposeする( ref this.txMessage ); base.OnManagedリソースの解放(); } diff --git a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CEnumSongs.cs b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CEnumSongs.cs index 473d893c..fba68eb7 100644 --- a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CEnumSongs.cs +++ b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CEnumSongs.cs @@ -15,7 +15,6 @@ namespace DTXMania { internal class CEnumSongs // #27060 2011.2.7 yyagi 曲リストを取得するクラス { // ファイルキャッシュ(songslist.db)からの取得と、ディスクからの取得を、この一つのクラスに集約。 - public CSongs管理 Songs管理 // 曲の探索結果はこのSongs管理に読み込まれる { get; @@ -78,8 +77,8 @@ namespace DTXMania this.thDTXFileEnumerate.Priority = tp; } } - private readonly string strPathSongsDB = CDTXMania.strEXEのあるフォルダ + "songs.db"; - private readonly string strPathSongList = CDTXMania.strEXEのあるフォルダ + "songlist.db"; + private readonly string strPathSongsDB = CDTXMania.app.strEXEのあるフォルダ + "songs.db"; + private readonly string strPathSongList = CDTXMania.app.strEXEのあるフォルダ + "songlist.db"; public Thread thDTXFileEnumerate { @@ -243,26 +242,26 @@ namespace DTXMania { #region [ 0) システムサウンドの構築 ] //----------------------------- - CDTXMania.stage起動.eフェーズID = CStage.Eフェーズ.起動0_システムサウンドを構築; + CDTXMania.app.stage起動.eフェーズID = CStage.Eフェーズ.起動0_システムサウンドを構築; Trace.TraceInformation( "0) システムサウンドを構築します。" ); Trace.Indent(); try { - CDTXMania.Skin.bgm起動画面.t再生する(); - for ( int i = 0; i < CDTXMania.Skin.nシステムサウンド数; i++ ) + CDTXMania.app.Skin.bgm起動画面.t再生する(); + for ( int i = 0; i < CDTXMania.app.Skin.nシステムサウンド数; i++ ) { - if ( !CDTXMania.Skin[ i ].b排他 ) // BGM系以外のみ読み込む。(BGM系は必要になったときに読み込む) + if ( !CDTXMania.app.Skin[ i ].b排他 ) // BGM系以外のみ読み込む。(BGM系は必要になったときに読み込む) { - CSkin.Cシステムサウンド cシステムサウンド = CDTXMania.Skin[ i ]; - if ( !CDTXMania.bコンパクトモード || cシステムサウンド.bCompact対象 ) + CSkin.Cシステムサウンド cシステムサウンド = CDTXMania.app.Skin[ i ]; + if ( !CDTXMania.app.bコンパクトモード || cシステムサウンド.bCompact対象 ) { try { cシステムサウンド.t読み込み(); Trace.TraceInformation( "システムサウンドを読み込みました。({0})", cシステムサウンド.strファイル名 ); - //if ( ( cシステムサウンド == CDTXMania.Skin.bgm起動画面 ) && cシステムサウンド.b読み込み成功 ) + //if ( ( cシステムサウンド == CDTXMania.app.Skin.bgm起動画面 ) && cシステムサウンド.b読み込み成功 ) //{ // cシステムサウンド.t再生する(); //} @@ -279,9 +278,9 @@ namespace DTXMania } } } - lock ( CDTXMania.stage起動.list進行文字列 ) + lock (CDTXMania.app.stage起動.list進行文字列) { - CDTXMania.stage起動.list進行文字列.Add( "Loading system sounds ... OK " ); + CDTXMania.app.stage起動.list進行文字列.Add("Loading system sounds ... OK "); } } finally @@ -291,7 +290,7 @@ namespace DTXMania //----------------------------- #endregion - if ( CDTXMania.bコンパクトモード ) + if ( CDTXMania.app.bコンパクトモード ) { Trace.TraceInformation( "コンパクトモードなので残りの起動処理は省略します。" ); return; @@ -299,14 +298,14 @@ namespace DTXMania #region [ 00) songlist.dbの読み込みによる曲リストの構築 ] //----------------------------- - CDTXMania.stage起動.eフェーズID = CStage.Eフェーズ.起動00_songlistから曲リストを作成する; + CDTXMania.app.stage起動.eフェーズID = CStage.Eフェーズ.起動00_songlistから曲リストを作成する; Trace.TraceInformation( "1) songlist.dbを読み込みます。" ); Trace.Indent(); try { - if ( !CDTXMania.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) + if ( !CDTXMania.app.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) { CSongs管理 s = new CSongs管理(); s = Deserialize( strPathSongList ); // 直接this.Songs管理にdeserialize()結果を代入するのは避ける。nullにされてしまうことがあるため。 @@ -317,17 +316,17 @@ namespace DTXMania int scores = this.Songs管理.n検索されたスコア数; Trace.TraceInformation( "songlist.db の読み込みを完了しました。[{0}スコア]", scores ); - lock ( CDTXMania.stage起動.list進行文字列 ) + lock (CDTXMania.app.stage起動.list進行文字列) { - CDTXMania.stage起動.list進行文字列.Add( "Loading songlist.db ... OK" ); + CDTXMania.app.stage起動.list進行文字列.Add("Loading songlist.db ... OK"); } } else { Trace.TraceInformation( "初回の起動であるかまたはDTXManiaのバージョンが上がったため、songlist.db の読み込みをスキップします。" ); - lock ( CDTXMania.stage起動.list進行文字列 ) + lock (CDTXMania.app.stage起動.list進行文字列) { - CDTXMania.stage起動.list進行文字列.Add( "Loading songlist.db ... Skip" ); + CDTXMania.app.stage起動.list進行文字列.Add("Loading songlist.db ... Skip"); } } } @@ -340,14 +339,14 @@ namespace DTXMania #region [ 1) songs.db の読み込み ] //----------------------------- - CDTXMania.stage起動.eフェーズID = CStage.Eフェーズ.起動1_SongsDBからスコアキャッシュを構築; + CDTXMania.app.stage起動.eフェーズID = CStage.Eフェーズ.起動1_SongsDBからスコアキャッシュを構築; Trace.TraceInformation( "2) songs.db を読み込みます。" ); Trace.Indent(); try { - if ( !CDTXMania.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) + if ( !CDTXMania.app.ConfigIni.bConfigIniがないかDTXManiaのバージョンが異なる ) { try { @@ -358,19 +357,19 @@ namespace DTXMania Trace.TraceError( "songs.db の読み込みに失敗しました。" ); } - int scores = ( this.Songs管理 == null ) ? 0 : this.Songs管理.nSongsDBから取得できたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.Songs管理 がnullの場合があるので注意 + int scores = ( this.Songs管理 == null ) ? 0 : this.Songs管理.nSongsDBから取得できたスコア数; // 読み込み途中でアプリ終了した場合など、CDTXMania.app.Songs管理 がnullの場合があるので注意 Trace.TraceInformation( "songs.db の読み込みを完了しました。[{0}スコア]", scores ); - lock ( CDTXMania.stage起動.list進行文字列 ) + lock (CDTXMania.app.stage起動.list進行文字列) { - CDTXMania.stage起動.list進行文字列.Add( "Loading songs.db ... OK" ); + CDTXMania.app.stage起動.list進行文字列.Add("Loading songs.db ... OK"); } } else { Trace.TraceInformation( "初回の起動であるかまたはDTXManiaのバージョンが上がったため、songs.db の読み込みをスキップします。" ); - lock ( CDTXMania.stage起動.list進行文字列 ) + lock (CDTXMania.app.stage起動.list進行文字列) { - CDTXMania.stage起動.list進行文字列.Add( "Loading songs.db ... Skip" ); + CDTXMania.app.stage起動.list進行文字列.Add("Loading songs.db ... Skip"); } } } @@ -384,7 +383,7 @@ namespace DTXMania } finally { - CDTXMania.stage起動.eフェーズID = CStage.Eフェーズ.起動7_完了; + CDTXMania.app.stage起動.eフェーズID = CStage.Eフェーズ.起動7_完了; TimeSpan span = (TimeSpan) ( DateTime.Now - now ); Trace.TraceInformation( "起動所要時間: {0}", span.ToString() ); lock ( this ) // #28700 2012.6.12 yyagi; state change must be in finally{} for exiting as of compact mode. @@ -423,9 +422,9 @@ namespace DTXMania try { - if ( !string.IsNullOrEmpty( CDTXMania.ConfigIni.str曲データ検索パス ) ) + if ( !string.IsNullOrEmpty( CDTXMania.app.ConfigIni.str曲データ検索パス ) ) { - string[] strArray = CDTXMania.ConfigIni.str曲データ検索パス.Split( new char[] { ';' } ); + string[] strArray = CDTXMania.app.ConfigIni.str曲データ検索パス.Split( new char[] { ';' } ); if ( strArray.Length > 0 ) { // 全パスについて… @@ -434,7 +433,7 @@ namespace DTXMania string path = str; if ( !Path.IsPathRooted( path ) ) { - path = CDTXMania.strEXEのあるフォルダ + str; // 相対パスの場合、絶対パスに直す(2010.9.16) + path = CDTXMania.app.strEXEのあるフォルダ + str; // 相対パスの場合、絶対パスに直す(2010.9.16) } if ( !string.IsNullOrEmpty( path ) ) @@ -502,7 +501,7 @@ namespace DTXMania } // lock ( this.list進行文字列 ) // { - // this.list進行文字列.Add( string.Format( "{0} ... {1}/{2}", "Loading score properties from songs.db", CDTXMania.Songs管理_裏読.nスコアキャッシュから反映できたスコア数, cs.n検索されたスコア数 ) ); + // this.list進行文字列.Add( string.Format( "{0} ... {1}/{2}", "Loading score properties from songs.db", CDTXMania.app.Songs管理_裏読.nスコアキャッシュから反映できたスコア数, cs.n検索されたスコア数 ) ); // } //----------------------------- #endregion @@ -533,7 +532,7 @@ namespace DTXMania } // lock ( this.list進行文字列 ) // { - // this.list進行文字列.Add( string.Format( "{0} ... {1}/{2}", "Loading score properties from files", CDTXMania.Songs管理_裏読.nファイルから反映できたスコア数, CDTXMania.Songs管理_裏読.n検索されたスコア数 - cs.nスコアキャッシュから反映できたスコア数 ) ); + // this.list進行文字列.Add( string.Format( "{0} ... {1}/{2}", "Loading score properties from files", CDTXMania.app.Songs管理_裏読.nファイルから反映できたスコア数, CDTXMania.app.Songs管理_裏読.n検索されたスコア数 - cs.nスコアキャッシュから反映できたスコア数 ) ); // } //----------------------------- #endregion @@ -614,7 +613,7 @@ namespace DTXMania } lock ( this ) { - // state = DTXEnumState.Done; // DoneにするのはCDTXMania.cs側にて。 + // state = DTXEnumState.Done; // DoneにするのはCDTXMania.app.cs側にて。 state = DTXEnumState.Enumeratad; } } diff --git a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs index d53b04d5..8b61cb3d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/02.タイトル/CStageタイトル.cs @@ -12,7 +12,6 @@ namespace DTXMania internal class CStageタイトル : CStage { // コンストラクタ - public CStageタイトル() { base.eステージID = CStage.Eステージ.タイトル; @@ -33,7 +32,7 @@ namespace DTXMania { for ( int i = 0; i < 4; i++ ) { - this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.Timer ); + this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.app.Timer ); } this.ct上移動用 = new CCounter(); this.ct下移動用 = new CCounter(); @@ -71,8 +70,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenTitle background.jpg" ), false ); - this.txメニュー = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenTitle menu.png" ), false ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenTitle background.jpg" ), false ); + this.txメニュー = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenTitle menu.png" ), false ); prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), 36 ); //prvFont = new CPrivateFont( new FontFamily("MS UI Gothic"), 36, FontStyle.Bold ); @@ -84,7 +83,7 @@ namespace DTXMania int maxX = 0; for ( int i = 0; i < menuStr.Length; i++ ) { - txMenuItem[ i ] = CDTXMania.tテクスチャの生成( prvFont.DrawPrivateFont( menuStr[ i ], Color.White, Color.Black ), false ); + txMenuItem[ i ] = TextureFactory.tテクスチャの生成( prvFont.DrawPrivateFont( menuStr[ i ], Color.White, Color.Black ), false ); // txMenuItem[ i ] = prvFont.DrawPrivateFont( menuStr[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ); // グラデーションもなかなかいける。 // txMenuItem[ i ] = prvFont.DrawPrivateFont( menuStr[ i ], Color.White ); if ( maxX < txMenuItem[ i ].szテクスチャサイズ.Width ) @@ -117,11 +116,11 @@ namespace DTXMania { if ( txMenuItem[ i ] != null ) { - CDTXMania.tテクスチャの解放( ref txMenuItem[ i ] ); + TextureFactory.tテクスチャの解放( ref txMenuItem[ i ] ); } } - CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.txメニュー ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.txメニュー ); base.OnManagedリソースの解放(); } } @@ -133,7 +132,7 @@ namespace DTXMania //--------------------- if ( base.b初めての進行描画 ) { - if ( CDTXMania.r直前のステージ == CDTXMania.stage起動 ) + if ( CDTXMania.app.r直前のステージ == CDTXMania.app.stage起動 ) { this.actFIfromSetup.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.タイトル_起動画面からのフェードイン; @@ -143,7 +142,7 @@ namespace DTXMania this.actFI.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; } - this.ctカーソルフラッシュ用.t開始( 0, 700, 5, CDTXMania.Timer ); + this.ctカーソルフラッシュ用.t開始( 0, 700, 5, CDTXMania.app.Timer ); this.ctカーソルフラッシュ用.n現在の値 = 100; base.b初めての進行描画 = false; } @@ -184,30 +183,30 @@ namespace DTXMania #region [ キー入力 ] if ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 // 通常状態、かつ - && CDTXMania.act現在入力を占有中のプラグイン == null ) // プラグインの入力占有がない + && CDTXMania.app.act現在入力を占有中のプラグイン == null ) // プラグインの入力占有がない { - if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) Key.Escape ) ) + if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) Key.Escape ) ) return (int) E戻り値.EXIT; - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) + this.ctキー反復用.Up.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + this.ctキー反復用.R.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) this.tカーソルを上へ移動する(); - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) + this.ctキー反復用.Down.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + this.ctキー反復用.B.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) this.tカーソルを下へ移動する(); - if ( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) + if ( ( CDTXMania.app.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.app.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) { - if ( ( this.n現在のカーソル行 == (int) E戻り値.GAMESTART - 1 ) && CDTXMania.Skin.soundゲーム開始音.b読み込み成功 ) + if ( ( this.n現在のカーソル行 == (int) E戻り値.GAMESTART - 1 ) && CDTXMania.app.Skin.soundゲーム開始音.b読み込み成功 ) { - CDTXMania.Skin.soundゲーム開始音.t再生する(); + CDTXMania.app.Skin.soundゲーム開始音.t再生する(); } else { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); } if ( this.n現在のカーソル行 == (int) E戻り値.EXIT - 1 ) { @@ -216,8 +215,8 @@ namespace DTXMania this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; } - // if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) Key.Space ) ) - // Trace.TraceInformation( "DTXMania Title: SPACE key registered. " + CDTXMania.ct.nシステム時刻 ); + // if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) Key.Space ) ) + // Trace.TraceInformation( "DTXMania Title: SPACE key registered. " + CDTXMania.app.ct.nシステム時刻 ); } #endregion @@ -276,7 +275,7 @@ namespace DTXMania case CStage.Eフェーズ.共通_フェードイン: if ( this.actFI.On進行描画() != 0 ) { - CDTXMania.Skin.soundタイトル音.t再生する(); + CDTXMania.app.Skin.soundタイトル音.t再生する(); base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } break; @@ -304,7 +303,7 @@ namespace DTXMania case CStage.Eフェーズ.タイトル_起動画面からのフェードイン: if ( this.actFIfromSetup.On進行描画() != 0 ) { - CDTXMania.Skin.soundタイトル音.t再生する(); + CDTXMania.app.Skin.soundタイトル音.t再生する(); base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } break; @@ -407,9 +406,9 @@ namespace DTXMania { if ( this.n現在のカーソル行 != (int) E戻り値.EXIT - 1 ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在のカーソル行++; - this.ct下移動用.t開始( 0, 100, 1, CDTXMania.Timer ); + this.ct下移動用.t開始( 0, 100, 1, CDTXMania.app.Timer ); if ( this.ct上移動用.b進行中 ) { this.ct下移動用.n現在の値 = 100 - this.ct上移動用.n現在の値; @@ -421,9 +420,9 @@ namespace DTXMania { if ( this.n現在のカーソル行 != (int) E戻り値.GAMESTART - 1 ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在のカーソル行--; - this.ct上移動用.t開始( 0, 100, 1, CDTXMania.Timer ); + this.ct上移動用.t開始( 0, 100, 1, CDTXMania.app.Timer ); if ( this.ct下移動用.b進行中 ) { this.ct上移動用.n現在の値 = 100 - this.ct下移動用.n現在の値; diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigKeyAssign.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigKeyAssign.cs index 6ae496fa..c1084fd3 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigKeyAssign.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigKeyAssign.cs @@ -10,6 +10,11 @@ namespace DTXMania { internal class CActConfigKeyAssign : CActivity { + public CActConfigKeyAssign() + { + } + + // プロパティ public bool bキー入力待ちの最中である @@ -32,9 +37,9 @@ namespace DTXMania this.strパッド名 = strパッド名; for( int i = 0; i < 0x10; i++ ) { - this.structReset用KeyAssign[ i ].入力デバイス = CDTXMania.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].入力デバイス; - this.structReset用KeyAssign[ i ].ID = CDTXMania.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].ID; - this.structReset用KeyAssign[ i ].コード = CDTXMania.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].コード; + this.structReset用KeyAssign[ i ].入力デバイス = CDTXMania.app.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].入力デバイス; + this.structReset用KeyAssign[ i ].ID = CDTXMania.app.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].ID; + this.structReset用KeyAssign[ i ].コード = CDTXMania.app.ConfigIni.KeyAssign[ (int) part ][ (int) pad ][ i ].コード; } } } @@ -43,20 +48,20 @@ namespace DTXMania { if( !this.bキー入力待ち ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); switch( this.n現在の選択行 ) { case 0x10: for( int i = 0; i < 0x10; i++ ) { - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].入力デバイス = this.structReset用KeyAssign[ i ].入力デバイス; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].ID = this.structReset用KeyAssign[ i ].ID; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].コード = this.structReset用KeyAssign[ i ].コード; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].入力デバイス = this.structReset用KeyAssign[ i ].入力デバイス; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].ID = this.structReset用KeyAssign[ i ].ID; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ i ].コード = this.structReset用KeyAssign[ i ].コード; } return; case 0x11: - CDTXMania.stageコンフィグ.tアサイン完了通知(); + CDTXMania.app.stageコンフィグ.tアサイン完了通知(); return; } this.bキー入力待ち = true; @@ -66,7 +71,7 @@ namespace DTXMania { if( !this.bキー入力待ち ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在の選択行 = ( this.n現在の選択行 + 1 ) % 0x12; } } @@ -74,7 +79,7 @@ namespace DTXMania { if( !this.bキー入力待ち ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在の選択行 = ( ( this.n現在の選択行 - 1 ) + 0x12 ) % 0x12; } } @@ -96,8 +101,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txカーソル ); - CDTXMania.tテクスチャの解放( ref this.txHitKeyダイアログ ); + TextureFactory.tテクスチャの解放( ref this.txカーソル ); + TextureFactory.tテクスチャの解放( ref this.txHitKeyダイアログ ); base.On非活性化(); } } @@ -106,14 +111,14 @@ namespace DTXMania if( !base.b活性化してない ) { this.prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), (int) ( 18 * Scale.Y ) ); // t項目リストの設定 の前に必要 - this.txカーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ), false ); - this.txHitKeyダイアログ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig hit key to assign dialog.png" ), false ); + this.txカーソル = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig menu cursor.png"), false); + this.txHitKeyダイアログ = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig hit key to assign dialog.png"), false); base.OnManagedリソースの作成(); } } public override void OnManagedリソースの解放() { - CDTXMania.t安全にDisposeする( ref prvFont ); + TextureFactory.t安全にDisposeする(ref prvFont); } public override int On進行描画() { @@ -121,24 +126,24 @@ namespace DTXMania { if( this.bキー入力待ち ) { - if( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) ) + if( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) ) { - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); this.bキー入力待ち = false; - CDTXMania.Input管理.tポーリング( CDTXMania.app.bApplicationActive, false ); + CDTXMania.app.Input管理.tポーリング( CDTXMania.app.bApplicationActive, false ); } else if( ( this.tキーチェックとアサイン_Keyboard() || this.tキーチェックとアサイン_MidiIn() ) || ( this.tキーチェックとアサイン_Joypad() || this.tキーチェックとアサイン_Mouse() ) ) { this.bキー入力待ち = false; - CDTXMania.Input管理.tポーリング( CDTXMania.app.bApplicationActive, false ); + CDTXMania.app.Input管理.tポーリング( CDTXMania.app.bApplicationActive, false ); } } - else if( ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) && ( this.n現在の選択行 >= 0 ) ) && ( this.n現在の選択行 <= 15 ) ) + else if( ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Delete ) && ( this.n現在の選択行 >= 0 ) ) && ( this.n現在の選択行 <= 15 ) ) { - CDTXMania.Skin.sound決定音.t再生する(); - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.不明; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = 0; + CDTXMania.app.Skin.sound決定音.t再生する(); + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.不明; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = 0; } if ( this.txカーソル != null ) { @@ -159,17 +164,17 @@ namespace DTXMania int num5 = 20; int x = 0x134; int y = 0x40; - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x, y, this.strパッド名, false, 0.75f ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x, y, this.strパッド名, false, 0.75f ); Bitmap bmpStr = prvFont.DrawPrivateFont( this.strパッド名, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); y += num5; - CConfigIni.CKeyAssign.STKEYASSIGN[] stkeyassignArray = CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ]; + CConfigIni.CKeyAssign.STKEYASSIGN[] stkeyassignArray = CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ]; string strParam; bool b強調; for ( int i = 0; i < 0x10; i++ ) @@ -198,13 +203,13 @@ namespace DTXMania bmpStr = b強調 ? prvFont.DrawPrivateFont( strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( strParam, Color.White, Color.Black ); - txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, ( x + 20 ) * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 20, y, string.Format( "{0,2}.", i + 1 ), this.n現在の選択行 == i, 0.75f ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 20, y, string.Format( "{0,2}.", i + 1 ), this.n現在の選択行 == i, 0.75f ); break; } y += num5; @@ -214,28 +219,28 @@ namespace DTXMania bmpStr = b強調 ? prvFont.DrawPrivateFont( strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( strParam, Color.White, Color.Black ); - txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, ( x + 20 ) * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); y += num5; strParam = "<< Returnto List"; b強調 = ( this.n現在の選択行 == 0x11 ); bmpStr = b強調 ? prvFont.DrawPrivateFont( strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( strParam, Color.White, Color.Black ); - txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, ( x + 20 ) * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 20, y, "Reset", this.n現在の選択行 == 0x10, 0.75f ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 20, y, "Reset", this.n現在の選択行 == 0x10, 0.75f ); //y += num5; - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 20, y, "<< Returnto List", this.n現在の選択行 == 0x11, 0.75f ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 20, y, "<< Returnto List", this.n現在の選択行 == 0x11, 0.75f ); //y += num5; if( this.bキー入力待ち && ( this.txHitKeyダイアログ != null ) ) { @@ -330,13 +335,13 @@ namespace DTXMania Bitmap bmpStr = b強調 ? prvFont.DrawPrivateFont( str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( str, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); - // CDTXMania.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Joypad #{1} ", line, nID ) + str, b強調, 0.75f ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); + // CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Joypad #{1} ", line, nID ) + str, b強調, 0.75f ); } private void tアサインコードの描画_Keyboard( int line, int x, int y, int nID, int nCode, bool b強調 ) { @@ -357,13 +362,13 @@ namespace DTXMania Bitmap bmpStr = b強調 ? prvFont.DrawPrivateFont( str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( str, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x, y, str, b強調, 0.75f ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x, y, str, b強調, 0.75f ); } private void tアサインコードの描画_MidiIn( int line, int x, int y, int nID, int nCode, bool b強調 ) { @@ -371,13 +376,13 @@ namespace DTXMania Bitmap bmpStr = b強調 ? prvFont.DrawPrivateFont( str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( str, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. MidiIn #{1} code.{2}", line, nID, nCode ), b強調, 0.75f ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. MidiIn #{1} code.{2}", line, nID, nCode ), b強調, 0.75f ); } private void tアサインコードの描画_Mouse( int line, int x, int y, int nID, int nCode, bool b強調 ) { @@ -385,17 +390,17 @@ namespace DTXMania Bitmap bmpStr = b強調 ? prvFont.DrawPrivateFont( str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( str, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.vc拡大縮小倍率 = new Vector3( 0.75f, 0.75f, 1f ); txStr.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Mouse Button{1}", line, nCode ), b強調, 0.75f ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Mouse Button{1}", line, nCode ), b強調, 0.75f ); } private bool tキーチェックとアサイン_Joypad() { - foreach( IInputDevice device in CDTXMania.Input管理.list入力デバイス ) + foreach( IInputDevice device in CDTXMania.app.Input管理.list入力デバイス ) { if( device.e入力デバイス種別 == E入力デバイス種別.Joystick ) { @@ -403,11 +408,11 @@ namespace DTXMania { if( device.bキーが押された( i ) ) { - CDTXMania.Skin.sound決定音.t再生する(); - CDTXMania.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.ジョイパッド, device.ID, i ); - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.ジョイパッド; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = device.ID; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; + CDTXMania.app.Skin.sound決定音.t再生する(); + CDTXMania.app.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.ジョイパッド, device.ID, i ); + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.ジョイパッド; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = device.ID; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; return true; } } @@ -425,13 +430,13 @@ namespace DTXMania i != (int)SlimDX.DirectInput.Key.LeftArrow && i != (int)SlimDX.DirectInput.Key.RightArrow && i != (int)SlimDX.DirectInput.Key.Delete && - CDTXMania.Input管理.Keyboard.bキーが押された( i ) ) + CDTXMania.app.Input管理.Keyboard.bキーが押された( i ) ) { - CDTXMania.Skin.sound決定音.t再生する(); - CDTXMania.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.キーボード, 0, i ); - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.キーボード; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; + CDTXMania.app.Skin.sound決定音.t再生する(); + CDTXMania.app.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.キーボード, 0, i ); + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.キーボード; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; return true; } } @@ -439,7 +444,7 @@ namespace DTXMania } private bool tキーチェックとアサイン_MidiIn() { - foreach( IInputDevice device in CDTXMania.Input管理.list入力デバイス ) + foreach( IInputDevice device in CDTXMania.app.Input管理.list入力デバイス ) { if( device.e入力デバイス種別 == E入力デバイス種別.MidiIn ) { @@ -447,11 +452,11 @@ namespace DTXMania { if( device.bキーが押された( i ) ) { - CDTXMania.Skin.sound決定音.t再生する(); - CDTXMania.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.MIDI入力, device.ID, i ); - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.MIDI入力; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = device.ID; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; + CDTXMania.app.Skin.sound決定音.t再生する(); + CDTXMania.app.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.MIDI入力, device.ID, i ); + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.MIDI入力; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = device.ID; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; return true; } } @@ -463,12 +468,12 @@ namespace DTXMania { for( int i = 0; i < 8; i++ ) { - if( CDTXMania.Input管理.Mouse.bキーが押された( i ) ) + if( CDTXMania.app.Input管理.Mouse.bキーが押された( i ) ) { - CDTXMania.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.マウス, 0, i ); - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.マウス; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; - CDTXMania.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; + CDTXMania.app.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.マウス, 0, i ); + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].入力デバイス = E入力デバイス.マウス; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = 0; + CDTXMania.app.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].コード = i; } } return false; diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs index 9c7c0c3d..57c9b556 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs @@ -11,6 +11,11 @@ namespace DTXMania { internal class CActConfigList : CActivity { + public CActConfigList() + { + } + + // プロパティ public bool bIsKeyAssignSelected // #24525 2011.3.15 yyagi @@ -81,7 +86,7 @@ namespace DTXMania "Reload song data." ); this.list項目リスト.Add( this.iSystemReloadDTX ); - this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, + this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eDark, "HALF: 背景、レーン、ゲージが表示されなくなります。\n" + "FULL: さらに小節線、拍線、判定ライン、パッドも表示されなくなります。", "OFF: all display parts are shown.\n" + @@ -90,7 +95,7 @@ namespace DTXMania new string[] { "OFF", "HALF", "FULL" } ); this.list項目リスト.Add( this.iCommonDark ); - this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky, + this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.app.ConfigIni.nRisky, "Riskyモードの設定:\n" + "1以上の値にすると、その回数分のPoor/MissでFAILEDとなります。\n" + "0にすると無効になり、DamageLevelに従ったゲージ増減となります。\n" + @@ -101,7 +106,7 @@ namespace DTXMania "Set 0 to disable Risky mode." ); this.list項目リスト.Add( this.iSystemRisky ); - int nDGmode = ( CDTXMania.ConfigIni.bGuitar有効 ? 2 : 0 ) + ( CDTXMania.ConfigIni.bDrums有効 ? 1 : 0 ) - 1; + int nDGmode = ( CDTXMania.app.ConfigIni.bGuitar有効 ? 2 : 0 ) + ( CDTXMania.app.ConfigIni.bDrums有効 ? 1 : 0 ) - 1; this.iSystemGRmode = new CItemList( "Drums & GR ", CItemBase.Eパネル種別.通常, nDGmode, "使用楽器の選択:\n" + "DrOnly: ドラムのみ有効にします。\n" + @@ -113,7 +118,7 @@ namespace DTXMania new string[] { "DrOnly", "GROnly", "Both" } ); this.list項目リスト.Add( this.iSystemGRmode ); - this.iCommonPlaySpeed = new CItemInteger( "PlaySpeed", 5, 40, CDTXMania.ConfigIni.n演奏速度, + this.iCommonPlaySpeed = new CItemInteger( "PlaySpeed", 5, 40, CDTXMania.app.ConfigIni.n演奏速度, "曲の演奏速度を、速くしたり遅くしたりすることができます。\n" + "(※一部のサウンドカードでは正しく再生できない可能性があります。)\n" + "\n" + @@ -124,7 +129,7 @@ namespace DTXMania "Note: It also changes the songs' pitch. In case TimeStretch=ON and slower than x0.900, some sound lag occurs." ); this.list項目リスト.Add( this.iCommonPlaySpeed ); - this.iSystemTimeStretch = new CItemToggle( "TimeStretch", CDTXMania.ConfigIni.bTimeStretch, + this.iSystemTimeStretch = new CItemToggle( "TimeStretch", CDTXMania.app.ConfigIni.bTimeStretch, "演奏速度の変更方式:\n" + "ONにすると、演奏速度の変更を、周波数変更ではなくタイムストレッチで行います。\n" + "\n" + @@ -136,25 +141,25 @@ namespace DTXMania "TimeStretch uses more CPU power. And some sound lag occurs if PlaySpeed is slower than x0.900." ); this.list項目リスト.Add( this.iSystemTimeStretch ); - this.iSystemFullscreen = new CItemToggle( "Fullscreen", CDTXMania.ConfigIni.b全画面モード, + this.iSystemFullscreen = new CItemToggle( "Fullscreen", CDTXMania.app.ConfigIni.b全画面モード, "画面モード設定:\n" + "ON で全画面モード、OFF でウィンドウモードになります。", "Fullscreen mode or window mode." ); this.list項目リスト.Add( this.iSystemFullscreen ); - this.iSystemStageFailed = new CItemToggle( "StageFailed", CDTXMania.ConfigIni.bSTAGEFAILED有効, + this.iSystemStageFailed = new CItemToggle( "StageFailed", CDTXMania.app.ConfigIni.bSTAGEFAILED有効, "STAGE FAILED 有効:\n" + "ON にすると、ゲージがなくなった時に STAGE FAILED となり演奏が中断されます。\n" + "OFF の場合は、ゲージがなくなっても最後まで演奏できます。", "Turn OFF if you don't want to encount GAME OVER." ); this.list項目リスト.Add( this.iSystemStageFailed ); - this.iSystemRandomFromSubBox = new CItemToggle( "RandSubBox", CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする, + this.iSystemRandomFromSubBox = new CItemToggle( "RandSubBox", CDTXMania.app.ConfigIni.bランダムセレクトで子BOXを検索対象とする, "子BOXをRANDOMの対象とする:\n" + "ON にすると、RANDOM SELECT 時に子BOXも選択対象とします。", "Turn ON to use child BOX (subfolders) at RANDOM SELECT." ); this.list項目リスト.Add( this.iSystemRandomFromSubBox ); - this.iSystemAdjustWaves = new CItemToggle( "AdjustWaves", CDTXMania.ConfigIni.bWave再生位置自動調整機能有効, + this.iSystemAdjustWaves = new CItemToggle( "AdjustWaves", CDTXMania.app.ConfigIni.bWave再生位置自動調整機能有効, "サウンド再生位置自動補正:\n" + "ハードウェアやOSに起因するサウンドのずれを強制的に補正します。\n" + "BGM のように再生時間の長い音声データが使用されている曲で効果があります。" + @@ -169,7 +174,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemAdjustWaves ); - this.iSystemVSyncWait = new CItemToggle( "VSyncWait", CDTXMania.ConfigIni.b垂直帰線待ちを行う, + this.iSystemVSyncWait = new CItemToggle( "VSyncWait", CDTXMania.app.ConfigIni.b垂直帰線待ちを行う, "垂直帰線同期:\n" + "画面の描画をディスプレイの垂直帰線中に行なう場合には ON を指定します。\n" + "ON にすると、ガタつきのない滑らかな画面描画が実現されます。", @@ -177,47 +182,47 @@ namespace DTXMania "\n" + "If you have enough CPU/GPU power, the scroll would become smooth." ); this.list項目リスト.Add( this.iSystemVSyncWait ); - this.iSystemAVI = new CItemToggle( "AVI", CDTXMania.ConfigIni.bAVI有効, + this.iSystemAVI = new CItemToggle( "AVI", CDTXMania.app.ConfigIni.bAVI有効, "AVIの使用:\n" + "演奏中に動画(AVI)を再生する場合にON にします。\n" + "AVI の再生には、それなりのマシンパワーが必要とされます。", "To use AVI playback or not." ); this.list項目リスト.Add( this.iSystemAVI ); - this.iSystemForceAVIFullscreen = new CItemToggle( "FullAVI", CDTXMania.ConfigIni.bForceAVIFullscreen, + this.iSystemForceAVIFullscreen = new CItemToggle( "FullAVI", CDTXMania.app.ConfigIni.bForceAVIFullscreen, "旧AVIの全画面表示:\n" + "旧仕様の動画(AVI)の表示を、強制的に全画面化します。\n" + "BGAと併用している場合は、表示がおかしくなります。", "Forcely show the legacy-spec AVI to fullscreen.\n" + "If the data contains both AVI and BGA, the screen will corrupt." ); this.list項目リスト.Add( this.iSystemForceAVIFullscreen ); - this.iSystemBGA = new CItemToggle( "BGA", CDTXMania.ConfigIni.bBGA有効, + this.iSystemBGA = new CItemToggle( "BGA", CDTXMania.app.ConfigIni.bBGA有効, "BGAの使用:\n" + "演奏中に画像(BGA)を表示する場合にON にします。\n" + "BGA の再生には、それなりのマシンパワーが必要とされます。", "To draw BGA (back ground animations) or not." ); this.list項目リスト.Add( this.iSystemBGA ); - this.iSystemPreviewSoundWait = new CItemInteger( "PreSoundWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms, + this.iSystemPreviewSoundWait = new CItemInteger( "PreSoundWait", 0, 0x2710, CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms, "プレビュー音演奏までの時間:\n" + "曲にカーソルが合わされてからプレビュー音が鳴り始めるまでの時間を指定します。\n" + "0 ~ 10000 [ms] が指定可能です。", "Delay time(ms) to start playing preview sound in SELECT MUSIC screen.\n" + "You can specify from 0ms to 10000ms." ); this.list項目リスト.Add( this.iSystemPreviewSoundWait ); - this.iSystemPreviewImageWait = new CItemInteger( "PreImageWait", 0, 0x2710, CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms, + this.iSystemPreviewImageWait = new CItemInteger( "PreImageWait", 0, 0x2710, CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms, "プレビュー画像表示までの時間:\n" + "曲にカーソルが合わされてからプレビュー画像が表示されるまでの時間を指定します。\n" + "0 ~ 10000 [ms] が指定可能です。", "Delay time(ms) to show preview image in SELECT MUSIC screen.\n" + "You can specify from 0ms to 10000ms." ); this.list項目リスト.Add( this.iSystemPreviewImageWait ); - this.iSystemDebugInfo = new CItemToggle( "Debug Info", CDTXMania.ConfigIni.b演奏情報を表示する, + this.iSystemDebugInfo = new CItemToggle( "Debug Info", CDTXMania.app.ConfigIni.b演奏情報を表示する, "演奏情報の表示:\n" + "演奏中、BGA領域の下部に演奏情報(FPS、BPM、演奏時間など)を表示します。\n" + "また、小節線の横に小節番号が表示されるようになります。", "To show song informations on playing BGA area. (FPS, BPM, total time etc)\n" + "You can ON/OFF the indications by pushing [Del] while playing drums, guitar or bass." ); this.list項目リスト.Add( this.iSystemDebugInfo ); - this.iSystemBGAlpha = new CItemInteger( "BG Alpha", 0, 0xff, CDTXMania.ConfigIni.n背景の透過度, + this.iSystemBGAlpha = new CItemInteger( "BG Alpha", 0, 0xff, CDTXMania.app.ConfigIni.n背景の透過度, "背景画像の透明割合:\n" + "背景画像をDTXManiaのフレーム画像と合成する際の、背景画像の透明度を指定します。\n" + "0 が完全不透明で、255 が完全透明となります。", @@ -225,17 +230,17 @@ namespace DTXMania "\n" + "0=no transparent, 255=completely transparency." ); this.list項目リスト.Add( this.iSystemBGAlpha ); - this.iSystemBGMSound = new CItemToggle( "BGM Sound", CDTXMania.ConfigIni.bBGM音を発声する, + this.iSystemBGMSound = new CItemToggle( "BGM Sound", CDTXMania.app.ConfigIni.bBGM音を発声する, "BGMの再生:\n" + "これをOFFにすると、BGM を再生しなくなります。", "Turn OFF if you don't want to play BGM." ); this.list項目リスト.Add( this.iSystemBGMSound ); - this.iSystemAudienceSound = new CItemToggle( "Audience", CDTXMania.ConfigIni.b歓声を発声する, + this.iSystemAudienceSound = new CItemToggle( "Audience", CDTXMania.app.ConfigIni.b歓声を発声する, "歓声の再生:\n" + "これをOFFにすると、歓声を再生しなくなります。", "Turn ON if you want to be cheered at the end of fill-in zone." ); this.list項目リスト.Add( this.iSystemAudienceSound ); - this.iSystemDamageLevel = new CItemList( "DamageLevel", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eダメージレベル, + this.iSystemDamageLevel = new CItemList( "DamageLevel", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eダメージレベル, "ゲージ減少割合:\n" + "Miss ヒット時のゲージの減少度合いを指定します。\n" + "Riskyが1以上の場合は無効となります。", @@ -243,7 +248,7 @@ namespace DTXMania "This setting is ignored when Risky >= 1.", new string[] { "Small", "Normal", "Large" } ); this.list項目リスト.Add( this.iSystemDamageLevel ); - this.iSystemSaveScore = new CItemToggle( "SaveScore", CDTXMania.ConfigIni.bScoreIniを出力する, + this.iSystemSaveScore = new CItemToggle( "SaveScore", CDTXMania.app.ConfigIni.bScoreIniを出力する, "演奏記録の保存:\n" + "これを ON にすると、演奏記録を ~.score.ini ファイルに保存します。", "To save high-scores/skills, turn it ON.\n" + @@ -253,21 +258,21 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemSaveScore ); - this.iSystemChipVolume = new CItemInteger( "ChipVolume", 0, 100, CDTXMania.ConfigIni.n手動再生音量, + this.iSystemChipVolume = new CItemInteger( "ChipVolume", 0, 100, CDTXMania.app.ConfigIni.n手動再生音量, "打音の音量:\n" + "入力に反応して再生されるチップの音量を指定します。\n" + "0 ~ 100 % の値が指定可能です。", "The volumes for chips you hit.\n" + "You can specify from 0 to 100%." ); this.list項目リスト.Add( this.iSystemChipVolume ); - this.iSystemAutoChipVolume = new CItemInteger( "AutoVolume", 0, 100, CDTXMania.ConfigIni.n自動再生音量, + this.iSystemAutoChipVolume = new CItemInteger( "AutoVolume", 0, 100, CDTXMania.app.ConfigIni.n自動再生音量, "自動再生音の音量:\n" + "自動的に再生されるチップの音量を指定します。\n" + "0 ~ 100 % の値が指定可能です。", "The volumes for AUTO chips.\n" + "You can specify from 0 to 100%." ); this.list項目リスト.Add( this.iSystemAutoChipVolume ); - this.iSystemStoicMode = new CItemToggle( "StoicMode", CDTXMania.ConfigIni.bストイックモード, + this.iSystemStoicMode = new CItemToggle( "StoicMode", CDTXMania.app.ConfigIni.bストイックモード, "ストイック(禁欲)モード:\n" + "以下をまとめて表示ON/OFFします。\n" + "・プレビュー画像/動画\n" + @@ -284,7 +289,7 @@ namespace DTXMania " * BGA / AVI (in playing screen)\n" + " * Graph bar" ); this.list項目リスト.Add( this.iSystemStoicMode ); - this.iSystemShowLag = new CItemList( "ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.ConfigIni.nShowLagType, + this.iSystemShowLag = new CItemList( "ShowLagTime", CItemBase.Eパネル種別.通常, CDTXMania.app.ConfigIni.nShowLagType, "ズレ時間表示:\n" + "ジャストタイミングからのズレ時間(ms)を表示します。\n" + " OFF: ズレ時間を表示しません。\n" + @@ -296,7 +301,7 @@ namespace DTXMania " GREAT-: Show it except you've gotten PERFECT.", new string[] { "OFF", "ON", "GREAT-" } ); this.list項目リスト.Add( this.iSystemShowLag ); - this.iSystemAutoResultCapture = new CItemToggle( "Autosaveresult", CDTXMania.ConfigIni.bIsAutoResultCapture, + this.iSystemAutoResultCapture = new CItemToggle( "Autosaveresult", CDTXMania.app.ConfigIni.bIsAutoResultCapture, "リザルト画像自動保存機能:\n" + "ONにすると、ハイスコア/ハイスキル時に、自動的にリザルト画像を曲データと同じフォルダに保存します。", "AutoSaveResult:\n" + @@ -304,7 +309,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemAutoResultCapture ); - this.iSystemJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度, + this.iSystemJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定表示優先度, "判定文字列とコンボ表示の優先順位を指定します。\n" + "\n" + " Under: チップの下に表示します。\n" + @@ -316,7 +321,7 @@ namespace DTXMania new string[] { "Under", "Over" } ); this.list項目リスト.Add( this.iSystemJudgeDispPriority ); - this.iSystemBufferedInput = new CItemToggle( "BufferedInput", CDTXMania.ConfigIni.bバッファ入力を行う, + this.iSystemBufferedInput = new CItemToggle( "BufferedInput", CDTXMania.app.ConfigIni.bバッファ入力を行う, "バッファ入力モード:\n" + "ON にすると、FPS を超える入力解像度を実現します。\n" + "OFF にすると、入力解像度は FPS に等しくなります。", @@ -326,7 +331,7 @@ namespace DTXMania "OFF to use realtime input. It may causes lost/lags for input.\n" + "Moreover, input frequency is synchronized with FPS." ); this.list項目リスト.Add( this.iSystemBufferedInput ); - this.iLogOutputLog = new CItemToggle( "TraceLog", CDTXMania.ConfigIni.bログ出力, + this.iLogOutputLog = new CItemToggle( "TraceLog", CDTXMania.app.ConfigIni.bログ出力, "Traceログ出力:\n" + "DTXManiaLog.txt にログを出力します。\n" + "この設定の変更は、DTXMania の再起動後に有効となります。", @@ -334,7 +339,7 @@ namespace DTXMania "To take it effective, you need to re-open DTXMania." ); this.list項目リスト.Add( this.iLogOutputLog ); - this.iSystemLoadsoundspeed = new CItemToggle( "LoadSoundSpeed", CDTXMania.ConfigIni.b曲読み込みを高速化する, + this.iSystemLoadsoundspeed = new CItemToggle( "LoadSoundSpeed", CDTXMania.app.ConfigIni.b曲読み込みを高速化する, "曲読み込みを高速化する:\n" + "ON にすると、曲読み込み画面での1フレームあたりの\nチップ音読み込み数を増やします。\n高速になりますが、応答停止の時間が増加しやすくなります。\n" + "OFF にすると、低速ですが応答停止の時間が\n減少しやすくなります。\n\n", @@ -345,7 +350,7 @@ namespace DTXMania #region [ WASAPI / ASIO ] // #24820 2013.1.3 yyagi - this.iSystemSoundType = new CItemList( "SoundType", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nSoundDeviceType, + this.iSystemSoundType = new CItemList( "SoundType", CItemList.Eパネル種別.通常, CDTXMania.app.ConfigIni.nSoundDeviceType, "サウンドの出力方式:\n" + "WASAPI, ASIO, DSound(DirectSound)の中からサウンド出力方式を選択します。\n" + "WASAPIはVista以降でのみ使用可能です。ASIOはXPでも使用可能ですが、対応機器でのみ使用できます。\n" + @@ -364,7 +369,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemSoundType ); // #24820 2013.1.15 yyagi - this.iSystemWASAPIBufferSizeMs = new CItemInteger( "WASAPI BufferSize", 0, 99999, CDTXMania.ConfigIni.nWASAPIBufferSizeMs, + this.iSystemWASAPIBufferSizeMs = new CItemInteger( "WASAPI BufferSize", 0, 99999, CDTXMania.app.ConfigIni.nWASAPIBufferSizeMs, "WASAPI使用時のバッファサイズ:\n" + "\n" + // "0~99999ms を指定可能です。\n" + @@ -387,7 +392,7 @@ namespace DTXMania // #24820 2013.1.17 yyagi string[] asiodevs = CEnumerateAllAsioDevices.GetAllASIODevices(); - this.iSystemASIODevice = new CItemList( "ASIO device", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nASIODevice, + this.iSystemASIODevice = new CItemList( "ASIO device", CItemList.Eパネル種別.通常, CDTXMania.app.ConfigIni.nASIODevice, "ASIOデバイス:\n" + "ASIO使用時のサウンドデバイスを選択します。\n" + "\n" + @@ -400,7 +405,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemASIODevice ); // #24820 2013.1.3 yyagi - //this.iSystemASIOBufferSizeMs = new CItemInteger("ASIOBuffSize", 0, 99999, CDTXMania.ConfigIni.nASIOBufferSizeMs, + //this.iSystemASIOBufferSizeMs = new CItemInteger("ASIOBuffSize", 0, 99999, CDTXMania.app.ConfigIni.nASIOBufferSizeMs, // "ASIO使用時のバッファサイズ:\n" + // "0~99999ms を指定可能です。\n" + // "推奨値は0で、サウンドデバイスでの\n" + @@ -426,7 +431,7 @@ namespace DTXMania //this.list項目リスト.Add( this.iSystemASIOBufferSizeMs ); // #33689 2014.6.17 yyagi - this.iSystemSoundTimerType = new CItemToggle( "UseOSTimer", CDTXMania.ConfigIni.bUseOSTimer, + this.iSystemSoundTimerType = new CItemToggle( "UseOSTimer", CDTXMania.app.ConfigIni.bUseOSTimer, "OSタイマーを使用するかどうか:\n" + "演奏タイマーとして、DTXMania独自のタイマーを使うか、OS標準のタイマーを使うかを選択します。\n" + "OS標準タイマーを使うとスクロールが滑らかになりますが、演奏で音ズレが発生することがあります。(そのためAdjustWavesの効果が適用されます。)\n" + @@ -443,7 +448,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemSoundTimerType ); #endregion // #33700 2013.1.3 yyagi - this.iSystemMasterVolume = new CItemInteger( "MasterVolume", 0, 100, CDTXMania.ConfigIni.nMasterVolume, + this.iSystemMasterVolume = new CItemInteger( "MasterVolume", 0, 100, CDTXMania.app.ConfigIni.nMasterVolume, "マスターボリュームの設定:\n" + "全体の音量を設定します。\n" + "0が無音で、100が最大値です。\n" + @@ -464,7 +469,7 @@ namespace DTXMania "Change skin.", skinNames ); this.list項目リスト.Add( this.iSystemSkinSubfolder ); - this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.ConfigIni.bUseBoxDefSkin, + this.iSystemUseBoxDefSkin = new CItemToggle( "Skin (Box)", CDTXMania.app.ConfigIni.bUseBoxDefSkin, "Music boxスキンの利用:\n" + "特別なスキンが設定されたMusic boxに出入りしたときに、自動でスキンを切り替えるかどうかを設定します。\n", //"\n" + @@ -505,51 +510,51 @@ namespace DTXMania "You can change whether Auto or not for all drums lanes at once." ); this.list項目リスト.Add( this.iDrumsAutoPlayAll ); - this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.ConfigIni.bAutoPlay.LC, + this.iDrumsLeftCymbal = new CItemToggle( " LeftCymbal", CDTXMania.app.ConfigIni.bAutoPlay.LC, "左シンバルを自動で演奏します。", "To play LeftCymbal automatically." ); this.list項目リスト.Add( this.iDrumsLeftCymbal ); - this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.ConfigIni.bAutoPlay.HH, + this.iDrumsHiHat = new CItemToggle( " HiHat", CDTXMania.app.ConfigIni.bAutoPlay.HH, "ハイハットを自動で演奏します。\n" + "(クローズ、オープンとも)", "To play HiHat automatically.\n" + "(It effects to both HH-close and HH-open)" ); this.list項目リスト.Add( this.iDrumsHiHat ); - this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.ConfigIni.bAutoPlay.SD, + this.iDrumsSnare = new CItemToggle( " Snare", CDTXMania.app.ConfigIni.bAutoPlay.SD, "スネアを自動で演奏します。", "To play Snare automatically." ); this.list項目リスト.Add( this.iDrumsSnare ); - this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.ConfigIni.bAutoPlay.BD, + this.iDrumsBass = new CItemToggle( " BassDrum", CDTXMania.app.ConfigIni.bAutoPlay.BD, "バスドラムを自動で演奏します。", "To play Bass Drum automatically." ); this.list項目リスト.Add( this.iDrumsBass ); - this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.ConfigIni.bAutoPlay.HT, + this.iDrumsHighTom = new CItemToggle( " HighTom", CDTXMania.app.ConfigIni.bAutoPlay.HT, "ハイタムを自動で演奏します。", "To play High Tom automatically." ); this.list項目リスト.Add( this.iDrumsHighTom ); - this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.ConfigIni.bAutoPlay.LT, + this.iDrumsLowTom = new CItemToggle( " LowTom", CDTXMania.app.ConfigIni.bAutoPlay.LT, "ロータムを自動で演奏します。", "To play Low Tom automatically." ); this.list項目リスト.Add( this.iDrumsLowTom ); - this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.ConfigIni.bAutoPlay.FT, + this.iDrumsFloorTom = new CItemToggle( " FloorTom", CDTXMania.app.ConfigIni.bAutoPlay.FT, "フロアタムを自動で演奏します。", "To play Floor Tom automatically." ); this.list項目リスト.Add( this.iDrumsFloorTom ); - this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.ConfigIni.bAutoPlay.CY, + this.iDrumsCymbalRide = new CItemToggle( " Cym/Ride", CDTXMania.app.ConfigIni.bAutoPlay.CY, "右シンバルとライドシンバルを自動で演奏します。", "To play both right- and Ride-Cymbal automatically." ); this.list項目リスト.Add( this.iDrumsCymbalRide ); #endregion - this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Drums, + this.iDrumsScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums, "演奏時のドラム譜面のスクロールの速度を指定します。\n" + "x0.5 ~ x1000.0 を指定可能です。", "To change the scroll speed for the drums lanes.\n" + @@ -590,7 +595,7 @@ namespace DTXMania new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } ); this.list項目リスト.Add( this.iDrumsSudHid ); #endregion - //this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Drums, + //this.iDrumsSudden = new CItemToggle( "Sudden", CDTXMania.app.ConfigIni.bSudden.Drums, // "ドラムチップが譜面の下の方から表\n" + // "示されるようになります。", // "Drums chips are disappered until they\n" + @@ -598,14 +603,14 @@ namespace DTXMania // "appears." ); //this.list項目リスト.Add( this.iDrumsSudden ); - //this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Drums, + //this.iDrumsHidden = new CItemToggle( "Hidden", CDTXMania.app.ConfigIni.bHidden.Drums, // "ドラムチップが譜面の下の方で表示\n" + // "されなくなります。", // "Drums chips are hidden by approaching\n" + // "to the hit bar. " ); //this.list項目リスト.Add( this.iDrumsHidden ); - //this.iDrumsInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Drums, + //this.iDrumsInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eInvisible.Drums, // "ドラムチップの透明化\n" + // "OFF: チップを常に表示します。\n" + // "SEMI: 通常はチップを透明にしますが、\n" + @@ -620,7 +625,7 @@ namespace DTXMania // new string[] { "OFF", "SEMI", "FULL" } ); //this.list項目リスト.Add( this.iDrumsInvisible ); - //this.iDrumsLanePosition = new CItemList( "LanePosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eドラムレーン表示位置, + //this.iDrumsLanePosition = new CItemList( "LanePosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eドラムレーン表示位置, // "ドラムのレーン表示位置を設定します。\n" + // "LEFT(左側), またはCENTER(中央)を設定できます。", // "Choose drums lane position.\n" + @@ -628,7 +633,7 @@ namespace DTXMania // new string[] { "LEFT", "CENTER" } ); //this.list項目リスト.Add( this.iDrumsLanePosition ); - this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, + this.iCommonDark = new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eDark, "HALF: 背景、レーン、ゲージが表示されなくなります。\n" + "FULL: さらに小節線、拍線、判定ライン、パッドも表示されなくなります。", "OFF: all display parts are shown.\n" + @@ -638,12 +643,12 @@ namespace DTXMania this.list項目リスト.Add( this.iCommonDark ); - this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Drums, + this.iDrumsReverse = new CItemToggle( "Reverse", CDTXMania.app.ConfigIni.bReverse.Drums, "ドラムチップが譜面の下から上に流れるようになります。", "The scroll way is reversed. Drums chips flow from the bottom to the top." ); this.list項目リスト.Add( this.iDrumsReverse ); - this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky, + this.iSystemRisky = new CItemInteger( "Risky", 0, 10, CDTXMania.app.ConfigIni.nRisky, "Riskyモードの設定:\n" + "1以上の値にすると、その回数分のPoor/MissでFAILEDとなります。\n" + "0にすると無効になり、DamageLevelに従ったゲージ増減となります。\n" + @@ -654,7 +659,7 @@ namespace DTXMania "Set 0 to disable Risky mode." ); this.list項目リスト.Add( this.iSystemRisky ); - this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.ConfigIni.bTight, + this.iDrumsTight = new CItemToggle( "Tight", CDTXMania.app.ConfigIni.bTight, "ドラムチップのないところでパッドを叩くとミスになります。", "It becomes MISS to hit pad without chip." ); this.list項目リスト.Add( this.iDrumsTight ); @@ -662,7 +667,7 @@ namespace DTXMania #region [ Position ] #region [ DrumsLanePosition ] - this.iDrumsLanePosition = new CItemList( "LanePosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eドラムレーン表示位置, + this.iDrumsLanePosition = new CItemList( "LanePosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eドラムレーン表示位置, "ドラムレーンの位置を指定します。\n" + "\n" + "Left: 画面の左側にドラムレーンを表示します。\n" + @@ -676,7 +681,7 @@ namespace DTXMania this.list項目リスト.Add( this.iDrumsLanePosition ); #endregion #region [ ComboPosition ] - this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.ドラムコンボ文字の表示位置, + this.iDrumsComboPosition = new CItemList( "ComboPosition", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.ドラムコンボ文字の表示位置, "演奏時のドラムコンボ文字列の位置を指定します。", "The display position for Drums Combo.", //"Note that it doesn't take effect at Autoplay ([Left] is forcely used).", @@ -684,7 +689,7 @@ namespace DTXMania this.list項目リスト.Add( this.iDrumsComboPosition ); #endregion #region [ Position ] - this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Drums, + this.iDrumsPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.判定文字表示位置.Drums, "ドラムの判定文字の表示位置を指定\n" + "します。\n" + " P-A: レーン上\n" + @@ -700,7 +705,7 @@ namespace DTXMania this.list項目リスト.Add( this.iDrumsPosition ); #endregion - //this.iDrumsJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Drums, + //this.iDrumsJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定表示優先度.Drums, // "判定文字列とコンボ表示の優先順位を\n" + // "指定します。\n" + // "\n" + @@ -716,7 +721,7 @@ namespace DTXMania #endregion #region [ Group ] - this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHHGroup, + this.iSystemHHGroup = new CItemList( "HH Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eHHGroup, "ハイハットレーン打ち分け設定:\n" + "左シンバル、ハイハットオープン、ハイハットクローズの打ち分け方法を指定します。\n" + " HH-0 ... LC | HHC | HHO\n" + @@ -739,7 +744,7 @@ namespace DTXMania new string[] { "HH-0", "HH-1", "HH-2", "HH-3" } ); this.list項目リスト.Add( this.iSystemHHGroup ); - this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eFTGroup, + this.iSystemFTGroup = new CItemList( "FT Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eFTGroup, "フロアタム打ち分け設定:\n" + "ロータムとフロアタムの打ち分け方法を指定します。\n" + " FT-0 ... LT | FT\n" + @@ -751,7 +756,7 @@ namespace DTXMania new string[] { "FT-0", "FT-1" } ); this.list項目リスト.Add( this.iSystemFTGroup ); - this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eCYGroup, + this.iSystemCYGroup = new CItemList( "CY Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eCYGroup, "シンバルレーン打ち分け設定:\n" + "右シンバルとライドシンバルの打ち分け方法を指定します。\n" + " CY-0 ... CY | RD\n" + @@ -763,7 +768,7 @@ namespace DTXMania new string[] { "CY-0", "CY-1" } ); this.list項目リスト.Add( this.iSystemCYGroup ); - this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eBDGroup, // #27029 2012.1.4 from + this.iSystemBDGroup = new CItemList( "BD Group", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eBDGroup, // #27029 2012.1.4 from "バス数設定:\n" + "ハイハットペダルをバスとして利用する方法を指定します。\n" + " BD-0 ... HP | BD\n" + @@ -782,7 +787,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemBDGroup ); #endregion - this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.ConfigIni.bシンバルフリー, + this.iSystemCymbalFree = new CItemToggle( "CymbalFree", CDTXMania.app.ConfigIni.bシンバルフリー, "シンバルフリーモード:\n" + "左シンバル・右シンバルの区別をなくします。ライドシンバルまで区別をなくすか否かは、CYGroup に従います。\n", "Turn ON to group LC (left cymbal) and CY (right cymbal).\n" + @@ -790,7 +795,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemCymbalFree ); #region [ SoundPriority ] - this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityHH, + this.iSystemHitSoundPriorityHH = new CItemList( "HH Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eHitSoundPriorityHH, "発声音決定の優先順位:\n" + "ハイハットレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" + " C > P ... チップの音が優先\n" + @@ -808,7 +813,7 @@ namespace DTXMania new string[] { "C>P", "P>C" } ); this.list項目リスト.Add( this.iSystemHitSoundPriorityHH ); - this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityFT, + this.iSystemHitSoundPriorityFT = new CItemList( "FT Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eHitSoundPriorityFT, "発声音決定の優先順位:\n" + "フロアタム打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" + " C > P ... チップの音が優先\n" + @@ -822,7 +827,7 @@ namespace DTXMania new string[] { "C>P", "P>C" } ); this.list項目リスト.Add( this.iSystemHitSoundPriorityFT ); - this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eHitSoundPriorityCY, + this.iSystemHitSoundPriorityCY = new CItemList( "CY Priority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eHitSoundPriorityCY, "発声音決定の優先順位:\n" + "シンバルレーン打ち分け有効時に、チップの発声音をどのように決定するかを指定します。\n" + " C > P ... チップの音が優先\n" + @@ -837,14 +842,14 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemHitSoundPriorityCY ); #endregion - this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.ConfigIni.bフィルイン有効, + this.iSystemFillIn = new CItemToggle( "FillIn", CDTXMania.app.ConfigIni.bフィルイン有効, "フィルインエフェクトの使用:\n" + "フィルイン区間の爆発パターンに特別のエフェクトを使用します。\n" + "フィルインエフェクトの描画にはそれなりのマシンパワーが必要とされます。", "To show bursting effects at the fill-in zone." ); this.list項目リスト.Add( this.iSystemFillIn ); - this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.ConfigIni.bドラム打音を発声する, + this.iSystemHitSound = new CItemToggle( "HitSound", CDTXMania.app.ConfigIni.bドラム打音を発声する, "打撃音の再生:\n" + "これをOFFにすると、パッドを叩いたときの音を再生しなくなります(ドラムのみ)。\n" + "電子ドラム本来の音色で演奏したい場合などにOFF にします。\n" + @@ -856,14 +861,14 @@ namespace DTXMania "Warning: You should not use BD Group BD-1 with HitSound OFF.\n" ); this.list項目リスト.Add( this.iSystemHitSound ); - this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Drums, + this.iSystemSoundMonitorDrums = new CItemToggle( "DrumsMonitor", CDTXMania.app.ConfigIni.b演奏音を強調する.Drums, "ドラム音モニタ:\n" + "ドラム音を他の音より大きめの音量で発声します。\n" + "ただし、オートプレイの場合は通常音量で発声されます。", "To enhance the drums chip sound (except autoplay)." ); this.list項目リスト.Add( this.iSystemSoundMonitorDrums ); - this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums, + this.iSystemMinComboDrums = new CItemInteger( "D-MinCombo", 1, 0x1869f, CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Drums, "表示可能な最小コンボ数(ドラム):\n" + "画面に表示されるコンボの最小の数を指定します。\n" + "1 ~ 99999 の値が指定可能です。", @@ -873,7 +878,7 @@ namespace DTXMania // #23580 2011.1.3 yyagi - this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums, + this.iDrumsInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Drums, "ドラムの入力タイミングの微調整を行います。\n" + "-99 ~ 99ms まで指定可能です。\n" + "入力ラグを軽減するためには、負の値を指定してください。", @@ -883,7 +888,7 @@ namespace DTXMania this.list項目リスト.Add( this.iDrumsInputAdjustTimeMs ); // #24074 2011.01.23 add ikanick - this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.ConfigIni.bGraph.Drums, + this.iDrumsGraph = new CItemToggle( "Graph", CDTXMania.app.ConfigIni.bGraph.Drums, "最高スキルと比較できるグラフを表示します。\n" + "オートプレイだと表示されません。", "To draw Graph or not." ); @@ -917,28 +922,28 @@ namespace DTXMania "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。", "You can change whether Auto or not for all guitar neck/pick at once." ); this.list項目リスト.Add( this.iGuitarAutoPlayAll ); - this.iGuitarR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.GtR, + this.iGuitarR = new CItemToggle( " R", CDTXMania.app.ConfigIni.bAutoPlay.GtR, "Rネックを自動で演奏します。", "To play R neck automatically." ); this.list項目リスト.Add( this.iGuitarR ); - this.iGuitarG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.GtG, + this.iGuitarG = new CItemToggle( " G", CDTXMania.app.ConfigIni.bAutoPlay.GtG, "Gネックを自動で演奏します。", "To play G neck automatically." ); this.list項目リスト.Add( this.iGuitarG ); - this.iGuitarB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.GtB, + this.iGuitarB = new CItemToggle( " B", CDTXMania.app.ConfigIni.bAutoPlay.GtB, "Bネックを自動で演奏します。", "To play B neck automatically." ); this.list項目リスト.Add( this.iGuitarB ); - this.iGuitarPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.GtPick, + this.iGuitarPick = new CItemToggle( " Pick", CDTXMania.app.ConfigIni.bAutoPlay.GtPick, "ピックを自動で演奏します。", "To play Pick automatically." ); this.list項目リスト.Add( this.iGuitarPick ); - this.iGuitarW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.GtW, + this.iGuitarW = new CItemToggle( " Wailing", CDTXMania.app.ConfigIni.bAutoPlay.GtW, "ウェイリングを自動で演奏します。", "To play wailing automatically." ); this.list項目リスト.Add( this.iGuitarW ); #endregion - this.iGuitarScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Guitar, + this.iGuitarScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.app.ConfigIni.n譜面スクロール速度.Guitar, "演奏時のギター譜面のスクロールの速度を指定します。\n" + "x0.5 ~ x1000.0 までを指定可能です。", "To change the scroll speed for the guitar lanes.\n" + @@ -978,16 +983,16 @@ namespace DTXMania new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } ); this.list項目リスト.Add( this.iGuitarSudHid ); - //this.iGuitarSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Guitar, + //this.iGuitarSudden = new CItemToggle( "Sudden", CDTXMania.app.ConfigIni.bSudden.Guitar, // "ギターチップがヒットバー付近にくる\nまで表示されなくなります。", // "Guitar chips are disappered until they\ncome near the hit bar, and suddenly\nappears." ); //this.list項目リスト.Add( this.iGuitarSudden ); - //this.iGuitarHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Guitar, + //this.iGuitarHidden = new CItemToggle( "Hidden", CDTXMania.app.ConfigIni.bHidden.Guitar, // "ギターチップがヒットバー付近で表示\nされなくなります。", // "Guitar chips are hidden by approaching\nto the hit bar. " ); //this.list項目リスト.Add( this.iGuitarHidden ); - //this.iGuitarInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Guitar, + //this.iGuitarInvisible = new CItemList( "Invisible", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eInvisible.Guitar, // "ギターのチップを全く表示しなくなりま\n" + // "す。暗譜での練習にお使いください。\n" + // "これをONにすると、SuddenとHiddenの\n" + @@ -997,12 +1002,12 @@ namespace DTXMania // new string[] { "OFF", "HALF", "ON" } ); //this.list項目リスト.Add( this.iGuitarInvisible ); - this.iGuitarReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Guitar, + this.iGuitarReverse = new CItemToggle( "Reverse", CDTXMania.app.ConfigIni.bReverse.Guitar, "ギターチップが譜面の上から下に流れるようになります。", "The scroll way is reversed. Guitar chips flow from the top to the bottom." ); this.list項目リスト.Add( this.iGuitarReverse ); - this.iSystemJudgePosGuitar = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Guitar, + this.iSystemJudgePosGuitar = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定位置.Guitar, "判定ライン表示位置:\n" + "判定ラインとRGBボタンが、少し下側に表示されるようになります。", "Judge Line position:\n" + @@ -1010,7 +1015,7 @@ namespace DTXMania new string[] { "Normal", "Lower" } ); this.list項目リスト.Add( this.iSystemJudgePosGuitar ); - this.iGuitarPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.判定文字表示位置.Guitar, + this.iGuitarPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.判定文字表示位置.Guitar, "ギターの判定文字の表示位置を指定します。\n" + " P-A: レーン上\n" + " P-B: 判定ラインの上\n" + @@ -1026,7 +1031,7 @@ namespace DTXMania new string[] { "OFF", "P-A", "P-B", "P-C" } ); this.list項目リスト.Add( this.iGuitarPosition ); - //this.iGuitarJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Guitar, + //this.iGuitarJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定表示優先度.Guitar, // "判定文字列とコンボ表示の優先順位を\n" + // "指定します。\n" + // "\n" + @@ -1040,7 +1045,7 @@ namespace DTXMania // new string[] { "Under", "Over" } ); //this.list項目リスト.Add( this.iGuitarJudgeDispPriority ); - this.iGuitarRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eRandom.Guitar, + this.iGuitarRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eRandom.Guitar, "ギターのチップがランダムに降ってきます。\n" + " Part: 小節・レーン単位で交換\n" + " Super: チップ単位で交換\n" + @@ -1052,22 +1057,22 @@ namespace DTXMania " Hyper: swapping randomly (number of lanes also changes)", new string[] { "OFF", "Part", "Super", "Hyper" } ); this.list項目リスト.Add( this.iGuitarRandom ); - this.iGuitarLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Guitar, + this.iGuitarLight = new CItemToggle( "Light", CDTXMania.app.ConfigIni.bLight.Guitar, "ギターチップのないところでピッキングしても BAD になりません。", "Even if you pick without any chips, it doesn't become BAD." ); this.list項目リスト.Add( this.iGuitarLight ); - this.iGuitarLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Guitar, + this.iGuitarLeft = new CItemToggle( "Left", CDTXMania.app.ConfigIni.bLeft.Guitar, "ギターの RGB の並びが左右反転します。(左利きモード)", "Lane order 'R-G-B' becomes 'B-G-R' for lefty." ); this.list項目リスト.Add( this.iGuitarLeft ); - this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Guitar, + this.iSystemSoundMonitorGuitar = new CItemToggle( "GuitarMonitor", CDTXMania.app.ConfigIni.b演奏音を強調する.Guitar, "ギター音モニタ:\n" + "ギター音を他の音より大きめの音量で発声します。\n" + "ただし、オートプレイの場合は通常音量で発声されます。", "To enhance the guitar chip sound (except autoplay)." ); this.list項目リスト.Add( this.iSystemSoundMonitorGuitar ); - this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar, + this.iSystemMinComboGuitar = new CItemInteger( "G-MinCombo", 1, 0x1869f, CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Guitar, "表示可能な最小コンボ数(ギター):\n" + "画面に表示されるコンボの最小の数を指定します。\n" + "1 ~ 99999 の値が指定可能です。", @@ -1077,7 +1082,7 @@ namespace DTXMania // #23580 2011.1.3 yyagi - this.iGuitarInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar, + this.iGuitarInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Guitar, "ギターの入力タイミングの微調整を行います。\n" + "-99 ~ 99ms まで指定可能です。\n" + "入力ラグを軽減するためには、負の値を指定してください。", @@ -1114,29 +1119,29 @@ namespace DTXMania "全ネック/ピックの自動演奏の ON/OFF をまとめて切り替えます。", "You can change whether Auto or not for all bass neck/pick at once." ); this.list項目リスト.Add( this.iBassAutoPlayAll ); - this.iBassR = new CItemToggle( " R", CDTXMania.ConfigIni.bAutoPlay.BsR, + this.iBassR = new CItemToggle( " R", CDTXMania.app.ConfigIni.bAutoPlay.BsR, "Rネックを自動で演奏します。", "To play R neck automatically." ); this.list項目リスト.Add( this.iBassR ); - this.iBassG = new CItemToggle( " G", CDTXMania.ConfigIni.bAutoPlay.BsG, + this.iBassG = new CItemToggle( " G", CDTXMania.app.ConfigIni.bAutoPlay.BsG, "Gネックを自動で演奏します。", "To play G neck automatically." ); this.list項目リスト.Add( this.iBassG ); - this.iBassB = new CItemToggle( " B", CDTXMania.ConfigIni.bAutoPlay.BsB, + this.iBassB = new CItemToggle( " B", CDTXMania.app.ConfigIni.bAutoPlay.BsB, "Bネックを自動で演奏します。", "To play B neck automatically." ); this.list項目リスト.Add( this.iBassB ); - this.iBassPick = new CItemToggle( " Pick", CDTXMania.ConfigIni.bAutoPlay.BsPick, + this.iBassPick = new CItemToggle( " Pick", CDTXMania.app.ConfigIni.bAutoPlay.BsPick, "ピックを自動で演奏します。", "To play Pick automatically." ); this.list項目リスト.Add( this.iBassPick ); - this.iBassW = new CItemToggle( " Wailing", CDTXMania.ConfigIni.bAutoPlay.BsW, + this.iBassW = new CItemToggle( " Wailing", CDTXMania.app.ConfigIni.bAutoPlay.BsW, "ウェイリングを自動で演奏します。", "To play wailing automatically." ); this.list項目リスト.Add( this.iBassW ); #endregion - this.iBassScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.ConfigIni.n譜面スクロール速度.Bass, + this.iBassScrollSpeed = new CItemInteger( "ScrollSpeed", 0, 0x7cf, CDTXMania.app.ConfigIni.n譜面スクロール速度.Bass, "演奏時のベース譜面のスクロールの速度を指定します。\n" + "x0.5 ~ x1000.0 までを指定可能です。", "To change the scroll speed for the bass lanes.\n" + @@ -1176,16 +1181,16 @@ namespace DTXMania new string[] { "OFF", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } ); this.list項目リスト.Add( this.iBassSudHid ); - //this.iBassSudden = new CItemToggle( "Sudden", CDTXMania.ConfigIni.bSudden.Bass, + //this.iBassSudden = new CItemToggle( "Sudden", CDTXMania.app.ConfigIni.bSudden.Bass, // "ベースチップがヒットバー付近にくる\nまで表示されなくなります。", // "Bass chips are disappered until they\ncome near the hit bar, and suddenly\nappears." ); //this.list項目リスト.Add( this.iBassSudden ); - //this.iBassHidden = new CItemToggle( "Hidden", CDTXMania.ConfigIni.bHidden.Bass, + //this.iBassHidden = new CItemToggle( "Hidden", CDTXMania.app.ConfigIni.bHidden.Bass, // "ベースチップがヒットバー付近で表示\nされなくなります。", // "Bass chips are hidden by approaching\nto the hit bar." ); //this.list項目リスト.Add( this.iBassHidden ); - //this.iBassInvisible = new CItemList( "InvisibleBlindfold", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eInvisible.Bass, + //this.iBassInvisible = new CItemList( "InvisibleBlindfold", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eInvisible.Bass, // "ベースのチップを全く表示しなくなりま\n" + // "す。暗譜での練習にお使いください。\n" + // "これをONにすると、SuddenとHiddenの\n" + @@ -1195,12 +1200,12 @@ namespace DTXMania // new string[] { "OFF", "HALF", "ON"} ); //this.list項目リスト.Add( this.iBassInvisible ); - this.iBassReverse = new CItemToggle( "Reverse", CDTXMania.ConfigIni.bReverse.Bass, + this.iBassReverse = new CItemToggle( "Reverse", CDTXMania.app.ConfigIni.bReverse.Bass, "ベースチップが譜面の上から下に流れるようになります。", "The scroll way is reversed. Bass chips flow from the top to the bottom." ); this.list項目リスト.Add( this.iBassReverse ); - this.iSystemJudgePosBass = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定位置.Bass, + this.iSystemJudgePosBass = new CItemList( "JudgePos", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定位置.Bass, "判定ライン表示位置:\n" + "判定ラインとRGBボタンが、少し下側に表示されるようになります。", "Judge Line position:\n" + @@ -1209,7 +1214,7 @@ namespace DTXMania this.list項目リスト.Add( this.iSystemJudgePosBass ); this.iBassPosition = new CItemList( "Position", CItemBase.Eパネル種別.通常, - (int) CDTXMania.ConfigIni.判定文字表示位置.Bass, + (int) CDTXMania.app.ConfigIni.判定文字表示位置.Bass, "ベースの判定文字の表示位置を指定します。\n" + " P-A: レーン上\n" + " P-B: 判定ラインの上\n" + @@ -1225,7 +1230,7 @@ namespace DTXMania new string[] { "OFF", "P-A", "P-B", "P-C" } ); this.list項目リスト.Add( this.iBassPosition ); - //this.iBassJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.e判定表示優先度.Bass, + //this.iBassJudgeDispPriority = new CItemList( "JudgePriority", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.e判定表示優先度.Bass, //"判定文字列とコンボ表示の優先順位を\n" + //"指定します。\n" + //"\n" + @@ -1240,7 +1245,7 @@ namespace DTXMania //this.list項目リスト.Add( this.iBassJudgeDispPriority ); this.iBassRandom = new CItemList( "Random", CItemBase.Eパネル種別.通常, - (int) CDTXMania.ConfigIni.eRandom.Bass, + (int) CDTXMania.app.ConfigIni.eRandom.Bass, "ベースのチップがランダムに降ってきます。\n" + " Part: 小節・レーン単位で交換\n" + " Super: チップ単位で交換\n" + @@ -1252,23 +1257,23 @@ namespace DTXMania " Hyper: swapping randomly (number of lanes also changes)", new string[] { "OFF", "Part", "Super", "Hyper" } ); this.list項目リスト.Add( this.iBassRandom ); - this.iBassLight = new CItemToggle( "Light", CDTXMania.ConfigIni.bLight.Bass, + this.iBassLight = new CItemToggle( "Light", CDTXMania.app.ConfigIni.bLight.Bass, "ベースチップのないところでピッキングしても BAD になりません。", "Even if you pick without any chips, it doesn't become BAD." ); this.list項目リスト.Add( this.iBassLight ); - this.iBassLeft = new CItemToggle( "Left", CDTXMania.ConfigIni.bLeft.Bass, + this.iBassLeft = new CItemToggle( "Left", CDTXMania.app.ConfigIni.bLeft.Bass, "ベースの RGB の並びが左右反転します。(左利きモード)", "Lane order 'R-G-B' becomes 'B-G-R' for lefty." ); this.list項目リスト.Add( this.iBassLeft ); - this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.ConfigIni.b演奏音を強調する.Bass, + this.iSystemSoundMonitorBass = new CItemToggle( "BassMonitor", CDTXMania.app.ConfigIni.b演奏音を強調する.Bass, "ベース音モニタ:\n" + "ベース音を他の音より大きめの音量で発声します。\n" + "ただし、オートプレイの場合は通常音量で発声されます。", "To enhance the bass chip sound (except autoplay)." ); this.list項目リスト.Add( this.iSystemSoundMonitorBass ); - this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass, + this.iSystemMinComboBass = new CItemInteger( "B-MinCombo", 1, 0x1869f, CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Bass, "表示可能な最小コンボ数(ベース):\n" + "画面に表示されるコンボの最小の数を指定します。\n" + "1 ~ 99999 の値が指定可能です。", @@ -1278,7 +1283,7 @@ namespace DTXMania // #23580 2011.1.3 yyagi - this.iBassInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass, + this.iBassInputAdjustTimeMs = new CItemInteger( "InputAdjust", -99, 99, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Bass, "ベースの入力タイミングの微調整を行います。\n" + "-99 ~ 99ms まで指定可能です。\n" + "入力ラグを軽減するためには、負の値を指定してください。", @@ -1312,14 +1317,14 @@ namespace DTXMania { int defvar; int nInst = (int) eInst; - if ( CDTXMania.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF ) + if ( CDTXMania.app.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF ) { - defvar = (int) CDTXMania.ConfigIni.eInvisible[ nInst ] + 3; + defvar = (int) CDTXMania.app.ConfigIni.eInvisible[ nInst ] + 3; } else { - defvar = ( CDTXMania.ConfigIni.bSudden[ nInst ] ? 1 : 0 ) + - ( CDTXMania.ConfigIni.bHidden[ nInst ] ? 2 : 0 ); + defvar = ( CDTXMania.app.ConfigIni.bSudden[ nInst ] ? 1 : 0 ) + + ( CDTXMania.app.ConfigIni.bHidden[ nInst ] ? 2 : 0 ); } return defvar; } @@ -1354,7 +1359,7 @@ namespace DTXMania } public void tEnter押下() { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); if( this.b要素値にフォーカス中 ) { this.b要素値にフォーカス中 = false; @@ -1371,107 +1376,107 @@ namespace DTXMania #region [ 個々のキーアサイン ] else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC ); + CDTXMania.app.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC ); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHC ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HH ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HH); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHO ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HHO ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HHO); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsSD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.SD ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.SD); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsBD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.BD ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.BD); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HT ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HT); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LT ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LT); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsFT ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.FT ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.FT); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsCY ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.CY ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.CY); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsRD ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RD ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RD); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHP ) // #27029 2012.1.4 from { // - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HP ); // + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.HP); // } // else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarR ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.R ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.R); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarG ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.G ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.G); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarB ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.B ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.B); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarPick ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Pick ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Pick); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarWail ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Wail ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Wail); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarDecide ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Decide ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Decide); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarCancel ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassR ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.R ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.R); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassG ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.G ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.G); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassB ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.B ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.B); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassPick ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Pick ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Pick); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassWail ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Wail ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Wail); } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassDecide ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Decide ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Decide); } else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Cancel ); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.BASS, EKeyConfigPad.Cancel); } else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemCapture ) { - CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture); + CDTXMania.app.stageコンフィグ.tパッド選択通知(EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture); } #endregion else @@ -1497,7 +1502,7 @@ namespace DTXMania } else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemVSyncWait ) { - CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON; + CDTXMania.app.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON; CDTXMania.app.b次のタイミングで垂直帰線同期切り替えを行う = true; } #region [ AutoPlay #23886 2012.5.8 yyagi ] @@ -1554,7 +1559,7 @@ namespace DTXMania if( this.iSystemBDGroup.n現在選択されている項目番号 == (int) EBDGroup.どっちもBD ) { // #27029 2012.1.5 from: 変更前の状態をバックアップする。 - CDTXMania.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() { + CDTXMania.app.ConfigIni.BackupOf1BD = new CConfigIni.CBackupOf1BD() { eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号, eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号, }; @@ -1572,10 +1577,10 @@ namespace DTXMania else { // #27029 2012.1.5 from: 変更前の状態に戻す。 - this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHHGroup; - this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.ConfigIni.BackupOf1BD.eHitSoundPriorityHH; + this.iSystemHHGroup.n現在選択されている項目番号 = (int) CDTXMania.app.ConfigIni.BackupOf1BD.eHHGroup; + this.iSystemHitSoundPriorityHH.n現在選択されている項目番号 = (int) CDTXMania.app.ConfigIni.BackupOf1BD.eHitSoundPriorityHH; - CDTXMania.ConfigIni.BackupOf1BD = null; + CDTXMania.app.ConfigIni.BackupOf1BD = null; } } #endregion @@ -1592,17 +1597,17 @@ namespace DTXMania #region [ 曲データ一覧の再読み込み ] else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemReloadDTX ) // #32081 2013.10.21 yyagi { - if ( CDTXMania.EnumSongs.IsEnumerating ) + if ( CDTXMania.app.EnumSongs.IsEnumerating ) { // Debug.WriteLine( "バックグラウンドでEnumeratingSongs中だったので、一旦中断します。" ); - CDTXMania.EnumSongs.Abort(); - CDTXMania.actEnumSongs.On非活性化(); + CDTXMania.app.EnumSongs.Abort(); + CDTXMania.app.actEnumSongs.On非活性化(); } - CDTXMania.EnumSongs.StartEnumFromDisk(); - CDTXMania.EnumSongs.ChangeEnumeratePriority( ThreadPriority.Normal ); - CDTXMania.actEnumSongs.bコマンドでの曲データ取得 = true; - CDTXMania.actEnumSongs.On活性化(); + CDTXMania.app.EnumSongs.StartEnumFromDisk(); + CDTXMania.app.EnumSongs.ChangeEnumeratePriority( ThreadPriority.Normal ); + CDTXMania.app.actEnumSongs.bコマンドでの曲データ取得 = true; + CDTXMania.app.actEnumSongs.On活性化(); } #endregion } @@ -1623,9 +1628,9 @@ namespace DTXMania 0, 0, bmSrc.Width, bmSrc.Height, GraphicsUnit.Pixel ); if ( txSkinSample1 != null ) { - CDTXMania.t安全にDisposeする( ref txSkinSample1 ); + TextureFactory.t安全にDisposeする( ref txSkinSample1 ); } - txSkinSample1 = CDTXMania.tテクスチャの生成( bmDest, false ); + txSkinSample1 = TextureFactory.tテクスチャの生成( bmDest, false ); g.Dispose(); bmDest.Dispose(); bmSrc.Dispose(); @@ -1861,7 +1866,7 @@ namespace DTXMania #endregion public void t次に移動() { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); if( this.b要素値にフォーカス中 ) { this.list項目リスト[ this.n現在の選択項目 ].t項目値を前へ移動(); @@ -1874,7 +1879,7 @@ namespace DTXMania } public void t前に移動() { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); if( this.b要素値にフォーカス中 ) { this.list項目リスト[ this.n現在の選択項目 ].t項目値を次へ移動(); @@ -1889,7 +1894,7 @@ namespace DTXMania { if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemMasterVolume ) // #33700 2014.4.26 yyagi { - CDTXMania.Sound管理.nMasterVolume = this.iSystemMasterVolume.n現在の値; + CDTXMania.app.Sound管理.nMasterVolume = this.iSystemMasterVolume.n現在の値; } } @@ -1905,18 +1910,18 @@ namespace DTXMania this.eメニュー種別 = Eメニュー種別.Unknown; #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ] - int ns = ( CDTXMania.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strSystemSkinSubfolders.Length; - int nb = ( CDTXMania.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.Skin.strBoxDefSkinSubfolders.Length; + int ns = ( CDTXMania.app.Skin.strSystemSkinSubfolders == null ) ? 0 : CDTXMania.app.Skin.strSystemSkinSubfolders.Length; + int nb = ( CDTXMania.app.Skin.strBoxDefSkinSubfolders == null ) ? 0 : CDTXMania.app.Skin.strBoxDefSkinSubfolders.Length; skinSubFolders = new string[ ns + nb ]; for ( int i = 0; i < ns; i++ ) { - skinSubFolders[ i ] = CDTXMania.Skin.strSystemSkinSubfolders[ i ]; + skinSubFolders[ i ] = CDTXMania.app.Skin.strSystemSkinSubfolders[ i ]; } for ( int i = 0; i < nb; i++ ) { - skinSubFolders[ ns + i ] = CDTXMania.Skin.strBoxDefSkinSubfolders[ i ]; + skinSubFolders[ ns + i ] = CDTXMania.app.Skin.strBoxDefSkinSubfolders[ i ]; } - skinSubFolder_org = CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ); + skinSubFolder_org = CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( true ); Array.Sort( skinSubFolders ); skinNames = CSkin.GetSkinName( skinSubFolders ); nSkinIndex = Array.BinarySearch( skinSubFolders, skinSubFolder_org ); @@ -1962,9 +1967,9 @@ namespace DTXMania base.On非活性化(); #region [ Skin変更 ] - if ( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org ) + if ( CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( true ) != this.skinSubFolder_org ) { - CDTXMania.stageChangeSkin.tChangeSkinMain(); // #28195 2012.6.11 yyagi CONFIG脱出時にSkin更新 + CDTXMania.app.stageChangeSkin.tChangeSkinMain(); // #28195 2012.6.11 yyagi CONFIG脱出時にSkin更新 } #endregion @@ -1994,7 +1999,7 @@ namespace DTXMania break; } - CDTXMania.Sound管理.t初期化( soundDeviceType, + CDTXMania.app.Sound管理.t初期化( soundDeviceType, this.iSystemWASAPIBufferSizeMs.n現在の値, 0, // this.iSystemASIOBufferSizeMs.n現在の値, @@ -2012,9 +2017,9 @@ namespace DTXMania if( this.b活性化してない ) return; - this.tx通常項目行パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false ); - this.txその他項目行パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false ); - this.tx三角矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false ); + this.tx通常項目行パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox.png" ), false ); + this.txその他項目行パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig itembox other.png" ), false ); + this.tx三角矢印 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig triangle arrow.png" ), false ); this.txSkinSample1 = null; // スキン選択時に動的に設定するため、ここでは初期化しない base.OnManagedリソースの作成(); } @@ -2023,10 +2028,10 @@ namespace DTXMania if( this.b活性化してない ) return; - CDTXMania.tテクスチャの解放( ref this.txSkinSample1 ); - CDTXMania.tテクスチャの解放( ref this.tx通常項目行パネル ); - CDTXMania.tテクスチャの解放( ref this.txその他項目行パネル ); - CDTXMania.tテクスチャの解放( ref this.tx三角矢印 ); + TextureFactory.tテクスチャの解放( ref this.txSkinSample1 ); + TextureFactory.tテクスチャの解放( ref this.tx通常項目行パネル ); + TextureFactory.tテクスチャの解放( ref this.txその他項目行パネル ); + TextureFactory.tテクスチャの解放( ref this.tx三角矢印 ); base.OnManagedリソースの解放(); } @@ -2074,7 +2079,7 @@ namespace DTXMania if( base.b初めての進行描画 ) { this.nスクロール用タイマ値 = CSound管理.rc演奏用タイマ.n現在時刻; - this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.Timer ); + this.ct三角矢印アニメ.t開始( 0, 9, 50, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } @@ -2085,7 +2090,7 @@ namespace DTXMania #region [ 項目スクロールの進行 ] //----------------- - long n現在時刻 = CDTXMania.Timer.n現在時刻; + long n現在時刻 = CDTXMania.app.Timer.n現在時刻; if( n現在時刻 < this.nスクロール用タイマ値 ) this.nスクロール用タイマ値 = n現在時刻; const int INTERVAL = 2; // [ms] @@ -2145,7 +2150,7 @@ namespace DTXMania this.n目標のスクロールカウンタ -= 100; if( this.n目標のスクロールカウンタ == 0 ) { - CDTXMania.stageコンフィグ.t項目変更通知(); + CDTXMania.app.stageコンフィグ.t項目変更通知(); } } else if( this.n現在のスクロールカウンタ <= -100 ) @@ -2155,7 +2160,7 @@ namespace DTXMania this.n目標のスクロールカウンタ += 100; if( this.n目標のスクロールカウンタ == 0 ) { - CDTXMania.stageコンフィグ.t項目変更通知(); + CDTXMania.app.stageコンフィグ.t項目変更通知(); } } //----------------- @@ -2227,12 +2232,12 @@ namespace DTXMania else { Bitmap bmpItem = prvFont.DrawPrivateFont( this.list項目リスト[ nItem ].str項目名, Color.White, Color.Black ); - listMenu[ nItem ].txMenuItemRight = CDTXMania.tテクスチャの生成( bmpItem ); + listMenu[ nItem ].txMenuItemRight = TextureFactory.tテクスチャの生成( bmpItem ); // ctItem.t2D描画( CDTXMania.app.Device, ( x + 0x12 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 ); - // CDTXMania.tテクスチャの解放( ref ctItem ); - CDTXMania.t安全にDisposeする( ref bmpItem ); + // TextureFactory.tテクスチャの解放( ref ctItem ); + TextureFactory.t安全にDisposeする( ref bmpItem ); } - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 0x12, y + 12, this.list項目リスト[ nItem ].str項目名 ); //----------------- #endregion #region [ 現在の行の項目の要素を描画。] @@ -2244,7 +2249,7 @@ namespace DTXMania case CItemBase.E種別.ONorOFFトグル: #region [ *** ] //----------------- - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF" ); strParam = ( (CItemToggle) this.list項目リスト[ nItem ] ).bON ? "ON" : "OFF"; break; //----------------- @@ -2267,7 +2272,7 @@ namespace DTXMania strParam = "OFF"; break; } - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, "ON" ); break; //----------------- #endregion @@ -2278,18 +2283,18 @@ namespace DTXMania if ( this.list項目リスト[ nItem ] == this.iCommonPlaySpeed ) { double d = ( (double) ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 ) / 20.0; - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); strParam = d.ToString( "0.000" ); } else if ( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed || this.list項目リスト[ nItem ] == this.iGuitarScrollSpeed || this.list項目リスト[ nItem ] == this.iBassScrollSpeed ) { float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f; - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); strParam = f.ToString( "x0.0" ); } else { - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); strParam = ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(); } b強調 = ( n行番号 == 0 ) && this.b要素値にフォーカス中; @@ -2302,7 +2307,7 @@ namespace DTXMania //----------------- { CItemList list = (CItemList) this.list項目リスト[ nItem ]; - //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] ); + //CDTXMania.app.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, list.list項目値[ list.n現在選択されている項目番号 ] ); strParam = list.list項目値[ list.n現在選択されている項目番号 ]; #region [ 必要な場合に、Skinのサンプルを生成・描画する。#28195 2012.5.2 yyagi ] @@ -2325,10 +2330,10 @@ namespace DTXMania Bitmap bmpStr = b強調 ? prvFont.DrawPrivateFont( strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( strParam, Color.White, Color.Black ); - CTexture txStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture txStr = TextureFactory.tテクスチャの生成( bmpStr, false ); txStr.t2D描画( CDTXMania.app.Device, ( x + 210 ) * Scale.X, ( y + 12 ) * Scale.Y - 20 ); - CDTXMania.tテクスチャの解放( ref txStr ); - CDTXMania.t安全にDisposeする( ref bmpStr ); + TextureFactory.tテクスチャの解放( ref txStr ); + TextureFactory.t安全にDisposeする( ref bmpStr ); } else { @@ -2342,8 +2347,8 @@ namespace DTXMania Bitmap bmpStr = prvFont.DrawPrivateFont( strParam, Color.White, Color.Black ); - stm.txParam = CDTXMania.tテクスチャの生成( bmpStr, false ); - CDTXMania.t安全にDisposeする( ref bmpStr ); + stm.txParam = TextureFactory.tテクスチャの生成( bmpStr, false ); + TextureFactory.t安全にDisposeする( ref bmpStr ); listMenu[ nItem ] = stm; } @@ -2685,162 +2690,162 @@ namespace DTXMania } private void tConfigIniへ記録する_System() { - CDTXMania.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号; - CDTXMania.ConfigIni.n演奏速度 = this.iCommonPlaySpeed.n現在の値; + CDTXMania.app.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.n演奏速度 = this.iCommonPlaySpeed.n現在の値; - CDTXMania.ConfigIni.bGuitar有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) / 2 ) == 1 ); + CDTXMania.app.ConfigIni.bGuitar有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) / 2 ) == 1 ); //this.iSystemGuitar.bON; - CDTXMania.ConfigIni.bDrums有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) % 2 ) == 1 ); + CDTXMania.app.ConfigIni.bDrums有効 = ( ( ( this.iSystemGRmode.n現在選択されている項目番号 + 1 ) % 2 ) == 1 ); //this.iSystemDrums.bON; - CDTXMania.ConfigIni.b全画面モード = this.iSystemFullscreen.bON; - CDTXMania.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON; - CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON; - - CDTXMania.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON; - CDTXMania.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON; - CDTXMania.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON; - CDTXMania.ConfigIni.bAVI有効 = this.iSystemAVI.bON; - CDTXMania.ConfigIni.bForceAVIFullscreen = this.iSystemForceAVIFullscreen.bON; - CDTXMania.ConfigIni.bBGA有効 = this.iSystemBGA.bON; -// CDTXMania.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行 - CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値; - CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値; - CDTXMania.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON; - CDTXMania.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値; - CDTXMania.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON; - CDTXMania.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON; - CDTXMania.ConfigIni.eダメージレベル = (Eダメージレベル) this.iSystemDamageLevel.n現在選択されている項目番号; - CDTXMania.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON; - - CDTXMania.ConfigIni.bログ出力 = this.iLogOutputLog.bON; - CDTXMania.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値; - CDTXMania.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値; - CDTXMania.ConfigIni.bストイックモード = this.iSystemStoicMode.bON; - - CDTXMania.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi - CDTXMania.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi - - CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi - - CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi - CDTXMania.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, true ); - CDTXMania.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi - - CDTXMania.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi - CDTXMania.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi -// CDTXMania.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi - CDTXMania.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi - CDTXMania.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi - - CDTXMania.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi + CDTXMania.app.ConfigIni.b全画面モード = this.iSystemFullscreen.bON; + CDTXMania.app.ConfigIni.bSTAGEFAILED有効 = this.iSystemStageFailed.bON; + CDTXMania.app.ConfigIni.bランダムセレクトで子BOXを検索対象とする = this.iSystemRandomFromSubBox.bON; + + CDTXMania.app.ConfigIni.bWave再生位置自動調整機能有効 = this.iSystemAdjustWaves.bON; + CDTXMania.app.ConfigIni.b垂直帰線待ちを行う = this.iSystemVSyncWait.bON; + CDTXMania.app.ConfigIni.bバッファ入力を行う = this.iSystemBufferedInput.bON; + CDTXMania.app.ConfigIni.bAVI有効 = this.iSystemAVI.bON; + CDTXMania.app.ConfigIni.bForceAVIFullscreen = this.iSystemForceAVIFullscreen.bON; + CDTXMania.app.ConfigIni.bBGA有効 = this.iSystemBGA.bON; +// CDTXMania.app.ConfigIni.bGraph有効 = this.iSystemGraph.bON;#24074 2011.01.23 comment-out ikanick オプション(Drums)へ移行 + CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = this.iSystemPreviewSoundWait.n現在の値; + CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = this.iSystemPreviewImageWait.n現在の値; + CDTXMania.app.ConfigIni.b演奏情報を表示する = this.iSystemDebugInfo.bON; + CDTXMania.app.ConfigIni.n背景の透過度 = this.iSystemBGAlpha.n現在の値; + CDTXMania.app.ConfigIni.bBGM音を発声する = this.iSystemBGMSound.bON; + CDTXMania.app.ConfigIni.b歓声を発声する = this.iSystemAudienceSound.bON; + CDTXMania.app.ConfigIni.eダメージレベル = (Eダメージレベル) this.iSystemDamageLevel.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bScoreIniを出力する = this.iSystemSaveScore.bON; + + CDTXMania.app.ConfigIni.bログ出力 = this.iLogOutputLog.bON; + CDTXMania.app.ConfigIni.n手動再生音量 = this.iSystemChipVolume.n現在の値; + CDTXMania.app.ConfigIni.n自動再生音量 = this.iSystemAutoChipVolume.n現在の値; + CDTXMania.app.ConfigIni.bストイックモード = this.iSystemStoicMode.bON; + + CDTXMania.app.ConfigIni.nShowLagType = this.iSystemShowLag.n現在選択されている項目番号; // #25370 2011.6.3 yyagi + CDTXMania.app.ConfigIni.bIsAutoResultCapture = this.iSystemAutoResultCapture.bON; // #25399 2011.6.9 yyagi + + CDTXMania.app.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2011.7.27 yyagi + + CDTXMania.app.ConfigIni.strSystemSkinSubfolderFullName = skinSubFolders[ nSkinIndex ]; // #28195 2012.5.2 yyagi + CDTXMania.app.Skin.SetCurrentSkinSubfolderFullName( CDTXMania.app.ConfigIni.strSystemSkinSubfolderFullName, true ); + CDTXMania.app.ConfigIni.bUseBoxDefSkin = this.iSystemUseBoxDefSkin.bON; // #28195 2012.5.6 yyagi + + CDTXMania.app.ConfigIni.nSoundDeviceType = this.iSystemSoundType.n現在選択されている項目番号; // #24820 2013.1.3 yyagi + CDTXMania.app.ConfigIni.nWASAPIBufferSizeMs = this.iSystemWASAPIBufferSizeMs.n現在の値; // #24820 2013.1.15 yyagi +// CDTXMania.app.ConfigIni.nASIOBufferSizeMs = this.iSystemASIOBufferSizeMs.n現在の値; // #24820 2013.1.3 yyagi + CDTXMania.app.ConfigIni.nASIODevice = this.iSystemASIODevice.n現在選択されている項目番号; // #24820 2013.1.17 yyagi + CDTXMania.app.ConfigIni.bUseOSTimer = this.iSystemSoundTimerType.bON; // #33689 2014.6.17 yyagi + + CDTXMania.app.ConfigIni.bTimeStretch = this.iSystemTimeStretch.bON; // #23664 2013.2.24 yyagi //Trace.TraceInformation( "saved" ); -//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true) ); +//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(true) ); //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); - CDTXMania.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi - CDTXMania.ConfigIni.e判定表示優先度 = (E判定表示優先度) this.iSystemJudgeDispPriority.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi + CDTXMania.app.ConfigIni.e判定表示優先度 = (E判定表示優先度) this.iSystemJudgeDispPriority.n現在選択されている項目番号; - CDTXMania.ConfigIni.b曲読み込みを高速化する = this.iSystemLoadsoundspeed.bON;// #36046 2016.2.21 ikanick + CDTXMania.app.ConfigIni.b曲読み込みを高速化する = this.iSystemLoadsoundspeed.bON;// #36046 2016.2.21 ikanick } private void tConfigIniへ記録する_Bass() { - //CDTXMania.ConfigIni.bAutoPlay.Bass = this.iBassAutoPlay.bON; - CDTXMania.ConfigIni.bAutoPlay.BsR = this.iBassR.bON; - CDTXMania.ConfigIni.bAutoPlay.BsG = this.iBassG.bON; - CDTXMania.ConfigIni.bAutoPlay.BsB = this.iBassB.bON; - CDTXMania.ConfigIni.bAutoPlay.BsPick = this.iBassPick.bON; - CDTXMania.ConfigIni.bAutoPlay.BsW = this.iBassW.bON; - CDTXMania.ConfigIni.n譜面スクロール速度.Bass = this.iBassScrollSpeed.n現在の値; + //CDTXMania.app.ConfigIni.bAutoPlay.Bass = this.iBassAutoPlay.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BsR = this.iBassR.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BsG = this.iBassG.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BsB = this.iBassB.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BsPick = this.iBassPick.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BsW = this.iBassW.bON; + CDTXMania.app.ConfigIni.n譜面スクロール速度.Bass = this.iBassScrollSpeed.n現在の値; // "Sudden" || "Sud+Hid" - CDTXMania.ConfigIni.bSudden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 1 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + CDTXMania.app.ConfigIni.bSudden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 1 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false; // "Hidden" || "Sud+Hid" - CDTXMania.ConfigIni.bHidden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 2 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false; - if ( this.iBassSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.SEMI; // "S-Invisible" - else if ( this.iBassSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.FULL; // "F-Invisible" - else CDTXMania.ConfigIni.eInvisible.Bass = EInvisible.OFF; - CDTXMania.ConfigIni.bReverse.Bass = this.iBassReverse.bON; - CDTXMania.ConfigIni.判定文字表示位置.Bass = (E判定文字表示位置) this.iBassPosition.n現在選択されている項目番号; - CDTXMania.ConfigIni.eRandom.Bass = (Eランダムモード) this.iBassRandom.n現在選択されている項目番号; - CDTXMania.ConfigIni.bLight.Bass = this.iBassLight.bON; - CDTXMania.ConfigIni.bLeft.Bass = this.iBassLeft.bON; - CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi - - CDTXMania.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON; - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値; - CDTXMania.ConfigIni.e判定位置.Bass = (E判定位置) this.iSystemJudgePosBass.n現在選択されている項目番号; // #33891 2014.6.26 yyagi - //CDTXMania.ConfigIni.e判定表示優先度.Bass = (E判定表示優先度) this.iBassJudgeDispPriority.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bHidden.Bass = ( this.iBassSudHid.n現在選択されている項目番号 == 2 || this.iBassSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + if ( this.iBassSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.app.ConfigIni.eInvisible.Bass = EInvisible.SEMI; // "S-Invisible" + else if ( this.iBassSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.app.ConfigIni.eInvisible.Bass = EInvisible.FULL; // "F-Invisible" + else CDTXMania.app.ConfigIni.eInvisible.Bass = EInvisible.OFF; + CDTXMania.app.ConfigIni.bReverse.Bass = this.iBassReverse.bON; + CDTXMania.app.ConfigIni.判定文字表示位置.Bass = (E判定文字表示位置) this.iBassPosition.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eRandom.Bass = (Eランダムモード) this.iBassRandom.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bLight.Bass = this.iBassLight.bON; + CDTXMania.app.ConfigIni.bLeft.Bass = this.iBassLeft.bON; + CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Bass = this.iBassInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi + + CDTXMania.app.ConfigIni.b演奏音を強調する.Bass = this.iSystemSoundMonitorBass.bON; + CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Bass = this.iSystemMinComboBass.n現在の値; + CDTXMania.app.ConfigIni.e判定位置.Bass = (E判定位置) this.iSystemJudgePosBass.n現在選択されている項目番号; // #33891 2014.6.26 yyagi + //CDTXMania.app.ConfigIni.e判定表示優先度.Bass = (E判定表示優先度) this.iBassJudgeDispPriority.n現在選択されている項目番号; } private void tConfigIniへ記録する_Drums() { - CDTXMania.ConfigIni.bAutoPlay.LC = this.iDrumsLeftCymbal.bON; - CDTXMania.ConfigIni.bAutoPlay.HH = this.iDrumsHiHat.bON; - CDTXMania.ConfigIni.bAutoPlay.SD = this.iDrumsSnare.bON; - CDTXMania.ConfigIni.bAutoPlay.BD = this.iDrumsBass.bON; - CDTXMania.ConfigIni.bAutoPlay.HT = this.iDrumsHighTom.bON; - CDTXMania.ConfigIni.bAutoPlay.LT = this.iDrumsLowTom.bON; - CDTXMania.ConfigIni.bAutoPlay.FT = this.iDrumsFloorTom.bON; - CDTXMania.ConfigIni.bAutoPlay.CY = this.iDrumsCymbalRide.bON; - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値; - CDTXMania.ConfigIni.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) this.iDrumsComboPosition.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bAutoPlay.LC = this.iDrumsLeftCymbal.bON; + CDTXMania.app.ConfigIni.bAutoPlay.HH = this.iDrumsHiHat.bON; + CDTXMania.app.ConfigIni.bAutoPlay.SD = this.iDrumsSnare.bON; + CDTXMania.app.ConfigIni.bAutoPlay.BD = this.iDrumsBass.bON; + CDTXMania.app.ConfigIni.bAutoPlay.HT = this.iDrumsHighTom.bON; + CDTXMania.app.ConfigIni.bAutoPlay.LT = this.iDrumsLowTom.bON; + CDTXMania.app.ConfigIni.bAutoPlay.FT = this.iDrumsFloorTom.bON; + CDTXMania.app.ConfigIni.bAutoPlay.CY = this.iDrumsCymbalRide.bON; + CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値; + CDTXMania.app.ConfigIni.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) this.iDrumsComboPosition.n現在選択されている項目番号; // "Sudden" || "Sud+Hid" - CDTXMania.ConfigIni.bSudden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 1 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + CDTXMania.app.ConfigIni.bSudden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 1 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false; // "Hidden" || "Sud+Hid" - CDTXMania.ConfigIni.bHidden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 2 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false; - if ( this.iDrumsSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.SEMI; // "S-Invisible" - else if ( this.iDrumsSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.FULL; // "F-Invisible" - else CDTXMania.ConfigIni.eInvisible.Drums = EInvisible.OFF; - CDTXMania.ConfigIni.bReverse.Drums = this.iDrumsReverse.bON; - CDTXMania.ConfigIni.判定文字表示位置.Drums = (E判定文字表示位置) this.iDrumsPosition.n現在選択されている項目番号; - CDTXMania.ConfigIni.bTight = this.iDrumsTight.bON; - CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi - CDTXMania.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick - - CDTXMania.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eBDGroup = (EBDGroup) this.iSystemBDGroup.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号; - CDTXMania.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号; - CDTXMania.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON; - CDTXMania.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON; - CDTXMania.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON; - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値; - CDTXMania.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON; - - CDTXMania.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号; - CDTXMania.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi - //CDTXMania.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号; - CDTXMania.ConfigIni.eドラムレーン表示位置 = (Eドラムレーン表示位置) this.iDrumsLanePosition.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bHidden.Drums = ( this.iDrumsSudHid.n現在選択されている項目番号 == 2 || this.iDrumsSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + if ( this.iDrumsSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.app.ConfigIni.eInvisible.Drums = EInvisible.SEMI; // "S-Invisible" + else if ( this.iDrumsSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.app.ConfigIni.eInvisible.Drums = EInvisible.FULL; // "F-Invisible" + else CDTXMania.app.ConfigIni.eInvisible.Drums = EInvisible.OFF; + CDTXMania.app.ConfigIni.bReverse.Drums = this.iDrumsReverse.bON; + CDTXMania.app.ConfigIni.判定文字表示位置.Drums = (E判定文字表示位置) this.iDrumsPosition.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bTight = this.iDrumsTight.bON; + CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Drums = this.iDrumsInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi + CDTXMania.app.ConfigIni.bGraph.Drums = this.iDrumsGraph.bON;// #24074 2011.01.23 add ikanick + + CDTXMania.app.ConfigIni.eHHGroup = (EHHGroup) this.iSystemHHGroup.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eFTGroup = (EFTGroup) this.iSystemFTGroup.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eCYGroup = (ECYGroup) this.iSystemCYGroup.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eBDGroup = (EBDGroup) this.iSystemBDGroup.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityHH.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityFT.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) this.iSystemHitSoundPriorityCY.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bフィルイン有効 = this.iSystemFillIn.bON; + CDTXMania.app.ConfigIni.b演奏音を強調する.Drums = this.iSystemSoundMonitorDrums.bON; + CDTXMania.app.ConfigIni.bドラム打音を発声する = this.iSystemHitSound.bON; + CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Drums = this.iSystemMinComboDrums.n現在の値; + CDTXMania.app.ConfigIni.bシンバルフリー = this.iSystemCymbalFree.bON; + + CDTXMania.app.ConfigIni.eDark = (Eダークモード)this.iCommonDark.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.nRisky = this.iSystemRisky.n現在の値; // #23559 2911.7.27 yyagi + //CDTXMania.app.ConfigIni.e判定表示優先度.Drums = (E判定表示優先度) this.iDrumsJudgeDispPriority.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eドラムレーン表示位置 = (Eドラムレーン表示位置) this.iDrumsLanePosition.n現在選択されている項目番号; } private void tConfigIniへ記録する_Guitar() { - //CDTXMania.ConfigIni.bAutoPlay.Guitar = this.iGuitarAutoPlay.bON; - CDTXMania.ConfigIni.bAutoPlay.GtR = this.iGuitarR.bON; - CDTXMania.ConfigIni.bAutoPlay.GtG = this.iGuitarG.bON; - CDTXMania.ConfigIni.bAutoPlay.GtB = this.iGuitarB.bON; - CDTXMania.ConfigIni.bAutoPlay.GtPick = this.iGuitarPick.bON; - CDTXMania.ConfigIni.bAutoPlay.GtW = this.iGuitarW.bON; - CDTXMania.ConfigIni.n譜面スクロール速度.Guitar = this.iGuitarScrollSpeed.n現在の値; + //CDTXMania.app.ConfigIni.bAutoPlay.Guitar = this.iGuitarAutoPlay.bON; + CDTXMania.app.ConfigIni.bAutoPlay.GtR = this.iGuitarR.bON; + CDTXMania.app.ConfigIni.bAutoPlay.GtG = this.iGuitarG.bON; + CDTXMania.app.ConfigIni.bAutoPlay.GtB = this.iGuitarB.bON; + CDTXMania.app.ConfigIni.bAutoPlay.GtPick = this.iGuitarPick.bON; + CDTXMania.app.ConfigIni.bAutoPlay.GtW = this.iGuitarW.bON; + CDTXMania.app.ConfigIni.n譜面スクロール速度.Guitar = this.iGuitarScrollSpeed.n現在の値; // "Sudden" || "Sud+Hid" - CDTXMania.ConfigIni.bSudden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 1 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + CDTXMania.app.ConfigIni.bSudden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 1 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false; // "Hidden" || "Sud+Hid" - CDTXMania.ConfigIni.bHidden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 2 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false; - if ( this.iGuitarSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.SEMI; // "S-Invisible" - else if ( this.iGuitarSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.FULL; // "F-Invisible" - else CDTXMania.ConfigIni.eInvisible.Guitar = EInvisible.OFF; - CDTXMania.ConfigIni.bReverse.Guitar = this.iGuitarReverse.bON; - CDTXMania.ConfigIni.判定文字表示位置.Guitar = (E判定文字表示位置) this.iGuitarPosition.n現在選択されている項目番号; - CDTXMania.ConfigIni.eRandom.Guitar = (Eランダムモード) this.iGuitarRandom.n現在選択されている項目番号; - CDTXMania.ConfigIni.bLight.Guitar = this.iGuitarLight.bON; - CDTXMania.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON; - CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi - - CDTXMania.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値; - CDTXMania.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON; - CDTXMania.ConfigIni.e判定位置.Guitar = (E判定位置) this.iSystemJudgePosGuitar.n現在選択されている項目番号; // #33891 2014.6.26 yyagi - //CDTXMania.ConfigIni.e判定表示優先度.Guitar = (E判定表示優先度) this.iGuitarJudgeDispPriority.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bHidden.Guitar = ( this.iGuitarSudHid.n現在選択されている項目番号 == 2 || this.iGuitarSudHid.n現在選択されている項目番号 == 3 ) ? true : false; + if ( this.iGuitarSudHid.n現在選択されている項目番号 == 4 ) CDTXMania.app.ConfigIni.eInvisible.Guitar = EInvisible.SEMI; // "S-Invisible" + else if ( this.iGuitarSudHid.n現在選択されている項目番号 == 5 ) CDTXMania.app.ConfigIni.eInvisible.Guitar = EInvisible.FULL; // "F-Invisible" + else CDTXMania.app.ConfigIni.eInvisible.Guitar = EInvisible.OFF; + CDTXMania.app.ConfigIni.bReverse.Guitar = this.iGuitarReverse.bON; + CDTXMania.app.ConfigIni.判定文字表示位置.Guitar = (E判定文字表示位置) this.iGuitarPosition.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.eRandom.Guitar = (Eランダムモード) this.iGuitarRandom.n現在選択されている項目番号; + CDTXMania.app.ConfigIni.bLight.Guitar = this.iGuitarLight.bON; + CDTXMania.app.ConfigIni.bLeft.Guitar = this.iGuitarLeft.bON; + CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Guitar = this.iGuitarInputAdjustTimeMs.n現在の値; // #23580 2011.1.3 yyagi + + CDTXMania.app.ConfigIni.n表示可能な最小コンボ数.Guitar = this.iSystemMinComboGuitar.n現在の値; + CDTXMania.app.ConfigIni.b演奏音を強調する.Guitar = this.iSystemSoundMonitorGuitar.bON; + CDTXMania.app.ConfigIni.e判定位置.Guitar = (E判定位置) this.iSystemJudgePosGuitar.n現在選択されている項目番号; // #33891 2014.6.26 yyagi + //CDTXMania.app.ConfigIni.e判定表示優先度.Guitar = (E判定表示優先度) this.iGuitarJudgeDispPriority.n現在選択されている項目番号; } //----------------- #endregion diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs index e1f9b82c..06ad0924 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs @@ -12,12 +12,8 @@ namespace DTXMania internal class CStageコンフィグ : CStage { // プロパティ - //public CActDFPFont actFont { get; private set; } - - // コンストラクタ - public CStageコンフィグ() { //CActDFPFont font; @@ -62,14 +58,14 @@ namespace DTXMania this.ftフォント = new Font( "MS PGothic", 26f / 2 * Scale.Y, FontStyle.Bold, GraphicsUnit.Pixel ); // for ( int i = 0; i < 4; i++ ) // { // - this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.Timer ); // + this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.app.Timer ); // } // this.bメニューにフォーカス中 = true; // ここまでOPTIONと共通 this.eItemPanelモード = EItemPanelモード.パッド一覧; - fDisplayLagTimeBaseMs.Drums = (float) CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums / ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ); - fDisplayLagTimeBaseMs.Guitar = (float) CDTXMania.ConfigIni.nJudgeLinePosOffset.Guitar / ( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1 ); - fDisplayLagTimeBaseMs.Bass = (float) CDTXMania.ConfigIni.nJudgeLinePosOffset.Bass / ( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1 ); + fDisplayLagTimeBaseMs.Drums = (float) CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums / ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1 ); + fDisplayLagTimeBaseMs.Guitar = (float) CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Guitar / ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Guitar + 1 ); + fDisplayLagTimeBaseMs.Bass = (float) CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Bass / ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Bass + 1 ); } finally { @@ -84,7 +80,7 @@ namespace DTXMania Trace.Indent(); try { - CDTXMania.ConfigIni.t書き出し( CDTXMania.strEXEのあるフォルダ + "Config.ini" ); // CONFIGだけ + CDTXMania.app.ConfigIni.t書き出し( CDTXMania.app.strEXEのあるフォルダ + "Config.ini" ); // CONFIGだけ if( this.ftフォント != null ) // 以下OPTIONと共通 { this.ftフォント.Dispose(); @@ -95,9 +91,9 @@ namespace DTXMania this.ctキー反復用[ i ] = null; } - CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums = (int) ( fDisplayLagTimeBaseMs.Drums * ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ) ); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Guitar = (int) ( fDisplayLagTimeBaseMs.Guitar * ( CDTXMania.ConfigIni.n譜面スクロール速度.Guitar + 1 ) ); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Bass = (int) ( fDisplayLagTimeBaseMs.Bass * ( CDTXMania.ConfigIni.n譜面スクロール速度.Bass + 1 ) ); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums = (int) ( fDisplayLagTimeBaseMs.Drums * ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1 ) ); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Guitar = (int) ( fDisplayLagTimeBaseMs.Guitar * ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Guitar + 1 ) ); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Bass = (int) ( fDisplayLagTimeBaseMs.Bass * ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Bass + 1 ) ); base.On非活性化(); } @@ -119,10 +115,10 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig background.jpg" ), false ); - this.tx上部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig header panel.png" ), true ); - this.tx下部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig footer panel.png" ), true ); - this.txMenuカーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ), false ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig background.jpg" ), false ); + this.tx上部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig header panel.png" ), true ); + this.tx下部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenConfig footer panel.png" ), true ); + this.txMenuカーソル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ), false ); prvFont = new CPrivateFastFont( CSkin.Path( @"Graphics\fonts\mplus-1p-heavy.ttf" ), (int) ( 18 * Scale.Y ) ); string[] strMenuItem = { "System", "Drums", "Guitar", "Bass", "Exit" }; @@ -131,10 +127,10 @@ namespace DTXMania { Bitmap bmpStr; bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black ); - txMenuItemLeft[ i, 0 ] = CDTXMania.tテクスチャの生成( bmpStr, false ); + txMenuItemLeft[ i, 0 ] = TextureFactory.tテクスチャの生成( bmpStr, false ); bmpStr.Dispose(); bmpStr = prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ); - txMenuItemLeft[ i, 1 ] = CDTXMania.tテクスチャの生成( bmpStr, false ); + txMenuItemLeft[ i, 1 ] = TextureFactory.tテクスチャの生成( bmpStr, false ); bmpStr.Dispose(); } if( this.bメニューにフォーカス中 ) @@ -152,11 +148,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.tx上部パネル ); - CDTXMania.tテクスチャの解放( ref this.tx下部パネル ); - CDTXMania.tテクスチャの解放( ref this.txMenuカーソル ); - CDTXMania.tテクスチャの解放( ref this.tx説明文パネル ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.tx上部パネル ); + TextureFactory.tテクスチャの解放( ref this.tx下部パネル ); + TextureFactory.tテクスチャの解放( ref this.txMenuカーソル ); + TextureFactory.tテクスチャの解放( ref this.tx説明文パネル ); prvFont.Dispose(); for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ ) { @@ -223,7 +219,7 @@ namespace DTXMania //Bitmap bmpStr = (this.n現在のメニュー番号 == i) ? // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black ); - //txMenuItemLeft = CDTXMania.tテクスチャの生成( bmpStr, false ); + //txMenuItemLeft = TextureFactory.tテクスチャの生成( bmpStr, false ); int flag = ( this.n現在のメニュー番号 == i ) ? 1 : 0; int num4 = txMenuItemLeft[ i, flag ].sz画像サイズ.Width; txMenuItemLeft[ i, flag ].t2D描画( CDTXMania.app.Device, 0x8a * Scale.X - ( num4 / 2 ), menuY ); //55 @@ -276,7 +272,7 @@ namespace DTXMania case CStage.Eフェーズ.共通_フェードイン: if( this.actFIFO.On進行描画() != 0 ) { - CDTXMania.Skin.bgmコンフィグ画面.t再生する(); + CDTXMania.app.Skin.bgmコンフィグ画面.t再生する(); base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } break; @@ -299,20 +295,20 @@ namespace DTXMania #region [ キー入力 ] if ( ( base.eフェーズID != CStage.Eフェーズ.共通_通常状態 ) || this.actKeyAssign.bキー入力待ちの最中である - || CDTXMania.act現在入力を占有中のプラグイン != null ) + || CDTXMania.app.act現在入力を占有中のプラグイン != null ) return 0; // 曲データの一覧取得中は、キー入力を無効化する - if ( !CDTXMania.EnumSongs.IsEnumerating || CDTXMania.actEnumSongs.bコマンドでの曲データ取得 != true ) + if ( !CDTXMania.app.EnumSongs.IsEnumerating || CDTXMania.app.actEnumSongs.bコマンドでの曲データ取得 != true ) { - if ( ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) + if ( ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) ) || CDTXMania.app.Pad.b押されたGB( Eパッド.FT ) ) { - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); if ( !this.bメニューにフォーカス中 ) { if ( this.eItemPanelモード == EItemPanelモード.キーコード一覧 ) { - CDTXMania.stageコンフィグ.tアサイン完了通知(); + tアサイン完了通知(); return 0; } if ( !this.actList.bIsKeyAssignSelected && !this.actList.bIsFocusingParameter ) // #24525 2011.3.15 yyagi, #32059 2013.9.17 yyagi @@ -329,7 +325,7 @@ namespace DTXMania } } #region [ ← ] - else if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // 左カーソルキー + else if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // 左カーソルキー { if ( !this.bメニューにフォーカス中 ) { @@ -347,25 +343,25 @@ namespace DTXMania { this.bメニューにフォーカス中 = true; } - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); this.t説明文パネルに現在選択されているメニューの説明を描画する(); this.actList.tEsc押下(); // #24525 2011.3.15 yyagi ESC押下時の右メニュー描画用 } } #endregion - else if ( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) + else if ( ( CDTXMania.app.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || ( CDTXMania.app.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) { #region [ EXIT ] if ( this.n現在のメニュー番号 == 4 ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; } #endregion else if ( this.bメニューにフォーカス中 ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); this.bメニューにフォーカス中 = false; this.t説明文パネルに現在選択されている項目の説明を描画する(); } @@ -393,7 +389,7 @@ namespace DTXMania } } #region [ → ] - else if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // 右カーソルキー + else if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // 右カーソルキー { #region [ EXIT ] if ( this.n現在のメニュー番号 == 4 ) @@ -403,21 +399,21 @@ namespace DTXMania #endregion else if ( this.bメニューにフォーカス中 ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); this.bメニューにフォーカス中 = false; this.t説明文パネルに現在選択されている項目の説明を描画する(); } } #endregion - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) + this.ctキー反復用.Up.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + this.ctキー反復用.R.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.HH ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) { this.tカーソルを上へ移動する(); } - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) + this.ctキー反復用.Down.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + this.ctキー反復用.B.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.BD ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) { this.tカーソルを下へ移動する(); } @@ -526,7 +522,7 @@ namespace DTXMania } else { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在のメニュー番号 = ( this.n現在のメニュー番号 + 1 ) % 5; switch( this.n現在のメニュー番号 ) { @@ -582,7 +578,7 @@ namespace DTXMania } else { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.n現在のメニュー番号 = ( ( this.n現在のメニュー番号 - 1 ) + 5 ) % 5; switch( this.n現在のメニュー番号 ) { @@ -696,7 +692,7 @@ namespace DTXMania { this.tx説明文パネル.Dispose(); } - this.tx説明文パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.tx説明文パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); // this.tx説明文パネル.vc拡大縮小倍率.X = 0.5f; // this.tx説明文パネル.vc拡大縮小倍率.Y = 0.5f; image.Dispose(); @@ -731,7 +727,7 @@ namespace DTXMania { this.tx説明文パネル.Dispose(); } - this.tx説明文パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.tx説明文パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); //this.tx説明文パネル.vc拡大縮小倍率.X = 0.5f; //this.tx説明文パネル.vc拡大縮小倍率.Y = 0.5f; image.Dispose(); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectArtistComment.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectArtistComment.cs index 7885bc79..70a6737e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectArtistComment.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectArtistComment.cs @@ -11,18 +11,17 @@ namespace DTXMania internal class CActSelectArtistComment : CActivity { // メソッド - public CActSelectArtistComment() { base.b活性化してない = true; } public void t選択曲が変更された() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( cスコア != null ) { Bitmap image = new Bitmap( 1, 1 ); - CDTXMania.tテクスチャの解放( ref this.txArtist ); + TextureFactory.tテクスチャの解放( ref this.txArtist ); this.strArtist = cスコア.譜面情報.アーティスト名; if( ( this.strArtist != null ) && ( this.strArtist.Length > 0 ) ) { @@ -41,7 +40,7 @@ namespace DTXMania graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; graphics.DrawString( this.strArtist, this.ft描画用フォント, Brushes.White, ( float ) 0f, ( float ) 0f ); graphics.Dispose(); - this.txArtist = new CTexture( CDTXMania.app.Device, bitmap2, CDTXMania.TextureFormat ); + this.txArtist = new CTexture( CDTXMania.app.Device, bitmap2, CDTXMania.app.TextureFormat ); this.txArtist.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); bitmap2.Dispose(); } @@ -51,7 +50,7 @@ namespace DTXMania this.txArtist = null; } } - CDTXMania.tテクスチャの解放( ref this.txComment ); + TextureFactory.tテクスチャの解放( ref this.txComment ); this.strComment = cスコア.譜面情報.コメント; if( ( this.strComment != null ) && ( this.strComment.Length > 0 ) ) { @@ -98,7 +97,7 @@ namespace DTXMania graphics2.Dispose(); try { - this.txComment = new CTexture( CDTXMania.app.Device, bitmap4, CDTXMania.TextureFormat ); + this.txComment = new CTexture( CDTXMania.app.Device, bitmap4, CDTXMania.app.TextureFormat ); this.txComment.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); } catch( CTextureCreateFailedException ) @@ -116,7 +115,7 @@ namespace DTXMania -nComment表示幅, (int) ( ( ( ( this.nComment行数 - 1 ) * this.nテクスチャの最大幅 ) + this.nComment最終行の幅 ) * this.txComment.vc拡大縮小倍率.X ), unchecked((int)(10 * 2 / Scale.X)), - CDTXMania.Timer + CDTXMania.app.Timer ); } } @@ -140,8 +139,8 @@ namespace DTXMania } public override void On非活性化() { - CDTXMania.tテクスチャの解放( ref this.txArtist ); - CDTXMania.tテクスチャの解放( ref this.txComment ); + TextureFactory.tテクスチャの解放( ref this.txArtist ); + TextureFactory.tテクスチャの解放( ref this.txComment ); if( this.ft描画用フォント != null ) { this.ft描画用フォント.Dispose(); @@ -162,8 +161,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txArtist ); - CDTXMania.tテクスチャの解放( ref this.txComment ); + TextureFactory.tテクスチャの解放( ref this.txArtist ); + TextureFactory.tテクスチャの解放( ref this.txComment ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectInformation.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectInformation.cs index 11bfbfa8..9179517b 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectInformation.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectInformation.cs @@ -41,8 +41,8 @@ namespace DTXMania { @"Graphics\ScreenSelect information 1e.png", @"Graphics\ScreenSelect information 2e.png" } }; int c = ( CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja" ) ? 0 : 1; - this.txInfo[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( infofiles[ c, 0 ] ), false ); - this.txInfo[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( infofiles[ c, 1 ] ), false ); + this.txInfo[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( infofiles[ c, 0 ] ), false ); + this.txInfo[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( infofiles[ c, 1 ] ), false ); base.OnManagedリソースの作成(); } } @@ -50,8 +50,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txInfo[ 0 ] ); - CDTXMania.tテクスチャの解放( ref this.txInfo[ 1 ] ); + TextureFactory.tテクスチャの解放( ref this.txInfo[ 0 ] ); + TextureFactory.tテクスチャの解放( ref this.txInfo[ 1 ] ); base.OnManagedリソースの解放(); } } @@ -61,7 +61,7 @@ namespace DTXMania { if( base.b初めての進行描画 ) { - this.ctスクロール用 = new CCounter( 0, 6000, 1, CDTXMania.Timer ); + this.ctスクロール用 = new CCounter( 0, 6000, 1, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ctスクロール用.t進行(); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPopupMenu.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPopupMenu.cs index 9c7ecf77..a9cc6b26 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPopupMenu.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPopupMenu.cs @@ -66,14 +66,14 @@ namespace DTXMania stqMenuTitle = new stQuickMenuItem(); stqMenuTitle.cItem = new CItemBase(); stqMenuTitle.cItem.str項目名 = title; - stqMenuTitle.txName = CDTXMania.tテクスチャの生成( prvFont.DrawPrivateFont( title, Color.White, Color.Black ), false ); + stqMenuTitle.txName = TextureFactory.tテクスチャの生成( prvFont.DrawPrivateFont( title, Color.White, Color.Black ), false ); stqMenuTitle.rectName = prvFont.RectStrings; lciMenuItems = new stQuickMenuItem[ menulist.Count ]; for (int i = 0; i < menulist.Count; i++ ) { stQuickMenuItem stqm = new stQuickMenuItem(); stqm.cItem = menulist[ i ]; - stqm.txName = CDTXMania.tテクスチャの生成( prvFont.DrawPrivateFont( menulist[ i ].str項目名, Color.White, Color.Black ), false ); + stqm.txName = TextureFactory.tテクスチャの生成( prvFont.DrawPrivateFont( menulist[ i ].str項目名, Color.White, Color.Black ), false ); stqm.rectName = prvFont.RectStrings; lciMenuItems[ i ] = stqm; } @@ -87,7 +87,7 @@ namespace DTXMania { if ( this.bキー入力待ち ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); if ( this.n現在の選択行 != lciMenuItems.Length - 1 ) { @@ -142,7 +142,7 @@ namespace DTXMania { if ( this.bキー入力待ち ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); if ( bIsSelectingIntItem ) { lciMenuItems[ n現在の選択行 ].cItem.t項目値を前へ移動(); // 項目移動と数値上下は方向が逆になるので注意 @@ -160,7 +160,7 @@ namespace DTXMania { if ( this.bキー入力待ち ) { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); if ( bIsSelectingIntItem ) { lciMenuItems[ n現在の選択行 ].cItem.t項目値を次へ移動(); // 項目移動と数値上下は方向が逆になるので注意 @@ -183,7 +183,7 @@ namespace DTXMania this.bキー入力待ち = true; for ( int i = 0; i < 4; i++ ) { - this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.Timer ); + this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.app.Timer ); } base.b活性化してない = true; @@ -203,8 +203,8 @@ namespace DTXMania // this.font.On非活性化(); // this.font = null; - CDTXMania.tテクスチャの解放( ref this.txCursor ); - CDTXMania.tテクスチャの解放( ref this.txPopupMenuBackground ); + TextureFactory.tテクスチャの解放( ref this.txCursor ); + TextureFactory.tテクスチャの解放( ref this.txPopupMenuBackground ); for ( int i = 0; i < 4; i++ ) { this.ctキー反復用[ i ] = null; @@ -216,12 +216,12 @@ namespace DTXMania // for ( int i = 0; i < lciMenuItems.Length; i++ ) // { // lciMenuItems[ i ].cItem = null; - // CDTXMania.tテクスチャの解放( ref lciMenuItems[ i ].txName ); + // TextureFactory.tテクスチャの解放( ref lciMenuItems[ i ].txName ); // lciMenuItems[ i ].txName = null; // } // lciMenuItems = null; //} - //CDTXMania.tテクスチャの解放( ref txMenuTitle ); + //TextureFactory.tテクスチャの解放( ref txMenuTitle ); base.On非活性化(); } @@ -234,11 +234,11 @@ namespace DTXMania string pathPopupMenuBackground = CSkin.Path( @"Graphics\ScreenSelect sort menu background.png" ); if ( File.Exists ( pathCursor ) ) { - this.txCursor = CDTXMania.tテクスチャの生成( pathCursor, false ); + this.txCursor = TextureFactory.tテクスチャの生成( pathCursor, false ); } if ( File.Exists( pathPopupMenuBackground ) ) { - this.txPopupMenuBackground = CDTXMania.tテクスチャの生成( pathPopupMenuBackground, false ); + this.txPopupMenuBackground = TextureFactory.tテクスチャの生成( pathPopupMenuBackground, false ); } base.OnManagedリソースの作成(); } @@ -247,8 +247,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txPopupMenuBackground ); - CDTXMania.tテクスチャの解放( ref this.txCursor ); + TextureFactory.tテクスチャの解放( ref this.txPopupMenuBackground ); + TextureFactory.tテクスチャの解放( ref this.txCursor ); } base.OnManagedリソースの解放(); } @@ -265,20 +265,20 @@ namespace DTXMania if ( this.bキー入力待ち ) { #region [ Shift-F1: CONFIG画面 ] - if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) && - CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) ) + if ( ( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) && + CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) ) { // [SHIFT] + [F1] CONFIG - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); tCancel(); this.bGotoDetailConfig = true; } #endregion #region [ キー入力: キャンセル ] - else if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) - || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) - || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) + else if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) + || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) + || CDTXMania.app.Pad.b押されたGB( Eパッド.Cancel ) ) { // キャンセル - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); tCancel(); this.bIsActivePopupMenu = false; } @@ -287,21 +287,21 @@ namespace DTXMania #region [ キー入力: 決定 ] // E楽器パート eInst = E楽器パート.UNKNOWN; ESortAction eAction = ESortAction.END; - if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Decide ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.GUITAR, Eパッド.Decide ) ) { eInst = E楽器パート.GUITAR; eAction = ESortAction.Decide; } - else if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Decide ) ) + else if ( CDTXMania.app.Pad.b押された( E楽器パート.BASS, Eパッド.Decide ) ) { eInst = E楽器パート.BASS; eAction = ESortAction.Decide; } else if ( - CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.Decide ) // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu. - || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) - || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) - || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) + CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.Decide ) // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu. + || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) + || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) + || ( CDTXMania.app.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) { eInst = E楽器パート.DRUMS; eAction = ESortAction.Decide; @@ -312,17 +312,17 @@ namespace DTXMania } #endregion #region [ キー入力: 前に移動 ] - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.t前に移動 ) ); - this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.t前に移動 ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) + this.ctキー反復用.Up.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.t前に移動 ) ); + this.ctキー反復用.R.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.t前に移動 ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) { this.t前に移動(); } #endregion #region [ キー入力: 次に移動 ] - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.t次に移動 ) ); - this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.t次に移動 ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) + this.ctキー反復用.Down.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.t次に移動 ) ); + this.ctキー反復用.B.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.t次に移動 ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) { this.t次に移動(); } @@ -393,9 +393,9 @@ namespace DTXMania Bitmap bmpStr = bValueBold? prvFont.DrawPrivateFont( s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : prvFont.DrawPrivateFont( s, Color.White, Color.Black ); - CTexture ctStr = CDTXMania.tテクスチャの生成( bmpStr, false ); + CTexture ctStr = TextureFactory.tテクスチャの生成( bmpStr, false ); ctStr.t2D描画( CDTXMania.app.Device, 340 * Scale.X, ( 50 * Scale.Y ) + i * prvFont.RectStrings.Height ); - CDTXMania.tテクスチャの解放( ref ctStr ); + TextureFactory.tテクスチャの解放( ref ctStr ); } } #endregion diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPreimageパネル.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPreimageパネル.cs index d3bb47b6..43f13072 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPreimageパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPreimageパネル.cs @@ -13,14 +13,13 @@ namespace DTXMania internal class CActSelectPreimageパネル : CActivity { // メソッド - public CActSelectPreimageパネル() { base.b活性化してない = true; } public void t選択曲が変更された() { - this.ct遅延表示 = new CCounter( -CDTXMania.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms, 100, 1, CDTXMania.Timer ); + this.ct遅延表示 = new CCounter( -CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms, 100, 1, CDTXMania.app.Timer ); this.b新しいプレビューファイルを読み込んだ = false; } @@ -67,11 +66,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage panel.png" ), false ); - this.txセンサ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sensor.png" ), false ); - this.txセンサ光 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sensor light.png" ), false ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage panel.png" ), false ); + this.txセンサ = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sensor.png" ), false ); + this.txセンサ光 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sensor light.png" ), false ); this.txプレビュー画像 = null; - this.txプレビュー画像がないときの画像 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage default.png" ), false ); + this.txプレビュー画像がないときの画像 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage default.png" ), false ); //this.sfAVI画像 = Surface.CreateOffscreenPlain( CDTXMania.app.Device, 0xcc, 0x10d, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.SystemMemory ); //this.sfAVI画像 = Surface.CreateOffscreenPlain( CDTXMania.app.Device, 192, 269, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Default ); //this.nAVI再生開始時刻 = -1; @@ -88,11 +87,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.txセンサ ); - CDTXMania.tテクスチャの解放( ref this.txセンサ光 ); - CDTXMania.tテクスチャの解放( ref this.txプレビュー画像 ); - CDTXMania.tテクスチャの解放( ref this.txプレビュー画像がないときの画像 ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.txセンサ ); + TextureFactory.tテクスチャの解放( ref this.txセンサ光 ); + TextureFactory.tテクスチャの解放( ref this.txプレビュー画像 ); + TextureFactory.tテクスチャの解放( ref this.txプレビュー画像がないときの画像 ); //if( this.sfAVI画像 != null ) //{ // this.sfAVI画像.Dispose(); @@ -108,21 +107,21 @@ namespace DTXMania { if( base.b初めての進行描画 ) { - this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.Timer ); - this.ctセンサ光 = new CCounter( 0, 100, 30, CDTXMania.Timer ); + this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); + this.ctセンサ光 = new CCounter( 0, 100, 30, CDTXMania.app.Timer ); this.ctセンサ光.n現在の値 = 70; base.b初めての進行描画 = false; } this.ct登場アニメ用.t進行(); this.ctセンサ光.t進行Loop(); - if( ( !CDTXMania.stage選曲.bスクロール中 && ( this.ct遅延表示 != null ) ) && this.ct遅延表示.b進行中 ) + if( ( !CDTXMania.app.stage選曲.bスクロール中 && ( this.ct遅延表示 != null ) ) && this.ct遅延表示.b進行中 ) { this.ct遅延表示.t進行(); if ( ( this.ct遅延表示.n現在の値 >= 0 ) && this.b新しいプレビューファイルをまだ読み込んでいない ) { this.tプレビュー画像_動画の変更(); - CDTXMania.Timer.t更新(); - this.ct遅延表示.n現在の経過時間ms = CDTXMania.Timer.n現在時刻; + CDTXMania.app.Timer.t更新(); + this.ct遅延表示.n現在の経過時間ms = CDTXMania.app.Timer.n現在時刻; this.b新しいプレビューファイルを読み込んだ = true; } else if ( this.ct遅延表示.b終了値に達した && this.ct遅延表示.b進行中 ) @@ -132,11 +131,11 @@ namespace DTXMania } //else if( ( ( this.avi != null ) && ( this.sfAVI画像 != null ) ) && ( this.nAVI再生開始時刻 != -1 ) ) //{ - // int time = (int) ( ( CDTXMania.Timer.n現在時刻 - this.nAVI再生開始時刻 ) * ( ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0 ) ); + // int time = (int) ( ( CDTXMania.app.Timer.n現在時刻 - this.nAVI再生開始時刻 ) * ( ( (double) CDTXMania.app.ConfigIni.n演奏速度 ) / 20.0 ) ); // int frameNoFromTime = this.avi.GetFrameNoFromTime( time ); // if( frameNoFromTime >= this.avi.GetMaxFrameCount() ) // { - // this.nAVI再生開始時刻 = CDTXMania.Timer.n現在時刻; + // this.nAVI再生開始時刻 = CDTXMania.app.Timer.n現在時刻; // } // else if( ( this.n前回描画したフレーム番号 != frameNoFromTime ) && !this.b動画フレームを作成した ) // { @@ -239,7 +238,7 @@ namespace DTXMania } //this.pAVIBmp = IntPtr.Zero; //this.nAVI再生開始時刻 = -1; - if( !CDTXMania.ConfigIni.bストイックモード ) + if( !CDTXMania.app.ConfigIni.bストイックモード ) { if( this.tプレビュー動画の指定があれば構築する() ) { @@ -259,7 +258,7 @@ namespace DTXMania } private bool tプレビュー画像の指定があれば構築する() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( cスコア == null ) || string.IsNullOrEmpty( cスコア.譜面情報.Preimage ) ) { return false; @@ -267,14 +266,14 @@ namespace DTXMania string str = cスコア.ファイル情報.フォルダの絶対パス + cスコア.譜面情報.Preimage; if( !str.Equals( this.str現在のファイル名 ) ) { - CDTXMania.tテクスチャの解放( ref this.txプレビュー画像 ); + TextureFactory.tテクスチャの解放( ref this.txプレビュー画像 ); this.str現在のファイル名 = str; if( !File.Exists( this.str現在のファイル名 ) ) { Trace.TraceWarning( "ファイルが存在しません。({0})", new object[] { this.str現在のファイル名 } ); return false; } - this.txプレビュー画像 = CDTXMania.tテクスチャの生成( this.str現在のファイル名, false ); + this.txプレビュー画像 = TextureFactory.tテクスチャの生成( this.str現在のファイル名, false ); if( this.txプレビュー画像 != null ) { this.r表示するプレビュー画像 = this.txプレビュー画像; @@ -288,8 +287,8 @@ namespace DTXMania } private bool tプレビュー動画の指定があれば構築する() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; - if( ( CDTXMania.ConfigIni.bAVI有効 && ( cスコア != null ) ) && !string.IsNullOrEmpty( cスコア.譜面情報.Premovie ) ) + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; + if( ( CDTXMania.app.ConfigIni.bAVI有効 && ( cスコア != null ) ) && !string.IsNullOrEmpty( cスコア.譜面情報.Premovie ) ) { string filename = cスコア.ファイル情報.フォルダの絶対パス + cスコア.譜面情報.Premovie; if( filename.Equals( this.str現在のファイル名 ) ) @@ -309,7 +308,7 @@ namespace DTXMania } try { - this.rAVI = new CDTX.CAVI(00, this.str現在のファイル名, "", CDTXMania.ConfigIni.n演奏速度); + this.rAVI = new CDTX.CAVI(00, this.str現在のファイル名, "", CDTXMania.app.ConfigIni.n演奏速度); this.rAVI.OnDeviceCreated(); this.actAVI.Start( Ech定義.Movie, rAVI, 204, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1); } @@ -325,7 +324,7 @@ namespace DTXMania } private bool t背景画像があればその一部からプレビュー画像を構築する() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( cスコア == null ) || string.IsNullOrEmpty( cスコア.譜面情報.Backgound ) ) { return false; @@ -338,7 +337,7 @@ namespace DTXMania Trace.TraceWarning( "ファイルが存在しません。({0})", new object[] { path } ); return false; } - CDTXMania.tテクスチャの解放( ref this.txプレビュー画像 ); + TextureFactory.tテクスチャの解放( ref this.txプレビュー画像 ); this.str現在のファイル名 = path; Bitmap image = null; Bitmap bitmap2 = null; @@ -361,7 +360,7 @@ namespace DTXMania graphics = Graphics.FromImage( bitmap3 ); graphics.DrawImage( bitmap2, 5, 5, new Rectangle( 0x157, 0x6d, 0xcc, 0x10d ), GraphicsUnit.Pixel ); graphics.Dispose(); - this.txプレビュー画像 = new CTexture( CDTXMania.app.Device, bitmap3, CDTXMania.TextureFormat ); + this.txプレビュー画像 = new CTexture( CDTXMania.app.Device, bitmap3, CDTXMania.app.TextureFormat ); this.r表示するプレビュー画像 = this.txプレビュー画像; } catch @@ -390,8 +389,8 @@ namespace DTXMania } private void t描画処理_ジャンル文字列() { - C曲リストノード c曲リストノード = CDTXMania.stage選曲.r現在選択中の曲; - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + C曲リストノード c曲リストノード = CDTXMania.app.stage選曲.r現在選択中の曲; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( c曲リストノード != null ) && ( cスコア != null ) ) { string str = ""; @@ -457,7 +456,7 @@ namespace DTXMania str = "Unknown"; break; } - CDTXMania.act文字コンソール.tPrint( + CDTXMania.app.act文字コンソール.tPrint( this.n本体X + (int)(0x12 * Scale.X), this.n本体Y - (int)(1 * Scale.Y), C文字コンソール.Eフォント種別.赤細, @@ -543,7 +542,7 @@ namespace DTXMania } private unsafe void t描画処理_プレビュー画像() { - if( !CDTXMania.stage選曲.bスクロール中 && ( ( ( this.ct遅延表示 != null ) && ( this.ct遅延表示.n現在の値 > 0 ) ) && !this.b新しいプレビューファイルをまだ読み込んでいない ) ) + if (!CDTXMania.app.stage選曲.bスクロール中 && (((this.ct遅延表示 != null) && (this.ct遅延表示.n現在の値 > 0)) && !this.b新しいプレビューファイルをまだ読み込んでいない)) { int x = this.n本体X + (int)(0x12 * Scale.X); int y = this.n本体Y + (int)(0x10 * Scale.Y); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPresound.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPresound.cs index a9444a57..3beff357 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPresound.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectPresound.cs @@ -10,7 +10,6 @@ namespace DTXMania internal class CActSelectPresound : CActivity { // メソッド - public CActSelectPresound() { base.b活性化してない = true; @@ -20,20 +19,20 @@ namespace DTXMania if( this.sound != null ) { this.sound.t再生を停止する(); - CDTXMania.Sound管理.tサウンドを破棄する( this.sound ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.sound ); this.sound = null; } } public void t選択曲が変更された() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( cスコア != null ) && ( ( !( cスコア.ファイル情報.フォルダの絶対パス + cスコア.譜面情報.Presound ).Equals( this.str現在のファイル名 ) || ( this.sound == null ) ) || !this.sound.b再生中 ) ) { this.tサウンド停止(); this.tBGMフェードイン開始(); if( ( cスコア.譜面情報.Presound != null ) && ( cスコア.譜面情報.Presound.Length > 0 ) ) { - this.ct再生待ちウェイト = new CCounter( 0, CDTXMania.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms, 1, CDTXMania.Timer ); + this.ct再生待ちウェイト = new CCounter( 0, CDTXMania.app.ConfigIni.n曲が選択されてからプレビュー音が鳴るまでのウェイトms, 1, CDTXMania.app.Timer ); } } } @@ -65,7 +64,7 @@ namespace DTXMania if( ( this.ctBGMフェードイン用 != null ) && this.ctBGMフェードイン用.b進行中 ) { this.ctBGMフェードイン用.t進行(); - CDTXMania.Skin.bgm選曲画面.n音量_現在のサウンド = this.ctBGMフェードイン用.n現在の値; + CDTXMania.app.Skin.bgm選曲画面.n音量_現在のサウンド = this.ctBGMフェードイン用.n現在の値; if( this.ctBGMフェードイン用.b終了値に達した ) { this.ctBGMフェードイン用.t停止(); @@ -74,7 +73,7 @@ namespace DTXMania if( ( this.ctBGMフェードアウト用 != null ) && this.ctBGMフェードアウト用.b進行中 ) { this.ctBGMフェードアウト用.t進行(); - CDTXMania.Skin.bgm選曲画面.n音量_現在のサウンド = 100 - this.ctBGMフェードアウト用.n現在の値; + CDTXMania.app.Skin.bgm選曲画面.n音量_現在のサウンド = 100 - this.ctBGMフェードアウト用.n現在の値; if( this.ctBGMフェードアウト用.b終了値に達した ) { this.ctBGMフェードアウト用.t停止(); @@ -102,8 +101,8 @@ namespace DTXMania { this.ctBGMフェードイン用.t停止(); } - this.ctBGMフェードアウト用 = new CCounter( 0, 100, 10, CDTXMania.Timer ); - this.ctBGMフェードアウト用.n現在の値 = 100 - CDTXMania.Skin.bgm選曲画面.n音量_現在のサウンド; + this.ctBGMフェードアウト用 = new CCounter( 0, 100, 10, CDTXMania.app.Timer ); + this.ctBGMフェードアウト用.n現在の値 = 100 - CDTXMania.app.Skin.bgm選曲画面.n音量_現在のサウンド; } private void tBGMフェードイン開始() { @@ -111,19 +110,19 @@ namespace DTXMania { this.ctBGMフェードアウト用.t停止(); } - this.ctBGMフェードイン用 = new CCounter( 0, 100, 20, CDTXMania.Timer ); - this.ctBGMフェードイン用.n現在の値 = CDTXMania.Skin.bgm選曲画面.n音量_現在のサウンド; + this.ctBGMフェードイン用 = new CCounter( 0, 100, 20, CDTXMania.app.Timer ); + this.ctBGMフェードイン用.n現在の値 = CDTXMania.app.Skin.bgm選曲画面.n音量_現在のサウンド; } private void tプレビューサウンドの作成() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( cスコア != null ) && !string.IsNullOrEmpty( cスコア.譜面情報.Presound ) ) { string strPreviewFilename = cスコア.ファイル情報.フォルダの絶対パス + cスコア.譜面情報.Presound; try { - this.sound = CDTXMania.Sound管理.tサウンドを生成する( strPreviewFilename ); - this.sound.n音量 = 80; // CDTXMania.ConfigIni.n自動再生音量; // #25217 changed preview volume from AutoVolume + this.sound = CDTXMania.app.Sound管理.tサウンドを生成する( strPreviewFilename ); + this.sound.n音量 = 80; // CDTXMania.app.ConfigIni.n自動再生音量; // #25217 changed preview volume from AutoVolume this.sound.t再生を開始する( true ); this.str現在のファイル名 = strPreviewFilename; this.tBGMフェードアウト開始(); @@ -148,7 +147,7 @@ namespace DTXMania if( !this.ct再生待ちウェイト.b終了値に達してない ) { this.ct再生待ちウェイト.t停止(); - if( !CDTXMania.stage選曲.bスクロール中 ) + if (CDTXMania.app.stage選曲.bスクロール中) { this.tプレビューサウンドの作成(); } diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectQuickConfig.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectQuickConfig.cs index 1f5cce8a..7b20efad 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectQuickConfig.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectQuickConfig.cs @@ -67,7 +67,7 @@ namespace DTXMania } #endregion #region [ 個別 ScrollSpeed ] - l.Add( new CItemInteger( "ScrollSpeed", 0, 1999, CDTXMania.ConfigIni.n譜面スクロール速度[ nInst ], + l.Add( new CItemInteger( "ScrollSpeed", 0, 1999, CDTXMania.app.ConfigIni.n譜面スクロール速度[ nInst ], "演奏時のドラム譜面のスクロールの\n" + "速度を指定します。\n" + "x0.5 ~ x1000.0 を指定可能です。", @@ -77,7 +77,7 @@ namespace DTXMania "(ScrollSpeed=x0.5 means half speed)" ) ); #endregion #region [ 共通 Dark/Risky/PlaySpeed ] - l.Add( new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.ConfigIni.eDark, + l.Add( new CItemList( "Dark", CItemBase.Eパネル種別.通常, (int) CDTXMania.app.ConfigIni.eDark, "HALF: 背景、レーン、ゲージが表示\n" + "されなくなります。\n" + "FULL: さらに小節線、拍線、判定ラ\n" + @@ -88,7 +88,7 @@ namespace DTXMania "FULL: additionaly to HALF, bar/beat\n" + " lines, hit bar, pads are disappeared.", new string[] { "OFF", "HALF", "FULL" } ) ); - l.Add( new CItemInteger( "Risky", 0, 10, CDTXMania.ConfigIni.nRisky, + l.Add( new CItemInteger( "Risky", 0, 10, CDTXMania.app.ConfigIni.nRisky, "Riskyモードの設定:\n" + "1以上の値にすると、その回数分の\n" + "Poor/MissでFAILEDとなります。\n" + @@ -101,7 +101,7 @@ namespace DTXMania " the number of Poor/Miss times to be\n" + " FAILED.\n" + "Set 0 to disable Risky mode." ) ); - l.Add( new CItemInteger( "PlaySpeed", 5, 40, CDTXMania.ConfigIni.n演奏速度, + l.Add( new CItemInteger( "PlaySpeed", 5, 40, CDTXMania.app.ConfigIni.n演奏速度, "曲の演奏速度を、速くしたり遅くした\n" + "りすることができます。\n" + "(※一部のサウンドカードでは正しく\n" + @@ -114,24 +114,24 @@ namespace DTXMania #endregion #region [ 個別 Sud/Hid ] int nSuddenHidden; - if ( CDTXMania.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF ) + if ( CDTXMania.app.ConfigIni.eInvisible[ nInst ] != EInvisible.OFF ) { - nSuddenHidden = (int) CDTXMania.ConfigIni.eInvisible[ nInst ] + 3; + nSuddenHidden = (int) CDTXMania.app.ConfigIni.eInvisible[ nInst ] + 3; } else { - nSuddenHidden = ( ( CDTXMania.ConfigIni.bHidden[ nInst ] ) ? 2 : 0 ) + ( ( CDTXMania.ConfigIni.bSudden[ nInst ] ) ? 1 : 0 ); + nSuddenHidden = ( ( CDTXMania.app.ConfigIni.bHidden[ nInst ] ) ? 2 : 0 ) + ( ( CDTXMania.app.ConfigIni.bSudden[ nInst ] ) ? 1 : 0 ); } l.Add( new CItemList( "Sud/Hid", CItemBase.Eパネル種別.通常, nSuddenHidden, "", "", new string[] { "None", "Sudden", "Hidden", "Sud+Hid", "S-Invisible", "F-Invisible" } ) ); #endregion #region [ 個別 Ghost ] - l.Add( new CItemList("AUTO Ghost", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.eAutoGhost[ nInst ], + l.Add( new CItemList("AUTO Ghost", CItemBase.Eパネル種別.通常, (int)CDTXMania.app.ConfigIni.eAutoGhost[ nInst ], "AUTOプレーのゴーストを指定します。\n", "Specify Play Ghost data.\n", new string[] {"Perfect", "Last Play", "Hi Skill", "Hi Score", "Online" } )); - l.Add(new CItemList("Target Ghost", CItemBase.Eパネル種別.通常, (int)CDTXMania.ConfigIni.eTargetGhost[ nInst ], + l.Add(new CItemList("Target Ghost", CItemBase.Eパネル種別.通常, (int)CDTXMania.app.ConfigIni.eTargetGhost[ nInst ], "ターゲットゴーストを指定します。\n", "Specify Target Ghost data.\n", new string[] {"None", "Perfect", "Last Play", "Hi Skill", "Hi Score", "Online" } @@ -156,28 +156,28 @@ namespace DTXMania int automode; #region [ Drums ] // "All Auto", "Auto HH", "Auto BD", "Custom", "OFF" - if ( CDTXMania.ConfigIni.bドラムが全部オートプレイである ) + if ( CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ) { automode = 0; // All Auto } - else if ( CDTXMania.ConfigIni.bAutoPlay.LC == false && CDTXMania.ConfigIni.bAutoPlay.HH == true && - CDTXMania.ConfigIni.bAutoPlay.BD == false && CDTXMania.ConfigIni.bAutoPlay.SD == false && - CDTXMania.ConfigIni.bAutoPlay.HT == false && CDTXMania.ConfigIni.bAutoPlay.LT == false && - CDTXMania.ConfigIni.bAutoPlay.FT == false && CDTXMania.ConfigIni.bAutoPlay.CY == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.LC == false && CDTXMania.app.ConfigIni.bAutoPlay.HH == true && + CDTXMania.app.ConfigIni.bAutoPlay.BD == false && CDTXMania.app.ConfigIni.bAutoPlay.SD == false && + CDTXMania.app.ConfigIni.bAutoPlay.HT == false && CDTXMania.app.ConfigIni.bAutoPlay.LT == false && + CDTXMania.app.ConfigIni.bAutoPlay.FT == false && CDTXMania.app.ConfigIni.bAutoPlay.CY == false ) { automode = 1; // Auto HH } - else if ( CDTXMania.ConfigIni.bAutoPlay.LC == false && CDTXMania.ConfigIni.bAutoPlay.HH == false && - CDTXMania.ConfigIni.bAutoPlay.BD == true && CDTXMania.ConfigIni.bAutoPlay.SD == false && - CDTXMania.ConfigIni.bAutoPlay.HT == false && CDTXMania.ConfigIni.bAutoPlay.LT == false && - CDTXMania.ConfigIni.bAutoPlay.FT == false && CDTXMania.ConfigIni.bAutoPlay.CY == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.LC == false && CDTXMania.app.ConfigIni.bAutoPlay.HH == false && + CDTXMania.app.ConfigIni.bAutoPlay.BD == true && CDTXMania.app.ConfigIni.bAutoPlay.SD == false && + CDTXMania.app.ConfigIni.bAutoPlay.HT == false && CDTXMania.app.ConfigIni.bAutoPlay.LT == false && + CDTXMania.app.ConfigIni.bAutoPlay.FT == false && CDTXMania.app.ConfigIni.bAutoPlay.CY == false ) { automode = 2; // Auto BD } - else if ( CDTXMania.ConfigIni.bAutoPlay.LC == false && CDTXMania.ConfigIni.bAutoPlay.HH == false && - CDTXMania.ConfigIni.bAutoPlay.BD == false && CDTXMania.ConfigIni.bAutoPlay.SD == false && - CDTXMania.ConfigIni.bAutoPlay.HT == false && CDTXMania.ConfigIni.bAutoPlay.LT == false && - CDTXMania.ConfigIni.bAutoPlay.FT == false && CDTXMania.ConfigIni.bAutoPlay.CY == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.LC == false && CDTXMania.app.ConfigIni.bAutoPlay.HH == false && + CDTXMania.app.ConfigIni.bAutoPlay.BD == false && CDTXMania.app.ConfigIni.bAutoPlay.SD == false && + CDTXMania.app.ConfigIni.bAutoPlay.HT == false && CDTXMania.app.ConfigIni.bAutoPlay.LT == false && + CDTXMania.app.ConfigIni.bAutoPlay.FT == false && CDTXMania.app.ConfigIni.bAutoPlay.CY == false ) { automode = 4; // OFF } @@ -189,27 +189,27 @@ namespace DTXMania #endregion #region [ Guitar ] // "OFF", "ON" -// l.Add( ( CDTXMania.ConfigIni.bAutoPlay.Guitar == true ) ? 1 : 0 ); -// l.Add( ( CDTXMania.ConfigIni.bAutoPlay.Bass == true ) ? 1 : 0 ); - if ( CDTXMania.ConfigIni.bギターが全部オートプレイである) +// l.Add( ( CDTXMania.app.ConfigIni.bAutoPlay.Guitar == true ) ? 1 : 0 ); +// l.Add( ( CDTXMania.app.ConfigIni.bAutoPlay.Bass == true ) ? 1 : 0 ); + if ( CDTXMania.app.ConfigIni.bギターが全部オートプレイである) { automode = 0; // All Auto } - else if ( CDTXMania.ConfigIni.bAutoPlay.GtR == true && CDTXMania.ConfigIni.bAutoPlay.GtG == true && - CDTXMania.ConfigIni.bAutoPlay.GtB == true && CDTXMania.ConfigIni.bAutoPlay.GtPick == false && - CDTXMania.ConfigIni.bAutoPlay.GtW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.GtR == true && CDTXMania.app.ConfigIni.bAutoPlay.GtG == true && + CDTXMania.app.ConfigIni.bAutoPlay.GtB == true && CDTXMania.app.ConfigIni.bAutoPlay.GtPick == false && + CDTXMania.app.ConfigIni.bAutoPlay.GtW == false ) { automode = 1; // Auto Neck } - else if ( CDTXMania.ConfigIni.bAutoPlay.GtR == false && CDTXMania.ConfigIni.bAutoPlay.GtG == false && - CDTXMania.ConfigIni.bAutoPlay.GtB == false && CDTXMania.ConfigIni.bAutoPlay.GtPick == true && - CDTXMania.ConfigIni.bAutoPlay.GtW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.GtR == false && CDTXMania.app.ConfigIni.bAutoPlay.GtG == false && + CDTXMania.app.ConfigIni.bAutoPlay.GtB == false && CDTXMania.app.ConfigIni.bAutoPlay.GtPick == true && + CDTXMania.app.ConfigIni.bAutoPlay.GtW == false ) { automode = 2; // Auto Pick } - else if ( CDTXMania.ConfigIni.bAutoPlay.GtR == false && CDTXMania.ConfigIni.bAutoPlay.GtG == false && - CDTXMania.ConfigIni.bAutoPlay.GtB == false && CDTXMania.ConfigIni.bAutoPlay.GtPick == false && - CDTXMania.ConfigIni.bAutoPlay.GtW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.GtR == false && CDTXMania.app.ConfigIni.bAutoPlay.GtG == false && + CDTXMania.app.ConfigIni.bAutoPlay.GtB == false && CDTXMania.app.ConfigIni.bAutoPlay.GtPick == false && + CDTXMania.app.ConfigIni.bAutoPlay.GtW == false ) { automode = 4; // OFF } @@ -220,25 +220,25 @@ namespace DTXMania l.Add( automode ); #endregion #region [ Bass ] - if ( CDTXMania.ConfigIni.bベースが全部オートプレイである ) + if ( CDTXMania.app.ConfigIni.bベースが全部オートプレイである ) { automode = 0; // All Auto } - else if ( CDTXMania.ConfigIni.bAutoPlay.BsR == true && CDTXMania.ConfigIni.bAutoPlay.BsG == true && - CDTXMania.ConfigIni.bAutoPlay.BsB == true && CDTXMania.ConfigIni.bAutoPlay.BsPick == false && - CDTXMania.ConfigIni.bAutoPlay.BsW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.BsR == true && CDTXMania.app.ConfigIni.bAutoPlay.BsG == true && + CDTXMania.app.ConfigIni.bAutoPlay.BsB == true && CDTXMania.app.ConfigIni.bAutoPlay.BsPick == false && + CDTXMania.app.ConfigIni.bAutoPlay.BsW == false ) { automode = 1; // Auto Neck } - else if ( CDTXMania.ConfigIni.bAutoPlay.BsR == false && CDTXMania.ConfigIni.bAutoPlay.BsG == false && - CDTXMania.ConfigIni.bAutoPlay.BsB == false && CDTXMania.ConfigIni.bAutoPlay.BsPick == true && - CDTXMania.ConfigIni.bAutoPlay.BsW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.BsR == false && CDTXMania.app.ConfigIni.bAutoPlay.BsG == false && + CDTXMania.app.ConfigIni.bAutoPlay.BsB == false && CDTXMania.app.ConfigIni.bAutoPlay.BsPick == true && + CDTXMania.app.ConfigIni.bAutoPlay.BsW == false ) { automode = 2; // Auto Pick } - else if ( CDTXMania.ConfigIni.bAutoPlay.BsR == false && CDTXMania.ConfigIni.bAutoPlay.BsG == false && - CDTXMania.ConfigIni.bAutoPlay.BsB == false && CDTXMania.ConfigIni.bAutoPlay.BsPick == false && - CDTXMania.ConfigIni.bAutoPlay.BsW == false ) + else if ( CDTXMania.app.ConfigIni.bAutoPlay.BsR == false && CDTXMania.app.ConfigIni.bAutoPlay.BsG == false && + CDTXMania.app.ConfigIni.bAutoPlay.BsB == false && CDTXMania.app.ConfigIni.bAutoPlay.BsPick == false && + CDTXMania.app.ConfigIni.bAutoPlay.BsW == false ) { automode = 4; // OFF } @@ -323,7 +323,7 @@ namespace DTXMania { this.tx文字列パネル.Dispose(); } - this.tx文字列パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.tx文字列パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); this.tx文字列パネル.vc拡大縮小倍率 = new Vector3( 1f, 1f, 1f ); image.Dispose(); } @@ -350,48 +350,48 @@ namespace DTXMania break; case (int) EOrder.ScrollSpeed: - CDTXMania.ConfigIni.n譜面スクロール速度[ nCurrentTarget ] = (int) GetObj現在値( (int) EOrder.ScrollSpeed ); + CDTXMania.app.ConfigIni.n譜面スクロール速度[ nCurrentTarget ] = (int) GetObj現在値( (int) EOrder.ScrollSpeed ); break; case (int) EOrder.Dark: { Eダークモード d = (Eダークモード) GetIndex( (int) EOrder.Dark ); - CDTXMania.ConfigIni.eDark = d; + CDTXMania.app.ConfigIni.eDark = d; SetValueToAllTarget( (int) EOrder.Dark, (int) d ); // 全楽器で共有する値のため、全targetに値を展開する } break; case (int) EOrder.Risky: { int r = (int) GetObj現在値( (int) EOrder.Risky ); - CDTXMania.ConfigIni.nRisky = r; + CDTXMania.app.ConfigIni.nRisky = r; SetValueToAllTarget( (int) EOrder.Risky, r ); // 全楽器で共有する値のため、全targetに値を展開する } break; case (int) EOrder.PlaySpeed: - CDTXMania.ConfigIni.n演奏速度 = (int) GetObj現在値( (int) EOrder.PlaySpeed ); + CDTXMania.app.ConfigIni.n演奏速度 = (int) GetObj現在値( (int) EOrder.PlaySpeed ); break; case (int) EOrder.SuddenHidden: int sh = (int) GetIndex( (int) EOrder.SuddenHidden ); if ( sh <= 3 ) { - CDTXMania.ConfigIni.bSudden[ nCurrentTarget ] = ( ( sh & 1 ) > 0 ) ? true : false; - CDTXMania.ConfigIni.bHidden[ nCurrentTarget ] = ( ( sh & 2 ) > 0 ) ? true : false; - CDTXMania.ConfigIni.eInvisible[ nCurrentTarget ] = EInvisible.OFF; + CDTXMania.app.ConfigIni.bSudden[ nCurrentTarget ] = ( ( sh & 1 ) > 0 ) ? true : false; + CDTXMania.app.ConfigIni.bHidden[ nCurrentTarget ] = ( ( sh & 2 ) > 0 ) ? true : false; + CDTXMania.app.ConfigIni.eInvisible[ nCurrentTarget ] = EInvisible.OFF; } else { - CDTXMania.ConfigIni.bSudden[ nCurrentTarget ] = CDTXMania.ConfigIni.bHidden[ nCurrentTarget ] = false; - CDTXMania.ConfigIni.eInvisible[ nCurrentTarget ] = ( EInvisible ) ( sh - 3 ); + CDTXMania.app.ConfigIni.bSudden[ nCurrentTarget ] = CDTXMania.app.ConfigIni.bHidden[ nCurrentTarget ] = false; + CDTXMania.app.ConfigIni.eInvisible[ nCurrentTarget ] = ( EInvisible ) ( sh - 3 ); } break; case (int) EOrder.AutoGhost: // #35411 chnmr0 AUTOゴーストデータ EAutoGhostData gd = (EAutoGhostData)GetIndex((int)EOrder.AutoGhost); - CDTXMania.ConfigIni.eAutoGhost[ nCurrentTarget ] = gd; + CDTXMania.app.ConfigIni.eAutoGhost[ nCurrentTarget ] = gd; break; case (int)EOrder.TargetGhost: // #35411 chnmr0 ターゲットゴーストデータ ETargetGhostData gtd = (ETargetGhostData)GetIndex((int)EOrder.TargetGhost); - CDTXMania.ConfigIni.eTargetGhost[ nCurrentTarget ] = gtd; + CDTXMania.app.ConfigIni.eTargetGhost[ nCurrentTarget ] = gtd; break; case (int) EOrder.ConfSet: // CONF-SET切り替え @@ -448,7 +448,7 @@ namespace DTXMania for ( int i = 0; i < str.Length; i++ ) { - CDTXMania.ConfigIni.bAutoPlay[ i + start ] = ( str[ i ] == 'A' ) ? true : false; + CDTXMania.app.ConfigIni.bAutoPlay[ i + start ] = ( str[ i ] == 'A' ) ? true : false; } } } @@ -479,7 +479,7 @@ namespace DTXMania case 3: // Custom for ( int i = 0; i < 8; i++ ) { - s += ( CDTXMania.ConfigIni.bAutoPlay[ i ] ) ? "A" : "_"; + s += ( CDTXMania.app.ConfigIni.bAutoPlay[ i ] ) ? "A" : "_"; } break; case 4: // OFF @@ -510,7 +510,7 @@ namespace DTXMania int len = (int) Eレーン.GtW - (int) Eレーン.GtR + 1; for ( int i = p; i < p + len; i++ ) { - s += ( CDTXMania.ConfigIni.bAutoPlay[ i ] ) ? "A" : "_"; + s += ( CDTXMania.app.ConfigIni.bAutoPlay[ i ] ) ? "A" : "_"; } break; case 4: // OFF @@ -552,7 +552,7 @@ namespace DTXMania string pathパネル本体 = CSkin.Path( @"Graphics\ScreenSelect popup auto settings.png" ); if ( File.Exists( pathパネル本体 ) ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( pathパネル本体, true ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( pathパネル本体, true ); } base.OnManagedリソースの作成(); } @@ -561,8 +561,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.tx文字列パネル ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.tx文字列パネル ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectShowCurrentPosition.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectShowCurrentPosition.cs index 3d9b8e64..e3e99713 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectShowCurrentPosition.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectShowCurrentPosition.cs @@ -12,7 +12,6 @@ namespace DTXMania internal class CActSelectShowCurrentPosition : CActivity { // メソッド - public CActSelectShowCurrentPosition() { base.b活性化してない = true; @@ -39,11 +38,11 @@ namespace DTXMania string pathScrollPosition = CSkin.Path( @"Graphics\ScreenSelect scrollbar.png" ); if ( File.Exists( pathScrollBar ) ) { - this.txScrollBar = CDTXMania.tテクスチャの生成( pathScrollBar, false ); + this.txScrollBar = TextureFactory.tテクスチャの生成( pathScrollBar, false ); } if ( File.Exists( pathScrollPosition ) ) { - this.txScrollPosition = CDTXMania.tテクスチャの生成( pathScrollPosition, false ); + this.txScrollPosition = TextureFactory.tテクスチャの生成( pathScrollPosition, false ); } base.OnManagedリソースの作成(); } @@ -52,8 +51,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.t安全にDisposeする( ref this.txScrollBar ); - CDTXMania.t安全にDisposeする( ref this.txScrollPosition ); + TextureFactory.t安全にDisposeする( ref this.txScrollBar ); + TextureFactory.t安全にDisposeする( ref this.txScrollPosition ); base.OnManagedリソースの解放(); } @@ -84,7 +83,7 @@ namespace DTXMania #region [ スクロール地点の描画 (計算はCActSelect曲リストで行う。スクロール位置と選曲項目の同期のため。)#27648 ] if ( this.txScrollPosition != null ) { - int py = CDTXMania.stage選曲.nスクロールバー相対y座標; + int py = CDTXMania.app.stage選曲.nスクロールバー相対y座標; if ( py <= 336 * Scale.Y - 6 - 8 && py >= 0 ) { this.txScrollPosition.t2D描画( diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs index 9f5a8d4a..3034651d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelectステータスパネル.cs @@ -10,18 +10,17 @@ namespace DTXMania internal class CActSelectステータスパネル : CActivity { // メソッド - public CActSelectステータスパネル() { base.b活性化してない = true; } public void t選択曲が変更された() { - C曲リストノード c曲リストノード = CDTXMania.stage選曲.r現在選択中の曲; - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + C曲リストノード c曲リストノード = CDTXMania.app.stage選曲.r現在選択中の曲; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; if( ( c曲リストノード != null ) && ( cスコア != null ) ) { - this.n現在選択中の曲の難易度 = CDTXMania.stage選曲.n現在選択中の曲の難易度; + this.n現在選択中の曲の難易度 = CDTXMania.app.stage選曲.n現在選択中の曲の難易度; for( int i = 0; i < 3; i++ ) { int nLevel = cスコア.譜面情報.レベル[ i ]; @@ -84,11 +83,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect status panel.png" ), true ); - this.txレベル数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect level numbers.png" ), false ); - this.txスキルゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill gauge.png" ), false ); - this.txゲージ用数字他 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on gauge etc.png" ), false ); - this.tx難易度用矢印 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect triangle arrow.png" ), false ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect status panel.png" ), true ); + this.txレベル数字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect level numbers.png" ), false ); + this.txスキルゲージ = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill gauge.png" ), false ); + this.txゲージ用数字他 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on gauge etc.png" ), false ); + this.tx難易度用矢印 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect triangle arrow.png" ), false ); base.OnManagedリソースの作成(); } } @@ -96,11 +95,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.txレベル数字 ); - CDTXMania.tテクスチャの解放( ref this.txスキルゲージ ); - CDTXMania.tテクスチャの解放( ref this.txゲージ用数字他 ); - CDTXMania.tテクスチャの解放( ref this.tx難易度用矢印 ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.txレベル数字 ); + TextureFactory.tテクスチャの解放( ref this.txスキルゲージ ); + TextureFactory.tテクスチャの解放( ref this.txゲージ用数字他 ); + TextureFactory.tテクスチャの解放( ref this.tx難易度用矢印 ); base.OnManagedリソースの解放(); } } @@ -112,9 +111,9 @@ namespace DTXMania //----------------- if( base.b初めての進行描画 ) { - this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.Timer ); - this.ct難易度スクロール用 = new CCounter( 0, 20, 1, CDTXMania.Timer ); - this.ct難易度矢印用 = new CCounter( 0, 5, 80, CDTXMania.Timer ); + this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); + this.ct難易度スクロール用 = new CCounter( 0, 20, 1, CDTXMania.app.Timer ); + this.ct難易度矢印用 = new CCounter( 0, 5, 80, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } //----------------- @@ -224,7 +223,7 @@ namespace DTXMania flag = true; while( index < ( this.n難易度開始文字位置 + 55 ) ) // 0x24 -> 55 { - CDTXMania.act文字コンソール.tPrint( + CDTXMania.app.act文字コンソール.tPrint( x, y + 5, eフォント種別Array[ index ], @@ -260,7 +259,7 @@ namespace DTXMania //----------------- #endregion - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; #region [ 選択曲の Lv の描画 ] //----------------- @@ -272,7 +271,7 @@ namespace DTXMania Rectangle rect十の位; Rectangle rect一の位; int nDispPosX = this.n本体X + (int) ( 66 * Scale.X ); - int nDispPosY = this.n本体Y + (int) ( 50 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; + int nDispPosY = this.n本体Y + (int) ( 50 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; int nLevel = this.n現在選択中の曲のレベル[ i ]; if( nLevel < 0 ) { @@ -322,7 +321,7 @@ namespace DTXMania if( dMaxSkill != 0.0 ) { int nDispPosX = this.n本体X + (int)(100 * Scale.X); - int nDispPosY = this.n本体Y + (int)(53 * Scale.Y) + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; + int nDispPosY = this.n本体Y + (int)(53 * Scale.Y) + nDispPosYOffset[ ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; this.txスキルゲージ.t2D描画( CDTXMania.app.Device, nDispPosX, nDispPosY, new Rectangle( 0, 0, (int) ( 170.0 * Scale.X * dMaxSkill / 100.0 ), (int) ( 10 * Scale.Y ) ) ); } @@ -340,7 +339,7 @@ namespace DTXMania } } int x = this.n本体X + (int) ( 182 * Scale.X ) - nMaxSkillStringWidth / 2; - int y = this.n本体Y + (int) ( 53 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; + int y = this.n本体Y + (int) ( 53 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; foreach( char ch in sMaxSkillString ) { for( int j = 0; j < 12; j++ ) @@ -360,7 +359,7 @@ namespace DTXMania else { int x = this.n本体X + (int) ( ( 182 - 20 ) * Scale.X ); - int y = this.n本体Y + (int) ( 53 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; + int y = this.n本体Y + (int) ( 53 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; if( this.txゲージ用数字他 != null ) { this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( 0, (int) ( 22 * Scale.Y ), (int) ( 42 * Scale.X ), (int) ( 10 * Scale.Y ) ) ); @@ -386,7 +385,7 @@ namespace DTXMania } int[ , ] nDispPosYOffset = { { 0, (int) ( 21 * Scale.Y ), (int) ( 42 * Scale.Y ) }, { 0, (int) ( 42 * Scale.Y ), (int) ( 21 * Scale.Y ) } }; // #24063 2011.1.27 yyagi int x = this.n本体X + (int) ( 278 * Scale.X ); - int y = this.n本体Y + (int) ( 55 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; + int y = this.n本体Y + (int) ( 55 * Scale.Y ) + nDispPosYOffset[ ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0 ), i ]; if( this.txゲージ用数字他 != null ) { this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, this.rcランク[ nMaxRank ] ); @@ -404,7 +403,7 @@ namespace DTXMania { int[ , ] nDispPosYOffset = { { 0, (int) ( 21 * Scale.Y ), (int) ( 42 * Scale.Y ) }, { 0, (int) ( 42 * Scale.Y ), (int) ( 21 * Scale.Y ) } }; // #24063 2011.1.27 yyagi int x = this.n本体X + (int)(290 * Scale.X); - int y = this.n本体Y + (int)(53 * Scale.Y) + nDispPosYOffset[ (CDTXMania.ConfigIni.bIsSwappedGuitarBass ? 1 : 0), i ]; + int y = this.n本体Y + (int)(53 * Scale.Y) + nDispPosYOffset[ (CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ? 1 : 0), i ]; if( this.txゲージ用数字他 != null ) { this.txゲージ用数字他.t2D描画( CDTXMania.app.Device, x, y, rectFullCombo ); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs index ae093778..334be90d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect曲リスト.cs @@ -26,14 +26,14 @@ namespace DTXMania { get { - if( this.n目標のスクロールカウンタ == 0 ) + if (this.n目標のスクロールカウンタ == 0) { - return ( this.n現在のスクロールカウンタ != 0 ); + return (this.n現在のスクロールカウンタ != 0); } return true; } } - public int n現在のアンカ難易度レベル + public int n現在のアンカ難易度レベル { get; private set; @@ -42,21 +42,21 @@ namespace DTXMania { get { - return this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( this.r現在選択中の曲 ); + return this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(this.r現在選択中の曲); } } public Cスコア r現在選択中のスコア { get { - if( this.r現在選択中の曲 != null ) + if (this.r現在選択中の曲 != null) { - return this.r現在選択中の曲.arスコア[ this.n現在選択中の曲の現在の難易度レベル ]; + return this.r現在選択中の曲.arスコア[this.n現在選択中の曲の現在の難易度レベル]; } return null; } } - public C曲リストノード r現在選択中の曲 + public C曲リストノード r現在選択中の曲 { get; private set; @@ -72,7 +72,7 @@ namespace DTXMania // (前と同じ曲なら選択曲変更に掛かる再計算を省略して高速化するため) private C曲リストノード song_last = null; - + // コンストラクタ public CActSelect曲リスト() @@ -86,17 +86,17 @@ namespace DTXMania // メソッド - public int n現在のアンカ難易度レベルに最も近い難易度レベルを返す( C曲リストノード song ) + public int n現在のアンカ難易度レベルに最も近い難易度レベルを返す(C曲リストノード song) { // 事前チェック。 - if( song == null ) + if (song == null) return this.n現在のアンカ難易度レベル; // 曲がまったくないよ - if( song.arスコア[ this.n現在のアンカ難易度レベル ] != null ) + if (song.arスコア[this.n現在のアンカ難易度レベル] != null) return this.n現在のアンカ難易度レベル; // 難易度ぴったりの曲があったよ - if( ( song.eノード種別 == C曲リストノード.Eノード種別.BOX ) || ( song.eノード種別 == C曲リストノード.Eノード種別.BACKBOX ) ) + if ((song.eノード種別 == C曲リストノード.Eノード種別.BOX) || (song.eノード種別 == C曲リストノード.Eノード種別.BACKBOX)) return 0; // BOX と BACKBOX は関係無いよ @@ -104,55 +104,55 @@ namespace DTXMania int n最も近いレベル = this.n現在のアンカ難易度レベル; - for( int i = 0; i < 5; i++ ) + for (int i = 0; i < 5; i++) { - if( song.arスコア[ n最も近いレベル ] != null ) + if (song.arスコア[n最も近いレベル] != null) break; // 曲があった。 - n最も近いレベル = ( n最も近いレベル + 1 ) % 5; // 曲がなかったので次の難易度レベルへGo。(5以上になったら0に戻る。) + n最も近いレベル = (n最も近いレベル + 1) % 5; // 曲がなかったので次の難易度レベルへGo。(5以上になったら0に戻る。) } // 見つかった曲がアンカより下のレベルだった場合…… // アンカから下向きに検索すれば、もっとアンカに近い曲があるんじゃね? - if( n最も近いレベル < this.n現在のアンカ難易度レベル ) + if (n最も近いレベル < this.n現在のアンカ難易度レベル) { // 現在のアンカレベルから、難易度下向きに検索開始。 n最も近いレベル = this.n現在のアンカ難易度レベル; - for( int i = 0; i < 5; i++ ) + for (int i = 0; i < 5; i++) { - if( song.arスコア[ n最も近いレベル ] != null ) + if (song.arスコア[n最も近いレベル] != null) break; // 曲があった。 - n最も近いレベル = ( ( n最も近いレベル - 1 ) + 5 ) % 5; // 曲がなかったので次の難易度レベルへGo。(0未満になったら4に戻る。) + n最も近いレベル = ((n最も近いレベル - 1) + 5) % 5; // 曲がなかったので次の難易度レベルへGo。(0未満になったら4に戻る。) } } return n最も近いレベル; } - public C曲リストノード r指定された曲が存在するリストの先頭の曲( C曲リストノード song ) + public C曲リストノード r指定された曲が存在するリストの先頭の曲(C曲リストノード song) { - List songList = GetSongListWithinMe( song ); - return ( songList == null ) ? null : songList[ 0 ]; + List songList = GetSongListWithinMe(song); + return (songList == null) ? null : songList[0]; } - public C曲リストノード r指定された曲が存在するリストの末尾の曲( C曲リストノード song ) + public C曲リストノード r指定された曲が存在するリストの末尾の曲(C曲リストノード song) { - List songList = GetSongListWithinMe( song ); - return ( songList == null ) ? null : songList[ songList.Count - 1 ]; + List songList = GetSongListWithinMe(song); + return (songList == null) ? null : songList[songList.Count - 1]; } - private List GetSongListWithinMe( C曲リストノード song ) + private List GetSongListWithinMe(C曲リストノード song) { - if ( song.r親ノード == null ) // root階層のノートだったら + if (song.r親ノード == null) // root階層のノートだったら { - return CDTXMania.Songs管理.list曲ルート; // rootのリストを返す + return CDTXMania.app.Songs管理.list曲ルート; // rootのリストを返す } else { - if ( ( song.r親ノード.list子リスト != null ) && ( song.r親ノード.list子リスト.Count > 0 ) ) + if ((song.r親ノード.list子リスト != null) && (song.r親ノード.list子リスト.Count > 0)) { return song.r親ノード.list子リスト; } @@ -164,56 +164,56 @@ namespace DTXMania } - public delegate void DGSortFunc( List songList, E楽器パート eInst, int order, params object[] p); + public delegate void DGSortFunc(List songList, E楽器パート eInst, int order, params object[] p); /// /// 主にCSong管理.cs内にあるソート機能を、delegateで呼び出す。 /// /// ソート用に呼び出すメソッド /// ソート基準とする楽器 /// -1=降順, 1=昇順 - public void t曲リストのソート( DGSortFunc sf, E楽器パート eInst, int order, params object[] p ) + public void t曲リストのソート(DGSortFunc sf, E楽器パート eInst, int order, params object[] p) { - List songList = GetSongListWithinMe( this.r現在選択中の曲 ); - if ( songList == null ) + List songList = GetSongListWithinMe(this.r現在選択中の曲); + if (songList == null) { // 何もしない; } else { -// CDTXMania.Songs管理.t曲リストのソート3_演奏回数の多い順( songList, eInst, order ); - sf( songList, eInst, order, p ); -// this.r現在選択中の曲 = CDTXMania + // CDTXMania.app.Songs管理.t曲リストのソート3_演奏回数の多い順( songList, eInst, order ); + sf(songList, eInst, order, p); + // this.r現在選択中の曲 = CDTXMania.app. this.t現在選択中の曲を元に曲バーを再構成する(); } } public bool tBOXに入る() { -//Trace.TraceInformation( "box enter" ); -//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ); -//Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); -//Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); -//Trace.TraceInformation( "Skin現在: " + CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ) ); -//Trace.TraceInformation( "Skin現pt: " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ); -//Trace.TraceInformation( "Skin指定: " + CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) ); -//Trace.TraceInformation( "Skinpath: " + this.r現在選択中の曲.strSkinPath ); + //Trace.TraceInformation( "box enter" ); + //Trace.TraceInformation( "Skin現在Current : " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ); + //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin現在: " + CSkin.GetSkinName( CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ) ); + //Trace.TraceInformation( "Skin現pt: " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ); + //Trace.TraceInformation( "Skin指定: " + CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) ); + //Trace.TraceInformation( "Skinpath: " + this.r現在選択中の曲.strSkinPath ); bool ret = false; - if ( CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ) != CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) - && CSkin.bUseBoxDefSkin ) + if (CSkin.GetSkinName(CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false)) != CSkin.GetSkinName(this.r現在選択中の曲.strSkinPath) + && CSkin.bUseBoxDefSkin) { ret = true; // BOXに入るときは、スキン変更発生時のみboxdefスキン設定の更新を行う - CDTXMania.Skin.SetCurrentSkinSubfolderFullName( this.r現在選択中の曲.strSkinPath, false ); + CDTXMania.app.Skin.SetCurrentSkinSubfolderFullName(this.r現在選択中の曲.strSkinPath, false); } -//Trace.TraceInformation( "Skin変更: " + CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ) ); -//Trace.TraceInformation( "Skin変更Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ); -//Trace.TraceInformation( "Skin変更System : " + CSkin.strSystemSkinSubfolderFullName ); -//Trace.TraceInformation( "Skin変更BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin変更: " + CSkin.GetSkinName( CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ) ); + //Trace.TraceInformation( "Skin変更Current : " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ); + //Trace.TraceInformation( "Skin変更System : " + CSkin.strSystemSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin変更BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); - if( ( this.r現在選択中の曲.list子リスト != null ) && ( this.r現在選択中の曲.list子リスト.Count > 0 ) ) + if ((this.r現在選択中の曲.list子リスト != null) && (this.r現在選択中の曲.list子リスト.Count > 0)) { - this.r現在選択中の曲 = this.r現在選択中の曲.list子リスト[ 0 ]; + this.r現在選択中の曲 = this.r現在選択中の曲.list子リスト[0]; this.t現在選択中の曲を元に曲バーを再構成する(); this.t選択曲が変更された(false); // #27648 項目数変更を反映させる } @@ -221,30 +221,30 @@ namespace DTXMania } public bool tBOXを出る() { -//Trace.TraceInformation( "box exit" ); -//Trace.TraceInformation( "Skin現在Current : " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(false) ); -//Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); -//Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); -//Trace.TraceInformation( "Skin現在: " + CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName(false) ) ); -//Trace.TraceInformation( "Skin現pt: " + CDTXMania.Skin.GetCurrentSkinSubfolderFullName(false) ); -//Trace.TraceInformation( "Skin指定: " + CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) ); -//Trace.TraceInformation( "Skinpath: " + this.r現在選択中の曲.strSkinPath ); + //Trace.TraceInformation( "box exit" ); + //Trace.TraceInformation( "Skin現在Current : " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false) ); + //Trace.TraceInformation( "Skin現在System : " + CSkin.strSystemSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); + //Trace.TraceInformation( "Skin現在: " + CSkin.GetSkinName( CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false) ) ); + //Trace.TraceInformation( "Skin現pt: " + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false) ); + //Trace.TraceInformation( "Skin指定: " + CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) ); + //Trace.TraceInformation( "Skinpath: " + this.r現在選択中の曲.strSkinPath ); bool ret = false; - if ( CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ) != CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) - && CSkin.bUseBoxDefSkin ) + if (CSkin.GetSkinName(CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false)) != CSkin.GetSkinName(this.r現在選択中の曲.strSkinPath) + && CSkin.bUseBoxDefSkin) { ret = true; } // スキン変更が発生しなくても、boxdef圏外に出る場合は、boxdefスキン設定の更新が必要 // (ユーザーがboxdefスキンをConfig指定している場合への対応のために必要) // tBoxに入る()とは処理が微妙に異なるので注意 - CDTXMania.Skin.SetCurrentSkinSubfolderFullName( - ( this.r現在選択中の曲.strSkinPath == "" ) ? "" : CDTXMania.Skin.GetSkinSubfolderFullNameFromSkinName( CSkin.GetSkinName( this.r現在選択中の曲.strSkinPath ) ), false ); -//Trace.TraceInformation( "SKIN変更: " + CSkin.GetSkinName( CDTXMania.Skin.GetCurrentSkinSubfolderFullName(false) ) ); -//Trace.TraceInformation( "SKIN変更Current : "+ CDTXMania.Skin.GetCurrentSkinSubfolderFullName(false) ); -//Trace.TraceInformation( "SKIN変更System : "+ CSkin.strSystemSkinSubfolderFullName ); -//Trace.TraceInformation( "SKIN変更BoxDef : "+ CSkin.strBoxDefSkinSubfolderFullName ); - if ( this.r現在選択中の曲.r親ノード != null ) + CDTXMania.app.Skin.SetCurrentSkinSubfolderFullName( + (this.r現在選択中の曲.strSkinPath == "") ? "" : CDTXMania.app.Skin.GetSkinSubfolderFullNameFromSkinName(CSkin.GetSkinName(this.r現在選択中の曲.strSkinPath)), false); + //Trace.TraceInformation( "SKIN変更: " + CSkin.GetSkinName( CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false) ) ); + //Trace.TraceInformation( "SKIN変更Current : "+ CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(false) ); + //Trace.TraceInformation( "SKIN変更System : "+ CSkin.strSystemSkinSubfolderFullName ); + //Trace.TraceInformation( "SKIN変更BoxDef : "+ CSkin.strBoxDefSkinSubfolderFullName ); + if (this.r現在選択中の曲.r親ノード != null) { this.r現在選択中の曲 = this.r現在選択中の曲.r親ノード; this.t現在選択中の曲を元に曲バーを再構成する(); @@ -255,39 +255,39 @@ namespace DTXMania public void t現在選択中の曲を元に曲バーを再構成する() { this.tバーの初期化(); - for( int i = 0; i < 13; i++ ) + for (int i = 0; i < 13; i++) { - this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); + this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色); } } public void t次に移動() { - if( this.r現在選択中の曲 != null ) + if (this.r現在選択中の曲 != null) { this.n目標のスクロールカウンタ += 100; } } public void t前に移動() { - if( this.r現在選択中の曲 != null ) + if (this.r現在選択中の曲 != null) { this.n目標のスクロールカウンタ -= 100; } } public void t難易度レベルをひとつ進める() { - if( ( this.r現在選択中の曲 == null ) || ( this.r現在選択中の曲.nスコア数 <= 1 ) ) + if ((this.r現在選択中の曲 == null) || (this.r現在選択中の曲.nスコア数 <= 1)) return; // 曲にスコアが0~1個しかないなら進める意味なし。 - + // 難易度レベルを+1し、現在選曲中のスコアを変更する。 - this.n現在のアンカ難易度レベル = this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( this.r現在選択中の曲 ); + this.n現在のアンカ難易度レベル = this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(this.r現在選択中の曲); - for( int i = 0; i < 5; i++ ) + for (int i = 0; i < 5; i++) { - this.n現在のアンカ難易度レベル = ( this.n現在のアンカ難易度レベル + 1 ) % 5; // 5以上になったら0に戻る。 - if( this.r現在選択中の曲.arスコア[ this.n現在のアンカ難易度レベル ] != null ) // 曲が存在してるならここで終了。存在してないなら次のレベルへGo。 + this.n現在のアンカ難易度レベル = (this.n現在のアンカ難易度レベル + 1) % 5; // 5以上になったら0に戻る。 + if (this.r現在選択中の曲.arスコア[this.n現在のアンカ難易度レベル] != null) // 曲が存在してるならここで終了。存在してないなら次のレベルへGo。 break; } @@ -295,23 +295,23 @@ namespace DTXMania // 曲毎に表示しているスキル値を、新しい難易度レベルに合わせて取得し直す。(表示されている13曲全部。) C曲リストノード song = this.r現在選択中の曲; - for( int i = 0; i < 5; i++ ) - song = this.r前の曲( song ); + for (int i = 0; i < 5; i++) + song = this.r前の曲(song); - for( int i = this.n現在の選択行 - 5; i < ( ( this.n現在の選択行 - 5 ) + 13 ); i++ ) + for (int i = this.n現在の選択行 - 5; i < ((this.n現在の選択行 - 5) + 13); i++) { - int index = ( i + 13 ) % 13; - for( int m = 0; m < 3; m++ ) + int index = (i + 13) % 13; + for (int m = 0; m < 3; m++) { - this.stバー情報[ index ].nスキル値[ m ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ m ]; + this.stバー情報[index].nスキル値[m] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[m]; } - song = this.r次の曲( song ); + song = this.r次の曲(song); } // 選曲ステージに変更通知を発出し、関係Activityの対応を行ってもらう。 - CDTXMania.stage選曲.t選択曲変更通知(); + CDTXMania.app.stage選曲.t選択曲変更通知(); } @@ -319,18 +319,18 @@ namespace DTXMania /// 曲リストをリセットする /// /// - public void Refresh(CSongs管理 cs, bool bRemakeSongTitleBar ) // #26070 2012.2.28 yyagi + public void Refresh(CSongs管理 cs, bool bRemakeSongTitleBar) // #26070 2012.2.28 yyagi { -// this.On非活性化(); + // this.On非活性化(); - if ( cs != null && cs.list曲ルート.Count > 0 ) // 新しい曲リストを検索して、1曲以上あった + if (cs != null && cs.list曲ルート.Count > 0) // 新しい曲リストを検索して、1曲以上あった { - CDTXMania.Songs管理 = cs; + CDTXMania.app.Songs管理 = cs; - if ( this.r現在選択中の曲 != null ) // r現在選択中の曲==null とは、「最初songlist.dbが無かった or 検索したが1曲もない」 + if (this.r現在選択中の曲 != null) // r現在選択中の曲==null とは、「最初songlist.dbが無かった or 検索したが1曲もない」 { - this.r現在選択中の曲 = searchCurrentBreadcrumbsPosition( CDTXMania.Songs管理.list曲ルート, this.r現在選択中の曲.strBreadcrumbs ); - if ( bRemakeSongTitleBar ) // 選曲画面以外に居るときには再構成しない (非活性化しているときに実行すると例外となる) + this.r現在選択中の曲 = searchCurrentBreadcrumbsPosition(CDTXMania.app.Songs管理.list曲ルート, this.r現在選択中の曲.strBreadcrumbs); + if (bRemakeSongTitleBar) // 選曲画面以外に居るときには再構成しない (非活性化しているときに実行すると例外となる) { this.t現在選択中の曲を元に曲バーを再構成する(); } @@ -340,9 +340,9 @@ namespace DTXMania { return ( c.strBreadcrumbs.Equals( bc ) ); }; - int nMatched = CDTXMania.Songs管理.list曲ルート.FindIndex( match ); + int nMatched = CDTXMania.app.Songs管理.list曲ルート.FindIndex( match ); - this.r現在選択中の曲 = ( nMatched == -1 ) ? null : CDTXMania.Songs管理.list曲ルート[ nMatched ]; + this.r現在選択中の曲 = ( nMatched == -1 ) ? null : CDTXMania.app.Songs管理.list曲ルート[ nMatched ]; this.t現在選択中の曲を元に曲バーを再構成する(); #endif return; @@ -361,18 +361,18 @@ namespace DTXMania /// 検索対象のList /// 検索するパンくずリスト(文字列) /// - private C曲リストノード searchCurrentBreadcrumbsPosition( List ln, string bc ) + private C曲リストノード searchCurrentBreadcrumbsPosition(List ln, string bc) { foreach (C曲リストノード n in ln) { - if ( n.strBreadcrumbs == bc ) + if (n.strBreadcrumbs == bc) { return n; } - else if ( n.list子リスト != null && n.list子リスト.Count > 0 ) // 子リストが存在するなら、再帰で探す + else if (n.list子リスト != null && n.list子リスト.Count > 0) // 子リストが存在するなら、再帰で探す { - C曲リストノード r = searchCurrentBreadcrumbsPosition( n.list子リスト, bc ); - if ( r != null ) return r; + C曲リストノード r = searchCurrentBreadcrumbsPosition(n.list子リスト, bc); + if (r != null) return r; } } return null; @@ -381,18 +381,18 @@ namespace DTXMania /// /// BOXのアイテム数と、今何番目を選択しているかをセットする /// - public void t選択曲が変更された( bool bForce ) // #27648 + public void t選択曲が変更された(bool bForce) // #27648 { - C曲リストノード song = CDTXMania.stage選曲.r現在選択中の曲; - if ( song == null ) + C曲リストノード song = CDTXMania.app.stage選曲.r現在選択中の曲; + if (song == null) return; - if ( song == song_last && bForce == false ) + if (song == song_last && bForce == false) return; - + song_last = song; - List list = ( song.r親ノード != null ) ? song.r親ノード.list子リスト : CDTXMania.Songs管理.list曲ルート; - int index = list.IndexOf( song ) + 1; - if ( index <= 0 ) + List list = (song.r親ノード != null) ? song.r親ノード.list子リスト : CDTXMania.app.Songs管理.list曲ルート; + int index = list.IndexOf(song) + 1; + if (index <= 0) { nCurrentPosition = nNumOfItems = 0; } @@ -407,7 +407,7 @@ namespace DTXMania public override void On活性化() { - if( this.b活性化してる ) + if (this.b活性化してる) return; this.e楽器パート = E楽器パート.DRUMS; @@ -420,20 +420,20 @@ namespace DTXMania // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。 FontStyle regular = FontStyle.Regular; - if( CDTXMania.ConfigIni.b選曲リストフォントを斜体にする ) regular |= FontStyle.Italic; - if( CDTXMania.ConfigIni.b選曲リストフォントを太字にする ) regular |= FontStyle.Bold; + if (CDTXMania.app.ConfigIni.b選曲リストフォントを斜体にする) regular |= FontStyle.Italic; + if (CDTXMania.app.ConfigIni.b選曲リストフォントを太字にする) regular |= FontStyle.Bold; this.ft曲リスト用フォント = new Font( - CDTXMania.ConfigIni.str選曲リストフォント, - (float) ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * 2 * Scale.Y ), // 後でScale.Yを掛けないように直すこと(Config.ini初期値変更) + CDTXMania.app.ConfigIni.str選曲リストフォント, + (float)(CDTXMania.app.ConfigIni.n選曲リストフォントのサイズdot * 2 * Scale.Y), // 後でScale.Yを掛けないように直すこと(Config.ini初期値変更) regular, GraphicsUnit.Pixel ); - + // 現在選択中の曲がない(=はじめての活性化)なら、現在選択中の曲をルートの先頭ノードに設定する。 - if( ( this.r現在選択中の曲 == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) ) - this.r現在選択中の曲 = CDTXMania.Songs管理.list曲ルート[ 0 ]; + if ((this.r現在選択中の曲 == null) && (CDTXMania.app.Songs管理.list曲ルート.Count > 0)) + this.r現在選択中の曲 = CDTXMania.app.Songs管理.list曲ルート[0]; // バー情報を初期化する。 @@ -446,163 +446,163 @@ namespace DTXMania } public override void On非活性化() { - if( this.b活性化してない ) + if (this.b活性化してない) return; - CDTXMania.t安全にDisposeする( ref this.ft曲リスト用フォント ); + TextureFactory.t安全にDisposeする(ref this.ft曲リスト用フォント); - for( int i = 0; i < 13; i++ ) - this.ct登場アニメ用[ i ] = null; + for (int i = 0; i < 13; i++) + this.ct登場アニメ用[i] = null; base.On非活性化(); } public override void OnManagedリソースの作成() { - if( this.b活性化してない ) + if (this.b活性化してない) return; - this.tx曲名バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar score.png" ), false ); - this.tx曲名バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar box.png" ), false ); - this.tx曲名バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar other.png" ), false ); + this.tx曲名バー.Score = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar score.png"), false); + this.tx曲名バー.Box = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar box.png"), false); + this.tx曲名バー.Other = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar other.png"), false); - this.tx選曲バー.Score = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar score selected.png" ), false ); - this.tx選曲バー.Box = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar box selected.png" ), false ); - this.tx選曲バー.Other = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect bar other selected.png" ), false ); + this.tx選曲バー.Score = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar score selected.png"), false); + this.tx選曲バー.Box = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar box selected.png"), false); + this.tx選曲バー.Other = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect bar other selected.png"), false); - this.txスキル数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on list.png" ), false ); - for( int i = 0; i < 13; i++ ) - this.t曲名バーの生成( i, this.stバー情報[ i ].strタイトル文字列, this.stバー情報[ i ].col文字色 ); + this.txスキル数字 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect skill number on list.png"), false); + for (int i = 0; i < 13; i++) + this.t曲名バーの生成(i, this.stバー情報[i].strタイトル文字列, this.stバー情報[i].col文字色); - int c = ( CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja" ) ? 0 : 1; + int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; #region [ Songs not found画像 ] try { - using( Bitmap image = new Bitmap( SampleFramework.GameWindowSize.Width, (int)(128 * Scale.Y) ) ) - using( Graphics graphics = Graphics.FromImage( image ) ) + using (Bitmap image = new Bitmap(SampleFramework.GameWindowSize.Width, (int)(128 * Scale.Y))) + using (Graphics graphics = Graphics.FromImage(image)) { string[] s1 = { "曲データが見つかりません。", "Songs not found." }; string[] s2 = { "曲データをDTXManiaGR.exe以下の", "You need to install songs." }; string[] s3 = { "フォルダにインストールして下さい。", "" }; - graphics.DrawString( s1[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float) (2f * Scale.X), (float) (2f * Scale.Y) ); - graphics.DrawString( s1[c], this.ft曲リスト用フォント, Brushes.White, (float) 0f, (float) 0f ); - graphics.DrawString( s2[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float) (2f * Scale.X), (float) (44f * Scale.Y) ); - graphics.DrawString( s2[c], this.ft曲リスト用フォント, Brushes.White, (float) 0f, (float) (42f * Scale.Y) ); - graphics.DrawString( s3[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float) (2f * Scale.X), (float) (86f * Scale.Y) ); - graphics.DrawString( s3[c], this.ft曲リスト用フォント, Brushes.White, (float) 0f, (float) (84f * Scale.Y) ); + graphics.DrawString(s1[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float)(2f * Scale.X), (float)(2f * Scale.Y)); + graphics.DrawString(s1[c], this.ft曲リスト用フォント, Brushes.White, (float)0f, (float)0f); + graphics.DrawString(s2[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float)(2f * Scale.X), (float)(44f * Scale.Y)); + graphics.DrawString(s2[c], this.ft曲リスト用フォント, Brushes.White, (float)0f, (float)(42f * Scale.Y)); + graphics.DrawString(s3[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float)(2f * Scale.X), (float)(86f * Scale.Y)); + graphics.DrawString(s3[c], this.ft曲リスト用フォント, Brushes.White, (float)0f, (float)(84f * Scale.Y)); - this.txSongNotFound = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.txSongNotFound = new CTexture(CDTXMania.app.Device, image, CDTXMania.app.TextureFormat); - this.txSongNotFound.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); // 半分のサイズで表示する。 + this.txSongNotFound.vc拡大縮小倍率 = new Vector3(0.5f, 0.5f, 1f); // 半分のサイズで表示する。 } } - catch( CTextureCreateFailedException ) + catch (CTextureCreateFailedException) { - Trace.TraceError( "SoungNotFoundテクスチャの作成に失敗しました。" ); + Trace.TraceError("SoungNotFoundテクスチャの作成に失敗しました。"); this.txSongNotFound = null; } #endregion #region [ "曲データを検索しています"画像 ] try { - using ( Bitmap image = new Bitmap( SampleFramework.GameWindowSize.Width, (int)(96 * Scale.Y) ) ) - using ( Graphics graphics = Graphics.FromImage( image ) ) + using (Bitmap image = new Bitmap(SampleFramework.GameWindowSize.Width, (int)(96 * Scale.Y))) + using (Graphics graphics = Graphics.FromImage(image)) { string[] s1 = { "曲データを検索しています。", "Now enumerating songs." }; string[] s2 = { "そのまましばらくお待ち下さい。", "Please wait..." }; - graphics.DrawString( s1[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float) (2f * Scale.X), (float) (2f * Scale.Y) ); - graphics.DrawString( s1[c], this.ft曲リスト用フォント, Brushes.White, (float) 0f, (float) 0f ); - graphics.DrawString( s2[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float) (2f * Scale.X), (float) (44f * Scale.Y) ); - graphics.DrawString( s2[c], this.ft曲リスト用フォント, Brushes.White, (float) 0f, (float) (42f * Scale.Y) ); + graphics.DrawString(s1[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float)(2f * Scale.X), (float)(2f * Scale.Y)); + graphics.DrawString(s1[c], this.ft曲リスト用フォント, Brushes.White, (float)0f, (float)0f); + graphics.DrawString(s2[c], this.ft曲リスト用フォント, Brushes.DarkGray, (float)(2f * Scale.X), (float)(44f * Scale.Y)); + graphics.DrawString(s2[c], this.ft曲リスト用フォント, Brushes.White, (float)0f, (float)(42f * Scale.Y)); - this.txEnumeratingSongs = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.txEnumeratingSongs = new CTexture(CDTXMania.app.Device, image, CDTXMania.app.TextureFormat); - this.txEnumeratingSongs.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); // 半分のサイズで表示する。 + this.txEnumeratingSongs.vc拡大縮小倍率 = new Vector3(0.5f, 0.5f, 1f); // 半分のサイズで表示する。 } } - catch ( CTextureCreateFailedException ) + catch (CTextureCreateFailedException) { - Trace.TraceError( "txEnumeratingSongsテクスチャの作成に失敗しました。" ); + Trace.TraceError("txEnumeratingSongsテクスチャの作成に失敗しました。"); this.txEnumeratingSongs = null; } #endregion #region [ 曲数表示 ] - this.txアイテム数数字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on gauge etc.png" ), false ); + this.txアイテム数数字 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect skill number on gauge etc.png"), false); #endregion base.OnManagedリソースの作成(); } public override void OnManagedリソースの解放() { - if( this.b活性化してない ) + if (this.b活性化してない) return; - CDTXMania.t安全にDisposeする( ref this.txアイテム数数字 ); + TextureFactory.t安全にDisposeする(ref this.txアイテム数数字); - for( int i = 0; i < 13; i++ ) - CDTXMania.t安全にDisposeする( ref this.stバー情報[ i ].txタイトル名 ); + for (int i = 0; i < 13; i++) + TextureFactory.t安全にDisposeする(ref this.stバー情報[i].txタイトル名); - CDTXMania.t安全にDisposeする( ref this.txスキル数字 ); - CDTXMania.t安全にDisposeする( ref this.txEnumeratingSongs ); - CDTXMania.t安全にDisposeする( ref this.txSongNotFound ); - CDTXMania.t安全にDisposeする( ref this.tx曲名バー.Score ); - CDTXMania.t安全にDisposeする( ref this.tx曲名バー.Box ); - CDTXMania.t安全にDisposeする( ref this.tx曲名バー.Other ); - CDTXMania.t安全にDisposeする( ref this.tx選曲バー.Score ); - CDTXMania.t安全にDisposeする( ref this.tx選曲バー.Box ); - CDTXMania.t安全にDisposeする( ref this.tx選曲バー.Other ); + TextureFactory.t安全にDisposeする(ref this.txスキル数字); + TextureFactory.t安全にDisposeする(ref this.txEnumeratingSongs); + TextureFactory.t安全にDisposeする(ref this.txSongNotFound); + TextureFactory.t安全にDisposeする(ref this.tx曲名バー.Score); + TextureFactory.t安全にDisposeする(ref this.tx曲名バー.Box); + TextureFactory.t安全にDisposeする(ref this.tx曲名バー.Other); + TextureFactory.t安全にDisposeする(ref this.tx選曲バー.Score); + TextureFactory.t安全にDisposeする(ref this.tx選曲バー.Box); + TextureFactory.t安全にDisposeする(ref this.tx選曲バー.Other); base.OnManagedリソースの解放(); } public override int On進行描画() { - if( this.b活性化してない ) + if (this.b活性化してない) return 0; #region [ 初めての進行描画 ] //----------------- - if( this.b初めての進行描画 ) + if (this.b初めての進行描画) { - for( int i = 0; i < 13; i++ ) - this.ct登場アニメ用[ i ] = new CCounter( -i * 10, 100, 3, CDTXMania.Timer ); + for (int i = 0; i < 13; i++) + this.ct登場アニメ用[i] = new CCounter(-i * 10, 100, 3, CDTXMania.app.Timer); this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻; - CDTXMania.stage選曲.t選択曲変更通知(); - + CDTXMania.app.stage選曲.t選択曲変更通知(); + base.b初めての進行描画 = false; } //----------------- #endregion - + // まだ選択中の曲が決まってなければ、曲ツリールートの最初の曲にセットする。 - if( ( this.r現在選択中の曲 == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) ) - this.r現在選択中の曲 = CDTXMania.Songs管理.list曲ルート[ 0 ]; + if ((this.r現在選択中の曲 == null) && (CDTXMania.app.Songs管理.list曲ルート.Count > 0)) + this.r現在選択中の曲 = CDTXMania.app.Songs管理.list曲ルート[0]; // 本ステージは、(1)登場アニメフェーズ → (2)通常フェーズ と二段階にわけて進む。 // 2つしかフェーズがないので CStage.eフェーズID を使ってないところがまた本末転倒。 - + // 進行。 - if( !this.b登場アニメ全部完了 ) + if (!this.b登場アニメ全部完了) { #region [ (1) 登場アニメフェーズの進行。] //----------------- - for( int i = 0; i < 13; i++ ) // パネルは全13枚。 + for (int i = 0; i < 13; i++) // パネルは全13枚。 { - this.ct登場アニメ用[ i ].t進行(); + this.ct登場アニメ用[i].t進行(); - if( this.ct登場アニメ用[ i ].b終了値に達した ) - this.ct登場アニメ用[ i ].t停止(); + if (this.ct登場アニメ用[i].b終了値に達した) + this.ct登場アニメ用[i].t停止(); } // 全部の進行が終わったら、this.b登場アニメ全部完了 を true にする。 this.b登場アニメ全部完了 = true; - for( int i = 0; i < 13; i++ ) // パネルは全13枚。 + for (int i = 0; i < 13; i++) // パネルは全13枚。 { - if( this.ct登場アニメ用[ i ].b進行中 ) + if (this.ct登場アニメ用[i].b進行中) { this.b登場アニメ全部完了 = false; // まだ進行中のアニメがあるなら false のまま。 break; @@ -616,27 +616,27 @@ namespace DTXMania #region [ (2) 通常フェーズの進行。] //----------------- long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻; - - if( n現在時刻 < this.nスクロールタイマ ) // 念のため + + if (n現在時刻 < this.nスクロールタイマ) // 念のため this.nスクロールタイマ = n現在時刻; const int nアニメ間隔 = 2; - while( ( n現在時刻 - this.nスクロールタイマ ) >= nアニメ間隔 ) + while ((n現在時刻 - this.nスクロールタイマ) >= nアニメ間隔) { int n加速度 = 1; - int n残距離 = Math.Abs( (int) ( this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ ) ); + int n残距離 = Math.Abs((int)(this.n目標のスクロールカウンタ - this.n現在のスクロールカウンタ)); #region [ 残距離が遠いほどスクロールを速くする(=n加速度を多くする)。] //----------------- - if( n残距離 <= 100 ) + if (n残距離 <= 100) { n加速度 = 2; } - else if( n残距離 <= 300 ) + else if (n残距離 <= 300) { n加速度 = 3; } - else if( n残距離 <= 500 ) + else if (n残距離 <= 500) { n加速度 = 4; } @@ -649,65 +649,65 @@ namespace DTXMania #region [ 加速度を加算し、現在のスクロールカウンタを目標のスクロールカウンタまで近づける。 ] //----------------- - if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ ) // (A) 正の方向に未達の場合: + if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ) // (A) 正の方向に未達の場合: { this.n現在のスクロールカウンタ += n加速度; // カウンタを正方向に移動する。 - if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) + if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ) this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; // 到着!スクロール停止! } - else if( this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ ) // (B) 負の方向に未達の場合: + else if (this.n現在のスクロールカウンタ > this.n目標のスクロールカウンタ) // (B) 負の方向に未達の場合: { this.n現在のスクロールカウンタ -= n加速度; // カウンタを負方向に移動する。 - if( this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ ) // 到着!スクロール停止! + if (this.n現在のスクロールカウンタ < this.n目標のスクロールカウンタ) // 到着!スクロール停止! this.n現在のスクロールカウンタ = this.n目標のスクロールカウンタ; } //----------------- #endregion - if( this.n現在のスクロールカウンタ >= 100 ) // 1行=100カウント。 + if (this.n現在のスクロールカウンタ >= 100) // 1行=100カウント。 { #region [ パネルを1行上にシフトする。] //----------------- // 選択曲と選択行を1つ下の行に移動。 - this.r現在選択中の曲 = this.r次の曲( this.r現在選択中の曲 ); - this.n現在の選択行 = ( this.n現在の選択行 + 1 ) % 13; + this.r現在選択中の曲 = this.r次の曲(this.r現在選択中の曲); + this.n現在の選択行 = (this.n現在の選択行 + 1) % 13; // 選択曲から7つ下のパネル(=新しく最下部に表示されるパネル。消えてしまう一番上のパネルを再利用する)に、新しい曲の情報を記載する。 C曲リストノード song = this.r現在選択中の曲; - for( int i = 0; i < 7; i++ ) - song = this.r次の曲( song ); + for (int i = 0; i < 7; i++) + song = this.r次の曲(song); - int index = ( this.n現在の選択行 + 7 ) % 13; // 新しく最下部に表示されるパネルのインデックス(0~12)。 - this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; - this.stバー情報[ index ].col文字色 = song.col文字色; - this.t曲名バーの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].col文字色 ); + int index = (this.n現在の選択行 + 7) % 13; // 新しく最下部に表示されるパネルのインデックス(0~12)。 + this.stバー情報[index].strタイトル文字列 = song.strタイトル; + this.stバー情報[index].col文字色 = song.col文字色; + this.t曲名バーの生成(index, this.stバー情報[index].strタイトル文字列, this.stバー情報[index].col文字色); // stバー情報[] の内容を1行ずつずらす。 - + C曲リストノード song2 = this.r現在選択中の曲; - for( int i = 0; i < 5; i++ ) - song2 = this.r前の曲( song2 ); + for (int i = 0; i < 5; i++) + song2 = this.r前の曲(song2); - for( int i = 0; i < 13; i++ ) + for (int i = 0; i < 13; i++) { - int n = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; - this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); - song2 = this.r次の曲( song2 ); + int n = (((this.n現在の選択行 - 5) + i) + 13) % 13; + this.stバー情報[n].eバー種別 = this.e曲のバー種別を返す(song2); + song2 = this.r次の曲(song2); } - + // 新しく最下部に表示されるパネル用のスキル値を取得。 - for( int i = 0; i < 3; i++ ) - this.stバー情報[ index ].nスキル値[ i ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ i ]; + for (int i = 0; i < 3; i++) + this.stバー情報[index].nスキル値[i] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[i]; // 1行(100カウント)移動完了。 @@ -717,53 +717,53 @@ namespace DTXMania this.t選択曲が変更された(false); // スクロールバー用に今何番目を選択しているかを更新 - if( this.n目標のスクロールカウンタ == 0 ) - CDTXMania.stage選曲.t選択曲変更通知(); // スクロール完了=選択曲変更! + if (this.n目標のスクロールカウンタ == 0) + CDTXMania.app.stage選曲.t選択曲変更通知(); // スクロール完了=選択曲変更! //----------------- #endregion } - else if( this.n現在のスクロールカウンタ <= -100 ) + else if (this.n現在のスクロールカウンタ <= -100) { #region [ パネルを1行下にシフトする。] //----------------- // 選択曲と選択行を1つ上の行に移動。 - this.r現在選択中の曲 = this.r前の曲( this.r現在選択中の曲 ); - this.n現在の選択行 = ( ( this.n現在の選択行 - 1 ) + 13 ) % 13; + this.r現在選択中の曲 = this.r前の曲(this.r現在選択中の曲); + this.n現在の選択行 = ((this.n現在の選択行 - 1) + 13) % 13; // 選択曲から5つ上のパネル(=新しく最上部に表示されるパネル。消えてしまう一番下のパネルを再利用する)に、新しい曲の情報を記載する。 C曲リストノード song = this.r現在選択中の曲; - for( int i = 0; i < 5; i++ ) - song = this.r前の曲( song ); + for (int i = 0; i < 5; i++) + song = this.r前の曲(song); - int index = ( ( this.n現在の選択行 - 5 ) + 13 ) % 13; // 新しく最上部に表示されるパネルのインデックス(0~12)。 - this.stバー情報[ index ].strタイトル文字列 = song.strタイトル; - this.stバー情報[ index ].col文字色 = song.col文字色; - this.t曲名バーの生成( index, this.stバー情報[ index ].strタイトル文字列, this.stバー情報[ index ].col文字色 ); + int index = ((this.n現在の選択行 - 5) + 13) % 13; // 新しく最上部に表示されるパネルのインデックス(0~12)。 + this.stバー情報[index].strタイトル文字列 = song.strタイトル; + this.stバー情報[index].col文字色 = song.col文字色; + this.t曲名バーの生成(index, this.stバー情報[index].strタイトル文字列, this.stバー情報[index].col文字色); // stバー情報[] の内容を1行ずつずらす。 - + C曲リストノード song2 = this.r現在選択中の曲; - for( int i = 0; i < 5; i++ ) - song2 = this.r前の曲( song2 ); + for (int i = 0; i < 5; i++) + song2 = this.r前の曲(song2); - for( int i = 0; i < 13; i++ ) + for (int i = 0; i < 13; i++) { - int n = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; - this.stバー情報[ n ].eバー種別 = this.e曲のバー種別を返す( song2 ); - song2 = this.r次の曲( song2 ); + int n = (((this.n現在の選択行 - 5) + i) + 13) % 13; + this.stバー情報[n].eバー種別 = this.e曲のバー種別を返す(song2); + song2 = this.r次の曲(song2); } - + // 新しく最上部に表示されるパネル用のスキル値を取得。 - - for( int i = 0; i < 3; i++ ) - this.stバー情報[ index ].nスキル値[ i ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ i ]; + + for (int i = 0; i < 3; i++) + this.stバー情報[index].nスキル値[i] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[i]; // 1行(100カウント)移動完了。 @@ -772,9 +772,9 @@ namespace DTXMania this.n目標のスクロールカウンタ += 100; this.t選択曲が変更された(false); // スクロールバー用に今何番目を選択しているかを更新 - - if( this.n目標のスクロールカウンタ == 0 ) - CDTXMania.stage選曲.t選択曲変更通知(); // スクロール完了=選択曲変更! + + if (this.n目標のスクロールカウンタ == 0) + CDTXMania.app.stage選曲.t選択曲変更通知(); // スクロール完了=選択曲変更! //----------------- #endregion } @@ -788,13 +788,13 @@ namespace DTXMania // 描画。 - if( this.r現在選択中の曲 == null ) + if (this.r現在選択中の曲 == null) { #region [ 曲が1つもないなら「Songs not found.」を表示してここで帰れ。] //----------------- - if ( bIsEnumeratingSongs ) + if (bIsEnumeratingSongs) { - if ( this.txEnumeratingSongs != null ) + if (this.txEnumeratingSongs != null) { this.txEnumeratingSongs.t2D描画( CDTXMania.app.Device, @@ -805,7 +805,7 @@ namespace DTXMania } else { - if ( this.txSongNotFound != null ) + if (this.txSongNotFound != null) this.txSongNotFound.t2D描画( CDTXMania.app.Device, 320 * Scale.X, @@ -818,37 +818,37 @@ namespace DTXMania return 0; } - if( !this.b登場アニメ全部完了 ) + if (!this.b登場アニメ全部完了) { #region [ (1) 登場アニメフェーズの描画。] //----------------- - for( int i = 0; i < 13; i++ ) // パネルは全13枚。 + for (int i = 0; i < 13; i++) // パネルは全13枚。 { - if( this.ct登場アニメ用[ i ].n現在の値 >= 0 ) + if (this.ct登場アニメ用[i].n現在の値 >= 0) { - double db割合0to1 = ( (double) this.ct登場アニメ用[ i ].n現在の値 ) / 100.0; - double db回転率 = Math.Sin( Math.PI * 3 / 5 * db割合0to1 ); - int nパネル番号 = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; - - if( i == 5 ) + double db割合0to1 = ((double)this.ct登場アニメ用[i].n現在の値) / 100.0; + double db回転率 = Math.Sin(Math.PI * 3 / 5 * db割合0to1); + int nパネル番号 = (((this.n現在の選択行 - 5) + i) + 13) % 13; + + if (i == 5) { // (A) 選択曲パネルを描画。 #region [ バーテクスチャを描画。] //----------------- - int width = (int) ( (425.0 -0.8f)* Scale.X / Math.Sin( Math.PI * 3 / 5 ) ); + int width = (int)((425.0 - 0.8f) * Scale.X / Math.Sin(Math.PI * 3 / 5)); //int width = (int) ( ( (double) ( ( SampleFramework.GameWindowSize.Width - this.ptバーの基本座標[ i ].X ) + 1 ) ) / Math.Sin( Math.PI * 3 / 5 ) ); - int x = SampleFramework.GameWindowSize.Width - ( (int) ( width * db回転率 ) ); + int x = SampleFramework.GameWindowSize.Width - ((int)(width * db回転率)); int y = 415; - this.tバーの描画( x, y, this.stバー情報[ nパネル番号 ].eバー種別, true ); + this.tバーの描画(x, y, this.stバー情報[nパネル番号].eバー種別, true); //----------------- #endregion #region [ タイトル名テクスチャを描画。] //----------------- - if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) - this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( + if (this.stバー情報[nパネル番号].txタイトル名 != null) + this.stバー情報[nパネル番号].txタイトル名.t2D描画( CDTXMania.app.Device, - ( x + (int) ( 44 * Scale.X ) ) + (int) ( (16f+0.5f) * Scale.X ), + (x + (int)(44 * Scale.X)) + (int)((16f + 0.5f) * Scale.X), y + 35 //( y + (int) ( 0 * Scale.Y ) ) + (int) ( 16 * Scale.Y ) // ( y + (int) ( 5 * Scale.Y ) ) + (int) ( (16f-2f) * Scale.Y) @@ -857,8 +857,8 @@ namespace DTXMania #endregion #region [ スキル値を描画。] //----------------- - if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score ) && ( this.e楽器パート != E楽器パート.UNKNOWN ) ) - this.tスキル値の描画( x + (int)(28 * Scale.X), y + (int)(59), this.stバー情報[ nパネル番号 ].nスキル値[ (int) this.e楽器パート ] ); + if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != E楽器パート.UNKNOWN)) + this.tスキル値の描画(x + (int)(28 * Scale.X), y + (int)(59), this.stバー情報[nパネル番号].nスキル値[(int)this.e楽器パート]); //----------------- #endregion } @@ -868,16 +868,16 @@ namespace DTXMania #region [ バーテクスチャの描画。] //----------------- - int width = (int) ( ( (double) ( ( SampleFramework.GameWindowSize.Width - this.ptバーの基本座標[ i ].X ) + 1 ) ) / Math.Sin( Math.PI * 3 / 5 ) ); - int x = SampleFramework.GameWindowSize.Width - ( (int) ( width * db回転率 ) ); - int y = this.ptバーの基本座標[ i ].Y; - this.tバーの描画( x, y, this.stバー情報[ nパネル番号 ].eバー種別, false ); + int width = (int)(((double)((SampleFramework.GameWindowSize.Width - this.ptバーの基本座標[i].X) + 1)) / Math.Sin(Math.PI * 3 / 5)); + int x = SampleFramework.GameWindowSize.Width - ((int)(width * db回転率)); + int y = this.ptバーの基本座標[i].Y; + this.tバーの描画(x, y, this.stバー情報[nパネル番号].eバー種別, false); //----------------- #endregion #region [ タイトル名テクスチャを描画。] //----------------- - if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) - this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( + if (this.stバー情報[nパネル番号].txタイトル名 != null) + this.stバー情報[nパネル番号].txタイトル名.t2D描画( CDTXMania.app.Device, x + (int)(44 * Scale.X), y + 7 @@ -886,8 +886,8 @@ namespace DTXMania #endregion #region [ スキル値を描画。] //----------------- - if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score ) && ( this.e楽器パート != E楽器パート.UNKNOWN ) ) - this.tスキル値の描画( x + (int)(14 * Scale.X), y + (int)(14 * Scale.Y), this.stバー情報[ nパネル番号 ].nスキル値[ (int) this.e楽器パート ] ); + if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != E楽器パート.UNKNOWN)) + this.tスキル値の描画(x + (int)(14 * Scale.X), y + (int)(14 * Scale.Y), this.stバー情報[nパネル番号].nスキル値[(int)this.e楽器パート]); //----------------- #endregion } @@ -900,46 +900,46 @@ namespace DTXMania { #region [ (2) 通常フェーズの描画。] //----------------- - for( int i = 0; i < 13; i++ ) // パネルは全13枚。 + for (int i = 0; i < 13; i++) // パネルは全13枚。 { - if( ( i == 0 && this.n現在のスクロールカウンタ > 0 ) || // 最上行は、上に移動中なら表示しない。 - ( i == 12 && this.n現在のスクロールカウンタ < 0 ) ) // 最下行は、下に移動中なら表示しない。 + if ((i == 0 && this.n現在のスクロールカウンタ > 0) || // 最上行は、上に移動中なら表示しない。 + (i == 12 && this.n現在のスクロールカウンタ < 0)) // 最下行は、下に移動中なら表示しない。 continue; - int nパネル番号 = ( ( ( this.n現在の選択行 - 5 ) + i ) + 13 ) % 13; + int nパネル番号 = (((this.n現在の選択行 - 5) + i) + 13) % 13; int n見た目の行番号 = i; - int n次のパネル番号 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 13 ) : ( ( ( i - 1 ) + 13 ) % 13 ); - int x = this.ptバーの基本座標[ n見た目の行番号 ].X + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].X - this.ptバーの基本座標[ n見た目の行番号 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); - int y = this.ptバーの基本座標[ n見た目の行番号 ].Y + ( (int) ( ( this.ptバーの基本座標[ n次のパネル番号 ].Y - this.ptバーの基本座標[ n見た目の行番号 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); - - if( ( i == 5 ) && ( this.n現在のスクロールカウンタ == 0 ) ) + int n次のパネル番号 = (this.n現在のスクロールカウンタ <= 0) ? ((i + 1) % 13) : (((i - 1) + 13) % 13); + int x = this.ptバーの基本座標[n見た目の行番号].X + ((int)((this.ptバーの基本座標[n次のパネル番号].X - this.ptバーの基本座標[n見た目の行番号].X) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0))); + int y = this.ptバーの基本座標[n見た目の行番号].Y + ((int)((this.ptバーの基本座標[n次のパネル番号].Y - this.ptバーの基本座標[n見た目の行番号].Y) * (((double)Math.Abs(this.n現在のスクロールカウンタ)) / 100.0))); + + if ((i == 5) && (this.n現在のスクロールカウンタ == 0)) { // (A) スクロールが停止しているときの選択曲バーの描画。 #region [ バーテクスチャを描画。] //----------------- - this.tバーの描画( (int) ( 216 * Scale.X ), (int) ( 415 ), this.stバー情報[ nパネル番号 ].eバー種別, true ); + this.tバーの描画((int)(216 * Scale.X), (int)(415), this.stバー情報[nパネル番号].eバー種別, true); //----------------- #endregion #region [ タイトル名テクスチャを描画。] //----------------- - if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) - this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( + if (this.stバー情報[nパネル番号].txタイトル名 != null) + this.stバー情報[nパネル番号].txタイトル名.t2D描画( CDTXMania.app.Device, //0x114 * Scale.X, //(0xc9 - 1)* Scale.Y - ( x + ( (44f + 0.5f) * Scale.X ) ), - ( y + 7 ) + (x + ((44f + 0.5f) * Scale.X)), + (y + 7) ); //----------------- #endregion #region [ スキル値を描画。] //----------------- - if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score ) && ( this.e楽器パート != E楽器パート.UNKNOWN ) ) + if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != E楽器パート.UNKNOWN)) this.tスキル値の描画( (int)(0xf4 * Scale.X), (int)(0xd3 * Scale.Y), - this.stバー情報[ nパネル番号 ].nスキル値[ (int) this.e楽器パート ] + this.stバー情報[nパネル番号].nスキル値[(int)this.e楽器パート] ); //----------------- #endregion @@ -950,13 +950,13 @@ namespace DTXMania #region [ バーテクスチャを描画。] //----------------- - this.tバーの描画( x, y, this.stバー情報[ nパネル番号 ].eバー種別, false ); + this.tバーの描画(x, y, this.stバー情報[nパネル番号].eバー種別, false); //----------------- #endregion #region [ タイトル名テクスチャを描画。] //----------------- - if( this.stバー情報[ nパネル番号 ].txタイトル名 != null ) - this.stバー情報[ nパネル番号 ].txタイトル名.t2D描画( + if (this.stバー情報[nパネル番号].txタイトル名 != null) + this.stバー情報[nパネル番号].txタイトル名.t2D描画( CDTXMania.app.Device, x + (int)(44 * Scale.X), y + 7 @@ -965,8 +965,8 @@ namespace DTXMania #endregion #region [ スキル値を描画。] //----------------- - if( ( this.stバー情報[ nパネル番号 ].eバー種別 == Eバー種別.Score ) && ( this.e楽器パート != E楽器パート.UNKNOWN ) ) - this.tスキル値の描画( x + (int)(14 * Scale.X), y + (int)(14 * Scale.Y), this.stバー情報[ nパネル番号 ].nスキル値[ (int) this.e楽器パート ] ); + if ((this.stバー情報[nパネル番号].eバー種別 == Eバー種別.Score) && (this.e楽器パート != E楽器パート.UNKNOWN)) + this.tスキル値の描画(x + (int)(14 * Scale.X), y + (int)(14 * Scale.Y), this.stバー情報[nパネル番号].nスキル値[(int)this.e楽器パート]); //----------------- #endregion } @@ -977,18 +977,18 @@ namespace DTXMania #region [ スクロール地点の計算(描画はCActSelectShowCurrentPositionにて行う) #27648 ] int py; double d = 0; - if ( nNumOfItems > 1 ) + if (nNumOfItems > 1) { - d = ( (int)(336 * Scale.Y) - 6 - 8 ) / (double) ( nNumOfItems - 1 ); - py = (int) ( d * ( nCurrentPosition - 1 ) ); + d = ((int)(336 * Scale.Y) - 6 - 8) / (double)(nNumOfItems - 1); + py = (int)(d * (nCurrentPosition - 1)); } else { d = 0; py = 0; } - int delta = (int) ( d * this.n現在のスクロールカウンタ / 100 ); - if ( py + delta <= (int)(336 * Scale.Y) - 6 - 8 ) + int delta = (int)(d * this.n現在のスクロールカウンタ / 100); + if (py + delta <= (int)(336 * Scale.Y) - 6 - 8) { this.nスクロールバー相対y座標 = py + delta; } @@ -999,7 +999,7 @@ namespace DTXMania #endregion return 0; } - + // その他 @@ -1012,11 +1012,11 @@ namespace DTXMania public CTexture Score; public CTexture Box; public CTexture Other; - public CTexture this[ int index ] + public CTexture this[int index] { get { - switch( index ) + switch (index) { case 0: return this.Score; @@ -1031,7 +1031,7 @@ namespace DTXMania } set { - switch( index ) + switch (index) { case 0: this.Score = value; @@ -1064,11 +1064,11 @@ namespace DTXMania public CTexture Score; public CTexture Box; public CTexture Other; - public CTexture this[ int index ] + public CTexture this[int index] { get { - switch( index ) + switch (index) { case 0: return this.Score; @@ -1083,7 +1083,7 @@ namespace DTXMania } set { - switch( index ) + switch (index) { case 0: this.Score = value; @@ -1103,8 +1103,8 @@ namespace DTXMania } private bool b登場アニメ全部完了; - private Color color文字影 = Color.FromArgb( 0x40, 10, 10, 10 ); - private CCounter[] ct登場アニメ用 = new CCounter[ 13 ]; + private Color color文字影 = Color.FromArgb(0x40, 10, 10, 10); + private CCounter[] ct登場アニメ用 = new CCounter[13]; private E楽器パート e楽器パート; private Font ft曲リスト用フォント; private long nスクロールタイマ; @@ -1126,7 +1126,7 @@ namespace DTXMania new Point( (int)(0x1f2 * Scale.X), (int)(0x1ac * Scale.Y) ), new Point( (int)(640 * Scale.X), (int)(0x1ce * Scale.Y) ) }; - private STバー情報[] stバー情報 = new STバー情報[ 13 ]; + private STバー情報[] stバー情報 = new STバー情報[13]; private CTexture txSongNotFound, txEnumeratingSongs; private CTexture txスキル数字; private CTexture txアイテム数数字; @@ -1137,11 +1137,11 @@ namespace DTXMania private int nNumOfItems = 0; //private string strBoxDefSkinPath = ""; - private Eバー種別 e曲のバー種別を返す( C曲リストノード song ) + private Eバー種別 e曲のバー種別を返す(C曲リストノード song) { - if( song != null ) + if (song != null) { - switch( song.eノード種別 ) + switch (song.eノード種別) { case C曲リストノード.Eノード種別.SCORE: case C曲リストノード.Eノード種別.SCORE_MIDI: @@ -1154,131 +1154,131 @@ namespace DTXMania } return Eバー種別.Other; } - private C曲リストノード r次の曲( C曲リストノード song ) + private C曲リストノード r次の曲(C曲リストノード song) { - if( song == null ) + if (song == null) return null; - List list = ( song.r親ノード != null ) ? song.r親ノード.list子リスト : CDTXMania.Songs管理.list曲ルート; - - int index = list.IndexOf( song ); + List list = (song.r親ノード != null) ? song.r親ノード.list子リスト : CDTXMania.app.Songs管理.list曲ルート; + + int index = list.IndexOf(song); - if( index < 0 ) + if (index < 0) return null; - if( index == ( list.Count - 1 ) ) - return list[ 0 ]; + if (index == (list.Count - 1)) + return list[0]; - return list[ index + 1 ]; + return list[index + 1]; } - private C曲リストノード r前の曲( C曲リストノード song ) + private C曲リストノード r前の曲(C曲リストノード song) { - if( song == null ) + if (song == null) return null; - List list = ( song.r親ノード != null ) ? song.r親ノード.list子リスト : CDTXMania.Songs管理.list曲ルート; + List list = (song.r親ノード != null) ? song.r親ノード.list子リスト : CDTXMania.app.Songs管理.list曲ルート; - int index = list.IndexOf( song ); - - if( index < 0 ) + int index = list.IndexOf(song); + + if (index < 0) return null; - if( index == 0 ) - return list[ list.Count - 1 ]; + if (index == 0) + return list[list.Count - 1]; - return list[ index - 1 ]; + return list[index - 1]; } - private void tスキル値の描画( int x, int y, int nスキル値 ) + private void tスキル値の描画(int x, int y, int nスキル値) { - if( nスキル値 <= 0 || nスキル値 > 100 ) // スキル値 0 = 未プレイ なので表示しない。 + if (nスキル値 <= 0 || nスキル値 > 100) // スキル値 0 = 未プレイ なので表示しない。 return; - int color = ( nスキル値 == 100 ) ? 3 : ( nスキル値 / 25 ); + int color = (nスキル値 == 100) ? 3 : (nスキル値 / 25); int n百の位 = nスキル値 / 100; - int n十の位 = ( nスキル値 % 100 ) / 10; - int n一の位 = ( nスキル値 % 100 ) % 10; + int n十の位 = (nスキル値 % 100) / 10; + int n一の位 = (nスキル値 % 100) % 10; // 百の位の描画。 - if( n百の位 > 0 ) - this.tスキル値の描画_1桁描画( x, y, n百の位, color ); + if (n百の位 > 0) + this.tスキル値の描画_1桁描画(x, y, n百の位, color); // 十の位の描画。 - if( n百の位 != 0 || n十の位 != 0 ) - this.tスキル値の描画_1桁描画( x + (int)(8 * Scale.X) , y, n十の位, color ); + if (n百の位 != 0 || n十の位 != 0) + this.tスキル値の描画_1桁描画(x + (int)(8 * Scale.X), y, n十の位, color); // 一の位の描画。 - this.tスキル値の描画_1桁描画( x + (int)(16 * Scale.X), y, n一の位, color ); + this.tスキル値の描画_1桁描画(x + (int)(16 * Scale.X), y, n一の位, color); } - private void tスキル値の描画_1桁描画( int x, int y, int n数値, int color ) + private void tスキル値の描画_1桁描画(int x, int y, int n数値, int color) { - int dx = ( n数値 % 5 ) * (int)(9 * Scale.X); - int dy = ( n数値 / 5 ) * (int)(12 * Scale.Y); - - switch( color ) + int dx = (n数値 % 5) * (int)(9 * Scale.X); + int dy = (n数値 / 5) * (int)(12 * Scale.Y); + + switch (color) { case 0: - if( this.txスキル数字 != null ) - this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( (int)(45 * Scale.X)+ dx, (int)(24 * Scale.Y) + dy, (int)(9 * Scale.X), (int)(12 * Scale.Y) ) ); + if (this.txスキル数字 != null) + this.txスキル数字.t2D描画(CDTXMania.app.Device, x, y, new Rectangle((int)(45 * Scale.X) + dx, (int)(24 * Scale.Y) + dy, (int)(9 * Scale.X), (int)(12 * Scale.Y))); break; case 1: - if( this.txスキル数字 != null ) - this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( (int)(45 * Scale.X) + dx, dy, (int)(9 * Scale.X), (int)(12 * Scale.Y) ) ); + if (this.txスキル数字 != null) + this.txスキル数字.t2D描画(CDTXMania.app.Device, x, y, new Rectangle((int)(45 * Scale.X) + dx, dy, (int)(9 * Scale.X), (int)(12 * Scale.Y))); break; case 2: - if( this.txスキル数字 != null ) - this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, (int) ( 24 * Scale.Y ) + dy, (int) ( 9 * Scale.X ), (int) ( 12 * Scale.Y ) ) ); + if (this.txスキル数字 != null) + this.txスキル数字.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(dx, (int)(24 * Scale.Y) + dy, (int)(9 * Scale.X), (int)(12 * Scale.Y))); break; case 3: - if( this.txスキル数字 != null ) - this.txスキル数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, dy, (int) ( 9 * Scale.X ), (int) ( 12 * Scale.Y ) ) ); + if (this.txスキル数字 != null) + this.txスキル数字.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(dx, dy, (int)(9 * Scale.X), (int)(12 * Scale.Y))); break; } } private void tバーの初期化() { C曲リストノード song = this.r現在選択中の曲; - - if( song == null ) + + if (song == null) return; - for( int i = 0; i < 5; i++ ) - song = this.r前の曲( song ); + for (int i = 0; i < 5; i++) + song = this.r前の曲(song); - for( int i = 0; i < 13; i++ ) + for (int i = 0; i < 13; i++) { - this.stバー情報[ i ].strタイトル文字列 = song.strタイトル; - this.stバー情報[ i ].col文字色 = song.col文字色; - this.stバー情報[ i ].eバー種別 = this.e曲のバー種別を返す( song ); - - for( int j = 0; j < 3; j++ ) - this.stバー情報[ i ].nスキル値[ j ] = (int) song.arスコア[ this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( song ) ].譜面情報.最大スキル[ j ]; - - song = this.r次の曲( song ); + this.stバー情報[i].strタイトル文字列 = song.strタイトル; + this.stバー情報[i].col文字色 = song.col文字色; + this.stバー情報[i].eバー種別 = this.e曲のバー種別を返す(song); + + for (int j = 0; j < 3; j++) + this.stバー情報[i].nスキル値[j] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)].譜面情報.最大スキル[j]; + + song = this.r次の曲(song); } this.n現在の選択行 = 5; } - private void tバーの描画( int x, int y, Eバー種別 type, bool b選択曲 ) + private void tバーの描画(int x, int y, Eバー種別 type, bool b選択曲) { - if( x >= SampleFramework.GameWindowSize.Width || y >= SampleFramework.GameWindowSize.Height ) + if (x >= SampleFramework.GameWindowSize.Width || y >= SampleFramework.GameWindowSize.Height) return; - if( b選択曲 ) + if (b選択曲) { #region [ (A) 選択曲の場合 ] //----------------- - if( this.tx選曲バー[ (int) type ] != null ) - this.tx選曲バー[ (int) type ].t2D描画( + if (this.tx選曲バー[(int)type] != null) + this.tx選曲バー[(int)type].t2D描画( CDTXMania.app.Device, x, y, @@ -1297,10 +1297,10 @@ namespace DTXMania 128, //(int)(64 * Scale.X), 128 //(int)(64 * Scale.Y) ); - while( x < SampleFramework.GameWindowSize.Width ) + while (x < SampleFramework.GameWindowSize.Width) { - if( this.tx選曲バー[ (int) type ] != null ) - this.tx選曲バー[ (int) type ].t2D描画( + if (this.tx選曲バー[(int)type] != null) + this.tx選曲バー[(int)type].t2D描画( CDTXMania.app.Device, x, y, @@ -1315,8 +1315,8 @@ namespace DTXMania { #region [ (B) その他の場合 ] //----------------- - if( this.tx曲名バー[ (int) type ] != null ) - this.tx曲名バー[ (int) type ].t2D描画( + if (this.tx曲名バー[(int)type] != null) + this.tx曲名バー[(int)type].t2D描画( CDTXMania.app.Device, x, y, @@ -1325,8 +1325,8 @@ namespace DTXMania 0, 128, //(int) ( 64 * Scale.X ), 69 //(int) ( 32 * Scale.Y ) - //(int)(64 * Scale.X), - //(int)(32 * Scale.Y) + //(int)(64 * Scale.X), + //(int)(32 * Scale.Y) ) ); // ヘサキ x += 64; //(int) ( 64 * Scale.X ); @@ -1346,10 +1346,10 @@ namespace DTXMania //128, //(int)(64 * Scale.X), //128 //(int)(32 * Scale.Y) ); - while( x < SampleFramework.GameWindowSize.Width ) + while (x < SampleFramework.GameWindowSize.Width) { - if( this.tx曲名バー[ (int) type ] != null ) - this.tx曲名バー[ (int) type ].t2D描画( + if (this.tx曲名バー[(int)type] != null) + this.tx曲名バー[(int)type].t2D描画( CDTXMania.app.Device, x, y, @@ -1361,9 +1361,9 @@ namespace DTXMania #endregion } } - private void t曲名バーの生成( int nバー番号, string str曲名, Color color ) + private void t曲名バーの生成(int nバー番号, string str曲名, Color color) { - if( nバー番号 < 0 || nバー番号 > 12 ) + if (nバー番号 < 0 || nバー番号 > 12) return; try @@ -1372,41 +1372,41 @@ namespace DTXMania #region [ 曲名表示に必要となるサイズを取得する。] //----------------- - using( var bmpDummy = new Bitmap( 1, 1 ) ) + using (var bmpDummy = new Bitmap(1, 1)) { - var g = Graphics.FromImage( bmpDummy ); + var g = Graphics.FromImage(bmpDummy); g.PageUnit = GraphicsUnit.Pixel; - sz曲名 = g.MeasureString( str曲名, this.ft曲リスト用フォント ); + sz曲名 = g.MeasureString(str曲名, this.ft曲リスト用フォント); } //----------------- #endregion int n最大幅px = (int)(392 * Scale.Y); int height = (int)(25 * Scale.Y); - int width = (int) ( ( sz曲名.Width + 2 ) * 0.5f ); - if( width > ( CDTXMania.app.Device.Capabilities.MaxTextureWidth / 2 ) ) + int width = (int)((sz曲名.Width + 2) * 0.5f); + if (width > (CDTXMania.app.Device.Capabilities.MaxTextureWidth / 2)) width = CDTXMania.app.Device.Capabilities.MaxTextureWidth / 2; // 右端断ち切れ仕方ないよね - float f拡大率X = ( width <= n最大幅px ) ? 0.5f : ( ( (float) n最大幅px / (float) width ) * 0.5f ); // 長い文字列は横方向に圧縮。 + float f拡大率X = (width <= n最大幅px) ? 0.5f : (((float)n最大幅px / (float)width) * 0.5f); // 長い文字列は横方向に圧縮。 - using( var bmp = new Bitmap( width * 2, height * 2, PixelFormat.Format32bppArgb ) ) // 2倍(面積4倍)のBitmapを確保。(0.5倍で表示する前提。) - using( var g = Graphics.FromImage( bmp ) ) + using (var bmp = new Bitmap(width * 2, height * 2, PixelFormat.Format32bppArgb)) // 2倍(面積4倍)のBitmapを確保。(0.5倍で表示する前提。) + using (var g = Graphics.FromImage(bmp)) { g.TextRenderingHint = TextRenderingHint.AntiAlias; - float y = ( ( (float) bmp.Height ) / 2f ) - ( ( CDTXMania.ConfigIni.n選曲リストフォントのサイズdot * Scale.Y * 2f ) / 2f ); - g.DrawString( str曲名, this.ft曲リスト用フォント, new SolidBrush( this.color文字影 ), (float) 2f, (float) ( y + 2f ) ); - g.DrawString( str曲名, this.ft曲リスト用フォント, new SolidBrush( color ), 0f, y ); + float y = (((float)bmp.Height) / 2f) - ((CDTXMania.app.ConfigIni.n選曲リストフォントのサイズdot * Scale.Y * 2f) / 2f); + g.DrawString(str曲名, this.ft曲リスト用フォント, new SolidBrush(this.color文字影), (float)2f, (float)(y + 2f)); + g.DrawString(str曲名, this.ft曲リスト用フォント, new SolidBrush(color), 0f, y); - CDTXMania.t安全にDisposeする( ref this.stバー情報[ nバー番号 ].txタイトル名 ); + TextureFactory.t安全にDisposeする(ref this.stバー情報[nバー番号].txタイトル名); - this.stバー情報[ nバー番号 ].txタイトル名 = new CTexture( CDTXMania.app.Device, bmp, CDTXMania.TextureFormat ); - this.stバー情報[ nバー番号 ].txタイトル名.vc拡大縮小倍率 = new Vector3( f拡大率X, 0.5f, 1f ); + this.stバー情報[nバー番号].txタイトル名 = new CTexture(CDTXMania.app.Device, bmp, CDTXMania.app.TextureFormat); + this.stバー情報[nバー番号].txタイトル名.vc拡大縮小倍率 = new Vector3(f拡大率X, 0.5f, 1f); } } - catch( CTextureCreateFailedException ) + catch (CTextureCreateFailedException) { - Trace.TraceError( "曲名テクスチャの作成に失敗しました。[{0}]", str曲名 ); - this.stバー情報[ nバー番号 ].txタイトル名 = null; + Trace.TraceError("曲名テクスチャの作成に失敗しました。[{0}]", str曲名); + this.stバー情報[nバー番号].txタイトル名 = null; } } private void tアイテム数の描画() @@ -1415,29 +1415,29 @@ namespace DTXMania int x = (int)(SampleFramework.GameWindowSize.Width - (8 + 12) * Scale.X); int y = (int)(362 * Scale.Y); - for ( int p = s.Length - 1; p >= 0; p-- ) + for (int p = s.Length - 1; p >= 0; p--) { - tアイテム数の描画_1桁描画( x, y, s[ p ] ); + tアイテム数の描画_1桁描画(x, y, s[p]); x -= (int)(8 * Scale.X); } } - private void tアイテム数の描画_1桁描画( int x, int y, char s数値 ) + private void tアイテム数の描画_1桁描画(int x, int y, char s数値) { int dx, dy; - if ( s数値 == '/' ) + if (s数値 == '/') { dx = (int)(48 * Scale.X); dy = 0; } else { - int n = (int) s数値 - (int) '0'; - dx = ( n % 6 ) * (int)(8 * Scale.X); - dy = ( n / 6 ) * (int)(12 * Scale.Y); + int n = (int)s数値 - (int)'0'; + dx = (n % 6) * (int)(8 * Scale.X); + dy = (n / 6) * (int)(12 * Scale.Y); } - if ( this.txアイテム数数字 != null ) + if (this.txアイテム数数字 != null) { - this.txアイテム数数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, dy, (int)(8 * Scale.X), (int)(12 * Scale.Y) ) ); + this.txアイテム数数字.t2D描画(CDTXMania.app.Device, x, y, new Rectangle(dx, dy, (int)(8 * Scale.X), (int)(12 * Scale.Y))); } } //----------------- diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect演奏履歴パネル.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect演奏履歴パネル.cs index 50d245b0..fd7bf580 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect演奏履歴パネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSelect演奏履歴パネル.cs @@ -11,15 +11,14 @@ namespace DTXMania internal class CActSelect演奏履歴パネル : CActivity { // メソッド - public CActSelect演奏履歴パネル() { base.b活性化してない = true; } public void t選択曲が変更された() { - Cスコア cスコア = CDTXMania.stage選曲.r現在選択中のスコア; - if( ( cスコア != null ) && !CDTXMania.stage選曲.bスクロール中 ) + Cスコア cスコア = CDTXMania.app.stage選曲.r現在選択中のスコア; + if ((cスコア != null) && !CDTXMania.app.stage選曲.bスクロール中) { try { @@ -38,7 +37,7 @@ namespace DTXMania { this.tx文字列パネル.Dispose(); } - this.tx文字列パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + this.tx文字列パネル = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); this.tx文字列パネル.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); image.Dispose(); } @@ -74,7 +73,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect play history panel.png" ), true ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect play history panel.png" ), true ); this.t選択曲が変更された(); base.OnManagedリソースの作成(); } @@ -83,8 +82,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.tx文字列パネル ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.tx文字列パネル ); base.OnManagedリソースの解放(); } } @@ -94,7 +93,7 @@ namespace DTXMania { if( base.b初めての進行描画 ) { - this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.ct登場アニメ用 = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct登場アニメ用.t進行(); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSortSongs.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSortSongs.cs index 6560442f..c115aed9 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSortSongs.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CActSortSongs.cs @@ -49,41 +49,41 @@ namespace DTXMania { case (int) EOrder.Title: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート2_タイトル順, eInst, nSortOrder + CDTXMania.app.Songs管理.t曲リストのソート2_タイトル順, eInst, nSortOrder ); this.act曲リスト.t選択曲が変更された(true); break; case (int) EOrder.Level: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート4_LEVEL順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート4_LEVEL順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された( true ); break; case (int) EOrder.BestRank: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート5_BestRank順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート5_BestRank順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); break; case (int) EOrder.PlayCount: // this.act曲リスト.t曲リストのソート3_演奏回数の多い順( eInst, nSortOrder ); this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート3_演奏回数の多い順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート3_演奏回数の多い順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された( true ); break; case (int) EOrder.Author: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート8_アーティスト名順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート8_アーティスト名順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された( true ); break; case (int) EOrder.SkillPoint: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート6_SkillPoint順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート6_SkillPoint順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された( true ); @@ -91,7 +91,7 @@ namespace DTXMania #if TEST_SORTBGM case (int) ESortItem.BPM: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート9_BPM順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート9_BPM順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された(true); @@ -99,7 +99,7 @@ namespace DTXMania #endif case (int) EOrder.Date: this.act曲リスト.t曲リストのソート( - CDTXMania.Songs管理.t曲リストのソート7_更新日時順, eInst, nSortOrder, + CDTXMania.app.Songs管理.t曲リストのソート7_更新日時順, eInst, nSortOrder, this.act曲リスト.n現在のアンカ難易度レベル ); this.act曲リスト.t選択曲が変更された( true ); diff --git a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs index b406d7ff..2f95450f 100644 --- a/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs +++ b/DTXManiaプロジェクト/コード/ステージ/05.選曲/CStage選曲.cs @@ -130,8 +130,8 @@ namespace DTXMania //--------------------- if( CDTXMania.app != null ) { - var c曲リストノード = CDTXMania.stage選曲.r現在選択中の曲; - var cスコア = CDTXMania.stage選曲.r現在選択中のスコア; + var c曲リストノード = r現在選択中の曲; + var cスコア = r現在選択中のスコア; if( c曲リストノード != null && cスコア != null && c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.SCORE ) { @@ -144,14 +144,14 @@ namespace DTXMania { setDef = new CSetDef( c曲リストノード.pathSetDefの絶対パス ); nブロック番号inSetDef = c曲リストノード.SetDefのブロック番号; - n曲番号inブロック = CDTXMania.stage選曲.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( c曲リストノード ); + n曲番号inブロック = act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す( c曲リストノード ); } foreach( CDTXMania.STPlugin stPlugin in CDTXMania.app.listプラグイン ) { Directory.SetCurrentDirectory( stPlugin.strプラグインフォルダ ); stPlugin.plugin.On選択曲変更( str選択曲ファイル名, setDef, nブロック番号inSetDef, n曲番号inブロック ); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory( CDTXMania.app.strEXEのあるフォルダ ); } } } @@ -180,7 +180,7 @@ namespace DTXMania this.bBGM再生済み = false; this.ftフォント = new Font( "MS PGothic", 26f * Scale.X, GraphicsUnit.Pixel ); for( int i = 0; i < 4; i++ ) - this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.Timer ); + this.ctキー反復用[ i ] = new CCounter( 0, 0, 0, CDTXMania.app.Timer ); base.On活性化(); @@ -219,11 +219,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect background.jpg" ), false ); - this.tx上部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect header panel.png" ), true ); - this.tx下部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect footer panel.png" ), true ); - this.txコメントバー = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect comment bar.png" ), true ); - this.txFLIP = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on gauge etc.png" ), false ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect background.jpg" ), false ); + this.tx上部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect header panel.png" ), true ); + this.tx下部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect footer panel.png" ), true ); + this.txコメントバー = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenSelect comment bar.png" ), true ); + this.txFLIP = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect skill number on gauge etc.png" ), false ); base.OnManagedリソースの作成(); } } @@ -231,11 +231,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.tx上部パネル ); - CDTXMania.tテクスチャの解放( ref this.tx下部パネル ); - CDTXMania.tテクスチャの解放( ref this.txコメントバー ); - CDTXMania.tテクスチャの解放( ref this.txFLIP ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.tx上部パネル ); + TextureFactory.tテクスチャの解放( ref this.tx下部パネル ); + TextureFactory.tテクスチャの解放( ref this.txコメントバー ); + TextureFactory.tテクスチャの解放( ref this.txFLIP ); base.OnManagedリソースの解放(); } } @@ -247,8 +247,8 @@ namespace DTXMania //--------------------- if( base.b初めての進行描画 ) { - this.ct登場時アニメ用共通 = new CCounter( 0, 100, 3, CDTXMania.Timer ); - if( CDTXMania.r直前のステージ == CDTXMania.stage結果 ) + this.ct登場時アニメ用共通 = new CCounter( 0, 100, 3, CDTXMania.app.Timer ); + if( CDTXMania.app.r直前のステージ == CDTXMania.app.stage結果 ) { this.actFIfrom結果画面.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン; @@ -313,7 +313,7 @@ namespace DTXMania this.actArtistComment.On進行描画(); this.actオプションパネル.On進行描画(); #region [ FLIP描画 ] - if ( this.txFLIP != null && CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.16 yyagi + if ( this.txFLIP != null && CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.16 yyagi { Rectangle rect = new Rectangle( (int) ( 31 * Scale.X ), @@ -365,8 +365,8 @@ namespace DTXMania #endregion if( !this.bBGM再生済み && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) { - CDTXMania.Skin.bgm選曲画面.n音量_次に鳴るサウンド = 100; - CDTXMania.Skin.bgm選曲画面.t再生する(); + CDTXMania.app.Skin.bgm選曲画面.n音量_次に鳴るサウンド = 100; + CDTXMania.app.Skin.bgm選曲画面.t再生する(); this.bBGM再生済み = true; } @@ -376,7 +376,7 @@ namespace DTXMania // キー入力 if( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 - && CDTXMania.act現在入力を占有中のプラグイン == null ) + && CDTXMania.app.act現在入力を占有中のプラグイン == null ) { #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ] if ( actQuickConfig.bGotoDetailConfig ) @@ -386,16 +386,16 @@ namespace DTXMania this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); return 0; } #endregion if ( !this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu ) { #region [ ESC ] - if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || ( ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) ) && ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード == null ) ) ) ) + if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || ( ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || CDTXMania.app.Pad.b押されたGB( Eパッド.Cancel ) ) && ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード == null ) ) ) ) { // [ESC] - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る; this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; @@ -403,28 +403,28 @@ namespace DTXMania } #endregion #region [ Shift-F1: CONFIG画面 ] - if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) && - CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) ) + if ( ( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) && + CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) ) { // [SHIFT] + [F1] CONFIG this.actPresound.tサウンド停止(); this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); return 0; } #endregion #region [ Shift-F2: 未使用 ] // #24525 2011.3.16 yyagi: [SHIFT]+[F2]は廃止(将来発生するかもしれない別用途のためにキープ) /* - if ( ( CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) && - CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F2 ) ) + if ( ( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.RightShift ) || CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int)SlimDX.DirectInput.Key.LeftShift ) ) && + CDTXMania.app.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.F2 ) ) { // [SHIFT] + [F2] CONFIGURATION this.actPresound.tサウンド停止(); this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); return 0; } */ @@ -432,7 +432,7 @@ namespace DTXMania if ( this.act曲リスト.r現在選択中の曲 != null ) { #region [ Right ] - if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) + if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) { if ( this.act曲リスト.r現在選択中の曲 != null ) { @@ -440,7 +440,7 @@ namespace DTXMania { case C曲リストノード.Eノード種別.BOX: { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); bool bNeedChangeSkin = this.act曲リスト.tBOXに入る(); if ( bNeedChangeSkin ) { @@ -454,11 +454,11 @@ namespace DTXMania } #endregion #region [ Decide ] - if (( CDTXMania.Pad.b押されたDGB( Eパッド.Decide ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || - ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || - ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) + if (( CDTXMania.app.Pad.b押されたDGB( Eパッド.Decide ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || + ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || + ( CDTXMania.app.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) ) { - CDTXMania.Skin.sound決定音.t再生する(); + CDTXMania.app.Skin.sound決定音.t再生する(); if ( this.act曲リスト.r現在選択中の曲 != null ) { switch ( this.act曲リスト.r現在選択中の曲.eノード種別 ) @@ -501,61 +501,61 @@ namespace DTXMania } #endregion #region [ Up ] - this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - this.ctキー反復用.R.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) + this.ctキー反復用.Up.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + this.ctキー反復用.R.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.R ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.SD ) ) { this.tカーソルを上へ移動する(); } #endregion #region [ Down ] - this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - this.ctキー反復用.B.tキー反復( CDTXMania.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) + this.ctキー反復用.Down.tキー反復( CDTXMania.app.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + this.ctキー反復用.B.tキー反復( CDTXMania.app.Pad.b押されているGB( Eパッド.B ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LT ) ) { this.tカーソルを下へ移動する(); } #endregion #region [ Upstairs / Left ] if ( ( ( this.act曲リスト.r現在選択中の曲 != null ) && ( this.act曲リスト.r現在選択中の曲.r親ノード != null ) ) && - ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || - CDTXMania.Pad.b押されたGB( Eパッド.Cancel ) || - CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) ) + ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.FT ) || + CDTXMania.app.Pad.b押されたGB( Eパッド.Cancel ) || + CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) ) { this.actPresound.tサウンド停止(); - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); this.act曲リスト.tBOXを出る(); this.t選択曲変更通知(); } #endregion #region [ BDx2: 簡易CONFIG ] - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.BD ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.BD ) ) { // [BD]x2 スクロール速度変更 CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.BD ); EパッドFlag[] comChangeScrollSpeed = new EパッドFlag[] { EパッドFlag.BD, EパッドFlag.BD }; if ( CommandHistory.CheckCommand( comChangeScrollSpeed, E楽器パート.DRUMS ) ) { // Debug.WriteLine( "ドラムススクロール速度変更" ); - // CDTXMania.ConfigIni.n譜面スクロール速度.Drums = ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ) % 0x10; - CDTXMania.Skin.sound変更音.t再生する(); + // CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums = ( CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1 ) % 0x10; + CDTXMania.app.Skin.sound変更音.t再生する(); this.actQuickConfig.tActivatePopupMenu( E楽器パート.DRUMS ); } } #endregion #region [ HHx2: 難易度変更 ] - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HH ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HHO ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.HH ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.HHO ) ) { // [HH]x2 難易度変更 CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH ); EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH }; if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) ) { this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); } } #endregion #region [ G + PickPick Guitar: 難易度変更 ] - if ( CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && + if ( CDTXMania.app.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) && CDTXMania.app.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && { // [G] + [Pick][Pick] ギター難易度変更 CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick | EパッドFlag.G ); EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; @@ -563,12 +563,12 @@ namespace DTXMania { Debug.WriteLine( "ギター難易度変更" ); this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); } } #endregion #region [ G + PickPick Bass: 難易度変更 ] - if ( CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) && CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && + if ( CDTXMania.app.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) && CDTXMania.app.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) ) // #24177 2011.1.17 yyagi || -> && { // [G] + [Pick][Pick] ベース難易度変更 CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick | EパッドFlag.G ); EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.Pick | EパッドFlag.G, EパッドFlag.Pick | EパッドFlag.G }; @@ -576,12 +576,12 @@ namespace DTXMania { Debug.WriteLine( "ベース難易度変更" ); this.act曲リスト.t難易度レベルをひとつ進める(); - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); } } #endregion #region [ Pick G G Pick Guitar: ギターとベースを入れ替え ] - if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.GUITAR, Eパッド.Pick ) && !CDTXMania.app.Pad.b押されている( E楽器パート.GUITAR, Eパッド.G ) ) { // ギター[Pick]: コマンドとしてEnqueue CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.Pick ); // Pick, G, G, Pick で、ギターとベースを入れ替え @@ -589,15 +589,15 @@ namespace DTXMania if ( CommandHistory.CheckCommand( comSwapGtBs1, E楽器パート.GUITAR ) ) { Debug.WriteLine( "ギターとベースの入れ替え1" ); - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); // ギターとベースのキーを入れ替え - //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); - CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + //CDTXMania.app.ConfigIni.SwapGuitarBassKeyAssign(); + CDTXMania.app.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.app.ConfigIni.bIsSwappedGuitarBass; } } #endregion #region [ Pick G G Pick Bass: ギターとベースを入れ替え ] - if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) && !CDTXMania.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.BASS, Eパッド.Pick ) && !CDTXMania.app.Pad.b押されている( E楽器パート.BASS, Eパッド.G ) ) { // ベース[Pick]: コマンドとしてEnqueue CommandHistory.Add( E楽器パート.BASS, EパッドFlag.Pick ); // Pick, G, G, Pick で、ギターとベースを入れ替え @@ -605,48 +605,48 @@ namespace DTXMania if ( CommandHistory.CheckCommand( comSwapGtBs1, E楽器パート.BASS ) ) { Debug.WriteLine( "ギターとベースの入れ替え2" ); - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); // ギターとベースのキーを入れ替え - //CDTXMania.ConfigIni.SwapGuitarBassKeyAssign(); - CDTXMania.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.ConfigIni.bIsSwappedGuitarBass; + //CDTXMania.app.ConfigIni.SwapGuitarBassKeyAssign(); + CDTXMania.app.ConfigIni.bIsSwappedGuitarBass = !CDTXMania.app.ConfigIni.bIsSwappedGuitarBass; } } #endregion #region [ G G G Guitar: ソート画面 ] - if ( CDTXMania.Pad.b押された( E楽器パート.GUITAR, Eパッド.G ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.GUITAR, Eパッド.G ) ) { // ギター[G]: コマンドとしてEnqueue CommandHistory.Add( E楽器パート.GUITAR, EパッドFlag.G ); // ギター G, G, G で、ソート画面に遷移 EパッドFlag[] comSortGt = new EパッドFlag[] { EパッドFlag.G, EパッドFlag.G, EパッドFlag.G }; if ( CommandHistory.CheckCommand( comSortGt, E楽器パート.GUITAR ) ) { - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); this.actSortSongs.tActivatePopupMenu( E楽器パート.GUITAR, ref this.act曲リスト ); } } #endregion #region [ G G G Bass: ソート画面 ] - if ( CDTXMania.Pad.b押された( E楽器パート.BASS, Eパッド.G ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.BASS, Eパッド.G ) ) { // ベース[G]: コマンドとしてEnqueue CommandHistory.Add( E楽器パート.BASS, EパッドFlag.G ); // ベース G, G, G で、ソート画面に遷移 EパッドFlag[] comSortBs = new EパッドFlag[] { EパッドFlag.G, EパッドFlag.G, EパッドFlag.G }; if ( CommandHistory.CheckCommand( comSortBs, E楽器パート.BASS ) ) { - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); this.actSortSongs.tActivatePopupMenu( E楽器パート.BASS, ref this.act曲リスト ); } } #endregion #region [ BD HT Drums: ソート画面 ] - if ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.HT ) ) + if ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.HT ) ) { // [BD]+[HT] 未使用 // CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HT ); EパッドFlag[] comSort = new EパッドFlag[] { EパッドFlag.BD, EパッドFlag.HT }; if ( CommandHistory.CheckCommand( comSort, E楽器パート.DRUMS ) ) { - CDTXMania.Skin.sound変更音.t再生する(); + CDTXMania.app.Skin.sound変更音.t再生する(); this.actSortSongs.tActivatePopupMenu( E楽器パート.DRUMS, ref this.act曲リスト ); } } @@ -779,7 +779,7 @@ namespace DTXMania STCommandTime _stct = new STCommandTime { eInst = _eInst, ePad = _ePad, - time = CDTXMania.Timer.n現在時刻 + time = CDTXMania.app.Timer.n現在時刻 }; if ( stct.Count >= buffersize ) @@ -810,7 +810,7 @@ namespace DTXMania return false; } - long curTime = CDTXMania.Timer.n現在時刻; + long curTime = CDTXMania.app.Timer.n現在時刻; //Debug.WriteLine("Start checking...targetCount=" + targetCount); for ( int i = targetCount - 1, j = stciCount - 1; i >= 0; i--, j-- ) { @@ -845,12 +845,12 @@ namespace DTXMania private void tカーソルを下へ移動する() { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.act曲リスト.t次に移動(); } private void tカーソルを上へ移動する() { - CDTXMania.Skin.soundカーソル移動音.t再生する(); + CDTXMania.app.Skin.soundカーソル移動音.t再生する(); this.act曲リスト.t前に移動(); } private void t曲をランダム選択する() @@ -874,8 +874,8 @@ namespace DTXMania } for( int j = 0; j < ( count * 1.5 ); j++ ) { - int index = CDTXMania.Random.Next( count ); - int num5 = CDTXMania.Random.Next( count ); + int index = CDTXMania.app.Random.Next( count ); + int num5 = CDTXMania.app.Random.Next( count ); int num6 = numArray[ num5 ]; numArray[ num5 ] = numArray[ index ]; numArray[ index ] = num6; @@ -884,7 +884,7 @@ namespace DTXMania { song.stackランダム演奏番号.Push( numArray[ k ] ); } - if( CDTXMania.ConfigIni.bLogDTX詳細ログ出力 ) + if( CDTXMania.app.ConfigIni.bLogDTX詳細ログ出力 ) { StringBuilder builder = new StringBuilder( 0x400 ); builder.Append( string.Format( "ランダムインデックスリストを作成しました: {0}曲: ", song.stackランダム演奏番号.Count ) ); @@ -901,7 +901,7 @@ namespace DTXMania this.eフェードアウト完了時の戻り値 = E戻り値.選曲した; // this.actFOtoNowLoading.tフェードアウト開始(); // #27787 2012.3.10 yyagi 曲決定時の画面フェードアウトの省略 base.eフェーズID = CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト; - if( CDTXMania.ConfigIni.bLogDTX詳細ログ出力 ) + if( CDTXMania.app.ConfigIni.bLogDTX詳細ログ出力 ) { int[] numArray2 = song.stackランダム演奏番号.ToArray(); StringBuilder builder2 = new StringBuilder( 0x400 ); @@ -919,7 +919,7 @@ namespace DTXMania } Trace.TraceInformation( builder2.ToString() ); } - CDTXMania.Skin.bgm選曲画面.t停止する(); + CDTXMania.app.Skin.bgm選曲画面.t停止する(); } private void t曲を選択する() { @@ -932,21 +932,21 @@ namespace DTXMania // this.actFOtoNowLoading.tフェードアウト開始(); // #27787 2012.3.10 yyagi 曲決定時の画面フェードアウトの省略 base.eフェーズID = CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト; } - CDTXMania.Skin.bgm選曲画面.t停止する(); + CDTXMania.app.Skin.bgm選曲画面.t停止する(); } private List t指定された曲が存在する場所の曲を列挙する_子リスト含む( C曲リストノード song ) { List list = new List(); song = song.r親ノード; - if( ( song == null ) && ( CDTXMania.Songs管理.list曲ルート.Count > 0 ) ) + if( ( song == null ) && ( CDTXMania.app.Songs管理.list曲ルート.Count > 0 ) ) { - foreach( C曲リストノード c曲リストノード in CDTXMania.Songs管理.list曲ルート ) + foreach( C曲リストノード c曲リストノード in CDTXMania.app.Songs管理.list曲ルート ) { if( ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.SCORE ) || ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.SCORE_MIDI ) ) { list.Add( c曲リストノード ); } - if( ( c曲リストノード.list子リスト != null ) && CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする ) + if( ( c曲リストノード.list子リスト != null ) && CDTXMania.app.ConfigIni.bランダムセレクトで子BOXを検索対象とする ) { this.t指定された曲の子リストの曲を列挙する_孫リスト含む( c曲リストノード, ref list ); } @@ -966,7 +966,7 @@ namespace DTXMania { list.Add( c曲リストノード ); } - if( ( c曲リストノード.list子リスト != null ) && CDTXMania.ConfigIni.bランダムセレクトで子BOXを検索対象とする ) + if( ( c曲リストノード.list子リスト != null ) && CDTXMania.app.ConfigIni.bランダムセレクトで子BOXを検索対象とする ) { this.t指定された曲の子リストの曲を列挙する_孫リスト含む( c曲リストノード, ref list ); } diff --git a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs index 8230b13d..8e5e3eac 100644 --- a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs +++ b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs @@ -13,14 +13,13 @@ namespace DTXMania internal class CStage曲読み込み : CStage { // コンストラクタ - public CStage曲読み込み() { base.eステージID = CStage.Eステージ.曲読み込み; base.eフェーズID = CStage.Eフェーズ.共通_通常状態; base.b活性化してない = true; -// base.list子Activities.Add( this.actFI = new CActFIFOBlack() ); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 - base.list子Activities.Add( this.actFO = new CActFIFOBlack() ); + // base.list子Activities.Add( this.actFI = new CActFIFOBlack() ); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 + base.list子Activities.Add(this.actFO = new CActFIFOBlack()); } @@ -28,7 +27,7 @@ namespace DTXMania public override void On活性化() { - Trace.TraceInformation( "曲読み込みステージを活性化します。" ); + Trace.TraceInformation("曲読み込みステージを活性化します。"); Trace.Indent(); try { @@ -36,137 +35,86 @@ namespace DTXMania this.strSTAGEFILE = ""; this.b音符を表示する = false; this.n音符の表示位置X = 0x308; - this.ftタイトル表示用フォント = new Font( "MS PGothic", fFontSizeTitle * Scale.Y, GraphicsUnit.Pixel ); + this.ftタイトル表示用フォント = new Font("MS PGothic", fFontSizeTitle * Scale.Y, GraphicsUnit.Pixel); this.nBGM再生開始時刻 = -1; this.nBGMの総再生時間ms = 0; - if( this.sd読み込み音 != null ) + if (this.sd読み込み音 != null) { - CDTXMania.Sound管理.tサウンドを破棄する( this.sd読み込み音 ); + CDTXMania.app.Sound管理.tサウンドを破棄する(this.sd読み込み音); this.sd読み込み音 = null; } - string strDTXファイルパス = ( CDTXMania.bコンパクトモード ) ? - CDTXMania.strコンパクトモードファイル : CDTXMania.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; - - CDTX cdtx = new CDTX( strDTXファイルパス, true ); + string strDTXファイルパス = (CDTXMania.app.bコンパクトモード) ? + CDTXMania.app.strコンパクトモードファイル : CDTXMania.app.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; + + CDTX cdtx = new CDTX(strDTXファイルパス, true); this.str曲タイトル = cdtx.TITLE; - if( ( ( cdtx.STAGEFILE != null ) && ( cdtx.STAGEFILE.Length > 0 ) ) && ( File.Exists( cdtx.strフォルダ名 + cdtx.STAGEFILE ) && !CDTXMania.ConfigIni.bストイックモード ) ) + if (((cdtx.STAGEFILE != null) && (cdtx.STAGEFILE.Length > 0)) && (File.Exists(cdtx.strフォルダ名 + cdtx.STAGEFILE) && !CDTXMania.app.ConfigIni.bストイックモード)) { this.strSTAGEFILE = cdtx.strフォルダ名 + cdtx.STAGEFILE; this.b音符を表示する = false; } else { - this.strSTAGEFILE = CSkin.Path( @"Graphics\\ScreenNowLoading background.jpg" ); + this.strSTAGEFILE = CSkin.Path(@"Graphics\\ScreenNowLoading background.jpg"); this.b音符を表示する = true; } - if( ( ( cdtx.SOUND_NOWLOADING != null ) && ( cdtx.SOUND_NOWLOADING.Length > 0 ) ) && File.Exists( cdtx.strフォルダ名 + cdtx.SOUND_NOWLOADING ) ) + if (((cdtx.SOUND_NOWLOADING != null) && (cdtx.SOUND_NOWLOADING.Length > 0)) && File.Exists(cdtx.strフォルダ名 + cdtx.SOUND_NOWLOADING)) { string strNowLoadingサウンドファイルパス = cdtx.strフォルダ名 + cdtx.SOUND_NOWLOADING; try { - this.sd読み込み音 = CDTXMania.Sound管理.tサウンドを生成する( strNowLoadingサウンドファイルパス ); + this.sd読み込み音 = CDTXMania.app.Sound管理.tサウンドを生成する(strNowLoadingサウンドファイルパス); } catch { - Trace.TraceError( "#SOUND_NOWLOADING に指定されたサウンドファイルの読み込みに失敗しました。({0})", strNowLoadingサウンドファイルパス ); + Trace.TraceError("#SOUND_NOWLOADING に指定されたサウンドファイルの読み込みに失敗しました。({0})", strNowLoadingサウンドファイルパス); } } - - // #35411 2015.08.19 chnmr0 add - // Read ghost data by config - // It does not exist a ghost file for 'perfect' actually - string [] inst = {"dr", "gt", "bs"}; - if( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) - { - inst[1] = "bs"; - inst[2] = "gt"; - } - - for(int instIndex = 0; instIndex < inst.Length; ++instIndex) - { - bool readAutoGhostCond = false; - readAutoGhostCond |= instIndex == 0 ? CDTXMania.ConfigIni.bドラムが全部オートプレイである : false; - readAutoGhostCond |= instIndex == 1 ? CDTXMania.ConfigIni.bギターが全部オートプレイである : false; - readAutoGhostCond |= instIndex == 2 ? CDTXMania.ConfigIni.bベースが全部オートプレイである : false; - - CDTXMania.listTargetGhsotLag[instIndex] = null; - CDTXMania.listAutoGhostLag[instIndex] = null; - - if ( readAutoGhostCond ) - { - string[] prefix = { "perfect", "lastplay", "hiskill", "hiscore", "online" }; - int indPrefix = (int)CDTXMania.ConfigIni.eAutoGhost[instIndex]; - string filename = cdtx.strフォルダ名 + "\\" + cdtx.strファイル名 + "." + prefix[indPrefix] + "." + inst[instIndex] + ".ghost"; - if ( File.Exists(filename) ) - { - CDTXMania.listAutoGhostLag[instIndex] = new List(); - ReadGhost(filename, CDTXMania.listAutoGhostLag[instIndex]); - } - } - - if( CDTXMania.ConfigIni.eTargetGhost[instIndex] != ETargetGhostData.NONE ) - { - string[] prefix = { "none", "perfect", "lastplay", "hiskill", "hiscore", "online" }; - int indPrefix = (int)CDTXMania.ConfigIni.eTargetGhost[instIndex]; - string filename = cdtx.strフォルダ名 + "\\" + cdtx.strファイル名 + "." + prefix[indPrefix] + "." + inst[instIndex] + ".ghost"; - if (File.Exists(filename)) - { - CDTXMania.listTargetGhsotLag[instIndex] = new List(); - ReadGhost(filename, CDTXMania.listTargetGhsotLag[instIndex]); - } - else if( CDTXMania.ConfigIni.eTargetGhost[instIndex] == ETargetGhostData.PERFECT ) - { - // All perfect - CDTXMania.listTargetGhsotLag[instIndex] = new List(); - } - } - } - cdtx.On非活性化(); base.On活性化(); } finally { - Trace.TraceInformation( "曲読み込みステージの活性化を完了しました。" ); + Trace.TraceInformation("曲読み込みステージの活性化を完了しました。"); Trace.Unindent(); } } - private void ReadGhost(string filename, List list) // #35411 2015.08.19 chnmr0 add - { - if (File.Exists(filename)) - { - using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) - { - using (BinaryReader br = new BinaryReader(fs)) - { - try - { - int cnt = br.ReadInt32(); - for (int i = 0; i < cnt; ++i) - { - short lag = br.ReadInt16(); - list.Add(lag); - } - } - catch( EndOfStreamException ) - { - Trace.TraceInformation("ゴーストデータは正しく読み込まれませんでした。"); - list.Clear(); - } - } - } - } - } + private void ReadGhost(string filename, List list) // #35411 2015.08.19 chnmr0 add + { + if (File.Exists(filename)) + { + using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) + { + using (BinaryReader br = new BinaryReader(fs)) + { + try + { + int cnt = br.ReadInt32(); + for (int i = 0; i < cnt; ++i) + { + short lag = br.ReadInt16(); + list.Add(lag); + } + } + catch (EndOfStreamException) + { + Trace.TraceInformation("ゴーストデータは正しく読み込まれませんでした。"); + list.Clear(); + } + } + } + } + } public override void On非活性化() { - Trace.TraceInformation( "曲読み込みステージを非活性化します。" ); + Trace.TraceInformation("曲読み込みステージを非活性化します。"); Trace.Indent(); try { - if( this.ftタイトル表示用フォント != null ) + if (this.ftタイトル表示用フォント != null) { this.ftタイトル表示用フォント.Dispose(); this.ftタイトル表示用フォント = null; @@ -175,52 +123,52 @@ namespace DTXMania } finally { - Trace.TraceInformation( "曲読み込みステージの非活性化を完了しました。" ); + Trace.TraceInformation("曲読み込みステージの非活性化を完了しました。"); Trace.Unindent(); } } public override void OnManagedリソースの作成() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { - this.tx音符 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\\ScreenNowLoading onpu.png" ), false ); - this.tx背景 = CDTXMania.tテクスチャの生成( this.strSTAGEFILE, false ); + this.tx音符 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\\ScreenNowLoading onpu.png"), false); + this.tx背景 = TextureFactory.tテクスチャの生成(this.strSTAGEFILE, false); - if ( !this.b音符を表示する && this.tx背景 != null ) + if (!this.b音符を表示する && this.tx背景 != null) { - this.tx背景.vc拡大縮小倍率 = new Vector3( Scale.X, Scale.Y, 1f ); // とりあえずFullHD化 + this.tx背景.vc拡大縮小倍率 = new Vector3(Scale.X, Scale.Y, 1f); // とりあえずFullHD化 } - if ( this.b音符を表示する ) + if (this.b音符を表示する) { try { - if( ( this.str曲タイトル != null ) && ( this.str曲タイトル.Length > 0 ) ) + if ((this.str曲タイトル != null) && (this.str曲タイトル.Length > 0)) { - Bitmap image = new Bitmap( 1, 1 ); - Graphics graphics = Graphics.FromImage( image ); - SizeF ef = graphics.MeasureString( this.str曲タイトル, this.ftタイトル表示用フォント ); - Size size = new Size( (int) Math.Ceiling( (double) ef.Width ), (int) Math.Ceiling( (double) ef.Height ) ); + Bitmap image = new Bitmap(1, 1); + Graphics graphics = Graphics.FromImage(image); + SizeF ef = graphics.MeasureString(this.str曲タイトル, this.ftタイトル表示用フォント); + Size size = new Size((int)Math.Ceiling((double)ef.Width), (int)Math.Ceiling((double)ef.Height)); graphics.Dispose(); image.Dispose(); - image = new Bitmap( size.Width, size.Height ); - graphics = Graphics.FromImage( image ); + image = new Bitmap(size.Width, size.Height); + graphics = Graphics.FromImage(image); graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; - graphics.DrawString( this.str曲タイトル, this.ftタイトル表示用フォント, Brushes.White, ( float ) 0f, ( float ) 0f ); + graphics.DrawString(this.str曲タイトル, this.ftタイトル表示用フォント, Brushes.White, (float)0f, (float)0f); graphics.Dispose(); - this.txタイトル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); - this.txタイトル.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); + this.txタイトル = new CTexture(CDTXMania.app.Device, image, CDTXMania.app.TextureFormat); + this.txタイトル.vc拡大縮小倍率 = new Vector3(0.5f, 0.5f, 1f); image.Dispose(); - this.n音符の表示位置X = ( ( SampleFramework.GameWindowSize.Width - ( (int) ( size.Width * this.txタイトル.vc拡大縮小倍率.X ) ) ) - ( ( this.tx音符 != null ) ? this.tx音符.sz画像サイズ.Width : 0 ) ) - 2; + this.n音符の表示位置X = ((SampleFramework.GameWindowSize.Width - ((int)(size.Width * this.txタイトル.vc拡大縮小倍率.X))) - ((this.tx音符 != null) ? this.tx音符.sz画像サイズ.Width : 0)) - 2; } else { this.txタイトル = null; - this.n音符の表示位置X = ( SampleFramework.GameWindowSize.Width - ( ( this.tx音符 != null ) ? this.tx音符.sz画像サイズ.Width : 0 ) ) - 2; + this.n音符の表示位置X = (SampleFramework.GameWindowSize.Width - ((this.tx音符 != null) ? this.tx音符.sz画像サイズ.Width : 0)) - 2; } } - catch( CTextureCreateFailedException ) + catch (CTextureCreateFailedException) { - Trace.TraceError( "テクスチャの生成に失敗しました。({0})", new object[] { this.strSTAGEFILE } ); + Trace.TraceError("テクスチャの生成に失敗しました。({0})", new object[] { this.strSTAGEFILE }); this.txタイトル = null; this.tx背景 = null; } @@ -234,11 +182,11 @@ namespace DTXMania } public override void OnManagedリソースの解放() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.tx音符 ); - CDTXMania.tテクスチャの解放( ref this.txタイトル ); + TextureFactory.tテクスチャの解放(ref this.tx背景); + TextureFactory.tテクスチャの解放(ref this.tx音符); + TextureFactory.tテクスチャの解放(ref this.txタイトル); base.OnManagedリソースの解放(); } } @@ -246,17 +194,17 @@ namespace DTXMania { string str; - if( base.b活性化してない ) + if (base.b活性化してない) return 0; #region [ 初めての進行描画 ] //----------------------------- - if( base.b初めての進行描画 ) + if (base.b初めての進行描画) { - Cスコア cスコア1 = CDTXMania.stage選曲.r確定されたスコア; - if( this.sd読み込み音 != null ) + Cスコア cスコア1 = CDTXMania.app.stage選曲.r確定されたスコア; + if (this.sd読み込み音 != null) { - if( CDTXMania.Skin.sound曲読込開始音.b排他 && ( CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド != null ) ) + if (CDTXMania.app.Skin.sound曲読込開始音.b排他 && (CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド != null)) { CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド.t停止する(); } @@ -266,44 +214,44 @@ namespace DTXMania } else { - CDTXMania.Skin.sound曲読込開始音.t再生する(); + CDTXMania.app.Skin.sound曲読込開始音.t再生する(); this.nBGM再生開始時刻 = CSound管理.rc演奏用タイマ.n現在時刻; - this.nBGMの総再生時間ms = CDTXMania.Skin.sound曲読込開始音.n長さ_現在のサウンド; + this.nBGMの総再生時間ms = CDTXMania.app.Skin.sound曲読込開始音.n長さ_現在のサウンド; } -// this.actFI.tフェードイン開始(); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 + // this.actFI.tフェードイン開始(); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; base.b初めての進行描画 = false; nWAVcount = 1; - bitmapFilename = new Bitmap( SampleFramework.GameWindowSize.Width, (int)(fFontSizeFilename * Scale.X) ); - graphicsFilename = Graphics.FromImage( bitmapFilename ); + bitmapFilename = new Bitmap(SampleFramework.GameWindowSize.Width, (int)(fFontSizeFilename * Scale.X)); + graphicsFilename = Graphics.FromImage(bitmapFilename); graphicsFilename.TextRenderingHint = TextRenderingHint.AntiAlias; - ftFilename = new Font( "MS PGothic", fFontSizeFilename * Scale.X, FontStyle.Bold, GraphicsUnit.Pixel ); + ftFilename = new Font("MS PGothic", fFontSizeFilename * Scale.X, FontStyle.Bold, GraphicsUnit.Pixel); } //----------------------------- #endregion #region [ ESC押下時は選曲画面に戻る ] - if ( tキー入力() ) + if (tキー入力()) { - if ( this.sd読み込み音 != null ) + if (this.sd読み込み音 != null) { this.sd読み込み音.tサウンドを停止する(); this.sd読み込み音.t解放する(); } - return (int) E曲読込画面の戻り値.読込中止; + return (int)E曲読込画面の戻り値.読込中止; } #endregion #region [ 背景、音符+タイトル表示 ] //----------------------------- - if( this.tx背景 != null ) - this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 ); + if (this.tx背景 != null) + this.tx背景.t2D描画(CDTXMania.app.Device, 0, 0); - if ( this.b音符を表示する ) + if (this.b音符を表示する) { - int y = SampleFramework.GameWindowSize.Height - (int) ( fFontSizeTitle * Scale.Y ) + (int) ( 3 * Scale.X ); // 480 - 45; - if ( this.tx音符 != null ) + int y = SampleFramework.GameWindowSize.Height - (int)(fFontSizeTitle * Scale.Y) + (int)(3 * Scale.X); // 480 - 45; + if (this.tx音符 != null) { this.tx音符.t2D描画( CDTXMania.app.Device, @@ -311,11 +259,11 @@ namespace DTXMania y ); } - if ( this.txタイトル != null ) + if (this.txタイトル != null) { this.txタイトル.t2D描画( CDTXMania.app.Device, - (int) ( SampleFramework.GameWindowSize.Width - ( this.txタイトル.sz画像サイズ.Width * this.txタイトル.vc拡大縮小倍率.X ) ), + (int)(SampleFramework.GameWindowSize.Width - (this.txタイトル.sz画像サイズ.Width * this.txタイトル.vc拡大縮小倍率.X)), y ); } @@ -323,179 +271,220 @@ namespace DTXMania //----------------------------- #endregion - switch( base.eフェーズID ) + switch (base.eフェーズID) { case CStage.Eフェーズ.共通_フェードイン: -// if( this.actFI.On進行描画() != 0 ) // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 - // 必ず一度「CStaeg.Eフェーズ.共通_フェードイン」フェーズを経由させること。 - // さもないと、曲読み込みが完了するまで、曲読み込み画面が描画されない。 - base.eフェーズID = CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む; - return (int) E曲読込画面の戻り値.継続; + // if( this.actFI.On進行描画() != 0 ) // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 + // 必ず一度「CStaeg.Eフェーズ.共通_フェードイン」フェーズを経由させること。 + // さもないと、曲読み込みが完了するまで、曲読み込み画面が描画されない。 + base.eフェーズID = CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む; + return (int)E曲読込画面の戻り値.継続; case CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む: { timeBeginLoad = DateTime.Now; TimeSpan span; str = null; - if( !CDTXMania.bコンパクトモード ) - str = CDTXMania.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; + if (!CDTXMania.app.bコンパクトモード) + str = CDTXMania.app.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; else - str = CDTXMania.strコンパクトモードファイル; + str = CDTXMania.app.strコンパクトモードファイル; - CScoreIni ini = new CScoreIni( str + ".score.ini" ); + CScoreIni ini = new CScoreIni(str + ".score.ini"); ini.t全演奏記録セクションの整合性をチェックし不整合があればリセットする(); - if( ( CDTXMania.DTX != null ) && CDTXMania.DTX.b活性化してる ) - CDTXMania.DTX.On非活性化(); - - CDTXMania.DTX = new CDTX( str, false, ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0, ini.stファイル.BGMAdjust ); - Trace.TraceInformation( "----曲情報-----------------" ); - Trace.TraceInformation( "TITLE: {0}", CDTXMania.DTX.TITLE ); - Trace.TraceInformation( "FILE: {0}", CDTXMania.DTX.strファイル名の絶対パス ); - Trace.TraceInformation( "---------------------------" ); - - // #35411 2015.08.19 chnmr0 add ゴースト機能のためList chip 読み込み後楽器パート出現順インデックスを割り振る - int[] curCount = new int[(int)E楽器パート.UNKNOWN]; - for (int i = 0; i < curCount.Length; ++i) - { - curCount[i] = 0; - } - foreach (CChip chip in CDTXMania.DTX.listChip) - { - if (chip.e楽器パート != E楽器パート.UNKNOWN) - { - chip.n楽器パートでの出現順 = curCount[(int)chip.e楽器パート]++; - } - } - - span = (TimeSpan) ( DateTime.Now - timeBeginLoad ); - Trace.TraceInformation( "DTX読込所要時間: {0}", span.ToString() ); - - if ( CDTXMania.bコンパクトモード ) - CDTXMania.DTX.MIDIレベル = 1; + if ((CDTXMania.app.DTX != null) && CDTXMania.app.DTX.b活性化してる) + CDTXMania.app.DTX.On非活性化(); + + CDTXMania.app.DTX = new CDTX(str, false, ((double)CDTXMania.app.ConfigIni.n演奏速度) / 20.0, ini.stファイル.BGMAdjust); + Trace.TraceInformation("----曲情報-----------------"); + Trace.TraceInformation("TITLE: {0}", CDTXMania.app.DTX.TITLE); + Trace.TraceInformation("FILE: {0}", CDTXMania.app.DTX.strファイル名の絶対パス); + Trace.TraceInformation("---------------------------"); + + string [] inst = new string [3] {"dr", "gt", "bs"}; + for (int instIndex = 0; instIndex < 3; ++instIndex) + { + bool readAutoGhostCond = false; + readAutoGhostCond |= instIndex == 0 ? CDTXMania.app.ConfigIni.bドラムが全部オートプレイである : false; + readAutoGhostCond |= instIndex == 1 ? CDTXMania.app.ConfigIni.bギターが全部オートプレイである : false; + readAutoGhostCond |= instIndex == 2 ? CDTXMania.app.ConfigIni.bベースが全部オートプレイである : false; + + CDTXMania.app.DTX.listTargetGhsotLag[instIndex] = null; + CDTXMania.app.DTX.listAutoGhostLag[instIndex] = null; + + if (readAutoGhostCond) + { + string[] prefix = { "perfect", "lastplay", "hiskill", "hiscore", "online" }; + int indPrefix = (int)CDTXMania.app.ConfigIni.eAutoGhost[instIndex]; + string filename = CDTXMania.app.DTX.strフォルダ名 + "\\" + CDTXMania.app.DTX.strファイル名 + "." + prefix[indPrefix] + "." + inst[instIndex] + ".ghost"; + if (File.Exists(filename)) + { + CDTXMania.app.DTX.listAutoGhostLag[instIndex] = new List(); + ReadGhost(filename, CDTXMania.app.DTX.listAutoGhostLag[instIndex]); + } + } + + if (CDTXMania.app.ConfigIni.eTargetGhost[instIndex] != ETargetGhostData.NONE) + { + string[] prefix = { "none", "perfect", "lastplay", "hiskill", "hiscore", "online" }; + int indPrefix = (int)CDTXMania.app.ConfigIni.eTargetGhost[instIndex]; + string filename = CDTXMania.app.DTX.strフォルダ名 + "\\" + CDTXMania.app.DTX.strファイル名 + "." + prefix[indPrefix] + "." + inst[instIndex] + ".ghost"; + if (File.Exists(filename)) + { + CDTXMania.app.DTX.listTargetGhsotLag[instIndex] = new List(); + ReadGhost(filename, CDTXMania.app.DTX.listTargetGhsotLag[instIndex]); + } + else if (CDTXMania.app.ConfigIni.eTargetGhost[instIndex] == ETargetGhostData.PERFECT) + { + // All perfect + CDTXMania.app.DTX.listTargetGhsotLag[instIndex] = new List(); + } + } + } + + // #35411 2015.08.19 chnmr0 add ゴースト機能のためList chip 読み込み後楽器パート出現順インデックスを割り振る + int[] curCount = new int[(int)E楽器パート.UNKNOWN]; + for (int i = 0; i < curCount.Length; ++i) + { + curCount[i] = 0; + } + foreach (CChip chip in CDTXMania.app.DTX.listChip) + { + if (chip.e楽器パート != E楽器パート.UNKNOWN) + { + chip.n楽器パートでの出現順 = curCount[(int)chip.e楽器パート]++; + } + } + + span = (TimeSpan)(DateTime.Now - timeBeginLoad); + Trace.TraceInformation("DTX読込所要時間: {0}", span.ToString()); + + if (CDTXMania.app.bコンパクトモード) + CDTXMania.app.DTX.MIDIレベル = 1; else - CDTXMania.DTX.MIDIレベル = ( CDTXMania.stage選曲.r確定された曲.eノード種別 == C曲リストノード.Eノード種別.SCORE_MIDI ) ? CDTXMania.stage選曲.n現在選択中の曲の難易度 : 0; + CDTXMania.app.DTX.MIDIレベル = (CDTXMania.app.stage選曲.r確定された曲.eノード種別 == C曲リストノード.Eノード種別.SCORE_MIDI) ? CDTXMania.app.stage選曲.n現在選択中の曲の難易度 : 0; base.eフェーズID = CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む; timeBeginLoadWAV = DateTime.Now; - return (int) E曲読込画面の戻り値.継続; + return (int)E曲読込画面の戻り値.継続; } case CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む: { - if ( nWAVcount == 1 && CDTXMania.DTX.listWAV.Count > 0 ) // #28934 2012.7.7 yyagi (added checking Count) + if (nWAVcount == 1 && CDTXMania.app.DTX.listWAV.Count > 0) // #28934 2012.7.7 yyagi (added checking Count) { - ShowProgressByFilename( CDTXMania.DTX.listWAV[ nWAVcount ].strファイル名 ); + ShowProgressByFilename(CDTXMania.app.DTX.listWAV[nWAVcount].strファイル名); } - int looptime = ( CDTXMania.ConfigIni.b垂直帰線待ちを行う ) ? 3 : 1; - if ( CDTXMania.ConfigIni.b曲読み込みを高速化する ) looptime = CDTXMania.DTX.listWAV.Count / 20 + 1; // #xxxxx ikanick 2016.2.21 ロード高速化 垂直同期の有無に関わらず、1フレームに5%ぐらいずつロードする - for ( int i = 0; i < looptime && nWAVcount <= CDTXMania.DTX.listWAV.Count; i++ ) + int looptime = (CDTXMania.app.ConfigIni.b垂直帰線待ちを行う) ? 3 : 1; + if (CDTXMania.app.ConfigIni.b曲読み込みを高速化する) looptime = CDTXMania.app.DTX.listWAV.Count / 20 + 1; // #xxxxx ikanick 2016.2.21 ロード高速化 垂直同期の有無に関わらず、1フレームに5%ぐらいずつロードする + for (int i = 0; i < looptime && nWAVcount <= CDTXMania.app.DTX.listWAV.Count; i++) { - if ( CDTXMania.DTX.listWAV[ nWAVcount ].listこのWAVを使用するチャンネル番号の集合.Count > 0 ) // #28674 2012.5.8 yyagi + if (CDTXMania.app.DTX.listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0) // #28674 2012.5.8 yyagi { - CDTXMania.DTX.tWAVの読み込み( CDTXMania.DTX.listWAV[ nWAVcount ] ); + CDTXMania.app.DTX.tWAVの読み込み(CDTXMania.app.DTX.listWAV[nWAVcount]); } nWAVcount++; } - if ( nWAVcount <= CDTXMania.DTX.listWAV.Count ) + if (nWAVcount <= CDTXMania.app.DTX.listWAV.Count) { - double f進捗率 = nWAVcount * 100.0f / CDTXMania.DTX.listWAV.Count; - ShowProgressByFilename( "" + f進捗率.ToString("0.0") + "% " + nWAVcount + "/" + CDTXMania.DTX.listWAV.Count + " " + CDTXMania.DTX.listWAV[ nWAVcount ].strファイル名 ); + double f進捗率 = nWAVcount * 100.0f / CDTXMania.app.DTX.listWAV.Count; + ShowProgressByFilename("" + f進捗率.ToString("0.0") + "% " + nWAVcount + "/" + CDTXMania.app.DTX.listWAV.Count + " " + CDTXMania.app.DTX.listWAV[nWAVcount].strファイル名); } - if ( nWAVcount > CDTXMania.DTX.listWAV.Count ) + if (nWAVcount > CDTXMania.app.DTX.listWAV.Count) { - TimeSpan span = ( TimeSpan ) ( DateTime.Now - timeBeginLoadWAV ); - Trace.TraceInformation( "WAV読込所要時間({0,4}): {1}", CDTXMania.DTX.listWAV.Count, span.ToString() ); + TimeSpan span = (TimeSpan)(DateTime.Now - timeBeginLoadWAV); + Trace.TraceInformation("WAV読込所要時間({0,4}): {1}", CDTXMania.app.DTX.listWAV.Count, span.ToString()); timeBeginLoadWAV = DateTime.Now; - if ( CDTXMania.ConfigIni.bDynamicBassMixerManagement ) + if (CDTXMania.app.ConfigIni.bDynamicBassMixerManagement) { - CDTXMania.DTX.PlanToAddMixerChannel(); + CDTXMania.app.DTX.PlanToAddMixerChannel(); } - CDTXMania.DTX.tギターとベースのランダム化( E楽器パート.GUITAR, CDTXMania.ConfigIni.eRandom.Guitar ); - CDTXMania.DTX.tギターとベースのランダム化( E楽器パート.BASS, CDTXMania.ConfigIni.eRandom.Bass ); + CDTXMania.app.DTX.tギターとベースのランダム化(E楽器パート.GUITAR, CDTXMania.app.ConfigIni.eRandom.Guitar); + CDTXMania.app.DTX.tギターとベースのランダム化(E楽器パート.BASS, CDTXMania.app.ConfigIni.eRandom.Bass); - if ( CDTXMania.ConfigIni.bギタレボモード ) - CDTXMania.stage演奏ギター画面.On活性化(); + if (CDTXMania.app.ConfigIni.bギタレボモード) + CDTXMania.app.stage演奏ギター画面.On活性化(); else - CDTXMania.stage演奏ドラム画面.On活性化(); + CDTXMania.app.stage演奏ドラム画面.On活性化(); - span = (TimeSpan) ( DateTime.Now - timeBeginLoadWAV ); - Trace.TraceInformation( "WAV/譜面後処理時間({0,4}): {1}", ( CDTXMania.DTX.listBMP.Count + CDTXMania.DTX.listBMPTEX.Count + CDTXMania.DTX.listAVI.Count ), span.ToString() ); + span = (TimeSpan)(DateTime.Now - timeBeginLoadWAV); + Trace.TraceInformation("WAV/譜面後処理時間({0,4}): {1}", (CDTXMania.app.DTX.listBMP.Count + CDTXMania.app.DTX.listBMPTEX.Count + CDTXMania.app.DTX.listAVI.Count), span.ToString()); base.eフェーズID = CStage.Eフェーズ.NOWLOADING_BMPファイルを読み込む; } - return (int) E曲読込画面の戻り値.継続; + return (int)E曲読込画面の戻り値.継続; } case CStage.Eフェーズ.NOWLOADING_BMPファイルを読み込む: { TimeSpan span; DateTime timeBeginLoadBMPAVI = DateTime.Now; - if ( CDTXMania.ConfigIni.bBGA有効 ) - CDTXMania.DTX.tBMP_BMPTEXの読み込み(); + if (CDTXMania.app.ConfigIni.bBGA有効) + CDTXMania.app.DTX.tBMP_BMPTEXの読み込み(); - if ( CDTXMania.ConfigIni.bAVI有効 ) - CDTXMania.DTX.tAVIの読み込み(); - span = ( TimeSpan ) ( DateTime.Now - timeBeginLoadBMPAVI ); - Trace.TraceInformation( "BMP/AVI読込所要時間({0,4}): {1}", ( CDTXMania.DTX.listBMP.Count + CDTXMania.DTX.listBMPTEX.Count + CDTXMania.DTX.listAVI.Count ), span.ToString() ); + if (CDTXMania.app.ConfigIni.bAVI有効) + CDTXMania.app.DTX.tAVIの読み込み(); + span = (TimeSpan)(DateTime.Now - timeBeginLoadBMPAVI); + Trace.TraceInformation("BMP/AVI読込所要時間({0,4}): {1}", (CDTXMania.app.DTX.listBMP.Count + CDTXMania.app.DTX.listBMPTEX.Count + CDTXMania.app.DTX.listAVI.Count), span.ToString()); - span = ( TimeSpan ) ( DateTime.Now - timeBeginLoad ); - Trace.TraceInformation( "総読込時間: {0}", span.ToString() ); + span = (TimeSpan)(DateTime.Now - timeBeginLoad); + Trace.TraceInformation("総読込時間: {0}", span.ToString()); - if ( bitmapFilename != null ) + if (bitmapFilename != null) { bitmapFilename.Dispose(); bitmapFilename = null; } - if ( graphicsFilename != null ) + if (graphicsFilename != null) { graphicsFilename.Dispose(); graphicsFilename = null; } - if ( ftFilename != null ) + if (ftFilename != null) { ftFilename.Dispose(); ftFilename = null; } - CDTXMania.Timer.t更新(); + CDTXMania.app.Timer.t更新(); base.eフェーズID = CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ; - return (int) E曲読込画面の戻り値.継続; + return (int)E曲読込画面の戻り値.継続; } case CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ: { - long nCurrentTime = CDTXMania.Timer.n現在時刻; - if( nCurrentTime < this.nBGM再生開始時刻 ) + long nCurrentTime = CDTXMania.app.Timer.n現在時刻; + 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 ( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) ) + if ((nCurrentTime - this.nBGM再生開始時刻) >= (this.nBGMの総再生時間ms)) // #27787 2012.3.10 yyagi 1000ms == フェードイン分の時間 { - if ( !CDTXMania.DTXVmode.Enabled ) + if (!CDTXMania.app.DTXVmode.Enabled) { this.actFO.tフェードアウト開始(); } base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; } - return (int) E曲読込画面の戻り値.継続; + return (int)E曲読込画面の戻り値.継続; } case CStage.Eフェーズ.共通_フェードアウト: - if ( this.actFO.On進行描画() == 0 && !CDTXMania.DTXVmode.Enabled ) // DTXVモード時は、フェードアウト省略 + if (this.actFO.On進行描画() == 0 && !CDTXMania.app.DTXVmode.Enabled) // DTXVモード時は、フェードアウト省略 return 0; - if ( txFilename != null ) + if (txFilename != null) { txFilename.Dispose(); } - if ( this.sd読み込み音 != null ) + if (this.sd読み込み音 != null) { this.sd読み込み音.t解放する(); } - return (int) E曲読込画面の戻り値.読込完了; + return (int)E曲読込画面の戻り値.読込完了; } - return (int) E曲読込画面の戻り値.継続; + return (int)E曲読込画面の戻り値.継続; } /// @@ -504,8 +493,8 @@ namespace DTXMania /// protected bool tキー入力() { - IInputDevice keyboard = CDTXMania.Input管理.Keyboard; - if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) ) // escape (exit) + IInputDevice keyboard = CDTXMania.app.Input管理.Keyboard; + if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape)) // escape (exit) { return true; } @@ -513,22 +502,22 @@ namespace DTXMania } - private void ShowProgressByFilename(string strファイル名と進捗 ) + private void ShowProgressByFilename(string strファイル名と進捗) { - if ( graphicsFilename != null && ftFilename != null ) + if (graphicsFilename != null && ftFilename != null) { - graphicsFilename.Clear( Color.Transparent ); - graphicsFilename.DrawString( strファイル名と進捗, ftFilename, Brushes.White, new RectangleF( 0, 0, SampleFramework.GameWindowSize.Width, fFontSizeFilename * Scale.X ) ); - if ( txFilename != null ) + graphicsFilename.Clear(Color.Transparent); + graphicsFilename.DrawString(strファイル名と進捗, ftFilename, Brushes.White, new RectangleF(0, 0, SampleFramework.GameWindowSize.Width, fFontSizeFilename * Scale.X)); + if (txFilename != null) { txFilename.Dispose(); } - txFilename = new CTexture( CDTXMania.app.Device, bitmapFilename, CDTXMania.TextureFormat ); - txFilename.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); + txFilename = new CTexture(CDTXMania.app.Device, bitmapFilename, CDTXMania.app.TextureFormat); + txFilename.vc拡大縮小倍率 = new Vector3(0.5f, 0.5f, 1f); txFilename.t2D描画( CDTXMania.app.Device, 0, - ( SampleFramework.GameWindowSize.Height - (int) ( txFilename.szテクスチャサイズ.Height * 0.5 ) ) + (SampleFramework.GameWindowSize.Height - (int)(txFilename.szテクスチャサイズ.Height * 0.5)) ); } } @@ -537,7 +526,7 @@ namespace DTXMania #region [ private ] //----------------- -// private CActFIFOBlack actFI; + // private CActFIFOBlack actFI; private CActFIFOBlack actFO; private bool b音符を表示する; private Font ftタイトル表示用フォント; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs index f68d4270..8a6b2664 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏AVI.cs @@ -90,7 +90,7 @@ namespace DTXMania } public void SkipStart( int n移動開始時刻ms ) { - foreach( CChip chip in CDTXMania.DTX.listChip ) + foreach( CChip chip in CDTXMania.app.DTX.listChip ) { if( chip.n発声時刻ms > n移動開始時刻ms ) { @@ -106,7 +106,7 @@ namespace DTXMania { this.rAVI = chip.rAVI; // DTXVモードで、最初に途中再生で起動したときに、ここに来る } - this.bFullScreenMovie = ( chip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.ConfigIni.bForceAVIFullscreen ); // DTXVモードで、最初に途中再生で起動したときのために必要 + this.bFullScreenMovie = ( chip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.app.ConfigIni.bForceAVIFullscreen ); // DTXVモードで、最初に途中再生で起動したときのために必要 this.rAVI.avi.Seek( n移動開始時刻ms - chip.n発声時刻ms ); this.Start( chip.eチャンネル番号, chip.rAVI, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, chip.n発声時刻ms ); } @@ -120,7 +120,7 @@ namespace DTXMania { this.rAVI = chip.rAVI; // DTXVモードで、最初に途中再生で起動したときに、ここに来る } - this.bFullScreenMovie = ( chip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.ConfigIni.bForceAVIFullscreen ); // DTXVモードで、最初に途中再生で起動したときのために必要 + this.bFullScreenMovie = ( chip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.app.ConfigIni.bForceAVIFullscreen ); // DTXVモードで、最初に途中再生で起動したときのために必要 this.rAVI.avi.Seek( n移動開始時刻ms - chip.n発声時刻ms ); this.Start( chip.eチャンネル番号, chip.rAVI, chip.rAVIPan.sz開始サイズ.Width, chip.rAVIPan.sz開始サイズ.Height, chip.rAVIPan.sz終了サイズ.Width, chip.rAVIPan.sz終了サイズ.Height, chip.rAVIPan.pt動画側開始位置.X, chip.rAVIPan.pt動画側開始位置.Y, chip.rAVIPan.pt動画側終了位置.X, chip.rAVIPan.pt動画側終了位置.Y, chip.rAVIPan.pt表示側開始位置.X, chip.rAVIPan.pt表示側開始位置.Y, chip.rAVIPan.pt表示側終了位置.X, chip.rAVIPan.pt表示側終了位置.Y, chip.n総移動時間, chip.n発声時刻ms ); } @@ -158,7 +158,7 @@ namespace DTXMania { return 0; } - int time = (int)((CSound管理.rc演奏用タイマ.n現在時刻 - this.n移動開始時刻ms) * (((double)CDTXMania.ConfigIni.n演奏速度) / 20.0)); + int time = (int)((CSound管理.rc演奏用タイマ.n現在時刻 - this.n移動開始時刻ms) * (((double)CDTXMania.app.ConfigIni.n演奏速度) / 20.0)); if( ( this.n総移動時間ms != 0 ) && ( this.n総移動時間ms < time ) ) { this.n総移動時間ms = 0; @@ -174,7 +174,7 @@ namespace DTXMania } // PREVIEW時はループ再生する。移動開始時刻msを現時刻にして(=AVIを最初に巻き戻して)、ここまでに行った計算をやり直す。 this.n移動開始時刻ms = CSound管理.rc演奏用タイマ.n現在時刻; - time = (int) ( ( CSound管理.rc演奏用タイマ.n現在時刻 - this.n移動開始時刻ms ) * ( ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0 ) ); + time = (int) ( ( CSound管理.rc演奏用タイマ.n現在時刻 - this.n移動開始時刻ms ) * ( ( (double) CDTXMania.app.ConfigIni.n演奏速度 ) / 20.0 ) ); this.rAVI.avi.Seek(0); } /* @@ -199,7 +199,7 @@ namespace DTXMania { num4 = CSound管理.rc演奏用タイマ.n現在時刻; } - time = (int) ( ( CSound管理.rc演奏用タイマ.n現在時刻 - num4 ) * ( ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0 ) ); + time = (int) ( ( CSound管理.rc演奏用タイマ.n現在時刻 - num4 ) * ( ( (double) CDTXMania.app.ConfigIni.n演奏速度 ) / 20.0 ) ); if( num3 == 0 ) { rectangle = new Rectangle( 画像側開始位置, 開始サイズ ); @@ -307,7 +307,7 @@ namespace DTXMania float magX = 2, magY = 2; int xx = x, yy = y; - if( CDTXMania.DTX != null && CDTXMania.DTX.bUse556x710BGAAVI ) + if( CDTXMania.app.DTX != null && CDTXMania.app.DTX.bUse556x710BGAAVI ) { magX = magY = 1; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏BGA.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏BGA.cs index 3f60c90c..42099a0a 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏BGA.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏BGA.cs @@ -59,15 +59,15 @@ namespace DTXMania this.stLayer[ i ].pt表示側終了位置.X = n表示側終了位置X * 2; this.stLayer[ i ].pt表示側終了位置.Y = n表示側終了位置Y * 2; this.stLayer[ i ].n総移動時間ms = n総移動時間ms; - this.stLayer[ i ].n移動開始時刻ms = ( n移動開始時刻ms != -1 ) ? n移動開始時刻ms : CDTXMania.Timer.n現在時刻; + this.stLayer[ i ].n移動開始時刻ms = ( n移動開始時刻ms != -1 ) ? n移動開始時刻ms : CDTXMania.app.Timer.n現在時刻; } } } public void SkipStart( int n移動開始時刻ms ) { - for( int i = 0; i < CDTXMania.DTX.listChip.Count; i++ ) + for( int i = 0; i < CDTXMania.app.DTX.listChip.Count; i++ ) { - CChip chip = CDTXMania.DTX.listChip[ i ]; + CChip chip = CDTXMania.app.DTX.listChip[ i ]; if( chip.n発声時刻ms > n移動開始時刻ms ) { return; @@ -179,9 +179,9 @@ namespace DTXMania long timeTotal = this.stLayer[ i ].n総移動時間ms; long timeMoveStart = this.stLayer[ i ].n移動開始時刻ms; - if( CDTXMania.Timer.n現在時刻 < timeMoveStart ) + if( CDTXMania.app.Timer.n現在時刻 < timeMoveStart ) { - timeMoveStart = CDTXMania.Timer.n現在時刻; + timeMoveStart = CDTXMania.app.Timer.n現在時刻; } // Size size3 = new Size( 0x116, 0x163 ); Size size表示域 = new Size( 278 * 2, 355 * 2 ); @@ -194,7 +194,7 @@ namespace DTXMania ( this.stLayer[ i ].rBMP != null ) ? this.stLayer[ i ].rBMP.n幅 : this.stLayer[ i ].rBMPTEX.tx画像.sz画像サイズ.Width, ( this.stLayer[ i ].rBMP != null ) ? this.stLayer[ i ].rBMP.n高さ : this.stLayer[ i ].rBMPTEX.tx画像.sz画像サイズ.Height ); - int n再生位置 = (int) ( ( CDTXMania.Timer.n現在時刻 - timeMoveStart ) * ( ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0 ) ); + int n再生位置 = (int) ( ( CDTXMania.app.Timer.n現在時刻 - timeMoveStart ) * ( ( (double) CDTXMania.app.ConfigIni.n演奏速度 ) / 20.0 ) ); if( ( timeTotal != 0 ) && ( timeTotal < n再生位置 ) ) { @@ -312,7 +312,7 @@ namespace DTXMania { if ( ( this.stLayer[ i ].rBMP != null ) && ( this.stLayer[ i ].rBMP.tx画像 != null ) ) { - if ( CDTXMania.DTX != null && !CDTXMania.DTX.bUse556x710BGAAVI ) + if ( CDTXMania.app.DTX != null && !CDTXMania.app.DTX.bUse556x710BGAAVI ) { this.stLayer[i].rBMP.tx画像.vc拡大縮小倍率.X = 2.0f; this.stLayer[i].rBMP.tx画像.vc拡大縮小倍率.Y = 2.0f; @@ -326,7 +326,7 @@ namespace DTXMania } else if( ( this.stLayer[ i ].rBMPTEX != null ) && ( this.stLayer[ i ].rBMPTEX.tx画像 != null ) ) { - if ( CDTXMania.DTX != null && !CDTXMania.DTX.bUse556x710BGAAVI ) + if ( CDTXMania.app.DTX != null && !CDTXMania.app.DTX.bUse556x710BGAAVI ) { this.stLayer[i].rBMPTEX.tx画像.vc拡大縮小倍率.X = 2.0f; this.stLayer[i].rBMPTEX.tx画像.vc拡大縮小倍率.Y = 2.0f; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Combo共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Combo共通.cs index cd4e8dcd..8bb6812c 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Combo共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏Combo共通.cs @@ -212,7 +212,7 @@ namespace DTXMania { #region [ 事前チェック。] //----------------- - if( CDTXMania.ConfigIni.ドラムコンボ文字の表示位置 == Eドラムコンボ文字の表示位置.OFF ) + if( CDTXMania.app.ConfigIni.ドラムコンボ文字の表示位置 == Eドラムコンボ文字の表示位置.OFF ) return; // 表示OFF。 if( nCombo値 == 0 ) @@ -235,13 +235,13 @@ namespace DTXMania //----------------- #endregion - bool guitar = CDTXMania.DTX.bチップがある.Guitar; - bool bass = CDTXMania.DTX.bチップがある.Bass; - var e表示位置 = CDTXMania.ConfigIni.ドラムコンボ文字の表示位置; + bool guitar = CDTXMania.app.DTX.bチップがある.Guitar; + bool bass = CDTXMania.app.DTX.bチップがある.Bass; + var e表示位置 = CDTXMania.app.ConfigIni.ドラムコンボ文字の表示位置; #region [ e表示位置 の調整 ] //----------------- - if( CDTXMania.ConfigIni.bGuitar有効 ) + if( CDTXMania.app.ConfigIni.bGuitar有効 ) { if( bass ) { @@ -265,18 +265,18 @@ namespace DTXMania switch( e表示位置 ) { case Eドラムコンボ文字の表示位置.LEFT: - nX中央位置px = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ?(int) ( 187 * Scale.X ) : 360; + nX中央位置px = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ?(int) ( 187 * Scale.X ) : 360; break; case Eドラムコンボ文字の表示位置.CENTER: - nX中央位置px = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (int) ( 320 * Scale.X ) : 960; + nX中央位置px = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (int) ( 320 * Scale.X ) : 960; break; case Eドラムコンボ文字の表示位置.RIGHT: - nX中央位置px = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ?(int) ( 485 * Scale.X ) : 1920 - 340; + nX中央位置px = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ?(int) ( 485 * Scale.X ) : 1920 - 340; break; } - int nY上辺位置px = CDTXMania.ConfigIni.bReverse.Drums ? (int) ( 350 * Scale.Y ) : (int) ( 60 * Scale.Y ); + int nY上辺位置px = CDTXMania.app.ConfigIni.bReverse.Drums ? (int) ( 350 * Scale.Y ) : (int) ( 60 * Scale.Y ); int n数字の全長px = ((nドラムコンボの幅 + nドラムコンボの文字間隔) * n桁数);// +nドラムコンボのCOMBO文字の幅; int x = (nX中央位置px + (n数字の全長px / 2));// -nドラムコンボのCOMBO文字の幅; int y = (nY上辺位置px + nドラムコンボの高さ);// -nドラムコンボのCOMBO文字の高さ; @@ -333,7 +333,7 @@ namespace DTXMania { #region [ 事前チェック。] //----------------- - if ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) + if ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) return; // 表示OFF。 if ( nCombo値 == 0 ) @@ -346,7 +346,7 @@ namespace DTXMania { #region [ 事前チェック。] //----------------- - if ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) + if ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) return; // 表示OFF。 if ( nCombo値 == 0 ) @@ -475,8 +475,8 @@ namespace DTXMania if( this.b活性化してない ) return; - this.txCOMBOドラム = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums-combo-drums2.png" ) ); - this.txCOMBOギター = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums-combo-guitar2.png" ) ); + this.txCOMBOドラム = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums-combo-drums2.png" ) ); + this.txCOMBOギター = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums-combo-guitar2.png" ) ); base.OnManagedリソースの作成(); } @@ -485,8 +485,8 @@ namespace DTXMania if( this.b活性化してない ) return; - CDTXMania.tテクスチャの解放( ref this.txCOMBOドラム ); - CDTXMania.tテクスチャの解放( ref this.txCOMBOギター ); + TextureFactory.tテクスチャの解放( ref this.txCOMBOドラム ); + TextureFactory.tテクスチャの解放( ref this.txCOMBOギター ); base.OnManagedリソースの解放(); } @@ -509,7 +509,7 @@ namespace DTXMania { e今回の状態遷移イベント = EEvent.ミス通知; } - else if( ( this.status[ i ].n現在表示中のCOMBO値 < CDTXMania.ConfigIni.n表示可能な最小コンボ数[ i ] ) && ( this.status[ i ].nCOMBO値 < CDTXMania.ConfigIni.n表示可能な最小コンボ数[ i ] ) ) + else if( ( this.status[ i ].n現在表示中のCOMBO値 < CDTXMania.app.ConfigIni.n表示可能な最小コンボ数[ i ] ) && ( this.status[ i ].nCOMBO値 < CDTXMania.app.ConfigIni.n表示可能な最小コンボ数[ i ] ) ) { e今回の状態遷移イベント = EEvent.非表示; } @@ -524,11 +524,11 @@ namespace DTXMania //----------------- if( this.status[ i ].nジャンプインデックス値 < 360 ) { - if( ( this.status[ i ].n前回の時刻_ジャンプ用 == -1 ) || ( CDTXMania.Timer.n現在時刻 < this.status[ i ].n前回の時刻_ジャンプ用) ) - this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.Timer.n現在時刻; + if( ( this.status[ i ].n前回の時刻_ジャンプ用 == -1 ) || ( CDTXMania.app.Timer.n現在時刻 < this.status[ i ].n前回の時刻_ジャンプ用) ) + this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.app.Timer.n現在時刻; const long INTERVAL = 2; - while( ( CDTXMania.Timer.n現在時刻 - this.status[ i ].n前回の時刻_ジャンプ用) >= INTERVAL ) + while( ( CDTXMania.app.Timer.n現在時刻 - this.status[ i ].n前回の時刻_ジャンプ用) >= INTERVAL ) { if( this.status[ i ].nジャンプインデックス値 < 2000 ) this.status[ i ].nジャンプインデックス値 += 3; @@ -553,7 +553,7 @@ namespace DTXMania // モード変更 this.status[ i ].e現在のモード = EMode.進行表示中; this.status[ i ].nジャンプインデックス値 = 0; - this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.Timer.n現在時刻; + this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.app.Timer.n現在時刻; goto Retry; } @@ -571,14 +571,14 @@ namespace DTXMania // モード変更 this.status[ i ].e現在のモード = EMode.残像表示中; this.status[ i ].n残像表示中のCOMBO値 = this.status[ i ].n現在表示中のCOMBO値; - this.status[ i ].nコンボが切れた時刻 = CDTXMania.Timer.n現在時刻; + this.status[ i ].nコンボが切れた時刻 = CDTXMania.app.Timer.n現在時刻; goto Retry; } if( e今回の状態遷移イベント == EEvent.数値更新 ) { this.status[ i ].nジャンプインデックス値 = 0; - this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.Timer.n現在時刻; + this.status[ i ].n前回の時刻_ジャンプ用 = CDTXMania.app.Timer.n現在時刻; } this.status[ i ].n現在表示中のCOMBO値 = this.status[ i ].nCOMBO値; @@ -609,7 +609,7 @@ namespace DTXMania this.status[ i ].e現在のモード = EMode.進行表示中; goto Retry; } - if( ( CDTXMania.Timer.n現在時刻 - this.status[ i ].nコンボが切れた時刻 ) > 1000 ) + if( ( CDTXMania.app.Timer.n現在時刻 - this.status[ i ].nコンボが切れた時刻 ) > 1000 ) { // モード変更2 this.status[ i ].e現在のモード = EMode.非表示中; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏RGB共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏RGB共通.cs index fccecf67..73472912 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏RGB共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏RGB共通.cs @@ -43,7 +43,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txRGB = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay RGB buttons.png" ) ); + this.txRGB = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay RGB buttons.png" ) ); base.OnManagedリソースの作成(); } } @@ -51,7 +51,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txRGB ); + TextureFactory.tテクスチャの解放( ref this.txRGB ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏WailingBonus共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏WailingBonus共通.cs index 4ff13a08..2863f309 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏WailingBonus共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏WailingBonus共通.cs @@ -38,7 +38,7 @@ namespace DTXMania { if ( !base.b活性化してない ) { - this.txWailingBonus = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay wailing bonus.png" ), false ); + this.txWailingBonus = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay wailing bonus.png" ), false ); base.OnManagedリソースの作成(); } } @@ -46,7 +46,7 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txWailingBonus ); + TextureFactory.tテクスチャの解放( ref this.txWailingBonus ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs index b385563c..36f34865 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs @@ -172,7 +172,7 @@ namespace DTXMania } if ( e今回の判定 == E判定.Miss && !bRisky ) { - fDamage *= fDamageLevelFactor[ (int) CDTXMania.ConfigIni.eダメージレベル ]; + fDamage *= fDamageLevelFactor[ (int) CDTXMania.app.ConfigIni.eダメージレベル ]; } break; @@ -201,7 +201,7 @@ namespace DTXMania case E判定.Miss: fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; - switch( CDTXMania.ConfigIni.eダメージレベル ) + switch( CDTXMania.app.ConfigIni.eダメージレベル ) { case Eダメージレベル.少ない: fDamage *= 0.6; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スクロール速度.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スクロール速度.cs index 7f217791..8f97491e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スクロール速度.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スクロール速度.cs @@ -26,7 +26,7 @@ namespace DTXMania { for( int i = 0; i < 3; i++ ) { - this.db現在の譜面スクロール速度[ i ] = (double) CDTXMania.ConfigIni.n譜面スクロール速度[ i ]; + this.db現在の譜面スクロール速度[ i ] = (double) CDTXMania.app.ConfigIni.n譜面スクロール速度[ i ]; this.n速度変更制御タイマ[ i ] = -1; } base.On活性化(); @@ -43,7 +43,7 @@ namespace DTXMania long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻; for( int i = 0; i < 3; i++ ) { - double db譜面スクロールスピード = (double) CDTXMania.ConfigIni.n譜面スクロール速度[ i ]; + double db譜面スクロールスピード = (double) CDTXMania.app.ConfigIni.n譜面スクロール速度[ i ]; if( n現在時刻 < this.n速度変更制御タイマ[ i ] ) { this.n速度変更制御タイマ[ i ] = n現在時刻; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スコア共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スコア共通.cs index be8fbf26..f0227cd6 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スコア共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏スコア共通.cs @@ -60,7 +60,7 @@ namespace DTXMania #endregion #region [ Drums ] case E楽器パート.DRUMS: - if ( !CDTXMania.ConfigIni.bドラムが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ) { #region [ Auto BD ] if ( bAutoPlay.BD == true ) @@ -73,7 +73,7 @@ namespace DTXMania #endregion #region [ Gutiar ] case E楽器パート.GUITAR: - if ( !CDTXMania.ConfigIni.bギターが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bギターが全部オートプレイである ) { #region [ Auto Wailing ] if ( bAutoPlay.GtW ) @@ -98,7 +98,7 @@ namespace DTXMania #endregion #region [ Bass ] case E楽器パート.BASS: - if ( !CDTXMania.ConfigIni.bベースが全部オートプレイである ) + if ( !CDTXMania.app.ConfigIni.bベースが全部オートプレイである ) { #region [ Auto Wailing ] if ( bAutoPlay.BsW ) @@ -143,7 +143,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txScore = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay score numbers.png" ) ); + this.txScore = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay score numbers.png" ) ); base.OnManagedリソースの作成(); } } @@ -151,7 +151,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txScore ); + TextureFactory.tテクスチャの解放( ref this.txScore ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ステージ失敗.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ステージ失敗.cs index 414c4a5f..1530fa76 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ステージ失敗.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ステージ失敗.cs @@ -21,7 +21,7 @@ namespace DTXMania public void Start() { - this.ct進行 = new CCounter( 0, 0x3e8, 2, CDTXMania.Timer ); + this.ct進行 = new CCounter( 0, 0x3e8, 2, CDTXMania.app.Timer ); } @@ -39,7 +39,7 @@ namespace DTXMania this.ct進行 = null; if( this.sd効果音 != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.sd効果音 ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.sd効果音 ); this.sd効果音 = null; } base.On非活性化(); @@ -48,7 +48,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txStageFailed = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay stage failed.jpg" ) ); + this.txStageFailed = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay stage failed.jpg" ) ); base.OnManagedリソースの作成(); } } @@ -56,7 +56,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txStageFailed ); + TextureFactory.tテクスチャの解放( ref this.txStageFailed ); base.OnManagedリソースの解放(); } } @@ -92,8 +92,8 @@ namespace DTXMania } if( this.ct進行.n現在の値 <= 250 ) { - int num2 = CDTXMania.Random.Next( 5 ) - 2; - int y = CDTXMania.Random.Next( 5 ) - 2; + int num2 = CDTXMania.app.Random.Next( 5 ) - 2; + int y = CDTXMania.app.Random.Next( 5 ) - 2; if( this.txStageFailed != null ) { this.txStageFailed.t2D描画( CDTXMania.app.Device, num2 * Scale.X, y * Scale.Y ); @@ -101,16 +101,16 @@ namespace DTXMania } if( !this.b効果音再生済み ) { - if( ( ( CDTXMania.DTX.SOUND_STAGEFAILED != null ) && ( CDTXMania.DTX.SOUND_STAGEFAILED.Length > 0 ) ) && File.Exists( CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.SOUND_STAGEFAILED ) ) + if( ( ( CDTXMania.app.DTX.SOUND_STAGEFAILED != null ) && ( CDTXMania.app.DTX.SOUND_STAGEFAILED.Length > 0 ) ) && File.Exists( CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.SOUND_STAGEFAILED ) ) { try { if( this.sd効果音 != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.sd効果音 ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.sd効果音 ); this.sd効果音 = null; } - this.sd効果音 = CDTXMania.Sound管理.tサウンドを生成する( CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.SOUND_STAGEFAILED ); + this.sd効果音 = CDTXMania.app.Sound管理.tサウンドを生成する( CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.SOUND_STAGEFAILED ); this.sd効果音.t再生を開始する(); } catch @@ -119,7 +119,7 @@ namespace DTXMania } else { - CDTXMania.Skin.soundSTAGEFAILED音.t再生する(); + CDTXMania.app.Skin.soundSTAGEFAILED音.t再生する(); } this.b効果音再生済み = true; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs index 43736940..48bb6a31 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏チップファイアGB.cs @@ -25,10 +25,10 @@ namespace DTXMania { this.pt中央位置[ nLane ].X = n中央X; this.pt中央位置[ nLane ].Y = n中央Y; - this.ct進行[ nLane ].t開始( 28, 56, 8, CDTXMania.Timer ); // #24736 2011.2.17 yyagi: (0, 0x38, 4,..) -> (24, 0x38, 8) に変更 ギターチップの光り始めを早くするため + this.ct進行[ nLane ].t開始( 28, 56, 8, CDTXMania.app.Timer ); // #24736 2011.2.17 yyagi: (0, 0x38, 4,..) -> (24, 0x38, 8) に変更 ギターチップの光り始めを早くするため //this.nJudgeLinePosY_delta = _nJudgeLinePosY_delta; // #31602 2013.6.24 yyagi this._演奏判定ライン座標 = 演奏判定ライン座標; - this.bReverse = CDTXMania.ConfigIni.bReverse; // + this.bReverse = CDTXMania.app.ConfigIni.bReverse; // } } @@ -58,17 +58,17 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx火花[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire red.png" ) ); + this.tx火花[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire red.png" ) ); if( this.tx火花[ 0 ] != null ) { this.tx火花[ 0 ].b加算合成 = true; } - this.tx火花[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire green.png" ) ); + this.tx火花[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire green.png" ) ); if( this.tx火花[ 1 ] != null ) { this.tx火花[ 1 ].b加算合成 = true; } - this.tx火花[ 2 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire blue.png" ) ); + this.tx火花[ 2 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay chip fire blue.png" ) ); if( this.tx火花[ 2 ] != null ) { this.tx火花[ 2 ].b加算合成 = true; @@ -80,9 +80,9 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx火花[ 0 ] ); - CDTXMania.tテクスチャの解放( ref this.tx火花[ 1 ] ); - CDTXMania.tテクスチャの解放( ref this.tx火花[ 2 ] ); + TextureFactory.tテクスチャの解放( ref this.tx火花[ 0 ] ); + TextureFactory.tテクスチャの解放( ref this.tx火花[ 1 ] ); + TextureFactory.tテクスチャの解放( ref this.tx火花[ 2 ] ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs index bcfc94e2..d8dd109d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏パネル文字列.cs @@ -28,7 +28,7 @@ namespace DTXMania this.strパネル文字列 = str; if( base.b活性化してる ) { - CDTXMania.tテクスチャの解放( ref this.txPanel ); + TextureFactory.tテクスチャの解放( ref this.txPanel ); if( ( this.strパネル文字列 != null ) && ( this.strパネル文字列.Length > 0 ) ) { Bitmap image = new Bitmap( 1, 1 ); @@ -42,7 +42,7 @@ namespace DTXMania graphics = Graphics.FromImage( bitmap2 ); graphics.DrawString( this.strパネル文字列, this.ft表示用フォント, Brushes.Red, (float) 0f, (float) 0f ); graphics.Dispose(); - this.txPanel = new CTexture( CDTXMania.app.Device, bitmap2, CDTXMania.TextureFormat ); + this.txPanel = new CTexture( CDTXMania.app.Device, bitmap2, CDTXMania.app.TextureFormat ); this.txPanel.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); bitmap2.Dispose(); } @@ -51,7 +51,7 @@ namespace DTXMania Trace.TraceError( "パネル文字列テクスチャの生成に失敗しました。" ); this.txPanel = null; } - this.ct進行用 = new CCounter( (int) ( -278 * Scale.X ), this.n文字列の長さdot / 2, unchecked( (int) ( 12.0f / Scale.X ) ), CDTXMania.Timer ); + this.ct進行用 = new CCounter( (int) ( -278 * Scale.X ), this.n文字列の長さdot / 2, unchecked( (int) ( 12.0f / Scale.X ) ), CDTXMania.app.Timer ); } this.Start(); } @@ -85,7 +85,7 @@ namespace DTXMania this.ft表示用フォント.Dispose(); this.ft表示用フォント = null; } - CDTXMania.tテクスチャの解放( ref this.txPanel ); + TextureFactory.tテクスチャの解放( ref this.txPanel ); this.ct進行用 = null; base.On非活性化(); } @@ -101,7 +101,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txPanel ); + TextureFactory.tテクスチャの解放( ref this.txPanel ); base.OnManagedリソースの解放(); } } @@ -122,7 +122,7 @@ namespace DTXMania Rectangle rectangle = new Rectangle( (int) ( ( (float) this.ct進行用.n現在の値 ) / magX ), 0, - (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? (int) ( 278f / magX * Scale.X ) : (int) ( 180f / magX * Scale.X ), (int) this.ft表示用フォント.Size diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏レーンフラッシュGB共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏レーンフラッシュGB共通.cs index 36b39608..3ecd4785 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏レーンフラッシュGB共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏レーンフラッシュGB共通.cs @@ -29,7 +29,7 @@ namespace DTXMania { throw new IndexOutOfRangeException( "有効範囲は 0~6 です。" ); } - this.ct進行[ nLane ] = new CCounter( 0, 100, 1, CDTXMania.Timer ); + this.ct進行[ nLane ] = new CCounter( 0, 100, 1, CDTXMania.app.Timer ); } @@ -55,12 +55,12 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txFlush[ 0 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush red.png" ) ); - this.txFlush[ 1 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush green.png" ) ); - this.txFlush[ 2 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush blue.png" ) ); - this.txFlush[ 3 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush red reverse.png" ) ); - this.txFlush[ 4 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush green reverse.png" ) ); - this.txFlush[ 5 ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush blue reverse.png" ) ); + this.txFlush[ 0 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush red.png" ) ); + this.txFlush[ 1 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush green.png" ) ); + this.txFlush[ 2 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush blue.png" ) ); + this.txFlush[ 3 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush red reverse.png" ) ); + this.txFlush[ 4 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush green reverse.png" ) ); + this.txFlush[ 5 ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlay lane flush blue reverse.png" ) ); base.OnManagedリソースの作成(); } } @@ -70,7 +70,7 @@ namespace DTXMania { for( int i = 0; i < 6; i++ ) { - CDTXMania.tテクスチャの解放( ref this.txFlush[ i ] ); + TextureFactory.tテクスチャの解放( ref this.txFlush[ i ] ); } base.OnManagedリソースの解放(); } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏判定文字列共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏判定文字列共通.cs index ef36ec5b..ccc0b03f 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏判定文字列共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏判定文字列共通.cs @@ -101,9 +101,9 @@ namespace DTXMania { throw new IndexOutOfRangeException( "有効範囲は 0~11 です。" ); } - if( ( ( nLane >= 8 ) || ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Drums ) != E判定文字表示位置.表示OFF ) ) && ( ( ( nLane != 10 ) || ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) != E判定文字表示位置.表示OFF ) ) && ( ( nLane != 11 ) || ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) != E判定文字表示位置.表示OFF ) ) ) ) + if( ( ( nLane >= 8 ) || ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Drums ) != E判定文字表示位置.表示OFF ) ) && ( ( ( nLane != 10 ) || ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) != E判定文字表示位置.表示OFF ) ) && ( ( nLane != 11 ) || ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) != E判定文字表示位置.表示OFF ) ) ) ) { - this.st状態[ nLane ].ct進行 = new CCounter( 0, 300, 1, CDTXMania.Timer ); + this.st状態[ nLane ].ct進行 = new CCounter( 0, 300, 1, CDTXMania.app.Timer ); this.st状態[ nLane ].judge = judge; this.st状態[ nLane ].fX方向拡大率 = 1f; this.st状態[ nLane ].fY方向拡大率 = 1f; @@ -124,7 +124,7 @@ namespace DTXMania this.st状態[ i ].ct進行 = new CCounter(); } base.On活性化(); - this.nShowLagType = CDTXMania.ConfigIni.nShowLagType; + this.nShowLagType = CDTXMania.app.ConfigIni.nShowLagType; } public override void On非活性化() { @@ -138,10 +138,10 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx判定文字列[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 1.png" ) ); - this.tx判定文字列[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 2.png" ) ); - this.tx判定文字列[ 2 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 3.png" ) ); - this.txlag数値 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect level numbers.png" ) ); + this.tx判定文字列[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 1.png" ) ); + this.tx判定文字列[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 2.png" ) ); + this.tx判定文字列[ 2 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay judge strings 3.png" ) ); + this.txlag数値 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect level numbers.png" ) ); base.OnManagedリソースの作成(); } } @@ -149,10 +149,10 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx判定文字列[ 0 ] ); - CDTXMania.tテクスチャの解放( ref this.tx判定文字列[ 1 ] ); - CDTXMania.tテクスチャの解放( ref this.tx判定文字列[ 2 ] ); - CDTXMania.tテクスチャの解放( ref this.txlag数値 ); + TextureFactory.tテクスチャの解放( ref this.tx判定文字列[ 0 ] ); + TextureFactory.tテクスチャの解放( ref this.tx判定文字列[ 1 ] ); + TextureFactory.tテクスチャの解放( ref this.tx判定文字列[ 2 ] ); + TextureFactory.tテクスチャの解放( ref this.txlag数値 ); base.OnManagedリソースの解放(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏演奏情報.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏演奏情報.cs index 6e34b687..e4197645 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏演奏情報.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏演奏情報.cs @@ -27,7 +27,7 @@ namespace DTXMania public override void On活性化() { this.n小節番号 = 0; - this.dbBPM = CDTXMania.DTX.BASEBPM + CDTXMania.DTX.BPM; + this.dbBPM = CDTXMania.app.DTX.BASEBPM + CDTXMania.app.DTX.BPM; base.On活性化(); } public override int On進行描画() @@ -41,29 +41,29 @@ namespace DTXMania if ( !base.b活性化してない ) { y += (int)(0x153 * Scale.Y); - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, - string.Format( "JudgeLine D/G/B Adj: {0} px", CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums, CDTXMania.ConfigIni.nJudgeLinePosOffset.Guitar, CDTXMania.ConfigIni.nJudgeLinePosOffset.Bass ) ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, + string.Format( "JudgeLine D/G/B Adj: {0} px", CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums, CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Guitar, CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Bass ) ); y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BGM/D/G/B Adj: {0:####0}/{1:####0}/{2:####0}/{3:####0} ms", CDTXMania.DTX.nBGMAdjust, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass ) ); - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BGM/D/G/B Adj: {0}/{1}/{2}/{3} ms", CDTXMania.DTX.nBGMAdjust, CDTXMania.ConfigIni.nInputAdjustTimeMs.Drums, CDTXMania.ConfigIni.nInputAdjustTimeMs.Guitar, CDTXMania.ConfigIni.nInputAdjustTimeMs.Bass ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BGM/D/G/B Adj: {0:####0}/{1:####0}/{2:####0}/{3:####0} ms", CDTXMania.app.DTX.nBGMAdjust, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Drums, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Guitar, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Bass ) ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BGM/D/G/B Adj: {0}/{1}/{2}/{3} ms", CDTXMania.app.DTX.nBGMAdjust, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Drums, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Guitar, CDTXMania.app.ConfigIni.nInputAdjustTimeMs.Bass ) ); y -= 0x10 * 2; - int num = ( CDTXMania.DTX.listChip.Count > 0 ) ? CDTXMania.DTX.listChip[ CDTXMania.DTX.listChip.Count - 1 ].n発声時刻ms : 0; - string str = "Time: " + ( ( ( ( double ) CDTXMania.Timer.n現在時刻 ) / 1000.0 ) ).ToString( "####0.00" ) + " / " + ( ( ( ( double ) num ) / 1000.0 ) ).ToString( "####0.00" ); - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, str ); + int num = ( CDTXMania.app.DTX.listChip.Count > 0 ) ? CDTXMania.app.DTX.listChip[ CDTXMania.app.DTX.listChip.Count - 1 ].n発声時刻ms : 0; + string str = "Time: " + ( ( ( ( double ) CDTXMania.app.Timer.n現在時刻 ) / 1000.0 ) ).ToString( "####0.00" ) + " / " + ( ( ( ( double ) num ) / 1000.0 ) ).ToString( "####0.00" ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, str ); y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Part: {0:####0}", this.n小節番号 ) ); - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Part: {0}", this.n小節番号 ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Part: {0:####0}", this.n小節番号 ) ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Part: {0}", this.n小節番号 ) ); y -= 0x10 * 2; - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BPM: {0:####0.00}", this.dbBPM ) ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "BPM: {0:####0.00}", this.dbBPM ) ); y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Frame: {0:####0} fps", CDTXMania.FPS.n現在のFPS ) ); - CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Frame: {0} fps", CDTXMania.FPS.n現在のFPS ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Frame: {0:####0} fps", CDTXMania.app.FPS.n現在のFPS ) ); + CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Frame: {0} fps", CDTXMania.app.FPS.n現在のFPS ) ); y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound CPU : {0:####0.00}%", CDTXMania.Sound管理.GetCPUusage() ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound CPU : {0:####0.00}%", CDTXMania.app.Sound管理.GetCPUusage() ) ); //y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Mixing: {0:####0}", CDTXMania.Sound管理.GetMixingStreams() ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Mixing: {0:####0}", CDTXMania.app.Sound管理.GetMixingStreams() ) ); //y -= 0x10 * 2; - //CDTXMania.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Streams: {0:####0}", CDTXMania.Sound管理.GetStreams() ) ); + //CDTXMania.app.act文字コンソール.tPrint( x, y, C文字コンソール.Eフォント種別.白, string.Format( "Sound Streams: {0:####0}", CDTXMania.app.Sound管理.GetStreams() ) ); //y -= 0x10 * 2; } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CInvisibleChip.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CInvisibleChip.cs index 2a0273ae..de10d3d9 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CInvisibleChip.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CInvisibleChip.cs @@ -82,7 +82,7 @@ namespace DTXMania /// 楽器パート public void ShowChipTemporally( E楽器パート eInst ) { - ccounter[ (int) eInst ].t開始( 0, nDisplayTimeMs + nFadeoutTimeMs + 1, 1, CDTXMania.Timer ); + ccounter[ (int) eInst ].t開始( 0, nDisplayTimeMs + nFadeoutTimeMs + 1, 1, CDTXMania.app.Timer ); } /// diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs index 6003ccdf..071248f6 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs @@ -19,212 +19,207 @@ namespace DTXMania /// internal abstract class CStage演奏画面共通 : CStage { - // プロパティ - - public bool bAUTOでないチップが1つでもバーを通過した // 誰も参照していない?? + protected CStage演奏画面共通() { - get; - protected set; } - // メソッド #region [ t演奏結果を格納する_ドラム() ] - public void t演奏結果を格納する_ドラム( out CScoreIni.C演奏記録 Drums ) + public void t演奏結果を格納する_ドラム(out CScoreIni.C演奏記録 Drums) { Drums = new CScoreIni.C演奏記録(); - if ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) + if (CDTXMania.app.DTX.bチップがある.Drums && !CDTXMania.app.ConfigIni.bギタレボモード) { - Drums.nスコア = (long) this.actScore.Get( E楽器パート.DRUMS ); - Drums.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す( CDTXMania.DTX.LEVEL.Drums, CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.actCombo.n現在のコンボ数.Drums最高値, E楽器パート.DRUMS, bIsAutoPlay ); - Drums.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.nヒット数_Auto含まない.Drums.Great, this.nヒット数_Auto含まない.Drums.Good, this.nヒット数_Auto含まない.Drums.Poor, this.nヒット数_Auto含まない.Drums.Miss, E楽器パート.DRUMS, bIsAutoPlay ); - Drums.nPerfect数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Perfect : this.nヒット数_Auto含まない.Drums.Perfect; - Drums.nGreat数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Great : this.nヒット数_Auto含まない.Drums.Great; - Drums.nGood数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Good : this.nヒット数_Auto含まない.Drums.Good; - Drums.nPoor数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Poor : this.nヒット数_Auto含まない.Drums.Poor; - Drums.nMiss数 = CDTXMania.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Miss : this.nヒット数_Auto含まない.Drums.Miss; + Drums.nスコア = (long)this.actScore.Get(E楽器パート.DRUMS); + Drums.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す(CDTXMania.app.DTX.LEVEL.Drums, CDTXMania.app.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.actCombo.n現在のコンボ数.Drums最高値, E楽器パート.DRUMS, bIsAutoPlay); + Drums.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す(CDTXMania.app.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.nヒット数_Auto含まない.Drums.Great, this.nヒット数_Auto含まない.Drums.Good, this.nヒット数_Auto含まない.Drums.Poor, this.nヒット数_Auto含まない.Drums.Miss, E楽器パート.DRUMS, bIsAutoPlay); + Drums.nPerfect数 = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Perfect : this.nヒット数_Auto含まない.Drums.Perfect; + Drums.nGreat数 = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Great : this.nヒット数_Auto含まない.Drums.Great; + Drums.nGood数 = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Good : this.nヒット数_Auto含まない.Drums.Good; + Drums.nPoor数 = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Poor : this.nヒット数_Auto含まない.Drums.Poor; + Drums.nMiss数 = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである ? this.nヒット数_Auto含む.Drums.Miss : this.nヒット数_Auto含まない.Drums.Miss; Drums.nPerfect数_Auto含まない = this.nヒット数_Auto含まない.Drums.Perfect; Drums.nGreat数_Auto含まない = this.nヒット数_Auto含まない.Drums.Great; Drums.nGood数_Auto含まない = this.nヒット数_Auto含まない.Drums.Good; Drums.nPoor数_Auto含まない = this.nヒット数_Auto含まない.Drums.Poor; Drums.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Drums.Miss; Drums.n最大コンボ数 = this.actCombo.n現在のコンボ数.Drums最高値; - Drums.n全チップ数 = CDTXMania.DTX.n可視チップ数.Drums; - for ( int i = 0; i < (int) Eレーン.MAX; i++ ) + Drums.n全チップ数 = CDTXMania.app.DTX.n可視チップ数.Drums; + for (int i = 0; i < (int)Eレーン.MAX; i++) { - Drums.bAutoPlay[ i ] = bIsAutoPlay[ i ]; + Drums.bAutoPlay[i] = bIsAutoPlay[i]; } - Drums.bTight = CDTXMania.ConfigIni.bTight; - for ( int i = 0; i < 3; i++ ) + Drums.bTight = CDTXMania.app.ConfigIni.bTight; + for (int i = 0; i < 3; i++) { - Drums.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ]; - Drums.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ]; - Drums.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ]; - Drums.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ]; - Drums.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ]; - Drums.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ]; - Drums.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ]; - Drums.f譜面スクロール速度[ i ] = ( (float) ( CDTXMania.ConfigIni.n譜面スクロール速度[ i ] + 1 ) ) * 0.5f; + Drums.bSudden[i] = CDTXMania.app.ConfigIni.bSudden[i]; + Drums.bHidden[i] = CDTXMania.app.ConfigIni.bHidden[i]; + Drums.eInvisible[i] = CDTXMania.app.ConfigIni.eInvisible[i]; + Drums.bReverse[i] = CDTXMania.app.ConfigIni.bReverse[i]; + Drums.eRandom[i] = CDTXMania.app.ConfigIni.eRandom[i]; + Drums.bLight[i] = CDTXMania.app.ConfigIni.bLight[i]; + Drums.bLeft[i] = CDTXMania.app.ConfigIni.bLeft[i]; + Drums.f譜面スクロール速度[i] = ((float)(CDTXMania.app.ConfigIni.n譜面スクロール速度[i] + 1)) * 0.5f; } - Drums.eDark = CDTXMania.ConfigIni.eDark; - Drums.n演奏速度分子 = CDTXMania.ConfigIni.n演奏速度; + Drums.eDark = CDTXMania.app.ConfigIni.eDark; + Drums.n演奏速度分子 = CDTXMania.app.ConfigIni.n演奏速度; Drums.n演奏速度分母 = 20; - Drums.eHHGroup = CDTXMania.ConfigIni.eHHGroup; - Drums.eFTGroup = CDTXMania.ConfigIni.eFTGroup; - Drums.eCYGroup = CDTXMania.ConfigIni.eCYGroup; - Drums.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH; - Drums.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT; - Drums.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY; - Drums.bGuitar有効 = CDTXMania.ConfigIni.bGuitar有効; - Drums.bDrums有効 = CDTXMania.ConfigIni.bDrums有効; - Drums.bSTAGEFAILED有効 = CDTXMania.ConfigIni.bSTAGEFAILED有効; - Drums.eダメージレベル = CDTXMania.ConfigIni.eダメージレベル; + Drums.eHHGroup = CDTXMania.app.ConfigIni.eHHGroup; + Drums.eFTGroup = CDTXMania.app.ConfigIni.eFTGroup; + Drums.eCYGroup = CDTXMania.app.ConfigIni.eCYGroup; + Drums.eHitSoundPriorityHH = CDTXMania.app.ConfigIni.eHitSoundPriorityHH; + Drums.eHitSoundPriorityFT = CDTXMania.app.ConfigIni.eHitSoundPriorityFT; + Drums.eHitSoundPriorityCY = CDTXMania.app.ConfigIni.eHitSoundPriorityCY; + Drums.bGuitar有効 = CDTXMania.app.ConfigIni.bGuitar有効; + Drums.bDrums有効 = CDTXMania.app.ConfigIni.bDrums有効; + Drums.bSTAGEFAILED有効 = CDTXMania.app.ConfigIni.bSTAGEFAILED有効; + Drums.eダメージレベル = CDTXMania.app.ConfigIni.eダメージレベル; Drums.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Drums; Drums.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Drums; Drums.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Drums; Drums.b演奏にマウスを使用した = this.b演奏にマウスを使った.Drums; - Drums.nPerfectになる範囲ms = CDTXMania.nPerfect範囲ms; - Drums.nGreatになる範囲ms = CDTXMania.nGreat範囲ms; - Drums.nGoodになる範囲ms = CDTXMania.nGood範囲ms; - Drums.nPoorになる範囲ms = CDTXMania.nPoor範囲ms; + Drums.nPerfectになる範囲ms = CDTXMania.app.nPerfect範囲ms; + Drums.nGreatになる範囲ms = CDTXMania.app.nGreat範囲ms; + Drums.nGoodになる範囲ms = CDTXMania.app.nGood範囲ms; + Drums.nPoorになる範囲ms = CDTXMania.app.nPoor範囲ms; Drums.strDTXManiaのバージョン = CDTXMania.VERSION; Drums.最終更新日時 = DateTime.Now.ToString(); - Drums.Hash = CScoreIni.t演奏セクションのMD5を求めて返す( Drums ); - Drums.nRisky = CDTXMania.ConfigIni.nRisky; // #35461 chnmr0 add - Drums.bギターとベースを入れ替えた = CDTXMania.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add + Drums.Hash = CScoreIni.t演奏セクションのMD5を求めて返す(Drums); + Drums.nRisky = CDTXMania.app.ConfigIni.nRisky; // #35461 chnmr0 add + Drums.bギターとベースを入れ替えた = CDTXMania.app.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add } } #endregion #region [ t演奏結果を格納する_ギター() ] - public void t演奏結果を格納する_ギター( out CScoreIni.C演奏記録 Guitar ) + public void t演奏結果を格納する_ギター(out CScoreIni.C演奏記録 Guitar) { Guitar = new CScoreIni.C演奏記録(); - if ( CDTXMania.DTX.bチップがある.Guitar ) + if (CDTXMania.app.DTX.bチップがある.Guitar) { - Guitar.nスコア = (long) this.actScore.Get( E楽器パート.GUITAR ); - Guitar.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す( CDTXMania.DTX.LEVEL.Guitar, CDTXMania.DTX.n可視チップ数.Guitar, this.nヒット数_Auto含まない.Guitar.Perfect, this.actCombo.n現在のコンボ数.Guitar最高値, E楽器パート.GUITAR, bIsAutoPlay ); - Guitar.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Guitar, this.nヒット数_Auto含まない.Guitar.Perfect, this.nヒット数_Auto含まない.Guitar.Great, this.nヒット数_Auto含まない.Guitar.Good, this.nヒット数_Auto含まない.Guitar.Poor, this.nヒット数_Auto含まない.Guitar.Miss, E楽器パート.GUITAR, bIsAutoPlay ); - Guitar.nPerfect数 = CDTXMania.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Perfect : this.nヒット数_Auto含まない.Guitar.Perfect; - Guitar.nGreat数 = CDTXMania.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Great : this.nヒット数_Auto含まない.Guitar.Great; - Guitar.nGood数 = CDTXMania.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Good : this.nヒット数_Auto含まない.Guitar.Good; - Guitar.nPoor数 = CDTXMania.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Poor : this.nヒット数_Auto含まない.Guitar.Poor; - Guitar.nMiss数 = CDTXMania.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Miss : this.nヒット数_Auto含まない.Guitar.Miss; + Guitar.nスコア = (long)this.actScore.Get(E楽器パート.GUITAR); + Guitar.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す(CDTXMania.app.DTX.LEVEL.Guitar, CDTXMania.app.DTX.n可視チップ数.Guitar, this.nヒット数_Auto含まない.Guitar.Perfect, this.actCombo.n現在のコンボ数.Guitar最高値, E楽器パート.GUITAR, bIsAutoPlay); + Guitar.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す(CDTXMania.app.DTX.n可視チップ数.Guitar, this.nヒット数_Auto含まない.Guitar.Perfect, this.nヒット数_Auto含まない.Guitar.Great, this.nヒット数_Auto含まない.Guitar.Good, this.nヒット数_Auto含まない.Guitar.Poor, this.nヒット数_Auto含まない.Guitar.Miss, E楽器パート.GUITAR, bIsAutoPlay); + Guitar.nPerfect数 = CDTXMania.app.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Perfect : this.nヒット数_Auto含まない.Guitar.Perfect; + Guitar.nGreat数 = CDTXMania.app.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Great : this.nヒット数_Auto含まない.Guitar.Great; + Guitar.nGood数 = CDTXMania.app.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Good : this.nヒット数_Auto含まない.Guitar.Good; + Guitar.nPoor数 = CDTXMania.app.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Poor : this.nヒット数_Auto含まない.Guitar.Poor; + Guitar.nMiss数 = CDTXMania.app.ConfigIni.bギターが全部オートプレイである ? this.nヒット数_Auto含む.Guitar.Miss : this.nヒット数_Auto含まない.Guitar.Miss; Guitar.nPerfect数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Perfect; Guitar.nGreat数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Great; Guitar.nGood数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Good; Guitar.nPoor数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Poor; Guitar.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Guitar.Miss; Guitar.n最大コンボ数 = this.actCombo.n現在のコンボ数.Guitar最高値; - Guitar.n全チップ数 = CDTXMania.DTX.n可視チップ数.Guitar; - for ( int i = 0; i < (int) Eレーン.MAX; i++ ) + Guitar.n全チップ数 = CDTXMania.app.DTX.n可視チップ数.Guitar; + for (int i = 0; i < (int)Eレーン.MAX; i++) { - Guitar.bAutoPlay[ i ] = bIsAutoPlay[ i ]; + Guitar.bAutoPlay[i] = bIsAutoPlay[i]; } - Guitar.bTight = CDTXMania.ConfigIni.bTight; - for ( int i = 0; i < 3; i++ ) + Guitar.bTight = CDTXMania.app.ConfigIni.bTight; + for (int i = 0; i < 3; i++) { - Guitar.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ]; - Guitar.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ]; - Guitar.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ]; - Guitar.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ]; - Guitar.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ]; - Guitar.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ]; - Guitar.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ]; - Guitar.f譜面スクロール速度[ i ] = ( (float) ( CDTXMania.ConfigIni.n譜面スクロール速度[ i ] + 1 ) ) * 0.5f; + Guitar.bSudden[i] = CDTXMania.app.ConfigIni.bSudden[i]; + Guitar.bHidden[i] = CDTXMania.app.ConfigIni.bHidden[i]; + Guitar.eInvisible[i] = CDTXMania.app.ConfigIni.eInvisible[i]; + Guitar.bReverse[i] = CDTXMania.app.ConfigIni.bReverse[i]; + Guitar.eRandom[i] = CDTXMania.app.ConfigIni.eRandom[i]; + Guitar.bLight[i] = CDTXMania.app.ConfigIni.bLight[i]; + Guitar.bLeft[i] = CDTXMania.app.ConfigIni.bLeft[i]; + Guitar.f譜面スクロール速度[i] = ((float)(CDTXMania.app.ConfigIni.n譜面スクロール速度[i] + 1)) * 0.5f; } - Guitar.eDark = CDTXMania.ConfigIni.eDark; - Guitar.n演奏速度分子 = CDTXMania.ConfigIni.n演奏速度; + Guitar.eDark = CDTXMania.app.ConfigIni.eDark; + Guitar.n演奏速度分子 = CDTXMania.app.ConfigIni.n演奏速度; Guitar.n演奏速度分母 = 20; - Guitar.eHHGroup = CDTXMania.ConfigIni.eHHGroup; - Guitar.eFTGroup = CDTXMania.ConfigIni.eFTGroup; - Guitar.eCYGroup = CDTXMania.ConfigIni.eCYGroup; - Guitar.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH; - Guitar.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT; - Guitar.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY; - Guitar.bGuitar有効 = CDTXMania.ConfigIni.bGuitar有効; - Guitar.bDrums有効 = CDTXMania.ConfigIni.bDrums有効; - Guitar.bSTAGEFAILED有効 = CDTXMania.ConfigIni.bSTAGEFAILED有効; - Guitar.eダメージレベル = CDTXMania.ConfigIni.eダメージレベル; + Guitar.eHHGroup = CDTXMania.app.ConfigIni.eHHGroup; + Guitar.eFTGroup = CDTXMania.app.ConfigIni.eFTGroup; + Guitar.eCYGroup = CDTXMania.app.ConfigIni.eCYGroup; + Guitar.eHitSoundPriorityHH = CDTXMania.app.ConfigIni.eHitSoundPriorityHH; + Guitar.eHitSoundPriorityFT = CDTXMania.app.ConfigIni.eHitSoundPriorityFT; + Guitar.eHitSoundPriorityCY = CDTXMania.app.ConfigIni.eHitSoundPriorityCY; + Guitar.bGuitar有効 = CDTXMania.app.ConfigIni.bGuitar有効; + Guitar.bDrums有効 = CDTXMania.app.ConfigIni.bDrums有効; + Guitar.bSTAGEFAILED有効 = CDTXMania.app.ConfigIni.bSTAGEFAILED有効; + Guitar.eダメージレベル = CDTXMania.app.ConfigIni.eダメージレベル; Guitar.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Guitar; Guitar.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Guitar; Guitar.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Guitar; Guitar.b演奏にマウスを使用した = this.b演奏にマウスを使った.Guitar; - Guitar.nPerfectになる範囲ms = CDTXMania.nPerfect範囲ms; - Guitar.nGreatになる範囲ms = CDTXMania.nGreat範囲ms; - Guitar.nGoodになる範囲ms = CDTXMania.nGood範囲ms; - Guitar.nPoorになる範囲ms = CDTXMania.nPoor範囲ms; + Guitar.nPerfectになる範囲ms = CDTXMania.app.nPerfect範囲ms; + Guitar.nGreatになる範囲ms = CDTXMania.app.nGreat範囲ms; + Guitar.nGoodになる範囲ms = CDTXMania.app.nGood範囲ms; + Guitar.nPoorになる範囲ms = CDTXMania.app.nPoor範囲ms; Guitar.strDTXManiaのバージョン = CDTXMania.VERSION; Guitar.最終更新日時 = DateTime.Now.ToString(); - Guitar.Hash = CScoreIni.t演奏セクションのMD5を求めて返す( Guitar ); - Guitar.bギターとベースを入れ替えた = CDTXMania.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add + Guitar.Hash = CScoreIni.t演奏セクションのMD5を求めて返す(Guitar); + Guitar.bギターとベースを入れ替えた = CDTXMania.app.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add } } #endregion #region [ t演奏結果を格納する_ベース() ] - public void t演奏結果を格納する_ベース( out CScoreIni.C演奏記録 Bass ) + public void t演奏結果を格納する_ベース(out CScoreIni.C演奏記録 Bass) { Bass = new CScoreIni.C演奏記録(); - if ( CDTXMania.DTX.bチップがある.Bass ) + if (CDTXMania.app.DTX.bチップがある.Bass) { - Bass.nスコア = (long) this.actScore.Get( E楽器パート.BASS ); - Bass.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す( CDTXMania.DTX.LEVEL.Bass, CDTXMania.DTX.n可視チップ数.Bass, this.nヒット数_Auto含まない.Bass.Perfect, this.actCombo.n現在のコンボ数.Bass最高値, E楽器パート.BASS, bIsAutoPlay ); - Bass.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Bass, this.nヒット数_Auto含まない.Bass.Perfect, this.nヒット数_Auto含まない.Bass.Great, this.nヒット数_Auto含まない.Bass.Good, this.nヒット数_Auto含まない.Bass.Poor, this.nヒット数_Auto含まない.Bass.Miss, E楽器パート.BASS, bIsAutoPlay ); - Bass.nPerfect数 = CDTXMania.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Perfect : this.nヒット数_Auto含まない.Bass.Perfect; - Bass.nGreat数 = CDTXMania.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Great : this.nヒット数_Auto含まない.Bass.Great; - Bass.nGood数 = CDTXMania.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Good : this.nヒット数_Auto含まない.Bass.Good; - Bass.nPoor数 = CDTXMania.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Poor : this.nヒット数_Auto含まない.Bass.Poor; - Bass.nMiss数 = CDTXMania.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Miss : this.nヒット数_Auto含まない.Bass.Miss; + Bass.nスコア = (long)this.actScore.Get(E楽器パート.BASS); + Bass.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す(CDTXMania.app.DTX.LEVEL.Bass, CDTXMania.app.DTX.n可視チップ数.Bass, this.nヒット数_Auto含まない.Bass.Perfect, this.actCombo.n現在のコンボ数.Bass最高値, E楽器パート.BASS, bIsAutoPlay); + Bass.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す(CDTXMania.app.DTX.n可視チップ数.Bass, this.nヒット数_Auto含まない.Bass.Perfect, this.nヒット数_Auto含まない.Bass.Great, this.nヒット数_Auto含まない.Bass.Good, this.nヒット数_Auto含まない.Bass.Poor, this.nヒット数_Auto含まない.Bass.Miss, E楽器パート.BASS, bIsAutoPlay); + Bass.nPerfect数 = CDTXMania.app.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Perfect : this.nヒット数_Auto含まない.Bass.Perfect; + Bass.nGreat数 = CDTXMania.app.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Great : this.nヒット数_Auto含まない.Bass.Great; + Bass.nGood数 = CDTXMania.app.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Good : this.nヒット数_Auto含まない.Bass.Good; + Bass.nPoor数 = CDTXMania.app.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Poor : this.nヒット数_Auto含まない.Bass.Poor; + Bass.nMiss数 = CDTXMania.app.ConfigIni.bベースが全部オートプレイである ? this.nヒット数_Auto含む.Bass.Miss : this.nヒット数_Auto含まない.Bass.Miss; Bass.nPerfect数_Auto含まない = this.nヒット数_Auto含まない.Bass.Perfect; Bass.nGreat数_Auto含まない = this.nヒット数_Auto含まない.Bass.Great; Bass.nGood数_Auto含まない = this.nヒット数_Auto含まない.Bass.Good; Bass.nPoor数_Auto含まない = this.nヒット数_Auto含まない.Bass.Poor; Bass.nMiss数_Auto含まない = this.nヒット数_Auto含まない.Bass.Miss; Bass.n最大コンボ数 = this.actCombo.n現在のコンボ数.Bass最高値; - Bass.n全チップ数 = CDTXMania.DTX.n可視チップ数.Bass; - for ( int i = 0; i < (int) Eレーン.MAX; i++ ) + Bass.n全チップ数 = CDTXMania.app.DTX.n可視チップ数.Bass; + for (int i = 0; i < (int)Eレーン.MAX; i++) { - Bass.bAutoPlay[ i ] = bIsAutoPlay[ i ]; + Bass.bAutoPlay[i] = bIsAutoPlay[i]; } - Bass.bTight = CDTXMania.ConfigIni.bTight; - for ( int i = 0; i < 3; i++ ) + Bass.bTight = CDTXMania.app.ConfigIni.bTight; + for (int i = 0; i < 3; i++) { - Bass.bSudden[ i ] = CDTXMania.ConfigIni.bSudden[ i ]; - Bass.bHidden[ i ] = CDTXMania.ConfigIni.bHidden[ i ]; - Bass.eInvisible[ i ] = CDTXMania.ConfigIni.eInvisible[ i ]; - Bass.bReverse[ i ] = CDTXMania.ConfigIni.bReverse[ i ]; - Bass.eRandom[ i ] = CDTXMania.ConfigIni.eRandom[ i ]; - Bass.bLight[ i ] = CDTXMania.ConfigIni.bLight[ i ]; - Bass.bLeft[ i ] = CDTXMania.ConfigIni.bLeft[ i ]; - Bass.f譜面スクロール速度[ i ] = ( (float) ( CDTXMania.ConfigIni.n譜面スクロール速度[ i ] + 1 ) ) * 0.5f; + Bass.bSudden[i] = CDTXMania.app.ConfigIni.bSudden[i]; + Bass.bHidden[i] = CDTXMania.app.ConfigIni.bHidden[i]; + Bass.eInvisible[i] = CDTXMania.app.ConfigIni.eInvisible[i]; + Bass.bReverse[i] = CDTXMania.app.ConfigIni.bReverse[i]; + Bass.eRandom[i] = CDTXMania.app.ConfigIni.eRandom[i]; + Bass.bLight[i] = CDTXMania.app.ConfigIni.bLight[i]; + Bass.bLeft[i] = CDTXMania.app.ConfigIni.bLeft[i]; + Bass.f譜面スクロール速度[i] = ((float)(CDTXMania.app.ConfigIni.n譜面スクロール速度[i] + 1)) * 0.5f; } - Bass.eDark = CDTXMania.ConfigIni.eDark; - Bass.n演奏速度分子 = CDTXMania.ConfigIni.n演奏速度; + Bass.eDark = CDTXMania.app.ConfigIni.eDark; + Bass.n演奏速度分子 = CDTXMania.app.ConfigIni.n演奏速度; Bass.n演奏速度分母 = 20; - Bass.eHHGroup = CDTXMania.ConfigIni.eHHGroup; - Bass.eFTGroup = CDTXMania.ConfigIni.eFTGroup; - Bass.eCYGroup = CDTXMania.ConfigIni.eCYGroup; - Bass.eHitSoundPriorityHH = CDTXMania.ConfigIni.eHitSoundPriorityHH; - Bass.eHitSoundPriorityFT = CDTXMania.ConfigIni.eHitSoundPriorityFT; - Bass.eHitSoundPriorityCY = CDTXMania.ConfigIni.eHitSoundPriorityCY; - Bass.bGuitar有効 = CDTXMania.ConfigIni.bGuitar有効; - Bass.bDrums有効 = CDTXMania.ConfigIni.bDrums有効; - Bass.bSTAGEFAILED有効 = CDTXMania.ConfigIni.bSTAGEFAILED有効; - Bass.eダメージレベル = CDTXMania.ConfigIni.eダメージレベル; + Bass.eHHGroup = CDTXMania.app.ConfigIni.eHHGroup; + Bass.eFTGroup = CDTXMania.app.ConfigIni.eFTGroup; + Bass.eCYGroup = CDTXMania.app.ConfigIni.eCYGroup; + Bass.eHitSoundPriorityHH = CDTXMania.app.ConfigIni.eHitSoundPriorityHH; + Bass.eHitSoundPriorityFT = CDTXMania.app.ConfigIni.eHitSoundPriorityFT; + Bass.eHitSoundPriorityCY = CDTXMania.app.ConfigIni.eHitSoundPriorityCY; + Bass.bGuitar有効 = CDTXMania.app.ConfigIni.bGuitar有効; + Bass.bDrums有効 = CDTXMania.app.ConfigIni.bDrums有効; + Bass.bSTAGEFAILED有効 = CDTXMania.app.ConfigIni.bSTAGEFAILED有効; + Bass.eダメージレベル = CDTXMania.app.ConfigIni.eダメージレベル; Bass.b演奏にキーボードを使用した = this.b演奏にキーボードを使った.Bass; // #24280 2011.1.29 yyagi Bass.b演奏にMIDI入力を使用した = this.b演奏にMIDI入力を使った.Bass; // Bass.b演奏にジョイパッドを使用した = this.b演奏にジョイパッドを使った.Bass; // Bass.b演奏にマウスを使用した = this.b演奏にマウスを使った.Bass; // - Bass.nPerfectになる範囲ms = CDTXMania.nPerfect範囲ms; - Bass.nGreatになる範囲ms = CDTXMania.nGreat範囲ms; - Bass.nGoodになる範囲ms = CDTXMania.nGood範囲ms; - Bass.nPoorになる範囲ms = CDTXMania.nPoor範囲ms; + Bass.nPerfectになる範囲ms = CDTXMania.app.nPerfect範囲ms; + Bass.nGreatになる範囲ms = CDTXMania.app.nGreat範囲ms; + Bass.nGoodになる範囲ms = CDTXMania.app.nGood範囲ms; + Bass.nPoorになる範囲ms = CDTXMania.app.nPoor範囲ms; Bass.strDTXManiaのバージョン = CDTXMania.VERSION; Bass.最終更新日時 = DateTime.Now.ToString(); - Bass.Hash = CScoreIni.t演奏セクションのMD5を求めて返す( Bass ); - Bass.bギターとベースを入れ替えた = CDTXMania.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add + Bass.Hash = CScoreIni.t演奏セクションのMD5を求めて返す(Bass); + Bass.bギターとベースを入れ替えた = CDTXMania.app.ConfigIni.bIsSwappedGuitarBass; // #35417 chnmr0 add } } #endregion @@ -233,127 +228,126 @@ namespace DTXMania public override void On活性化() { - listChip = CDTXMania.DTX.listChip; - listWAV = CDTXMania.DTX.listWAV; + listChip = CDTXMania.app.DTX.listChip; + listWAV = CDTXMania.app.DTX.listWAV; this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.継続; - this.n現在のトップChip = ( listChip.Count > 0 ) ? 0 : -1; - this.L最後に再生したHHの実WAV番号 = new List( 16 ); + this.n現在のトップChip = (listChip.Count > 0) ? 0 : -1; + this.L最後に再生したHHの実WAV番号 = new List(16); this.e最後に再生したHHのチャンネル番号 = 0; this.n最後に再生した実WAV番号.Guitar = -1; this.n最後に再生した実WAV番号.Bass = -1; - for ( int i = 0; i < 50; i++ ) + for (int i = 0; i < 50; i++) { - this.n最後に再生したBGMの実WAV番号[ i ] = -1; + this.n最後に再生したBGMの実WAV番号[i] = -1; } this.r次にくるギターChip = null; this.r次にくるベースChip = null; - for ( int j = 0; j < 10; j++ ) + for (int j = 0; j < 10; j++) { - this.r現在の空うちドラムChip[ j ] = null; + this.r現在の空うちドラムChip[j] = null; } this.r現在の空うちギターChip = null; this.r現在の空うちベースChip = null; - cInvisibleChip = new CInvisibleChip( CDTXMania.ConfigIni.nChipDisplayTimeMs, CDTXMania.ConfigIni.nChipFadeoutTimeMs ); + cInvisibleChip = new CInvisibleChip(CDTXMania.app.ConfigIni.nChipDisplayTimeMs, CDTXMania.app.ConfigIni.nChipFadeoutTimeMs); this.演奏判定ライン座標 = new C演奏判定ライン座標共通(); - this.n最大コンボ数_TargetGhost = new STDGBVALUE(); // #35411 2015.08.21 chnmr0 add - for ( int k = 0; k < 3; k++ ) + this.n最大コンボ数_TargetGhost = new STDGBVALUE(); // #35411 2015.08.21 chnmr0 add + for (int k = 0; k < 3; k++) { //for ( int n = 0; n < 5; n++ ) //{ - this.nヒット数_Auto含まない[ k ] = new CHITCOUNTOFRANK(); - this.nヒット数_Auto含む[ k ] = new CHITCOUNTOFRANK(); - this.nヒット数_TargetGhost[k] = new CHITCOUNTOFRANK(); // #35411 2015.08.21 chnmr0 add + this.nヒット数_Auto含まない[k] = new CHITCOUNTOFRANK(); + this.nヒット数_Auto含む[k] = new CHITCOUNTOFRANK(); + this.nヒット数_TargetGhost[k] = new CHITCOUNTOFRANK(); // #35411 2015.08.21 chnmr0 add //} - this.queWailing[ k ] = new Queue(); - this.r現在の歓声Chip[ k ] = null; - cInvisibleChip.eInvisibleMode[ k ] = CDTXMania.ConfigIni.eInvisible[ k ]; - if ( CDTXMania.DTXVmode.Enabled ) + this.queWailing[k] = new Queue(); + this.r現在の歓声Chip[k] = null; + cInvisibleChip.eInvisibleMode[k] = CDTXMania.app.ConfigIni.eInvisible[k]; + if (CDTXMania.app.DTXVmode.Enabled) { - CDTXMania.ConfigIni.n譜面スクロール速度[ k ] = CDTXMania.ConfigIni.nViewerScrollSpeed[ k ]; + CDTXMania.app.ConfigIni.n譜面スクロール速度[k] = CDTXMania.app.ConfigIni.nViewerScrollSpeed[k]; } - this.nInputAdjustTimeMs[ k ] = CDTXMania.ConfigIni.nInputAdjustTimeMs[ k ]; // #23580 2011.1.3 yyagi - // 2011.1.7 ikanick 修正 - //this.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ]; // #31602 2013.6.23 yyagi + this.nInputAdjustTimeMs[k] = CDTXMania.app.ConfigIni.nInputAdjustTimeMs[k]; // #23580 2011.1.3 yyagi + // 2011.1.7 ikanick 修正 + //this.nJudgeLinePosY_delta[ k ] = CDTXMania.app.ConfigIni.nJudgeLinePosOffset[ k ]; // #31602 2013.6.23 yyagi - this.演奏判定ライン座標.n判定位置[ k ] = CDTXMania.ConfigIni.e判定位置[ k ]; - this.演奏判定ライン座標.nJudgeLinePosY_delta[ k ] = CDTXMania.ConfigIni.nJudgeLinePosOffset[ k ]; - this.bReverse[ k ] = CDTXMania.ConfigIni.bReverse[ k ]; // + this.演奏判定ライン座標.n判定位置[k] = CDTXMania.app.ConfigIni.e判定位置[k]; + this.演奏判定ライン座標.nJudgeLinePosY_delta[k] = CDTXMania.app.ConfigIni.nJudgeLinePosOffset[k]; + this.bReverse[k] = CDTXMania.app.ConfigIni.bReverse[k]; // } actCombo.演奏判定ライン座標 = 演奏判定ライン座標; - for ( int i = 0; i < 3; i++ ) + for (int i = 0; i < 3; i++) { - this.b演奏にキーボードを使った[ i ] = false; - this.b演奏にジョイパッドを使った[ i ] = false; - this.b演奏にMIDI入力を使った[ i ] = false; - this.b演奏にマウスを使った[ i ] = false; + this.b演奏にキーボードを使った[i] = false; + this.b演奏にジョイパッドを使った[i] = false; + this.b演奏にMIDI入力を使った[i] = false; + this.b演奏にマウスを使った[i] = false; } - this.bAUTOでないチップが1つでもバーを通過した = false; cInvisibleChip.Reset(); base.On活性化(); this.tステータスパネルの選択(); this.tパネル文字列の設定(); //this.演奏判定ライン座標(); - this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi + this.bIsAutoPlay = CDTXMania.app.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi + - - //this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bギターが全部オートプレイである; - //this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bベースが全部オートプレイである; -// this.nRisky = CDTXMania.ConfigIni.nRisky; // #23559 2011.7.28 yyagi - actGauge.Init( CDTXMania.ConfigIni.nRisky ); // #23559 2011.7.28 yyagi - this.nPolyphonicSounds = CDTXMania.ConfigIni.nPoliphonicSounds; - e判定表示優先度 = CDTXMania.ConfigIni.e判定表示優先度; + //this.bIsAutoPlay.Guitar = CDTXMania.app.ConfigIni.bギターが全部オートプレイである; + //this.bIsAutoPlay.Bass = CDTXMania.app.ConfigIni.bベースが全部オートプレイである; + // this.nRisky = CDTXMania.app.ConfigIni.nRisky; // #23559 2011.7.28 yyagi + actGauge.Init(CDTXMania.app.ConfigIni.nRisky); // #23559 2011.7.28 yyagi + this.nPolyphonicSounds = CDTXMania.app.ConfigIni.nPoliphonicSounds; + e判定表示優先度 = CDTXMania.app.ConfigIni.e判定表示優先度; - CDTXMania.Skin.tRemoveMixerAll(); // 効果音のストリームをミキサーから解除しておく + CDTXMania.app.Skin.tRemoveMixerAll(); // 効果音のストリームをミキサーから解除しておく - queueMixerSound = new Queue( 64 ); - bIsDirectSound = ( CDTXMania.Sound管理.GetCurrentSoundDeviceType() == "DirectSound" ); - bUseOSTimer = CDTXMania.ConfigIni.bUseOSTimer; + queueMixerSound = new Queue(64); + bIsDirectSound = (CDTXMania.app.Sound管理.GetCurrentSoundDeviceType() == "DirectSound"); + bUseOSTimer = CDTXMania.app.ConfigIni.bUseOSTimer; this.bPAUSE = false; - if ( CDTXMania.DTXVmode.Enabled ) + if (CDTXMania.app.DTXVmode.Enabled) { - db再生速度 = CDTXMania.DTX.dbDTXVPlaySpeed; - CDTXMania.ConfigIni.n演奏速度 = (int) (CDTXMania.DTX.dbDTXVPlaySpeed * 20 + 0.5 ); + db再生速度 = CDTXMania.app.DTX.dbDTXVPlaySpeed; + CDTXMania.app.ConfigIni.n演奏速度 = (int)(CDTXMania.app.DTX.dbDTXVPlaySpeed * 20 + 0.5); } else { - db再生速度 = ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0; + db再生速度 = ((double)CDTXMania.app.ConfigIni.n演奏速度) / 20.0; } - bValidScore = ( CDTXMania.DTXVmode.Enabled ) ? false : true; + bValidScore = (CDTXMania.app.DTXVmode.Enabled) ? false : true; - cWailingChip = new CWailingChip共通[ 3 ]; // 0:未使用, 1:Gutiar, 2:Bass - if ( CDTXMania.ConfigIni.bDrums有効 ) + cWailingChip = new CWailingChip共通[3]; // 0:未使用, 1:Gutiar, 2:Bass + if (CDTXMania.app.ConfigIni.bDrums有効) { - cWailingChip[ 1 ] = new CWailngChip_Guitar_Drum画面( ref 演奏判定ライン座標 ); - cWailingChip[ 2 ] = new CWailngChip_Bass_Drum画面( ref 演奏判定ライン座標 ); + cWailingChip[1] = new CWailngChip_Guitar_Drum画面(ref 演奏判定ライン座標); + cWailingChip[2] = new CWailngChip_Bass_Drum画面(ref 演奏判定ライン座標); } else { - cWailingChip[ 1 ] = new CWailngChip_Guitar_GR画面( ref 演奏判定ライン座標 ); - cWailingChip[ 2 ] = new CWailngChip_Bass_GR画面( ref 演奏判定ライン座標 ); + cWailingChip[1] = new CWailngChip_Guitar_GR画面(ref 演奏判定ライン座標); + cWailingChip[2] = new CWailngChip_Bass_GR画面(ref 演奏判定ライン座標); } #region [ 演奏開始前にmixer登録しておくべきサウンド(開幕してすぐに鳴らすことになるチップ音)を登録しておく ] - foreach ( CChip pChip in listChip ) + foreach (CChip pChip in listChip) { -// Debug.WriteLine( "CH=" + pChip.nチャンネル番号.ToString( "x2" ) + ", 整数値=" + pChip.n整数値 + ", time=" + pChip.n発声時刻ms ); - if ( pChip.n発声時刻ms <= 0 ) + // Debug.WriteLine( "CH=" + pChip.nチャンネル番号.ToString( "x2" ) + ", 整数値=" + pChip.n整数値 + ", time=" + pChip.n発声時刻ms ); + if (pChip.n発声時刻ms <= 0) { - if ( pChip.eチャンネル番号 == Ech定義.MixerAdd ) + if (pChip.eチャンネル番号 == Ech定義.MixerAdd) { pChip.bHit = true; -// Trace.TraceInformation( "first [DA] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値 + ", time=" + pChip.n発声時刻ms ); - if ( listWAV.ContainsKey( pChip.n整数値_内部番号 ) ) + // Trace.TraceInformation( "first [DA] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値 + ", time=" + pChip.n発声時刻ms ); + if (listWAV.ContainsKey(pChip.n整数値_内部番号)) { - CDTX.CWAV wc = listWAV[ pChip.n整数値_内部番号 ]; - for ( int i = 0; i < nPolyphonicSounds; i++ ) + CDTX.CWAV wc = listWAV[pChip.n整数値_内部番号]; + for (int i = 0; i < nPolyphonicSounds; i++) { - if ( wc.rSound[ i ] != null ) + if (wc.rSound[i] != null) { - CDTXMania.Sound管理.AddMixer( wc.rSound[ i ], db再生速度, pChip.b演奏終了後も再生が続くチップである ); + CDTXMania.app.Sound管理.AddMixer(wc.rSound[i], db再生速度, pChip.b演奏終了後も再生が続くチップである); //AddMixer( wc.rSound[ i ] ); // 最初はqueueを介さず直接ミキサー登録する } } @@ -367,23 +361,23 @@ namespace DTXMania } #endregion - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsの譜面情報入れ替え + if (CDTXMania.app.ConfigIni.bIsSwappedGuitarBass) // #24063 2011.1.24 yyagi Gt/Bsの譜面情報入れ替え { - CDTXMania.DTX.SwapGuitarBassInfos(); + CDTXMania.app.DTX.SwapGuitarBassInfos(); } this.sw = new Stopwatch(); this.sw2 = new Stopwatch(); -// this.gclatencymode = GCSettings.LatencyMode; -// GCSettings.LatencyMode = GCLatencyMode.Batch; // 演奏画面中はGCを抑止する + // this.gclatencymode = GCSettings.LatencyMode; + // GCSettings.LatencyMode = GCLatencyMode.Batch; // 演奏画面中はGCを抑止する } public override void On非活性化() { this.L最後に再生したHHの実WAV番号.Clear(); // #23921 2011.1.4 yyagi this.L最後に再生したHHの実WAV番号 = null; // - for ( int i = 0; i < 3; i++ ) + for (int i = 0; i < 3; i++) { - this.queWailing[ i ].Clear(); - this.queWailing[ i ] = null; + this.queWailing[i].Clear(); + this.queWailing[i] = null; } this.ctWailingチップ模様アニメ = null; this.ctチップ模様アニメ.Drums = null; @@ -396,27 +390,27 @@ namespace DTXMania queueMixerSound = null; cInvisibleChip.Dispose(); cInvisibleChip = null; -// GCSettings.LatencyMode = this.gclatencymode; + // GCSettings.LatencyMode = this.gclatencymode; base.On非活性化(); } public override void OnManagedリソースの作成() { - if ( !base.b活性化してない ) + if (!base.b活性化してない) { this.t背景テクスチャの生成(); - this.txWailing枠 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) ); + this.txWailing枠 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlay wailing cursor.png")); base.OnManagedリソースの作成(); } } public override void OnManagedリソースの解放() { - if ( !base.b活性化してない ) + if (!base.b活性化してない) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放(ref this.tx背景); - CDTXMania.tテクスチャの解放( ref this.txWailing枠 ); + TextureFactory.tテクスチャの解放(ref this.txWailing枠); base.OnManagedリソースの解放(); } } @@ -435,11 +429,11 @@ namespace DTXMania public int Poor; // Properties - public int this[ int index ] + public int this[int index] { get { - switch ( index ) + switch (index) { case 0: return this.Perfect; @@ -460,7 +454,7 @@ namespace DTXMania } set { - switch ( index ) + switch (index) { case 0: this.Perfect = value; @@ -487,7 +481,7 @@ namespace DTXMania } } - [StructLayout( LayoutKind.Sequential )] + [StructLayout(LayoutKind.Sequential)] protected struct STKARAUCHI { public CChip HH; @@ -500,11 +494,11 @@ namespace DTXMania public CChip HHO; public CChip RD; public CChip LC; - public CChip this[ int index ] + public CChip this[int index] { get { - switch ( index ) + switch (index) { case 0: return this.HH; @@ -540,7 +534,7 @@ namespace DTXMania } set { - switch ( index ) + switch (index) { case 0: this.HH = value; @@ -616,7 +610,7 @@ namespace DTXMania protected CAct演奏ステータスパネル共通 actStatusPanels; protected CAct演奏WailingBonus共通 actWailingBonus; protected CAct演奏スクロール速度 act譜面スクロール速度; - public C演奏判定ライン座標共通 演奏判定ライン座標; + public C演奏判定ライン座標共通 演奏判定ライン座標; protected bool bPAUSE; protected STDGBVALUE b演奏にMIDI入力を使った; protected STDGBVALUE b演奏にキーボードを使った; @@ -626,7 +620,7 @@ namespace DTXMania protected STDGBVALUE ctチップ模様アニメ; protected E演奏画面の戻り値 eフェードアウト完了時の戻り値; - protected readonly Ech定義[,] nBGAスコープチャンネルマップ = new Ech定義[2,8] + protected readonly Ech定義[,] nBGAスコープチャンネルマップ = new Ech定義[2, 8] { { Ech定義.BGALayer1_Swap, @@ -649,8 +643,8 @@ namespace DTXMania Ech定義.BGALayer8 } }; + public static readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 }; protected readonly int[] nチャンネル0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 8, 0 }; - protected readonly int[] nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 }; protected readonly Ech定義[] nパッド0Atoチャンネル0A = new Ech定義[] { Ech定義.HiHatClose, @@ -665,28 +659,28 @@ namespace DTXMania Ech定義.LeftCymbal }; protected readonly int[] nパッド0Atoパッド08 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 8, 0 }; // パッド画像のヒット処理用 - protected readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 }; + protected readonly int[] nパッド0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 6, 7, 1, 7, 0 }; protected STDGBVALUE nヒット数_Auto含まない; protected STDGBVALUE nヒット数_Auto含む; - protected STDGBVALUE nヒット数_TargetGhost; // #35411 2015.08.21 chnmr0 add - protected STDGBVALUE nコンボ数_TargetGhost; - protected STDGBVALUE n最大コンボ数_TargetGhost; + protected STDGBVALUE nヒット数_TargetGhost; // #35411 2015.08.21 chnmr0 add + protected STDGBVALUE nコンボ数_TargetGhost; + protected STDGBVALUE n最大コンボ数_TargetGhost; protected int n現在のトップChip = -1; - protected int[] n最後に再生したBGMの実WAV番号 = new int[ 50 ]; + protected int[] n最後に再生したBGMの実WAV番号 = new int[50]; protected Ech定義 e最後に再生したHHのチャンネル番号; protected List L最後に再生したHHの実WAV番号; // #23921 2011.1.4 yyagi: change "int" to "List", for recording multiple wav No. protected STLANEVALUE n最後に再生した実WAV番号; // #26388 2011.11.8 yyagi: change "n最後に再生した実WAV番号.GUITAR" and "n最後に再生した実WAV番号.BASS" - // into "n最後に再生した実WAV番号"; -// protected int n最後に再生した実WAV番号.GUITAR; -// protected int n最後に再生した実WAV番号.BASS; + // into "n最後に再生した実WAV番号"; + // protected int n最後に再生した実WAV番号.GUITAR; + // protected int n最後に再生した実WAV番号.BASS; protected volatile Queue queueMixerSound; // #24820 2013.1.21 yyagi まずは単純にAdd/Removeを1個のキューでまとめて管理するやり方で設計する protected DateTime dtLastQueueOperation; // protected bool bIsDirectSound; // protected double db再生速度; protected bool bValidScore; -// protected bool bDTXVmode; -// protected STDGBVALUE nJudgeLinePosY_delta; // #31602 2013.6.23 yyagi 表示遅延対策として、判定ラインの表示位置をずらす機能を追加する + // protected bool bDTXVmode; + // protected STDGBVALUE nJudgeLinePosY_delta; // #31602 2013.6.23 yyagi 表示遅延対策として、判定ラインの表示位置をずらす機能を追加する protected STDGBVALUE bReverse; protected STDGBVALUE> queWailing; @@ -704,7 +698,7 @@ namespace DTXMania protected STDGBVALUE nInputAdjustTimeMs; // #23580 2011.1.3 yyagi protected STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi -// protected int nRisky_InitialVar, nRiskyTime; // #23559 2011.7.28 yyagi → CAct演奏ゲージ共通クラスに隠蔽 + // protected int nRisky_InitialVar, nRiskyTime; // #23559 2011.7.28 yyagi → CAct演奏ゲージ共通クラスに隠蔽 protected int nPolyphonicSounds; protected List listChip; protected Dictionary listWAV; @@ -715,9 +709,9 @@ namespace DTXMania protected Stopwatch sw; // 2011.6.13 最適化検討用のストップウォッチ protected Stopwatch sw2; -// protected GCLatencyMode gclatencymode; + // protected GCLatencyMode gclatencymode; - public void AddMixer( CSound cs, bool _b演奏終了後も再生が続くチップである ) + public void AddMixer(CSound cs, bool _b演奏終了後も再生が続くチップである) { stmixer stm = new stmixer() { @@ -725,10 +719,10 @@ namespace DTXMania csound = cs, b演奏終了後も再生が続くチップである = _b演奏終了後も再生が続くチップである }; - queueMixerSound.Enqueue( stm ); -// Debug.WriteLine( "★Queue: add " + Path.GetFileName( stm.csound.strファイル名 )); + queueMixerSound.Enqueue(stm); + // Debug.WriteLine( "★Queue: add " + Path.GetFileName( stm.csound.strファイル名 )); } - public void RemoveMixer( CSound cs ) + public void RemoveMixer(CSound cs) { stmixer stm = new stmixer() { @@ -736,30 +730,30 @@ namespace DTXMania csound = cs, b演奏終了後も再生が続くチップである = false }; - queueMixerSound.Enqueue( stm ); -// Debug.WriteLine( "★Queue: remove " + Path.GetFileName( stm.csound.strファイル名 )); + queueMixerSound.Enqueue(stm); + // Debug.WriteLine( "★Queue: remove " + Path.GetFileName( stm.csound.strファイル名 )); } public void ManageMixerQueue() { // もしサウンドの登録/削除が必要なら、実行する - if ( queueMixerSound.Count > 0 ) + if (queueMixerSound.Count > 0) { //Debug.WriteLine( "☆queueLength=" + queueMixerSound.Count ); DateTime dtnow = DateTime.Now; TimeSpan ts = dtnow - dtLastQueueOperation; - if ( ts.Milliseconds > 7 ) + if (ts.Milliseconds > 7) { - for ( int i = 0; i < 2 && queueMixerSound.Count > 0; i++ ) + for (int i = 0; i < 2 && queueMixerSound.Count > 0; i++) { dtLastQueueOperation = dtnow; stmixer stm = queueMixerSound.Dequeue(); - if ( stm.bIsAdd ) + if (stm.bIsAdd) { - CDTXMania.Sound管理.AddMixer( stm.csound, db再生速度, stm.b演奏終了後も再生が続くチップである ); + CDTXMania.app.Sound管理.AddMixer(stm.csound, db再生速度, stm.b演奏終了後も再生が続くチップである); } else { - CDTXMania.Sound管理.RemoveMixer( stm.csound ); + CDTXMania.app.Sound管理.RemoveMixer(stm.csound); } } } @@ -771,16 +765,16 @@ namespace DTXMania /// protected void PrepareAVITexture() { - if ( CDTXMania.ConfigIni.bAVI有効 ) + if (CDTXMania.app.ConfigIni.bAVI有効) { - foreach ( CChip pChip in listChip ) + foreach (CChip pChip in listChip) { - if ( pChip.eチャンネル番号 == Ech定義.Movie || pChip.eチャンネル番号 == Ech定義.MovieFull ) + if (pChip.eチャンネル番号 == Ech定義.Movie || pChip.eチャンネル番号 == Ech定義.MovieFull) { // 最初に再生するAVIチップに合わせて、テクスチャを準備しておく - if (pChip.rAVI != null ) + if (pChip.rAVI != null) { - this.actAVI.PrepareProperSizeTexture( (int) pChip.rAVI.avi.nフレーム幅, (int) pChip.rAVI.avi.nフレーム高さ ); + this.actAVI.PrepareProperSizeTexture((int)pChip.rAVI.avi.nフレーム幅, (int)pChip.rAVI.avi.nフレーム高さ); } break; } @@ -788,62 +782,62 @@ namespace DTXMania } } - protected E判定 e指定時刻からChipのJUDGEを返す( long nTime, CChip pChip, int nInputAdjustTime, bool saveLag = true ) + protected E判定 e指定時刻からChipのJUDGEを返す(long nTime, CChip pChip, int nInputAdjustTime, bool saveLag = true) { - if ( pChip != null ) + if (pChip != null) { - // #35411 2015.08.22 chnmr0 modified add check save lag flag for ghost - int lag = (int)(nTime + nInputAdjustTime - pChip.n発声時刻ms); - if (saveLag) - { - pChip.nLag = lag; // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature + // #35411 2015.08.22 chnmr0 modified add check save lag flag for ghost + int lag = (int)(nTime + nInputAdjustTime - pChip.n発声時刻ms); + if (saveLag) + { + pChip.nLag = lag; // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature if (pChip.e楽器パート != E楽器パート.UNKNOWN) { - pChip.nCurrentComboForGhost = this.actCombo.n現在のコンボ数[(int)pChip.e楽器パート]; + pChip.extendInfoForGhost = this.actCombo.n現在のコンボ数[(int)pChip.e楽器パート] > 0 ? true : false; } - } - // #35411 modify end + } + // #35411 modify end - int nDeltaTime = Math.Abs( lag ); + int nDeltaTime = Math.Abs(lag); //Debug.WriteLine("nAbsTime=" + (nTime - pChip.n発声時刻ms) + ", nDeltaTime=" + (nTime + nInputAdjustTime - pChip.n発声時刻ms)); - if ( nDeltaTime <= CDTXMania.nPerfect範囲ms ) + if (nDeltaTime <= CDTXMania.app.nPerfect範囲ms) { return E判定.Perfect; } - if ( nDeltaTime <= CDTXMania.nGreat範囲ms ) + if (nDeltaTime <= CDTXMania.app.nGreat範囲ms) { return E判定.Great; } - if ( nDeltaTime <= CDTXMania.nGood範囲ms ) + if (nDeltaTime <= CDTXMania.app.nGood範囲ms) { return E判定.Good; } - if ( nDeltaTime <= CDTXMania.nPoor範囲ms ) + if (nDeltaTime <= CDTXMania.app.nPoor範囲ms) { return E判定.Poor; } } return E判定.Miss; } - protected CChip r空うちChip( E楽器パート part, Eパッド pad ) + protected CChip r空うちChip(E楽器パート part, Eパッド pad) { - switch ( part ) + switch (part) { case E楽器パート.DRUMS: - switch ( pad ) + switch (pad) { case Eパッド.HH: - if ( this.r現在の空うちドラムChip.HH != null ) + if (this.r現在の空うちドラムChip.HH != null) { return this.r現在の空うちドラムChip.HH; } - if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) + if (CDTXMania.app.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける) { - if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける ) + if (CDTXMania.app.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける) { return this.r現在の空うちドラムChip.HHO; } - if ( this.r現在の空うちドラムChip.HHO != null ) + if (this.r現在の空うちドラムChip.HHO != null) { return this.r現在の空うちドラムChip.HHO; } @@ -860,50 +854,50 @@ namespace DTXMania return this.r現在の空うちドラムChip.HT; case Eパッド.LT: - if ( this.r現在の空うちドラムChip.LT != null ) + if (this.r現在の空うちドラムChip.LT != null) { return this.r現在の空うちドラムChip.LT; } - if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 ) + if (CDTXMania.app.ConfigIni.eFTGroup == EFTGroup.共通) { return this.r現在の空うちドラムChip.FT; } return null; case Eパッド.FT: - if ( this.r現在の空うちドラムChip.FT != null ) + if (this.r現在の空うちドラムChip.FT != null) { return this.r現在の空うちドラムChip.FT; } - if ( CDTXMania.ConfigIni.eFTGroup == EFTGroup.共通 ) + if (CDTXMania.app.ConfigIni.eFTGroup == EFTGroup.共通) { return this.r現在の空うちドラムChip.LT; } return null; case Eパッド.CY: - if ( this.r現在の空うちドラムChip.CY != null ) + if (this.r現在の空うちドラムChip.CY != null) { return this.r現在の空うちドラムChip.CY; } - if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 ) + if (CDTXMania.app.ConfigIni.eCYGroup == ECYGroup.共通) { return this.r現在の空うちドラムChip.RD; } return null; case Eパッド.HHO: - if ( this.r現在の空うちドラムChip.HHO != null ) + if (this.r現在の空うちドラムChip.HHO != null) { return this.r現在の空うちドラムChip.HHO; } - if ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) + if (CDTXMania.app.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける) { - if ( CDTXMania.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける ) + if (CDTXMania.app.ConfigIni.eHHGroup == EHHGroup.左シンバルのみ打ち分ける) { return this.r現在の空うちドラムChip.HH; } - if ( this.r現在の空うちドラムChip.HH != null ) + if (this.r現在の空うちドラムChip.HH != null) { return this.r現在の空うちドラムChip.HH; } @@ -911,26 +905,26 @@ namespace DTXMania return this.r現在の空うちドラムChip.LC; case Eパッド.RD: - if ( this.r現在の空うちドラムChip.RD != null ) + if (this.r現在の空うちドラムChip.RD != null) { return this.r現在の空うちドラムChip.RD; } - if ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 ) + if (CDTXMania.app.ConfigIni.eCYGroup == ECYGroup.共通) { return this.r現在の空うちドラムChip.CY; } return null; case Eパッド.LC: - if ( this.r現在の空うちドラムChip.LC != null ) + if (this.r現在の空うちドラムChip.LC != null) { return this.r現在の空うちドラムChip.LC; } - if ( ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける ) && ( CDTXMania.ConfigIni.eHHGroup != EHHGroup.全部共通 ) ) + if ((CDTXMania.app.ConfigIni.eHHGroup != EHHGroup.ハイハットのみ打ち分ける) && (CDTXMania.app.ConfigIni.eHHGroup != EHHGroup.全部共通)) { return null; } - if ( this.r現在の空うちドラムChip.HH != null ) + if (this.r現在の空うちドラムChip.HH != null) { return this.r現在の空うちドラムChip.HH; } @@ -946,38 +940,38 @@ namespace DTXMania } return null; } - protected CChip r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( long nTime, Ech定義 eChannel, int nInputAdjustTime ) + protected CChip r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(long nTime, Ech定義 eChannel, int nInputAdjustTime) { sw2.Start(); -//Trace.TraceInformation( "NTime={0}, nChannel={1:x2}", nTime, nChannel ); + //Trace.TraceInformation( "NTime={0}, nChannel={1:x2}", nTime, nChannel ); nTime += nInputAdjustTime; // #24239 2011.1.23 yyagi InputAdjust int nIndex_InitialPositionSearchingToPast; - if ( this.n現在のトップChip == -1 ) // 演奏データとして1個もチップがない場合は + if (this.n現在のトップChip == -1) // 演奏データとして1個もチップがない場合は { sw2.Stop(); return null; } int count = listChip.Count; int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = this.n現在のトップChip; - if ( this.n現在のトップChip >= count ) // その時点で演奏すべきチップが既に全部無くなっていたら + if (this.n現在のトップChip >= count) // その時点で演奏すべきチップが既に全部無くなっていたら { nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = count - 1; } //int nIndex_NearestChip_Future; // = nIndex_InitialPositionSearchingToFuture; //while ( nIndex_NearestChip_Future < count ) // 未来方向への検索 - for ( ; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++) + for (; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++) { - CChip chip = listChip[ nIndex_NearestChip_Future ]; - if ( chip.b空打ちチップである ) + CChip chip = listChip[nIndex_NearestChip_Future]; + if (chip.b空打ちチップである) { continue; } - if ( ( ( Ech定義.HiHatClose <= eChannel ) && ( eChannel <= Ech定義.LeftCymbal ) ) ) + if (((Ech定義.HiHatClose <= eChannel) && (eChannel <= Ech定義.LeftCymbal))) { - if ( ( chip.eチャンネル番号 == eChannel ) || ( chip.eチャンネル番号 == ( eChannel + 0x20 ) ) ) + if ((chip.eチャンネル番号 == eChannel) || (chip.eチャンネル番号 == (eChannel + 0x20))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } @@ -985,19 +979,19 @@ namespace DTXMania } continue; // ほんの僅かながら高速化 } - else if ( ( ( eChannel == Ech定義.Guitar_WailingSound ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || - ( ( ( Ech定義.Guitar_Open <= eChannel ) && ( eChannel <= Ech定義.Guitar_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) + else if (((eChannel == Ech定義.Guitar_WailingSound) && (chip.e楽器パート == E楽器パート.GUITAR)) || + (((Ech定義.Guitar_Open <= eChannel) && (eChannel <= Ech定義.Guitar_Wailing)) && (chip.eチャンネル番号 == eChannel))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future; } - else if ( ( ( eChannel == Ech定義.Bass_WailingSound ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || - ( ( ( Ech定義.Bass_Open <= eChannel ) && ( eChannel <= Ech定義.Bass_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) + else if (((eChannel == Ech定義.Bass_WailingSound) && (chip.e楽器パート == E楽器パート.BASS)) || + (((Ech定義.Bass_Open <= eChannel) && (eChannel <= Ech定義.Bass_Wailing)) && (chip.eチャンネル番号 == eChannel))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } @@ -1007,32 +1001,32 @@ namespace DTXMania } int nIndex_NearestChip_Past = nIndex_InitialPositionSearchingToPast; //while ( nIndex_NearestChip_Past >= 0 ) // 過去方向への検索 - for ( ; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past-- ) + for (; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past--) { - CChip chip = listChip[ nIndex_NearestChip_Past ]; - if ( chip.b空打ちチップである ) + CChip chip = listChip[nIndex_NearestChip_Past]; + if (chip.b空打ちチップである) { continue; } - if ( ( Ech定義.HiHatClose <= eChannel ) && ( eChannel <= Ech定義.LeftCymbal ) ) + if ((Ech定義.HiHatClose <= eChannel) && (eChannel <= Ech定義.LeftCymbal)) { - if ( ( chip.eチャンネル番号 == eChannel ) || ( chip.eチャンネル番号 == ( eChannel + 0x20 ) ) ) + if ((chip.eチャンネル番号 == eChannel) || (chip.eチャンネル番号 == (eChannel + 0x20))) { break; } } - else if ( ( ( eChannel == Ech定義.Guitar_WailingSound ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || - ( ( ( Ech定義.Guitar_Open <= eChannel ) && ( eChannel <= Ech定義.Guitar_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) + else if (((eChannel == Ech定義.Guitar_WailingSound) && (chip.e楽器パート == E楽器パート.GUITAR)) || + (((Ech定義.Guitar_Open <= eChannel) && (eChannel <= Ech定義.Guitar_Wailing)) && (chip.eチャンネル番号 == eChannel))) { - if ( ( Ech定義.Guitar_Open <= chip.eチャンネル番号 ) && ( chip.eチャンネル番号 <= Ech定義.Guitar_Wailing ) ) + if ((Ech定義.Guitar_Open <= chip.eチャンネル番号) && (chip.eチャンネル番号 <= Ech定義.Guitar_Wailing)) { break; } } - else if ( ( ( eChannel == Ech定義.Bass_WailingSound ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || - ( ( ( Ech定義.Bass_Open <= eChannel ) && ( eChannel <= Ech定義.Bass_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) + else if (((eChannel == Ech定義.Bass_WailingSound) && (chip.e楽器パート == E楽器パート.BASS)) || + (((Ech定義.Bass_Open <= eChannel) && (eChannel <= Ech定義.Bass_Wailing)) && (chip.eチャンネル番号 == eChannel))) { - if ( ( Ech定義.Bass_Open <= chip.eチャンネル番号 ) && ( chip.eチャンネル番号 <= Ech定義.Bass_Wailing ) ) + if ((Ech定義.Bass_Open <= chip.eチャンネル番号) && (chip.eチャンネル番号 <= Ech定義.Bass_Wailing)) { break; } @@ -1040,29 +1034,29 @@ namespace DTXMania // nIndex_NearestChip_Past--; } - if ( nIndex_NearestChip_Future >= count ) + if (nIndex_NearestChip_Future >= count) { - if ( nIndex_NearestChip_Past < 0 ) // 検索対象が過去未来どちらにも見つからなかった場合 + if (nIndex_NearestChip_Past < 0) // 検索対象が過去未来どちらにも見つからなかった場合 { return null; } else // 検索対象が未来方向には見つからなかった(しかし過去方向には見つかった)場合 { sw2.Stop(); - return listChip[ nIndex_NearestChip_Past ]; + return listChip[nIndex_NearestChip_Past]; } } - else if ( nIndex_NearestChip_Past < 0 ) // 検索対象が過去方向には見つからなかった(しかし未来方向には見つかった)場合 + else if (nIndex_NearestChip_Past < 0) // 検索対象が過去方向には見つからなかった(しかし未来方向には見つかった)場合 { sw2.Stop(); - return listChip[ nIndex_NearestChip_Future ]; + return listChip[nIndex_NearestChip_Future]; } - // 検索対象が過去未来の双方に見つかったなら、より近い方を採用する - CChip nearestChip_Future = listChip[ nIndex_NearestChip_Future ]; - CChip nearestChip_Past = listChip[ nIndex_NearestChip_Past ]; - int nDiffTime_Future = Math.Abs( (int) ( nTime - nearestChip_Future.n発声時刻ms ) ); - int nDiffTime_Past = Math.Abs( (int) ( nTime - nearestChip_Past.n発声時刻ms ) ); - if ( nDiffTime_Future >= nDiffTime_Past ) + // 検索対象が過去未来の双方に見つかったなら、より近い方を採用する + CChip nearestChip_Future = listChip[nIndex_NearestChip_Future]; + CChip nearestChip_Past = listChip[nIndex_NearestChip_Past]; + int nDiffTime_Future = Math.Abs((int)(nTime - nearestChip_Future.n発声時刻ms)); + int nDiffTime_Past = Math.Abs((int)(nTime - nearestChip_Past.n発声時刻ms)); + if (nDiffTime_Future >= nDiffTime_Past) { sw2.Stop(); return nearestChip_Past; @@ -1070,19 +1064,19 @@ namespace DTXMania sw2.Stop(); return nearestChip_Future; } - protected void tサウンド再生( CChip rChip, long n再生開始システム時刻ms, E楽器パート part ) + protected void tサウンド再生(CChip rChip, long n再生開始システム時刻ms, E楽器パート part) { - this.tサウンド再生( rChip, n再生開始システム時刻ms, part, CDTXMania.ConfigIni.n手動再生音量, false, false ); + this.tサウンド再生(rChip, n再生開始システム時刻ms, part, CDTXMania.app.ConfigIni.n手動再生音量, false, false); } - protected void tサウンド再生( CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量 ) + protected void tサウンド再生(CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量) { - this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, false, false ); + this.tサウンド再生(rChip, n再生開始システム時刻ms, part, n音量, false, false); } - protected void tサウンド再生( CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ ) + protected void tサウンド再生(CChip rChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ) { - this.tサウンド再生( rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false ); + this.tサウンド再生(rChip, n再生開始システム時刻ms, part, n音量, bモニタ, false); } - protected void tサウンド再生( CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 ) + protected void tサウンド再生(CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生) { // mute sound (auto) // 4A: HH @@ -1093,21 +1087,21 @@ namespace DTXMania // AA: Bs // - if ( pChip != null ) + if (pChip != null) { bool overwrite = false; - switch ( part ) + switch (part) { case E楽器パート.DRUMS: - #region [ DRUMS ] + #region [ DRUMS ] { Ech定義 channel = pChip.eチャンネル番号; int index = -1; - if ( ( Ech定義.HiHatClose <= channel ) && ( channel <= Ech定義.LeftCymbal ) ) + if ((Ech定義.HiHatClose <= channel) && (channel <= Ech定義.LeftCymbal)) { index = channel - Ech定義.HiHatClose; } - else if ( ( Ech定義.HiHatClose_Hidden <= channel ) && ( channel <= Ech定義.LeftCymbal_Hidden ) ) + else if ((Ech定義.HiHatClose_Hidden <= channel) && (channel <= Ech定義.LeftCymbal_Hidden)) { index = channel - Ech定義.HiHatClose_Hidden; } @@ -1118,14 +1112,13 @@ namespace DTXMania // 4D: 87: LC // 2A: 88: Gt // AA: 89: Bs - else if ( Ech定義.SE24 == channel ) // 仮に今だけ追加 HHは消音処理があるので overwriteフラグ系の処理は改めて不要 + else if (Ech定義.SE24 == channel) // 仮に今だけ追加 HHは消音処理があるので overwriteフラグ系の処理は改めて不要 { index = 0; } - else if ( ( Ech定義.SE25 <= channel ) && ( channel <= Ech定義.SE27 ) ) // 仮に今だけ追加 + else if ((Ech定義.SE25 <= channel) && (channel <= Ech定義.SE27)) // 仮に今だけ追加 { - Ech定義[] ch = {Ech定義.Cymbal, Ech定義.RideCymbal, Ech定義.LeftCymbal }; - pChip.eチャンネル番号 = ch[ channel - Ech定義.SE25 ]; + pChip.ConvertSE25_26_27ToCY_RCY_LCY(); index = pChip.eチャンネル番号 - Ech定義.HiHatClose; overwrite = true; } @@ -1133,12 +1126,12 @@ namespace DTXMania { return; } - int nLane = this.nチャンネル0Atoレーン07[ index ]; - if ( ( nLane == 1 ) && // 今回演奏するのがHC or HO - ( index == 0 || ( + int nLane = CStage演奏画面共通.nチャンネル0Atoレーン07[index]; + if ((nLane == 1) && // 今回演奏するのがHC or HO + (index == 0 || ( index == 7 && this.e最後に再生したHHのチャンネル番号 != Ech定義.HiHatOpen && - this.e最後に再生したHHのチャンネル番号 != Ech定義.HiHatOpen_Hidden ) ) + this.e最後に再生したHHのチャンネル番号 != Ech定義.HiHatOpen_Hidden)) // HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない ) // #24772 2011.4.4 yyagi @@ -1150,13 +1143,13 @@ namespace DTXMania { // #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。 #if TEST_NOTEOFFMODE // 2011.1.1 yyagi test - if (CDTXMania.DTX.b演奏で直前の音を消音する.HH) + if (CDTXMania.app.DTX.b演奏で直前の音を消音する.HH) { #endif - for ( int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++ ) // #23921 2011.1.4 yyagi + for (int i = 0; i < this.L最後に再生したHHの実WAV番号.Count; i++) // #23921 2011.1.4 yyagi { - // CDTXMania.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号); - CDTXMania.DTX.tWavの再生停止( this.L最後に再生したHHの実WAV番号[ i ] ); // #23921 yyagi ストック分全て消音する + // CDTXMania.app.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号); + CDTXMania.app.DTX.tWavの再生停止(this.L最後に再生したHHの実WAV番号[i]); // #23921 yyagi ストック分全て消音する } this.L最後に再生したHHの実WAV番号.Clear(); #if TEST_NOTEOFFMODE // 2011.1.1 yyagi test @@ -1166,58 +1159,58 @@ namespace DTXMania this.e最後に再生したHHのチャンネル番号 = pChip.eチャンネル番号; } #if TEST_NOTEOFFMODE // 2011.1.4 yyagi test - if (CDTXMania.DTX.b演奏で直前の音を消音する.HH) + if (CDTXMania.app.DTX.b演奏で直前の音を消音する.HH) { #endif - if ( index == 0 || index == 7 || index == 0x20 || index == 0x27 ) // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく + if (index == 0 || index == 7 || index == 0x20 || index == 0x27) // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく { // #24772 HC, 不可視HCも消音キューに追加 - if ( this.L最後に再生したHHの実WAV番号.Count >= 16 ) // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える + if (this.L最後に再生したHHの実WAV番号.Count >= 16) // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える { // (ストックが増えてList<>のrealloc()が発生するのを予防する) - this.L最後に再生したHHの実WAV番号.RemoveAt( 0 ); + this.L最後に再生したHHの実WAV番号.RemoveAt(0); } - if ( !this.L最後に再生したHHの実WAV番号.Contains( pChip.n整数値_内部番号 ) ) // チップ音がまだストックされてなければ + if (!this.L最後に再生したHHの実WAV番号.Contains(pChip.n整数値_内部番号)) // チップ音がまだストックされてなければ { - this.L最後に再生したHHの実WAV番号.Add( pChip.n整数値_内部番号 ); // ストックする + this.L最後に再生したHHの実WAV番号.Add(pChip.n整数値_内部番号); // ストックする } } #if TEST_NOTEOFFMODE // 2011.1.4 yyagi test } #endif - if ( overwrite ) + if (overwrite) { - CDTXMania.DTX.tWavの再生停止( this.n最後に再生した実WAV番号[index] ); + CDTXMania.app.DTX.tWavの再生停止(this.n最後に再生した実WAV番号[index]); } - CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ ); - this.n最後に再生した実WAV番号[ nLane ] = pChip.n整数値_内部番号; // nLaneでなくindexにすると、LC(1A-11=09)とギター(enumで09)がかぶってLC音が消されるので注意 + CDTXMania.app.DTX.tチップの再生(pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ); + this.n最後に再生した実WAV番号[nLane] = pChip.n整数値_内部番号; // nLaneでなくindexにすると、LC(1A-11=09)とギター(enumで09)がかぶってLC音が消されるので注意 return; } - #endregion + #endregion case E楽器パート.GUITAR: - #region [ GUITAR ] + #region [ GUITAR ] #if TEST_NOTEOFFMODE // 2011.1.1 yyagi test - if (CDTXMania.DTX.b演奏で直前の音を消音する.Guitar) { + if (CDTXMania.app.DTX.b演奏で直前の音を消音する.Guitar) { #endif - CDTXMania.DTX.tWavの再生停止( this.n最後に再生した実WAV番号.Guitar ); + CDTXMania.app.DTX.tWavの再生停止(this.n最後に再生した実WAV番号.Guitar); #if TEST_NOTEOFFMODE } #endif - CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, (int) Eレーン.Guitar, n音量, bモニタ, b音程をずらして再生 ); + CDTXMania.app.DTX.tチップの再生(pChip, n再生開始システム時刻ms, (int)Eレーン.Guitar, n音量, bモニタ, b音程をずらして再生); this.n最後に再生した実WAV番号.Guitar = pChip.n整数値_内部番号; return; - #endregion + #endregion case E楽器パート.BASS: - #region [ BASS ] + #region [ BASS ] #if TEST_NOTEOFFMODE - if (CDTXMania.DTX.b演奏で直前の音を消音する.Bass) { + if (CDTXMania.app.DTX.b演奏で直前の音を消音する.Bass) { #endif - CDTXMania.DTX.tWavの再生停止( this.n最後に再生した実WAV番号.Bass ); + CDTXMania.app.DTX.tWavの再生停止(this.n最後に再生した実WAV番号.Bass); #if TEST_NOTEOFFMODE } #endif - CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, (int) Eレーン.Bass, n音量, bモニタ, b音程をずらして再生 ); + CDTXMania.app.DTX.tチップの再生(pChip, n再生開始システム時刻ms, (int)Eレーン.Bass, n音量, bモニタ, b音程をずらして再生); this.n最後に再生した実WAV番号.Bass = pChip.n整数値_内部番号; return; - #endregion + #endregion default: break; @@ -1226,151 +1219,145 @@ namespace DTXMania } protected void tステータスパネルの選択() { - if ( CDTXMania.bコンパクトモード ) + if (CDTXMania.app.bコンパクトモード) { - this.actStatusPanels.tラベル名からステータスパネルを決定する( null ); + this.actStatusPanels.tラベル名からステータスパネルを決定する(null); } - else if ( CDTXMania.stage選曲.r確定された曲 != null ) + else if (CDTXMania.app.stage選曲.r確定された曲 != null) { - this.actStatusPanels.tラベル名からステータスパネルを決定する( CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ] ); + this.actStatusPanels.tラベル名からステータスパネルを決定する(CDTXMania.app.stage選曲.r確定された曲.ar難易度ラベル[CDTXMania.app.stage選曲.n確定された曲の難易度]); } } - protected E判定 tチップのヒット処理( long nHitTime, CChip pChip ) + protected E判定 tチップのヒット処理(long nHitTime, CChip pChip) { - return tチップのヒット処理( nHitTime, pChip, true ); + return tチップのヒット処理(nHitTime, pChip, true); } - protected abstract E判定 tチップのヒット処理( long nHitTime, CChip pChip, bool bCorrectLane ); - protected E判定 tチップのヒット処理( long nHitTime, CChip pChip, E楽器パート screenmode ) // E楽器パート screenmode + protected abstract E判定 tチップのヒット処理(long nHitTime, CChip pChip, bool bCorrectLane); + protected E判定 tチップのヒット処理(long nHitTime, CChip pChip, E楽器パート screenmode) // E楽器パート screenmode { - return tチップのヒット処理( nHitTime, pChip, screenmode, true ); + return tチップのヒット処理(nHitTime, pChip, screenmode, true); } - protected E判定 tチップのヒット処理( long nHitTime, CChip pChip, E楽器パート screenmode, bool bCorrectLane ) + protected E判定 tチップのヒット処理(long nHitTime, CChip pChip, E楽器パート screenmode, bool bCorrectLane) { pChip.bHit = true; -#region [メソッド化する前の記述(注釈化)] -// bool bPChipIsAutoPlay = false; -// bool bGtBsR = ( ( pChip.nチャンネル番号 & 4 ) > 0 ); -// bool bGtBsG = ( ( pChip.nチャンネル番号 & 2 ) > 0 ); -// bool bGtBsB = ( ( pChip.nチャンネル番号 & 1 ) > 0 ); -// bool bGtBsW = ( ( pChip.nチャンネル番号 & 0x0F ) == 0x08 ); -// bool bGtBsO = ( ( pChip.nチャンネル番号 & 0x0F ) == 0x00 ); -// if ( pChip.e楽器パート == E楽器パート.DRUMS ) -// { -// if ( bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ) -// { -// bPChipIsAutoPlay = true; -// } -// } -// else if ( pChip.e楽器パート == E楽器パート.GUITAR ) -// { -////Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB ); -////Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eレーン.GtR ], bIsAutoPlay[ (int) Eレーン.GtG ], bIsAutoPlay[ (int) Eレーン.GtB ]); -// bPChipIsAutoPlay = true; -// if ( !bIsAutoPlay[ (int) Eレーン.GtPick ] ) bPChipIsAutoPlay = false; -// else -// { -// if ( bGtBsR && !bIsAutoPlay[ (int) Eレーン.GtR ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsG && !bIsAutoPlay[ (int) Eレーン.GtG ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsB && !bIsAutoPlay[ (int) Eレーン.GtB ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsW && !bIsAutoPlay[ (int) Eレーン.GtW ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsO && -// ( !bIsAutoPlay[ (int) Eレーン.GtR] || !bIsAutoPlay[ (int) Eレーン.GtG] || !bIsAutoPlay[ (int) Eレーン.GtB] ) ) -// bPChipIsAutoPlay = false; -// } -// } -// else if ( pChip.e楽器パート == E楽器パート.BASS ) -// { -// bPChipIsAutoPlay = true; -// if ( !bIsAutoPlay[ (int) Eレーン.BsPick ] ) bPChipIsAutoPlay = false; -// else -// { -// if ( bGtBsR && !bIsAutoPlay[ (int) Eレーン.BsR ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsG && bIsAutoPlay[ (int) Eレーン.BsG ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsB && bIsAutoPlay[ (int) Eレーン.BsB ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsW && bIsAutoPlay[ (int) Eレーン.BsW ] ) bPChipIsAutoPlay = false; -// else if ( bGtBsO && -// ( !bIsAutoPlay[ (int) Eレーン.BsR ] || !bIsAutoPlay[ (int) Eレーン.BsG ] || !bIsAutoPlay[ (int) Eレーン.BsB ] ) ) -// bPChipIsAutoPlay = false; -// } -// } -// else -// { -// this.bAUTOでないチップが1つでもバーを通過した = true; -// } -////Trace.TraceInformation( "ch={0:x2}, flag={1}", pChip.nチャンネル番号, bPChipIsAutoPlay.ToString() ); -#endregion - if ( pChip.e楽器パート == E楽器パート.UNKNOWN ) - { - this.bAUTOでないチップが1つでもバーを通過した = true; - } - else + #region [メソッド化する前の記述(注釈化)] + // bool bPChipIsAutoPlay = false; + // bool bGtBsR = ( ( pChip.nチャンネル番号 & 4 ) > 0 ); + // bool bGtBsG = ( ( pChip.nチャンネル番号 & 2 ) > 0 ); + // bool bGtBsB = ( ( pChip.nチャンネル番号 & 1 ) > 0 ); + // bool bGtBsW = ( ( pChip.nチャンネル番号 & 0x0F ) == 0x08 ); + // bool bGtBsO = ( ( pChip.nチャンネル番号 & 0x0F ) == 0x00 ); + // if ( pChip.e楽器パート == E楽器パート.DRUMS ) + // { + // if ( bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ) + // { + // bPChipIsAutoPlay = true; + // } + // } + // else if ( pChip.e楽器パート == E楽器パート.GUITAR ) + // { + ////Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB ); + ////Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eレーン.GtR ], bIsAutoPlay[ (int) Eレーン.GtG ], bIsAutoPlay[ (int) Eレーン.GtB ]); + // bPChipIsAutoPlay = true; + // if ( !bIsAutoPlay[ (int) Eレーン.GtPick ] ) bPChipIsAutoPlay = false; + // else + // { + // if ( bGtBsR && !bIsAutoPlay[ (int) Eレーン.GtR ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsG && !bIsAutoPlay[ (int) Eレーン.GtG ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsB && !bIsAutoPlay[ (int) Eレーン.GtB ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsW && !bIsAutoPlay[ (int) Eレーン.GtW ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsO && + // ( !bIsAutoPlay[ (int) Eレーン.GtR] || !bIsAutoPlay[ (int) Eレーン.GtG] || !bIsAutoPlay[ (int) Eレーン.GtB] ) ) + // bPChipIsAutoPlay = false; + // } + // } + // else if ( pChip.e楽器パート == E楽器パート.BASS ) + // { + // bPChipIsAutoPlay = true; + // if ( !bIsAutoPlay[ (int) Eレーン.BsPick ] ) bPChipIsAutoPlay = false; + // else + // { + // if ( bGtBsR && !bIsAutoPlay[ (int) Eレーン.BsR ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsG && bIsAutoPlay[ (int) Eレーン.BsG ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsB && bIsAutoPlay[ (int) Eレーン.BsB ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsW && bIsAutoPlay[ (int) Eレーン.BsW ] ) bPChipIsAutoPlay = false; + // else if ( bGtBsO && + // ( !bIsAutoPlay[ (int) Eレーン.BsR ] || !bIsAutoPlay[ (int) Eレーン.BsG ] || !bIsAutoPlay[ (int) Eレーン.BsB ] ) ) + // bPChipIsAutoPlay = false; + // } + // } + // else + // { + // this.bAUTOでないチップが1つでもバーを通過した = true; + // } + ////Trace.TraceInformation( "ch={0:x2}, flag={1}", pChip.nチャンネル番号, bPChipIsAutoPlay.ToString() ); + #endregion + if (pChip.e楽器パート != E楽器パート.UNKNOWN) { - cInvisibleChip.StartSemiInvisible( pChip.e楽器パート ); + cInvisibleChip.StartSemiInvisible(pChip.e楽器パート); } - bool bPChipIsAutoPlay = bCheckAutoPlay( pChip ); - - pChip.bIsAutoPlayed = bPChipIsAutoPlay; // 2011.6.10 yyagi + bool bPChipIsAutoPlay = pChip.bAssignAutoPlayState(bIsAutoPlay); // 2011.6.10 yyagi E判定 eJudgeResult = E判定.Auto; - // #35411 2015.08.20 chnmr0 modified (begin) - bool bIsPerfectGhost = CDTXMania.ConfigIni.eAutoGhost[(int)pChip.e楽器パート] == EAutoGhostData.PERFECT || - CDTXMania.listAutoGhostLag[(int)pChip.e楽器パート] == null; - int nInputAdjustTime = bPChipIsAutoPlay && bIsPerfectGhost ? 0 : this.nInputAdjustTimeMs[(int)pChip.e楽器パート]; - eJudgeResult = (bCorrectLane) ? this.e指定時刻からChipのJUDGEを返す(nHitTime, pChip, nInputAdjustTime) : E判定.Miss; - - if( pChip.e楽器パート != E楽器パート.UNKNOWN ) - { - int nLane = -1; - switch( pChip.e楽器パート ) - { - case E楽器パート.DRUMS: - nLane = this.nチャンネル0Atoレーン07[pChip.eチャンネル番号 - Ech定義.HiHatClose]; - break; - case E楽器パート.GUITAR: - nLane = 10; - break; - case E楽器パート.BASS: - nLane = 11; - break; - } - this.actJudgeString.Start(nLane, bPChipIsAutoPlay && bIsPerfectGhost ? E判定.Auto : eJudgeResult, pChip.nLag); - } - // #35411 end - - if ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) + // #35411 2015.08.20 chnmr0 modified (begin) + bool bIsPerfectGhost = CDTXMania.app.ConfigIni.eAutoGhost[(int)pChip.e楽器パート] == EAutoGhostData.PERFECT || + CDTXMania.app.DTX.listAutoGhostLag[(int)pChip.e楽器パート] == null; + int nInputAdjustTime = bPChipIsAutoPlay && bIsPerfectGhost ? 0 : this.nInputAdjustTimeMs[(int)pChip.e楽器パート]; + eJudgeResult = (bCorrectLane) ? this.e指定時刻からChipのJUDGEを返す(nHitTime, pChip, nInputAdjustTime) : E判定.Miss; + + if (pChip.e楽器パート != E楽器パート.UNKNOWN) + { + int nLane = -1; + switch (pChip.e楽器パート) + { + case E楽器パート.DRUMS: + nLane = CStage演奏画面共通.nチャンネル0Atoレーン07[pChip.eチャンネル番号 - Ech定義.HiHatClose]; + break; + case E楽器パート.GUITAR: + nLane = 10; + break; + case E楽器パート.BASS: + nLane = 11; + break; + } + this.actJudgeString.Start(nLane, bPChipIsAutoPlay && bIsPerfectGhost ? E判定.Auto : eJudgeResult, pChip.nLag); + } + // #35411 end + + if (!bPChipIsAutoPlay && (pChip.e楽器パート != E楽器パート.UNKNOWN)) { // this.t判定にあわせてゲージを増減する( screenmode, pChip.e楽器パート, eJudgeResult ); - actGauge.Damage( screenmode, pChip.e楽器パート, eJudgeResult ); + actGauge.Damage(screenmode, pChip.e楽器パート, eJudgeResult); } - if ( eJudgeResult == E判定.Poor || eJudgeResult == E判定.Miss || eJudgeResult == E判定.Bad ) + if (eJudgeResult == E判定.Poor || eJudgeResult == E判定.Miss || eJudgeResult == E判定.Bad) { - cInvisibleChip.ShowChipTemporally( pChip.e楽器パート ); + cInvisibleChip.ShowChipTemporally(pChip.e楽器パート); } - switch ( pChip.e楽器パート ) + switch (pChip.e楽器パート) { case E楽器パート.DRUMS: - switch ( eJudgeResult ) + switch (eJudgeResult) { case E判定.Miss: case E判定.Bad: this.nヒット数_Auto含む.Drums.Miss++; - if ( !bPChipIsAutoPlay ) + if (!bPChipIsAutoPlay) { this.nヒット数_Auto含まない.Drums.Miss++; } break; default: - this.nヒット数_Auto含む.Drums[ (int) eJudgeResult ]++; - if ( !bPChipIsAutoPlay ) + this.nヒット数_Auto含む.Drums[(int)eJudgeResult]++; + if (!bPChipIsAutoPlay) { - this.nヒット数_Auto含まない.Drums[ (int) eJudgeResult ]++; + this.nヒット数_Auto含まない.Drums[(int)eJudgeResult]++; } break; } - if ( CDTXMania.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay ) + if (CDTXMania.app.ConfigIni.bドラムが全部オートプレイである || !bPChipIsAutoPlay) { - switch ( eJudgeResult ) + switch (eJudgeResult) { case E判定.Perfect: case E判定.Great: @@ -1387,36 +1374,36 @@ namespace DTXMania case E楽器パート.GUITAR: case E楽器パート.BASS: - int indexInst = (int) pChip.e楽器パート; - switch ( eJudgeResult ) + int indexInst = (int)pChip.e楽器パート; + switch (eJudgeResult) { case E判定.Miss: case E判定.Bad: - this.nヒット数_Auto含む[ indexInst ].Miss++; - if ( !bPChipIsAutoPlay ) + this.nヒット数_Auto含む[indexInst].Miss++; + if (!bPChipIsAutoPlay) { - this.nヒット数_Auto含まない[ indexInst ].Miss++; + this.nヒット数_Auto含まない[indexInst].Miss++; } break; default: // #24068 2011.1.10 ikanick changed // #24167 2011.1.16 yyagi changed - this.nヒット数_Auto含む[ indexInst ][ (int) eJudgeResult ]++; - if ( !bPChipIsAutoPlay ) + this.nヒット数_Auto含む[indexInst][(int)eJudgeResult]++; + if (!bPChipIsAutoPlay) { - this.nヒット数_Auto含まない[ indexInst ][ (int) eJudgeResult ]++; + this.nヒット数_Auto含まない[indexInst][(int)eJudgeResult]++; } break; } - switch ( eJudgeResult ) + switch (eJudgeResult) { case E判定.Perfect: case E判定.Great: case E判定.Good: - this.actCombo.n現在のコンボ数[ indexInst ]++; + this.actCombo.n現在のコンボ数[indexInst]++; break; default: - this.actCombo.n現在のコンボ数[ indexInst ] = 0; + this.actCombo.n現在のコンボ数[indexInst] = 0; break; } break; @@ -1424,53 +1411,52 @@ namespace DTXMania default: break; } - if ( ( !bPChipIsAutoPlay && ( pChip.e楽器パート != E楽器パート.UNKNOWN ) ) && ( eJudgeResult != E判定.Miss ) && ( eJudgeResult != E判定.Bad ) ) + if ((!bPChipIsAutoPlay && (pChip.e楽器パート != E楽器パート.UNKNOWN)) && (eJudgeResult != E判定.Miss) && (eJudgeResult != E判定.Bad)) { - int nCombos = this.actCombo.n現在のコンボ数[ (int) pChip.e楽器パート ]; + int nCombos = this.actCombo.n現在のコンボ数[(int)pChip.e楽器パート]; long nScoreDelta = 0; long[] nComboScoreDelta = new long[] { 350L, 200L, 50L, 0L }; - if ( ( nCombos <= 500 ) || ( eJudgeResult == E判定.Good ) ) + if ((nCombos <= 500) || (eJudgeResult == E判定.Good)) { - nScoreDelta = nComboScoreDelta[ (int) eJudgeResult ] * nCombos; + nScoreDelta = nComboScoreDelta[(int)eJudgeResult] * nCombos; } - else if ( ( eJudgeResult == E判定.Perfect ) || ( eJudgeResult == E判定.Great ) ) + else if ((eJudgeResult == E判定.Perfect) || (eJudgeResult == E判定.Great)) { - nScoreDelta = nComboScoreDelta[ (int) eJudgeResult ] * 500L; + nScoreDelta = nComboScoreDelta[(int)eJudgeResult] * 500L; } - this.actScore.Add( pChip.e楽器パート, bIsAutoPlay, nScoreDelta ); + this.actScore.Add(pChip.e楽器パート, bIsAutoPlay, nScoreDelta); } return eJudgeResult; } - protected abstract void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part ); - protected abstract void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part, int nLane ); - protected void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part, E楽器パート screenmode ) + protected abstract void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part); + protected abstract void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part, int nLane); + protected void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part, E楽器パート screenmode) { - this.tチップのヒット処理_BadならびにTight時のMiss( part, 0, screenmode ); + this.tチップのヒット処理_BadならびにTight時のMiss(part, 0, screenmode); } - protected void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part, int nLane, E楽器パート screenmode ) + protected void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part, int nLane, E楽器パート screenmode) { - this.bAUTOでないチップが1つでもバーを通過した = true; - cInvisibleChip.StartSemiInvisible( part ); - cInvisibleChip.ShowChipTemporally( part ); + cInvisibleChip.StartSemiInvisible(part); + cInvisibleChip.ShowChipTemporally(part); //this.t判定にあわせてゲージを増減する( screenmode, part, E判定.Miss ); - actGauge.Damage( screenmode, part, E判定.Miss ); - switch ( part ) + actGauge.Damage(screenmode, part, E判定.Miss); + switch (part) { case E楽器パート.DRUMS: - if ( ( nLane >= 0 ) && ( nLane <= 7 ) ) + if ((nLane >= 0) && (nLane <= 7)) { - this.actJudgeString.Start( nLane, bIsAutoPlay[ nLane ] ? E判定.Auto : E判定.Miss, 999 ); + this.actJudgeString.Start(nLane, bIsAutoPlay[nLane] ? E判定.Auto : E判定.Miss, 999); } this.actCombo.n現在のコンボ数.Drums = 0; return; case E楽器パート.GUITAR: - this.actJudgeString.Start( 10, E判定.Bad, 999 ); + this.actJudgeString.Start(10, E判定.Bad, 999); this.actCombo.n現在のコンボ数.Guitar = 0; return; case E楽器パート.BASS: - this.actJudgeString.Start( 11, E判定.Bad, 999 ); + this.actJudgeString.Start(11, E判定.Bad, 999); this.actCombo.n現在のコンボ数.Bass = 0; break; @@ -1478,46 +1464,46 @@ namespace DTXMania return; } } - - protected CChip r指定時刻に一番近い未ヒットChip( long nTime, Ech定義 eChannelFlag, int nInputAdjustTime ) + + protected CChip r指定時刻に一番近い未ヒットChip(long nTime, Ech定義 eChannelFlag, int nInputAdjustTime) { - return this.r指定時刻に一番近い未ヒットChip( nTime, eChannelFlag, nInputAdjustTime, 0 ); + return this.r指定時刻に一番近い未ヒットChip(nTime, eChannelFlag, nInputAdjustTime, 0); } - protected CChip r指定時刻に一番近い未ヒットChip( long nTime, Ech定義 eChannel, int nInputAdjustTime, int n検索範囲時間ms ) + protected CChip r指定時刻に一番近い未ヒットChip(long nTime, Ech定義 eChannel, int nInputAdjustTime, int n検索範囲時間ms) { sw2.Start(); -//Trace.TraceInformation( "nTime={0}, nChannel={1:x2}, 現在のTop={2}", nTime, nChannel,CDTXMania.DTX.listChip[ this.n現在のトップChip ].n発声時刻ms ); + //Trace.TraceInformation( "nTime={0}, nChannel={1:x2}, 現在のTop={2}", nTime, nChannel,CDTXMania.app.DTX.listChip[ this.n現在のトップChip ].n発声時刻ms ); nTime += nInputAdjustTime; int nIndex_InitialPositionSearchingToPast; int nTimeDiff; - if ( this.n現在のトップChip == -1 ) // 演奏データとして1個もチップがない場合は + if (this.n現在のトップChip == -1) // 演奏データとして1個もチップがない場合は { sw2.Stop(); return null; } int count = listChip.Count; int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = this.n現在のトップChip; - if ( this.n現在のトップChip >= count ) // その時点で演奏すべきチップが既に全部無くなっていたら + if (this.n現在のトップChip >= count) // その時点で演奏すべきチップが既に全部無くなっていたら { - nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = count - 1; + nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToPast = count - 1; } // int nIndex_NearestChip_Future = nIndex_InitialPositionSearchingToFuture; -// while ( nIndex_NearestChip_Future < count ) // 未来方向への検索 - for ( ; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++ ) + // while ( nIndex_NearestChip_Future < count ) // 未来方向への検索 + for (; nIndex_NearestChip_Future < count; nIndex_NearestChip_Future++) { - CChip chip = listChip[ nIndex_NearestChip_Future ]; - if ( !chip.bHit ) + CChip chip = listChip[nIndex_NearestChip_Future]; + if (!chip.bHit) { - if ( chip.b空打ちチップである ) + if (chip.b空打ちチップである) { continue; } - if ( ( Ech定義.HiHatClose <= eChannel ) && ( eChannel <= Ech定義.LeftCymbal ) ) + if ((Ech定義.HiHatClose <= eChannel) && (eChannel <= Ech定義.LeftCymbal)) { - if ( ( chip.eチャンネル番号 == eChannel ) || ( chip.eチャンネル番号 == ( eChannel + 0x20 ) ) ) + if ((chip.eチャンネル番号 == eChannel) || (chip.eチャンネル番号 == (eChannel + 0x20))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } @@ -1525,91 +1511,91 @@ namespace DTXMania } continue; } - else if ( ( ( ( eChannel == Ech定義.Guitar_WailingSound ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || - ( ( ( Ech定義.Guitar_Open <= eChannel ) && ( eChannel <= Ech定義.Guitar_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) ) + else if ((((eChannel == Ech定義.Guitar_WailingSound) && (chip.e楽器パート == E楽器パート.GUITAR)) || + (((Ech定義.Guitar_Open <= eChannel) && (eChannel <= Ech定義.Guitar_Wailing)) && (chip.eチャンネル番号 == eChannel)))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future; } - else if ( ( ( ( eChannel == Ech定義.Bass_WailingSound ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || - ( ( ( Ech定義.Bass_Open <= eChannel ) && ( eChannel <= Ech定義.Bass_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) ) ) + else if ((((eChannel == Ech定義.Bass_WailingSound) && (chip.e楽器パート == E楽器パート.BASS)) || + (((Ech定義.Bass_Open <= eChannel) && (eChannel <= Ech定義.Bass_Wailing)) && (chip.eチャンネル番号 == eChannel)))) { - if ( chip.n発声時刻ms > nTime ) + if (chip.n発声時刻ms > nTime) { break; } nIndex_InitialPositionSearchingToPast = nIndex_NearestChip_Future; } } -// nIndex_NearestChip_Future++; + // nIndex_NearestChip_Future++; } int nIndex_NearestChip_Past = nIndex_InitialPositionSearchingToPast; -// while ( nIndex_NearestChip_Past >= 0 ) // 過去方向への検索 - for ( ; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past-- ) + // while ( nIndex_NearestChip_Past >= 0 ) // 過去方向への検索 + for (; nIndex_NearestChip_Past >= 0; nIndex_NearestChip_Past--) { - CChip chip = listChip[ nIndex_NearestChip_Past ]; - if ( chip.b空打ちチップである ) + CChip chip = listChip[nIndex_NearestChip_Past]; + if (chip.b空打ちチップである) { continue; } - if ( ( !chip.bHit ) && + if ((!chip.bHit) && ( - ( ( eChannel >= Ech定義.HiHatClose ) && ( eChannel <= Ech定義.LeftCymbal ) && - ( ( chip.eチャンネル番号 == eChannel ) || ( chip.eチャンネル番号 == ( eChannel + 0x20 ) ) ) + ((eChannel >= Ech定義.HiHatClose) && (eChannel <= Ech定義.LeftCymbal) && + ((chip.eチャンネル番号 == eChannel) || (chip.eチャンネル番号 == (eChannel + 0x20))) ) || ( - ( ( eChannel == Ech定義.Guitar_WailingSound ) && ( chip.e楽器パート == E楽器パート.GUITAR ) ) || - ( ( ( eChannel >= Ech定義.Guitar_Open ) && ( eChannel <= Ech定義.Guitar_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) + ((eChannel == Ech定義.Guitar_WailingSound) && (chip.e楽器パート == E楽器パート.GUITAR)) || + (((eChannel >= Ech定義.Guitar_Open) && (eChannel <= Ech定義.Guitar_Wailing)) && (chip.eチャンネル番号 == eChannel)) ) || ( - ( ( eChannel == Ech定義.Bass_WailingSound ) && ( chip.e楽器パート == E楽器パート.BASS ) ) || - ( ( ( eChannel >= Ech定義.Bass_Open ) && ( eChannel <= Ech定義.Bass_Wailing ) ) && ( chip.eチャンネル番号 == eChannel ) ) + ((eChannel == Ech定義.Bass_WailingSound) && (chip.e楽器パート == E楽器パート.BASS)) || + (((eChannel >= Ech定義.Bass_Open) && (eChannel <= Ech定義.Bass_Wailing)) && (chip.eチャンネル番号 == eChannel)) ) ) ) - { - break; - } -// nIndex_NearestChip_Past--; + { + break; + } + // nIndex_NearestChip_Past--; } - if ( ( nIndex_NearestChip_Future >= count ) && ( nIndex_NearestChip_Past < 0 ) ) // 検索対象が過去未来どちらにも見つからなかった場合 + if ((nIndex_NearestChip_Future >= count) && (nIndex_NearestChip_Past < 0)) // 検索対象が過去未来どちらにも見つからなかった場合 { sw2.Stop(); return null; } CChip nearestChip; // = null; // 以下のifブロックのいずれかで必ずnearestChipには非nullが代入されるので、null初期化を削除 - if ( nIndex_NearestChip_Future >= count ) // 検索対象が未来方向には見つからなかった(しかし過去方向には見つかった)場合 + if (nIndex_NearestChip_Future >= count) // 検索対象が未来方向には見つからなかった(しかし過去方向には見つかった)場合 { - nearestChip = listChip[ nIndex_NearestChip_Past ]; -// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); + nearestChip = listChip[nIndex_NearestChip_Past]; + // nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); } - else if ( nIndex_NearestChip_Past < 0 ) // 検索対象が過去方向には見つからなかった(しかし未来方向には見つかった)場合 + else if (nIndex_NearestChip_Past < 0) // 検索対象が過去方向には見つからなかった(しかし未来方向には見つかった)場合 { - nearestChip = listChip[ nIndex_NearestChip_Future ]; -// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); + nearestChip = listChip[nIndex_NearestChip_Future]; + // nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); } else { - int nTimeDiff_Future = Math.Abs( (int) ( nTime - listChip[ nIndex_NearestChip_Future ].n発声時刻ms ) ); - int nTimeDiff_Past = Math.Abs( (int) ( nTime - listChip[ nIndex_NearestChip_Past ].n発声時刻ms ) ); - if ( nTimeDiff_Future < nTimeDiff_Past ) + int nTimeDiff_Future = Math.Abs((int)(nTime - listChip[nIndex_NearestChip_Future].n発声時刻ms)); + int nTimeDiff_Past = Math.Abs((int)(nTime - listChip[nIndex_NearestChip_Past].n発声時刻ms)); + if (nTimeDiff_Future < nTimeDiff_Past) { - nearestChip = listChip[ nIndex_NearestChip_Future ]; -// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); + nearestChip = listChip[nIndex_NearestChip_Future]; + // nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); } else { - nearestChip = listChip[ nIndex_NearestChip_Past ]; -// nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); + nearestChip = listChip[nIndex_NearestChip_Past]; + // nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); } } - nTimeDiff = Math.Abs( (int) ( nTime - nearestChip.n発声時刻ms ) ); - if ( ( n検索範囲時間ms > 0 ) && ( nTimeDiff > n検索範囲時間ms ) ) // チップは見つかったが、検索範囲時間外だった場合 + nTimeDiff = Math.Abs((int)(nTime - nearestChip.n発声時刻ms)); + if ((n検索範囲時間ms > 0) && (nTimeDiff > n検索範囲時間ms)) // チップは見つかったが、検索範囲時間外だった場合 { sw2.Stop(); return null; @@ -1618,9 +1604,9 @@ namespace DTXMania return nearestChip; } - protected CChip r次に来る指定楽器Chipを更新して返す( E楽器パート inst ) + protected CChip r次に来る指定楽器Chipを更新して返す(E楽器パート inst) { - switch ( (int) inst ) + switch ((int)inst) { case (int)E楽器パート.GUITAR: return r次にくるギターChipを更新して返す(); @@ -1633,46 +1619,46 @@ namespace DTXMania protected CChip r次にくるギターChipを更新して返す() { int nInputAdjustTime = this.bIsAutoPlay.GtPick ? 0 : this.nInputAdjustTimeMs.Guitar; - this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip( CSound管理.rc演奏用タイマ.n現在時刻, Ech定義.Guitar_WailingSound, nInputAdjustTime, 500 ); + this.r次にくるギターChip = this.r指定時刻に一番近い未ヒットChip(CSound管理.rc演奏用タイマ.n現在時刻, Ech定義.Guitar_WailingSound, nInputAdjustTime, 500); return this.r次にくるギターChip; } protected CChip r次にくるベースChipを更新して返す() { int nInputAdjustTime = this.bIsAutoPlay.BsPick ? 0 : this.nInputAdjustTimeMs.Bass; - this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip( CSound管理.rc演奏用タイマ.n現在時刻, Ech定義.Bass_WailingSound, nInputAdjustTime, 500 ); + this.r次にくるベースChip = this.r指定時刻に一番近い未ヒットChip(CSound管理.rc演奏用タイマ.n現在時刻, Ech定義.Bass_WailingSound, nInputAdjustTime, 500); return this.r次にくるベースChip; } - protected void ChangeInputAdjustTimeInPlaying( IInputDevice keyboard, int plusminus ) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + protected void ChangeInputAdjustTimeInPlaying(IInputDevice keyboard, int plusminus) // #23580 2011.1.16 yyagi UI for InputAdjustTime in playing screen. { int part, offset = plusminus; - if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) ) // Guitar InputAdjustTime + if (keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift)) // Guitar InputAdjustTime { - part = (int) E楽器パート.GUITAR; + part = (int)E楽器パート.GUITAR; } - else if ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftAlt ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightAlt ) ) // Bass InputAdjustTime + else if (keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftAlt) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightAlt)) // Bass InputAdjustTime { - part = (int) E楽器パート.BASS; + part = (int)E楽器パート.BASS; } else // Drums InputAdjustTime { - part = (int) E楽器パート.DRUMS; + part = (int)E楽器パート.DRUMS; } - if ( !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) && !keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) + if (!keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftControl) && !keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightControl)) { offset *= 10; } - this.nInputAdjustTimeMs[ part ] += offset; - if ( this.nInputAdjustTimeMs[ part ] > 99 ) + this.nInputAdjustTimeMs[part] += offset; + if (this.nInputAdjustTimeMs[part] > 99) { - this.nInputAdjustTimeMs[ part ] = 99; + this.nInputAdjustTimeMs[part] = 99; } - else if ( this.nInputAdjustTimeMs[ part ] < -99 ) + else if (this.nInputAdjustTimeMs[part] < -99) { - this.nInputAdjustTimeMs[ part ] = -99; + this.nInputAdjustTimeMs[part] = -99; } - CDTXMania.ConfigIni.nInputAdjustTimeMs[ part ] = this.nInputAdjustTimeMs[ part ]; + CDTXMania.app.ConfigIni.nInputAdjustTimeMs[part] = this.nInputAdjustTimeMs[part]; } protected abstract void t入力処理_ドラム(); @@ -1681,122 +1667,122 @@ namespace DTXMania private int nStartTime_ = 0; protected void tキー入力() { - IInputDevice keyboard = CDTXMania.Input管理.Keyboard; - if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F1 ) && - ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + IInputDevice keyboard = CDTXMania.app.Input管理.Keyboard; + if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1) && + (keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift))) { // shift+f1 (pause) this.bPAUSE = !this.bPAUSE; - if ( this.bPAUSE ) + if (this.bPAUSE) { - nStartTime_ = (int) CSound管理.rc演奏用タイマ.n現在時刻; - CSound管理.rc演奏用タイマ.t一時停止(); - CDTXMania.Timer.t一時停止(); - CDTXMania.DTX.t全チップの再生一時停止(); - CDTXMania.DTX.t全AVIの一時停止(); + nStartTime_ = (int)CSound管理.rc演奏用タイマ.n現在時刻; + CSound管理.rc演奏用タイマ.t一時停止(); + CDTXMania.app.Timer.t一時停止(); + CDTXMania.app.DTX.t全チップの再生一時停止(); + CDTXMania.app.DTX.t全AVIの一時停止(); } else { - CDTXMania.DTX.t全AVIの再生再開(); - //CDTXMania.DTX.t全チップの再生再開(); + CDTXMania.app.DTX.t全AVIの再生再開(); + //CDTXMania.app.DTX.t全チップの再生再開(); #region [ PAUSE連打でのBGMずれ対策 (AVIはずれたままになるが無視・・・) ] List pausedCSound = new List(); - for ( int i = this.n現在のトップChip; i >= 0; i-- ) + for (int i = this.n現在のトップChip; i >= 0; i--) { - CChip pChip = CDTXMania.DTX.listChip[ i ]; + CChip pChip = CDTXMania.app.DTX.listChip[i]; int nDuration = pChip.GetDuration(); - if ( ( pChip.n発声時刻ms + nDuration > 0 ) && ( pChip.n発声時刻ms <= nStartTime_ ) && ( nStartTime_ <= pChip.n発声時刻ms + nDuration ) ) + if ((pChip.n発声時刻ms + nDuration > 0) && (pChip.n発声時刻ms <= nStartTime_) && (nStartTime_ <= pChip.n発声時刻ms + nDuration)) { - if ( pChip.bWAVを使うチャンネルである && !pChip.b空打ちチップである ) // wav系チャンネル、且つ、空打ちチップではない + if (pChip.bWAVを使うチャンネルである && !pChip.b空打ちチップである) // wav系チャンネル、且つ、空打ちチップではない { CDTX.CWAV wc; - bool b = CDTXMania.DTX.listWAV.TryGetValue( pChip.n整数値_内部番号, out wc ); - if ( !b ) continue; + bool b = CDTXMania.app.DTX.listWAV.TryGetValue(pChip.n整数値_内部番号, out wc); + if (!b) continue; - if ( ( wc.bIsBGMSound && CDTXMania.ConfigIni.bBGM音を発声する ) || ( !wc.bIsBGMSound ) ) + if ((wc.bIsBGMSound && CDTXMania.app.ConfigIni.bBGM音を発声する) || (!wc.bIsBGMSound)) { - CDTXMania.DTX.tチップの再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int) Eレーン.BGM, CDTXMania.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + CDTXMania.app.DTX.tチップの再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int)Eレーン.BGM, CDTXMania.app.DTX.nモニタを考慮した音量(E楽器パート.UNKNOWN)); #region [ PAUSEする ] int j = wc.n現在再生中のサウンド番号; - if ( wc.rSound[ j ] != null ) + if (wc.rSound[j] != null) { - wc.rSound[ j ].t再生を一時停止する(); - wc.rSound[ j ].t再生位置を変更する( nStartTime_ - pChip.n発声時刻ms ); - pausedCSound.Add( wc.rSound[ j ] ); + wc.rSound[j].t再生を一時停止する(); + wc.rSound[j].t再生位置を変更する(nStartTime_ - pChip.n発声時刻ms); + pausedCSound.Add(wc.rSound[j]); } #endregion } } } } - foreach ( CSound cs in pausedCSound ) + foreach (CSound cs in pausedCSound) { cs.tサウンドを再生する(); } #endregion - CDTXMania.Timer.t再開(); + CDTXMania.app.Timer.t再開(); CSound管理.rc演奏用タイマ.t再開(); } } - if ( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + if ((!this.bPAUSE && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED)) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) { this.t入力処理_ドラム(); - this.t入力処理_ギターベース( E楽器パート.GUITAR ); - this.t入力処理_ギターベース( E楽器パート.BASS ); - if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + this.t入力処理_ギターベース(E楽器パート.GUITAR); + this.t入力処理_ギターベース(E楽器パート.BASS); + if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow) && (keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift))) { // shift (+ctrl) + UpArrow (BGMAdjust) - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? 1 : 10 ); - CDTXMania.DTX.tWave再生位置自動補正(); + CDTXMania.app.DTX.t各自動再生音チップの再生時刻を変更する((keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftControl) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightControl)) ? 1 : 10); + CDTXMania.app.DTX.tWave再生位置自動補正(); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) && ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightShift ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftShift ) ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow) && (keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift))) { // shift + DownArrow (BGMAdjust) - CDTXMania.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftControl ) || keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightControl ) ) ? -1 : -10 ); - CDTXMania.DTX.tWave再生位置自動補正(); + CDTXMania.app.DTX.t各自動再生音チップの再生時刻を変更する((keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftControl) || keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightControl)) ? -1 : -10); + CDTXMania.app.DTX.tWave再生位置自動補正(); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.UpArrow ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow)) { // UpArrow(scrollspeed up) ドラムスクロール速度アップ(); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.DownArrow ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow)) { // DownArrow (scrollspeed down) ドラムスクロール速度ダウン(); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Delete ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Delete)) { // del (debug info) - CDTXMania.ConfigIni.b演奏情報を表示する = !CDTXMania.ConfigIni.b演奏情報を表示する; + CDTXMania.app.ConfigIni.b演奏情報を表示する = !CDTXMania.app.ConfigIni.b演奏情報を表示する; } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.LeftArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.LeftArrow)) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. { - ChangeInputAdjustTimeInPlaying( keyboard, -1 ); + ChangeInputAdjustTimeInPlaying(keyboard, -1); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.RightArrow ) ) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.RightArrow)) // #24243 2011.1.16 yyagi UI for InputAdjustTime in playing screen. { - ChangeInputAdjustTimeInPlaying( keyboard, +1 ); + ChangeInputAdjustTimeInPlaying(keyboard, +1); } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F5 ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5)) { - int n描画遅延ms = CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums; - n描画遅延ms = Math.Max( n描画遅延ms - 1, -99); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums = - CDTXMania.ConfigIni.nJudgeLinePosOffset.Guitar = - CDTXMania.ConfigIni.nJudgeLinePosOffset.Bass = n描画遅延ms; + int n描画遅延ms = CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums; + n描画遅延ms = Math.Max(n描画遅延ms - 1, -99); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums = + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Guitar = + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Bass = n描画遅延ms; this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = this.演奏判定ライン座標.nJudgeLinePosY_delta.Guitar = this.演奏判定ライン座標.nJudgeLinePosY_delta.Bass = n描画遅延ms; } - else if ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F6 ) ) + else if (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6)) { - int n描画遅延ms = CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums; - n描画遅延ms = Math.Min( n描画遅延ms + 1, 99 ); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums = - CDTXMania.ConfigIni.nJudgeLinePosOffset.Guitar = - CDTXMania.ConfigIni.nJudgeLinePosOffset.Bass = n描画遅延ms; + int n描画遅延ms = CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums; + n描画遅延ms = Math.Min(n描画遅延ms + 1, 99); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums = + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Guitar = + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Bass = n描画遅延ms; this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = this.演奏判定ライン座標.nJudgeLinePosY_delta.Guitar = this.演奏判定ライン座標.nJudgeLinePosY_delta.Bass = n描画遅延ms; } - else if ( ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) && ( keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Escape ) || CDTXMania.Pad.b押されたGB( Eパッド.FT ) ) ) + else if ((base.eフェーズID == CStage.Eフェーズ.共通_通常状態) && (keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) || CDTXMania.app.Pad.b押されたGB(Eパッド.FT))) { // escape (exit) this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; @@ -1805,59 +1791,59 @@ namespace DTXMania } } - protected void t入力メソッド記憶( E楽器パート part ) + protected void t入力メソッド記憶(E楽器パート part) { - if ( CDTXMania.Pad.st検知したデバイス.Keyboard ) + if (CDTXMania.app.Pad.st検知したデバイス.Keyboard) { - this.b演奏にキーボードを使った[ (int) part ] = true; + this.b演奏にキーボードを使った[(int)part] = true; } - if ( CDTXMania.Pad.st検知したデバイス.Joypad ) + if (CDTXMania.app.Pad.st検知したデバイス.Joypad) { - this.b演奏にジョイパッドを使った[ (int) part ] = true; + this.b演奏にジョイパッドを使った[(int)part] = true; } - if ( CDTXMania.Pad.st検知したデバイス.MIDIIN ) + if (CDTXMania.app.Pad.st検知したデバイス.MIDIIN) { - this.b演奏にMIDI入力を使った[ (int) part ] = true; + this.b演奏にMIDI入力を使った[(int)part] = true; } - if ( CDTXMania.Pad.st検知したデバイス.Mouse ) + if (CDTXMania.app.Pad.st検知したデバイス.Mouse) { - this.b演奏にマウスを使った[ (int) part ] = true; + this.b演奏にマウスを使った[(int)part] = true; } } protected abstract void t進行描画_AVI(); protected void t進行描画_AVI(int x, int y) { - if ( ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bAVI有効 ) ) + if (((base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) && (!CDTXMania.app.ConfigIni.bストイックモード && CDTXMania.app.ConfigIni.bAVI有効)) { - this.actAVI.t進行描画(x, y, 556, 710); + this.actAVI.t進行描画(x, y, 556, 710); } } protected abstract void t進行描画_BGA(); protected void t進行描画_BGA(int x, int y) { - if ( ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( !CDTXMania.ConfigIni.bストイックモード && CDTXMania.ConfigIni.bBGA有効 ) ) + if (((base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) && (!CDTXMania.app.ConfigIni.bストイックモード && CDTXMania.app.ConfigIni.bBGA有効)) { - this.actBGA.t進行描画( x, y ); + this.actBGA.t進行描画(x, y); } } protected abstract void t進行描画_DANGER(); protected void t進行描画_MIDIBGM() { - if ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) + if (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) { CStage.Eフェーズ eフェーズid1 = base.eフェーズID; } } protected void t進行描画_RGBボタン() { - if ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) + if (CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) { - this.actRGB.t進行描画( 演奏判定ライン座標 ); + this.actRGB.t進行描画(演奏判定ライン座標); } } protected void t進行描画_STAGEFAILED() { - if ( ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) && ( ( this.actStageFailed.On進行描画() != 0 ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) ) + if (((base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED) || (base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) && ((this.actStageFailed.On進行描画() != 0) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト))) { this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージ失敗; base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト; @@ -1866,7 +1852,7 @@ namespace DTXMania } protected void t進行描画_WailingBonus() { - if ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + if ((base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) { this.actWailingBonus.On進行描画(); } @@ -1874,17 +1860,17 @@ namespace DTXMania protected abstract void t進行描画_Wailing枠(); protected void t進行描画_Wailing枠(int GtWailingFrameX, int BsWailingFrameX, int GtWailingFrameY, int BsWailingFrameY) { - if ( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 ) + if ((CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) && CDTXMania.app.ConfigIni.bGuitar有効) { - if ( this.txWailing枠 != null ) + if (this.txWailing枠 != null) { - if ( CDTXMania.DTX.bチップがある.Guitar ) + if (CDTXMania.app.DTX.bチップがある.Guitar) { - this.txWailing枠.t2D描画( CDTXMania.app.Device, GtWailingFrameX, GtWailingFrameY ); + this.txWailing枠.t2D描画(CDTXMania.app.Device, GtWailingFrameX, GtWailingFrameY); } - if ( CDTXMania.DTX.bチップがある.Bass ) + if (CDTXMania.app.DTX.bチップがある.Bass) { - this.txWailing枠.t2D描画( CDTXMania.app.Device, BsWailingFrameX, BsWailingFrameY ); + this.txWailing枠.t2D描画(CDTXMania.app.Device, BsWailingFrameX, BsWailingFrameY); } } } @@ -1898,20 +1884,20 @@ namespace DTXMania protected abstract void t進行描画_パネル文字列(); protected void t進行描画_パネル文字列(int x, int y) { - if ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + if ((base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) { - this.actPanel.t進行描画( x, y ); + this.actPanel.t進行描画(x, y); } } protected void tパネル文字列の設定() { - this.actPanel.SetPanelString( string.IsNullOrEmpty( CDTXMania.DTX.PANEL ) ? CDTXMania.DTX.TITLE : CDTXMania.DTX.PANEL ); + this.actPanel.SetPanelString(string.IsNullOrEmpty(CDTXMania.app.DTX.PANEL) ? CDTXMania.app.DTX.TITLE : CDTXMania.app.DTX.PANEL); } protected void t進行描画_ゲージ() { - if ( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) ) + if (((CDTXMania.app.ConfigIni.eDark != Eダークモード.HALF) && (CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL)) && ((base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト))) { this.actGauge.On進行描画(); } @@ -1928,140 +1914,135 @@ namespace DTXMania { this.actStatusPanels.On進行描画(); } - protected bool t進行描画_チップ( E楽器パート ePlayMode ) + protected bool t進行描画_チップ(E楽器パート ePlayMode) { - if ( ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED ) || ( base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + if ((base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED) || (base.eフェーズID == CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) { return true; } - if ( ( this.n現在のトップChip == -1 ) || ( this.n現在のトップChip >= listChip.Count ) ) + if ((this.n現在のトップChip == -1) || (this.n現在のトップChip >= listChip.Count)) { return true; } - if ( this.n現在のトップChip == -1 ) + if (this.n現在のトップChip == -1) { return true; } - //double speed = 264.0; // BPM150の時の1小節の長さ[dot] - const double speed = 234.0 * Scale.Y; // BPM150の時の1小節の長さ[dot] - - double ScrollSpeedDrums = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Drums + 1.0 ) * 0.5 * 37.5 * speed / 60000.0; - double ScrollSpeedGuitar = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Guitar + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0; - double ScrollSpeedBass = ( this.act譜面スクロール速度.db現在の譜面スクロール速度.Bass + 1.0 ) * 0.5 * 0.5 * 37.5 * speed / 60000.0; - - CDTX dTX = CDTXMania.DTX; - CConfigIni configIni = CDTXMania.ConfigIni; - for ( int nCurrentTopChip = this.n現在のトップChip; nCurrentTopChip < dTX.listChip.Count; nCurrentTopChip++ ) + CDTX dTX = CDTXMania.app.DTX; + CConfigIni configIni = CDTXMania.app.ConfigIni; + for (int nCurrentTopChip = this.n現在のトップChip; nCurrentTopChip < dTX.listChip.Count; nCurrentTopChip++) { - CChip pChip = dTX.listChip[ nCurrentTopChip ]; -//Debug.WriteLine( "nCurrentTopChip=" + nCurrentTopChip + ", ch=" + pChip.nチャンネル番号.ToString("x2") + ", 発音位置=" + pChip.n発声位置 + ", 発声時刻ms=" + pChip.n発声時刻ms ); - pChip.nバーからの距離dot.Drums = (int) ( ( pChip.n発声時刻ms - CSound管理.rc演奏用タイマ.n現在時刻 ) * ScrollSpeedDrums ); - pChip.nバーからの距離dot.Guitar = (int) ( ( pChip.n発声時刻ms - CSound管理.rc演奏用タイマ.n現在時刻 ) * ScrollSpeedGuitar ); - pChip.nバーからの距離dot.Bass = (int) ( ( pChip.n発声時刻ms - CSound管理.rc演奏用タイマ.n現在時刻 ) * ScrollSpeedBass ); - if ( Math.Min( Math.Min( pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar ), pChip.nバーからの距離dot.Bass ) > 450 * Scale.Y ) + CChip pChip = dTX.listChip[nCurrentTopChip]; + //Debug.WriteLine( "nCurrentTopChip=" + nCurrentTopChip + ", ch=" + pChip.nチャンネル番号.ToString("x2") + ", 発音位置=" + pChip.n発声位置 + ", 発声時刻ms=" + pChip.n発声時刻ms ); + pChip.CalcDistanceFromBar(CSound管理.rc演奏用タイマ.n現在時刻, this.act譜面スクロール速度.db現在の譜面スクロール速度); + if (Math.Min(Math.Min(pChip.nバーからの距離dot.Drums, pChip.nバーからの距離dot.Guitar), pChip.nバーからの距離dot.Bass) > 450 * Scale.Y) { break; } -// if ( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit ) + // if ( ( ( nCurrentTopChip == this.n現在のトップChip ) && ( pChip.nバーからの距離dot.Drums < -65 ) ) && pChip.bHit ) // #28026 2012.4.5 yyagi; 信心ワールドエンドの曲終了後リザルトになかなか行かない問題の修正 - if (( dTX.listChip[ this.n現在のトップChip ].nバーからの距離dot.Drums < -65 * Scale.Y ) && // 小節線の消失処理などに影響するため、 - ( dTX.listChip[ this.n現在のトップChip ].nバーからの距離dot.Guitar < -65 * Scale.Y ) && // Drumsのスクロールスピードだけには依存させない。 - ( dTX.listChip[ this.n現在のトップChip ].nバーからの距離dot.Bass < -65 * Scale.Y ) && - dTX.listChip[ this.n現在のトップChip ].bHit ) + if ((dTX.listChip[this.n現在のトップChip].nバーからの距離dot.Drums < -65 * Scale.Y) && // 小節線の消失処理などに影響するため、 + (dTX.listChip[this.n現在のトップChip].nバーからの距離dot.Guitar < -65 * Scale.Y) && // Drumsのスクロールスピードだけには依存させない。 + (dTX.listChip[this.n現在のトップChip].nバーからの距離dot.Bass < -65 * Scale.Y) && + dTX.listChip[this.n現在のトップChip].bHit) { // nCurrentTopChip = ++this.n現在のトップChip; ++this.n現在のトップChip; continue; } - bool bPChipIsAutoPlay = bCheckAutoPlay( pChip ); - int nInputAdjustTime = ( bPChipIsAutoPlay || (pChip.e楽器パート == E楽器パート.UNKNOWN) )? 0 : this.nInputAdjustTimeMs[ (int) pChip.e楽器パート ]; - int instIndex = (int) pChip.e楽器パート; - if ( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) && - ( ( pChip.nバーからの距離dot[ instIndex ] < -40 * Scale.Y ) && - ( this.e指定時刻からChipのJUDGEを返す( CSound管理.rc演奏用タイマ.n現在時刻, pChip, nInputAdjustTime ) == E判定.Miss ) ) ) + bool bPChipIsAutoPlay = pChip.bAssignAutoPlayState(bIsAutoPlay); + + int nInputAdjustTime = (bPChipIsAutoPlay || (pChip.e楽器パート == E楽器パート.UNKNOWN)) ? 0 : this.nInputAdjustTimeMs[(int)pChip.e楽器パート]; + + int instIndex = (int)pChip.e楽器パート; + if (((pChip.e楽器パート != E楽器パート.UNKNOWN) && !pChip.bHit) && + ((pChip.nバーからの距離dot[instIndex] < -40 * Scale.Y) && + (this.e指定時刻からChipのJUDGEを返す(CSound管理.rc演奏用タイマ.n現在時刻, pChip, nInputAdjustTime) == E判定.Miss))) { - this.tチップのヒット処理( CSound管理.rc演奏用タイマ.n現在時刻, pChip ); //チップ消失(Hitせずスルーした場合) + this.tチップのヒット処理(CSound管理.rc演奏用タイマ.n現在時刻, pChip); //チップ消失(Hitせずスルーした場合) } - if ( ( ( pChip.e楽器パート != E楽器パート.UNKNOWN ) && !pChip.bHit ) && - ( ( pChip.nバーからの距離dot[ instIndex ] + this.演奏判定ライン座標.nJudgeLinePosY_delta[instIndex] < 0 ) ) ) + if (((pChip.e楽器パート != E楽器パート.UNKNOWN) && !pChip.bHit) && + ((pChip.nバーからの距離dot[instIndex] + this.演奏判定ライン座標.nJudgeLinePosY_delta[instIndex] < 0))) { //Debug.WriteLine( "透明度=" + pChip.n透明度 ); pChip.n透明度 -= 12; // チップが判定バーを越えたら、徐々に透明にする。VSyncWaitの有無で加減が変わるが・・ - if ( pChip.n透明度 < 0 ) + if (pChip.n透明度 < 0) { pChip.n透明度 = 0; } } - // #35411 chnmr0 add (ターゲットゴースト) - if ( CDTXMania.ConfigIni.eTargetGhost[instIndex] != ETargetGhostData.NONE && - CDTXMania.listTargetGhsotLag[instIndex] != null && - pChip.e楽器パート != E楽器パート.UNKNOWN && - pChip.nバーからの距離dot[instIndex] < 0 ) - { - if ( !pChip.bTargetGhost判定済み ) - { - pChip.bTargetGhost判定済み = true; + // #35411 chnmr0 add (ターゲットゴースト) + if (CDTXMania.app.ConfigIni.eTargetGhost[instIndex] != ETargetGhostData.NONE && + CDTXMania.app.DTX.listTargetGhsotLag[instIndex] != null && + pChip.e楽器パート != E楽器パート.UNKNOWN && + pChip.nバーからの距離dot[instIndex] < 0) + { + if (!pChip.bTargetGhost判定済み) + { + pChip.bTargetGhost判定済み = true; int ghostLag = 128; - if( 0 <= pChip.n楽器パートでの出現順 && pChip.n楽器パートでの出現順 < CDTXMania.listTargetGhsotLag[instIndex].Count ) - { - ghostLag = CDTXMania.listTargetGhsotLag[instIndex][pChip.n楽器パートでの出現順]; + if (0 <= pChip.n楽器パートでの出現順 && pChip.n楽器パートでの出現順 < CDTXMania.app.DTX.listTargetGhsotLag[instIndex].Count) + { + ghostLag = CDTXMania.app.DTX.listTargetGhsotLag[instIndex][pChip.n楽器パートでの出現順]; // 上位8ビットが1ならコンボが途切れている(ギターBAD空打ちでコンボ数を再現するための措置) - if( ghostLag > 255 ) + if (ghostLag > 255) { this.nコンボ数_TargetGhost[instIndex] = 0; } ghostLag = (ghostLag & 255) - 128; } - else if( CDTXMania.ConfigIni.eTargetGhost[instIndex] == ETargetGhostData.PERFECT ) - { - ghostLag = 0; - } - - if ( ghostLag <= 127 ) - { - E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(pChip.n発声時刻ms + ghostLag , pChip, 0, false); - this.nヒット数_TargetGhost[instIndex][(int)eJudge]++; - if (eJudge == E判定.Miss || eJudge == E判定.Poor) - { - this.n最大コンボ数_TargetGhost[instIndex] = Math.Max(this.n最大コンボ数_TargetGhost[instIndex], this.nコンボ数_TargetGhost[instIndex]); - this.nコンボ数_TargetGhost[instIndex] = 0; - } - else - { - this.nコンボ数_TargetGhost[instIndex]++; - } - } - } - } - - switch ( pChip.eチャンネル番号 ) + else if (CDTXMania.app.ConfigIni.eTargetGhost[instIndex] == ETargetGhostData.PERFECT) + { + ghostLag = 0; + } + + if (ghostLag <= 127) + { + E判定 eJudge = this.e指定時刻からChipのJUDGEを返す(pChip.n発声時刻ms + ghostLag, pChip, 0, false); + this.nヒット数_TargetGhost[instIndex][(int)eJudge]++; + if (eJudge == E判定.Miss || eJudge == E判定.Poor) + { + this.n最大コンボ数_TargetGhost[instIndex] = Math.Max(this.n最大コンボ数_TargetGhost[instIndex], this.nコンボ数_TargetGhost[instIndex]); + this.nコンボ数_TargetGhost[instIndex] = 0; + } + else + { + this.nコンボ数_TargetGhost[instIndex]++; + } + } + } + } + + + + switch (pChip.eチャンネル番号) { #region [ 01: BGM ] case Ech定義.BGM: // BGM - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( configIni.bBGM音を発声する ) + if (configIni.bBGM音を発声する) { -//long t = CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms; -//Trace.TraceInformation( "BGM再生開始: 演奏タイマのn前回リセットしたときのシステム時刻=" + CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + ", pChip.n発生時刻ms=" + pChip.n発声時刻ms + ", 合計=" + t ); - dTX.tチップの再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int) Eレーン.BGM, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + //long t = CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms; + //Trace.TraceInformation( "BGM再生開始: 演奏タイマのn前回リセットしたときのシステム時刻=" + CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + ", pChip.n発生時刻ms=" + pChip.n発声時刻ms + ", 合計=" + t ); + dTX.tチップの再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int)Eレーン.BGM, dTX.nモニタを考慮した音量(E楽器パート.UNKNOWN)); } } break; #endregion #region [ 03: BPM変更 ] case Ech定義.BPM: // BPM変更 - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - this.actPlayInfo.dbBPM = ( pChip.n整数値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM; + this.actPlayInfo.dbBPM = (pChip.n整数値 * (((double)configIni.n演奏速度) / 20.0)) + dTX.BASEBPM; } break; #endregion @@ -2074,38 +2055,38 @@ namespace DTXMania case Ech定義.BGALayer6: case Ech定義.BGALayer7: case Ech定義.BGALayer8: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( configIni.bBGA有効 ) + if (configIni.bBGA有効) { - switch ( pChip.eBGA種別 ) + switch (pChip.eBGA種別) { case EBGA種別.BMPTEX: - if ( pChip.rBMPTEX != null ) + if (pChip.rBMPTEX != null) { - this.actBGA.Start( pChip.eチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + this.actBGA.Start(pChip.eチャンネル番号, null, pChip.rBMPTEX, pChip.rBMPTEX.tx画像.sz画像サイズ.Width, pChip.rBMPTEX.tx画像.sz画像サイズ.Height, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } break; case EBGA種別.BGA: - if ( ( pChip.rBGA != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) ) + if ((pChip.rBGA != null) && ((pChip.rBMP != null) || (pChip.rBMPTEX != null))) { - this.actBGA.Start( pChip.eチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0 ); + this.actBGA.Start(pChip.eチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGA.pt画像側右下座標.X - pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側右下座標.Y - pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt画像側左上座標.X, pChip.rBGA.pt画像側左上座標.Y, 0, 0, pChip.rBGA.pt表示座標.X, pChip.rBGA.pt表示座標.Y, 0, 0, 0); } break; case EBGA種別.BGAPAN: - if ( ( pChip.rBGAPan != null ) && ( ( pChip.rBMP != null ) || ( pChip.rBMPTEX != null ) ) ) + if ((pChip.rBGAPan != null) && ((pChip.rBMP != null) || (pChip.rBMPTEX != null))) { - this.actBGA.Start( pChip.eチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間 ); + this.actBGA.Start(pChip.eチャンネル番号, pChip.rBMP, pChip.rBMPTEX, pChip.rBGAPan.sz開始サイズ.Width, pChip.rBGAPan.sz開始サイズ.Height, pChip.rBGAPan.sz終了サイズ.Width, pChip.rBGAPan.sz終了サイズ.Height, pChip.rBGAPan.pt画像側開始位置.X, pChip.rBGAPan.pt画像側開始位置.Y, pChip.rBGAPan.pt画像側終了位置.X, pChip.rBGAPan.pt画像側終了位置.Y, pChip.rBGAPan.pt表示側開始位置.X, pChip.rBGAPan.pt表示側開始位置.Y, pChip.rBGAPan.pt表示側終了位置.X, pChip.rBGAPan.pt表示側終了位置.Y, pChip.n総移動時間); } break; default: - if ( pChip.rBMP != null ) + if (pChip.rBMP != null) { - this.actBGA.Start( pChip.eチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + this.actBGA.Start(pChip.eチャンネル番号, pChip.rBMP, null, pChip.rBMP.n幅, pChip.rBMP.n高さ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } break; } @@ -2115,12 +2096,12 @@ namespace DTXMania #endregion #region [ 08: BPM変更(拡張) ] case Ech定義.BPMEx: // BPM変更(拡張) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( dTX.listBPM.ContainsKey( pChip.n整数値_内部番号 ) ) + if (dTX.listBPM.ContainsKey(pChip.n整数値_内部番号)) { - this.actPlayInfo.dbBPM = ( dTX.listBPM[ pChip.n整数値_内部番号 ].dbBPM値 * ( ( (double) configIni.n演奏速度 ) / 20.0 ) ) + dTX.BASEBPM; + this.actPlayInfo.dbBPM = (dTX.listBPM[pChip.n整数値_内部番号].dbBPM値 * (((double)configIni.n演奏速度) / 20.0)) + dTX.BASEBPM; } } break; @@ -2136,19 +2117,19 @@ namespace DTXMania case Ech定義.HiHatOpen: case Ech定義.RideCymbal: case Ech定義.LeftCymbal: - if ( pChip.b空打ちチップである ) + if (pChip.b空打ちチップである) { - this.t進行描画_チップ_空打ち音設定_ドラム( configIni, ref dTX, ref pChip ); + this.t進行描画_チップ_空打ち音設定_ドラム(configIni, ref dTX, ref pChip); } else { - this.t進行描画_チップ_ドラムス( configIni, ref dTX, ref pChip ); + this.t進行描画_チップ_ドラムス(configIni, ref dTX, ref pChip); } break; #endregion #region [ 1f: フィルインサウンド(ドラム) ] case Ech定義.DrumsFillin: // フィルインサウンド(ドラム) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; this.r現在の歓声Chip.Drums = pChip; @@ -2164,17 +2145,17 @@ namespace DTXMania case Ech定義.Guitar_RxB: case Ech定義.Guitar_RGx: case Ech定義.Guitar_RGB: - this.t進行描画_チップ_ギターベース( configIni, ref dTX, ref pChip, E楽器パート.GUITAR ); + this.t進行描画_チップ_ギターベース(configIni, ref dTX, ref pChip, E楽器パート.GUITAR); break; #endregion #region [ 28: ウェイリング(ギター) ] case Ech定義.Guitar_Wailing: // ウェイリング(ギター) - this.t進行描画_チップ_ギター_ウェイリング( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrums有効 ); + this.t進行描画_チップ_ギター_ウェイリング(configIni, ref dTX, ref pChip, !CDTXMania.app.ConfigIni.bDrums有効); break; #endregion #region [ 2f: ウェイリングサウンド(ギター) ] case Ech定義.Guitar_WailingSound: // ウェイリングサウンド(ギター) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Guitar < 0)) { pChip.bHit = true; this.r現在の歓声Chip.Guitar = pChip; @@ -2192,7 +2173,7 @@ namespace DTXMania case Ech定義.HiHatOpen_Hidden: case Ech定義.RideCymbal_Hidden: case Ech定義.LeftCymbal_Hidden: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } @@ -2201,29 +2182,29 @@ namespace DTXMania #region [ 50: 小節線 ] case Ech定義.BarLine: // 小節線 { - this.t進行描画_チップ_小節線( configIni, ref dTX, ref pChip ); + this.t進行描画_チップ_小節線(configIni, ref dTX, ref pChip); break; } #endregion #region [ 51: 拍線 ] case Ech定義.BeatLine: // 拍線 - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } - if ( ( ePlayMode == E楽器パート.DRUMS ) && ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 && ( this.txチップ != null ) ) + if ((ePlayMode == E楽器パート.DRUMS) && (configIni.eDark != Eダークモード.FULL) && pChip.b可視 && (this.txチップ != null)) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 105 : 619, configIni.bReverse.Drums ? - //(int) ( ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) * Scale.Y ) : - //(int) ( ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ) * Scale.Y ), + //(int) ( ( ( 0x38 + pChip.nバーからの距離dot.Drums ) - 1 ) * Scale.Y ) : + //(int) ( ( ( 0x1a6 - pChip.nバーからの距離dot.Drums ) - 1 ) * Scale.Y ), 124 + pChip.nバーからの距離dot.Drums : 947 - pChip.nバーからの距離dot.Drums, new Rectangle( 0, 1006, - ( configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 888 : 682, + (configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 888 : 682, 2 ) ); @@ -2232,7 +2213,7 @@ namespace DTXMania #endregion #region [ 52: MIDIコーラス ] case Ech定義.MIDIChorus: // MIDIコーラス - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } @@ -2240,42 +2221,42 @@ namespace DTXMania #endregion #region [ 53: フィルイン ] case Ech定義.FillIn: // フィルイン - this.t進行描画_チップ_フィルイン( configIni, ref dTX, ref pChip ); + this.t進行描画_チップ_フィルイン(configIni, ref dTX, ref pChip); break; #endregion #region [ 54: 動画再生(BGA領域), 5A: 動画再生(全画面) ] case Ech定義.Movie: // 動画再生 (BGA領域) case Ech定義.MovieFull: // 動画再生 (全画面) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( configIni.bAVI有効 ) + if (configIni.bAVI有効) { - if ( CDTXMania.DTX.bチップがある.BGA ) + if (CDTXMania.app.DTX.bチップがある.BGA) { this.actAVI.bHasBGA = true; } - if ( pChip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.ConfigIni.bForceAVIFullscreen ) + if (pChip.eチャンネル番号 == Ech定義.MovieFull || CDTXMania.app.ConfigIni.bForceAVIFullscreen) { this.actAVI.bFullScreenMovie = true; } - switch ( pChip.eAVI種別 ) + switch (pChip.eAVI種別) { case EAVI種別.AVI: //if ( pChip.rAVI != null ) { - //int startWidth = ( CDTXMania.DTX.bチップがある.BGA ) ? 278 : SampleFramework.GameWindowSize.Width; - //int startHeight = ( CDTXMania.DTX.bチップがある.BGA ) ? 355 : SampleFramework.GameWindowSize.Height; - int startWidth = !this.actAVI.bFullScreenMovie ? 278 : SampleFramework.GameWindowSize.Width; + //int startWidth = ( CDTXMania.app.DTX.bチップがある.BGA ) ? 278 : SampleFramework.GameWindowSize.Width; + //int startHeight = ( CDTXMania.app.DTX.bチップがある.BGA ) ? 355 : SampleFramework.GameWindowSize.Height; + int startWidth = !this.actAVI.bFullScreenMovie ? 278 : SampleFramework.GameWindowSize.Width; int startHeight = !this.actAVI.bFullScreenMovie ? 355 : SampleFramework.GameWindowSize.Height; - this.actAVI.Start( pChip.eチャンネル番号, pChip.rAVI, startWidth, startHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms ); + this.actAVI.Start(pChip.eチャンネル番号, pChip.rAVI, startWidth, startHeight, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, pChip.n発声時刻ms); } break; case EAVI種別.AVIPAN: - if ( pChip.rAVIPan != null ) + if (pChip.rAVIPan != null) { - this.actAVI.Start( pChip.eチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms ); + this.actAVI.Start(pChip.eチャンネル番号, pChip.rAVI, pChip.rAVIPan.sz開始サイズ.Width, pChip.rAVIPan.sz開始サイズ.Height, pChip.rAVIPan.sz終了サイズ.Width, pChip.rAVIPan.sz終了サイズ.Height, pChip.rAVIPan.pt動画側開始位置.X, pChip.rAVIPan.pt動画側開始位置.Y, pChip.rAVIPan.pt動画側終了位置.X, pChip.rAVIPan.pt動画側終了位置.Y, pChip.rAVIPan.pt表示側開始位置.X, pChip.rAVIPan.pt表示側開始位置.Y, pChip.rAVIPan.pt表示側終了位置.X, pChip.rAVIPan.pt表示側終了位置.Y, pChip.n総移動時間, pChip.n発声時刻ms); } break; } @@ -2310,14 +2291,14 @@ namespace DTXMania case Ech定義.SE30: case Ech定義.SE31: case Ech定義.SE32: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( configIni.bBGM音を発声する ) + if (configIni.bBGM音を発声する) { - dTX.tWavの再生停止( this.n最後に再生したBGMの実WAV番号[ pChip.eチャンネル番号 - Ech定義.SE01 ] ); - dTX.tチップの再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, ( int ) Eレーン.BGM, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); - this.n最後に再生したBGMの実WAV番号[ pChip.eチャンネル番号 - Ech定義.SE01 ] = pChip.n整数値_内部番号; + dTX.tWavの再生停止(this.n最後に再生したBGMの実WAV番号[pChip.eチャンネル番号 - Ech定義.SE01]); + dTX.tチップの再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int)Eレーン.BGM, dTX.nモニタを考慮した音量(E楽器パート.UNKNOWN)); + this.n最後に再生したBGMの実WAV番号[pChip.eチャンネル番号 - Ech定義.SE01] = pChip.n整数値_内部番号; } } break; @@ -2331,32 +2312,32 @@ namespace DTXMania case Ech定義.SE27: // LC case Ech定義.SE28: // Guitar case Ech定義.SE29: // Bass - // mute sound (auto) - // 4A: 84: HH (HO/HC) - // 4B: 85: CY - // 4C: 86: RD - // 4D: 87: LC - // 2A: 88: Gt - // AA: 89: Bs - - // CDTXMania.DTX.tWavの再生停止( this.n最後に再生した実WAV番号.Guitar ); - // CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生 ); - // this.n最後に再生した実WAV番号.Guitar = pChip.n整数値_内部番号; - - // protected void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 ) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + // mute sound (auto) + // 4A: 84: HH (HO/HC) + // 4B: 85: CY + // 4C: 86: RD + // 4D: 87: LC + // 2A: 88: Gt + // AA: 89: Bs + + // CDTXMania.app.DTX.tWavの再生停止( this.n最後に再生した実WAV番号.Guitar ); + // CDTXMania.app.DTX.tチップの再生( pChip, n再生開始システム時刻ms, 8, n音量, bモニタ, b音程をずらして再生 ); + // this.n最後に再生した実WAV番号.Guitar = pChip.n整数値_内部番号; + + // protected void tサウンド再生( CDTX.CChip pChip, long n再生開始システム時刻ms, E楽器パート part, int n音量, bool bモニタ, bool b音程をずらして再生 ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; E楽器パート[] p = { E楽器パート.DRUMS, E楽器パート.DRUMS, E楽器パート.DRUMS, E楽器パート.DRUMS, E楽器パート.GUITAR, E楽器パート.BASS }; - E楽器パート pp = p[ pChip.eチャンネル番号 - Ech定義.SE24 ]; - -// if ( pp == E楽器パート.DRUMS ) { // pChip.nチャンネル番号= ..... HHとか、ドラムの場合は変える。 -// // HC CY RD LC -// int[] ch = { 0x11, 0x16, 0x19, 0x1A }; -// pChip.nチャンネル番号 = ch[ pChip.nチャンネル番号 - 0x84 ]; -// } - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, pp, dTX.nモニタを考慮した音量( pp ) ); + E楽器パート pp = p[pChip.eチャンネル番号 - Ech定義.SE24]; + + // if ( pp == E楽器パート.DRUMS ) { // pChip.nチャンネル番号= ..... HHとか、ドラムの場合は変える。 + // // HC CY RD LC + // int[] ch = { 0x11, 0x16, 0x19, 0x1A }; + // pChip.nチャンネル番号 = ch[ pChip.nチャンネル番号 - 0x84 ]; + // } + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, pp, dTX.nモニタを考慮した音量(pp)); } break; #endregion @@ -2370,17 +2351,17 @@ namespace DTXMania case Ech定義.Bass_RxB: case Ech定義.Bass_RGx: case Ech定義.Bass_RGB: - this.t進行描画_チップ_ギターベース( configIni, ref dTX, ref pChip, E楽器パート.BASS ); + this.t進行描画_チップ_ギターベース(configIni, ref dTX, ref pChip, E楽器パート.BASS); break; #endregion #region [ a8: ウェイリング(ベース) ] case Ech定義.Bass_Wailing: // ウェイリング(ベース) - this.t進行描画_チップ_ベース_ウェイリング( configIni, ref dTX, ref pChip, !CDTXMania.ConfigIni.bDrums有効 ); + this.t進行描画_チップ_ベース_ウェイリング(configIni, ref dTX, ref pChip, !CDTXMania.app.ConfigIni.bDrums有効); break; #endregion #region [ af: ウェイリングサウンド(ベース) ] case Ech定義.Bass_WailingSound: // ウェイリングサウンド(ベース) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Bass < 0)) { pChip.bHit = true; this.r現在の歓声Chip.Bass = pChip; @@ -2399,26 +2380,26 @@ namespace DTXMania case Ech定義.RideCymbal_NoChip: case Ech定義.LeftCymbal_NoChip: // ここには来なくなったはずだが、一応残しておく - this.t進行描画_チップ_空打ち音設定_ドラム( configIni, ref dTX, ref pChip ); + this.t進行描画_チップ_空打ち音設定_ドラム(configIni, ref dTX, ref pChip); break; #endregion #region [ ba: 空打ち音設定(ギター) ] case Ech定義.Guitar_NoChip: // 空打ち音設定(ギター) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Guitar < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Guitar < 0)) { pChip.bHit = true; this.r現在の空うちギターChip = pChip; - pChip.eチャンネル番号 = Ech定義.Guitar_Open; + pChip.SetNoChipGuitarToOpen(); } break; #endregion #region [ bb: 空打ち音設定(ベース) ] case Ech定義.Bass_NoChip: // 空打ち音設定(ベース) - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Bass < 0)) { pChip.bHit = true; this.r現在の空うちベースChip = pChip; - pChip.eチャンネル番号 = Ech定義.Bass_Open; + pChip.SetNoChipBassToOpen(); } break; #endregion @@ -2431,16 +2412,16 @@ namespace DTXMania case Ech定義.BGALayer6_Swap: case Ech定義.BGALayer7_Swap: case Ech定義.BGALayer8_Swap: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - if ( ( configIni.bBGA有効 && ( pChip.eBGA種別 == EBGA種別.BMP ) ) || ( pChip.eBGA種別 == EBGA種別.BMPTEX ) ) + if ((configIni.bBGA有効 && (pChip.eBGA種別 == EBGA種別.BMP)) || (pChip.eBGA種別 == EBGA種別.BMPTEX)) { - for ( int i = 0; i < 8; i++ ) + for (int i = 0; i < 8; i++) { - if ( this.nBGAスコープチャンネルマップ[ 0, i ] == pChip.eチャンネル番号 ) + if (this.nBGAスコープチャンネルマップ[0, i] == pChip.eチャンネル番号) { - this.actBGA.ChangeScope( this.nBGAスコープチャンネルマップ[ 1, i ], pChip.rBMP, pChip.rBMPTEX ); + this.actBGA.ChangeScope(this.nBGAスコープチャンネルマップ[1, i], pChip.rBMP, pChip.rBMPTEX); } } } @@ -2449,30 +2430,30 @@ namespace DTXMania #endregion #region [ da: ミキサーへチップ音追加 ] case Ech定義.MixerAdd: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { -//Debug.WriteLine( "[DA(AddMixer)] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値.ToString( "x2" ) + ", time=" + pChip.n発声時刻ms ); + //Debug.WriteLine( "[DA(AddMixer)] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値.ToString( "x2" ) + ", time=" + pChip.n発声時刻ms ); pChip.bHit = true; - if ( listWAV.ContainsKey( pChip.n整数値_内部番号 ) ) // 参照が遠いので後日最適化する + if (listWAV.ContainsKey(pChip.n整数値_内部番号)) // 参照が遠いので後日最適化する { - CDTX.CWAV wc = listWAV[ pChip.n整数値_内部番号 ]; -//Debug.Write( "[AddMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms ); + CDTX.CWAV wc = listWAV[pChip.n整数値_内部番号]; + //Debug.Write( "[AddMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms ); - for ( int i = 0; i < nPolyphonicSounds; i++ ) + for (int i = 0; i < nPolyphonicSounds; i++) { - if ( wc.rSound[ i ] != null ) + if (wc.rSound[i] != null) { - //CDTXMania.Sound管理.AddMixer( wc.rSound[ i ] ); - AddMixer( wc.rSound[ i ], pChip.b演奏終了後も再生が続くチップである ); + //CDTXMania.app.Sound管理.AddMixer( wc.rSound[ i ] ); + AddMixer(wc.rSound[i], pChip.b演奏終了後も再生が続くチップである); } //else //{ - // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Sound管理.GetMixingStreams() ); + // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.app.Sound管理.GetMixingStreams() ); // break; //} //if ( i == nPolyphonicSounds - 1 ) //{ - // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Sound管理.GetMixingStreams() ); + // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.app.Sound管理.GetMixingStreams() ); //} } } @@ -2481,32 +2462,32 @@ namespace DTXMania #endregion #region [ db: ミキサーからチップ音削除 ] case Ech定義.MixerRemove: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { -//Debug.WriteLine( "[DB(RemoveMixer)] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値.ToString( "x2" ) + ", time=" + pChip.n発声時刻ms ); + //Debug.WriteLine( "[DB(RemoveMixer)] BAR=" + pChip.n発声位置 / 384 + " ch=" + pChip.nチャンネル番号.ToString( "x2" ) + ", wav=" + pChip.n整数値.ToString( "x2" ) + ", time=" + pChip.n発声時刻ms ); pChip.bHit = true; - if ( listWAV.ContainsKey( pChip.n整数値_内部番号) ) // 参照が遠いので後日最適化する + if (listWAV.ContainsKey(pChip.n整数値_内部番号)) // 参照が遠いので後日最適化する { - CDTX.CWAV wc = listWAV[ pChip.n整数値_内部番号]; -//Debug.Write( "[DelMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms ); - for ( int i = 0; i < nPolyphonicSounds; i++ ) - { - if ( wc.rSound[ i ] != null ) + CDTX.CWAV wc = listWAV[pChip.n整数値_内部番号]; + //Debug.Write( "[DelMixer] BAR=" + pChip.n発声位置 / 384 + ", wav=" + Path.GetFileName( wc.strファイル名 ) + ", time=" + pChip.n発声時刻ms ); + for (int i = 0; i < nPolyphonicSounds; i++) + { + if (wc.rSound[i] != null) { - //CDTXMania.Sound管理.RemoveMixer( wc.rSound[ i ] ); - if ( !wc.rSound[ i ].b演奏終了後も再生が続くチップである ) // #32248 2013.10.16 yyagi + //CDTXMania.app.Sound管理.RemoveMixer( wc.rSound[ i ] ); + if (!wc.rSound[i].b演奏終了後も再生が続くチップである) // #32248 2013.10.16 yyagi { // DTX終了後も再生が続くチップの0xDB登録をなくすことはできず。 - RemoveMixer( wc.rSound[ i ] ); // (ミキサー解除のタイミングが遅延する場合の対応が面倒なので。) + RemoveMixer(wc.rSound[i]); // (ミキサー解除のタイミングが遅延する場合の対応が面倒なので。) } // そこで、代わりにフラグをチェックしてミキサー削除ロジックへの遷移をカットする。 } //else //{ - // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.Sound管理.GetMixingStreams() ); + // Debug.WriteLine( ", nPoly=" + i + ", Mix=" + CDTXMania.app.Sound管理.GetMixingStreams() ); // break; //} //if ( i == nPolyphonicSounds - 1 ) //{ - // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.Sound管理.GetMixingStreams() ); + // Debug.WriteLine( ", nPoly=" + nPolyphonicSounds + ", Mix=" + CDTXMania.app.Sound管理.GetMixingStreams() ); //} } } @@ -2515,12 +2496,12 @@ namespace DTXMania #endregion #region [ その他(未定義) ] default: - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } break; - #endregion + #endregion } } return false; @@ -2528,30 +2509,30 @@ namespace DTXMania public void t再読込() { - CDTXMania.DTX.t全チップの再生停止とミキサーからの削除(); + CDTXMania.app.DTX.t全チップの再生停止とミキサーからの削除(); this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.再読込_再演奏; base.eフェーズID = CStage.Eフェーズ.演奏_再読込; this.bPAUSE = false; // #34048 2014.7.16 yyagi #region [ 読み込み画面に遷移する前に、設定変更した可能性があるパラメータをConfigIniクラスに書き戻す ] - for ( int i = 0; i < 3; i++ ) + for (int i = 0; i < 3; i++) { - CDTXMania.ConfigIni.nViewerScrollSpeed[ i ] = CDTXMania.ConfigIni.n譜面スクロール速度[ i ]; + CDTXMania.app.ConfigIni.nViewerScrollSpeed[i] = CDTXMania.app.ConfigIni.n譜面スクロール速度[i]; } - CDTXMania.ConfigIni.b演奏情報を表示する = CDTXMania.ConfigIni.bViewerShowDebugStatus; + CDTXMania.app.ConfigIni.b演奏情報を表示する = CDTXMania.app.ConfigIni.bViewerShowDebugStatus; #endregion } public void t停止() { - CDTXMania.DTX.t全チップの再生停止とミキサーからの削除(); + CDTXMania.app.DTX.t全チップの再生停止とミキサーからの削除(); this.actAVI.Stop(); this.actBGA.Stop(); this.actPanel.Stop(); // PANEL表示停止 - CDTXMania.Timer.t一時停止(); // 再生時刻カウンタ停止 + CDTXMania.app.Timer.t一時停止(); // 再生時刻カウンタ停止 - this.n現在のトップChip = CDTXMania.DTX.listChip.Count - 1; // 終端にシーク + this.n現在のトップChip = CDTXMania.app.DTX.listChip.Count - 1; // 終端にシーク // 自分自身のOn活性化()相当の処理もすべき。 } @@ -2561,10 +2542,10 @@ namespace DTXMania /// /// 演奏開始小節番号 /// 演奏済み情報(bHit)をクリアするかどうか - public void t演奏位置の変更( int nStartBar ) + public void t演奏位置の変更(int nStartBar) { // まず全サウンドオフにする - CDTXMania.DTX.t全チップの再生停止(); + CDTXMania.app.DTX.t全チップの再生停止(); this.actAVI.Stop(); this.actBGA.Stop(); @@ -2572,25 +2553,25 @@ namespace DTXMania nStartBar++; // +1が必要 #region [ 演奏済みフラグのついたChipをリセットする ] - for ( int i = 0; i < CDTXMania.DTX.listChip.Count; i++ ) + for (int i = 0; i < CDTXMania.app.DTX.listChip.Count; i++) { - CChip pChip = CDTXMania.DTX.listChip[ i ]; - if ( pChip.bHit ) + CChip pChip = CDTXMania.app.DTX.listChip[i]; + if (pChip.bHit) { - CChip p = (CChip) pChip.Clone(); + CChip p = (CChip)pChip.Clone(); p.bHit = false; - CDTXMania.DTX.listChip[ i ] = p; + CDTXMania.app.DTX.listChip[i] = p; } } #endregion #region [ 処理を開始するチップの特定 ] - //for ( int i = this.n現在のトップChip; i < CDTXMania.DTX.listChip.Count; i++ ) + //for ( int i = this.n現在のトップChip; i < CDTXMania.app.DTX.listChip.Count; i++ ) bool bSuccessSeek = false; - for ( int i = 0; i < CDTXMania.DTX.listChip.Count; i++ ) + for (int i = 0; i < CDTXMania.app.DTX.listChip.Count; i++) { - CChip pChip = CDTXMania.DTX.listChip[ i ]; - if ( pChip.n発声位置 < 384 * nStartBar ) + CChip pChip = CDTXMania.app.DTX.listChip[i]; + if (pChip.n発声位置 < 384 * nStartBar) { continue; } @@ -2601,20 +2582,20 @@ namespace DTXMania break; } } - if ( !bSuccessSeek ) + if (!bSuccessSeek) { - // this.n現在のトップChip = CDTXMania.DTX.listChip.Count - 1; + // this.n現在のトップChip = CDTXMania.app.DTX.listChip.Count - 1; this.n現在のトップChip = 0; // 対象小節が存在しないなら、最初から再生 } #endregion #region [ 演奏開始の発声時刻msを取得し、タイマに設定 ] - int nStartTime = CDTXMania.DTX.listChip[ this.n現在のトップChip ].n発声時刻ms; + int nStartTime = CDTXMania.app.DTX.listChip[this.n現在のトップChip].n発声時刻ms; CSound管理.rc演奏用タイマ.tリセット(); // これでPAUSE解除されるので、次のPAUSEチェックは不要 //if ( !this.bPAUSE ) //{ - CSound管理.rc演奏用タイマ.t一時停止(); + CSound管理.rc演奏用タイマ.t一時停止(); //} CSound管理.rc演奏用タイマ.n現在時刻 = nStartTime; #endregion @@ -2622,29 +2603,29 @@ namespace DTXMania List pausedCSound = new List(); #region [ BGMやギターなど、演奏開始のタイミングで再生がかかっているサウンドのの途中再生開始 ] // (CDTXのt入力・行解析・チップ配置()で小節番号が+1されているのを削っておくこと) - for ( int i = this.n現在のトップChip; i >= 0; i-- ) + for (int i = this.n現在のトップChip; i >= 0; i--) { - CChip pChip = CDTXMania.DTX.listChip[ i ]; + CChip pChip = CDTXMania.app.DTX.listChip[i]; int nDuration = pChip.GetDuration(); - if ( ( pChip.n発声時刻ms + nDuration > 0 ) && ( pChip.n発声時刻ms <= nStartTime ) && ( nStartTime <= pChip.n発声時刻ms + nDuration ) ) + if ((pChip.n発声時刻ms + nDuration > 0) && (pChip.n発声時刻ms <= nStartTime) && (nStartTime <= pChip.n発声時刻ms + nDuration)) { - if ( pChip.bWAVを使うチャンネルである && !pChip.b空打ちチップである ) // wav系チャンネル、且つ、空打ちチップではない + if (pChip.bWAVを使うチャンネルである && !pChip.b空打ちチップである) // wav系チャンネル、且つ、空打ちチップではない { CDTX.CWAV wc; - bool b = CDTXMania.DTX.listWAV.TryGetValue( pChip.n整数値_内部番号, out wc ); - if ( !b ) continue; + bool b = CDTXMania.app.DTX.listWAV.TryGetValue(pChip.n整数値_内部番号, out wc); + if (!b) continue; - if ( ( wc.bIsBGMSound && CDTXMania.ConfigIni.bBGM音を発声する ) || ( !wc.bIsBGMSound ) ) + if ((wc.bIsBGMSound && CDTXMania.app.ConfigIni.bBGM音を発声する) || (!wc.bIsBGMSound)) { - CDTXMania.DTX.tチップの再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int) Eレーン.BGM, CDTXMania.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + CDTXMania.app.DTX.tチップの再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, (int)Eレーン.BGM, CDTXMania.app.DTX.nモニタを考慮した音量(E楽器パート.UNKNOWN)); #region [ PAUSEする ] int j = wc.n現在再生中のサウンド番号; - if ( wc.rSound[ j ] != null ) + if (wc.rSound[j] != null) { - wc.rSound[ j ].t再生を一時停止する(); - wc.rSound[ j ].t再生位置を変更する( nStartTime - pChip.n発声時刻ms ); - pausedCSound.Add( wc.rSound[ j ] ); + wc.rSound[j].t再生を一時停止する(); + wc.rSound[j].t再生位置を変更する(nStartTime - pChip.n発声時刻ms); + pausedCSound.Add(wc.rSound[j]); } #endregion } @@ -2653,11 +2634,11 @@ namespace DTXMania } #endregion #region [ 演奏開始時点で既に表示されているBGAとAVIの、シークと再生 ] - this.actBGA.SkipStart( nStartTime ); - this.actAVI.SkipStart( nStartTime ); + this.actBGA.SkipStart(nStartTime); + this.actAVI.SkipStart(nStartTime); #endregion #region [ PAUSEしていたサウンドを一斉に再生再開する(ただしタイマを止めているので、ここではまだ再生開始しない) ] - foreach ( CSound cs in pausedCSound ) + foreach (CSound cs in pausedCSound) { cs.tサウンドを再生する(); } @@ -2666,10 +2647,10 @@ namespace DTXMania #endregion #region [ タイマを再開して、PAUSEから復帰する ] CSound管理.rc演奏用タイマ.n現在時刻 = nStartTime; - CDTXMania.Timer.tリセット(); // これでPAUSE解除されるので、3行先の再開()は不要 - CDTXMania.Timer.n現在時刻 = nStartTime; // Debug表示のTime: 表記を正しくするために必要 + CDTXMania.app.Timer.tリセット(); // これでPAUSE解除されるので、3行先の再開()は不要 + CDTXMania.app.Timer.n現在時刻 = nStartTime; // Debug表示のTime: 表記を正しくするために必要 CSound管理.rc演奏用タイマ.t再開(); - //CDTXMania.Timer.t再開(); + //CDTXMania.app.Timer.t再開(); this.bPAUSE = false; // システムがPAUSE状態だったら、強制解除 this.actPanel.Start(); #endregion @@ -2683,126 +2664,67 @@ namespace DTXMania /// protected void tDTXV用の設定() { - CDTXMania.ConfigIni.bAutoPlay.HH = true; - CDTXMania.ConfigIni.bAutoPlay.SD = true; - CDTXMania.ConfigIni.bAutoPlay.BD = true; - CDTXMania.ConfigIni.bAutoPlay.HT = true; - CDTXMania.ConfigIni.bAutoPlay.LT = true; - CDTXMania.ConfigIni.bAutoPlay.CY = true; - CDTXMania.ConfigIni.bAutoPlay.FT = true; - CDTXMania.ConfigIni.bAutoPlay.RD = true; - CDTXMania.ConfigIni.bAutoPlay.LC = true; - CDTXMania.ConfigIni.bAutoPlay.GtR = true; - CDTXMania.ConfigIni.bAutoPlay.GtG = true; - CDTXMania.ConfigIni.bAutoPlay.GtB = true; - CDTXMania.ConfigIni.bAutoPlay.GtPick = true; - CDTXMania.ConfigIni.bAutoPlay.GtW = true; - CDTXMania.ConfigIni.bAutoPlay.BsR = true; - CDTXMania.ConfigIni.bAutoPlay.BsG = true; - CDTXMania.ConfigIni.bAutoPlay.BsB = true; - CDTXMania.ConfigIni.bAutoPlay.BsPick = true; - CDTXMania.ConfigIni.bAutoPlay.BsW = true; - - this.bIsAutoPlay = CDTXMania.ConfigIni.bAutoPlay; - - CDTXMania.ConfigIni.bAVI有効 = true; - CDTXMania.ConfigIni.bBGA有効 = true; - for ( int i = 0; i < 3; i++ ) - { - CDTXMania.ConfigIni.bGraph[ i ] = false; - CDTXMania.ConfigIni.bHidden[ i ] = false; - CDTXMania.ConfigIni.bLeft[ i ] = false; - CDTXMania.ConfigIni.bLight[ i ] = false; - CDTXMania.ConfigIni.bReverse[ i ] = false; - CDTXMania.ConfigIni.bSudden[ i ] = false; - CDTXMania.ConfigIni.eInvisible[ i ] = EInvisible.OFF; - CDTXMania.ConfigIni.eRandom[ i ] = Eランダムモード.OFF; - CDTXMania.ConfigIni.n表示可能な最小コンボ数[ i ] = 65535; - CDTXMania.ConfigIni.判定文字表示位置[ i ] = E判定文字表示位置.表示OFF; - // CDTXMania.ConfigIni.n譜面スクロール速度[ i ] = CDTXMania.ConfigIni.nViewerScrollSpeed[ i ]; // これだけはOn活性化()で行うこと。 - // そうしないと、演奏開始直後にスクロール速度が変化して見苦しい。 - } - - CDTXMania.ConfigIni.eDark = Eダークモード.OFF; - - CDTXMania.ConfigIni.b演奏情報を表示する = CDTXMania.ConfigIni.bViewerShowDebugStatus; - CDTXMania.ConfigIni.bフィルイン有効 = true; - CDTXMania.ConfigIni.bScoreIniを出力する = false; - CDTXMania.ConfigIni.bSTAGEFAILED有効 = false; - CDTXMania.ConfigIni.bTight = false; - CDTXMania.ConfigIni.bストイックモード = false; - CDTXMania.ConfigIni.bドラム打音を発声する = true; - CDTXMania.ConfigIni.bBGM音を発声する = true; - - CDTXMania.ConfigIni.nRisky = 0; - CDTXMania.ConfigIni.nShowLagType = 0; - CDTXMania.ConfigIni.ドラムコンボ文字の表示位置 = Eドラムコンボ文字の表示位置.OFF; - } - - - private bool bCheckAutoPlay( CChip pChip ) - { - bool bPChipIsAutoPlay = false; - bool bGtBsR = pChip.bGuitarBass_R; - bool bGtBsG = pChip.bGuitarBass_G; - bool bGtBsB = pChip.bGuitarBass_B; - bool bGtBsW = pChip.bGuitarBass_Wailing; - bool bGtBsO = pChip.bGuitarBass_Open; - //if ( ( - // ( ( pChip.e楽器パート == E楽器パート.DRUMS ) && bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ] ] ) || - // ( ( pChip.e楽器パート == E楽器パート.GUITAR ) && bIsAutoPlay.Guitar ) ) || - // ( ( pChip.e楽器パート == E楽器パート.BASS ) && bIsAutoPlay.Bass ) - // ) - //// if ((pChip.e楽器パート == E楽器パート.DRUMS) && bIsAutoPlay[this.nチャンネル0Atoレーン07[pChip.nチャンネル番号 - 0x11]]) - //{ - // bPChipIsAutoPlay = true; - //} - if ( pChip.e楽器パート == E楽器パート.DRUMS ) - { - if ( bIsAutoPlay[ this.nチャンネル0Atoレーン07[ pChip.eチャンネル番号 - Ech定義.HiHatClose ] ] ) - { - bPChipIsAutoPlay = true; - } - } - else if ( pChip.e楽器パート == E楽器パート.GUITAR ) - { - //Trace.TraceInformation( "chip:{0}{1}{2} ", bGtBsR, bGtBsG, bGtBsB ); - //Trace.TraceInformation( "auto:{0}{1}{2} ", bIsAutoPlay[ (int) Eレーン.GtR ], bIsAutoPlay[ (int) Eレーン.GtG ], bIsAutoPlay[ (int) Eレーン.GtB ]); - bPChipIsAutoPlay = true; - if ( bIsAutoPlay[ (int) Eレーン.GtPick ] == false ) bPChipIsAutoPlay = false; - else - { - if ( bGtBsR == true && bIsAutoPlay[ (int) Eレーン.GtR ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsG == true && bIsAutoPlay[ (int) Eレーン.GtG ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsB == true && bIsAutoPlay[ (int) Eレーン.GtB ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsW == true && bIsAutoPlay[ (int) Eレーン.GtW ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsO == true && - ( bIsAutoPlay[ (int) Eレーン.GtR ] == false || bIsAutoPlay[ (int) Eレーン.GtG ] == false || bIsAutoPlay[ (int) Eレーン.GtB ] == false ) ) - bPChipIsAutoPlay = false; - } - //Trace.TraceInformation( "{0:x2}: {1}", pChip.nチャンネル番号, bPChipIsAutoPlay.ToString() ); - } - else if ( pChip.e楽器パート == E楽器パート.BASS ) - { - bPChipIsAutoPlay = true; - if ( bIsAutoPlay[ (int) Eレーン.BsPick ] == false ) bPChipIsAutoPlay = false; - else - { - if ( bGtBsR == true && bIsAutoPlay[ (int) Eレーン.BsR ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsG == true && bIsAutoPlay[ (int) Eレーン.BsG ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsB == true && bIsAutoPlay[ (int) Eレーン.BsB ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsW == true && bIsAutoPlay[ (int) Eレーン.BsW ] == false ) bPChipIsAutoPlay = false; - else if ( bGtBsO == true && - ( bIsAutoPlay[ (int) Eレーン.BsR ] == false || bIsAutoPlay[ (int) Eレーン.BsG ] == false || bIsAutoPlay[ (int) Eレーン.BsB ] == false ) ) - bPChipIsAutoPlay = false; - } - } - return bPChipIsAutoPlay; - } - - protected abstract void t進行描画_チップ_ドラムス( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ); + CDTXMania.app.ConfigIni.bAutoPlay.HH = true; + CDTXMania.app.ConfigIni.bAutoPlay.SD = true; + CDTXMania.app.ConfigIni.bAutoPlay.BD = true; + CDTXMania.app.ConfigIni.bAutoPlay.HT = true; + CDTXMania.app.ConfigIni.bAutoPlay.LT = true; + CDTXMania.app.ConfigIni.bAutoPlay.CY = true; + CDTXMania.app.ConfigIni.bAutoPlay.FT = true; + CDTXMania.app.ConfigIni.bAutoPlay.RD = true; + CDTXMania.app.ConfigIni.bAutoPlay.LC = true; + CDTXMania.app.ConfigIni.bAutoPlay.GtR = true; + CDTXMania.app.ConfigIni.bAutoPlay.GtG = true; + CDTXMania.app.ConfigIni.bAutoPlay.GtB = true; + CDTXMania.app.ConfigIni.bAutoPlay.GtPick = true; + CDTXMania.app.ConfigIni.bAutoPlay.GtW = true; + CDTXMania.app.ConfigIni.bAutoPlay.BsR = true; + CDTXMania.app.ConfigIni.bAutoPlay.BsG = true; + CDTXMania.app.ConfigIni.bAutoPlay.BsB = true; + CDTXMania.app.ConfigIni.bAutoPlay.BsPick = true; + CDTXMania.app.ConfigIni.bAutoPlay.BsW = true; + + this.bIsAutoPlay = CDTXMania.app.ConfigIni.bAutoPlay; + + CDTXMania.app.ConfigIni.bAVI有効 = true; + CDTXMania.app.ConfigIni.bBGA有効 = true; + for (int i = 0; i < 3; i++) + { + CDTXMania.app.ConfigIni.bGraph[i] = false; + CDTXMania.app.ConfigIni.bHidden[i] = false; + CDTXMania.app.ConfigIni.bLeft[i] = false; + CDTXMania.app.ConfigIni.bLight[i] = false; + CDTXMania.app.ConfigIni.bReverse[i] = false; + CDTXMania.app.ConfigIni.bSudden[i] = false; + CDTXMania.app.ConfigIni.eInvisible[i] = EInvisible.OFF; + CDTXMania.app.ConfigIni.eRandom[i] = Eランダムモード.OFF; + CDTXMania.app.ConfigIni.n表示可能な最小コンボ数[i] = 65535; + CDTXMania.app.ConfigIni.判定文字表示位置[i] = E判定文字表示位置.表示OFF; + // CDTXMania.app.ConfigIni.n譜面スクロール速度[ i ] = CDTXMania.app.ConfigIni.nViewerScrollSpeed[ i ]; // これだけはOn活性化()で行うこと。 + // そうしないと、演奏開始直後にスクロール速度が変化して見苦しい。 + } + + CDTXMania.app.ConfigIni.eDark = Eダークモード.OFF; + + CDTXMania.app.ConfigIni.b演奏情報を表示する = CDTXMania.app.ConfigIni.bViewerShowDebugStatus; + CDTXMania.app.ConfigIni.bフィルイン有効 = true; + CDTXMania.app.ConfigIni.bScoreIniを出力する = false; + CDTXMania.app.ConfigIni.bSTAGEFAILED有効 = false; + CDTXMania.app.ConfigIni.bTight = false; + CDTXMania.app.ConfigIni.bストイックモード = false; + CDTXMania.app.ConfigIni.bドラム打音を発声する = true; + CDTXMania.app.ConfigIni.bBGM音を発声する = true; + + CDTXMania.app.ConfigIni.nRisky = 0; + CDTXMania.app.ConfigIni.nShowLagType = 0; + CDTXMania.app.ConfigIni.ドラムコンボ文字の表示位置 = Eドラムコンボ文字の表示位置.OFF; + } + + + + protected abstract void t進行描画_チップ_ドラムス(CConfigIni configIni, ref CDTX dTX, ref CChip pChip); //protected abstract void t進行描画_チップ_ギター( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip ); - protected abstract void t進行描画_チップ_ギターベース( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst ); + protected abstract void t進行描画_チップ_ギターベース(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst); /// /// ギター・ベースのチップ表示 /// @@ -2827,29 +2749,29 @@ namespace DTXMania /// ベースチップ描画のx座標(Lefty) /// 描画のX座標間隔(R,G,B...) /// テクスチャののX座標間隔(R,G,B...) - protected void t進行描画_チップ_ギターベース( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst, + protected void t進行描画_チップ_ギターベース(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst, int barYNormal, int barYReverse, int showRangeY0, int showRangeY1, int openXg, int openXb, int rectOpenOffsetX, int rectOpenOffsetY, int openChipWidth, int chipHeight, int chipWidth, - int guitarNormalX, int guitarLeftyX, int bassNormalX, int bassLeftyX, int drawDeltaX, int chipTexDeltaX ) + int guitarNormalX, int guitarLeftyX, int bassNormalX, int bassLeftyX, int drawDeltaX, int chipTexDeltaX) { - int instIndex = (int) inst; - if ( configIni.bGuitar有効 ) + int instIndex = (int)inst; + if (configIni.bGuitar有効) { #region [ Invisible処理 ] - if ( configIni.eInvisible[ instIndex ] != EInvisible.OFF ) + if (configIni.eInvisible[instIndex] != EInvisible.OFF) { - cInvisibleChip.SetInvisibleStatus( ref pChip ); + cInvisibleChip.SetInvisibleStatus(ref pChip); } #endregion else { #region [ Hidden/Sudden処理 ] - if ( configIni.bSudden[ instIndex ] ) + if (configIni.bSudden[instIndex]) { - pChip.b可視 = ( pChip.nバーからの距離dot[ instIndex ] < 200 * Scale.Y ); + pChip.b可視 = (pChip.nバーからの距離dot[instIndex] < 200 * Scale.Y); } - if ( configIni.bHidden[ instIndex ] && ( pChip.nバーからの距離dot[ instIndex ] < 100 * Scale.Y ) ) + if (configIni.bHidden[instIndex] && (pChip.nバーからの距離dot[instIndex] < 100 * Scale.Y)) { pChip.b可視 = false; } @@ -2857,26 +2779,26 @@ namespace DTXMania } bool bChipHasR = pChip.bGuitarBass_R; - bool bChipHasG = pChip.bGuitarBass_B; + bool bChipHasG = pChip.bGuitarBass_G; bool bChipHasB = pChip.bGuitarBass_B; bool bChipHasW = pChip.bGuitarBass_Wailing; - bool bChipIsO = pChip.bGuitarBass_Open; - + bool bChipIsO = pChip.bGuitarBass_Open; + #region [ chip描画 ] Ech定義 OPEN = (inst == E楽器パート.GUITAR) ? Ech定義.Guitar_Open : Ech定義.Bass_Open; - if ( !pChip.bHit && pChip.b可視 ) + if (!pChip.bHit && pChip.b可視) { - if ( this.txチップ != null ) + if (this.txチップ != null) { this.txチップ.n透明度 = pChip.n透明度; } - int y = configIni.bReverse[ instIndex ] ? - (int) ( barYReverse - pChip.nバーからの距離dot[ instIndex ] ) : - (int) ( barYNormal + pChip.nバーからの距離dot[ instIndex ] ); - int n小節線消失距離dot = configIni.bReverse[ instIndex ] ? - (int) ( -100 * Scale.Y ) : - ( configIni.e判定位置[ instIndex ] == E判定位置.標準 ) ? (int) ( -36 * Scale.Y ) : (int) ( -25 * Scale.Y ); - if ( configIni.bReverse[ instIndex ] ) + int y = configIni.bReverse[instIndex] ? + (int)(barYReverse - pChip.nバーからの距離dot[instIndex]) : + (int)(barYNormal + pChip.nバーからの距離dot[instIndex]); + int n小節線消失距離dot = configIni.bReverse[instIndex] ? + (int)(-100 * Scale.Y) : + (configIni.e判定位置[instIndex] == E判定位置.標準) ? (int)(-36 * Scale.Y) : (int)(-25 * Scale.Y); + if (configIni.bReverse[instIndex]) { //showRangeY1 = barYReverse - n小節線消失距離dot; } @@ -2884,76 +2806,76 @@ namespace DTXMania { showRangeY0 = barYNormal + n小節線消失距離dot; } - if ( ( showRangeY0 < y ) && ( y < showRangeY1 ) ) + if ((showRangeY0 < y) && (y < showRangeY1)) { - if ( this.txチップ != null ) + if (this.txチップ != null) { - int nアニメカウンタ現在の値 = this.ctチップ模様アニメ[ instIndex ].n現在の値; + int nアニメカウンタ現在の値 = this.ctチップ模様アニメ[instIndex].n現在の値; #region [ OPENチップの描画 ] - if ( pChip.eチャンネル番号 == OPEN ) + if (pChip.eチャンネル番号 == OPEN) { - int xo = ( inst == E楽器パート.GUITAR ) ? openXg : openXb; - this.txチップ.t2D描画( CDTXMania.app.Device, + int xo = (inst == E楽器パート.GUITAR) ? openXg : openXb; + this.txチップ.t2D描画(CDTXMania.app.Device, xo * Scale.X, - y - ( 2 * Scale.Y ), + y - (2 * Scale.Y), new Rectangle( - (int) ( rectOpenOffsetX * Scale.X ), - (int) ( rectOpenOffsetY * Scale.Y ) + (int) ( ( ( nアニメカウンタ現在の値 % 5 ) * chipHeight * Scale.Y ) ), - (int) ( openChipWidth * Scale.X ), - (int) ( chipHeight * Scale.Y ) + (int)(rectOpenOffsetX * Scale.X), + (int)(rectOpenOffsetY * Scale.Y) + (int)(((nアニメカウンタ現在の値 % 5) * chipHeight * Scale.Y)), + (int)(openChipWidth * Scale.X), + (int)(chipHeight * Scale.Y) ) ); } #endregion Rectangle rc = new Rectangle( - (int) ( rectOpenOffsetX * Scale.X ), - (int) ( nアニメカウンタ現在の値 * chipHeight * Scale.Y ), - (int) ( chipWidth * Scale.X ), - (int) ( chipHeight * Scale.Y ) + (int)(rectOpenOffsetX * Scale.X), + (int)(nアニメカウンタ現在の値 * chipHeight * Scale.Y), + (int)(chipWidth * Scale.X), + (int)(chipHeight * Scale.Y) ); #region [ RGBチップのX座標初期化 ] int x; - if ( inst == E楽器パート.GUITAR ) + if (inst == E楽器パート.GUITAR) { - x = ( configIni.bLeft.Guitar ) ? guitarLeftyX : guitarNormalX; + x = (configIni.bLeft.Guitar) ? guitarLeftyX : guitarNormalX; } else { - x = ( configIni.bLeft.Bass ) ? bassLeftyX : bassNormalX; + x = (configIni.bLeft.Bass) ? bassLeftyX : bassNormalX; } - int deltaX = ( configIni.bLeft[ instIndex ] ) ? -drawDeltaX : +drawDeltaX; + int deltaX = (configIni.bLeft[instIndex]) ? -drawDeltaX : +drawDeltaX; #endregion //Trace.TraceInformation( "chip={0:x2}, E楽器パート={1}, x={2}", pChip.nチャンネル番号, inst, x ); #region [ Rチップ描画 ] - if ( bChipHasR ) + if (bChipHasR) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x * Scale.X, - y - ( chipHeight / 2 ) * Scale.Y, + y - (chipHeight / 2) * Scale.Y, rc ); } #endregion #region [ Gチップ描画 ] - rc.X += (int) ( chipTexDeltaX * Scale.X ); + rc.X += (int)(chipTexDeltaX * Scale.X); x += deltaX; - if ( bChipHasG ) + if (bChipHasG) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x * Scale.X, - y - ( chipHeight / 2 ) * Scale.Y, + y - (chipHeight / 2) * Scale.Y, rc ); } #endregion #region [ Bチップ描画 ] - rc.X += (int) ( chipTexDeltaX * Scale.X ); + rc.X += (int)(chipTexDeltaX * Scale.X); x += deltaX; - if ( bChipHasB ) + if (bChipHasB) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x * Scale.X, - y - ( chipHeight / 2 ) * Scale.Y, + y - (chipHeight / 2) * Scale.Y, rc ); } @@ -2965,93 +2887,93 @@ namespace DTXMania //if ( ( configIni.bAutoPlay.Guitar && !pChip.bHit ) && ( pChip.nバーからの距離dot.Guitar < 0 ) ) - // #35411 2015.08.20 chnmr0 modified - // 従来のAUTO処理に加えてプレーヤーゴーストの再生機能を追加 - bool autoPlayCondition = (!pChip.bHit) && (pChip.nバーからの距離dot[instIndex] < 0); - if ( autoPlayCondition ) - { - cInvisibleChip.StartSemiInvisible( inst ); - } - - bool autoPick = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick; - autoPlayCondition = !pChip.bHit && autoPick; - long ghostLag = 0; - bool bUsePerfectGhost = true; - - if ( (pChip.e楽器パート == E楽器パート.GUITAR || pChip.e楽器パート == E楽器パート.BASS ) && - CDTXMania.ConfigIni.eAutoGhost[(int)(pChip.e楽器パート)] != EAutoGhostData.PERFECT && - CDTXMania.listAutoGhostLag[(int)pChip.e楽器パート] != null && - 0 <= pChip.n楽器パートでの出現順 && - pChip.n楽器パートでの出現順 < CDTXMania.listAutoGhostLag[(int)pChip.e楽器パート].Count) - { - // #35411 (mod) Ghost data が有効なので 従来のAUTOではなくゴーストのラグを利用 - // 発生時刻と現在時刻からこのタイミングで演奏するかどうかを決定 - ghostLag = CDTXMania.listAutoGhostLag[(int)pChip.e楽器パート][pChip.n楽器パートでの出現順]; + // #35411 2015.08.20 chnmr0 modified + // 従来のAUTO処理に加えてプレーヤーゴーストの再生機能を追加 + bool autoPlayCondition = (!pChip.bHit) && (pChip.nバーからの距離dot[instIndex] < 0); + if (autoPlayCondition) + { + cInvisibleChip.StartSemiInvisible(inst); + } + + bool autoPick = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick; + autoPlayCondition = !pChip.bHit && autoPick; + long ghostLag = 0; + bool bUsePerfectGhost = true; + + if ((pChip.e楽器パート == E楽器パート.GUITAR || pChip.e楽器パート == E楽器パート.BASS) && + CDTXMania.app.ConfigIni.eAutoGhost[(int)(pChip.e楽器パート)] != EAutoGhostData.PERFECT && + CDTXMania.app.DTX.listAutoGhostLag[(int)pChip.e楽器パート] != null && + 0 <= pChip.n楽器パートでの出現順 && + pChip.n楽器パートでの出現順 < CDTXMania.app.DTX.listAutoGhostLag[(int)pChip.e楽器パート].Count) + { + // #35411 (mod) Ghost data が有効なので 従来のAUTOではなくゴーストのラグを利用 + // 発生時刻と現在時刻からこのタイミングで演奏するかどうかを決定 + ghostLag = CDTXMania.app.DTX.listAutoGhostLag[(int)pChip.e楽器パート][pChip.n楽器パートでの出現順]; bool resetCombo = ghostLag > 255; ghostLag = (ghostLag & 255) - 128; ghostLag -= (pChip.e楽器パート == E楽器パート.GUITAR ? nInputAdjustTimeMs.Guitar : nInputAdjustTimeMs.Bass); - autoPlayCondition &= (pChip.n発声時刻ms + ghostLag <= CSound管理.rc演奏用タイマ.n現在時刻ms); - if (resetCombo && autoPlayCondition ) + autoPlayCondition &= (pChip.n発声時刻ms + ghostLag <= CSound管理.rc演奏用タイマ.n現在時刻ms); + if (resetCombo && autoPlayCondition) { this.actCombo.n現在のコンボ数[(int)pChip.e楽器パート] = 0; } bUsePerfectGhost = false; - } - - if( bUsePerfectGhost ) - { - // 従来のAUTOを使用する場合 - autoPlayCondition &= (pChip.nバーからの距離dot[instIndex] < 0); - } - - if ( autoPlayCondition ) - { - int lo = ( inst == E楽器パート.GUITAR ) ? 0 : 3; // lane offset - bool autoR = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR; - bool autoG = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG; - bool autoB = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB; - bool pushingR = CDTXMania.Pad.b押されている( inst, Eパッド.R ); - bool pushingG = CDTXMania.Pad.b押されている( inst, Eパッド.G ); - bool pushingB = CDTXMania.Pad.b押されている( inst, Eパッド.B ); + } + + if (bUsePerfectGhost) + { + // 従来のAUTOを使用する場合 + autoPlayCondition &= (pChip.nバーからの距離dot[instIndex] < 0); + } + + if (autoPlayCondition) + { + int lo = (inst == E楽器パート.GUITAR) ? 0 : 3; // lane offset + bool autoR = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR; + bool autoG = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG; + bool autoB = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB; + bool pushingR = CDTXMania.app.Pad.b押されている(inst, Eパッド.R); + bool pushingG = CDTXMania.app.Pad.b押されている(inst, Eパッド.G); + bool pushingB = CDTXMania.app.Pad.b押されている(inst, Eパッド.B); #region [ Chip Fire effects (auto時用) ] - // autoPickでない時の処理は、 t入力処理・ギターベース(E楽器パート) で行う - bool bSuccessOPEN = bChipIsO && (autoR || !pushingR) && (autoG || !pushingG) && (autoB || !pushingB); + // autoPickでない時の処理は、 t入力処理・ギターベース(E楽器パート) で行う + bool bSuccessOPEN = bChipIsO && (autoR || !pushingR) && (autoG || !pushingG) && (autoB || !pushingB); { - if ( ( bChipHasR && ( autoR || pushingR ) ) || bSuccessOPEN ) + if ((bChipHasR && (autoR || pushingR)) || bSuccessOPEN) { - this.actChipFireGB.Start( 0 + lo, 演奏判定ライン座標 ); + this.actChipFireGB.Start(0 + lo, 演奏判定ライン座標); } - if ( ( bChipHasG && ( autoG || pushingG ) ) || bSuccessOPEN ) + if ((bChipHasG && (autoG || pushingG)) || bSuccessOPEN) { - this.actChipFireGB.Start( 1 + lo, 演奏判定ライン座標 ); + this.actChipFireGB.Start(1 + lo, 演奏判定ライン座標); } - if ( ( bChipHasB && ( autoB || pushingB ) ) || bSuccessOPEN ) + if ((bChipHasB && (autoB || pushingB)) || bSuccessOPEN) { - this.actChipFireGB.Start( 2 + lo, 演奏判定ライン座標 ); + this.actChipFireGB.Start(2 + lo, 演奏判定ライン座標); } } #endregion #region [ autopick ] { bool bMiss = true; - if ( bChipHasR == autoR && bChipHasG == autoG && bChipHasB == autoB ) // autoレーンとチップレーン一致時はOK + if (bChipHasR == autoR && bChipHasG == autoG && bChipHasB == autoB) // autoレーンとチップレーン一致時はOK { // この条件を加えないと、同時に非autoレーンを押下している時にNGとなってしまう。 bMiss = false; } - else if ( ( autoR || ( bChipHasR == pushingR ) ) && ( autoG || ( bChipHasG == pushingG ) ) && ( autoB || ( bChipHasB == pushingB ) ) ) - // ( bChipHasR == ( pushingR | autoR ) ) && ( bChipHasG == ( pushingG | autoG ) ) && ( bChipHasB == ( pushingB | autoB ) ) ) + else if ((autoR || (bChipHasR == pushingR)) && (autoG || (bChipHasG == pushingG)) && (autoB || (bChipHasB == pushingB))) + // ( bChipHasR == ( pushingR | autoR ) ) && ( bChipHasG == ( pushingG | autoG ) ) && ( bChipHasB == ( pushingB | autoB ) ) ) { bMiss = false; } - else if ( ( ( bChipIsO == true ) && ( !pushingR | autoR ) && ( !pushingG | autoG ) && ( !pushingB | autoB ) ) ) // OPEN時 + else if (((bChipIsO == true) && (!pushingR | autoR) && (!pushingG | autoG) && (!pushingB | autoB))) // OPEN時 { bMiss = false; } pChip.bHit = true; - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms + ghostLag, inst, dTX.nモニタを考慮した音量( inst ), false, bMiss ); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms + ghostLag, inst, dTX.nモニタを考慮した音量(inst), false, bMiss); this.r次にくるギターChip = null; - if ( !bMiss ) + if (!bMiss) { this.tチップのヒット処理(pChip.n発声時刻ms + ghostLag, pChip); } @@ -3060,11 +2982,11 @@ namespace DTXMania pChip.nLag = 0; // tチップのヒット処理()の引数最後がfalseの時はpChip.nLagを計算しないため、ここでAutoPickかつMissのLag=0を代入 this.tチップのヒット処理(pChip.n発声時刻ms + ghostLag, pChip, false); } - Ech定義 chWailingChip = ( inst == E楽器パート.GUITAR ) ? Ech定義.Guitar_Wailing : Ech定義.Bass_Wailing; + Ech定義 chWailingChip = (inst == E楽器パート.GUITAR) ? Ech定義.Guitar_Wailing : Ech定義.Bass_Wailing; CChip item = this.r指定時刻に一番近い未ヒットChip(pChip.n発声時刻ms + ghostLag, chWailingChip, this.nInputAdjustTimeMs[instIndex], 140); - if ( item != null && !bMiss ) + if (item != null && !bMiss) { - this.queWailing[ instIndex ].Enqueue( item ); + this.queWailing[instIndex].Enqueue(item); } } #endregion @@ -3072,90 +2994,90 @@ namespace DTXMania } return; } // end of "if configIni.bGuitar有効" - if ( !pChip.bHit && ( pChip.nバーからの距離dot[ instIndex ] < 0 ) ) // Guitar/Bass無効の場合は、自動演奏する + if (!pChip.bHit && (pChip.nバーからの距離dot[instIndex] < 0)) // Guitar/Bass無効の場合は、自動演奏する { pChip.bHit = true; - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量( inst ) ); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量(inst)); } } - + protected virtual void t進行描画_チップ_ギターベース_ウェイリング( - CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst, bool bGRmode ) + CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst, bool bGRmode) { - int indexInst = (int) inst; - if ( configIni.bGuitar有効 ) + int indexInst = (int)inst; + if (configIni.bGuitar有効) { #region [ Invisible処理 ] - if ( configIni.eInvisible[ indexInst ] != EInvisible.OFF ) + if (configIni.eInvisible[indexInst] != EInvisible.OFF) { - cInvisibleChip.SetInvisibleStatus( ref pChip ); + cInvisibleChip.SetInvisibleStatus(ref pChip); } #endregion #region [ Sudden/Hidden処理 ] - if ( configIni.bSudden[indexInst] ) + if (configIni.bSudden[indexInst]) { - pChip.b可視 = ( pChip.nバーからの距離dot[indexInst] < 200 * Scale.Y ); + pChip.b可視 = (pChip.nバーからの距離dot[indexInst] < 200 * Scale.Y); } - if ( configIni.bHidden[indexInst] && ( pChip.nバーからの距離dot[indexInst] < 100 * Scale.Y ) ) + if (configIni.bHidden[indexInst] && (pChip.nバーからの距離dot[indexInst] < 100 * Scale.Y)) { pChip.b可視 = false; } #endregion - cWailingChip[ indexInst ].t進行描画_チップ_ギターベース_ウェイリング( + cWailingChip[indexInst].t進行描画_チップ_ギターベース_ウェイリング( configIni, ref dTX, ref pChip, ref txチップ, ref 演奏判定ライン座標, ref ctWailingチップ模様アニメ ); - if ( !pChip.bHit && ( pChip.nバーからの距離dot[indexInst] < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot[indexInst] < 0)) { - if ( pChip.nバーからの距離dot[indexInst] < -234 * Scale.Y ) // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec). + if (pChip.nバーからの距離dot[indexInst] < -234 * Scale.Y) // #25253 2011.5.29 yyagi: Don't set pChip.bHit=true for wailing at once. It need to 1sec-delay (234pix per 1sec). { pChip.bHit = true; } - bool autoW = ( inst == E楽器パート.GUITAR ) ? configIni.bAutoPlay.GtW : configIni.bAutoPlay.BsW; + bool autoW = (inst == E楽器パート.GUITAR) ? configIni.bAutoPlay.GtW : configIni.bAutoPlay.BsW; //if ( configIni.bAutoPlay[ ((int) Eレーン.Guitar - 1) + indexInst ] ) // このような、バグの入りやすい書き方(GT/BSのindex値が他と異なる)はいずれ見直したい - if ( autoW ) + if (autoW) { - // pChip.bHit = true; // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay. - // this.actWailingBonus.Start( inst, this.r現在の歓声Chip[indexInst] ); - // #23886 2012.5.22 yyagi; To support auto Wailing; Don't do wailing for ALL wailing chips. Do wailing for queued wailing chip. - // wailing chips are queued when 1) manually wailing and not missed at that time 2) AutoWailing=ON and not missed at that time + // pChip.bHit = true; // #25253 2011.5.29 yyagi: Set pChip.bHit=true if autoplay. + // this.actWailingBonus.Start( inst, this.r現在の歓声Chip[indexInst] ); + // #23886 2012.5.22 yyagi; To support auto Wailing; Don't do wailing for ALL wailing chips. Do wailing for queued wailing chip. + // wailing chips are queued when 1) manually wailing and not missed at that time 2) AutoWailing=ON and not missed at that time long nTimeStamp_Wailed = pChip.n発声時刻ms + CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻; - DoWailingFromQueue( inst, nTimeStamp_Wailed, autoW ); + DoWailingFromQueue(inst, nTimeStamp_Wailed, autoW); } - cInvisibleChip.StartSemiInvisible( inst ); + cInvisibleChip.StartSemiInvisible(inst); } return; } pChip.bHit = true; } - protected virtual void t進行描画_チップ_ギター_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, bool bGRmode ) + protected virtual void t進行描画_チップ_ギター_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, bool bGRmode) { - t進行描画_チップ_ギターベース_ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.GUITAR, bGRmode ); + t進行描画_チップ_ギターベース_ウェイリング(configIni, ref dTX, ref pChip, E楽器パート.GUITAR, bGRmode); } - protected abstract void t進行描画_チップ_フィルイン( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ); - protected abstract void t進行描画_チップ_小節線( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ); + protected abstract void t進行描画_チップ_フィルイン(CConfigIni configIni, ref CDTX dTX, ref CChip pChip); + protected abstract void t進行描画_チップ_小節線(CConfigIni configIni, ref CDTX dTX, ref CChip pChip); //protected abstract void t進行描画_チップ_ベース( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ); - protected virtual void t進行描画_チップ_ベース_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, bool bGRmode ) + protected virtual void t進行描画_チップ_ベース_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, bool bGRmode) { - t進行描画_チップ_ギターベース_ウェイリング( configIni, ref dTX, ref pChip, E楽器パート.BASS, bGRmode ); + t進行描画_チップ_ギターベース_ウェイリング(configIni, ref dTX, ref pChip, E楽器パート.BASS, bGRmode); } - - - protected abstract void t進行描画_チップ_空打ち音設定_ドラム( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ); + + + protected abstract void t進行描画_チップ_空打ち音設定_ドラム(CConfigIni configIni, ref CDTX dTX, ref CChip pChip); protected void t進行描画_チップアニメ() { - for ( int i = 0; i < 3; i++ ) // 0=drums, 1=guitar, 2=bass + for (int i = 0; i < 3; i++) // 0=drums, 1=guitar, 2=bass { - if ( this.ctチップ模様アニメ[ i ] != null ) + if (this.ctチップ模様アニメ[i] != null) { - this.ctチップ模様アニメ[ i ].t進行Loop(); + this.ctチップ模様アニメ[i].t進行Loop(); } } - if ( this.ctWailingチップ模様アニメ != null ) + if (this.ctWailingチップ模様アニメ != null) { this.ctWailingチップ模様アニメ.t進行Loop(); } @@ -3163,10 +3085,10 @@ namespace DTXMania protected bool t進行描画_フェードイン_アウト() { - switch ( base.eフェーズID ) + switch (base.eフェーズID) { case CStage.Eフェーズ.共通_フェードイン: - if ( this.actFI.On進行描画() != 0 ) + if (this.actFI.On進行描画() != 0) { base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } @@ -3174,32 +3096,32 @@ namespace DTXMania case CStage.Eフェーズ.共通_フェードアウト: case CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト: - if ( this.actFO.On進行描画() != 0 ) + if (this.actFO.On進行描画() != 0) { return true; } break; case CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト: - if ( this.actFOClear.On進行描画() == 0 ) + if (this.actFOClear.On進行描画() == 0) { break; } return true; - + } return false; } protected void t進行描画_レーンフラッシュD() { - if ( ( CDTXMania.ConfigIni.eDark == Eダークモード.OFF ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) ) + if ((CDTXMania.app.ConfigIni.eDark == Eダークモード.OFF) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED) && (base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト)) { this.actLaneFlushD.On進行描画(); } } protected void t進行描画_レーンフラッシュGB() { - if ( ( CDTXMania.ConfigIni.eDark == Eダークモード.OFF ) && CDTXMania.ConfigIni.bGuitar有効 ) + if ((CDTXMania.app.ConfigIni.eDark == Eダークモード.OFF) && CDTXMania.app.ConfigIni.bGuitar有効) { this.actLaneFlushGB.On進行描画(); } @@ -3207,18 +3129,18 @@ namespace DTXMania protected abstract void t進行描画_演奏情報(); protected void t進行描画_演奏情報(int x, int y) { - if ( !CDTXMania.ConfigIni.b演奏情報を表示しない ) + if (!CDTXMania.app.ConfigIni.b演奏情報を表示しない) { - this.actPlayInfo.t進行描画( x, y ); + this.actPlayInfo.t進行描画(x, y); } } protected void t進行描画_背景() { - if ( CDTXMania.ConfigIni.eDark == Eダークモード.OFF ) + if (CDTXMania.app.ConfigIni.eDark == Eダークモード.OFF) { - if ( this.tx背景 != null ) + if (this.tx背景 != null) { - this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 ); + this.tx背景.t2D描画(CDTXMania.app.Device, 0, 0); } } else @@ -3231,24 +3153,24 @@ namespace DTXMania protected void t進行描画_判定ライン() { - if ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) + if (CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) { - int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.DRUMS, false, bReverse[ (int) E楽器パート.DRUMS ], false, true ); // -(int) ( 3 * Scale.Y ); + int y = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.DRUMS, false, bReverse[(int)E楽器パート.DRUMS], false, true); // -(int) ( 3 * Scale.Y ); // #31602 2016.2.11 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - if ( this.txヒットバー != null ) + // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする + if (this.txヒットバー != null) { - int xStart = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 32 * 3 : 619; - int xEnd = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 335 * 3 : 619 + 682; - for ( int x = xStart; x < xEnd; x += 24 ) + int xStart = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 32 * 3 : 619; + int xEnd = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 335 * 3 : 619 + 682; + for (int x = xStart; x < xEnd; x += 24) { - this.txヒットバー.t2D描画( CDTXMania.app.Device, + this.txヒットバー.t2D描画(CDTXMania.app.Device, x, y, new Rectangle( 0, 0, - ( ( x + 24 ) >= xEnd ) ? (int) ( ( 23 - ( ( x + 24 ) - xEnd ) ) ) : 24, + ((x + 24) >= xEnd) ? (int)((23 - ((x + 24) - xEnd))) : 24, 18 ) ); @@ -3258,20 +3180,20 @@ namespace DTXMania } protected void t進行描画_判定文字列() { - this.actJudgeString.t進行描画( 演奏判定ライン座標 ); + this.actJudgeString.t進行描画(演奏判定ライン座標); } protected void t進行描画_判定文字列1_通常位置指定の場合() { - if ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Drums ) != E判定文字表示位置.コンボ下 ) // 判定ライン上または横 + if (((E判定文字表示位置)CDTXMania.app.ConfigIni.判定文字表示位置.Drums) != E判定文字表示位置.コンボ下) // 判定ライン上または横 { - this.actJudgeString.t進行描画( 演奏判定ライン座標 ); + this.actJudgeString.t進行描画(演奏判定ライン座標); } } protected void t進行描画_判定文字列2_判定ライン上指定の場合() { - if ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Drums ) == E判定文字表示位置.コンボ下 ) // 判定ライン上または横 + if (((E判定文字表示位置)CDTXMania.app.ConfigIni.判定文字表示位置.Drums) == E判定文字表示位置.コンボ下) // 判定ライン上または横 { - this.actJudgeString.t進行描画( 演奏判定ライン座標 ); + this.actJudgeString.t進行描画(演奏判定ライン座標); } } @@ -3281,57 +3203,57 @@ namespace DTXMania } protected abstract void t背景テクスチャの生成(); - protected void t背景テクスチャの生成( string DefaultBgFilename, string DefaultLaneFilename, Rectangle bgrect, string bgfilename ) + protected void t背景テクスチャの生成(string DefaultBgFilename, string DefaultLaneFilename, Rectangle bgrect, string bgfilename) { // Default...: レーン等があるレイヤー bgfilename: DTXファイルで指定する背景 Bitmap image = null; bool bSuccessLoadDTXbgfile = false; - int[] offsetX = new int[2]{ 96, 506 }; - int nLanePosition = (int) CDTXMania.ConfigIni.eドラムレーン表示位置; + int[] offsetX = new int[2] { 96, 506 }; + int nLanePosition = (int)CDTXMania.app.ConfigIni.eドラムレーン表示位置; //int nLanePosition = (int) Eドラムレーン表示位置.Left; - - if ( bgfilename != null && File.Exists( bgfilename ) && !CDTXMania.DTX.bチップがある.Movie ) + + if (bgfilename != null && File.Exists(bgfilename) && !CDTXMania.app.DTX.bチップがある.Movie) { try { #region [ DTXデータで指定されている背景画像を読み込む ] Bitmap bitmap1 = null; - bitmap1 = new Bitmap( bgfilename ); - if ( ( bitmap1.Size.Width == 0 ) && ( bitmap1.Size.Height == 0 ) ) + bitmap1 = new Bitmap(bgfilename); + if ((bitmap1.Size.Width == 0) && (bitmap1.Size.Height == 0)) { this.tx背景 = null; return; } #endregion - int newWidth = (int) ( bitmap1.Width * Scale.X ); - int newHeight = (int) ( bitmap1.Height * Scale.Y ); + int newWidth = (int)(bitmap1.Width * Scale.X); + int newHeight = (int)(bitmap1.Height * Scale.Y); Bitmap bitmap2; #region [ 背景画像がVGAサイズ以下なら、FullHDサイズに拡大する ] - if ( bitmap1.Width <= 640 && bitmap1.Height <= 480 ) + if (bitmap1.Width <= 640 && bitmap1.Height <= 480) { - bitmap2 = new Bitmap( newWidth, newHeight ); - Graphics graphic2 = Graphics.FromImage( bitmap2 ); + bitmap2 = new Bitmap(newWidth, newHeight); + Graphics graphic2 = Graphics.FromImage(bitmap2); graphic2.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; - graphic2.DrawImage( bitmap1, 0, 0, newWidth, newHeight ); + graphic2.DrawImage(bitmap1, 0, 0, newWidth, newHeight); graphic2.Dispose(); } else { - bitmap2 = (Bitmap) bitmap1.Clone(); + bitmap2 = (Bitmap)bitmap1.Clone(); } bitmap1.Dispose(); #endregion #region [ 実背景に格子状に配置するよう、コピーしていく ] - Bitmap bitmap3 = new Bitmap( SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height ); - Graphics graphics3 = Graphics.FromImage( bitmap3 ); - for ( int i = 0; i < SampleFramework.GameWindowSize.Height; i += bitmap2.Size.Height ) + Bitmap bitmap3 = new Bitmap(SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height); + Graphics graphics3 = Graphics.FromImage(bitmap3); + for (int i = 0; i < SampleFramework.GameWindowSize.Height; i += bitmap2.Size.Height) { - for ( int j = 0; j < SampleFramework.GameWindowSize.Width; j += bitmap2.Size.Width ) + for (int j = 0; j < SampleFramework.GameWindowSize.Width; j += bitmap2.Size.Width) { - graphics3.DrawImage( bitmap2, j, i, bitmap2.Width, bitmap2.Height ); + graphics3.DrawImage(bitmap2, j, i, bitmap2.Width, bitmap2.Height); } } graphics3.Dispose(); @@ -3339,8 +3261,8 @@ namespace DTXMania #endregion #region [ レーン外・レーンそのもののフレームを合成 ] - image = new Bitmap( CSkin.Path( DefaultBgFilename ) ); // レーン外のフレーム - graphics3 = Graphics.FromImage( image ); + image = new Bitmap(CSkin.Path(DefaultBgFilename)); // レーン外のフレーム + graphics3 = Graphics.FromImage(image); //#region [ レーンのフレームがあれば、それを合成 ] //if ( DefaultLaneFilename != "" ) @@ -3350,18 +3272,18 @@ namespace DTXMania // bmLane.Dispose(); //} //#endregion - + ColorMatrix matrix2 = new ColorMatrix(); matrix2.Matrix00 = 1f; matrix2.Matrix11 = 1f; matrix2.Matrix22 = 1f; - matrix2.Matrix33 = ( (float) CDTXMania.ConfigIni.n背景の透過度 ) / 255f; + matrix2.Matrix33 = ((float)CDTXMania.app.ConfigIni.n背景の透過度) / 255f; matrix2.Matrix44 = 1f; ColorMatrix newColorMatrix = matrix2; ImageAttributes imageAttr = new ImageAttributes(); - imageAttr.SetColorMatrix( newColorMatrix ); - graphics3.DrawImage( bitmap3, new Rectangle( 0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height ), 0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height, GraphicsUnit.Pixel, imageAttr ); - // graphics3.DrawImage( bitmap3, bgrect, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height, GraphicsUnit.Pixel ); + imageAttr.SetColorMatrix(newColorMatrix); + graphics3.DrawImage(bitmap3, new Rectangle(0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height), 0, 0, SampleFramework.GameWindowSize.Width, SampleFramework.GameWindowSize.Height, GraphicsUnit.Pixel, imageAttr); + // graphics3.DrawImage( bitmap3, bgrect, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height, GraphicsUnit.Pixel ); bitmap3.Dispose(); #endregion @@ -3371,54 +3293,54 @@ namespace DTXMania } catch { - Trace.TraceError( "背景画像とレーン画像の合成に失敗しました。({0})", bgfilename ); + Trace.TraceError("背景画像とレーン画像の合成に失敗しました。({0})", bgfilename); } } #region [ DTXデータで指定する背景画像を合成しない場合は、レーン画像単体を背景画像とする ] - if ( !bSuccessLoadDTXbgfile ) + if (!bSuccessLoadDTXbgfile) { - bgfilename = CSkin.Path( DefaultBgFilename ); + bgfilename = CSkin.Path(DefaultBgFilename); try { - image = new Bitmap( bgfilename ); + image = new Bitmap(bgfilename); - if ( DefaultLaneFilename != "" ) + if (DefaultLaneFilename != "") { - Bitmap bmLane = new Bitmap( CSkin.Path( DefaultLaneFilename ) ); - Graphics g = Graphics.FromImage( image ); - g.DrawImage( bmLane, offsetX[ nLanePosition ], 0 ); + Bitmap bmLane = new Bitmap(CSkin.Path(DefaultLaneFilename)); + Graphics g = Graphics.FromImage(image); + g.DrawImage(bmLane, offsetX[nLanePosition], 0); g.Dispose(); bmLane.Dispose(); } } catch { - Trace.TraceError( "レーン画像の読み込みに失敗しました。({0})", bgfilename ); + Trace.TraceError("レーン画像の読み込みに失敗しました。({0})", bgfilename); this.tx背景 = null; return; } } #endregion #region [ BGA画像を表示する予定がある場合は、背景画像からあらかじめその領域を黒抜きにしておく ] - if ( ( CDTXMania.DTX.listBMP.Count > 0 ) || ( CDTXMania.DTX.listBMPTEX.Count > 0 ) || CDTXMania.DTX.listAVI.Count > 0 ) + if ((CDTXMania.app.DTX.listBMP.Count > 0) || (CDTXMania.app.DTX.listBMPTEX.Count > 0) || CDTXMania.app.DTX.listAVI.Count > 0) { - Graphics graphics2 = Graphics.FromImage( image ); - graphics2.FillRectangle( Brushes.Black, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height ); + Graphics graphics2 = Graphics.FromImage(image); + graphics2.FillRectangle(Brushes.Black, bgrect.X, bgrect.Y, bgrect.Width, bgrect.Height); graphics2.Dispose(); } #endregion #region [ 背景画像をテクスチャにする。背景動画の表示予定がある場合は、更に透明度を付与する。 ] try { - this.tx背景 = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); - if ( CDTXMania.DTX.bMovieをFullscreen再生する ) // Fullscreen動画再生が発生する場合は、動画レイヤーに対してレーン+背景レイヤーに透明度を設定する + this.tx背景 = new CTexture(CDTXMania.app.Device, image, CDTXMania.app.TextureFormat); + if (CDTXMania.app.DTX.bMovieをFullscreen再生する) // Fullscreen動画再生が発生する場合は、動画レイヤーに対してレーン+背景レイヤーに透明度を設定する { - this.tx背景.n透明度 = 255 - CDTXMania.ConfigIni.n背景の透過度; // 背景動画用 + this.tx背景.n透明度 = 255 - CDTXMania.app.ConfigIni.n背景の透過度; // 背景動画用 } } - catch ( CTextureCreateFailedException ) + catch (CTextureCreateFailedException) { - Trace.TraceError( "背景テクスチャの生成に失敗しました。" ); + Trace.TraceError("背景テクスチャの生成に失敗しました。"); this.tx背景 = null; } #endregion @@ -3427,204 +3349,204 @@ namespace DTXMania protected virtual void t入力処理_ギター() { - t入力処理_ギターベース( E楽器パート.GUITAR ); + t入力処理_ギターベース(E楽器パート.GUITAR); } protected virtual void t入力処理_ベース() { - t入力処理_ギターベース( E楽器パート.BASS ); + t入力処理_ギターベース(E楽器パート.BASS); } protected virtual void t入力処理_ギターベース(E楽器パート inst) { - int indexInst = (int) inst; + int indexInst = (int)inst; #region [ スクロール速度変更 ] - if ( CDTXMania.Pad.b押されている( inst, Eパッド.Decide ) && CDTXMania.Pad.b押された( inst, Eパッド.B ) ) + if (CDTXMania.app.Pad.b押されている(inst, Eパッド.Decide) && CDTXMania.app.Pad.b押された(inst, Eパッド.B)) { - float f = (float) this.演奏判定ライン座標.nJudgeLinePosY_delta[indexInst] / ( CDTXMania.ConfigIni.n譜面スクロール速度[indexInst] + 1 ); - CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ] = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ] + 1, 1999 ); - f *= CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ]; - this.演奏判定ライン座標.nJudgeLinePosY_delta[ indexInst ] = (int) ( f + 0.5 ); - CDTXMania.ConfigIni.nJudgeLinePosOffset[ indexInst ] = (int) ( f + 0.5 ); + float f = (float)this.演奏判定ライン座標.nJudgeLinePosY_delta[indexInst] / (CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] + 1); + CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] = Math.Min(CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] + 1, 1999); + f *= CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst]; + this.演奏判定ライン座標.nJudgeLinePosY_delta[indexInst] = (int)(f + 0.5); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset[indexInst] = (int)(f + 0.5); } - if ( CDTXMania.Pad.b押されている( inst, Eパッド.Decide ) && CDTXMania.Pad.b押された( inst, Eパッド.R ) ) + if (CDTXMania.app.Pad.b押されている(inst, Eパッド.Decide) && CDTXMania.app.Pad.b押された(inst, Eパッド.R)) { - CDTXMania.ConfigIni.n譜面スクロール速度[indexInst] = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度[indexInst] - 1, 0 ); + CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] = Math.Max(CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] - 1, 0); - float f = (float) this.演奏判定ライン座標.nJudgeLinePosY_delta[ indexInst ] / ( CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ] + 1 ); - CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ] = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ] - 1, 0 ); - f *= CDTXMania.ConfigIni.n譜面スクロール速度[ indexInst ]; - this.演奏判定ライン座標.nJudgeLinePosY_delta[ indexInst ] = (int) ( f + 0.5 ); - CDTXMania.ConfigIni.nJudgeLinePosOffset[ indexInst ] = (int) ( f + 0.5 ); + float f = (float)this.演奏判定ライン座標.nJudgeLinePosY_delta[indexInst] / (CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] + 1); + CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] = Math.Max(CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst] - 1, 0); + f *= CDTXMania.app.ConfigIni.n譜面スクロール速度[indexInst]; + this.演奏判定ライン座標.nJudgeLinePosY_delta[indexInst] = (int)(f + 0.5); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset[indexInst] = (int)(f + 0.5); } #endregion - if ( !CDTXMania.ConfigIni.bGuitar有効 || !CDTXMania.DTX.bチップがある[indexInst] ) + if (!CDTXMania.app.ConfigIni.bGuitar有効 || !CDTXMania.app.DTX.bチップがある[indexInst]) { return; } - int R = ( inst == E楽器パート.GUITAR ) ? 0 : 3; + int R = (inst == E楽器パート.GUITAR) ? 0 : 3; int G = R + 1; int B = R + 2; - bool autoW = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtW : bIsAutoPlay.BsW; - bool autoR = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR; - bool autoG = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG; - bool autoB = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB; - bool autoPick = ( inst == E楽器パート.GUITAR ) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick; - int nAutoW = ( autoW ) ? 8 : 0; - int nAutoR = ( autoR ) ? 4 : 0; - int nAutoG = ( autoG ) ? 2 : 0; - int nAutoB = ( autoB ) ? 1 : 0; + bool autoW = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtW : bIsAutoPlay.BsW; + bool autoR = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtR : bIsAutoPlay.BsR; + bool autoG = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtG : bIsAutoPlay.BsG; + bool autoB = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtB : bIsAutoPlay.BsB; + bool autoPick = (inst == E楽器パート.GUITAR) ? bIsAutoPlay.GtPick : bIsAutoPlay.BsPick; + int nAutoW = (autoW) ? 8 : 0; + int nAutoR = (autoR) ? 4 : 0; + int nAutoG = (autoG) ? 2 : 0; + int nAutoB = (autoB) ? 1 : 0; int nAutoMask = nAutoW | nAutoR | nAutoG | nAutoB; -// if ( bIsAutoPlay[ (int) Eレーン.Guitar - 1 + indexInst ] ) // このような、バグの入りやすい書き方(GT/BSのindex値が他と異なる)はいずれ見直したい -// { + // if ( bIsAutoPlay[ (int) Eレーン.Guitar - 1 + indexInst ] ) // このような、バグの入りやすい書き方(GT/BSのindex値が他と異なる)はいずれ見直したい + // { CChip chip = this.r次に来る指定楽器Chipを更新して返す(inst); - if ( chip != null ) + if (chip != null) { - if ( ( chip.bGuitarBass_R ) && autoR ) + if ((chip.bGuitarBass_R) && autoR) { - this.actLaneFlushGB.Start( R ); - this.actRGB.Push( R ); + this.actLaneFlushGB.Start(R); + this.actRGB.Push(R); } - if ( ( chip.bGuitarBass_G ) && autoG ) + if ((chip.bGuitarBass_G) && autoG) { - this.actLaneFlushGB.Start( G ); - this.actRGB.Push( G ); + this.actLaneFlushGB.Start(G); + this.actRGB.Push(G); } - if ( ( chip.bGuitarBass_B ) && autoB ) + if ((chip.bGuitarBass_B) && autoB) { - this.actLaneFlushGB.Start( B ); - this.actRGB.Push( B ); + this.actLaneFlushGB.Start(B); + this.actRGB.Push(B); } -// } + // } } -// else + // else { - int pressingR = CDTXMania.Pad.b押されている( inst, Eパッド.R ) ? 4 : 0; - this.t入力メソッド記憶( inst ); - int pressingG = CDTXMania.Pad.b押されている( inst, Eパッド.G ) ? 2 : 0; - this.t入力メソッド記憶( inst ); - int pressingB = CDTXMania.Pad.b押されている( inst, Eパッド.B ) ? 1 : 0; - this.t入力メソッド記憶( inst ); + int pressingR = CDTXMania.app.Pad.b押されている(inst, Eパッド.R) ? 4 : 0; + this.t入力メソッド記憶(inst); + int pressingG = CDTXMania.app.Pad.b押されている(inst, Eパッド.G) ? 2 : 0; + this.t入力メソッド記憶(inst); + int pressingB = CDTXMania.app.Pad.b押されている(inst, Eパッド.B) ? 1 : 0; + this.t入力メソッド記憶(inst); int pressingRGB = pressingR | pressingG | pressingB; - if ( pressingR != 0 ) + if (pressingR != 0) { - this.actLaneFlushGB.Start( R ); - this.actRGB.Push( R ); + this.actLaneFlushGB.Start(R); + this.actRGB.Push(R); } - if ( pressingG != 0 ) + if (pressingG != 0) { - this.actLaneFlushGB.Start( G ); - this.actRGB.Push( G ); + this.actLaneFlushGB.Start(G); + this.actRGB.Push(G); } - if ( pressingB != 0 ) + if (pressingB != 0) { - this.actLaneFlushGB.Start( B ); - this.actRGB.Push( B ); + this.actLaneFlushGB.Start(B); + this.actRGB.Push(B); } // auto pickだとここから先に行かないので注意 - List events = CDTXMania.Pad.GetEvents( inst, Eパッド.Pick ); - if ( ( events != null ) && ( events.Count > 0 ) ) + List events = CDTXMania.app.Pad.GetEvents(inst, Eパッド.Pick); + if ((events != null) && (events.Count > 0)) { - foreach ( STInputEvent eventPick in events ) + foreach (STInputEvent eventPick in events) { - if ( !eventPick.b押された ) + if (!eventPick.b押された) { continue; } - this.t入力メソッド記憶( inst ); + this.t入力メソッド記憶(inst); long nTime = eventPick.nTimeStamp - CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻; - Ech定義 chWailingSound = ( inst == E楽器パート.GUITAR ) ? Ech定義.Guitar_WailingSound : Ech定義.Bass_WailingSound; - CChip pChip = this.r指定時刻に一番近い未ヒットChip( nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst] ); // E楽器パート.GUITARなチップ全てにヒットする - E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nTime, pChip, this.nInputAdjustTimeMs[indexInst] ); -//Trace.TraceInformation("ch={0:x2}, mask1={1:x1}, mask2={2:x2}", pChip.nチャンネル番号, ( pChip.nチャンネル番号 & ~nAutoMask ) & 0x0F, ( flagRGB & ~nAutoMask) & 0x0F ); + Ech定義 chWailingSound = (inst == E楽器パート.GUITAR) ? Ech定義.Guitar_WailingSound : Ech定義.Bass_WailingSound; + CChip pChip = this.r指定時刻に一番近い未ヒットChip(nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst]); // E楽器パート.GUITARなチップ全てにヒットする + E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nTime, pChip, this.nInputAdjustTimeMs[indexInst]); + //Trace.TraceInformation("ch={0:x2}, mask1={1:x1}, mask2={2:x2}", pChip.nチャンネル番号, ( pChip.nチャンネル番号 & ~nAutoMask ) & 0x0F, ( flagRGB & ~nAutoMask) & 0x0F ); if ( - ( pChip != null ) && - ( ( ( (int)pChip.eチャンネル番号 & ~nAutoMask ) & 0x0F ) == ( ( pressingRGB & ~nAutoMask) & 0x0F ) ) && - ( e判定 != E判定.Miss ) ) + (pChip != null) && + ((((int)pChip.eチャンネル番号 & ~nAutoMask) & 0x0F) == ((pressingRGB & ~nAutoMask) & 0x0F)) && + (e判定 != E判定.Miss)) { bool bChipHasR = pChip.bGuitarBass_R; bool bChipHasG = pChip.bGuitarBass_G; bool bChipHasB = pChip.bGuitarBass_B; bool bChipHasW = pChip.bGuitarBass_Wailing; bool bChipIsO = pChip.bGuitarBass_Open; - bool bSuccessOPEN = bChipIsO && ( autoR || pressingR == 0 ) && ( autoG || pressingG == 0 ) && ( autoB || pressingB == 0 ); - if ( ( bChipHasR && ( autoR || pressingR != 0 ) ) || bSuccessOPEN ) + bool bSuccessOPEN = bChipIsO && (autoR || pressingR == 0) && (autoG || pressingG == 0) && (autoB || pressingB == 0); + if ((bChipHasR && (autoR || pressingR != 0)) || bSuccessOPEN) //if ( ( pushingR != 0 ) || autoR || ( flagRGB == 0 ) ) { - this.actChipFireGB.Start( R, 演奏判定ライン座標 ); + this.actChipFireGB.Start(R, 演奏判定ライン座標); } - if ( ( bChipHasG && ( autoG || pressingG != 0 ) ) || bSuccessOPEN ) + if ((bChipHasG && (autoG || pressingG != 0)) || bSuccessOPEN) //if ( ( pushingG != 0 ) || autoG || ( flagRGB == 0 ) ) { - this.actChipFireGB.Start( G, 演奏判定ライン座標 ); + this.actChipFireGB.Start(G, 演奏判定ライン座標); } - if ( ( bChipHasB && ( autoB || pressingB != 0 ) ) || bSuccessOPEN ) + if ((bChipHasB && (autoB || pressingB != 0)) || bSuccessOPEN) //if ( ( pushingB != 0 ) || autoB || ( flagRGB == 0 ) ) { - this.actChipFireGB.Start( B, 演奏判定ライン座標 ); + this.actChipFireGB.Start(B, 演奏判定ライン座標); } - this.tチップのヒット処理( nTime, pChip ); - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.nシステム時刻, inst, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する[indexInst], e判定 == E判定.Poor ); - Ech定義 chWailingChip = ( inst == E楽器パート.GUITAR ) ? Ech定義.Guitar_Wailing : Ech定義.Bass_Wailing; - CChip item = this.r指定時刻に一番近い未ヒットChip( nTime, chWailingChip, this.nInputAdjustTimeMs[ indexInst ], 140 ); - if ( item != null ) + this.tチップのヒット処理(nTime, pChip); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.nシステム時刻, inst, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する[indexInst], e判定 == E判定.Poor); + Ech定義 chWailingChip = (inst == E楽器パート.GUITAR) ? Ech定義.Guitar_Wailing : Ech定義.Bass_Wailing; + CChip item = this.r指定時刻に一番近い未ヒットChip(nTime, chWailingChip, this.nInputAdjustTimeMs[indexInst], 140); + if (item != null) { - this.queWailing[indexInst].Enqueue( item ); + this.queWailing[indexInst].Enqueue(item); } continue; } // 以下、間違いレーンでのピック時 - CChip NoChipPicked = ( inst == E楽器パート.GUITAR ) ? this.r現在の空うちギターChip : this.r現在の空うちベースChip; - if ( ( NoChipPicked != null ) || ( ( NoChipPicked = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst] ) ) != null ) ) + CChip NoChipPicked = (inst == E楽器パート.GUITAR) ? this.r現在の空うちギターChip : this.r現在の空うちベースChip; + if ((NoChipPicked != null) || ((NoChipPicked = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, chWailingSound, this.nInputAdjustTimeMs[indexInst])) != null)) { - this.tサウンド再生( NoChipPicked, CSound管理.rc演奏用タイマ.nシステム時刻, inst, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する[indexInst], true ); + this.tサウンド再生(NoChipPicked, CSound管理.rc演奏用タイマ.nシステム時刻, inst, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する[indexInst], true); } - if ( !CDTXMania.ConfigIni.bLight[indexInst] ) + if (!CDTXMania.app.ConfigIni.bLight[indexInst]) { - this.tチップのヒット処理_BadならびにTight時のMiss( inst ); + this.tチップのヒット処理_BadならびにTight時のMiss(inst); } } } - List list = CDTXMania.Pad.GetEvents(inst, Eパッド.Wail ); - if ( ( list != null ) && ( list.Count > 0 ) ) + List list = CDTXMania.app.Pad.GetEvents(inst, Eパッド.Wail); + if ((list != null) && (list.Count > 0)) { - foreach ( STInputEvent eventWailed in list ) + foreach (STInputEvent eventWailed in list) { - if ( !eventWailed.b押された ) + if (!eventWailed.b押された) { continue; } - DoWailingFromQueue( inst, eventWailed.nTimeStamp, autoW ); + DoWailingFromQueue(inst, eventWailed.nTimeStamp, autoW); } } } } - private void DoWailingFromQueue( E楽器パート inst, long nTimeStamp_Wailed, bool autoW ) + private void DoWailingFromQueue(E楽器パート inst, long nTimeStamp_Wailed, bool autoW) { - int indexInst = (int) inst; + int indexInst = (int)inst; long nTimeWailed = nTimeStamp_Wailed - CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻; CChip chipWailing; - while ( ( this.queWailing[ indexInst ].Count > 0 ) && ( ( chipWailing = this.queWailing[ indexInst ].Dequeue() ) != null ) ) + while ((this.queWailing[indexInst].Count > 0) && ((chipWailing = this.queWailing[indexInst].Dequeue()) != null)) { - if ( ( nTimeWailed - chipWailing.n発声時刻ms ) <= 1000 ) // #24245 2011.1.26 yyagi: 800 -> 1000 + if ((nTimeWailed - chipWailing.n発声時刻ms) <= 1000) // #24245 2011.1.26 yyagi: 800 -> 1000 { chipWailing.bHit = true; - this.actWailingBonus.Start( inst, this.r現在の歓声Chip[ indexInst ] ); + this.actWailingBonus.Start(inst, this.r現在の歓声Chip[indexInst]); //if ( !bIsAutoPlay[indexInst] ) - if ( !autoW ) + if (!autoW) { - int nCombo = ( this.actCombo.n現在のコンボ数[ indexInst ] < 500 ) ? this.actCombo.n現在のコンボ数[ indexInst ] : 500; - this.actScore.Add( inst, bIsAutoPlay, nCombo * 3000L ); // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions + int nCombo = (this.actCombo.n現在のコンボ数[indexInst] < 500) ? this.actCombo.n現在のコンボ数[indexInst] : 500; + this.actScore.Add(inst, bIsAutoPlay, nCombo * 3000L); // #24245 2011.1.26 yyagi changed DRUMS->BASS, add nCombo conditions } } } } - #endregion + #endregion } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CWailingChip.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CWailingChip.cs index 13c3b08c..59918f29 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/CWailingChip.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/CWailingChip.cs @@ -17,21 +17,21 @@ namespace DTXMania protected int[] y_base; protected int offset; - protected const int WailingWidth = (int) ( 20 * Scale.X ); // ウェイリングチップ画像の幅: 4種全て同じ値 - protected const int WailingHeight = (int) 120; //( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値 + protected const int WailingWidth = (int)(20 * Scale.X); // ウェイリングチップ画像の幅: 4種全て同じ値 + protected const int WailingHeight = (int)120; //( 50 * Scale.Y ); // ウェイリングチップ画像の高さ: 4種全て同じ値 protected int baseTextureOffsetX, baseTextureOffsetY; protected int drawX; protected int numA, numB, numC; protected int showRangeY1; - + /// /// コンストラクタ /// protected CWailingChip共通() { - y_base = new int[ 2 ]; + y_base = new int[2]; } /// @@ -43,48 +43,48 @@ namespace DTXMania /// /// /// - internal void t進行描画_チップ_ギターベース_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, - ref CTexture txチップ, ref C演奏判定ライン座標共通 演奏判定ライン座標, ref CCounter ctWailingチップ模様アニメ ) + internal void t進行描画_チップ_ギターベース_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, + ref CTexture txチップ, ref C演奏判定ライン座標共通 演奏判定ライン座標, ref CCounter ctWailingチップ模様アニメ) { - int indexInst = (int) eInst; - if ( configIni.bGuitar有効 ) + int indexInst = (int)eInst; + if (configIni.bGuitar有効) { - if ( !pChip.bHit && pChip.b可視 ) + if (!pChip.bHit && pChip.b可視) { - if ( txチップ != null ) + if (txチップ != null) { txチップ.n透明度 = pChip.n透明度; } int y = configIni.bReverse.Guitar ? - ( y_base[ 1 ] - (int) ( pChip.nバーからの距離dot.Guitar ) ) : - ( y_base[ 0 ] + (int) ( pChip.nバーからの距離dot.Guitar ) ); + (y_base[1] - (int)(pChip.nバーからの距離dot.Guitar)) : + (y_base[0] + (int)(pChip.nバーからの距離dot.Guitar)); numB = y - offset; // 4種全て同じ定義 numC = 0; // 4種全て同じ初期値 - if ( ( numB < ( showRangeY1 + numA ) ) && ( numB > -numA ) ) // 以下のロジックは4種全て同じ + if ((numB < (showRangeY1 + numA)) && (numB > -numA)) // 以下のロジックは4種全て同じ { int c = ctWailingチップ模様アニメ.n現在の値; Rectangle rect = new Rectangle( - baseTextureOffsetX + ( c * WailingWidth ), + baseTextureOffsetX + (c * WailingWidth), baseTextureOffsetY, WailingWidth, WailingHeight ); - if ( numB < numA ) + if (numB < numA) { rect.Y += numA - numB; rect.Height -= numA - numB; numC = numA - numB; } - if ( numB > ( showRangeY1 - numA ) ) + if (numB > (showRangeY1 - numA)) { - rect.Height -= numB - ( showRangeY1 - numA ); + rect.Height -= numB - (showRangeY1 - numA); } - if ( ( rect.Bottom > rect.Top ) && ( txチップ != null ) ) + if ((rect.Bottom > rect.Top) && (txチップ != null)) { txチップ.t2D描画( CDTXMania.app.Device, drawX, - ( ( y - numA ) + numC ), + ((y - numA) + numC), rect ); } @@ -104,23 +104,24 @@ namespace DTXMania /// public class CWailngChip_Guitar_Drum画面 : CWailingChip共通 { - internal CWailngChip_Guitar_Drum画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base() + internal CWailngChip_Guitar_Drum画面(ref C演奏判定ライン座標共通 演奏判定ライン座標) + : base() { eInst = E楽器パート.GUITAR; bGRmode = false; - base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95 - base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374 - // 判定バーのY座標:ドラム画面かギター画面かで変わる値 - offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + base.y_base[0] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, false); // 95 + base.y_base[1] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, true); // 374 + // 判定バーのY座標:ドラム画面かギター画面かで変わる値 + offset = (int)(0x39 * Scale.Y); // ドラム画面かギター画面かで変わる値 - baseTextureOffsetX = 804; // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 - baseTextureOffsetY = 392; // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 + baseTextureOffsetX = 804; // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 + baseTextureOffsetY = 392; // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 - drawX = (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1764 : 1764 - 71; // ウェイリングチップ描画位置X座標: 4種全て異なる値 + drawX = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1764 : 1764 - 71; // ウェイリングチップ描画位置X座標: 4種全て異なる値 - numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値 - showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + numA = (int)(26 * Scale.Y); // ドラム画面かギター画面かで変わる値 + showRangeY1 = (int)(355 * Scale.Y); // ドラム画面かギター画面かで変わる値 } } @@ -129,23 +130,24 @@ namespace DTXMania /// public class CWailngChip_Bass_Drum画面 : CWailingChip共通 { - internal CWailngChip_Bass_Drum画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base() + internal CWailngChip_Bass_Drum画面(ref C演奏判定ライン座標共通 演奏判定ライン座標) + : base() { eInst = E楽器パート.BASS; bGRmode = false; - base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95 - base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374 + base.y_base[0] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, false); // 95 + base.y_base[1] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, true); // 374 // 判定バーのY座標:ドラム画面かギター画面かで変わる値 - offset = (int) ( 0x39 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + offset = (int)(0x39 * Scale.Y); // ドラム画面かギター画面かで変わる値 baseTextureOffsetX = 804; // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 baseTextureOffsetY = 392; // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 - drawX = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1437 : 1437 - 994; // ウェイリングチップ描画位置X座標: 4種全て異なる値 + drawX = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1437 : 1437 - 994; // ウェイリングチップ描画位置X座標: 4種全て異なる値 - numA = (int) ( 26 * Scale.Y ); // ドラム画面かギター画面かで変わる値 - showRangeY1 = (int) ( 355 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + numA = (int)(26 * Scale.Y); // ドラム画面かギター画面かで変わる値 + showRangeY1 = (int)(355 * Scale.Y); // ドラム画面かギター画面かで変わる値 } } @@ -154,22 +156,23 @@ namespace DTXMania /// public class CWailngChip_Guitar_GR画面 : CWailingChip共通 { - internal CWailngChip_Guitar_GR画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base() + internal CWailngChip_Guitar_GR画面(ref C演奏判定ライン座標共通 演奏判定ライン座標) + : base() { eInst = E楽器パート.GUITAR; bGRmode = true; - base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95 - base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374 - // 判定バーのY座標:ドラム画面かギター画面かで変わる値 - offset = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値 - baseTextureOffsetX = (int) ( 96 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 - baseTextureOffsetY = (int) ( 0 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 + base.y_base[0] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, false); // 95 + base.y_base[1] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, true); // 374 + // 判定バーのY座標:ドラム画面かギター画面かで変わる値 + offset = (int)(0 * Scale.Y); // ドラム画面かギター画面かで変わる値 + baseTextureOffsetX = (int)(96 * Scale.X); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 + baseTextureOffsetY = (int)(0 * Scale.Y); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 - drawX = (int) ( 140 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値 + drawX = (int)(140 * Scale.X); // ウェイリングチップ描画位置X座標: 4種全て異なる値 - numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値 - showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + numA = (int)(29 * Scale.Y); // ドラム画面かギター画面かで変わる値 + showRangeY1 = (int)(409 * Scale.Y); // ドラム画面かギター画面かで変わる値 } } @@ -178,23 +181,24 @@ namespace DTXMania /// public class CWailngChip_Bass_GR画面 : CWailingChip共通 { - internal CWailngChip_Bass_GR画面( ref C演奏判定ライン座標共通 演奏判定ライン座標 ) : base() + internal CWailngChip_Bass_GR画面(ref C演奏判定ライン座標共通 演奏判定ライン座標) + : base() { eInst = E楽器パート.BASS; bGRmode = true; - base.y_base[ 0 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, false ); // 95 - base.y_base[ 1 ] = 演奏判定ライン座標.n判定ラインY座標( eInst, bGRmode, true ); // 374 - // 判定バーのY座標:ドラム画面かギター画面かで変わる値 - offset = (int) ( 0 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + base.y_base[0] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, false); // 95 + base.y_base[1] = 演奏判定ライン座標.n判定ラインY座標(eInst, bGRmode, true); // 374 + // 判定バーのY座標:ドラム画面かギター画面かで変わる値 + offset = (int)(0 * Scale.Y); // ドラム画面かギター画面かで変わる値 - baseTextureOffsetX = (int) ( 96 * Scale.X ); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 - baseTextureOffsetY = (int) ( 0 * Scale.Y ); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 + baseTextureOffsetX = (int)(96 * Scale.X); // テクスチャ画像中のウェイリングチップ画像の位置X: ドラム画面かギター画面かで変わる値 + baseTextureOffsetY = (int)(0 * Scale.Y); // テクスチャ画像中のウェイリングチップ画像の位置Y: ドラム画面かギター画面かで変わる値 - drawX = (int) ( 594 * Scale.X ); // ウェイリングチップ描画位置X座標: 4種全て異なる値 + drawX = (int)(594 * Scale.X); // ウェイリングチップ描画位置X座標: 4種全て異なる値 - numA = (int) ( 29 * Scale.Y ); // ドラム画面かギター画面かで変わる値 - showRangeY1 = (int) ( 409 * Scale.Y ); // ドラム画面かギター画面かで変わる値 + numA = (int)(29 * Scale.Y); // ドラム画面かギター画面かで変わる値 + showRangeY1 = (int)(409 * Scale.Y); // ドラム画面かギター画面かで変わる値 } } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs index 60dcf2c6..6c531cef 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarDanger.cs @@ -14,7 +14,7 @@ namespace DTXMania { if ( !base.b活性化してない ) { - this.txDANGER = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar danger.png" ) ); + this.txDANGER = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar danger.png" ) ); base.OnManagedリソースの作成(); } } @@ -22,7 +22,7 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txDANGER ); + TextureFactory.tテクスチャの解放( ref this.txDANGER ); base.OnManagedリソースの解放(); } } @@ -45,8 +45,8 @@ namespace DTXMania { if ( this.ct透明度用 == null ) { - //this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.Timer ); - this.ct透明度用 = new CCounter( 0, n波長, 8, CDTXMania.Timer ); + //this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.app.Timer ); + this.ct透明度用 = new CCounter( 0, n波長, 8, CDTXMania.app.Timer ); } if ( this.ct透明度用 != null ) { @@ -64,7 +64,7 @@ namespace DTXMania this.txDANGER.n透明度 = n透明度MIN + ( ( d < n波長 / 2 ) ? ( n透明度MAX - n透明度MIN ) * d / ( n波長 / 2 ) : ( n透明度MAX - n透明度MIN ) * ( n波長 - d ) / ( n波長 / 2 ) ); // 60-200 // } //num = this.ct移動用.n現在の値; - //int num2 = CDTXMania.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num; + //int num2 = CDTXMania.app.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num; // for ( int i = -1; i < 4; i++ ) // { // if ( this.txDANGER != null ) diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarRGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarRGB.cs index e180892f..27aa575e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarRGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarRGB.cs @@ -25,15 +25,15 @@ namespace DTXMania { if( !base.b活性化してない ) { - if( !CDTXMania.ConfigIni.bGuitar有効 ) + if( !CDTXMania.app.ConfigIni.bGuitar有効 ) { return 0; } - if( CDTXMania.DTX.bチップがある.Guitar ) + if( CDTXMania.app.DTX.bチップがある.Guitar ) { for( int j = 0; j < 3; j++ ) { - int index = CDTXMania.ConfigIni.bLeft.Guitar ? ( 2 - j ) : j; + int index = CDTXMania.app.ConfigIni.bLeft.Guitar ? ( 2 - j ) : j; Rectangle rectangle = new Rectangle( (int) ( index * 0x18 * Scale.X ), 0, @@ -46,8 +46,8 @@ namespace DTXMania } if( base.txRGB != null ) { - int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar ); - // int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar, false, false ); + int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.GUITAR, true, CDTXMania.app.ConfigIni.bReverse.Guitar ); + // int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.app.ConfigIni.bReverse.Guitar, false, false ); base.txRGB.t2D描画( CDTXMania.app.Device, ( 0x1f + ( j * 0x24 ) ) * Scale.X, @@ -57,11 +57,11 @@ namespace DTXMania } } } - if( CDTXMania.DTX.bチップがある.Bass ) + if( CDTXMania.app.DTX.bチップがある.Bass ) { for( int k = 0; k < 3; k++ ) { - int index = CDTXMania.ConfigIni.bLeft.Bass ? ( 2 - k ) : k; + int index = CDTXMania.app.ConfigIni.bLeft.Bass ? ( 2 - k ) : k; Rectangle rectangle2 = new Rectangle( (int) ( index * 0x18 * Scale.X ), 0, @@ -74,8 +74,8 @@ namespace DTXMania } if( base.txRGB != null ) { - int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass ); - //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass, false, false ); + int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.BASS, true, CDTXMania.app.ConfigIni.bReverse.Bass ); + //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.app.ConfigIni.bReverse.Bass, false, false ); base.txRGB.t2D描画( CDTXMania.app.Device, ( 0x1e5 + ( k * 0x24 ) ) * Scale.X, diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarWailingBonus.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarWailingBonus.cs index 21c93f94..49201717 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarWailingBonus.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarWailingBonus.cs @@ -26,16 +26,16 @@ namespace DTXMania { if( ( this.ct進行用[ (int) part, i ] == null ) || this.ct進行用[ (int) part, i ].b停止中 ) { - this.ct進行用[ (int) part, i ] = new CCounter( 0, 300, 2, CDTXMania.Timer ); - if( CDTXMania.ConfigIni.b歓声を発声する ) + this.ct進行用[ (int) part, i ] = new CCounter( 0, 300, 2, CDTXMania.app.Timer ); + if( CDTXMania.app.ConfigIni.b歓声を発声する ) { if( r歓声Chip != null ) { - CDTXMania.DTX.tチップの再生( r歓声Chip, CSound管理.rc演奏用タイマ.nシステム時刻, (int) Eレーン.BGM, CDTXMania.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + CDTXMania.app.DTX.tチップの再生( r歓声Chip, CSound管理.rc演奏用タイマ.nシステム時刻, (int) Eレーン.BGM, CDTXMania.app.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); return; } - CDTXMania.Skin.sound歓声音.n位置_次に鳴るサウンド = ( part == E楽器パート.GUITAR ) ? -50 : 50; - CDTXMania.Skin.sound歓声音.t再生する(); + CDTXMania.app.Skin.sound歓声音.n位置_次に鳴るサウンド = ( part == E楽器パート.GUITAR ) ? -50 : 50; + CDTXMania.app.Skin.sound歓声音.t再生する(); return; } break; @@ -107,7 +107,7 @@ namespace DTXMania { num6 = (int) ( 64.0 - ( ( (double) ( 290 * ( num8 - 200 ) ) ) / 100.0 ) ); } - if( CDTXMania.ConfigIni.bReverse[ (int) e楽器パート2 ] ) + if( CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート2 ] ) { num6 = ( 0x199 - num6 ) - 0xf4; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs index 9ab1673e..5cb457b9 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarゲージ.cs @@ -26,8 +26,8 @@ namespace DTXMania public override void On活性化() { // CAct演奏ゲージ共通.Init()に移動 -// this.db現在のゲージ値.Guitar = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; -// this.db現在のゲージ値.Bass = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; +// this.db現在のゲージ値.Guitar = ( CDTXMania.app.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; +// this.db現在のゲージ値.Bass = ( CDTXMania.app.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; base.On活性化(); } public override void On非活性化() @@ -40,7 +40,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar gauge.png" ) ); + this.txゲージ = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar gauge.png" ) ); base.OnManagedリソースの作成(); } } @@ -48,7 +48,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txゲージ ); + TextureFactory.tテクスチャの解放( ref this.txゲージ ); base.OnManagedリソースの解放(); } } @@ -60,8 +60,8 @@ namespace DTXMania int num9; if( base.b初めての進行描画 ) { - this.ct本体移動 = new CCounter( 0, 0x1a, 20, CDTXMania.Timer ); - this.ct本体振動 = new CCounter( 0, 360, 4, CDTXMania.Timer ); + this.ct本体移動 = new CCounter( 0, 0x1a, 20, CDTXMania.app.Timer ); + this.ct本体振動 = new CCounter( 0, 360, 4, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct本体移動.t進行Loop(); diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarコンボ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarコンボ.cs index 3ab625ca..1265b599 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarコンボ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarコンボ.cs @@ -11,10 +11,10 @@ namespace DTXMania protected override void tコンボ表示_ギター( int nCombo値, int nジャンプインデックス ) { int x = (int) ( 230 * Scale.X ); - int y = CDTXMania.ConfigIni.bReverse.Guitar ? 0x103 : 150; + int y = CDTXMania.app.ConfigIni.bReverse.Guitar ? 0x103 : 150; y = (int) ( y * Scale.Y ); - //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); - //y += CDTXMania.ConfigIni.bReverse.Guitar ? -134 : +174; + //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); + //y += CDTXMania.app.ConfigIni.bReverse.Guitar ? -134 : +174; if ( base.txCOMBOギター != null ) { base.txCOMBOギター.n透明度 = 0xff; @@ -27,10 +27,10 @@ namespace DTXMania protected override void tコンボ表示_ベース( int nCombo値, int nジャンプインデックス ) { int x = (int) ( 410 * Scale.X ); - int y = CDTXMania.ConfigIni.bReverse.Bass ? 0x103 : 150; + int y = CDTXMania.app.ConfigIni.bReverse.Bass ? 0x103 : 150; y = (int) ( y * Scale.Y ); - //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); - //y += CDTXMania.ConfigIni.bReverse.Bass ? -134 : +174; + //int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); + //y += CDTXMania.app.ConfigIni.bReverse.Bass ? -134 : +174; if ( base.txCOMBOギター != null ) { base.txCOMBOギター.n透明度 = 0xff; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスコア.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスコア.cs index 9ab837a4..b7aaf89d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスコア.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarスコア.cs @@ -24,10 +24,10 @@ namespace DTXMania { if( base.b初めての進行描画 ) { - base.n進行用タイマ = CDTXMania.Timer.n現在時刻; + base.n進行用タイマ = CDTXMania.app.Timer.n現在時刻; base.b初めての進行描画 = false; } - long num = CDTXMania.Timer.n現在時刻; + long num = CDTXMania.app.Timer.n現在時刻; if( num < base.n進行用タイマ ) { base.n進行用タイマ = num; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs index 3a93244c..579dd059 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarステータスパネル.cs @@ -50,8 +50,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx左パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels left.png" ) ); - this.tx右パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels right.png" ) ); + this.tx左パネル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels left.png" ) ); + this.tx右パネル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels right.png" ) ); base.OnManagedリソースの作成(); } } @@ -59,8 +59,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx左パネル ); - CDTXMania.tテクスチャの解放( ref this.tx右パネル ); + TextureFactory.tテクスチャの解放( ref this.tx左パネル ); + TextureFactory.tテクスチャの解放( ref this.tx右パネル ); base.OnManagedリソースの解放(); } } @@ -81,7 +81,7 @@ namespace DTXMania (int) ( 0x49 * Scale.Y ) ) ); - int guitar = CDTXMania.ConfigIni.n譜面スクロール速度.Guitar; + int guitar = CDTXMania.app.ConfigIni.n譜面スクロール速度.Guitar; if( guitar < 0 ) { guitar = 0; @@ -115,7 +115,7 @@ namespace DTXMania (int) ( 0x49 * Scale.Y ) ) ); - int bass = CDTXMania.ConfigIni.n譜面スクロール速度.Bass; + int bass = CDTXMania.app.ConfigIni.n譜面スクロール速度.Bass; if( bass < 0 ) { bass = 0; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs index 2f20f267..6e497c64 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitarチップファイア.cs @@ -25,14 +25,14 @@ namespace DTXMania } E楽器パート e楽器パート = ( nLane < 3 ) ? E楽器パート.GUITAR : E楽器パート.BASS; int index = nLane; - if( CDTXMania.ConfigIni.bLeft[ (int) e楽器パート ] ) + if( CDTXMania.app.ConfigIni.bLeft[ (int) e楽器パート ] ) { index = ( ( index / 3 ) * 3 ) + ( 2 - ( index % 3 ) ); } int x = (int) ( this.pt中央[ index ].X * Scale.X ); //int y = this.pt中央[ index ].Y; - int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, true, CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ); - //if ( CDTXMania.ConfigIni.bReverse[ (int)e楽器パート ] ) + int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, true, CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ); + //if ( CDTXMania.app.ConfigIni.bReverse[ (int)e楽器パート ] ) //{ // y = 369; //} diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarレーンフラッシュGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarレーンフラッシュGB.cs index 82c0babb..340d9ce8 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarレーンフラッシュGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏GuitarレーンフラッシュGB.cs @@ -27,11 +27,11 @@ namespace DTXMania if( !base.ct進行[ i ].b停止中 ) { E楽器パート e楽器パート = ( i < 3 ) ? E楽器パート.GUITAR : E楽器パート.BASS; - CTextureAf texture = CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ? base.txFlush[ ( i % 3 ) + 3 ] : base.txFlush[ i % 3 ]; - int num2 = CDTXMania.ConfigIni.bLeft[ (int) e楽器パート ] ? 1 : 0; + CTextureAf texture = CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ? base.txFlush[ ( i % 3 ) + 3 ] : base.txFlush[ i % 3 ]; + int num2 = CDTXMania.app.ConfigIni.bLeft[ (int) e楽器パート ] ? 1 : 0; { int x = ( ( ( i < 3 ) ? 0x1a : 480 ) + this.nRGBのX座標[ num2, i ] ) + ( ( 0x10 * base.ct進行[ i ].n現在の値 ) / 100 ); - int y = CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ? 0x37 : 0; + int y = CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ? 0x37 : 0; if( texture != null ) { texture.t2D描画( diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs index 5be0d560..6a5537db 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CAct演奏Guitar判定文字列.cs @@ -72,7 +72,7 @@ namespace DTXMania base.st状態[ i ].fX方向拡大率 = 1f; base.st状態[ i ].fY方向拡大率 = 1f; base.st状態[ i ].n相対X座標 = 0; - base.st状態[ i ].n相対Y座標 = ( ( num2 % 6 ) == 0 ) ? ( CDTXMania.Random.Next( 6 ) - 3 ) : base.st状態[ i ].n相対Y座標; + base.st状態[ i ].n相対Y座標 = ( ( num2 % 6 ) == 0 ) ? ( CDTXMania.app.Random.Next( 6 ) - 3 ) : base.st状態[ i ].n相対Y座標; base.st状態[ i ].n透明度 = 0xff; } else if( num2 >= 240 ) @@ -129,53 +129,53 @@ namespace DTXMania { if( j == 11 ) // Bass { - if( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) + if( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) { continue; } int yB; - switch ( CDTXMania.ConfigIni.判定文字表示位置.Bass ) + switch ( CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) { case E判定文字表示位置.コンボ下: baseX = 0x163; - baseY = CDTXMania.ConfigIni.bReverse.Bass ? 0x12b : 190; + baseY = CDTXMania.app.ConfigIni.bReverse.Bass ? 0x12b : 190; break; case E判定文字表示位置.レーン上: baseX = this.stレーンサイズ[ j ].x; - yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass ); - baseY = CDTXMania.ConfigIni.bReverse.Bass ? yB - 95 - 52 + 10 : yB + 95 + 52; - //baseY = CDTXMania.ConfigIni.bReverse.Bass ? 0x12b : 190; + yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.app.ConfigIni.bReverse.Bass ); + baseY = CDTXMania.app.ConfigIni.bReverse.Bass ? yB - 95 - 52 + 10 : yB + 95 + 52; + //baseY = CDTXMania.app.ConfigIni.bReverse.Bass ? 0x12b : 190; break; case E判定文字表示位置.判定ライン上: baseX = this.stレーンサイズ[ j ].x; - yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.ConfigIni.bReverse.Bass ); - baseY = CDTXMania.ConfigIni.bReverse.Bass ? yB + 30 : yB - 20; + yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, CDTXMania.app.ConfigIni.bReverse.Bass ); + baseY = CDTXMania.app.ConfigIni.bReverse.Bass ? yB + 30 : yB - 20; break; } } else if( j == 10 ) // Guitar { - if( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) + if( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) { continue; } int yG; - switch ( CDTXMania.ConfigIni.判定文字表示位置.Guitar ) + switch ( CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) { case E判定文字表示位置.コンボ下: baseX = 0xaf; - baseY = CDTXMania.ConfigIni.bReverse.Guitar ? 0x12b : 190; + baseY = CDTXMania.app.ConfigIni.bReverse.Guitar ? 0x12b : 190; break; case E判定文字表示位置.レーン上: baseX = this.stレーンサイズ[ j ].x; - yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar ); - baseY = CDTXMania.ConfigIni.bReverse.Guitar ? yG - 95 - 52 + 10 : yG + 95 + 52; - //baseY = CDTXMania.ConfigIni.bReverse.Guitar ? 0x12b : 190; + yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.app.ConfigIni.bReverse.Guitar ); + baseY = CDTXMania.app.ConfigIni.bReverse.Guitar ? yG - 95 - 52 + 10 : yG + 95 + 52; + //baseY = CDTXMania.app.ConfigIni.bReverse.Guitar ? 0x12b : 190; break; case E判定文字表示位置.判定ライン上: baseX = this.stレーンサイズ[ j ].x; - yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar ); - baseY = CDTXMania.ConfigIni.bReverse.Guitar ? yG + 30 : yG - 20; + yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.app.ConfigIni.bReverse.Guitar ); + baseY = CDTXMania.app.ConfigIni.bReverse.Guitar ? yG + 30 : yG - 20; break; } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs index 90942aeb..f7eacd60 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs @@ -21,48 +21,48 @@ namespace DTXMania base.eステージID = CStage.Eステージ.演奏; base.eフェーズID = CStage.Eフェーズ.共通_通常状態; base.b活性化してない = true; - base.list子Activities.Add( this.actStageFailed = new CAct演奏ステージ失敗() ); - base.list子Activities.Add( this.actDANGER = new CAct演奏GuitarDanger() ); - base.list子Activities.Add( this.actAVI = new CAct演奏AVI() ); - base.list子Activities.Add( this.actBGA = new CAct演奏BGA() ); - base.list子Activities.Add( this.actPanel = new CAct演奏パネル文字列() ); - base.list子Activities.Add( this.act譜面スクロール速度 = new CAct演奏スクロール速度() ); - base.list子Activities.Add( this.actStatusPanels = new CAct演奏Guitarステータスパネル() ); - base.list子Activities.Add( this.actWailingBonus = new CAct演奏GuitarWailingBonus() ); - base.list子Activities.Add( this.actScore = new CAct演奏Guitarスコア() ); - base.list子Activities.Add( this.actRGB = new CAct演奏GuitarRGB() ); - base.list子Activities.Add( this.actLaneFlushGB = new CAct演奏GuitarレーンフラッシュGB() ); - base.list子Activities.Add( this.actJudgeString = new CAct演奏Guitar判定文字列() ); - base.list子Activities.Add( this.actGauge = new CAct演奏Guitarゲージ() ); - base.list子Activities.Add( this.actCombo = new CAct演奏Guitarコンボ() ); - base.list子Activities.Add( this.actChipFireGB = new CAct演奏Guitarチップファイア() ); - base.list子Activities.Add( this.actPlayInfo = new CAct演奏演奏情報() ); - base.list子Activities.Add( this.actFI = new CActFIFOBlack() ); - base.list子Activities.Add( this.actFO = new CActFIFOBlack() ); - base.list子Activities.Add( this.actFOClear = new CActFIFOWhite() ); + base.list子Activities.Add(this.actStageFailed = new CAct演奏ステージ失敗()); + base.list子Activities.Add(this.actDANGER = new CAct演奏GuitarDanger()); + base.list子Activities.Add(this.actAVI = new CAct演奏AVI()); + base.list子Activities.Add(this.actBGA = new CAct演奏BGA()); + base.list子Activities.Add(this.actPanel = new CAct演奏パネル文字列()); + base.list子Activities.Add(this.act譜面スクロール速度 = new CAct演奏スクロール速度()); + base.list子Activities.Add(this.actStatusPanels = new CAct演奏Guitarステータスパネル()); + base.list子Activities.Add(this.actWailingBonus = new CAct演奏GuitarWailingBonus()); + base.list子Activities.Add(this.actScore = new CAct演奏Guitarスコア()); + base.list子Activities.Add(this.actRGB = new CAct演奏GuitarRGB()); + base.list子Activities.Add(this.actLaneFlushGB = new CAct演奏GuitarレーンフラッシュGB()); + base.list子Activities.Add(this.actJudgeString = new CAct演奏Guitar判定文字列()); + base.list子Activities.Add(this.actGauge = new CAct演奏Guitarゲージ()); + base.list子Activities.Add(this.actCombo = new CAct演奏Guitarコンボ()); + base.list子Activities.Add(this.actChipFireGB = new CAct演奏Guitarチップファイア()); + base.list子Activities.Add(this.actPlayInfo = new CAct演奏演奏情報()); + base.list子Activities.Add(this.actFI = new CActFIFOBlack()); + base.list子Activities.Add(this.actFO = new CActFIFOBlack()); + base.list子Activities.Add(this.actFOClear = new CActFIFOWhite()); } // メソッド - public void t演奏結果を格納する( out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass ) + public void t演奏結果を格納する(out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass) { Drums = new CScoreIni.C演奏記録(); - base.t演奏結果を格納する_ギター( out Guitar ); - base.t演奏結果を格納する_ベース( out Bass ); - -// if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える -// { -// CScoreIni.C演奏記録 t; -// t = Guitar; -// Guitar = Bass; -// Bass = t; -// -// CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す -// } + base.t演奏結果を格納する_ギター(out Guitar); + base.t演奏結果を格納する_ベース(out Bass); + + // if ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える + // { + // CScoreIni.C演奏記録 t; + // t = Guitar; + // Guitar = Bass; + // Bass = t; + // + // CDTXMania.app.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す + // } } - + // CStage 実装 @@ -73,68 +73,68 @@ namespace DTXMania } public override void OnManagedリソースの作成() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { //this.t背景テクスチャの生成(); - this.txチップ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar chips.png" ) ); - this.txヒットバー = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayGuitar hit-bar.png" ) ); - //this.txWailing枠 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) ); + this.txチップ = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayGuitar chips.png")); + this.txヒットバー = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayGuitar hit-bar.png")); + //this.txWailing枠 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) ); base.OnManagedリソースの作成(); } } public override void OnManagedリソースの解放() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { - //CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.txチップ ); - CDTXMania.tテクスチャの解放( ref this.txヒットバー ); - //CDTXMania.tテクスチャの解放( ref this.txWailing枠 ); + //TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放(ref this.txチップ); + TextureFactory.tテクスチャの解放(ref this.txヒットバー); + //TextureFactory.tテクスチャの解放( ref this.txWailing枠 ); base.OnManagedリソースの解放(); } } public override int On進行描画() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { bool bIsFinishedPlaying = false; bool bIsFinishedFadeout = false; - if( base.b初めての進行描画 ) + if (base.b初めての進行描画) { this.PrepareAVITexture(); CSound管理.rc演奏用タイマ.tリセット(); - CDTXMania.Timer.tリセット(); - this.ctチップ模様アニメ.Guitar = new CCounter( 0, 0x17, 20, CDTXMania.Timer ); - this.ctチップ模様アニメ.Bass = new CCounter( 0, 0x17, 20, CDTXMania.Timer ); - this.ctチップ模様アニメ[ 0 ] = null; - this.ctWailingチップ模様アニメ = new CCounter( 0, 4, 50, CDTXMania.Timer ); + CDTXMania.app.Timer.tリセット(); + this.ctチップ模様アニメ.Guitar = new CCounter(0, 0x17, 20, CDTXMania.app.Timer); + this.ctチップ模様アニメ.Bass = new CCounter(0, 0x17, 20, CDTXMania.app.Timer); + this.ctチップ模様アニメ[0] = null; + this.ctWailingチップ模様アニメ = new CCounter(0, 4, 50, CDTXMania.app.Timer); base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; this.actFI.tフェードイン開始(); - if ( CDTXMania.DTXVmode.Enabled ) // DTXVモードなら + if (CDTXMania.app.DTXVmode.Enabled) // DTXVモードなら { #region [ DTXV用の再生設定にする(全AUTOなど) ] tDTXV用の設定(); #endregion - t演奏位置の変更( CDTXMania.DTXVmode.nStartBar ); + t演奏位置の変更(CDTXMania.app.DTXVmode.nStartBar); } - CDTXMania.Sound管理.tDisableUpdateBufferAutomatically(); + CDTXMania.app.Sound管理.tDisableUpdateBufferAutomatically(); base.b初めての進行描画 = false; } - if( CDTXMania.ConfigIni.bSTAGEFAILED有効 && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if (CDTXMania.app.ConfigIni.bSTAGEFAILED有効 && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)) { -// bool flag3 = ( CDTXMania.ConfigIni.bAutoPlay.Guitar || !CDTXMania.DTX.bチップがある.Guitar ) || ( this.actGauge.db現在のゲージ値.Guitar <= -0.1 ); // #23630 -// bool flag4 = ( CDTXMania.ConfigIni.bAutoPlay.Bass || !CDTXMania.DTX.bチップがある.Bass ) || ( this.actGauge.db現在のゲージ値.Bass <= -0.1 ); // #23630 - bool bFailedGuitar = this.actGauge.IsFailed( E楽器パート.GUITAR ); // #23630 2011.11.12 yyagi: deleted AutoPlay condition: not to be failed at once - bool bFailedBass = this.actGauge.IsFailed( E楽器パート.BASS ); // #23630 - bool bFailedNoChips = (!CDTXMania.DTX.bチップがある.Guitar && !CDTXMania.DTX.bチップがある.Bass); // #25216 2011.5.21 yyagi add condition - if ( bFailedGuitar || bFailedBass || bFailedNoChips ) // #25216 2011.5.21 yyagi: changed codition: && -> || + // bool flag3 = ( CDTXMania.app.ConfigIni.bAutoPlay.Guitar || !CDTXMania.app.DTX.bチップがある.Guitar ) || ( this.actGauge.db現在のゲージ値.Guitar <= -0.1 ); // #23630 + // bool flag4 = ( CDTXMania.app.ConfigIni.bAutoPlay.Bass || !CDTXMania.app.DTX.bチップがある.Bass ) || ( this.actGauge.db現在のゲージ値.Bass <= -0.1 ); // #23630 + bool bFailedGuitar = this.actGauge.IsFailed(E楽器パート.GUITAR); // #23630 2011.11.12 yyagi: deleted AutoPlay condition: not to be failed at once + bool bFailedBass = this.actGauge.IsFailed(E楽器パート.BASS); // #23630 + bool bFailedNoChips = (!CDTXMania.app.DTX.bチップがある.Guitar && !CDTXMania.app.DTX.bチップがある.Bass); // #25216 2011.5.21 yyagi add condition + if (bFailedGuitar || bFailedBass || bFailedNoChips) // #25216 2011.5.21 yyagi: changed codition: && -> || { this.actStageFailed.Start(); - CDTXMania.DTX.t全チップの再生停止(); + CDTXMania.app.DTX.t全チップの再生停止(); base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED; } } @@ -149,7 +149,7 @@ namespace DTXMania this.t進行描画_ギターベース判定ライン(); this.t進行描画_ゲージ(); this.t進行描画_DANGER(); - if ( this.e判定表示優先度 == E判定表示優先度.Chipより下 ) + if (this.e判定表示優先度 == E判定表示優先度.Chipより下) { this.t進行描画_RGBボタン(); this.t進行描画_判定文字列(); @@ -159,7 +159,7 @@ namespace DTXMania this.t進行描画_譜面スクロール速度(); this.t進行描画_チップアニメ(); bIsFinishedPlaying = this.t進行描画_チップ(E楽器パート.GUITAR); - if ( this.e判定表示優先度 == E判定表示優先度.Chipより上 ) + if (this.e判定表示優先度 == E判定表示優先度.Chipより上) { this.t進行描画_RGBボタン(); this.t進行描画_判定文字列(); @@ -170,16 +170,16 @@ namespace DTXMania this.t進行描画_チップファイアGB(); this.t進行描画_STAGEFAILED(); bIsFinishedFadeout = this.t進行描画_フェードイン_アウト(); - if( bIsFinishedPlaying && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if (bIsFinishedPlaying && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)) { - if ( CDTXMania.DTXVmode.Enabled ) + if (CDTXMania.app.DTXVmode.Enabled) { - if ( CDTXMania.Timer.b停止していない ) + if (CDTXMania.app.Timer.b停止していない) { this.actPanel.Stop(); // PANEL表示停止 - CDTXMania.Timer.t一時停止(); // 再生時刻カウンタ停止 + CDTXMania.app.Timer.t一時停止(); // 再生時刻カウンタ停止 } - Thread.Sleep( 5 ); + Thread.Sleep(5); // DTXCからの次のメッセージを待ち続ける } else @@ -187,22 +187,22 @@ namespace DTXMania this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージクリア; base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト; this.actFOClear.tフェードアウト開始(); - } + } } - if ( this.eフェードアウト完了時の戻り値 == E演奏画面の戻り値.再読込_再演奏) + if (this.eフェードアウト完了時の戻り値 == E演奏画面の戻り値.再読込_再演奏) { bIsFinishedFadeout = true; } - if ( bIsFinishedFadeout ) + if (bIsFinishedFadeout) { - return (int) this.eフェードアウト完了時の戻り値; + return (int)this.eフェードアウト完了時の戻り値; } ManageMixerQueue(); // キー入力 - if( CDTXMania.act現在入力を占有中のプラグイン == null ) + if (CDTXMania.app.act現在入力を占有中のプラグイン == null) { this.tキー入力(); } @@ -215,93 +215,93 @@ namespace DTXMania #region [ private ] //----------------- - protected override E判定 tチップのヒット処理( long nHitTime, CChip pChip, bool bCorrectLane ) + protected override E判定 tチップのヒット処理(long nHitTime, CChip pChip, bool bCorrectLane) { - E判定 eJudgeResult = tチップのヒット処理( nHitTime, pChip, E楽器パート.GUITAR, bCorrectLane ); + E判定 eJudgeResult = tチップのヒット処理(nHitTime, pChip, E楽器パート.GUITAR, bCorrectLane); return eJudgeResult; } - protected override void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part ) + protected override void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part) { - this.tチップのヒット処理_BadならびにTight時のMiss( part, 0, E楽器パート.GUITAR ); + this.tチップのヒット処理_BadならびにTight時のMiss(part, 0, E楽器パート.GUITAR); } - protected override void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part, int nLane ) + protected override void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part, int nLane) { - this.tチップのヒット処理_BadならびにTight時のMiss( part, nLane, E楽器パート.GUITAR ); + this.tチップのヒット処理_BadならびにTight時のMiss(part, nLane, E楽器パート.GUITAR); } protected override void t進行描画_AVI() { - base.t進行描画_AVI( 682, 112 ); + base.t進行描画_AVI(682, 112); } protected override void t進行描画_BGA() { - base.t進行描画_BGA( 682, 112 ); + base.t進行描画_BGA(682, 112); } protected override void t進行描画_DANGER() // #23631 2011.4.19 yyagi { //this.actDANGER.t進行描画( false, this.actGauge.db現在のゲージ値.Guitar < 0.3, this.actGauge.db現在のゲージ値.Bass < 0.3 ); - this.actDANGER.t進行描画( false, this.actGauge.IsDanger(E楽器パート.GUITAR), this.actGauge.IsDanger(E楽器パート.BASS) ); + this.actDANGER.t進行描画(false, this.actGauge.IsDanger(E楽器パート.GUITAR), this.actGauge.IsDanger(E楽器パート.BASS)); } protected override void t進行描画_Wailing枠() { - int yG = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, bReverse[ (int) E楽器パート.GUITAR ], true, true ); - int yB = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, bReverse[ (int) E楽器パート.BASS ], true, true ); + int yG = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, true, bReverse[(int)E楽器パート.GUITAR], true, true); + int yB = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, true, bReverse[(int)E楽器パート.BASS], true, true); base.t進行描画_Wailing枠( - (int) ( 139 * Scale.X ), - (int) ( 593 * Scale.X ), + (int)(139 * Scale.X), + (int)(593 * Scale.X), yG, yB - //CDTXMania.ConfigIni.bReverse.Guitar ? 340 : 11, - //CDTXMania.ConfigIni.bReverse.Bass ? 340 : 11 + //CDTXMania.app.ConfigIni.bReverse.Guitar ? 340 : 11, + //CDTXMania.app.ConfigIni.bReverse.Bass ? 340 : 11 ); } private void t進行描画_ギターベース判定ライン() // yyagi: ドラム画面とは座標が違うだけですが、まとめづらかったのでそのまま放置してます。 { - if ( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 ) + if ((CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) && CDTXMania.app.ConfigIni.bGuitar有効) { - if ( CDTXMania.DTX.bチップがある.Guitar ) + if (CDTXMania.app.DTX.bチップがある.Guitar) { - int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, bReverse[ (int) E楽器パート.GUITAR ], false, true ) - - (int) ( 3 * Scale.Y ); - // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - if ( this.txヒットバー != null ) + int y = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, true, bReverse[(int)E楽器パート.GUITAR], false, true) + - (int)(3 * Scale.Y); + // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする + if (this.txヒットバー != null) { - for ( int i = 0; i < 4; i++ ) + for (int i = 0; i < 4; i++) { - this.txヒットバー.t2D描画( CDTXMania.app.Device, - ( 23 + ( 28 * i ) ) * Scale.X, + this.txヒットバー.t2D描画(CDTXMania.app.Device, + (23 + (28 * i)) * Scale.X, y, new Rectangle( 0, - (int) ( i * 8 * Scale.Y ), - (int) ( 28 * Scale.X ), - (int) ( 8 * Scale.Y ) + (int)(i * 8 * Scale.Y), + (int)(28 * Scale.X), + (int)(8 * Scale.Y) ) ); } } } - if ( CDTXMania.DTX.bチップがある.Bass ) + if (CDTXMania.app.DTX.bチップがある.Bass) { - int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, bReverse[ (int) E楽器パート.BASS ], false, true ) - - (int) ( 3 * Scale.Y ); - // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - if ( this.txヒットバー != null ) + int y = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, true, bReverse[(int)E楽器パート.BASS], false, true) + - (int)(3 * Scale.Y); + // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする + if (this.txヒットバー != null) { - for ( int j = 0; j < 4; j++ ) + for (int j = 0; j < 4; j++) { this.txヒットバー.t2D描画( CDTXMania.app.Device, - ( 477 + ( 28 * j ) ) * Scale.X, + (477 + (28 * j)) * Scale.X, y, new Rectangle( 0, - (int) ( j * 8 * Scale.Y ), - (int) ( 28 * Scale.X ), - (int) ( 8 * Scale.Y ) + (int)(j * 8 * Scale.Y), + (int)(28 * Scale.X), + (int)(8 * Scale.Y) ) - ); + ); } } } @@ -310,12 +310,12 @@ namespace DTXMania protected override void t進行描画_パネル文字列() { - base.t進行描画_パネル文字列( 0xb5, 430 ); + base.t進行描画_パネル文字列(0xb5, 430); } protected override void t進行描画_演奏情報() { - base.t進行描画_演奏情報( 0xb5, 50 ); + base.t進行描画_演奏情報(0xb5, 50); } protected override void ドラムスクロール速度アップ() @@ -334,41 +334,41 @@ namespace DTXMania protected override void t背景テクスチャの生成() { - Rectangle bgrect = new Rectangle( (int) ( 181 * Scale.X ), (int) ( 50 * Scale.Y ), (int) ( 278 * Scale.X ), (int) ( 355 * Scale.Y ) ); + Rectangle bgrect = new Rectangle((int)(181 * Scale.X), (int)(50 * Scale.Y), (int)(278 * Scale.X), (int)(355 * Scale.Y)); string DefaultBgFilename = @"Graphics\ScreenPlayGuitar background.png"; string DefaultLaneFilename = ""; string BgFilename = ""; string BACKGROUND = null; - if ( ( CDTXMania.DTX.BACKGROUND_GR != null ) && ( CDTXMania.DTX.BACKGROUND_GR.Length > 0 ) ) + if ((CDTXMania.app.DTX.BACKGROUND_GR != null) && (CDTXMania.app.DTX.BACKGROUND_GR.Length > 0)) { - BACKGROUND = CDTXMania.DTX.BACKGROUND_GR; + BACKGROUND = CDTXMania.app.DTX.BACKGROUND_GR; } - else if ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) + else if ((CDTXMania.app.DTX.BACKGROUND != null) && (CDTXMania.app.DTX.BACKGROUND.Length > 0)) { - BACKGROUND = CDTXMania.DTX.BACKGROUND; + BACKGROUND = CDTXMania.app.DTX.BACKGROUND; } - if ( ( BACKGROUND != null ) && ( BACKGROUND.Length > 0 ) ) + if ((BACKGROUND != null) && (BACKGROUND.Length > 0)) { - BgFilename = CDTXMania.DTX.strフォルダ名 + BACKGROUND; + BgFilename = CDTXMania.app.DTX.strフォルダ名 + BACKGROUND; } - base.t背景テクスチャの生成( DefaultBgFilename, DefaultLaneFilename, bgrect, BgFilename ); + base.t背景テクスチャの生成(DefaultBgFilename, DefaultLaneFilename, bgrect, BgFilename); } - protected override void t進行描画_チップ_ドラムス( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_ドラムス(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { // int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.nチャンネル番号 - 0x11 ]; - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) ); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量(E楽器パート.DRUMS)); } } - protected override void t進行描画_チップ_ギターベース( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst ) + protected override void t進行描画_チップ_ギターベース(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst) { - base.t進行描画_チップ_ギターベース( configIni, ref dTX, ref pChip, inst, - 演奏判定ライン座標.n判定ラインY座標( inst, true, false ), // 40 - 演奏判定ライン座標.n判定ラインY座標( inst, true, true ), // 369 - (int) ( 0 * Scale.Y ), (int) ( 409 * Scale.Y ), // Y軸表示範囲 + base.t進行描画_チップ_ギターベース(configIni, ref dTX, ref pChip, inst, + 演奏判定ライン座標.n判定ラインY座標(inst, true, false), // 40 + 演奏判定ライン座標.n判定ラインY座標(inst, true, true), // 369 + (int)(0 * Scale.Y), (int)(409 * Scale.Y), // Y軸表示範囲 26, 480, // openチップのX座標(Gt, Bs) 0, 192, 103, 8, 32, // オープンチップregionの x, y, w, h, 通常チップのw 26, 98, 480, 552, // GtのX, Gt左利きのX, BsのX, Bs左利きのX, @@ -461,9 +461,9 @@ namespace DTXMania } if ( ( inst == E楽器パート.GUITAR && bIsAutoPlay.GtPick ) || ( inst == E楽器パート.BASS && bIsAutoPlay.BsPick ) ) { - bool pushingR = CDTXMania.Pad.b押されている( inst, Eパッド.R ); - bool pushingG = CDTXMania.Pad.b押されている( inst, Eパッド.G ); - bool pushingB = CDTXMania.Pad.b押されている( inst, Eパッド.B ); + bool pushingR = CDTXMania.app.Pad.b押されている( inst, Eパッド.R ); + bool pushingG = CDTXMania.app.Pad.b押されている( inst, Eパッド.G ); + bool pushingB = CDTXMania.app.Pad.b押されている( inst, Eパッド.B ); bool bMiss = true; if ( ( ( bChipIsO == true ) && ( !pushingR | autoR ) && ( !pushingG | autoG ) && ( !pushingB | autoB ) ) || ( ( bChipHasR == ( pushingR | autoR ) ) && ( bChipHasG == ( pushingG | autoG ) ) && ( bChipHasB == ( pushingB | autoB ) ) ) @@ -487,7 +487,7 @@ namespace DTXMania } } #endif - protected void t進行描画_チップ_ギター_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected void t進行描画_チップ_ギター_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { //if ( configIni.bGuitar有効 ) //{ @@ -550,11 +550,11 @@ namespace DTXMania // } // } //} - base.t進行描画_チップ_ギター_ウェイリング( configIni, ref dTX, ref pChip, true ); + base.t進行描画_チップ_ギター_ウェイリング(configIni, ref dTX, ref pChip, true); } - protected override void t進行描画_チップ_フィルイン( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_フィルイン(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } @@ -562,22 +562,22 @@ namespace DTXMania switch ( pChip.n整数値 ) { case 0x04: // HH消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.HH = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.HH = true; break; case 0x05: // HH消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.HH = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.HH = false; break; case 0x06: // ギター消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.Guitar = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Guitar = true; break; case 0x07: // ギター消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.Guitar = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Guitar = false; break; case 0x08: // ベース消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.Bass = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Bass = true; break; case 0x09: // ベース消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.Bass = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Bass = false; break; } #endif @@ -675,9 +675,9 @@ namespace DTXMania } } #endif - protected void t進行描画_チップ_ベース_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected void t進行描画_チップ_ベース_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( configIni.bGuitar有効 ) + if (configIni.bGuitar有効) { // // 後日、以下の部分を何とかCStage演奏画面共通.csに移したい。 @@ -737,52 +737,52 @@ namespace DTXMania // } // } //} - base.t進行描画_チップ_ベース_ウェイリング( configIni, ref dTX, ref pChip, true ); + base.t進行描画_チップ_ベース_ウェイリング(configIni, ref dTX, ref pChip, true); } } - protected override void t進行描画_チップ_空打ち音設定_ドラム( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_空打ち音設定_ドラム(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; } } - protected override void t進行描画_チップ_小節線( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_小節線(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { int n小節番号plus1 = pChip.n発声位置 / 0x180; - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; this.actPlayInfo.n小節番号 = n小節番号plus1 - 1; - if ( configIni.bWave再生位置自動調整機能有効 && ( bIsDirectSound || bUseOSTimer ) ) + if (configIni.bWave再生位置自動調整機能有効 && (bIsDirectSound || bUseOSTimer)) { dTX.tWave再生位置自動補正(); } } - if ( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) && ( this.txチップ != null ) ) + if ((pChip.b可視 && configIni.bGuitar有効) && (configIni.eDark != Eダークモード.FULL) && (this.txチップ != null)) { this.txチップ.n透明度 = 255; #region [ Guitarの小節線 ] //int y = configIni.bReverse.Guitar ? ( ( 0x171 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Guitar ) - 1 ); - int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, configIni.bReverse.Guitar ); - if ( configIni.bReverse.Guitar ) + int y = 演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, true, configIni.bReverse.Guitar); + if (configIni.bReverse.Guitar) { - y = y - (int) ( pChip.nバーからの距離dot.Guitar ) - 1; + y = y - (int)(pChip.nバーからの距離dot.Guitar) - 1; } else { - y = y + (int) ( pChip.nバーからの距離dot.Guitar ) - 1; + y = y + (int)(pChip.nバーからの距離dot.Guitar) - 1; } int n小節線消失距離dot; // Reverse時の小節線消失位置を、RGBボタンの真ん中程度に。 // 非Reverse時の消失処理は、従来通りt進行描画・チップ()にお任せ。 n小節線消失距離dot = configIni.bReverse.Guitar ? - (int) ( -100 * Scale.Y ) : - ( configIni.e判定位置.Guitar == E判定位置.標準 ) ? (int) ( -36 * Scale.Y ) : (int) ( -25 * Scale.Y ); + (int)(-100 * Scale.Y) : + (configIni.e判定位置.Guitar == E判定位置.標準) ? (int)(-36 * Scale.Y) : (int)(-25 * Scale.Y); - if ( dTX.bチップがある.Guitar && - ( 0 < y ) && ( y < (int) ( 0x199 * Scale.Y ) ) && - ( pChip.nバーからの距離dot.Guitar >= n小節線消失距離dot ) + if (dTX.bチップがある.Guitar && + (0 < y) && (y < (int)(0x199 * Scale.Y)) && + (pChip.nバーからの距離dot.Guitar >= n小節線消失距離dot) ) { this.txチップ.t2D描画( @@ -791,9 +791,9 @@ namespace DTXMania y, new Rectangle( 0, - (int) ( 0xeb * Scale.Y ), - (int) ( 0x68 * Scale.X ), - (int) ( 1 * Scale.Y ) + (int)(0xeb * Scale.Y), + (int)(0x68 * Scale.X), + (int)(1 * Scale.Y) ) ); } @@ -801,21 +801,21 @@ namespace DTXMania #region [ Bassの小節線 ] //y = configIni.bReverse.Bass ? ( ( 0x171 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 40 + pChip.nバーからの距離dot.Bass ) - 1 ); - y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, true, configIni.bReverse.Bass ); - if ( configIni.bReverse.Bass ) + y = 演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, true, configIni.bReverse.Bass); + if (configIni.bReverse.Bass) { - y = y - (int) ( pChip.nバーからの距離dot.Bass ) - 1; + y = y - (int)(pChip.nバーからの距離dot.Bass) - 1; } else { - y = y + (int) ( pChip.nバーからの距離dot.Bass ) - 1; + y = y + (int)(pChip.nバーからの距離dot.Bass) - 1; } n小節線消失距離dot = configIni.bReverse.Bass ? - (int) ( -100 * Scale.Y ) : - ( configIni.e判定位置.Bass == E判定位置.標準 ) ? (int) ( -36 * Scale.Y ) : (int) ( -25 * Scale.Y ); - if ( dTX.bチップがある.Bass && - ( 0 < y ) && ( y < (int) ( 0x199 * Scale.Y ) ) && - ( pChip.nバーからの距離dot.Bass >= n小節線消失距離dot ) + (int)(-100 * Scale.Y) : + (configIni.e判定位置.Bass == E判定位置.標準) ? (int)(-36 * Scale.Y) : (int)(-25 * Scale.Y); + if (dTX.bチップがある.Bass && + (0 < y) && (y < (int)(0x199 * Scale.Y)) && + (pChip.nバーからの距離dot.Bass >= n小節線消失距離dot) ) { this.txチップ.t2D描画( @@ -824,9 +824,9 @@ namespace DTXMania y, new Rectangle( 0, - (int) ( 0xeb * Scale.Y ), - (int) ( 0x68 * Scale.X ), - (int) ( 1 * Scale.Y ) + (int)(0xeb * Scale.Y), + (int)(0x68 * Scale.X), + (int)(1 * Scale.Y) ) ); } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsDanger.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsDanger.cs index 0fb1afc1..81b065d7 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsDanger.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsDanger.cs @@ -36,7 +36,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txDANGER = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlayDrums danger.png" ), false ); + this.txDANGER = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlayDrums danger.png" ), false ); base.OnManagedリソースの作成(); } } @@ -44,7 +44,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txDANGER ); + TextureFactory.tテクスチャの解放( ref this.txDANGER ); base.OnManagedリソースの解放(); } } @@ -70,8 +70,8 @@ namespace DTXMania } if( !this.bDanger中[(int)E楽器パート.DRUMS] ) { - this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.Timer ); - this.ct透明度用 = new CCounter( 0, 0x167, 4, CDTXMania.Timer ); + this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.app.Timer ); + this.ct透明度用 = new CCounter( 0, 0x167, 4, CDTXMania.app.Timer ); } this.bDanger中[(int)E楽器パート.DRUMS] = bIsDangerDrums; this.ct移動用.t進行Loop(); @@ -86,17 +86,17 @@ namespace DTXMania this.txDANGER.n透明度 = 60 + ( ( num < 180 ) ? num : ( 360 - num ) ); } num = this.ct移動用.n現在の値; - int num2 = CDTXMania.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num; + int num2 = CDTXMania.app.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num; float[,] n基準X座標 = new float[,] { { 38, 298 }, { 211f, 405.5f } }; for( int i = -1; i < 4; i++ ) { if( this.txDANGER != null ) { - float d = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; + float d = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; this.txDANGER.vc拡大縮小倍率 = new Vector3( d, d, d ); - this.txDANGER.t2D描画( CDTXMania.app.Device, n基準X座標[( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 0 : 1 ), 0] * Scale.X, ( ( i * 0x80 ) + num2 ) * Scale.Y ); + this.txDANGER.t2D描画( CDTXMania.app.Device, n基準X座標[( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 0 : 1 ), 0] * Scale.X, ( ( i * 0x80 ) + num2 ) * Scale.Y ); //this.txDANGER.t2D描画( CDTXMania.app.Device, 0x26 * Scale.X, ( ( ( i * 0x80 ) + num2 ) + 0x40 ) * Scale.Y, this.rc領域[ 1 ] ); - this.txDANGER.t2D描画( CDTXMania.app.Device, n基準X座標[( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 0 : 1 ), 1] * Scale.X, ( ( i * 0x80 ) + num2 ) * Scale.Y ); + this.txDANGER.t2D描画( CDTXMania.app.Device, n基準X座標[( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 0 : 1 ), 1] * Scale.X, ( ( i * 0x80 ) + num2 ) * Scale.Y ); //this.txDANGER.t2D描画( CDTXMania.app.Device, 0x12a * Scale.X, ( ( ( i * 0x80 ) + num2 ) + 0x40 ) * Scale.Y, this.rc領域[ 1 ] ); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsRGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsRGB.cs index 6c5389f3..184f2080 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsRGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsRGB.cs @@ -17,16 +17,16 @@ namespace DTXMania { if( !base.b活性化してない ) { - if( !CDTXMania.ConfigIni.bGuitar有効 ) + if( !CDTXMania.app.ConfigIni.bGuitar有効 ) { return 0; } - if( CDTXMania.DTX.bチップがある.Guitar ) + if( CDTXMania.app.DTX.bチップがある.Guitar ) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1527 : 1456; + int x = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1527 : 1456; for( int i = 0; i < 3; i++ ) { - int index = CDTXMania.ConfigIni.bLeft.Guitar ? ( 2 - i ) : i; + int index = CDTXMania.app.ConfigIni.bLeft.Guitar ? ( 2 - i ) : i; Rectangle rc = new Rectangle( index * 72, 0, @@ -39,9 +39,9 @@ namespace DTXMania } if( base.txRGB != null ) { - // int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.ConfigIni.bReverse.Guitar, false, false ); + // int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, true, CDTXMania.app.ConfigIni.bReverse.Guitar, false, false ); //base.txRGB.t2D描画( CDTXMania.app.Device, 0x1fd + ( j * 0x1a ), 0x39, rectangle ); - int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); + int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); base.txRGB.t2D描画( CDTXMania.app.Device, x + ( i * 26 * 3 ), @@ -51,12 +51,12 @@ namespace DTXMania } } } - if( CDTXMania.DTX.bチップがある.Bass ) + if( CDTXMania.app.DTX.bチップがある.Bass ) { for( int i = 0; i < 3; i++ ) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1200 : 206; - int index = CDTXMania.ConfigIni.bLeft.Bass ? ( 2 - i ) : i; + int x = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1200 : 206; + int index = CDTXMania.app.ConfigIni.bLeft.Bass ? ( 2 - i ) : i; Rectangle rc = new Rectangle( index * 72, 0, @@ -69,7 +69,7 @@ namespace DTXMania } if( base.txRGB != null ) { - int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); + int y = 演奏判定ライン座標.n演奏RGBボタンY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); base.txRGB.t2D描画( CDTXMania.app.Device, x + ( i * 26 * 3 ), diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsWailingBonus.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsWailingBonus.cs index 049dd63f..337e8546 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsWailingBonus.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsWailingBonus.cs @@ -31,15 +31,15 @@ namespace DTXMania { if( this.ct進行用[ num, i ].b停止中 ) { - this.ct進行用[ num, i ] = new CCounter( 0, 300, 2, CDTXMania.Timer ); - if( CDTXMania.ConfigIni.b歓声を発声する ) + this.ct進行用[ num, i ] = new CCounter( 0, 300, 2, CDTXMania.app.Timer ); + if( CDTXMania.app.ConfigIni.b歓声を発声する ) { if( r歓声Chip != null ) { - CDTXMania.DTX.tチップの再生( r歓声Chip, CSound管理.rc演奏用タイマ.nシステム時刻, (int) Eレーン.BGM, CDTXMania.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + CDTXMania.app.DTX.tチップの再生( r歓声Chip, CSound管理.rc演奏用タイマ.nシステム時刻, (int) Eレーン.BGM, CDTXMania.app.DTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); return; } - CDTXMania.Skin.sound歓声音.t再生する(); + CDTXMania.app.Skin.sound歓声音.t再生する(); return; } break; @@ -93,7 +93,7 @@ namespace DTXMania { this.ct進行用[ (int) e楽器パート, j ].t進行(); int x = ( ( e楽器パート == E楽器パート.GUITAR ) ? 1521+234 : 1194+234 ); - if (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { x -= ( e楽器パート == E楽器パート.GUITAR ) ? 71 : 994; } @@ -116,7 +116,7 @@ namespace DTXMania { num4 = (int) ( 64f - ( ( (float) ( 290 * ( num6 - 200 ) ) ) / 100f ) ); } - if( CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ) + if( CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ) { num4 = ( 0x163 - num4 ) - 0xf4; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsグラフ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsグラフ.cs index 659c09cd..f23e00db 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsグラフ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsグラフ.cs @@ -81,7 +81,7 @@ namespace DTXMania string pathグラフ = CSkin.Path( @"Graphics\ScreenPlay graph.png" ); if ( File.Exists( pathグラフ ) ) { - this.txグラフ = CDTXMania.tテクスチャの生成( pathグラフ ); + this.txグラフ = TextureFactory.tテクスチャの生成( pathグラフ ); } base.OnManagedリソースの作成(); } @@ -90,7 +90,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txグラフ ); + TextureFactory.tテクスチャの解放( ref this.txグラフ ); base.OnManagedリソースの解放(); } } @@ -103,18 +103,18 @@ namespace DTXMania /* #35804 エフェクトを変更しました。 for( int k = 0; k < 64; k++ ) { - this.stキラキラ[ k ].x = CDTXMania.Random.Next( 30 ); - this.stキラキラ[ k ].fScale = 1f + ( CDTXMania.Random.Next( 9 ) * 0.2f ); - this.stキラキラ[ k ].Trans = 0 + CDTXMania.Random.Next( 32 ) ; + this.stキラキラ[ k ].x = CDTXMania.app.Random.Next( 30 ); + this.stキラキラ[ k ].fScale = 1f + ( CDTXMania.app.Random.Next( 9 ) * 0.2f ); + this.stキラキラ[ k ].Trans = 0 + CDTXMania.app.Random.Next( 32 ) ; if (k < 32) { - this.stキラキラ[ k ].ct進行 = new CCounter(0, DispHeight, 10 + CDTXMania.Random.Next(20), CDTXMania.Timer); + this.stキラキラ[ k ].ct進行 = new CCounter(0, DispHeight, 10 + CDTXMania.app.Random.Next(20), CDTXMania.app.Timer); } else if (k < 64) { - this.stキラキラ[ k ].ct進行 = new CCounter(0, DispHeight, 20 + CDTXMania.Random.Next(50), CDTXMania.Timer); + this.stキラキラ[ k ].ct進行 = new CCounter(0, DispHeight, 20 + CDTXMania.app.Random.Next(50), CDTXMania.app.Timer); } - this.stキラキラ[ k ].ct進行.n現在の値 = CDTXMania.Random.Next(DispHeight); + this.stキラキラ[ k ].ct進行.n現在の値 = CDTXMania.app.Random.Next(DispHeight); } for( int k = 0; k < 16; k++ ) { @@ -123,14 +123,14 @@ namespace DTXMania } */ base.b初めての進行描画 = false; - counterYposInImg = new CCounter(0, 35, 16, CDTXMania.Timer); + counterYposInImg = new CCounter(0, 35, 16, CDTXMania.app.Timer); } counterYposInImg.t進行Loop(); int stYposInImg = counterYposInImg.n現在の値; // レーン表示位置によって変更 - if( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center ) + if( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center ) { XPos = 1350; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs index badc0901..3b3894ef 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsゲージ.cs @@ -26,7 +26,7 @@ namespace DTXMania public override void On活性化() { // CAct演奏ゲージ共通.Init()に移動 - // this.dbゲージ値 = ( CDTXMania.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; + // this.dbゲージ値 = ( CDTXMania.app.ConfigIni.nRisky > 0 ) ? 1.0 : 0.66666666666666663; base.On活性化(); } public override void On非活性化() @@ -43,8 +43,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txゲージ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums gauge.png" ) ); - this.txゲージ白 = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlayDrums_gauge_white.png " ) ); + this.txゲージ = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums gauge.png" ) ); + this.txゲージ白 = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenPlayDrums_gauge_white.png " ) ); base.OnManagedリソースの作成(); } } @@ -52,8 +52,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txゲージ白 ); - CDTXMania.tテクスチャの解放( ref this.txゲージ ); + TextureFactory.tテクスチャの解放( ref this.txゲージ白 ); + TextureFactory.tテクスチャの解放( ref this.txゲージ ); base.OnManagedリソースの解放(); } } @@ -66,13 +66,13 @@ namespace DTXMania { for ( int k = 0; k < 0x18; k++ ) { - this.st白い星[ k ].x = 2 + CDTXMania.Random.Next( 4 ); - this.st白い星[ k ].fScale = 0.2f + ( CDTXMania.Random.Next( 2 ) * 0.05f ); - this.st白い星[ k ].ct進行 = new CCounter( 0, 0x160, 8 + CDTXMania.Random.Next( 4 ), CDTXMania.Timer ); - this.st白い星[ k ].ct進行.n現在の値 = CDTXMania.Random.Next( 0x160 ); + this.st白い星[ k ].x = 2 + CDTXMania.app.Random.Next( 4 ); + this.st白い星[ k ].fScale = 0.2f + ( CDTXMania.app.Random.Next( 2 ) * 0.05f ); + this.st白い星[ k ].ct進行 = new CCounter( 0, 0x160, 8 + CDTXMania.app.Random.Next( 4 ), CDTXMania.app.Timer ); + this.st白い星[ k ].ct進行.n現在の値 = CDTXMania.app.Random.Next( 0x160 ); } - this.ct本体移動 = new CCounter( 0, 0x1a, 20, CDTXMania.Timer ); - this.ct本体振動 = new CCounter( 0, 360, 4, CDTXMania.Timer ); + this.ct本体移動 = new CCounter( 0, 0x1a, 20, CDTXMania.app.Timer ); + this.ct本体振動 = new CCounter( 0, 360, 4, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } #endregion diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsコンボDGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsコンボDGB.cs index d2df3fa0..ab9d8236 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsコンボDGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsコンボDGB.cs @@ -11,12 +11,12 @@ namespace DTXMania protected override void tコンボ表示_ギター( int nCombo値, int nジャンプインデックス ) { int x, y; - if( CDTXMania.DTX.bチップがある.Bass || CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center ) + if( CDTXMania.app.DTX.bチップがある.Bass || CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center ) { - x = (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1638 : 1567+5; - //y = CDTXMania.ConfigIni.bReverse.Guitar ? 0xaf : 270; - y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); - y += CDTXMania.ConfigIni.bReverse.Guitar ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); + x = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1638 : 1567+5; + //y = CDTXMania.app.ConfigIni.bReverse.Guitar ? 0xaf : 270; + y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); + y += CDTXMania.app.ConfigIni.bReverse.Guitar ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); if ( base.txCOMBOギター != null ) { base.txCOMBOギター.n透明度 = 120; @@ -25,9 +25,9 @@ namespace DTXMania else { x = 1344; - //y = CDTXMania.ConfigIni.bReverse.Guitar ? 0xee : 0xcf; - y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); - y += CDTXMania.ConfigIni.bReverse.Guitar ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); + //y = CDTXMania.app.ConfigIni.bReverse.Guitar ? 0xee : 0xcf; + y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); + y += CDTXMania.app.ConfigIni.bReverse.Guitar ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); if ( base.txCOMBOギター != null ) { base.txCOMBOギター.n透明度 = 0xff; @@ -41,10 +41,10 @@ namespace DTXMania } protected override void tコンボ表示_ベース( int nCombo値, int nジャンプインデックス ) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1311 : 1311-994+5; - //int y = CDTXMania.ConfigIni.bReverse.Bass ? 0xaf : 270; - int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); - y += CDTXMania.ConfigIni.bReverse.Bass ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); + int x = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1311 : 1311-994+5; + //int y = CDTXMania.app.ConfigIni.bReverse.Bass ? 0xaf : 270; + int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); + y += CDTXMania.app.ConfigIni.bReverse.Bass ? (int) ( -134 * Scale.Y ) : (int) ( +174 * Scale.Y ); if ( base.txCOMBOギター != null ) { base.txCOMBOギター.n透明度 = 120; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsスコア.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsスコア.cs index ac6272c4..b72ef217 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsスコア.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsスコア.cs @@ -74,7 +74,7 @@ namespace DTXMania { base.txScore.t2D描画( CDTXMania.app.Device, - (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1068 + ( i * 36 ) : 1490 + i * 36, + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1068 + ( i * 36 ) : 1490 + i * 36, 30, rectangle ); diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs index 57945e36..66317ba7 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsステータスパネル.cs @@ -50,7 +50,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txStatusPanels = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels right.png" ) ); + this.txStatusPanels = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay status panels right.png" ) ); base.OnManagedリソースの作成(); } } @@ -58,7 +58,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txStatusPanels ); + TextureFactory.tテクスチャの解放( ref this.txStatusPanels ); base.OnManagedリソースの解放(); } } @@ -77,7 +77,7 @@ namespace DTXMania (int) ( 0x49 * Scale.Y ) ) ); - int drums = CDTXMania.ConfigIni.n譜面スクロール速度.Drums; + int drums = CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums; if ( drums < 0 ) { drums = 0; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアD.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアD.cs index a9df6725..1416c57c 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアD.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアD.cs @@ -48,7 +48,7 @@ namespace DTXMania this.st火花[ j ].b使用中 = false; } } - float n回転初期値 = CDTXMania.Random.Next( 360 ); + float n回転初期値 = CDTXMania.app.Random.Next( 360 ); for ( int i = 0; i < 8; i++ ) { for( int j = 0; j < FIRE_MAX; j++ ) @@ -57,8 +57,8 @@ namespace DTXMania { this.st火花[ j ].b使用中 = true; this.st火花[ j ].nLane = (int) lane; -// this.st火花[ j ].ct進行 = new CCounter( 0, 35, 6, CDTXMania.Timer ); - this.st火花[ j ].ct進行 = new CCounter( 0, 70, 3, CDTXMania.Timer ); +// this.st火花[ j ].ct進行 = new CCounter( 0, 35, 6, CDTXMania.app.Timer ); + this.st火花[ j ].ct進行 = new CCounter( 0, 70, 3, CDTXMania.app.Timer ); this.st火花[ j ].f回転単位 = C変換.DegreeToRadian( (float) ( n回転初期値 + ( i * 90f ) ) ); this.st火花[ j ].f回転方向 = ( i < 4 ) ? 1f : -2f; this.st火花[ j ].fサイズ = ( i < 4 ) ? 1f : 0.5f; @@ -76,21 +76,21 @@ namespace DTXMania if ( !this.st青い星[ j ].b使用中 ) { this.st青い星[ j ].b使用中 = true; - int n回転初期値 = CDTXMania.Random.Next( 360 ); - double num7 = 0.9 + ( ( (double) CDTXMania.Random.Next( 40 ) ) / 100.0 ); + int n回転初期値 = CDTXMania.app.Random.Next( 360 ); + double num7 = 0.9 + ( ( (double) CDTXMania.app.Random.Next( 40 ) ) / 100.0 ); this.st青い星[ j ].nLane = (int) lane; - this.st青い星[ j ].ct進行 = new CCounter( 0, 100, 7, CDTXMania.Timer ); + this.st青い星[ j ].ct進行 = new CCounter( 0, 100, 7, CDTXMania.app.Timer ); this.st青い星[ j ].fX = - (int) ( this.nレーンの中央X座標[ (int) lane ] * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ) + - ( ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ); - this.st青い星[ j ].fY = CDTXMania.ConfigIni.bReverse.Drums ? + (int) ( this.nレーンの中央X座標[ (int) lane ] * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ) + + ( ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ); + this.st青い星[ j ].fY = CDTXMania.app.ConfigIni.bReverse.Drums ? (float) (119 + 4) - nJudgeLinePosY_delta_Drums : (float) (942 + 14) + nJudgeLinePosY_delta_Drums; this.st青い星[ j ].f加速度X = (float) ( num7 * Math.Cos( ( Math.PI * 2 * n回転初期値 ) / 360.0 ) ); this.st青い星[ j ].f加速度Y = (float) ( num7 * ( Math.Sin( ( Math.PI * 2 * n回転初期値 ) / 360.0 ) - 0.2 ) ); this.st青い星[ j ].f加速度の加速度X = 0.995f; this.st青い星[ j ].f加速度の加速度Y = 0.995f; this.st青い星[ j ].f重力加速度 = 0.00355f; - this.st青い星[ j ].f半径 = (float) ( 0.5 + ( ( (double) CDTXMania.Random.Next( 30 ) ) / 100.0 ) ); + this.st青い星[ j ].f半径 = (float) ( 0.5 + ( ( (double) CDTXMania.app.Random.Next( 30 ) ) / 100.0 ) ); break; } } @@ -106,12 +106,12 @@ namespace DTXMania { this.st大波[ j ].b使用中 = true; this.st大波[ j ].nLane = (int) lane; - this.st大波[ j ].f半径 = ( (float) ( ( 20 - CDTXMania.Random.Next( 40 ) ) + 100 ) ) / 100f; + this.st大波[ j ].f半径 = ( (float) ( ( 20 - CDTXMania.app.Random.Next( 40 ) ) + 100 ) ) / 100f; this.st大波[ j ].n進行速度ms = 10; - this.st大波[ j ].ct進行 = new CCounter( 0, 100, this.st大波[ j ].n進行速度ms, CDTXMania.Timer ); + this.st大波[ j ].ct進行 = new CCounter( 0, 100, this.st大波[ j ].n進行速度ms, CDTXMania.app.Timer ); this.st大波[ j ].ct進行.n現在の値 = i * 10; - this.st大波[ j ].f角度X = C変換.DegreeToRadian( (float) ( ( ( (double) ( CDTXMania.Random.Next( 100 ) * 50 ) ) / 100.0 ) + 30.0 ) ); - this.st大波[ j ].f角度Y = C変換.DegreeToRadian( this.b大波Balance ? ( this.fY波の最小仰角[ (int) lane ] + CDTXMania.Random.Next( 30 ) ) : ( this.fY波の最大仰角[ (int) lane ] - CDTXMania.Random.Next( 30 ) ) ); + this.st大波[ j ].f角度X = C変換.DegreeToRadian( (float) ( ( ( (double) ( CDTXMania.app.Random.Next( 100 ) * 50 ) ) / 100.0 ) + 30.0 ) ); + this.st大波[ j ].f角度Y = C変換.DegreeToRadian( this.b大波Balance ? ( this.fY波の最小仰角[ (int) lane ] + CDTXMania.app.Random.Next( 30 ) ) : ( this.fY波の最大仰角[ (int) lane ] - CDTXMania.app.Random.Next( 30 ) ) ); this.st大波[ j ].f回転単位 = C変換.DegreeToRadian( (float) 0f ); this.st大波[ j ].f回転方向 = 1f; this.b大波Balance = !this.b大波Balance; @@ -130,12 +130,12 @@ namespace DTXMania { this.st細波[ j ].b使用中 = true; this.st細波[ j ].nLane = (int) lane; - this.st細波[ j ].f半径 = ( (float) ( ( 20 - CDTXMania.Random.Next( 40 ) ) + 100 ) ) / 100f; + this.st細波[ j ].f半径 = ( (float) ( ( 20 - CDTXMania.app.Random.Next( 40 ) ) + 100 ) ) / 100f; this.st細波[ j ].n進行速度ms = 8; - this.st細波[ j ].ct進行 = new CCounter( 0, 100, this.st細波[ j ].n進行速度ms, CDTXMania.Timer ); + this.st細波[ j ].ct進行 = new CCounter( 0, 100, this.st細波[ j ].n進行速度ms, CDTXMania.app.Timer ); this.st細波[ j ].ct進行.n現在の値 = 0; - this.st細波[ j ].f角度X = C変換.DegreeToRadian( (float) ( ( ( (double) ( CDTXMania.Random.Next( 100 ) * 50 ) ) / 100.0 ) + 30.0 ) ); - this.st細波[ j ].f角度Y = C変換.DegreeToRadian( this.b細波Balance ? ( this.fY波の最小仰角[ (int) lane ] + CDTXMania.Random.Next( 30 ) ) : ( this.fY波の最大仰角[ (int) lane ] - CDTXMania.Random.Next( 30 ) ) ); + this.st細波[ j ].f角度X = C変換.DegreeToRadian( (float) ( ( ( (double) ( CDTXMania.app.Random.Next( 100 ) * 50 ) ) / 100.0 ) + 30.0 ) ); + this.st細波[ j ].f角度Y = C変換.DegreeToRadian( this.b細波Balance ? ( this.fY波の最小仰角[ (int) lane ] + CDTXMania.app.Random.Next( 30 ) ) : ( this.fY波の最大仰角[ (int) lane ] - CDTXMania.app.Random.Next( 30 ) ) ); this.b細波Balance = !this.b細波Balance; break; } @@ -193,22 +193,22 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx火花 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip fire.png" ) ); + this.tx火花 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip fire.png" ) ); if( this.tx火花 != null ) { this.tx火花.b加算合成 = true; } - this.tx青い星 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip star.png" ) ); + this.tx青い星 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip star.png" ) ); if( this.tx青い星 != null ) { this.tx青い星.b加算合成 = true; } - this.tx大波 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip wave.png" ) ); + this.tx大波 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip wave.png" ) ); if( this.tx大波 != null ) { this.tx大波.b加算合成 = true; } - this.tx細波 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip wave2.png" ) ); + this.tx細波 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chip wave2.png" ) ); if( this.tx細波 != null ) { this.tx細波.b加算合成 = true; @@ -220,10 +220,10 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx火花 ); - CDTXMania.tテクスチャの解放( ref this.tx青い星 ); - CDTXMania.tテクスチャの解放( ref this.tx大波 ); - CDTXMania.tテクスチャの解放( ref this.tx細波 ); + TextureFactory.tテクスチャの解放( ref this.tx火花 ); + TextureFactory.tテクスチャの解放( ref this.tx青い星 ); + TextureFactory.tテクスチャの解放( ref this.tx大波 ); + TextureFactory.tテクスチャの解放( ref this.tx細波 ); base.OnManagedリソースの解放(); } } @@ -251,11 +251,11 @@ namespace DTXMania identity *= Matrix.RotationZ( num3 + ( (float) Math.PI / 2 ) ); float num5 = ( (float) ( 0.8 * Math.Sin( num2 * Math.PI / 2 ) ) ) * this.st火花[ i ].fサイズ; identity *= Matrix.Translation( - ( (int)(this.nレーンの中央X座標[ this.st火花[ i ].nLane ] * ((CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1.0 : 0.75)) + ( (int)(this.nレーンの中央X座標[ this.st火花[ i ].nLane ] * ((CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1.0 : 0.75)) + - ( (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? (float)(54 * 3) : (float)(619 + 12 + 40) ) + + ( (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? (float)(54 * 3) : (float)(619 + 12 + 40) ) + ( ( (float) Math.Cos( (double) num3 ) ) * num5 ) ) - SampleFramework.GameWindowSize.Width / 2, - -( ( ( CDTXMania.ConfigIni.bReverse.Drums ? + -( ( ( CDTXMania.app.ConfigIni.bReverse.Drums ? ( 119 + 4 ) - nJudgeLinePosY_delta_Drums : ( 942 + 14 ) + nJudgeLinePosY_delta_Drums ) + ( ( (float) Math.Sin( (double) num3 ) ) * num5 ) ) - SampleFramework.GameWindowSize.Height / 2 ), 0f @@ -341,10 +341,10 @@ namespace DTXMania matrix3 *= Matrix.RotationX( this.st大波[ i ].f角度X ); matrix3 *= Matrix.RotationY( this.st大波[ i ].f角度Y ); matrix3 *= Matrix.Translation( - (int)(this.nレーンの中央X座標[ this.st大波[ i ].nLane ] * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 1.0 : 0.75)) + - ( ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ) + (int)(this.nレーンの中央X座標[ this.st大波[ i ].nLane ] * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 1.0 : 0.75)) + + ( ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ) - SampleFramework.GameWindowSize.Width / 2, - -( ( CDTXMania.ConfigIni.bReverse.Drums ? + -( ( CDTXMania.app.ConfigIni.bReverse.Drums ? (119 + 4) - nJudgeLinePosY_delta_Drums : (942 + 14) + nJudgeLinePosY_delta_Drums ) - SampleFramework.GameWindowSize.Height / 2 ), 0f ); @@ -380,10 +380,10 @@ namespace DTXMania matrix4 *= Matrix.RotationX( this.st細波[ i ].f角度X ); matrix4 *= Matrix.RotationY( this.st細波[ i ].f角度Y ); matrix4 *= Matrix.Translation( - (int)( this.nレーンの中央X座標[ this.st細波[ i ].nLane ] * (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 1.0 : 0.75 ) ) + - ( ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ) + (int)( this.nレーンの中央X座標[ this.st細波[ i ].nLane ] * (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 1.0 : 0.75 ) ) + + ( ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? (float) ( 54 * 3 ) : (float) ( 619 + 12 + 40 ) ) -SampleFramework.GameWindowSize.Width / 2, - -( ( CDTXMania.ConfigIni.bReverse.Drums ? + -( ( CDTXMania.app.ConfigIni.bReverse.Drums ? (119 + 4) - nJudgeLinePosY_delta_Drums : (942 + 14) + nJudgeLinePosY_delta_Drums ) - SampleFramework.GameWindowSize.Height / 2 ), 0f diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs index 9070a845..a1a010d8 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsチップファイアGB.cs @@ -18,17 +18,17 @@ namespace DTXMania } E楽器パート e楽器パート = ( nLane < 3 ) ? E楽器パート.GUITAR : E楽器パート.BASS; int index = nLane; - if( CDTXMania.ConfigIni.bLeft[ (int) e楽器パート ] ) + if( CDTXMania.app.ConfigIni.bLeft[ (int) e楽器パート ] ) { index = ( ( index / 3 ) * 3 ) + ( 2 - ( index % 3 ) ); } int x = this.pt中央[ index ].X; - if (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { x -= ( e楽器パート == E楽器パート.GUITAR ) ? 71 : 994; } //int y = this.pt中央[ index ].Y; - int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, false, CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ); + int y = 演奏判定ライン座標.n判定ラインY座標( e楽器パート, false, CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ); base.Start( nLane, x, y, 演奏判定ライン座標 ); } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsパッド.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsパッド.cs index d4770c69..1f18d283 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsパッド.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drumsパッド.cs @@ -53,8 +53,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - this.txパッド = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums pads.png" ) ); - this.tx光るパッド = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums pads flush.png" ) ); + this.txパッド = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums pads.png" ) ); + this.tx光るパッド = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums pads flush.png" ) ); base.OnManagedリソースの作成(); } } @@ -62,8 +62,8 @@ namespace DTXMania { if ( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパッド ); - CDTXMania.tテクスチャの解放( ref this.tx光るパッド ); + TextureFactory.tテクスチャの解放( ref this.txパッド ); + TextureFactory.tテクスチャの解放( ref this.tx光るパッド ); base.OnManagedリソースの解放(); } } @@ -121,13 +121,13 @@ namespace DTXMania { int index = this.n描画順[ i ]; int x = this.st基本位置[ index ].x; - int xDist = (int) (x * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 )); - x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left )? 66 : 619-24; + int xDist = (int) (x * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 )); + x = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left )? 66 : 619-24; x += xDist; - int y = ( this.st基本位置[ index ].y + ( CDTXMania.ConfigIni.bReverse.Drums ? -10 : 0x19e ) ) + this.stパッド状態[ index ].nY座標オフセットdot; + int y = ( this.st基本位置[ index ].y + ( CDTXMania.app.ConfigIni.bReverse.Drums ? -10 : 0x19e ) ) + this.stパッド状態[ index ].nY座標オフセットdot; if ( this.txパッド != null ) { - // this.txパッド.vc拡大縮小倍率.X = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; + // this.txパッド.vc拡大縮小倍率.X = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; this.txパッド.t2D描画( CDTXMania.app.Device, x, @@ -137,7 +137,7 @@ namespace DTXMania } if ( this.tx光るパッド != null ) { - // this.tx光るパッド.vc拡大縮小倍率.X = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; + // this.tx光るパッド.vc拡大縮小倍率.X = ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0f : 0.75f; this.tx光るパッド.n透明度 = ( this.stパッド状態[ index ].n明るさ * 40 ) + 15; this.tx光るパッド.t2D描画( CDTXMania.app.Device, diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュD.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュD.cs index c6409c75..6bb93f38 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュD.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュD.cs @@ -51,7 +51,7 @@ namespace DTXMania public void Start( Eレーン lane, float f強弱度合い ) { int num = (int) ( ( 1f - f強弱度合い ) * 55f ); - this.ct進行[ (int) lane ] = new CCounter( num, 100, 4, CDTXMania.Timer ); + this.ct進行[ (int) lane ] = new CCounter( num, 100, 4, CDTXMania.app.Timer ); } @@ -79,7 +79,7 @@ namespace DTXMania { for ( int i = 0; i < 0x10; i++ ) { - this.txFlush[ i ] = CDTXMania.tテクスチャの生成Af( CSkin.Path( this.strファイル名[ i ] ) ); + this.txFlush[ i ] = TextureFactory.tテクスチャの生成Af( CSkin.Path( this.strファイル名[ i ] ) ); } base.OnManagedリソースの作成(); } @@ -90,7 +90,7 @@ namespace DTXMania { for ( int i = 0; i < 0x10; i++ ) { - CDTXMania.tテクスチャの解放( ref this.txFlush[ i ] ); + TextureFactory.tテクスチャの解放( ref this.txFlush[ i ] ); } base.OnManagedリソースの解放(); } @@ -117,14 +117,14 @@ namespace DTXMania int x = this.stレーンサイズ[ j ].x; int w = this.stレーンサイズ[ j ].w; - x = (int) ( x * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); - x += ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 36 * 3 : 619 - 24 + 36; - w = (int) ( w * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); + x = (int) ( x * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); + x += ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 36 * 3 : 619 - 24 + 36; + w = (int) ( w * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); //for ( int k = 0; k < 3; k++ ) int k = 0; { - if ( CDTXMania.ConfigIni.bReverse.Drums ) + if ( CDTXMania.app.ConfigIni.bReverse.Drums ) { int y = ( k * 0x80 ) - ( ( this.ct進行[ j ].n現在の値 * 0x180 ) / 100 ); for ( int m = 0; m < w; m += 42 ) diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュGB.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュGB.cs index 2aac9ce6..d9feedbd 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュGB.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏DrumsレーンフラッシュGB.cs @@ -19,10 +19,10 @@ namespace DTXMania if ( !base.ct進行[ i ].b停止中 ) { E楽器パート e楽器パート = ( i < 3 ) ? E楽器パート.GUITAR : E楽器パート.BASS; - CTextureAf texture = CDTXMania.ConfigIni.bReverse[ (int) e楽器パート ] ? base.txFlush[ ( i % 3 ) + 3 ] : base.txFlush[ i % 3 ]; - int bLeft = CDTXMania.ConfigIni.bLeft[ (int) e楽器パート ] ? 1 : 0; + CTextureAf texture = CDTXMania.app.ConfigIni.bReverse[ (int) e楽器パート ] ? base.txFlush[ ( i % 3 ) + 3 ] : base.txFlush[ i % 3 ]; + int bLeft = CDTXMania.app.ConfigIni.bLeft[ (int) e楽器パート ] ? 1 : 0; int x = ( ( ( i < 3 ) ? 1521 : 1194 ) + this.nRGBのX座標[ bLeft, i ] * 3 ) + ( ( 16 * base.ct進行[ i ].n現在の値 ) / 100 ) * 3; - if (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { x -= ( e楽器パート == E楽器パート.GUITAR ) ? 71 : 994; } diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drums判定文字列.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drums判定文字列.cs index d7121acc..3de4af8c 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drums判定文字列.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CAct演奏Drums判定文字列.cs @@ -73,7 +73,7 @@ namespace DTXMania base.st状態[ i ].fX方向拡大率 = 1f; base.st状態[ i ].fY方向拡大率 = 1f; base.st状態[ i ].n相対X座標 = 0; - base.st状態[ i ].n相対Y座標 = ( ( num2 % 6 ) == 0 ) ? ( CDTXMania.Random.Next( 6 ) - 3 ) : base.st状態[ i ].n相対Y座標; + base.st状態[ i ].n相対Y座標 = ( ( num2 % 6 ) == 0 ) ? ( CDTXMania.app.Random.Next( 6 ) - 3 ) : base.st状態[ i ].n相対Y座標; base.st状態[ i ].n透明度 = 0xff; } else if( num2 >= 240 ) @@ -130,38 +130,38 @@ namespace DTXMania #region [ Drums 判定文字列 baseX/Y生成 ] if ( j < 8 ) // Drums { - if ( CDTXMania.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.表示OFF ) + if ( CDTXMania.app.ConfigIni.判定文字表示位置.Drums == E判定文字表示位置.表示OFF ) { continue; } baseX = this.stレーンサイズ[ j ].x; - baseX = (int) ( baseX * ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); - baseX += ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 36 : 205 ); - baseY = CDTXMania.ConfigIni.bReverse.Drums ? - ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Drums ) == E判定文字表示位置.レーン上 ) ? ( 240 + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) : 50 ) : - ( ( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Drums ) == E判定文字表示位置.レーン上 ) ? ( 180 + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) : 450 ); + baseX = (int) ( baseX * ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 1.0 : 0.75 ) ); + baseX += ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left? 36 : 205 ); + baseY = CDTXMania.app.ConfigIni.bReverse.Drums ? + ( ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Drums ) == E判定文字表示位置.レーン上 ) ? ( 240 + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) : 50 ) : + ( ( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Drums ) == E判定文字表示位置.レーン上 ) ? ( 180 + ( this.n文字の縦表示位置[ j ] * 0x20 ) ) : 450 ); baseY = (int) ( baseY * Scale.Y ); } #endregion #region [ Bass 判定文字列描画 baseX/Y生成 ] else if( j == 11 ) // Bass { - if( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) + if( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) == E判定文字表示位置.表示OFF ) { continue; } int yB; - switch ( CDTXMania.ConfigIni.判定文字表示位置.Bass ) + switch ( CDTXMania.app.ConfigIni.判定文字表示位置.Bass ) { case E判定文字表示位置.コンボ下: baseX = this.stレーンサイズ[ j ].x + 36; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX -= 331+1; } - yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); + yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); baseY = ( - CDTXMania.ConfigIni.bReverse.Bass ? + CDTXMania.app.ConfigIni.bReverse.Bass ? yB + (int) ( ( -124 + 0 ) * Scale.Y ) : yB + (int) ( ( +184 + 0 ) * Scale.Y ) ) @@ -169,14 +169,14 @@ namespace DTXMania break; case E判定文字表示位置.レーン上: baseX = this.stレーンサイズ[ j ].x + 36; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX -= 331+1; } - //baseY = ( CDTXMania.ConfigIni.bReverse.Bass ? 240 : 180 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ); - yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); + //baseY = ( CDTXMania.app.ConfigIni.bReverse.Bass ? 240 : 180 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ); + yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); baseY = ( - CDTXMania.ConfigIni.bReverse.Bass ? + CDTXMania.app.ConfigIni.bReverse.Bass ? yB - (int) ( 134 * Scale.Y ) : yB + (int) ( 75 * Scale.Y ) ) @@ -184,12 +184,12 @@ namespace DTXMania break; case E判定文字表示位置.判定ライン上: baseX = this.stレーンサイズ[ j ].x + 36; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX -= 331+1; } - yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.ConfigIni.bReverse.Bass ); - baseY = CDTXMania.ConfigIni.bReverse.Bass ? + yB = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, CDTXMania.app.ConfigIni.bReverse.Bass ); + baseY = CDTXMania.app.ConfigIni.bReverse.Bass ? yB + (int) ( 20 * Scale.Y ) : yB - (int) ( 24 * Scale.Y ); break; @@ -199,53 +199,53 @@ namespace DTXMania #region [ Guitar 判定文字列描画 baseX/Y生成 ] else if( j == 10 ) // Guitar { - if( ( (E判定文字表示位置) CDTXMania.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) + if( ( (E判定文字表示位置) CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) == E判定文字表示位置.表示OFF ) { continue; } int yG; - switch ( CDTXMania.ConfigIni.判定文字表示位置.Guitar ) + switch ( CDTXMania.app.ConfigIni.判定文字表示位置.Guitar ) { case E判定文字表示位置.コンボ下: - baseX = ( CDTXMania.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + baseX = ( CDTXMania.app.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX = this.stレーンサイズ[ j ].x + 36; // 判定表示がドラムレーンにかぶらないよう、ベース有りの時と同じ表示方法にする baseX -= 24 + 1; } - yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); + yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); baseY = ( - CDTXMania.ConfigIni.bReverse.Guitar ? + CDTXMania.app.ConfigIni.bReverse.Guitar ? yG + (int) ( ( -124 + 0 ) * Scale.Y ) : yG + (int) ( ( +184 + 0 ) * Scale.Y ) ) + (int) ( this.n文字の縦表示位置[ j ] * 0x20 * Scale.Y ); break; case E判定文字表示位置.レーン上: - baseX = ( CDTXMania.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + baseX = ( CDTXMania.app.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX = this.stレーンサイズ[ j ].x + 36; // 判定表示がドラムレーンにかぶらないよう、ベース有りの時と同じ表示方法にする baseX -= 24+1; } - //baseY = ( CDTXMania.ConfigIni.bReverse.Guitar ? 240 : 180 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ); - yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); + //baseY = ( CDTXMania.app.ConfigIni.bReverse.Guitar ? 240 : 180 ) + ( this.n文字の縦表示位置[ j ] * 0x20 ); + yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); baseY = ( - CDTXMania.ConfigIni.bReverse.Guitar ? + CDTXMania.app.ConfigIni.bReverse.Guitar ? yG - (int) ( 134 * Scale.Y ): yG + (int) ( 75 * Scale.Y ) ) + (int) ( this.n文字の縦表示位置[ j ] * 0x20 * Scale.Y ); break; case E判定文字表示位置.判定ライン上: - baseX = ( CDTXMania.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) + baseX = ( CDTXMania.app.DTX.bチップがある.Bass ) ? this.stレーンサイズ[ j ].x + 36 : 0x198; + if ( CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Center) { baseX = this.stレーンサイズ[ j ].x + 36; // 判定表示がドラムレーンにかぶらないよう、ベース有りの時と同じ表示方法にする baseX -= 24 + 1; } - yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.ConfigIni.bReverse.Guitar ); - baseY = CDTXMania.ConfigIni.bReverse.Guitar ? + yG = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, CDTXMania.app.ConfigIni.bReverse.Guitar ); + baseY = CDTXMania.app.ConfigIni.bReverse.Guitar ? yG + (int) ( 20 * Scale.Y ) : yG - (int) ( 24 * Scale.Y ); break; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs index 073fcff2..a040dfdf 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs @@ -16,65 +16,62 @@ namespace DTXMania internal class CStage演奏ドラム画面 : CStage演奏画面共通 { // コンストラクタ - public CStage演奏ドラム画面() { base.eステージID = CStage.Eステージ.演奏; base.eフェーズID = CStage.Eフェーズ.共通_通常状態; base.b活性化してない = true; - base.list子Activities.Add( this.actPad = new CAct演奏Drumsパッド() ); - base.list子Activities.Add( this.actCombo = new CAct演奏DrumsコンボDGB() ); - base.list子Activities.Add( this.actDANGER = new CAct演奏DrumsDanger() ); - base.list子Activities.Add( this.actChipFireD = new CAct演奏DrumsチップファイアD() ); - base.list子Activities.Add( this.actChipFireGB = new CAct演奏DrumsチップファイアGB()); - base.list子Activities.Add( this.actGauge = new CAct演奏Drumsゲージ() ); - base.list子Activities.Add( this.actGraph = new CAct演奏Drumsグラフ() ); // #24074 2011.01.23 add ikanick - base.list子Activities.Add( this.actJudgeString = new CAct演奏Drums判定文字列() ); - base.list子Activities.Add( this.actLaneFlushD = new CAct演奏DrumsレーンフラッシュD() ); - base.list子Activities.Add( this.actLaneFlushGB = new CAct演奏DrumsレーンフラッシュGB() ); - base.list子Activities.Add( this.actRGB = new CAct演奏DrumsRGB() ); - base.list子Activities.Add( this.actScore = new CAct演奏Drumsスコア() ); - base.list子Activities.Add( this.actStatusPanels = new CAct演奏Drumsステータスパネル() ); - base.list子Activities.Add( this.actWailingBonus = new CAct演奏DrumsWailingBonus() ); - base.list子Activities.Add( this.act譜面スクロール速度 = new CAct演奏スクロール速度() ); - base.list子Activities.Add( this.actAVI = new CAct演奏AVI() ); - base.list子Activities.Add( this.actBGA = new CAct演奏BGA() ); - base.list子Activities.Add( this.actPanel = new CAct演奏パネル文字列() ); - base.list子Activities.Add( this.actStageFailed = new CAct演奏ステージ失敗() ); - base.list子Activities.Add( this.actPlayInfo = new CAct演奏演奏情報() ); - base.list子Activities.Add( this.actFI = new CActFIFOBlack() ); - base.list子Activities.Add( this.actFO = new CActFIFOBlack() ); - base.list子Activities.Add( this.actFOClear = new CActFIFOWhite() ); + base.list子Activities.Add(this.actPad = new CAct演奏Drumsパッド()); + base.list子Activities.Add(this.actCombo = new CAct演奏DrumsコンボDGB()); + base.list子Activities.Add(this.actDANGER = new CAct演奏DrumsDanger()); + base.list子Activities.Add(this.actChipFireD = new CAct演奏DrumsチップファイアD()); + base.list子Activities.Add(this.actChipFireGB = new CAct演奏DrumsチップファイアGB()); + base.list子Activities.Add(this.actGauge = new CAct演奏Drumsゲージ()); + base.list子Activities.Add(this.actGraph = new CAct演奏Drumsグラフ()); // #24074 2011.01.23 add ikanick + base.list子Activities.Add(this.actJudgeString = new CAct演奏Drums判定文字列()); + base.list子Activities.Add(this.actLaneFlushD = new CAct演奏DrumsレーンフラッシュD()); + base.list子Activities.Add(this.actLaneFlushGB = new CAct演奏DrumsレーンフラッシュGB()); + base.list子Activities.Add(this.actRGB = new CAct演奏DrumsRGB()); + base.list子Activities.Add(this.actScore = new CAct演奏Drumsスコア()); + base.list子Activities.Add(this.actStatusPanels = new CAct演奏Drumsステータスパネル()); + base.list子Activities.Add(this.actWailingBonus = new CAct演奏DrumsWailingBonus()); + base.list子Activities.Add(this.act譜面スクロール速度 = new CAct演奏スクロール速度()); + base.list子Activities.Add(this.actAVI = new CAct演奏AVI()); + base.list子Activities.Add(this.actBGA = new CAct演奏BGA()); + base.list子Activities.Add(this.actPanel = new CAct演奏パネル文字列()); + base.list子Activities.Add(this.actStageFailed = new CAct演奏ステージ失敗()); + base.list子Activities.Add(this.actPlayInfo = new CAct演奏演奏情報()); + base.list子Activities.Add(this.actFI = new CActFIFOBlack()); + base.list子Activities.Add(this.actFO = new CActFIFOBlack()); + base.list子Activities.Add(this.actFOClear = new CActFIFOWhite()); } - - + // メソッド - - public void t演奏結果を格納する( out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass, out CChip[] r空打ちドラムチップ ) + public void t演奏結果を格納する(out CScoreIni.C演奏記録 Drums, out CScoreIni.C演奏記録 Guitar, out CScoreIni.C演奏記録 Bass, out CChip[] r空打ちドラムチップ) { - base.t演奏結果を格納する_ドラム( out Drums ); - base.t演奏結果を格納する_ギター( out Guitar ); - base.t演奏結果を格納する_ベース( out Bass ); + base.t演奏結果を格納する_ドラム(out Drums); + base.t演奏結果を格納する_ギター(out Guitar); + base.t演奏結果を格納する_ベース(out Bass); - r空打ちドラムチップ = new CChip[ 10 ]; - for ( int i = 0; i < 10; i++ ) + r空打ちドラムチップ = new CChip[10]; + for (int i = 0; i < 10; i++) { - r空打ちドラムチップ[ i ] = this.r空うちChip( E楽器パート.DRUMS, (Eパッド) i ); - if( r空打ちドラムチップ[ i ] == null ) + r空打ちドラムチップ[i] = this.r空うちChip(E楽器パート.DRUMS, (Eパッド)i); + if (r空打ちドラムチップ[i] == null) { - r空打ちドラムチップ[ i ] = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( CSound管理.rc演奏用タイマ.n現在時刻, this.nパッド0Atoチャンネル0A[ i ], this.nInputAdjustTimeMs.Drums ); + r空打ちドラムチップ[i] = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(CSound管理.rc演奏用タイマ.n現在時刻, this.nパッド0Atoチャンネル0A[i], this.nInputAdjustTimeMs.Drums); } } -// if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える -// { -// CScoreIni.C演奏記録 t; -// t = Guitar; -// Guitar = Bass; -// Bass = t; -// -// CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す -// } + // if ( CDTXMania.app.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える + // { + // CScoreIni.C演奏記録 t; + // t = Guitar; + // Guitar = Bass; + // Bass = t; + // + // CDTXMania.app.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す + // } } @@ -86,25 +83,25 @@ namespace DTXMania base.On活性化(); // MODIFY_BEGIN #25398 2011.06.07 FROM - if( CDTXMania.bコンパクトモード ) + if (CDTXMania.app.bコンパクトモード) { var score = new Cスコア(); - CDTXMania.Songs管理.tScoreIniを読み込んで譜面情報を設定する( CDTXMania.strコンパクトモードファイル + ".score.ini", ref score ); - this.actGraph.dbグラフ値目標_渡 = score.譜面情報.最大スキル[ 0 ]; + CDTXMania.app.Songs管理.tScoreIniを読み込んで譜面情報を設定する(CDTXMania.app.strコンパクトモードファイル + ".score.ini", ref score); + this.actGraph.dbグラフ値目標_渡 = score.譜面情報.最大スキル[0]; } else { - this.actGraph.dbグラフ値目標_渡 = CDTXMania.stage選曲.r確定されたスコア.譜面情報.最大スキル[ 0 ]; // #24074 2011.01.23 add ikanick - - // #35411 2015.08.21 chnmr0 add - // ゴースト利用可のなとき、0で初期化 - if (CDTXMania.ConfigIni.eTargetGhost.Drums != ETargetGhostData.NONE) - { - if (CDTXMania.listTargetGhsotLag[(int)E楽器パート.DRUMS] != null) - { - this.actGraph.dbグラフ値目標_渡 = 0; - } - } + this.actGraph.dbグラフ値目標_渡 = CDTXMania.app.stage選曲.r確定されたスコア.譜面情報.最大スキル[0]; // #24074 2011.01.23 add ikanick + + // #35411 2015.08.21 chnmr0 add + // ゴースト利用可のなとき、0で初期化 + if (CDTXMania.app.ConfigIni.eTargetGhost.Drums != ETargetGhostData.NONE) + { + if (CDTXMania.app.DTX.listTargetGhsotLag[(int)E楽器パート.DRUMS] != null) + { + this.actGraph.dbグラフ値目標_渡 = 0; + } + } } // MODIFY_END #25398 dtLastQueueOperation = DateTime.MinValue; @@ -115,52 +112,52 @@ namespace DTXMania } public override void OnManagedリソースの作成() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { //this.t背景テクスチャの生成(); - this.txチップ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums chips.png" ) ); - this.txヒットバー = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums hit-bar.png" ) ); - this.txヒットバーGB = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums hit-bar guitar.png" ) ); - //this.txWailing枠 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) ); - this.txレーンフレームGB = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums lane parts guitar.png" ) ); - if( this.txレーンフレームGB != null ) + this.txチップ = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayDrums chips.png")); + this.txヒットバー = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayDrums hit-bar.png")); + this.txヒットバーGB = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayDrums hit-bar guitar.png")); + //this.txWailing枠 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlay wailing cursor.png" ) ); + this.txレーンフレームGB = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenPlayDrums lane parts guitar.png")); + if (this.txレーンフレームGB != null) { - this.txレーンフレームGB.n透明度 = 0xff - CDTXMania.ConfigIni.n背景の透過度; + this.txレーンフレームGB.n透明度 = 0xff - CDTXMania.app.ConfigIni.n背景の透過度; } base.OnManagedリソースの作成(); } } public override void OnManagedリソースの解放() { - if( !base.b活性化してない ) + if (!base.b活性化してない) { - //CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.txヒットバー ); - CDTXMania.tテクスチャの解放( ref this.txヒットバーGB ); - CDTXMania.tテクスチャの解放( ref this.txチップ ); - CDTXMania.tテクスチャの解放( ref this.txレーンフレームGB ); - //CDTXMania.tテクスチャの解放( ref this.txWailing枠 ); + //TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放(ref this.txヒットバー); + TextureFactory.tテクスチャの解放(ref this.txヒットバーGB); + TextureFactory.tテクスチャの解放(ref this.txチップ); + TextureFactory.tテクスチャの解放(ref this.txレーンフレームGB); + //TextureFactory.tテクスチャの解放( ref this.txWailing枠 ); base.OnManagedリソースの解放(); } } public override int On進行描画() { base.sw.Start(); - if( !base.b活性化してない ) + if (!base.b活性化してない) { bool bIsFinishedPlaying = false; bool bIsFinishedFadeout = false; #region [ 初めての進行描画 ] - if ( base.b初めての進行描画 ) + if (base.b初めての進行描画) { this.PrepareAVITexture(); CSound管理.rc演奏用タイマ.tリセット(); - CDTXMania.Timer.tリセット(); - this.ctチップ模様アニメ.Drums = new CCounter( 0, 0x30, 10, CDTXMania.Timer ); - this.ctチップ模様アニメ.Guitar = new CCounter( 0, 0x17, 20, CDTXMania.Timer ); - this.ctチップ模様アニメ.Bass = new CCounter( 0, 0x17, 20, CDTXMania.Timer ); - this.ctWailingチップ模様アニメ = new CCounter( 0, 4, 50, CDTXMania.Timer ); + CDTXMania.app.Timer.tリセット(); + this.ctチップ模様アニメ.Drums = new CCounter(0, 0x30, 10, CDTXMania.app.Timer); + this.ctチップ模様アニメ.Guitar = new CCounter(0, 0x17, 20, CDTXMania.app.Timer); + this.ctチップ模様アニメ.Bass = new CCounter(0, 0x17, 20, CDTXMania.app.Timer); + this.ctWailingチップ模様アニメ = new CCounter(0, 4, 50, CDTXMania.app.Timer); // this.actChipFireD.Start( Eレーン.HH ); // #31554 2013.6.12 yyagi // 初チップヒット時のもたつき回避。最初にactChipFireD.Start()するときにJITが掛かって? @@ -170,22 +167,22 @@ namespace DTXMania base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; this.actFI.tフェードイン開始(); - if ( CDTXMania.DTXVmode.Enabled ) // DTXVモードなら + if (CDTXMania.app.DTXVmode.Enabled) // DTXVモードなら { #region [ DTXV用の再生設定にする(全AUTOなど) ] tDTXV用の設定(); #endregion - t演奏位置の変更( CDTXMania.DTXVmode.nStartBar ); + t演奏位置の変更(CDTXMania.app.DTXVmode.nStartBar); } - CDTXMania.Sound管理.tDisableUpdateBufferAutomatically(); + CDTXMania.app.Sound管理.tDisableUpdateBufferAutomatically(); base.b初めての進行描画 = false; } #endregion - if ( ( CDTXMania.ConfigIni.bSTAGEFAILED有効 && this.actGauge.IsFailed( E楽器パート.DRUMS ) ) && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if ((CDTXMania.app.ConfigIni.bSTAGEFAILED有効 && this.actGauge.IsFailed(E楽器パート.DRUMS)) && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)) { this.actStageFailed.Start(); - CDTXMania.DTX.t全チップの再生停止(); + CDTXMania.app.DTX.t全チップの再生停止(); base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_FAILED; } this.t進行描画_AVI(); @@ -197,11 +194,11 @@ namespace DTXMania this.t進行描画_ステータスパネル(); this.t進行描画_ギターベースフレーム(); this.t進行描画_レーンフラッシュGB(); - this.t進行描画_ゲージ(); - this.t進行描画_グラフ(); // #24074 2011.01.23 add ikanick + this.t進行描画_ゲージ(); + this.t進行描画_グラフ(); // #24074 2011.01.23 add ikanick this.t進行描画_レーンフラッシュD(); this.t進行描画_DANGER(); - if ( this.e判定表示優先度 == E判定表示優先度.Chipより下 ) + if (this.e判定表示優先度 == E判定表示優先度.Chipより下) { this.t進行描画_RGBボタン(); this.t進行描画_判定文字列1_通常位置指定の場合(); @@ -215,7 +212,7 @@ namespace DTXMania this.t進行描画_チップアニメ(); bIsFinishedPlaying = this.t進行描画_チップ(E楽器パート.DRUMS); this.t進行描画_演奏情報(); - if ( this.e判定表示優先度 == E判定表示優先度.Chipより上 ) + if (this.e判定表示優先度 == E判定表示優先度.Chipより上) { this.t進行描画_RGBボタン(); this.t進行描画_判定文字列1_通常位置指定の場合(); @@ -227,16 +224,16 @@ namespace DTXMania this.t進行描画_チップファイアGB(); this.t進行描画_STAGEFAILED(); bIsFinishedFadeout = this.t進行描画_フェードイン_アウト(); - if( bIsFinishedPlaying && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) ) + if (bIsFinishedPlaying && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)) { - if ( CDTXMania.DTXVmode.Enabled ) + if (CDTXMania.app.DTXVmode.Enabled) { - if ( CDTXMania.Timer.b停止していない ) + if (CDTXMania.app.Timer.b停止していない) { this.actPanel.Stop(); // PANEL表示停止 - CDTXMania.Timer.t一時停止(); // 再生時刻カウンタ停止 + CDTXMania.app.Timer.t一時停止(); // 再生時刻カウンタ停止 } - Thread.Sleep( 5 ); + Thread.Sleep(5); // DTXCからの次のメッセージを待ち続ける } else @@ -246,21 +243,21 @@ namespace DTXMania this.actFOClear.tフェードアウト開始(); } } - if ( this.eフェードアウト完了時の戻り値 == E演奏画面の戻り値.再読込_再演奏) + if (this.eフェードアウト完了時の戻り値 == E演奏画面の戻り値.再読込_再演奏) { bIsFinishedFadeout = true; } - if( bIsFinishedFadeout ) + if (bIsFinishedFadeout) { - Debug.WriteLine( "Total On進行描画=" + sw.ElapsedMilliseconds + "ms" ); - return (int) this.eフェードアウト完了時の戻り値; + Debug.WriteLine("Total On進行描画=" + sw.ElapsedMilliseconds + "ms"); + return (int)this.eフェードアウト完了時の戻り値; } ManageMixerQueue(); // キー入力 - if( CDTXMania.act現在入力を占有中のプラグイン == null ) + if (CDTXMania.app.act現在入力を占有中のプラグイン == null) this.tキー入力(); } base.sw.Stop(); @@ -302,21 +299,21 @@ namespace DTXMania private CTexture txレーンフレームGB; //----------------- - private bool bフィルイン区間の最後のChipである( CChip pChip ) + private bool bフィルイン区間の最後のChipである(CChip pChip) { - if( pChip == null ) + if (pChip == null) { return false; } int num = pChip.n発声位置; - for( int i = listChip.IndexOf( pChip ) + 1; i < listChip.Count; i++ ) + for (int i = listChip.IndexOf(pChip) + 1; i < listChip.Count; i++) { - pChip = listChip[ i ]; - if( ( pChip.eチャンネル番号 == Ech定義.FillIn ) && ( pChip.n整数値 == 2 ) ) + pChip = listChip[i]; + if ((pChip.eチャンネル番号 == Ech定義.FillIn) && (pChip.n整数値 == 2)) { return true; } - if( ( ( pChip.eチャンネル番号 >= Ech定義.HiHatClose ) && ( pChip.eチャンネル番号 <= Ech定義.LeftCymbal ) ) && ( ( pChip.n発声位置 - num ) > 0x18 ) ) + if (((pChip.eチャンネル番号 >= Ech定義.HiHatClose) && (pChip.eチャンネル番号 <= Ech定義.LeftCymbal)) && ((pChip.n発声位置 - num) > 0x18)) { return false; } @@ -324,217 +321,217 @@ namespace DTXMania return true; } - protected override E判定 tチップのヒット処理( long nHitTime, CChip pChip, bool bCorrectLane ) + protected override E判定 tチップのヒット処理(long nHitTime, CChip pChip, bool bCorrectLane) { - E判定 eJudgeResult = tチップのヒット処理( nHitTime, pChip, E楽器パート.DRUMS, bCorrectLane ); + E判定 eJudgeResult = tチップのヒット処理(nHitTime, pChip, E楽器パート.DRUMS, bCorrectLane); // #24074 2011.01.23 add ikanick - this.actGraph.dbグラフ値現在_渡 = CScoreIni.t演奏型スキルを計算して返す( CDTXMania.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.nヒット数_Auto含まない.Drums.Great, this.nヒット数_Auto含まない.Drums.Good, this.nヒット数_Auto含まない.Drums.Poor, this.nヒット数_Auto含まない.Drums.Miss, E楽器パート.DRUMS, bIsAutoPlay ); + this.actGraph.dbグラフ値現在_渡 = CScoreIni.t演奏型スキルを計算して返す(CDTXMania.app.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.nヒット数_Auto含まない.Drums.Great, this.nヒット数_Auto含まない.Drums.Good, this.nヒット数_Auto含まない.Drums.Poor, this.nヒット数_Auto含まない.Drums.Miss, E楽器パート.DRUMS, bIsAutoPlay); // #35411 2015.09.07 add chnmr0 - if( CDTXMania.listTargetGhsotLag.Drums != null && - CDTXMania.ConfigIni.eTargetGhost.Drums == ETargetGhostData.ONLINE && - CDTXMania.DTX.n可視チップ数.Drums > 0 ) + if (CDTXMania.app.DTX.listTargetGhsotLag.Drums != null && + CDTXMania.app.ConfigIni.eTargetGhost.Drums == ETargetGhostData.ONLINE && + CDTXMania.app.DTX.n可視チップ数.Drums > 0) { // Online Stats の計算式 this.actGraph.dbグラフ値現在_渡 = 100 * (this.nヒット数_Auto含まない.Drums.Perfect * 17 + this.nヒット数_Auto含まない.Drums.Great * 7 + - this.actCombo.n現在のコンボ数.Drums最高値 * 3) / (20.0 * CDTXMania.DTX.n可視チップ数.Drums); + this.actCombo.n現在のコンボ数.Drums最高値 * 3) / (20.0 * CDTXMania.app.DTX.n可視チップ数.Drums); } return eJudgeResult; } - protected override void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part ) + protected override void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part) { - this.tチップのヒット処理_BadならびにTight時のMiss( part, 0, E楽器パート.DRUMS ); + this.tチップのヒット処理_BadならびにTight時のMiss(part, 0, E楽器パート.DRUMS); } - protected override void tチップのヒット処理_BadならびにTight時のMiss( E楽器パート part, int nLane ) + protected override void tチップのヒット処理_BadならびにTight時のMiss(E楽器パート part, int nLane) { - this.tチップのヒット処理_BadならびにTight時のMiss( part, nLane, E楽器パート.DRUMS ); + this.tチップのヒット処理_BadならびにTight時のMiss(part, nLane, E楽器パート.DRUMS); } - private bool tドラムヒット処理( long nHitTime, Eパッド type, CChip pChip, int n強弱度合い0to127 ) + private bool tドラムヒット処理(long nHitTime, Eパッド type, CChip pChip, int n強弱度合い0to127) { - if( pChip == null ) + if (pChip == null) { return false; } Ech定義 channel = pChip.eチャンネル番号; int index = -1; - if ( ( channel >= Ech定義.HiHatClose ) && ( channel <= Ech定義.LeftCymbal ) ) + if ((channel >= Ech定義.HiHatClose) && (channel <= Ech定義.LeftCymbal)) { index = (int)(channel) - 0x11; } - else if ( ( channel >= Ech定義.HiHatClose_Hidden ) && ( channel <= Ech定義.LeftCymbal_Hidden ) ) + else if ((channel >= Ech定義.HiHatClose_Hidden) && (channel <= Ech定義.LeftCymbal_Hidden)) { index = (int)(channel) - 0x31; } - int nLane = this.nチャンネル0Atoレーン07[ index ]; - int nPad = this.nチャンネル0Atoパッド08[ index ]; - bool bPChipIsAutoPlay = bIsAutoPlay[ nLane ]; + int nLane = CStage演奏画面共通.nチャンネル0Atoレーン07[index]; + int nPad = this.nチャンネル0Atoパッド08[index]; + bool bPChipIsAutoPlay = bIsAutoPlay[nLane]; int nInputAdjustTime = bPChipIsAutoPlay ? 0 : this.nInputAdjustTimeMs.Drums; - E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip, nInputAdjustTime ); - if( e判定 == E判定.Miss ) + E判定 e判定 = this.e指定時刻からChipのJUDGEを返す(nHitTime, pChip, nInputAdjustTime); + if (e判定 == E判定.Miss) { return false; } - this.tチップのヒット処理( nHitTime, pChip ); - this.actLaneFlushD.Start( (Eレーン) nLane, ( (float) n強弱度合い0to127 ) / 127f ); - this.actPad.Hit( nPad ); - if( ( e判定 != E判定.Poor ) && ( e判定 != E判定.Miss ) ) + this.tチップのヒット処理(nHitTime, pChip); + this.actLaneFlushD.Start((Eレーン)nLane, ((float)n強弱度合い0to127) / 127f); + this.actPad.Hit(nPad); + if ((e判定 != E判定.Poor) && (e判定 != E判定.Miss)) { bool flag = this.bフィルイン中; - bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである( pChip ); + bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである(pChip); // bool flag3 = flag2; // #31602 2013.6.24 yyagi 判定ラインの表示位置をずらしたら、チップのヒットエフェクトの表示もずらすために、nJudgeLine..を追加 - this.actChipFireD.Start( (Eレーン)nLane, flag, flag2, flag2, 演奏判定ライン座標.nJudgeLinePosY_delta.Drums ); + this.actChipFireD.Start((Eレーン)nLane, flag, flag2, flag2, 演奏判定ライン座標.nJudgeLinePosY_delta.Drums); } - if( CDTXMania.ConfigIni.bドラム打音を発声する ) + if (CDTXMania.app.ConfigIni.bドラム打音を発声する) { CChip rChip = null; bool bIsChipsoundPriorToPad = true; - if( ( ( type == Eパッド.HH ) || ( type == Eパッド.HHO ) ) || ( type == Eパッド.LC ) ) + if (((type == Eパッド.HH) || (type == Eパッド.HHO)) || (type == Eパッド.LC)) { - bIsChipsoundPriorToPad = CDTXMania.ConfigIni.eHitSoundPriorityHH == E打ち分け時の再生の優先順位.ChipがPadより優先; + bIsChipsoundPriorToPad = CDTXMania.app.ConfigIni.eHitSoundPriorityHH == E打ち分け時の再生の優先順位.ChipがPadより優先; } - else if( ( type == Eパッド.LT ) || ( type == Eパッド.FT ) ) + else if ((type == Eパッド.LT) || (type == Eパッド.FT)) { - bIsChipsoundPriorToPad = CDTXMania.ConfigIni.eHitSoundPriorityFT == E打ち分け時の再生の優先順位.ChipがPadより優先; + bIsChipsoundPriorToPad = CDTXMania.app.ConfigIni.eHitSoundPriorityFT == E打ち分け時の再生の優先順位.ChipがPadより優先; } - else if( ( type == Eパッド.CY ) || ( type == Eパッド.RD ) ) + else if ((type == Eパッド.CY) || (type == Eパッド.RD)) { - bIsChipsoundPriorToPad = CDTXMania.ConfigIni.eHitSoundPriorityCY == E打ち分け時の再生の優先順位.ChipがPadより優先; + bIsChipsoundPriorToPad = CDTXMania.app.ConfigIni.eHitSoundPriorityCY == E打ち分け時の再生の優先順位.ChipがPadより優先; } - if( bIsChipsoundPriorToPad ) + if (bIsChipsoundPriorToPad) { rChip = pChip; } else { Eパッド hH = type; - if( !CDTXMania.DTX.bチップがある.HHOpen && ( type == Eパッド.HHO ) ) + if (!CDTXMania.app.DTX.bチップがある.HHOpen && (type == Eパッド.HHO)) { hH = Eパッド.HH; } - if( !CDTXMania.DTX.bチップがある.Ride && ( type == Eパッド.RD ) ) + if (!CDTXMania.app.DTX.bチップがある.Ride && (type == Eパッド.RD)) { hH = Eパッド.CY; } - if( !CDTXMania.DTX.bチップがある.LeftCymbal && ( type == Eパッド.LC ) ) + if (!CDTXMania.app.DTX.bチップがある.LeftCymbal && (type == Eパッド.LC)) { hH = Eパッド.HH; } - rChip = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nHitTime, this.nパッド0Atoチャンネル0A[ (int) hH ], nInputAdjustTime ); - if( rChip == null ) + rChip = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nHitTime, this.nパッド0Atoチャンネル0A[(int)hH], nInputAdjustTime); + if (rChip == null) { rChip = pChip; } } - this.tサウンド再生( rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Drums ); + this.tサウンド再生(rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する.Drums); } return true; } protected override void ドラムスクロール速度アップ() { - float f = (float) this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums / (CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1); -Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums + ", f1=" + f ); - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Min( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1, 1999 ); - f *= ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ); -Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums + ", f2=" + f ); - this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = (int) ( f + 0.5 ); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums = (int) ( f + 0.5 ); + float f = (float)this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums / (CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1); + Debug.WriteLine("scr=" + CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + ", f1=" + f); + CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums = Math.Min(CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1, 1999); + f *= (CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1); + Debug.WriteLine("scr=" + CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + ", f2=" + f); + this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = (int)(f + 0.5); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums = (int)(f + 0.5); } protected override void ドラムスクロール速度ダウン() { - float f = (float) this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums / (CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1); - CDTXMania.ConfigIni.n譜面スクロール速度.Drums = Math.Max( CDTXMania.ConfigIni.n譜面スクロール速度.Drums - 1, 0 ); - f *= ( CDTXMania.ConfigIni.n譜面スクロール速度.Drums + 1 ); - this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = (int) ( f + 0.5 ); - CDTXMania.ConfigIni.nJudgeLinePosOffset.Drums = (int) ( f + 0.5 ); + float f = (float)this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums / (CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1); + CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums = Math.Max(CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums - 1, 0); + f *= (CDTXMania.app.ConfigIni.n譜面スクロール速度.Drums + 1); + this.演奏判定ライン座標.nJudgeLinePosY_delta.Drums = (int)(f + 0.5); + CDTXMania.app.ConfigIni.nJudgeLinePosOffset.Drums = (int)(f + 0.5); } - + protected override void t進行描画_AVI() { - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) { - base.t進行描画_AVI( 1153, 128 ); + base.t進行描画_AVI(1153, 128); } else { - base.t進行描画_AVI( 619 + 682, 128 ); + base.t進行描画_AVI(619 + 682, 128); } } protected override void t進行描画_BGA() { - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) { - base.t進行描画_BGA( 1153, 128 ); + base.t進行描画_BGA(1153, 128); } else { - base.t進行描画_BGA( 619 + 682, 128 ); + base.t進行描画_BGA(619 + 682, 128); } } protected override void t進行描画_DANGER() { -// this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3, false, false ); - this.actDANGER.t進行描画( this.actGauge.IsDanger(E楽器パート.DRUMS), false, false ); + // this.actDANGER.t進行描画( this.actGauge.db現在のゲージ値.Drums < 0.3, false, false ); + this.actDANGER.t進行描画(this.actGauge.IsDanger(E楽器パート.DRUMS), false, false); } protected override void t進行描画_Wailing枠() { - int yG = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, bReverse[ (int) E楽器パート.GUITAR ], true, true ); - int yB = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, bReverse[ (int) E楽器パート.BASS ], true, true ); + int yG = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, false, bReverse[(int)E楽器パート.GUITAR], true, true); + int yB = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, false, bReverse[(int)E楽器パート.BASS], true, true); base.t進行描画_Wailing枠( - ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1761 : 1690, - ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1434 : 440, + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1761 : 1690, + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1434 : 440, yG, yB - // CDTXMania.ConfigIni.bReverse.Guitar ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 69, // 350:69 - // CDTXMania.ConfigIni.bReverse.Bass ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 69 // 350:69 + // CDTXMania.app.ConfigIni.bReverse.Guitar ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 69, // 350:69 + // CDTXMania.app.ConfigIni.bReverse.Bass ? ( 400 - this.txWailing枠.sz画像サイズ.Height ) : 69 // 350:69 ); } private void t進行描画_ギターベースフレーム() { - if( ( ( CDTXMania.ConfigIni.eDark != Eダークモード.HALF ) && ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) ) && CDTXMania.ConfigIni.bGuitar有効 ) + if (((CDTXMania.app.ConfigIni.eDark != Eダークモード.HALF) && (CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL)) && CDTXMania.app.ConfigIni.bGuitar有効) { - if ( CDTXMania.DTX.bチップがある.Guitar ) + if (CDTXMania.app.DTX.bチップがある.Guitar) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1521 : 1450; - for ( int i = 0; i < 355; i += 0x80 ) + int x = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1521 : 1450; + for (int i = 0; i < 355; i += 0x80) { - Rectangle rc = new Rectangle( 0, 0, 327, 288 ); - if ( ( i + 0x80 ) > 355 ) + Rectangle rc = new Rectangle(0, 0, 327, 288); + if ((i + 0x80) > 355) { - rc.Height -= (int) ( ( i + 0x80 - 355 ) * Scale.Y ); + rc.Height -= (int)((i + 0x80 - 355) * Scale.Y); } - if ( this.txレーンフレームGB != null ) + if (this.txレーンフレームGB != null) { this.txレーンフレームGB.t2D描画( CDTXMania.app.Device, x, - ( 57 + i ) * Scale.Y, + (57 + i) * Scale.Y, rc ); } } } - if( CDTXMania.DTX.bチップがある.Bass ) + if (CDTXMania.app.DTX.bチップがある.Bass) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1194 : 200; - for ( int i = 0; i < 355; i += 0x80 ) + int x = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1194 : 200; + for (int i = 0; i < 355; i += 0x80) { - Rectangle rc = new Rectangle( 0, 0, 327, 288 ); - if ( ( i + 0x80 ) > 355 ) + Rectangle rc = new Rectangle(0, 0, 327, 288); + if ((i + 0x80) > 355) { - rc.Height -= (int) ( ( i + 0x80 - 355 ) * Scale.Y ); + rc.Height -= (int)((i + 0x80 - 355) * Scale.Y); } - if ( this.txレーンフレームGB != null ) + if (this.txレーンフレームGB != null) { - this.txレーンフレームGB.t2D描画( CDTXMania.app.Device, + this.txレーンフレームGB.t2D描画(CDTXMania.app.Device, x, - ( 57 + i ) * Scale.Y, + (57 + i) * Scale.Y, rc ); } @@ -544,46 +541,46 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } private void t進行描画_ギターベース判定ライン() // yyagi: ギタレボモードとは座標が違うだけですが、まとめづらかったのでそのまま放置してます。 { - if ( ( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) && CDTXMania.ConfigIni.bGuitar有効 ) + if ((CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) && CDTXMania.app.ConfigIni.bGuitar有効) { - if ( CDTXMania.DTX.bチップがある.Guitar ) + if (CDTXMania.app.DTX.bチップがある.Guitar) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1527 : 1456; - int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, bReverse[ (int) E楽器パート.GUITAR ], false, true ) - (int) ( 3 * Scale.Y ); - // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - Rectangle rc = new Rectangle( 0, 0, 30, 36 ); - if ( this.txヒットバーGB != null ) + int x = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1527 : 1456; + int y = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, false, bReverse[(int)E楽器パート.GUITAR], false, true) - (int)(3 * Scale.Y); + // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする + Rectangle rc = new Rectangle(0, 0, 30, 36); + if (this.txヒットバーGB != null) { - for ( int i = 0; i < 3; i++ ) + for (int i = 0; i < 3; i++) { - this.txヒットバーGB.t2D描画( CDTXMania.app.Device, - x + ( 3 * 26 * i ), + this.txヒットバーGB.t2D描画(CDTXMania.app.Device, + x + (3 * 26 * i), y ); - this.txヒットバーGB.t2D描画( CDTXMania.app.Device, - x + ( 3 * 26 * i ) + 48, + this.txヒットバーGB.t2D描画(CDTXMania.app.Device, + x + (3 * 26 * i) + 48, y, rc ); } } } - if ( CDTXMania.DTX.bチップがある.Bass ) + if (CDTXMania.app.DTX.bチップがある.Bass) { - int x = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1200 : 206; - int y = this.演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, bReverse[ (int) E楽器パート.BASS ], false, true ) - (int) ( 3 * Scale.Y ); - // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする - Rectangle rc = new Rectangle( 0, 0, 30, 36 ); - if ( this.txヒットバーGB != null ) + int x = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1200 : 206; + int y = this.演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, false, bReverse[(int)E楽器パート.BASS], false, true) - (int)(3 * Scale.Y); + // #31602 2013.6.23 yyagi 描画遅延対策として、判定ラインの表示位置をオフセット調整できるようにする + Rectangle rc = new Rectangle(0, 0, 30, 36); + if (this.txヒットバーGB != null) { - for ( int j = 0; j < 3; j++ ) + for (int j = 0; j < 3; j++) { - this.txヒットバーGB.t2D描画( CDTXMania.app.Device, - x + ( 3 * 26 * j ), + this.txヒットバーGB.t2D描画(CDTXMania.app.Device, + x + (3 * 26 * j), y ); - this.txヒットバーGB.t2D描画( CDTXMania.app.Device, - x + ( 3 * 26 * j ) + 48, + this.txヒットバーGB.t2D描画(CDTXMania.app.Device, + x + (3 * 26 * j) + 48, y, rc ); @@ -594,12 +591,12 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } private void t進行描画_グラフ() - { - if ( !CDTXMania.ConfigIni.bストイックモード && !CDTXMania.ConfigIni.bドラムが全部オートプレイである && CDTXMania.ConfigIni.bGraph.Drums ) + { + if (!CDTXMania.app.ConfigIni.bストイックモード && !CDTXMania.app.ConfigIni.bドラムが全部オートプレイである && CDTXMania.app.ConfigIni.bGraph.Drums) { - this.actGraph.On進行描画(); - } - } + this.actGraph.On進行描画(); + } + } private void t進行描画_チップファイアD() { @@ -608,7 +605,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums private void t進行描画_ドラムパッド() { - if( CDTXMania.ConfigIni.eDark != Eダークモード.FULL ) + if (CDTXMania.app.ConfigIni.eDark != Eダークモード.FULL) { this.actPad.On進行描画(); } @@ -616,119 +613,119 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums protected override void t進行描画_パネル文字列() { Point[] pd = new Point[] { new Point(336, 427 + 1), new Point(434, 427 + 1) }; - Point p = pd[ (int) CDTXMania.ConfigIni.eドラムレーン表示位置 ]; - base.t進行描画_パネル文字列( p.X, p.Y ); + Point p = pd[(int)CDTXMania.app.ConfigIni.eドラムレーン表示位置]; + base.t進行描画_パネル文字列(p.X, p.Y); } protected override void t進行描画_演奏情報() { - Point[] pd = new Point[] { new Point( 338, 57 ), new Point( 450, 57 ) }; - Point p = pd[ (int) CDTXMania.ConfigIni.eドラムレーン表示位置 ]; - base.t進行描画_演奏情報( p.X, p.Y ); + Point[] pd = new Point[] { new Point(338, 57), new Point(450, 57) }; + Point p = pd[(int)CDTXMania.app.ConfigIni.eドラムレーン表示位置]; + base.t進行描画_演奏情報(p.X, p.Y); } protected override void t入力処理_ドラム() { - for( int nPad = 0; nPad < (int) Eパッド.MAX; nPad++ ) // #27029 2012.1.4 from: <10 to <=10; Eパッドの要素が1つ(HP)増えたため。 - // 2012.1.5 yyagi: (int)Eパッド.MAX に変更。Eパッドの要素数への依存を無くすため。 + for (int nPad = 0; nPad < (int)Eパッド.MAX; nPad++) // #27029 2012.1.4 from: <10 to <=10; Eパッドの要素が1つ(HP)増えたため。 + // 2012.1.5 yyagi: (int)Eパッド.MAX に変更。Eパッドの要素数への依存を無くすため。 { - List listInputEvent = CDTXMania.Pad.GetEvents( E楽器パート.DRUMS, (Eパッド) nPad ); + List listInputEvent = CDTXMania.app.Pad.GetEvents(E楽器パート.DRUMS, (Eパッド)nPad); - if( ( listInputEvent == null ) || ( listInputEvent.Count == 0 ) ) + if ((listInputEvent == null) || (listInputEvent.Count == 0)) continue; - this.t入力メソッド記憶( E楽器パート.DRUMS ); + this.t入力メソッド記憶(E楽器パート.DRUMS); #region [ 打ち分けグループ調整 ] //----------------------------- - EHHGroup eHHGroup = CDTXMania.ConfigIni.eHHGroup; - EFTGroup eFTGroup = CDTXMania.ConfigIni.eFTGroup; - ECYGroup eCYGroup = CDTXMania.ConfigIni.eCYGroup; + EHHGroup eHHGroup = CDTXMania.app.ConfigIni.eHHGroup; + EFTGroup eFTGroup = CDTXMania.app.ConfigIni.eFTGroup; + ECYGroup eCYGroup = CDTXMania.app.ConfigIni.eCYGroup; - if( !CDTXMania.DTX.bチップがある.Ride && ( eCYGroup == ECYGroup.打ち分ける ) ) + if (!CDTXMania.app.DTX.bチップがある.Ride && (eCYGroup == ECYGroup.打ち分ける)) { eCYGroup = ECYGroup.共通; } - if( !CDTXMania.DTX.bチップがある.HHOpen && ( eHHGroup == EHHGroup.全部打ち分ける ) ) + if (!CDTXMania.app.DTX.bチップがある.HHOpen && (eHHGroup == EHHGroup.全部打ち分ける)) { eHHGroup = EHHGroup.左シンバルのみ打ち分ける; } - if( !CDTXMania.DTX.bチップがある.HHOpen && ( eHHGroup == EHHGroup.ハイハットのみ打ち分ける ) ) + if (!CDTXMania.app.DTX.bチップがある.HHOpen && (eHHGroup == EHHGroup.ハイハットのみ打ち分ける)) { eHHGroup = EHHGroup.全部共通; } - if( !CDTXMania.DTX.bチップがある.LeftCymbal && ( eHHGroup == EHHGroup.全部打ち分ける ) ) + if (!CDTXMania.app.DTX.bチップがある.LeftCymbal && (eHHGroup == EHHGroup.全部打ち分ける)) { eHHGroup = EHHGroup.ハイハットのみ打ち分ける; } - if( !CDTXMania.DTX.bチップがある.LeftCymbal && ( eHHGroup == EHHGroup.左シンバルのみ打ち分ける ) ) + if (!CDTXMania.app.DTX.bチップがある.LeftCymbal && (eHHGroup == EHHGroup.左シンバルのみ打ち分ける)) { eHHGroup = EHHGroup.全部共通; } //----------------------------- #endregion - foreach( STInputEvent inputEvent in listInputEvent ) + foreach (STInputEvent inputEvent in listInputEvent) { - if( !inputEvent.b押された ) + if (!inputEvent.b押された) continue; long nTime = inputEvent.nTimeStamp - CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻; - int nPad09 = ( nPad == (int) Eパッド.HP ) ? (int) Eパッド.BD : nPad; // #27029 2012.1.5 yyagi - int nInputAdjustTime = bIsAutoPlay[ this.nチャンネル0Atoレーン07[ (int) nPad09 ] ] ? 0 : nInputAdjustTimeMs.Drums; + int nPad09 = (nPad == (int)Eパッド.HP) ? (int)Eパッド.BD : nPad; // #27029 2012.1.5 yyagi + int nInputAdjustTime = bIsAutoPlay[CStage演奏画面共通.nチャンネル0Atoレーン07[(int)nPad09]] ? 0 : nInputAdjustTimeMs.Drums; bool bHitted = false; #region [ (A) ヒットしていればヒット処理して次の inputEvent へ ] //----------------------------- - switch( ( (Eパッド) nPad ) ) + switch (((Eパッド)nPad)) { case Eパッド.HH: #region [ HHとLC(groupingしている場合) のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HH ) + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.HH) continue; // 電子ドラムによる意図的なクロストークを無効にする - CChip chipHC = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.HiHatClose, nInputAdjustTime ); // HiHat Close - CChip chipHO = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.HiHatOpen, nInputAdjustTime ); // HiHat Open - CChip chipLC = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.LeftCymbal, nInputAdjustTime ); // LC - E判定 e判定HC = ( chipHC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHC, nInputAdjustTime ) : E判定.Miss; - E判定 e判定HO = ( chipHO != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHO, nInputAdjustTime ) : E判定.Miss; - E判定 e判定LC = ( chipLC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLC, nInputAdjustTime ) : E判定.Miss; - switch( eHHGroup ) + CChip chipHC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatClose, nInputAdjustTime); // HiHat Close + CChip chipHO = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatOpen, nInputAdjustTime); // HiHat Open + CChip chipLC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LeftCymbal, nInputAdjustTime); // LC + E判定 e判定HC = (chipHC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHC, nInputAdjustTime) : E判定.Miss; + E判定 e判定HO = (chipHO != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHO, nInputAdjustTime) : E判定.Miss; + E判定 e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : E判定.Miss; + switch (eHHGroup) { case EHHGroup.ハイハットのみ打ち分ける: #region [ HCとLCのヒット処理 ] //----------------------------- - if( ( e判定HC != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + if ((e判定HC != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHC.n発声位置 < chipLC.n発声位置 ) + if (chipHC.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipLC.n発声位置 ) + else if (chipHC.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HC != E判定.Miss ) + else if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); bHitted = true; } - else if( e判定LC != E判定.Miss ) + else if (e判定LC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; //----------------------------- @@ -737,34 +734,34 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case EHHGroup.左シンバルのみ打ち分ける: #region [ HCとHOのヒット処理 ] //----------------------------- - if( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) + if ((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) { - if( chipHC.n発声位置 < chipHO.n発声位置 ) + if (chipHC.n発声位置 < chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipHO.n発声位置 ) + else if (chipHC.n発声位置 > chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HC != E判定.Miss ) + else if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); bHitted = true; } - else if( e判定HO != E判定.Miss ) + else if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; //----------------------------- @@ -773,107 +770,107 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case EHHGroup.全部共通: #region [ HC,HO,LCのヒット処理 ] //----------------------------- - if( ( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) && ( e判定LC != E判定.Miss ) ) + if (((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) && (e判定LC != E判定.Miss)) { CChip chip; CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC }; // ここから、chipArrayをn発生位置の小さい順に並び替える - if( chipArray[ 1 ].n発声位置 > chipArray[ 2 ].n発声位置 ) + if (chipArray[1].n発声位置 > chipArray[2].n発声位置) { - chip = chipArray[ 1 ]; - chipArray[ 1 ] = chipArray[ 2 ]; - chipArray[ 2 ] = chip; + chip = chipArray[1]; + chipArray[1] = chipArray[2]; + chipArray[2] = chip; } - if( chipArray[ 0 ].n発声位置 > chipArray[ 1 ].n発声位置 ) + if (chipArray[0].n発声位置 > chipArray[1].n発声位置) { - chip = chipArray[ 0 ]; - chipArray[ 0 ] = chipArray[ 1 ]; - chipArray[ 1 ] = chip; + chip = chipArray[0]; + chipArray[0] = chipArray[1]; + chipArray[1] = chip; } - if( chipArray[ 1 ].n発声位置 > chipArray[ 2 ].n発声位置 ) + if (chipArray[1].n発声位置 > chipArray[2].n発声位置) { - chip = chipArray[ 1 ]; - chipArray[ 1 ] = chipArray[ 2 ]; - chipArray[ 2 ] = chip; + chip = chipArray[1]; + chipArray[1] = chipArray[2]; + chipArray[2] = chip; } - this.tドラムヒット処理( nTime, Eパッド.HH, chipArray[ 0 ], inputEvent.nVelocity ); - if( chipArray[ 0 ].n発声位置 == chipArray[ 1 ].n発声位置 ) + this.tドラムヒット処理(nTime, Eパッド.HH, chipArray[0], inputEvent.nVelocity); + if (chipArray[0].n発声位置 == chipArray[1].n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipArray[ 1 ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipArray[1], inputEvent.nVelocity); } - if( chipArray[ 0 ].n発声位置 == chipArray[ 2 ].n発声位置 ) + if (chipArray[0].n発声位置 == chipArray[2].n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipArray[ 2 ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipArray[2], inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) + else if ((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) { - if( chipHC.n発声位置 < chipHO.n発声位置 ) + if (chipHC.n発声位置 < chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipHO.n発声位置 ) + else if (chipHC.n発声位置 > chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HC != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + else if ((e判定HC != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHC.n発声位置 < chipLC.n発声位置 ) + if (chipHC.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipLC.n発声位置 ) + else if (chipHC.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HO != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + else if ((e判定HO != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHO.n発声位置 < chipLC.n発声位置 ) + if (chipHO.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); } - else if( chipHO.n発声位置 > chipLC.n発声位置 ) + else if (chipHO.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HC != E判定.Miss ) + else if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); bHitted = true; } - else if( e判定HO != E判定.Miss ) + else if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHO, inputEvent.nVelocity); bHitted = true; } - else if( e判定LC != E判定.Miss ) + else if (e判定LC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipLC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; //----------------------------- @@ -882,18 +879,18 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums default: #region [ 全部打ち分け時のヒット処理 ] //----------------------------- - if( e判定HC != E判定.Miss ) + if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HH, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HH, chipHC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; //----------------------------- #endregion } - if( !bHitted ) + if (!bHitted) break; continue; } @@ -903,9 +900,9 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case Eパッド.SD: #region [ SDのヒット処理 ] //----------------------------- - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.SD ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.SD) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする - if( !this.tドラムヒット処理( nTime, Eパッド.SD, this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.Snare, nInputAdjustTime ), inputEvent.nVelocity ) ) + if (!this.tドラムヒット処理(nTime, Eパッド.SD, this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.Snare, nInputAdjustTime), inputEvent.nVelocity)) break; continue; //----------------------------- @@ -914,20 +911,20 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case Eパッド.BD: #region [ BDのヒット処理 ] //----------------------------- - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.BD ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.BD) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする - if( !this.tドラムヒット処理( nTime, Eパッド.BD, this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.BassDrum, nInputAdjustTime ), inputEvent.nVelocity ) ) + if (!this.tドラムヒット処理(nTime, Eパッド.BD, this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.BassDrum, nInputAdjustTime), inputEvent.nVelocity)) break; continue; - //----------------------------- + //----------------------------- #endregion case Eパッド.HT: #region [ HTのヒット処理 ] //----------------------------- - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HT ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.HT) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする - if( this.tドラムヒット処理( nTime, Eパッド.HT, this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.HighTom, nInputAdjustTime ), inputEvent.nVelocity ) ) + if (this.tドラムヒット処理(nTime, Eパッド.HT, this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HighTom, nInputAdjustTime), inputEvent.nVelocity)) continue; break; //----------------------------- @@ -937,20 +934,20 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ LTとFT(groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.LT ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.LT) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする CChip chipLT = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LowTom, nInputAdjustTime); CChip chipFT = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.FloorTom, nInputAdjustTime); - E判定 e判定LT = ( chipLT != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLT, nInputAdjustTime ) : E判定.Miss; - E判定 e判定FT = ( chipFT != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipFT, nInputAdjustTime ) : E判定.Miss; - switch( eFTGroup ) + E判定 e判定LT = (chipLT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLT, nInputAdjustTime) : E判定.Miss; + E判定 e判定FT = (chipFT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipFT, nInputAdjustTime) : E判定.Miss; + switch (eFTGroup) { case EFTGroup.打ち分ける: #region [ LTのヒット処理 ] //----------------------------- - if( e判定LT != E判定.Miss ) + if (e判定LT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.LT, chipLT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipLT, inputEvent.nVelocity); bHitted = true; } break; @@ -960,62 +957,62 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case EFTGroup.共通: #region [ LTとFTのヒット処理 ] //----------------------------- - if( ( e判定LT != E判定.Miss ) && ( e判定FT != E判定.Miss ) ) + if ((e判定LT != E判定.Miss) && (e判定FT != E判定.Miss)) { - if( chipLT.n発声位置 < chipFT.n発声位置 ) + if (chipLT.n発声位置 < chipFT.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.LT, chipLT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipLT, inputEvent.nVelocity); } - else if( chipLT.n発声位置 > chipFT.n発声位置 ) + else if (chipLT.n発声位置 > chipFT.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.LT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipFT, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.LT, chipLT, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.LT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipLT, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.LT, chipFT, inputEvent.nVelocity); } bHitted = true; } - else if( e判定LT != E判定.Miss ) + else if (e判定LT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.LT, chipLT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipLT, inputEvent.nVelocity); bHitted = true; } - else if( e判定FT != E判定.Miss ) + else if (e判定FT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.LT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LT, chipFT, inputEvent.nVelocity); bHitted = true; } break; //----------------------------- #endregion } - if( !bHitted ) + if (!bHitted) break; continue; } - //----------------------------- + //----------------------------- #endregion case Eパッド.FT: #region [ FTとLT(groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.FT ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.FT) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする CChip chipLT = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LowTom, nInputAdjustTime); CChip chipFT = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.FloorTom, nInputAdjustTime); - E判定 e判定LT = ( chipLT != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLT, nInputAdjustTime ) : E判定.Miss; - E判定 e判定FT = ( chipFT != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipFT, nInputAdjustTime ) : E判定.Miss; - switch( eFTGroup ) + E判定 e判定LT = (chipLT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLT, nInputAdjustTime) : E判定.Miss; + E判定 e判定FT = (chipFT != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipFT, nInputAdjustTime) : E判定.Miss; + switch (eFTGroup) { case EFTGroup.打ち分ける: #region [ FTのヒット処理 ] //----------------------------- - if( e判定FT != E判定.Miss ) + if (e判定FT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.FT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipFT, inputEvent.nVelocity); bHitted = true; } //----------------------------- @@ -1025,56 +1022,56 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case EFTGroup.共通: #region [ FTとLTのヒット処理 ] //----------------------------- - if( ( e判定LT != E判定.Miss ) && ( e判定FT != E判定.Miss ) ) + if ((e判定LT != E判定.Miss) && (e判定FT != E判定.Miss)) { - if( chipLT.n発声位置 < chipFT.n発声位置 ) + if (chipLT.n発声位置 < chipFT.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.FT, chipLT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipLT, inputEvent.nVelocity); } - else if( chipLT.n発声位置 > chipFT.n発声位置 ) + else if (chipLT.n発声位置 > chipFT.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.FT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipFT, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.FT, chipLT, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.FT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipLT, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.FT, chipFT, inputEvent.nVelocity); } bHitted = true; } - else if( e判定LT != E判定.Miss ) + else if (e判定LT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.FT, chipLT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipLT, inputEvent.nVelocity); bHitted = true; } - else if( e判定FT != E判定.Miss ) + else if (e判定FT != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.FT, chipFT, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.FT, chipFT, inputEvent.nVelocity); bHitted = true; } //----------------------------- #endregion break; } - if( !bHitted ) + if (!bHitted) break; continue; } - //----------------------------- + //----------------------------- #endregion case Eパッド.CY: #region [ CY(とLCとRD:groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.CY ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.CY) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする CChip chipCY = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.Cymbal, nInputAdjustTime); CChip chipRD = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.RideCymbal, nInputAdjustTime); - CChip chipLC = CDTXMania.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.LeftCymbal, nInputAdjustTime ) : null; - E判定 e判定CY = ( chipCY != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipCY, nInputAdjustTime ) : E判定.Miss; - E判定 e判定RD = ( chipRD != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipRD, nInputAdjustTime ) : E判定.Miss; - E判定 e判定LC = ( chipLC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLC, nInputAdjustTime ) : E判定.Miss; + CChip chipLC = CDTXMania.app.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LeftCymbal, nInputAdjustTime) : null; + E判定 e判定CY = (chipCY != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipCY, nInputAdjustTime) : E判定.Miss; + E判定 e判定RD = (chipRD != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipRD, nInputAdjustTime) : E判定.Miss; + E判定 e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : E判定.Miss; CChip[] chipArray = new CChip[] { chipCY, chipRD, chipLC }; E判定[] e判定Array = new E判定[] { e判定CY, e判定RD, e判定LC }; const int NumOfChips = 3; // chipArray.GetLength(0) @@ -1083,7 +1080,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums //while( num8 < 2 ) // CY/RD/LC群を, n発生位置の小さい順に並べる + nullを大きい方に退かす - SortChipsByNTime( chipArray, e判定Array, NumOfChips ); + SortChipsByNTime(chipArray, e判定Array, NumOfChips); //for ( int i = 0; i < NumOfChips - 1; i++ ) //{ // //num9 = 2; @@ -1104,296 +1101,296 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums // } // //num8++; //} - switch( eCYGroup ) + switch (eCYGroup) { case ECYGroup.打ち分ける: - if( !CDTXMania.ConfigIni.bシンバルフリー ) + if (!CDTXMania.app.ConfigIni.bシンバルフリー) { - if( e判定CY != E判定.Miss ) + if (e判定CY != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipCY, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipCY, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; } //num10 = 0; //while ( num10 < NumOfChips ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( chipArray[ i ] == chipCY ) || ( chipArray[ i ] == chipLC ) ) ) + if ((e判定Array[i] != E判定.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipLC))) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num10++; } - if( e判定CY != E判定.Miss ) + if (e判定CY != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipCY, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipCY, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; case ECYGroup.共通: - if( !CDTXMania.ConfigIni.bシンバルフリー ) + if (!CDTXMania.app.ConfigIni.bシンバルフリー) { //num12 = 0; //while ( num12 < NumOfChips ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( chipArray[ i ] == chipCY ) || ( chipArray[ i ] == chipRD ) ) ) + if ((e判定Array[i] != E判定.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipRD))) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num12++; } - if( !bHitted ) + if (!bHitted) break; continue; } //num11 = 0; //while ( num11 < NumOfChips ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( e判定Array[ i ] != E判定.Miss ) + if (e判定Array[i] != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num11++; } - if( !bHitted ) + if (!bHitted) break; continue; } - if( !bHitted ) + if (!bHitted) break; continue; } - //----------------------------- + //----------------------------- #endregion case Eパッド.HHO: #region [ HO(とHCとLC:groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.HH ) + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.HH) continue; // 電子ドラムによる意図的なクロストークを無効にする CChip chipHC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatClose, nInputAdjustTime); CChip chipHO = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatOpen, nInputAdjustTime); CChip chipLC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LeftCymbal, nInputAdjustTime); - E判定 e判定HC = ( chipHC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHC, nInputAdjustTime ) : E判定.Miss; - E判定 e判定HO = ( chipHO != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHO, nInputAdjustTime ) : E判定.Miss; - E判定 e判定LC = ( chipLC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLC, nInputAdjustTime ) : E判定.Miss; - switch( eHHGroup ) + E判定 e判定HC = (chipHC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHC, nInputAdjustTime) : E判定.Miss; + E判定 e判定HO = (chipHO != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHO, nInputAdjustTime) : E判定.Miss; + E判定 e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : E判定.Miss; + switch (eHHGroup) { case EHHGroup.全部打ち分ける: - if( e判定HO != E判定.Miss ) + if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; case EHHGroup.ハイハットのみ打ち分ける: - if( ( e判定HO != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + if ((e判定HO != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHO.n発声位置 < chipLC.n発声位置 ) + if (chipHO.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } - else if( chipHO.n発声位置 > chipLC.n発声位置 ) + else if (chipHO.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HO != E判定.Miss ) + else if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); bHitted = true; } - else if( e判定LC != E判定.Miss ) + else if (e判定LC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; case EHHGroup.左シンバルのみ打ち分ける: - if( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) + if ((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) { - if( chipHC.n発声位置 < chipHO.n発声位置 ) + if (chipHC.n発声位置 < chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipHO.n発声位置 ) + else if (chipHC.n発声位置 > chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HC != E判定.Miss ) + else if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); bHitted = true; } - else if( e判定HO != E判定.Miss ) + else if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; case EHHGroup.全部共通: - if( ( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) && ( e判定LC != E判定.Miss ) ) + if (((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) && (e判定LC != E判定.Miss)) { CChip chip; CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC }; // ここから、chipArrayをn発生位置の小さい順に並び替える - if( chipArray[ 1 ].n発声位置 > chipArray[ 2 ].n発声位置 ) + if (chipArray[1].n発声位置 > chipArray[2].n発声位置) { - chip = chipArray[ 1 ]; - chipArray[ 1 ] = chipArray[ 2 ]; - chipArray[ 2 ] = chip; + chip = chipArray[1]; + chipArray[1] = chipArray[2]; + chipArray[2] = chip; } - if( chipArray[ 0 ].n発声位置 > chipArray[ 1 ].n発声位置 ) + if (chipArray[0].n発声位置 > chipArray[1].n発声位置) { - chip = chipArray[ 0 ]; - chipArray[ 0 ] = chipArray[ 1 ]; - chipArray[ 1 ] = chip; + chip = chipArray[0]; + chipArray[0] = chipArray[1]; + chipArray[1] = chip; } - if( chipArray[ 1 ].n発声位置 > chipArray[ 2 ].n発声位置 ) + if (chipArray[1].n発声位置 > chipArray[2].n発声位置) { - chip = chipArray[ 1 ]; - chipArray[ 1 ] = chipArray[ 2 ]; - chipArray[ 2 ] = chip; + chip = chipArray[1]; + chipArray[1] = chipArray[2]; + chipArray[2] = chip; } - this.tドラムヒット処理( nTime, Eパッド.HHO, chipArray[ 0 ], inputEvent.nVelocity ); - if( chipArray[ 0 ].n発声位置 == chipArray[ 1 ].n発声位置 ) + this.tドラムヒット処理(nTime, Eパッド.HHO, chipArray[0], inputEvent.nVelocity); + if (chipArray[0].n発声位置 == chipArray[1].n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipArray[ 1 ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipArray[1], inputEvent.nVelocity); } - if( chipArray[ 0 ].n発声位置 == chipArray[ 2 ].n発声位置 ) + if (chipArray[0].n発声位置 == chipArray[2].n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipArray[ 2 ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipArray[2], inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HC != E判定.Miss ) && ( e判定HO != E判定.Miss ) ) + else if ((e判定HC != E判定.Miss) && (e判定HO != E判定.Miss)) { - if( chipHC.n発声位置 < chipHO.n発声位置 ) + if (chipHC.n発声位置 < chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipHO.n発声位置 ) + else if (chipHC.n発声位置 > chipHO.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HC != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + else if ((e判定HC != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHC.n発声位置 < chipLC.n発声位置 ) + if (chipHC.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); } - else if( chipHC.n発声位置 > chipLC.n発声位置 ) + else if (chipHC.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( ( e判定HO != E判定.Miss ) && ( e判定LC != E判定.Miss ) ) + else if ((e判定HO != E判定.Miss) && (e判定LC != E判定.Miss)) { - if( chipHO.n発声位置 < chipLC.n発声位置 ) + if (chipHO.n発声位置 < chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); } - else if( chipHO.n発声位置 > chipLC.n発声位置 ) + else if (chipHO.n発声位置 > chipLC.n発声位置) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } else { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); } bHitted = true; } - else if( e判定HC != E判定.Miss ) + else if (e判定HC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHC, inputEvent.nVelocity); bHitted = true; } - else if( e判定HO != E判定.Miss ) + else if (e判定HO != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipHO, inputEvent.nVelocity); bHitted = true; } - else if( e判定LC != E判定.Miss ) + else if (e判定LC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.HHO, chipLC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; } - if( !bHitted ) + if (!bHitted) break; continue; } - //----------------------------- + //----------------------------- #endregion case Eパッド.RD: #region [ RD(とCYとLC:groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.RD ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.RD) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする CChip chipCY = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.Cymbal, nInputAdjustTime); CChip chipRD = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.RideCymbal, nInputAdjustTime); - CChip chipLC = CDTXMania.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.LeftCymbal, nInputAdjustTime ) : null; - E判定 e判定CY = ( chipCY != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipCY, nInputAdjustTime ) : E判定.Miss; - E判定 e判定RD = ( chipRD != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipRD, nInputAdjustTime ) : E判定.Miss; - E判定 e判定LC = ( chipLC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLC, nInputAdjustTime ) : E判定.Miss; + CChip chipLC = CDTXMania.app.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LeftCymbal, nInputAdjustTime) : null; + E判定 e判定CY = (chipCY != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipCY, nInputAdjustTime) : E判定.Miss; + E判定 e判定RD = (chipRD != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipRD, nInputAdjustTime) : E判定.Miss; + E判定 e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : E判定.Miss; CChip[] chipArray = new CChip[] { chipCY, chipRD, chipLC }; E判定[] e判定Array = new E判定[] { e判定CY, e判定RD, e判定LC }; const int NumOfChips = 3; // chipArray.GetLength(0) @@ -1402,7 +1399,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums //while( num13 < 2 ) // HH/CY群を, n発生位置の小さい順に並べる + nullを大きい方に退かす - SortChipsByNTime( chipArray, e判定Array, NumOfChips ); + SortChipsByNTime(chipArray, e判定Array, NumOfChips); //for ( int i = 0; i < NumOfChips - 1; i++ ) //{ // // num14 = 2; @@ -1422,26 +1419,26 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums // } // // num13++; //} - switch( eCYGroup ) + switch (eCYGroup) { case ECYGroup.打ち分ける: - if( e判定RD != E判定.Miss ) + if (e判定RD != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.RD, chipRD, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.RD, chipRD, inputEvent.nVelocity); bHitted = true; } break; case ECYGroup.共通: - if( !CDTXMania.ConfigIni.bシンバルフリー ) + if (!CDTXMania.app.ConfigIni.bシンバルフリー) { //num16 = 0; //while( num16 < 3 ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( chipArray[ i ] == chipCY ) || ( chipArray[ i ] == chipRD ) ) ) + if ((e判定Array[i] != E判定.Miss) && ((chipArray[i] == chipCY) || (chipArray[i] == chipRD))) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } @@ -1451,11 +1448,11 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } //num15 = 0; //while( num15 < 3 ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( e判定Array[ i ] != E判定.Miss ) + if (e判定Array[i] != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.CY, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.CY, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } @@ -1463,40 +1460,40 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } break; } - if( bHitted ) + if (bHitted) { continue; } break; } - //----------------------------- + //----------------------------- #endregion case Eパッド.LC: #region [ LC(とHC/HOとCYと:groupingしている場合)のヒット処理 ] //----------------------------- { - if( inputEvent.nVelocity <= CDTXMania.ConfigIni.nVelocityMin.LC ) // #23857 2010.12.12 yyagi: to support VelocityMin + if (inputEvent.nVelocity <= CDTXMania.app.ConfigIni.nVelocityMin.LC) // #23857 2010.12.12 yyagi: to support VelocityMin continue; // 電子ドラムによる意図的なクロストークを無効にする - CChip chipHC = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.HiHatClose, nInputAdjustTime ); // HC - CChip chipHO = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.HiHatOpen, nInputAdjustTime ); // HO - CChip chipLC = this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.LeftCymbal, nInputAdjustTime ); // LC - CChip chipCY = CDTXMania.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.Cymbal, nInputAdjustTime ) : null; - CChip chipRD = CDTXMania.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.RideCymbal, nInputAdjustTime ) : null; - E判定 e判定HC = ( chipHC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHC, nInputAdjustTime ) : E判定.Miss; - E判定 e判定HO = ( chipHO != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipHO, nInputAdjustTime ) : E判定.Miss; - E判定 e判定LC = ( chipLC != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipLC, nInputAdjustTime ) : E判定.Miss; - E判定 e判定CY = ( chipCY != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipCY, nInputAdjustTime ) : E判定.Miss; - E判定 e判定RD = ( chipRD != null ) ? this.e指定時刻からChipのJUDGEを返す( nTime, chipRD, nInputAdjustTime ) : E判定.Miss; + CChip chipHC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatClose, nInputAdjustTime); // HC + CChip chipHO = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.HiHatOpen, nInputAdjustTime); // HO + CChip chipLC = this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.LeftCymbal, nInputAdjustTime); // LC + CChip chipCY = CDTXMania.app.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.Cymbal, nInputAdjustTime) : null; + CChip chipRD = CDTXMania.app.ConfigIni.bシンバルフリー ? this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.RideCymbal, nInputAdjustTime) : null; + E判定 e判定HC = (chipHC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHC, nInputAdjustTime) : E判定.Miss; + E判定 e判定HO = (chipHO != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipHO, nInputAdjustTime) : E判定.Miss; + E判定 e判定LC = (chipLC != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipLC, nInputAdjustTime) : E判定.Miss; + E判定 e判定CY = (chipCY != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipCY, nInputAdjustTime) : E判定.Miss; + E判定 e判定RD = (chipRD != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipRD, nInputAdjustTime) : E判定.Miss; CChip[] chipArray = new CChip[] { chipHC, chipHO, chipLC, chipCY, chipRD }; - E判定[] e判定Array = new E判定[] { e判定HC, e判定HO, e判定LC, e判定CY, e判定RD }; + E判定[] e判定Array = new E判定[] { e判定HC, e判定HO, e判定LC, e判定CY, e判定RD }; const int NumOfChips = 5; // chipArray.GetLength(0) //num3 = 0; //while( num3 < 4 ) // HH/CY群を, n発生位置の小さい順に並べる + nullを大きい方に退かす - SortChipsByNTime( chipArray, e判定Array, NumOfChips ); + SortChipsByNTime(chipArray, e判定Array, NumOfChips); //for ( int i = 0; i < NumOfChips - 1; i++ ) //{ // //num4 = 4; @@ -1517,89 +1514,89 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums // } // //num3++; //} - switch( eHHGroup ) + switch (eHHGroup) { case EHHGroup.全部打ち分ける: case EHHGroup.左シンバルのみ打ち分ける: - if( !CDTXMania.ConfigIni.bシンバルフリー ) + if (!CDTXMania.app.ConfigIni.bシンバルフリー) { - if( e判定LC != E判定.Miss ) + if (e判定LC != E判定.Miss) { - this.tドラムヒット処理( nTime, Eパッド.LC, chipLC, inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LC, chipLC, inputEvent.nVelocity); bHitted = true; } - if( !bHitted ) + if (!bHitted) break; continue; } //num5 = 0; //while( num5 < 5 ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( ( chipArray[ i ] == chipLC ) || ( chipArray[ i ] == chipCY ) ) || ( ( chipArray[ i ] == chipRD ) && ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 ) ) ) ) + if ((e判定Array[i] != E判定.Miss) && (((chipArray[i] == chipLC) || (chipArray[i] == chipCY)) || ((chipArray[i] == chipRD) && (CDTXMania.app.ConfigIni.eCYGroup == ECYGroup.共通)))) { - this.tドラムヒット処理( nTime, Eパッド.LC, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LC, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num5++; } - if( !bHitted ) + if (!bHitted) break; continue; case EHHGroup.ハイハットのみ打ち分ける: case EHHGroup.全部共通: - if( !CDTXMania.ConfigIni.bシンバルフリー ) + if (!CDTXMania.app.ConfigIni.bシンバルフリー) { //num7 = 0; //while( num7 < 5 ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( ( chipArray[ i ] == chipLC ) || ( chipArray[ i ] == chipHC ) ) || ( chipArray[ i ] == chipHO ) ) ) + if ((e判定Array[i] != E判定.Miss) && (((chipArray[i] == chipLC) || (chipArray[i] == chipHC)) || (chipArray[i] == chipHO))) { - this.tドラムヒット処理( nTime, Eパッド.LC, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LC, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num7++; } - if( !bHitted ) + if (!bHitted) break; continue; } //num6 = 0; //while( num6 < 5 ) - for( int i = 0; i < NumOfChips; i++ ) + for (int i = 0; i < NumOfChips; i++) { - if( ( e判定Array[ i ] != E判定.Miss ) && ( ( chipArray[ i ] != chipRD ) || ( CDTXMania.ConfigIni.eCYGroup == ECYGroup.共通 ) ) ) + if ((e判定Array[i] != E判定.Miss) && ((chipArray[i] != chipRD) || (CDTXMania.app.ConfigIni.eCYGroup == ECYGroup.共通))) { - this.tドラムヒット処理( nTime, Eパッド.LC, chipArray[ i ], inputEvent.nVelocity ); + this.tドラムヒット処理(nTime, Eパッド.LC, chipArray[i], inputEvent.nVelocity); bHitted = true; break; } //num6++; } - if( !bHitted ) + if (!bHitted) break; continue; } - if( !bHitted ) + if (!bHitted) break; break; } - //----------------------------- + //----------------------------- #endregion case Eパッド.HP: // #27029 2012.1.4 from #region [ HPのヒット処理 ] //----------------- - if( CDTXMania.ConfigIni.eBDGroup == EBDGroup.どっちもBD ) + if (CDTXMania.app.ConfigIni.eBDGroup == EBDGroup.どっちもBD) { #region [ BDとみなしてヒット処理 ] //----------------- - if( !this.tドラムヒット処理( nTime, Eパッド.BD, this.r指定時刻に一番近い未ヒットChip( nTime, Ech定義.BassDrum, nInputAdjustTime ), inputEvent.nVelocity ) ) + if (!this.tドラムヒット処理(nTime, Eパッド.BD, this.r指定時刻に一番近い未ヒットChip(nTime, Ech定義.BassDrum, nInputAdjustTime), inputEvent.nVelocity)) break; continue; //----------------- @@ -1613,7 +1610,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums //----------------- #endregion } - //----------------- + //----------------- #endregion } //----------------------------- @@ -1622,24 +1619,24 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums //----------------------------- int pad = nPad; // 以下、nPad の代わりに pad を用いる。(成りすまし用) - if( nPad == (int) Eパッド.HP ) // #27029 2012.1.4 from: HP&BD 時の HiHatPedal の場合は BD に成りすます。 - pad = (int) Eパッド.BD; //( HP|BD 時のHP入力はここまでこないので無視。) + if (nPad == (int)Eパッド.HP) // #27029 2012.1.4 from: HP&BD 時の HiHatPedal の場合は BD に成りすます。 + pad = (int)Eパッド.BD; //( HP|BD 時のHP入力はここまでこないので無視。) // レーンフラッシュ - this.actLaneFlushD.Start( (Eレーン) this.nパッド0Atoレーン07[ pad ], ( (float) inputEvent.nVelocity ) / 127f ); + this.actLaneFlushD.Start((Eレーン)this.nパッド0Atoレーン07[pad], ((float)inputEvent.nVelocity) / 127f); // パッドアニメ - this.actPad.Hit( this.nパッド0Atoパッド08[ pad ] ); + this.actPad.Hit(this.nパッド0Atoパッド08[pad]); // 空打ち音 - if( CDTXMania.ConfigIni.bドラム打音を発声する ) + if (CDTXMania.app.ConfigIni.bドラム打音を発声する) { - CChip rChip = this.r空うちChip( E楽器パート.DRUMS, (Eパッド) pad ); - if( rChip != null ) + CChip rChip = this.r空うちChip(E楽器パート.DRUMS, (Eパッド)pad); + if (rChip != null) { #region [ (B1) 空打ち音が譜面で指定されているのでそれを再生する。] //----------------- - this.tサウンド再生( rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Drums ); + this.tサウンド再生(rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する.Drums); //----------------- #endregion } @@ -1647,39 +1644,39 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums { #region [ (B2) 空打ち音が指定されていないので一番近いチップを探して再生する。] //----------------- - switch( ( (Eパッド) pad ) ) + switch (((Eパッド)pad)) { case Eパッド.HH: #region [ *** ] //----------------------------- { - CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 0 ], nInputAdjustTime ); - CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 7 ], nInputAdjustTime ); - CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 9 ], nInputAdjustTime ); - switch( CDTXMania.ConfigIni.eHHGroup ) + CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[0], nInputAdjustTime); + CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[7], nInputAdjustTime); + CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[9], nInputAdjustTime); + switch (CDTXMania.app.ConfigIni.eHHGroup) { case EHHGroup.ハイハットのみ打ち分ける: - rChip = ( chipHC != null ) ? chipHC : chipLC; + rChip = (chipHC != null) ? chipHC : chipLC; break; case EHHGroup.左シンバルのみ打ち分ける: - rChip = ( chipHC != null ) ? chipHC : chipHO; + rChip = (chipHC != null) ? chipHC : chipHO; break; case EHHGroup.全部共通: - if( chipHC != null ) + if (chipHC != null) { rChip = chipHC; } - else if( chipHO == null ) + else if (chipHO == null) { rChip = chipLC; } - else if( chipLC == null ) + else if (chipLC == null) { rChip = chipHO; } - else if( chipHO.n発声位置 < chipLC.n発声位置 ) + else if (chipHO.n発声位置 < chipLC.n発声位置) { rChip = chipHO; } @@ -1702,10 +1699,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 4 ], nInputAdjustTime ); - CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 5 ], nInputAdjustTime ); - if( CDTXMania.ConfigIni.eFTGroup != EFTGroup.打ち分ける ) - rChip = ( chipLT != null ) ? chipLT : chipFT; + CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[4], nInputAdjustTime); + CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[5], nInputAdjustTime); + if (CDTXMania.app.ConfigIni.eFTGroup != EFTGroup.打ち分ける) + rChip = (chipLT != null) ? chipLT : chipFT; else rChip = chipLT; } @@ -1717,10 +1714,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 4 ], nInputAdjustTime ); - CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 5 ], nInputAdjustTime ); - if( CDTXMania.ConfigIni.eFTGroup != EFTGroup.打ち分ける ) - rChip = ( chipFT != null ) ? chipFT : chipLT; + CChip chipLT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[4], nInputAdjustTime); + CChip chipFT = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[5], nInputAdjustTime); + if (CDTXMania.app.ConfigIni.eFTGroup != EFTGroup.打ち分ける) + rChip = (chipFT != null) ? chipFT : chipLT; else rChip = chipFT; } @@ -1732,10 +1729,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 6 ], nInputAdjustTime ); - CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 8 ], nInputAdjustTime ); - if( CDTXMania.ConfigIni.eCYGroup != ECYGroup.打ち分ける ) - rChip = ( chipCY != null ) ? chipCY : chipRD; + CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[6], nInputAdjustTime); + CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[8], nInputAdjustTime); + if (CDTXMania.app.ConfigIni.eCYGroup != ECYGroup.打ち分ける) + rChip = (chipCY != null) ? chipCY : chipRD; else rChip = chipCY; } @@ -1747,37 +1744,37 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 0 ], nInputAdjustTime ); - CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 7 ], nInputAdjustTime ); - CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 9 ], nInputAdjustTime ); - switch( CDTXMania.ConfigIni.eHHGroup ) + CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[0], nInputAdjustTime); + CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[7], nInputAdjustTime); + CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[9], nInputAdjustTime); + switch (CDTXMania.app.ConfigIni.eHHGroup) { case EHHGroup.全部打ち分ける: rChip = chipHO; break; case EHHGroup.ハイハットのみ打ち分ける: - rChip = ( chipHO != null ) ? chipHO : chipLC; + rChip = (chipHO != null) ? chipHO : chipLC; break; case EHHGroup.左シンバルのみ打ち分ける: - rChip = ( chipHO != null ) ? chipHO : chipHC; + rChip = (chipHO != null) ? chipHO : chipHC; break; case EHHGroup.全部共通: - if( chipHO != null ) + if (chipHO != null) { rChip = chipHO; } - else if( chipHC == null ) + else if (chipHC == null) { rChip = chipLC; } - else if( chipLC == null ) + else if (chipLC == null) { rChip = chipHC; } - else if( chipHC.n発声位置 < chipLC.n発声位置 ) + else if (chipHC.n発声位置 < chipLC.n発声位置) { rChip = chipHC; } @@ -1796,10 +1793,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 6 ], nInputAdjustTime ); - CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 8 ], nInputAdjustTime ); - if( CDTXMania.ConfigIni.eCYGroup != ECYGroup.打ち分ける ) - rChip = ( chipRD != null ) ? chipRD : chipCY; + CChip chipCY = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[6], nInputAdjustTime); + CChip chipRD = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[8], nInputAdjustTime); + if (CDTXMania.app.ConfigIni.eCYGroup != ECYGroup.打ち分ける) + rChip = (chipRD != null) ? chipRD : chipCY; else rChip = chipRD; } @@ -1811,10 +1808,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums #region [ *** ] //----------------------------- { - CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 0 ], nInputAdjustTime ); - CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 7 ], nInputAdjustTime ); - CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ 9 ], nInputAdjustTime ); - switch( CDTXMania.ConfigIni.eHHGroup ) + CChip chipHC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[0], nInputAdjustTime); + CChip chipHO = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[7], nInputAdjustTime); + CChip chipLC = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[9], nInputAdjustTime); + switch (CDTXMania.app.ConfigIni.eHHGroup) { case EHHGroup.全部打ち分ける: case EHHGroup.左シンバルのみ打ち分ける: @@ -1823,19 +1820,19 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums case EHHGroup.ハイハットのみ打ち分ける: case EHHGroup.全部共通: - if( chipLC != null ) + if (chipLC != null) { rChip = chipLC; } - else if( chipHC == null ) + else if (chipHC == null) { rChip = chipHO; } - else if( chipHO == null ) + else if (chipHO == null) { rChip = chipHC; } - else if( chipHC.n発声位置 < chipHO.n発声位置 ) + else if (chipHC.n発声位置 < chipHO.n発声位置) { rChip = chipHC; } @@ -1853,24 +1850,24 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums default: #region [ *** ] //----------------------------- - rChip = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮( nTime, this.nパッド0Atoチャンネル0A[ pad ], nInputAdjustTime ); + rChip = this.r指定時刻に一番近いChip_ヒット未済問わず不可視考慮(nTime, this.nパッド0Atoチャンネル0A[pad], nInputAdjustTime); //----------------------------- #endregion break; } - if( rChip != null ) + if (rChip != null) { // 空打ち音が見つかったので再生する。 - this.tサウンド再生( rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Drums ); + this.tサウンド再生(rChip, CSound管理.rc演奏用タイマ.nシステム時刻, E楽器パート.DRUMS, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する.Drums); } //----------------- #endregion } } - + // BAD or TIGHT 時の処理。 - if( CDTXMania.ConfigIni.bTight ) - this.tチップのヒット処理_BadならびにTight時のMiss( E楽器パート.DRUMS, this.nパッド0Atoレーン07[ pad ] ); + if (CDTXMania.app.ConfigIni.bTight) + this.tチップのヒット処理_BadならびにTight時のMiss(E楽器パート.DRUMS, this.nパッド0Atoレーン07[pad]); //----------------------------- #endregion } @@ -1884,23 +1881,23 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums /// ソート対象chip群 /// ソート対象e判定群 /// チップ数 - private static void SortChipsByNTime( CChip[] chipArray, E判定[] e判定Array, int NumOfChips ) + private static void SortChipsByNTime(CChip[] chipArray, E判定[] e判定Array, int NumOfChips) { - for ( int i = 0; i < NumOfChips - 1; i++ ) + for (int i = 0; i < NumOfChips - 1; i++) { //num9 = 2; //while( num9 > num8 ) - for ( int j = NumOfChips - 1; j > i; j-- ) + for (int j = NumOfChips - 1; j > i; j--) { - if ( ( chipArray[ j - 1 ] == null ) || ( ( chipArray[ j ] != null ) && ( chipArray[ j - 1 ].n発声位置 > chipArray[ j ].n発声位置 ) ) ) + if ((chipArray[j - 1] == null) || ((chipArray[j] != null) && (chipArray[j - 1].n発声位置 > chipArray[j].n発声位置))) { // swap - CChip chipTemp = chipArray[ j - 1 ]; - chipArray[ j - 1 ] = chipArray[ j ]; - chipArray[ j ] = chipTemp; - E判定 e判定Temp = e判定Array[ j - 1 ]; - e判定Array[ j - 1 ] = e判定Array[ j ]; - e判定Array[ j ] = e判定Temp; + CChip chipTemp = chipArray[j - 1]; + chipArray[j - 1] = chipArray[j]; + chipArray[j] = chipTemp; + E判定 e判定Temp = e判定Array[j - 1]; + e判定Array[j - 1] = e判定Array[j]; + e判定Array[j] = e判定Temp; } //num9--; } @@ -1911,50 +1908,50 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums protected override void t背景テクスチャの生成() { Rectangle bgrect; - if ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) + if (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) { - bgrect = new Rectangle( (int) ( 338 * Scale.X ), (int) ( 57 * Scale.Y ), (int) ( 278 * 2 ), (int) ( 355 * 2 ) ); + bgrect = new Rectangle((int)(338 * Scale.X), (int)(57 * Scale.Y), (int)(278 * 2), (int)(355 * 2)); } else { - bgrect = new Rectangle( 619 + 682, (int) ( 57 * Scale.Y ), (int) ( 278 * 2 ), (int) ( 355 * 2 ) ); + bgrect = new Rectangle(619 + 682, (int)(57 * Scale.Y), (int)(278 * 2), (int)(355 * 2)); } - string DefaultBgFilename = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? + string DefaultBgFilename = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? @"Graphics\ScreenPlayDrums background.png" : @"Graphics\ScreenPlayDrums-background-center.png"; string DefaultLaneFilename = ""; // @"Graphics\ScreenPlayDrums_Lane_parts_drums.png"; string BgFilename = ""; - if ( ( ( CDTXMania.DTX.BACKGROUND != null ) && ( CDTXMania.DTX.BACKGROUND.Length > 0 ) ) && !CDTXMania.ConfigIni.bストイックモード ) + if (((CDTXMania.app.DTX.BACKGROUND != null) && (CDTXMania.app.DTX.BACKGROUND.Length > 0)) && !CDTXMania.app.ConfigIni.bストイックモード) { - BgFilename = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.BACKGROUND; + BgFilename = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.BACKGROUND; } - base.t背景テクスチャの生成( DefaultBgFilename, DefaultLaneFilename, bgrect, BgFilename ); + base.t背景テクスチャの生成(DefaultBgFilename, DefaultLaneFilename, bgrect, BgFilename); } - protected override void t進行描画_チップ_ドラムス( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_ドラムス(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( configIni.bDrums有効 ) + if (configIni.bDrums有効) { #region [ Invisible処理 ] - if ( configIni.eInvisible.Drums != EInvisible.OFF ) + if (configIni.eInvisible.Drums != EInvisible.OFF) { - cInvisibleChip.SetInvisibleStatus( ref pChip ); + cInvisibleChip.SetInvisibleStatus(ref pChip); } #endregion else { #region [ Sudden処理 ] - if ( configIni.bSudden.Drums ) + if (configIni.bSudden.Drums) { - if ( pChip.nバーからの距離dot.Drums < 200 * Scale.Y ) + if (pChip.nバーからの距離dot.Drums < 200 * Scale.Y) { pChip.b可視 = true; pChip.n透明度 = 0xff; } - else if ( pChip.nバーからの距離dot.Drums < 250 * Scale.Y ) + else if (pChip.nバーからの距離dot.Drums < 250 * Scale.Y) { pChip.b可視 = true; - pChip.n透明度 = 0xff - ( (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 200 * Scale.Y ) ) * 255.0 ) / 50.0 ) ); + pChip.n透明度 = 0xff - ((int)((((double)(pChip.nバーからの距離dot.Drums - 200 * Scale.Y)) * 255.0) / 50.0)); } else { @@ -1964,347 +1961,346 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } #endregion #region [ Hidden処理 ] - if ( configIni.bHidden.Drums ) + if (configIni.bHidden.Drums) { - if ( pChip.nバーからの距離dot.Drums < 100 * Scale.Y ) + if (pChip.nバーからの距離dot.Drums < 100 * Scale.Y) { pChip.b可視 = false; } - else if ( pChip.nバーからの距離dot.Drums < 150 * Scale.Y ) + else if (pChip.nバーからの距離dot.Drums < 150 * Scale.Y) { pChip.b可視 = true; - pChip.n透明度 = (int) ( ( ( (double) ( pChip.nバーからの距離dot.Drums - 100 * Scale.Y ) ) * 255.0 ) / 50.0 ); + pChip.n透明度 = (int)((((double)(pChip.nバーからの距離dot.Drums - 100 * Scale.Y)) * 255.0) / 50.0); } } #endregion } - if ( !pChip.bHit && pChip.b可視 ) + if (!pChip.bHit && pChip.b可視) { - if ( this.txチップ != null ) + if (this.txチップ != null) { this.txチップ.n透明度 = pChip.n透明度; } - int x = this.nチャンネルtoX座標[(int) CDTXMania.ConfigIni.eドラムレーン表示位置, pChip.eチャンネル番号 - Ech定義.HiHatClose ]; + int x = this.nチャンネルtoX座標[(int)CDTXMania.app.ConfigIni.eドラムレーン表示位置, pChip.eチャンネル番号 - Ech定義.HiHatClose]; int y = configIni.bReverse.Drums ? - (int) ( 0x38 * Scale.Y + pChip.nバーからの距離dot.Drums ) : - (int) ( 0x1a6 * Scale.Y - pChip.nバーからの距離dot.Drums ); + (int)(0x38 * Scale.Y + pChip.nバーからの距離dot.Drums) : + (int)(0x1a6 * Scale.Y - pChip.nバーからの距離dot.Drums); //x = (int) ( x * Scale.X ); - if ( this.txチップ != null ) + if (this.txチップ != null) { - double d = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1.0 : 0.75; + double d = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1.0 : 0.75; this.txチップ.vc拡大縮小倍率 = new Vector3( - (float) ( pChip.dbチップサイズ倍率 * d ), - (float) pChip.dbチップサイズ倍率, + (float)(pChip.dbチップサイズ倍率 * d), + (float)pChip.dbチップサイズ倍率, 1f ); } int num9 = this.ctチップ模様アニメ.Drums.n現在の値; - switch ( pChip.eチャンネル番号 ) + switch (pChip.eチャンネル番号) { - // HH + // HH case Ech定義.HiHatClose: - x += (int) ( 0x10 * Scale.X ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x10 * Scale.X) - ((int)((32.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 44 * Scale.X ), - (int) ( num9 * (18-2) ), - (int) ( 32 * Scale.X ), - (int) ( 18 ) + (int)(44 * Scale.X), + (int)(num9 * (18 - 2)), + (int)(32 * Scale.X), + (int)(18) ) ); } break; - // SD + // SD case Ech定義.Snare: - x += (int) ( 0x10 * Scale.X ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x10 * Scale.X) - ((int)((32.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 0x4c * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x20 * Scale.X ), - (int) ( 18 ) ) ); + (int)(0x4c * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x20 * Scale.X), + (int)(18))); } break; - - // BD + + // BD case Ech定義.BassDrum: - x += (int) ( 0x16 * Scale.X ) - ( (int) ( ( 44.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x16 * Scale.X) - ((int)((44.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 11, new Rectangle( - (int) ( 0 * Scale.X ), - (int) ( num9 * (22-2) ), - (int) ( 44 * Scale.X ), - (int) ( 22 ) + (int)(0 * Scale.X), + (int)(num9 * (22 - 2)), + (int)(44 * Scale.X), + (int)(22) ) ); } break; - // HT + // HT case Ech定義.HighTom: - x += (int) ( 0x10 * Scale.X ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x10 * Scale.X) - ((int)((32.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 0x6c * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x20 * Scale.X ), - (int) ( 18 ) ) ); + (int)(0x6c * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x20 * Scale.X), + (int)(18))); } break; - // LT + // LT case Ech定義.LowTom: - x += (int) ( 0x10 * Scale.X ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x10 * Scale.X) - ((int)((32.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 140 * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x20 * Scale.X ), - (int) ( 18 ) ) ); + (int)(140 * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x20 * Scale.X), + (int)(18))); } break; - // CY + // CY case Ech定義.Cymbal: - x += (int) ( 0x13 * Scale.X ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x13 * Scale.X) - ((int)((38.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 46, new Rectangle( - (int) ( 0xcc * Scale.X ), - (int) ( 786 ), - (int) ( 0x26 * Scale.X ), - (int) ( 78 ) ) ); + (int)(0xcc * Scale.X), + (int)(786), + (int)(0x26 * Scale.X), + (int)(78))); - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, - y - 9, + y - 9, new Rectangle( - (int) ( 0xcc * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x26 * Scale.X ), - (int) ( 18 ) ) ); + (int)(0xcc * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x26 * Scale.X), + (int)(18))); } break; - // FT + // FT case Ech定義.FloorTom: - x += (int) ( 0x10 * Scale.X ) - ( (int) ( ( 32.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x10 * Scale.X) - ((int)((32.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, - new Rectangle( - (int) ( 0xac * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x20 * Scale.X ), - (int) ( 18 ) ) ); + new Rectangle( + (int)(0xac * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x20 * Scale.X), + (int)(18))); } break; - // HHO + // HHO case Ech定義.HiHatOpen: - x += (int) ( 13 * Scale.X ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(13 * Scale.X) - ((int)((26.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 0xf2 * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x1a * Scale.X ), - (int) ( 18 ) - ) ); - this.txチップ.t2D描画( CDTXMania.app.Device, + (int)(0xf2 * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x1a * Scale.X), + (int)(18) + )); + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 16, new Rectangle( - (int) ( 0xf2 * Scale.X ), - (int) ( 790 ), - (int) ( 0x1a * Scale.X ), - (int) ( 30 ) - ) ); + (int)(0xf2 * Scale.X), + (int)(790), + (int)(0x1a * Scale.X), + (int)(30) + )); } break; - // RCY + // RCY case Ech定義.RideCymbal: - x += (int) ( 13 * Scale.X ) - ( (int) ( ( 26.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(13 * Scale.X) - ((int)((26.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, - new Rectangle( - (int) ( 0xf2 * Scale.X ), - (int) ( num9 * ( 18 - 2 ) ), - (int) ( 0x1a * Scale.X ), - (int) ( 18 ) - ) ); - this.txチップ.t2D描画( CDTXMania.app.Device, + new Rectangle( + (int)(0xf2 * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x1a * Scale.X), + (int)(18) + )); + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 16, - new Rectangle( - (int) ( 0xf2 * Scale.X ), - (int) ( 790 ), - (int) ( 0x1a * Scale.X ), - (int) ( 30 ) - ) ); + new Rectangle( + (int)(0xf2 * Scale.X), + (int)(790), + (int)(0x1a * Scale.X), + (int)(30) + )); } break; - // LCY + // LCY case Ech定義.LeftCymbal: - x += (int) ( 0x13 * Scale.X ) - ( (int) ( ( 38.0 * pChip.dbチップサイズ倍率 * Scale.X ) / 2.0 ) ); - if ( this.txチップ != null ) + x += (int)(0x13 * Scale.X) - ((int)((38.0 * pChip.dbチップサイズ倍率 * Scale.X) / 2.0)); + if (this.txチップ != null) { - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 46, new Rectangle( - (int) ( 0xcc * Scale.X ), - (int) ( 786 ), - (int) ( 0x26 * Scale.X ), - (int) ( 78 ) - ) ); - this.txチップ.t2D描画( CDTXMania.app.Device, + (int)(0xcc * Scale.X), + (int)(786), + (int)(0x26 * Scale.X), + (int)(78) + )); + this.txチップ.t2D描画(CDTXMania.app.Device, x, y - 9, new Rectangle( - (int) ( 0xcc * Scale.X ), - (int) ( num9 * (18 - 2) ), - (int) ( 0x26 * Scale.X ), - (int) ( 18 ) - ) ); + (int)(0xcc * Scale.X), + (int)(num9 * (18 - 2)), + (int)(0x26 * Scale.X), + (int)(18) + )); } break; } - if ( this.txチップ != null ) + if (this.txチップ != null) { - this.txチップ.vc拡大縮小倍率 = new Vector3( 1f, 1f, 1f ); + this.txチップ.vc拡大縮小倍率 = new Vector3(1f, 1f, 1f); this.txチップ.n透明度 = 0xff; } } - int indexSevenLanes = this.nチャンネル0Atoレーン07[ pChip.eチャンネル番号 - Ech定義.HiHatClose ]; + int indexSevenLanes = CStage演奏画面共通.nチャンネル0Atoレーン07[pChip.eチャンネル番号 - Ech定義.HiHatClose]; // #35411 chnmr0 modified - bool autoPlayCondition = ( configIni.bAutoPlay[ indexSevenLanes ] && !pChip.bHit ); - bool UsePerfectGhost = true; - long ghostLag = 0; - - if( CDTXMania.ConfigIni.eAutoGhost.Drums != EAutoGhostData.PERFECT && - CDTXMania.listAutoGhostLag.Drums != null && - 0 <= pChip.n楽器パートでの出現順 && pChip.n楽器パートでの出現順 < CDTXMania.listAutoGhostLag.Drums.Count) + bool autoPlayCondition = (configIni.bAutoPlay[indexSevenLanes] && !pChip.bHit); + bool UsePerfectGhost = true; + long ghostLag = 0; - { - // ゴーストデータが有効 : ラグに合わせて判定 - ghostLag = CDTXMania.listAutoGhostLag.Drums[pChip.n楽器パートでの出現順]; + if (CDTXMania.app.ConfigIni.eAutoGhost.Drums != EAutoGhostData.PERFECT && + CDTXMania.app.DTX.listAutoGhostLag.Drums != null && + 0 <= pChip.n楽器パートでの出現順 && pChip.n楽器パートでの出現順 < CDTXMania.app.DTX.listAutoGhostLag.Drums.Count) + { + // ゴーストデータが有効 : ラグに合わせて判定 + ghostLag = CDTXMania.app.DTX.listAutoGhostLag.Drums[pChip.n楽器パートでの出現順]; ghostLag = (ghostLag & 255) - 128; ghostLag -= this.nInputAdjustTimeMs.Drums; autoPlayCondition &= !pChip.bHit && (ghostLag + pChip.n発声時刻ms <= CSound管理.rc演奏用タイマ.n現在時刻ms); - UsePerfectGhost = false; - } - if( UsePerfectGhost ) - { - // 従来の AUTO : バー下で判定 - autoPlayCondition &= ( pChip.nバーからの距離dot.Drums < 0 ); - } - - if ( autoPlayCondition ) + UsePerfectGhost = false; + } + if (UsePerfectGhost) + { + // 従来の AUTO : バー下で判定 + autoPlayCondition &= (pChip.nバーからの距離dot.Drums < 0); + } + + if (autoPlayCondition) { pChip.bHit = true; - this.actLaneFlushD.Start( (Eレーン) indexSevenLanes, ( (float) CInput管理.n通常音量 ) / 127f ); + this.actLaneFlushD.Start((Eレーン)indexSevenLanes, ((float)CInput管理.n通常音量) / 127f); bool flag = this.bフィルイン中; - bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである( pChip ); + bool flag2 = this.bフィルイン中 && this.bフィルイン区間の最後のChipである(pChip); //bool flag3 = flag2; // #31602 2013.6.24 yyagi 判定ラインの表示位置をずらしたら、チップのヒットエフェクトの表示もずらすために、nJudgeLine..を追加 - this.actChipFireD.Start( (Eレーン)indexSevenLanes, flag, flag2, flag2, 演奏判定ライン座標.nJudgeLinePosY_delta.Drums ); - this.actPad.Hit( this.nチャンネル0Atoパッド08[ pChip.eチャンネル番号 - Ech定義.HiHatClose ] ); - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms + ghostLag, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) ); + this.actChipFireD.Start((Eレーン)indexSevenLanes, flag, flag2, flag2, 演奏判定ライン座標.nJudgeLinePosY_delta.Drums); + this.actPad.Hit(this.nチャンネル0Atoパッド08[pChip.eチャンネル番号 - Ech定義.HiHatClose]); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms + ghostLag, E楽器パート.DRUMS, dTX.nモニタを考慮した音量(E楽器パート.DRUMS)); this.tチップのヒット処理(pChip.n発声時刻ms + ghostLag, pChip); - cInvisibleChip.StartSemiInvisible( E楽器パート.DRUMS ); + cInvisibleChip.StartSemiInvisible(E楽器パート.DRUMS); + } + // #35411 modify end + + // #35411 2015.08.21 chnmr0 add + // 目標値グラフにゴーストの達成率を渡す + if (CDTXMania.app.ConfigIni.eTargetGhost.Drums != ETargetGhostData.NONE && + CDTXMania.app.DTX.listTargetGhsotLag.Drums != null) + { + double val = 0; + if (CDTXMania.app.ConfigIni.eTargetGhost.Drums == ETargetGhostData.ONLINE) + { + if (CDTXMania.app.DTX.n可視チップ数.Drums > 0) + { + // Online Stats の計算式 + val = 100 * + (this.nヒット数_TargetGhost.Drums.Perfect * 17 + + this.nヒット数_TargetGhost.Drums.Great * 7 + + this.n最大コンボ数_TargetGhost.Drums * 3) / (20.0 * CDTXMania.app.DTX.n可視チップ数.Drums); + } + } + else + { + val = CScoreIni.t演奏型スキルを計算して返す( + CDTXMania.app.DTX.n可視チップ数.Drums, + this.nヒット数_TargetGhost.Drums.Perfect, + this.nヒット数_TargetGhost.Drums.Great, + this.nヒット数_TargetGhost.Drums.Good, + this.nヒット数_TargetGhost.Drums.Poor, + this.nヒット数_TargetGhost.Drums.Miss, + E楽器パート.DRUMS, new STAUTOPLAY()); + } + if (val < 0) val = 0; + if (val > 100) val = 100; + this.actGraph.dbグラフ値目標_渡 = val; } - // #35411 modify end - - // #35411 2015.08.21 chnmr0 add - // 目標値グラフにゴーストの達成率を渡す - if (CDTXMania.ConfigIni.eTargetGhost.Drums != ETargetGhostData.NONE && - CDTXMania.listTargetGhsotLag.Drums != null) - { - double val = 0; - if (CDTXMania.ConfigIni.eTargetGhost.Drums == ETargetGhostData.ONLINE) - { - if (CDTXMania.DTX.n可視チップ数.Drums > 0) - { - // Online Stats の計算式 - val = 100 * - (this.nヒット数_TargetGhost.Drums.Perfect * 17 + - this.nヒット数_TargetGhost.Drums.Great * 7 + - this.n最大コンボ数_TargetGhost.Drums * 3) / (20.0 * CDTXMania.DTX.n可視チップ数.Drums); - } - } - else - { - val = CScoreIni.t演奏型スキルを計算して返す( - CDTXMania.DTX.n可視チップ数.Drums, - this.nヒット数_TargetGhost.Drums.Perfect, - this.nヒット数_TargetGhost.Drums.Great, - this.nヒット数_TargetGhost.Drums.Good, - this.nヒット数_TargetGhost.Drums.Poor, - this.nヒット数_TargetGhost.Drums.Miss, - E楽器パート.DRUMS, new STAUTOPLAY()); - } - if (val < 0) val = 0; - if (val > 100) val = 100; - this.actGraph.dbグラフ値目標_渡 = val; - } //break; return; } // end of "if configIni.bDrums有効" - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { - this.tサウンド再生( pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量( E楽器パート.DRUMS ) ); + this.tサウンド再生(pChip, CSound管理.rc演奏用タイマ.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.DRUMS, dTX.nモニタを考慮した音量(E楽器パート.DRUMS)); pChip.bHit = true; } } - protected override void t進行描画_チップ_ギターベース( CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst ) + protected override void t進行描画_チップ_ギターベース(CConfigIni configIni, ref CDTX dTX, ref CChip pChip, E楽器パート inst) { - int xGtO = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 509 : 485; - int xBsO = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 400 : 69; - int xGtL = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 561 : 537; - int xBsL = ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 452 : 121; - - base.t進行描画_チップ_ギターベース( configIni, ref dTX, ref pChip, inst, - 演奏判定ライン座標.n判定ラインY座標( inst, false, false ), // 95 Normal - 演奏判定ライン座標.n判定ラインY座標( inst, false, true ), // 374 Reverse - (int) ( 57 * Scale.Y ), (int) ( 412 * Scale.Y ), // チップのY軸表示範囲 + int xGtO = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 509 : 485; + int xBsO = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 400 : 69; + int xGtL = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 561 : 537; + int xBsL = (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 452 : 121; + + base.t進行描画_チップ_ギターベース(configIni, ref dTX, ref pChip, inst, + 演奏判定ライン座標.n判定ラインY座標(inst, false, false), // 95 Normal + 演奏判定ライン座標.n判定ラインY座標(inst, false, true), // 374 Reverse + (int)(57 * Scale.Y), (int)(412 * Scale.Y), // チップのY軸表示範囲 xGtO, xBsO, // openチップのX座標(Gt, Bs) - 268, 144, 76, 6, 24, // オープンチップregionの x, y, w, h, 通常チップのw + 268, 144, 76, 6, 24, // オープンチップregionの x, y, w, h, 通常チップのw xGtO, xGtL, xBsO, xBsL, // GtのX, Gt左利きのX, BsのX, Bs左利きのX, 26, 24 // 描画のX座標間隔, テクスチャのX座標間隔 ); @@ -2396,9 +2392,9 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } if ( (inst == E楽器パート.GUITAR && bIsAutoPlay.GtPick ) || (inst == E楽器パート.BASS && bIsAutoPlay.BsPick ) ) { - bool pushingR = CDTXMania.Pad.b押されている( inst, Eパッド.R ); - bool pushingG = CDTXMania.Pad.b押されている( inst, Eパッド.G ); - bool pushingB = CDTXMania.Pad.b押されている( inst, Eパッド.B ); + bool pushingR = CDTXMania.app.Pad.b押されている( inst, Eパッド.R ); + bool pushingG = CDTXMania.app.Pad.b押されている( inst, Eパッド.G ); + bool pushingB = CDTXMania.app.Pad.b押されている( inst, Eパッド.B ); bool bMiss = true; if ( ( ( bChipIsO == true ) && ( !pushingR | autoR ) && ( !pushingG | autoG ) && ( !pushingB | autoB ) ) || ( ( bChipHasR == ( pushingR | autoR ) ) && ( bChipHasG == ( pushingG | autoG ) ) && ( bChipHasB == ( pushingB | autoB ) ) ) @@ -2407,7 +2403,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums bMiss = false; } pChip.bHit = true; - this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量( inst ), false, bMiss ); + this.tサウンド再生( pChip, CDTXMania.app.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量( inst ), false, bMiss ); this.r次にくるギターChip = null; this.tチップのヒット処理( pChip.n発声時刻ms, pChip ); } @@ -2418,11 +2414,11 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums if ( !pChip.bHit && ( pChip.nバーからの距離dot[ instIndex ] < 0 ) ) // Guitar/Bass無効の場合は、自動演奏する { pChip.bHit = true; - this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量( inst ) ); + this.tサウンド再生( pChip, CDTXMania.app.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, inst, dTX.nモニタを考慮した音量( inst ) ); } } #endif - protected void t進行描画_チップ_ギター_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected void t進行描画_チップ_ギター_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { //if ( configIni.bGuitar有効 ) //{ @@ -2483,58 +2479,58 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums // } // } //} - base.t進行描画_チップ_ギター_ウェイリング( configIni, ref dTX, ref pChip, false ); + base.t進行描画_チップ_ギター_ウェイリング(configIni, ref dTX, ref pChip, false); } - protected override void t進行描画_チップ_フィルイン( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_フィルイン(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - switch ( pChip.n整数値 ) + switch (pChip.n整数値) { case 0x01: // フィルイン開始 - if ( configIni.bフィルイン有効 ) + if (configIni.bフィルイン有効) { this.bフィルイン中 = true; } break; case 0x02: // フィルイン終了 - if ( configIni.bフィルイン有効 ) + if (configIni.bフィルイン有効) { this.bフィルイン中 = false; } - if ( ( ( this.actCombo.n現在のコンボ数.Drums > 0 ) || configIni.bドラムが全部オートプレイである ) && configIni.b歓声を発声する ) + if (((this.actCombo.n現在のコンボ数.Drums > 0) || configIni.bドラムが全部オートプレイである) && configIni.b歓声を発声する) { - if ( this.r現在の歓声Chip.Drums != null ) + if (this.r現在の歓声Chip.Drums != null) { - dTX.tチップの再生( this.r現在の歓声Chip.Drums, CSound管理.rc演奏用タイマ.nシステム時刻, (int) Eレーン.BGM, dTX.nモニタを考慮した音量( E楽器パート.UNKNOWN ) ); + dTX.tチップの再生(this.r現在の歓声Chip.Drums, CSound管理.rc演奏用タイマ.nシステム時刻, (int)Eレーン.BGM, dTX.nモニタを考慮した音量(E楽器パート.UNKNOWN)); } else { - CDTXMania.Skin.sound歓声音.n位置_次に鳴るサウンド = 0; - CDTXMania.Skin.sound歓声音.t再生する(); + CDTXMania.app.Skin.sound歓声音.n位置_次に鳴るサウンド = 0; + CDTXMania.app.Skin.sound歓声音.t再生する(); } } break; #if TEST_NOTEOFFMODE // 2011.1.1 yyagi TEST case 0x04: // HH消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.HH = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.HH = true; break; case 0x05: // HH消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.HH = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.HH = false; break; case 0x06: // ギター消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.Gutiar = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Gutiar = true; break; case 0x07: // ギター消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.Gutiar = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Gutiar = false; break; case 0x08: // ベース消音あり(従来同等) - CDTXMania.DTX.b演奏で直前の音を消音する.Bass = true; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Bass = true; break; case 0x09: // ベース消音無し - CDTXMania.DTX.b演奏で直前の音を消音する.Bass = false; + CDTXMania.app.DTX.b演奏で直前の音を消音する.Bass = false; break; #endif } @@ -2613,7 +2609,7 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums if ( bIsAutoPlay.BsPick ) { pChip.bHit = true; - this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) ); + this.tサウンド再生( pChip, CDTXMania.app.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) ); this.r次にくるベースChip = null; this.tチップのヒット処理( pChip.n発声時刻ms, pChip ); } @@ -2622,12 +2618,12 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums } if ( !pChip.bHit && ( pChip.nバーからの距離dot.Bass < 0 ) ) { - this.tサウンド再生( pChip, CDTXMania.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) ); + this.tサウンド再生( pChip, CDTXMania.app.Timer.n前回リセットした時のシステム時刻 + pChip.n発声時刻ms, E楽器パート.BASS, dTX.nモニタを考慮した音量( E楽器パート.BASS ) ); pChip.bHit = true; } } #endif - protected void t進行描画_チップ_ベース_ウェイリング( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected void t進行描画_チップ_ベース_ウェイリング(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { //if ( configIni.bGuitar有効 ) //{ @@ -2687,41 +2683,41 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums // } // } //} - base.t進行描画_チップ_ベース_ウェイリング( configIni, ref dTX, ref pChip, false ); + base.t進行描画_チップ_ベース_ウェイリング(configIni, ref dTX, ref pChip, false); } - protected override void t進行描画_チップ_空打ち音設定_ドラム( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_空打ち音設定_ドラム(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; - this.r現在の空うちドラムChip[ (int) this.eチャンネルtoパッド[ pChip.eチャンネル番号 - Ech定義.HiHatClose ] ] = pChip; + this.r現在の空うちドラムChip[(int)this.eチャンネルtoパッド[pChip.eチャンネル番号 - Ech定義.HiHatClose]] = pChip; //pChip.nチャンネル番号 = ( pChip.nチャンネル番号 != 0xbc ) ? ( ( pChip.nチャンネル番号 - 0xb1 ) + 0x11 ) : 0x1a; } } - protected override void t進行描画_チップ_小節線( CConfigIni configIni, ref CDTX dTX, ref CChip pChip ) + protected override void t進行描画_チップ_小節線(CConfigIni configIni, ref CDTX dTX, ref CChip pChip) { int n小節番号plus1 = pChip.n発声位置 / 384; - if ( !pChip.bHit && ( pChip.nバーからの距離dot.Drums < 0 ) ) + if (!pChip.bHit && (pChip.nバーからの距離dot.Drums < 0)) { pChip.bHit = true; this.actPlayInfo.n小節番号 = n小節番号plus1 - 1; - if ( configIni.bWave再生位置自動調整機能有効 && ( bIsDirectSound || bUseOSTimer ) ) + if (configIni.bWave再生位置自動調整機能有効 && (bIsDirectSound || bUseOSTimer)) { dTX.tWave再生位置自動補正(); } -//#if DEBUG -// { -// dTX.tWaveBGM再生位置表示(); //デバッグ用 -// } -//#endif + //#if DEBUG + // { + // dTX.tWaveBGM再生位置表示(); //デバッグ用 + // } + //#endif } #region [ Drumsの小節線と、小節番号 ] - if ( configIni.bDrums有効 ) + if (configIni.bDrums有効) { - if ( configIni.b演奏情報を表示する && ( configIni.eDark == Eダークモード.OFF ) ) + if (configIni.b演奏情報を表示する && (configIni.eDark == Eダークモード.OFF)) { int n小節番号 = n小節番号plus1 - 1; - CDTXMania.act文字コンソール.tPrint( + CDTXMania.app.act文字コンソール.tPrint( configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 999 : 619 + 682, configIni.bReverse.Drums ? @@ -2731,10 +2727,10 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums n小節番号.ToString() ); } - if ( ( ( configIni.eDark != Eダークモード.FULL ) && pChip.b可視 ) && ( this.txチップ != null ) ) + if (((configIni.eDark != Eダークモード.FULL) && pChip.b可視) && (this.txチップ != null)) { this.txチップ.n透明度 = 255; - this.txチップ.t2D描画( CDTXMania.app.Device, + this.txチップ.t2D描画(CDTXMania.app.Device, //3, 2.25 configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ? 105 : 619, @@ -2743,81 +2739,81 @@ Debug.WriteLine( "scr=" + CDTXMania.ConfigIni.n譜面スクロール速度.Drums new Rectangle( 0, 999, - (configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 888: 682, + (configIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 888 : 682, 4 ) ); } } #endregion - if ( ( pChip.b可視 && configIni.bGuitar有効 ) && ( configIni.eDark != Eダークモード.FULL ) && ( this.txチップ != null ) ) + if ((pChip.b可視 && configIni.bGuitar有効) && (configIni.eDark != Eダークモード.FULL) && (this.txチップ != null)) { this.txチップ.n透明度 = 255; #region [ Guitarの小節線 ] //int y = configIni.bReverse.Guitar ? ( ( 0x176 - pChip.nバーからの距離dot.Guitar ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Guitar ) - 1 ); - int y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.GUITAR, false, configIni.bReverse.Guitar ); - if ( configIni.bReverse.Guitar ) + int y = 演奏判定ライン座標.n判定ラインY座標(E楽器パート.GUITAR, false, configIni.bReverse.Guitar); + if (configIni.bReverse.Guitar) { - y = y - (int) ( pChip.nバーからの距離dot.Guitar ) - 1; + y = y - (int)(pChip.nバーからの距離dot.Guitar) - 1; } else { - y = y + (int) ( pChip.nバーからの距離dot.Guitar ) - 1; + y = y + (int)(pChip.nバーからの距離dot.Guitar) - 1; } int n小節線消失距離dot; // Reverse時の小節線消失位置を、RGBボタンの真ん中程度に。 // 非Reverse時の消失処理は、従来通りt進行描画・チップ()にお任せ。 n小節線消失距離dot = configIni.bReverse.Guitar ? - (int) ( -100 * Scale.Y ): - ( configIni.e判定位置.Guitar == E判定位置.標準 ) ? (int) ( -50 * Scale.Y ) : (int) ( -25 * Scale.Y ); + (int)(-100 * Scale.Y) : + (configIni.e判定位置.Guitar == E判定位置.標準) ? (int)(-50 * Scale.Y) : (int)(-25 * Scale.Y); - if ( ( dTX.bチップがある.Guitar ) && - ( 0x39 * Scale.Y < y ) && ( ( y < 0x19c * Scale.Y ) ) && - ( pChip.nバーからの距離dot.Guitar >= n小節線消失距離dot ) + if ((dTX.bチップがある.Guitar) && + (0x39 * Scale.Y < y) && ((y < 0x19c * Scale.Y)) && + (pChip.nバーからの距離dot.Guitar >= n小節線消失距離dot) ) { this.txチップ.t2D描画( CDTXMania.app.Device, - (CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left)? 1521 : 1450, + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1521 : 1450, y, new Rectangle( 0, - (int) ( 450 * Scale.Y ), - (int) ( 0x4e * Scale.X ), - (int) ( 1 * Scale.Y ) + (int)(450 * Scale.Y), + (int)(0x4e * Scale.X), + (int)(1 * Scale.Y) ) ); } #endregion #region [ Bassの小節線 ] //y = configIni.bReverse.Bass ? ( ( 0x176 - pChip.nバーからの距離dot.Bass ) - 1 ) : ( ( 0x5f + pChip.nバーからの距離dot.Bass ) - 1 ); - y = 演奏判定ライン座標.n判定ラインY座標( E楽器パート.BASS, false, configIni.bReverse.Bass ); - if ( configIni.bReverse.Bass ) + y = 演奏判定ライン座標.n判定ラインY座標(E楽器パート.BASS, false, configIni.bReverse.Bass); + if (configIni.bReverse.Bass) { - y = y - (int) ( pChip.nバーからの距離dot.Bass ) - 1; + y = y - (int)(pChip.nバーからの距離dot.Bass) - 1; } else { - y = y + (int) ( pChip.nバーからの距離dot.Bass ) - 1; + y = y + (int)(pChip.nバーからの距離dot.Bass) - 1; } n小節線消失距離dot = configIni.bReverse.Bass ? - (int) ( -100 * Scale.Y ) : - ( configIni.e判定位置.Bass == E判定位置.標準 ) ? (int) ( -50 * Scale.Y ) : (int) ( -25 * Scale.Y ); + (int)(-100 * Scale.Y) : + (configIni.e判定位置.Bass == E判定位置.標準) ? (int)(-50 * Scale.Y) : (int)(-25 * Scale.Y); - if ( ( dTX.bチップがある.Bass ) && - ( 0x39 * Scale.Y < y ) && ( y < 0x19c * Scale.Y ) && - ( pChip.nバーからの距離dot.Bass >= n小節線消失距離dot ) + if ((dTX.bチップがある.Bass) && + (0x39 * Scale.Y < y) && (y < 0x19c * Scale.Y) && + (pChip.nバーからの距離dot.Bass >= n小節線消失距離dot) ) { this.txチップ.t2D描画( CDTXMania.app.Device, - ( CDTXMania.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left ) ? 1194 : 200, + (CDTXMania.app.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1194 : 200, y, new Rectangle( 0, - (int) ( 450 * Scale.Y ), - (int) ( 0x4e * Scale.X ), - (int) ( 1 * Scale.Y ) + (int)(450 * Scale.Y), + (int)(0x4e * Scale.X), + (int)(1 * Scale.Y) ) ); } diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs index 84e7e597..e3db6ee5 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultImage.cs @@ -13,13 +13,11 @@ namespace DTXMania internal class CActResultImage : CActivity { // コンストラクタ - public CActResultImage() { base.b活性化してない = true; } - // メソッド public void tアニメを完了させる() @@ -62,8 +60,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult resultimage panel.png" ) ); - this.txリザルト画像がないときの画像 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage default.png" ) ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult resultimage panel.png" ) ); + this.txリザルト画像がないときの画像 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect preimage default.png" ) ); //this.sfリザルトAVI画像 = Surface.CreateOffscreenPlain( CDTXMania.app.Device, 0xcc, 0x10d, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Default ); //this.sfリザルトAVI画像 = Surface.CreateOffscreenPlain( CDTXMania.app.Device, 192, 269, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Default ); //this.nAVI再生開始時刻 = -1; @@ -78,9 +76,9 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.txリザルト画像 ); - CDTXMania.tテクスチャの解放( ref this.txリザルト画像がないときの画像 ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.txリザルト画像 ); + TextureFactory.tテクスチャの解放( ref this.txリザルト画像がないときの画像 ); //if( this.sfリザルトAVI画像 != null ) //{ // this.sfリザルトAVI画像.Dispose(); @@ -98,7 +96,7 @@ namespace DTXMania } if( base.b初めての進行描画 ) { - if ( CDTXMania.ConfigIni.bストイックモード ) + if ( CDTXMania.app.ConfigIni.bストイックモード ) { this.r表示するリザルト画像 = this.txリザルト画像がないときの画像; } @@ -107,18 +105,18 @@ namespace DTXMania this.r表示するリザルト画像 = this.txリザルト画像がないときの画像; } - this.ct登場用 = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.ct登場用 = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct登場用.t進行(); //if ( ( ( this.avi != null ) && ( this.sfリザルトAVI画像 != null ) ) && ( this.nAVI再生開始時刻 != -1 ) ) //if ( ( this.avi != null ) && ( this.nAVI再生開始時刻 != -1 ) ) //{ - // int time = (int) ( ( CDTXMania.Timer.n現在時刻 - this.nAVI再生開始時刻 ) * ( ( (double) CDTXMania.ConfigIni.n演奏速度 ) / 20.0 ) ); + // int time = (int) ( ( CDTXMania.app.Timer.n現在時刻 - this.nAVI再生開始時刻 ) * ( ( (double) CDTXMania.app.ConfigIni.n演奏速度 ) / 20.0 ) ); // int frameNoFromTime = this.avi.GetFrameNoFromTime( time ); // if( frameNoFromTime >= this.avi.GetMaxFrameCount() ) // { - // this.nAVI再生開始時刻 = CDTXMania.Timer.n現在時刻; + // this.nAVI再生開始時刻 = CDTXMania.app.Timer.n現在時刻; // } // else if( ( this.n前回描画したフレーム番号 != frameNoFromTime ) && !this.b動画フレームを作成した ) // { @@ -168,13 +166,13 @@ namespace DTXMania this.r表示するリザルト画像.t2D描画( CDTXMania.app.Device, x * Scale.X, y * Scale.Y ); } #endregion - if( ( CDTXMania.DTX.GENRE != null ) && ( CDTXMania.DTX.GENRE.Length > 0 ) ) + if( ( CDTXMania.app.DTX.GENRE != null ) && ( CDTXMania.app.DTX.GENRE.Length > 0 ) ) { - CDTXMania.act文字コンソール.tPrint( + CDTXMania.app.act文字コンソール.tPrint( (int)((this.n本体X + 0x12) * Scale.X), (int)((this.n本体Y - 1) * Scale.Y), C文字コンソール.Eフォント種別.赤細, - CDTXMania.DTX.GENRE + CDTXMania.app.DTX.GENRE ); } if( !this.ct登場用.b終了値に達した ) @@ -208,21 +206,21 @@ namespace DTXMania private bool t背景画像があればその一部からリザルト画像を構築する() { string bACKGROUND; - if( ( CDTXMania.ConfigIni.bギタレボモード && ( CDTXMania.DTX.BACKGROUND_GR != null ) ) && ( CDTXMania.DTX.BACKGROUND_GR.Length > 0 ) ) + if( ( CDTXMania.app.ConfigIni.bギタレボモード && ( CDTXMania.app.DTX.BACKGROUND_GR != null ) ) && ( CDTXMania.app.DTX.BACKGROUND_GR.Length > 0 ) ) { - bACKGROUND = CDTXMania.DTX.BACKGROUND_GR; + bACKGROUND = CDTXMania.app.DTX.BACKGROUND_GR; } else { - bACKGROUND = CDTXMania.DTX.BACKGROUND; + bACKGROUND = CDTXMania.app.DTX.BACKGROUND; } if( string.IsNullOrEmpty( bACKGROUND ) ) { return false; } - CDTXMania.tテクスチャの解放( ref this.txリザルト画像 ); + TextureFactory.tテクスチャの解放( ref this.txリザルト画像 ); this.r表示するリザルト画像 = null; - bACKGROUND = CDTXMania.DTX.strフォルダ名 + bACKGROUND; + bACKGROUND = CDTXMania.app.DTX.strフォルダ名 + bACKGROUND; Bitmap image = null; Bitmap bitmap2 = null; Bitmap bitmap3 = null; @@ -244,7 +242,7 @@ namespace DTXMania graphics = Graphics.FromImage( bitmap3 ); graphics.DrawImage( bitmap2, 5, 5, new Rectangle( 0x157, 0x6d, 0xcc, 0x10d ), GraphicsUnit.Pixel ); graphics.Dispose(); - this.txリザルト画像 = new CTexture( CDTXMania.app.Device, bitmap3, CDTXMania.TextureFormat ); + this.txリザルト画像 = new CTexture( CDTXMania.app.Device, bitmap3, CDTXMania.app.TextureFormat ); this.r表示するリザルト画像 = this.txリザルト画像; } catch @@ -305,34 +303,34 @@ namespace DTXMania //} private bool tプレビュー画像の指定があれば構築する() { - if( string.IsNullOrEmpty( CDTXMania.DTX.PREIMAGE ) ) + if( string.IsNullOrEmpty( CDTXMania.app.DTX.PREIMAGE ) ) { return false; } - CDTXMania.tテクスチャの解放( ref this.txリザルト画像 ); + TextureFactory.tテクスチャの解放( ref this.txリザルト画像 ); this.r表示するリザルト画像 = null; - string path = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.PREIMAGE; + string path = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.PREIMAGE; if( !File.Exists( path ) ) { Trace.TraceWarning( "ファイルが存在しません。({0})", new object[] { path } ); return false; } - this.txリザルト画像 = CDTXMania.tテクスチャの生成( path ); + this.txリザルト画像 = TextureFactory.tテクスチャの生成( path ); this.r表示するリザルト画像 = this.txリザルト画像; return ( this.r表示するリザルト画像 != null ); } private bool tプレビュー動画の指定があれば構築する() { - if( !CDTXMania.ConfigIni.bAVI有効 ) + if( !CDTXMania.app.ConfigIni.bAVI有効 ) { return false; } this.actAVI.Stop(); - if( string.IsNullOrEmpty( CDTXMania.DTX.PREMOVIE ) ) + if( string.IsNullOrEmpty( CDTXMania.app.DTX.PREMOVIE ) ) { return false; } - this.strAVIファイル名 = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.PREMOVIE; + this.strAVIファイル名 = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.PREMOVIE; if( !File.Exists( this.strAVIファイル名 ) ) { Trace.TraceWarning( "プレビュー動画のファイルが存在しません。({0})", this.strAVIファイル名 ); @@ -345,12 +343,12 @@ namespace DTXMania } try { - this.rAVI = new CDTX.CAVI(00, this.strAVIファイル名, "", CDTXMania.ConfigIni.n演奏速度); + this.rAVI = new CDTX.CAVI(00, this.strAVIファイル名, "", CDTXMania.app.ConfigIni.n演奏速度); this.rAVI.OnDeviceCreated(); this.actAVI.Start( Ech定義.Movie, rAVI, 204, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1 ); //this.avi = new CAvi( this.strAVIファイル名 ); - //this.nAVI再生開始時刻 = CDTXMania.Timer.n現在時刻; + //this.nAVI再生開始時刻 = CDTXMania.app.Timer.n現在時刻; //this.n前回描画したフレーム番号 = -1; //this.b動画フレームを作成した = false; //this.tサーフェイスをクリアする( this.sfリザルトAVI画像 ); @@ -366,44 +364,44 @@ namespace DTXMania } private bool tリザルト画像の指定があれば構築する() { - int rank = CScoreIni.t総合ランク値を計算して返す( CDTXMania.stage結果.st演奏記録.Drums, CDTXMania.stage結果.st演奏記録.Guitar, CDTXMania.stage結果.st演奏記録.Bass ); + int rank = CScoreIni.t総合ランク値を計算して返す(CDTXMania.app.stage結果.st演奏記録.Drums, CDTXMania.app.stage結果.st演奏記録.Guitar, CDTXMania.app.stage結果.st演奏記録.Bass); if (rank == 99) // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす { rank = 6; } - if (string.IsNullOrEmpty(CDTXMania.DTX.RESULTIMAGE[rank])) + if (string.IsNullOrEmpty(CDTXMania.app.DTX.RESULTIMAGE[rank])) { return false; } - CDTXMania.tテクスチャの解放( ref this.txリザルト画像 ); + TextureFactory.tテクスチャの解放( ref this.txリザルト画像 ); this.r表示するリザルト画像 = null; - string path = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.RESULTIMAGE[ rank ]; + string path = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.RESULTIMAGE[ rank ]; if( !File.Exists( path ) ) { Trace.TraceWarning( "ファイルが存在しません。({0})", new object[] { path } ); return false; } - this.txリザルト画像 = CDTXMania.tテクスチャの生成( path ); + this.txリザルト画像 = TextureFactory.tテクスチャの生成( path ); this.r表示するリザルト画像 = this.txリザルト画像; return ( this.r表示するリザルト画像 != null ); } private bool tリザルト動画の指定があれば構築する() { - if( !CDTXMania.ConfigIni.bAVI有効 ) + if( !CDTXMania.app.ConfigIni.bAVI有効 ) { return false; } - int rank = CScoreIni.t総合ランク値を計算して返す( CDTXMania.stage結果.st演奏記録.Drums, CDTXMania.stage結果.st演奏記録.Guitar, CDTXMania.stage結果.st演奏記録.Bass ); + int rank = CScoreIni.t総合ランク値を計算して返す(CDTXMania.app.stage結果.st演奏記録.Drums, CDTXMania.app.stage結果.st演奏記録.Guitar, CDTXMania.app.stage結果.st演奏記録.Bass); if (rank == 99) // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす { rank = 6; } - if( string.IsNullOrEmpty( CDTXMania.DTX.RESULTMOVIE[ rank ] ) ) + if( string.IsNullOrEmpty( CDTXMania.app.DTX.RESULTMOVIE[ rank ] ) ) { return false; } - this.strAVIファイル名 = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.RESULTMOVIE[ rank ]; + this.strAVIファイル名 = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.RESULTMOVIE[ rank ]; if( !File.Exists( this.strAVIファイル名 ) ) { Trace.TraceWarning( "リザルト動画のファイルが存在しません。({0})", this.strAVIファイル名 ); @@ -416,12 +414,12 @@ namespace DTXMania } try { - this.rAVI = new CDTX.CAVI(00, this.strAVIファイル名, "", CDTXMania.ConfigIni.n演奏速度); + this.rAVI = new CDTX.CAVI(00, this.strAVIファイル名, "", CDTXMania.app.ConfigIni.n演奏速度); this.rAVI.OnDeviceCreated(); this.actAVI.Start( Ech定義.Movie, rAVI, 204, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1 ); //this.avi = new CAvi( this.strAVIファイル名 ); - //this.nAVI再生開始時刻 = CDTXMania.Timer.n現在時刻; + //this.nAVI再生開始時刻 = CDTXMania.app.Timer.n現在時刻; //this.n前回描画したフレーム番号 = -1; //this.b動画フレームを作成した = false; //this.tサーフェイスをクリアする( this.sfリザルトAVI画像 ); diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs index 1af4167e..c2efc6b7 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultParameterPanel.cs @@ -12,7 +12,6 @@ namespace DTXMania internal class CActResultParameterPanel : CActivity { // コンストラクタ - public CActResultParameterPanel() { ST文字位置[] st文字位置Array = new ST文字位置[ 11 ]; @@ -138,7 +137,7 @@ namespace DTXMania } if( this.sdDTXで指定されたフルコンボ音 != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.sdDTXで指定されたフルコンボ音 ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.sdDTXで指定されたフルコンボ音 ); this.sdDTXで指定されたフルコンボ音 = null; } base.On非活性化(); @@ -147,11 +146,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txパネル本体 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter panel.png" ), true ); - this.tx文字[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter numbers.png" ) ); - this.tx文字[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter numbers em.png" ) ); - this.txFullCombo = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult fullcombo.png" ) ); - this.txWhite = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile white 64x64.png" ) ); + this.txパネル本体 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter panel.png" ), true ); + this.tx文字[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter numbers.png" ) ); + this.tx文字[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult parameter numbers em.png" ) ); + this.txFullCombo = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult fullcombo.png" ) ); + this.txWhite = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Tile white 64x64.png" ) ); base.OnManagedリソースの作成(); } } @@ -159,11 +158,11 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txパネル本体 ); - CDTXMania.tテクスチャの解放( ref this.tx文字[ 0 ] ); - CDTXMania.tテクスチャの解放( ref this.tx文字[ 1 ] ); - CDTXMania.tテクスチャの解放( ref this.txFullCombo ); - CDTXMania.tテクスチャの解放( ref this.txWhite ); + TextureFactory.tテクスチャの解放( ref this.txパネル本体 ); + TextureFactory.tテクスチャの解放( ref this.tx文字[ 0 ] ); + TextureFactory.tテクスチャの解放( ref this.tx文字[ 1 ] ); + TextureFactory.tテクスチャの解放( ref this.txFullCombo ); + TextureFactory.tテクスチャの解放( ref this.txWhite ); base.OnManagedリソースの解放(); } } @@ -175,7 +174,7 @@ namespace DTXMania } if( base.b初めての進行描画 ) { - this.ct表示用 = new CCounter( 0, 0x3e7, 2, CDTXMania.Timer ); + this.ct表示用 = new CCounter( 0, 0x3e7, 2, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct表示用.t進行(); @@ -195,55 +194,55 @@ namespace DTXMania int y = this.n本体Y + pointArray[ i ].Y; if( num >= 0 ) { - this.t大文字表示( x, y, CDTXMania.stage結果.st演奏記録[ i ].nPerfect数.ToString( "00000" ) ); + this.t大文字表示( x, y, CDTXMania.app.stage結果.st演奏記録[ i ].nPerfect数.ToString( "00000" ) ); } if( num >= 100 ) { - this.t大文字表示( x, y + (int)(0x16 * Scale.Y), CDTXMania.stage結果.st演奏記録[ i ].nGreat数.ToString( "00000" ) ); + this.t大文字表示(x, y + (int)(0x16 * Scale.Y), CDTXMania.app.stage結果.st演奏記録[i].nGreat数.ToString("00000")); } if( num >= 200 ) { - this.t大文字表示( x, y + (int)(0x2c * Scale.Y), CDTXMania.stage結果.st演奏記録[ i ].nGood数.ToString( "00000" ) ); + this.t大文字表示(x, y + (int)(0x2c * Scale.Y), CDTXMania.app.stage結果.st演奏記録[i].nGood数.ToString("00000")); } if( num >= 300 ) { - this.t大文字表示( x, y + (int)(0x42 * Scale.Y), CDTXMania.stage結果.st演奏記録[ i ].nPoor数.ToString( "00000" ) ); + this.t大文字表示(x, y + (int)(0x42 * Scale.Y), CDTXMania.app.stage結果.st演奏記録[i].nPoor数.ToString("00000")); } if( num >= 400 ) { - this.t大文字表示( x, y + (int)(0x58 * Scale.Y), CDTXMania.stage結果.st演奏記録[ i ].nMiss数.ToString( "00000" ) ); + this.t大文字表示(x, y + (int)(0x58 * Scale.Y), CDTXMania.app.stage結果.st演奏記録[i].nMiss数.ToString("00000")); } if( num >= 0 ) { - this.t小文字表示( x + (int) ( 0x30 * Scale.X ), y, string.Format( "{0,3:##0}%", CDTXMania.stage結果.fPerfect率[ i ] ) ); + this.t小文字表示(x + (int)(0x30 * Scale.X), y, string.Format("{0,3:##0}%", CDTXMania.app.stage結果.fPerfect率[i])); } if( num >= 100 ) { - this.t小文字表示( x + (int)(0x30 * Scale.X), y + (int)(0x16 * Scale.Y), string.Format( "{0,3:##0}%", CDTXMania.stage結果.fGreat率[ i ] ) ); + this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x16 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.app.stage結果.fGreat率[i])); } if( num >= 200 ) { - this.t小文字表示( x + (int)(0x30 * Scale.X), y + (int)(0x2c * Scale.Y), string.Format( "{0,3:##0}%", CDTXMania.stage結果.fGood率[ i ] ) ); + this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x2c * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.app.stage結果.fGood率[i])); } if( num >= 300 ) { - this.t小文字表示( x + (int)(0x30 * Scale.X), y + (int)(0x42 * Scale.Y), string.Format( "{0,3:##0}%", CDTXMania.stage結果.fPoor率[ i ] ) ); + this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x42 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.app.stage結果.fPoor率[i])); } if( num >= 400 ) { - this.t小文字表示( x + (int)(0x30 * Scale.X), y + (int)(0x58 * Scale.Y), string.Format( "{0,3:##0}%", CDTXMania.stage結果.fMiss率[ i ] ) ); + this.t小文字表示(x + (int)(0x30 * Scale.X), y + (int)(0x58 * Scale.Y), string.Format("{0,3:##0}%", CDTXMania.app.stage結果.fMiss率[i])); } if( num >= 500 ) { - this.t大文字表示( x, y + (int)(110 * Scale.Y), string.Format( "{0,9:########0}", CDTXMania.stage結果.st演奏記録[ i ].n最大コンボ数 ) ); + this.t大文字表示(x, y + (int)(110 * Scale.Y), string.Format("{0,9:########0}", CDTXMania.app.stage結果.st演奏記録[i].n最大コンボ数)); } if( num >= 600 ) { - this.t大文字表示( x, y + (int)(0x84 * Scale.Y), CDTXMania.stage結果.st演奏記録[ i ].nスコア.ToString( "000000000" ), CDTXMania.stage結果.b新記録スコア[ i ] ); + this.t大文字表示(x, y + (int)(0x84 * Scale.Y), CDTXMania.app.stage結果.st演奏記録[i].nスコア.ToString("000000000"), CDTXMania.app.stage結果.b新記録スコア[i]); } if( num >= 700 ) { - this.t大文字表示( x - (int)(11 * Scale.X), y + (int)(0x9a * Scale.Y), string.Format( "{0,9:#####0.00}", CDTXMania.stage結果.st演奏記録[ i ].db演奏型スキル値 ), CDTXMania.stage結果.b新記録スキル[ i ] ); + this.t大文字表示(x - (int)(11 * Scale.X), y + (int)(0x9a * Scale.Y), string.Format("{0,9:#####0.00}", CDTXMania.app.stage結果.st演奏記録[i].db演奏型スキル値), CDTXMania.app.stage結果.b新記録スキル[i]); } if( num >= 700 ) { @@ -251,7 +250,7 @@ namespace DTXMania } if( num >= 800 ) { - this.t大文字表示( x, y + (int)(0xb0 * Scale.Y), string.Format( "{0,9:########0}", CDTXMania.stage結果.n演奏回数[ i ] ) ); + this.t大文字表示(x, y + (int)(0xb0 * Scale.Y), string.Format("{0,9:########0}", CDTXMania.app.stage結果.n演奏回数[i])); } } if( this.ct表示用.n現在の値 < 900 ) @@ -293,7 +292,7 @@ namespace DTXMania { for( int j = 0; j < 3; j++ ) { - if( CDTXMania.stage結果.st演奏記録[ j ].bフルコンボである ) + if (CDTXMania.app.stage結果.st演奏記録[j].bフルコンボである) { if( this.ct表示用.b終了値に達した ) { @@ -307,16 +306,16 @@ namespace DTXMania } if( !this.bフルコンボ音再生済み ) { - if( ( ( CDTXMania.DTX.SOUND_FULLCOMBO != null ) && ( CDTXMania.DTX.SOUND_FULLCOMBO.Length > 0 ) ) && File.Exists( CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.SOUND_FULLCOMBO ) ) + if( ( ( CDTXMania.app.DTX.SOUND_FULLCOMBO != null ) && ( CDTXMania.app.DTX.SOUND_FULLCOMBO.Length > 0 ) ) && File.Exists( CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.SOUND_FULLCOMBO ) ) { try { if( this.sdDTXで指定されたフルコンボ音 != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.sdDTXで指定されたフルコンボ音 ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.sdDTXで指定されたフルコンボ音 ); this.sdDTXで指定されたフルコンボ音 = null; } - this.sdDTXで指定されたフルコンボ音 = CDTXMania.Sound管理.tサウンドを生成する( CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.SOUND_FULLCOMBO ); + this.sdDTXで指定されたフルコンボ音 = CDTXMania.app.Sound管理.tサウンドを生成する( CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.SOUND_FULLCOMBO ); if( this.sdDTXで指定されたフルコンボ音 != null ) { this.sdDTXで指定されたフルコンボ音.t再生を開始する(); @@ -328,7 +327,7 @@ namespace DTXMania } else { - CDTXMania.Skin.soundフルコンボ音.t再生する(); + CDTXMania.app.Skin.soundフルコンボ音.t再生する(); } this.bフルコンボ音再生済み = true; } diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultRank.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultRank.cs index 5dd4882b..2bd5e40e 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultRank.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultRank.cs @@ -10,7 +10,6 @@ namespace DTXMania internal class CActResultRank : CActivity { // コンストラクタ - public CActResultRank() { base.b活性化してない = true; @@ -49,37 +48,37 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txランクパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rank panel.png" ) ); - this.tx白波 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rank wave.png" ) ); - switch ( CDTXMania.stage結果.n総合ランク値 ) + this.txランクパネル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rank panel.png" ) ); + this.tx白波 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rank wave.png" ) ); + switch (CDTXMania.app.stage結果.n総合ランク値) { case 0: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankSS.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankSS.png" ) ); break; case 1: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankS.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankS.png" ) ); break; case 2: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankA.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankA.png" ) ); break; case 3: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankB.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankB.png" ) ); break; case 4: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankC.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankC.png" ) ); break; case 5: - this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankD.png" ) ); + this.txランク文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult rankD.png" ) ); break; case 6: case 99: // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす - this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult rankE.png")); + this.txランク文字 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult rankE.png")); break; default: @@ -93,9 +92,9 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txランクパネル ); - CDTXMania.tテクスチャの解放( ref this.tx白波 ); - CDTXMania.tテクスチャの解放( ref this.txランク文字 ); + TextureFactory.tテクスチャの解放( ref this.txランクパネル ); + TextureFactory.tテクスチャの解放( ref this.tx白波 ); + TextureFactory.tテクスチャの解放( ref this.txランク文字 ); base.OnManagedリソースの解放(); } } @@ -107,8 +106,8 @@ namespace DTXMania } if( base.b初めての進行描画 ) { - this.ct白波移動 = new CCounter( -132, 0x170, 10, CDTXMania.Timer ); - this.ctランク表示 = new CCounter( 0, 0x514, 2, CDTXMania.Timer ); + this.ct白波移動 = new CCounter( -132, 0x170, 10, CDTXMania.app.Timer ); + this.ctランク表示 = new CCounter( 0, 0x514, 2, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct白波移動.t進行Loop(); diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultSongBar.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultSongBar.cs index 72a32da3..633b37b3 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultSongBar.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultSongBar.cs @@ -52,14 +52,14 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txバー = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult song bar.png" ), false ); + this.txバー = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult song bar.png" ), false ); try { Bitmap image = new Bitmap( (int)(0x3a8 * Scale.X), (int)(0x36 * Scale.Y) ); Graphics graphics = Graphics.FromImage( image ); graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; - graphics.DrawString( CDTXMania.DTX.TITLE, this.ft曲名用フォント, Brushes.White, ( float ) 8f * Scale.X, ( float ) 0f ); - this.tx曲名 = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat ); + graphics.DrawString( CDTXMania.app.DTX.TITLE, this.ft曲名用フォント, Brushes.White, ( float ) 8f * Scale.X, ( float ) 0f ); + this.tx曲名 = new CTexture( CDTXMania.app.Device, image, CDTXMania.app.TextureFormat ); this.tx曲名.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f ); graphics.Dispose(); image.Dispose(); @@ -76,8 +76,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txバー ); - CDTXMania.tテクスチャの解放( ref this.tx曲名 ); + TextureFactory.tテクスチャの解放( ref this.txバー ); + TextureFactory.tテクスチャの解放( ref this.tx曲名 ); base.OnManagedリソースの解放(); } } @@ -89,7 +89,7 @@ namespace DTXMania } if( base.b初めての進行描画 ) { - this.ct登場用 = new CCounter( 0, 270, 4, CDTXMania.Timer ); + this.ct登場用 = new CCounter( 0, 270, 4, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct登場用.t進行(); diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs index fa73686a..59e8e68d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs +++ b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs @@ -85,24 +85,24 @@ namespace DTXMania { this.nランク値[ i ] = -1; this.fPerfect率[ i ] = this.fGreat率[ i ] = this.fGood率[ i ] = this.fPoor率[ i ] = this.fMiss率[ i ] = 0.0f; // #28500 2011.5.24 yyagi - if ( ( ( ( i != 0 ) || ( CDTXMania.DTX.bチップがある.Drums && !CDTXMania.ConfigIni.bギタレボモード ) ) && - ( ( i != 1 ) || CDTXMania.DTX.bチップがある.Guitar ) ) && - ( ( i != 2 ) || CDTXMania.DTX.bチップがある.Bass ) ) + if ( ( ( ( i != 0 ) || ( CDTXMania.app.DTX.bチップがある.Drums && !CDTXMania.app.ConfigIni.bギタレボモード ) ) && + ( ( i != 1 ) || CDTXMania.app.DTX.bチップがある.Guitar ) ) && + ( ( i != 2 ) || CDTXMania.app.DTX.bチップがある.Bass ) ) { CScoreIni.C演奏記録 part = this.st演奏記録[ i ]; bool bIsAutoPlay = true; switch( i ) { case 0: - bIsAutoPlay = CDTXMania.ConfigIni.bドラムが全部オートプレイである || !CDTXMania.ConfigIni.bDrums有効; // #35411 chnmr0 add Drums が有効でない場合 AUTO 扱いとして LastPlay 更新しない + bIsAutoPlay = CDTXMania.app.ConfigIni.bドラムが全部オートプレイである || !CDTXMania.app.ConfigIni.bDrums有効; // #35411 chnmr0 add Drums が有効でない場合 AUTO 扱いとして LastPlay 更新しない break; case 1: - bIsAutoPlay = CDTXMania.ConfigIni.bギターが全部オートプレイである || !CDTXMania.ConfigIni.bGuitar有効; // #35411 chnmr0 add + bIsAutoPlay = CDTXMania.app.ConfigIni.bギターが全部オートプレイである || !CDTXMania.app.ConfigIni.bGuitar有効; // #35411 chnmr0 add break; case 2: - bIsAutoPlay = CDTXMania.ConfigIni.bベースが全部オートプレイである || !CDTXMania.ConfigIni.bGuitar有効; + bIsAutoPlay = CDTXMania.app.ConfigIni.bベースが全部オートプレイである || !CDTXMania.app.ConfigIni.bGuitar有効; break; } this.fPerfect率[ i ] = bIsAutoPlay ? 0f : ( ( 100f * part.nPerfect数 ) / ( (float) part.n全チップ数 ) ); @@ -121,7 +121,7 @@ namespace DTXMania #region [ .score.ini の作成と出力 ] //--------------------- - string str = CDTXMania.DTX.strファイル名の絶対パス + ".score.ini"; + string str = CDTXMania.app.DTX.strファイル名の絶対パス + ".score.ini"; CScoreIni ini = new CScoreIni( str ); bool[] b今までにフルコンボしたことがある = new bool[] { false, false, false }; @@ -192,13 +192,13 @@ namespace DTXMania } //---------------------------------------------------------------------/ } - if( CDTXMania.ConfigIni.bScoreIniを出力する ) + if( CDTXMania.app.ConfigIni.bScoreIniを出力する ) ini.t書き出し( str ); //--------------------- #endregion #region [ リザルト画面への演奏回数の更新 #24281 2011.1.30 yyagi] - if( CDTXMania.ConfigIni.bScoreIniを出力する ) + if( CDTXMania.app.ConfigIni.bScoreIniを出力する ) { this.n演奏回数.Drums = ini.stファイル.PlayCountDrums; this.n演奏回数.Guitar = ini.stファイル.PlayCountGuitar; @@ -207,9 +207,9 @@ namespace DTXMania #endregion #region [ 選曲画面の譜面情報の更新 ] //--------------------- - if( !CDTXMania.bコンパクトモード ) + if( !CDTXMania.app.bコンパクトモード ) { - Cスコア cスコア = CDTXMania.stage選曲.r確定されたスコア; + Cスコア cスコア = CDTXMania.app.stage選曲.r確定されたスコア; bool[] b更新が必要か否か = new bool[ 3 ]; CScoreIni.t更新条件を取得する( out b更新が必要か否か[ 0 ], out b更新が必要か否か[ 1 ], out b更新が必要か否か[ 2 ] ); for( int m = 0; m < 3; m++ ) @@ -244,17 +244,17 @@ namespace DTXMania rank = 6; } - if( string.IsNullOrEmpty( CDTXMania.DTX.RESULTSOUND[ rank ] ) ) + if( string.IsNullOrEmpty( CDTXMania.app.DTX.RESULTSOUND[ rank ] ) ) { - CDTXMania.Skin.soundステージクリア音.t再生する(); + CDTXMania.app.Skin.soundステージクリア音.t再生する(); this.rResultSound = null; } else { - string str2 = CDTXMania.DTX.strフォルダ名 + CDTXMania.DTX.RESULTSOUND[ rank ]; + string str2 = CDTXMania.app.DTX.strフォルダ名 + CDTXMania.app.DTX.RESULTSOUND[ rank ]; try { - this.rResultSound = CDTXMania.Sound管理.tサウンドを生成する( str2 ); + this.rResultSound = CDTXMania.app.Sound管理.tサウンドを生成する( str2 ); } catch { @@ -282,7 +282,7 @@ namespace DTXMania saveCond.Guitar = true; saveCond.Bass = true; - foreach( CChip chip in CDTXMania.DTX.listChip ) + foreach( CChip chip in CDTXMania.app.DTX.listChip ) { if( chip.bIsAutoPlayed ) { @@ -294,11 +294,11 @@ namespace DTXMania } for(int instIndex = 0; instIndex < 3; ++instIndex) { - saveCond[instIndex] &= CDTXMania.listAutoGhostLag.Drums == null; + saveCond[instIndex] &= CDTXMania.app.DTX.listAutoGhostLag.Drums == null; } - string directory = CDTXMania.DTX.strフォルダ名; - string filename = CDTXMania.DTX.strファイル名 + "."; + string directory = CDTXMania.app.DTX.strフォルダ名; + string filename = CDTXMania.app.DTX.strファイル名 + "."; E楽器パート inst = E楽器パート.UNKNOWN; if ( sectionIndex == 0 ) @@ -353,7 +353,7 @@ namespace DTXMania } int cnt = 0; - foreach (DTXMania.CChip chip in CDTXMania.DTX.listChip) + foreach (DTXMania.CChip chip in CDTXMania.app.DTX.listChip) { if (chip.e楽器パート == inst) { @@ -368,7 +368,7 @@ namespace DTXMania using (BinaryWriter bw = new BinaryWriter(fs)) { bw.Write((Int32)cnt); - foreach (DTXMania.CChip chip in CDTXMania.DTX.listChip) + foreach (DTXMania.CChip chip in CDTXMania.app.DTX.listChip) { if (chip.e楽器パート == inst) { @@ -385,7 +385,7 @@ namespace DTXMania lag = 127; } byte lower = (byte)(lag + 128); - int upper = chip.nCurrentComboForGhost == 0 ? 1 : 0; + int upper = chip.extendInfoForGhost ? 0 : 1; bw.Write((short)( (upper<<8) | lower)); } } @@ -398,7 +398,7 @@ namespace DTXMania { if( this.rResultSound != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.rResultSound ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.rResultSound ); this.rResultSound = null; } base.On非活性化(); @@ -407,10 +407,10 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult background.jpg" ) ); - this.tx上部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult header panel.png" ), true ); - this.tx下部パネル = CDTXMania.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult footer panel.png" ), true ); - this.txオプションパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Screen option panels.png" ) ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenResult background.jpg" ) ); + this.tx上部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult header panel.png" ), true ); + this.tx下部パネル = TextureFactory.tテクスチャの生成Af( CSkin.Path( @"Graphics\ScreenResult footer panel.png" ), true ); + this.txオプションパネル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Screen option panels.png" ) ); base.OnManagedリソースの作成(); } } @@ -422,10 +422,10 @@ namespace DTXMania { this.ct登場用 = null; } - CDTXMania.tテクスチャの解放( ref this.tx背景 ); - CDTXMania.tテクスチャの解放( ref this.tx上部パネル ); - CDTXMania.tテクスチャの解放( ref this.tx下部パネル ); - CDTXMania.tテクスチャの解放( ref this.txオプションパネル ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.tx上部パネル ); + TextureFactory.tテクスチャの解放( ref this.tx下部パネル ); + TextureFactory.tテクスチャの解放( ref this.txオプションパネル ); base.OnManagedリソースの解放(); } } @@ -436,7 +436,7 @@ namespace DTXMania int num; if( base.b初めての進行描画 ) { - this.ct登場用 = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.ct登場用 = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); this.actFI.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; if( this.rResultSound != null ) @@ -513,8 +513,8 @@ namespace DTXMania } #region [ #24609 2011.3.14 yyagi ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ] if ( this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. - && CDTXMania.ConfigIni.bScoreIniを出力する - && CDTXMania.ConfigIni.bIsAutoResultCapture) // #25399 2011.6.9 yyagi + && CDTXMania.app.ConfigIni.bScoreIniを出力する + && CDTXMania.app.ConfigIni.bIsAutoResultCapture) // #25399 2011.6.9 yyagi { CheckAndSaveResultScreen(true); this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true; @@ -523,13 +523,13 @@ namespace DTXMania // キー入力 - if( CDTXMania.act現在入力を占有中のプラグイン == null ) + if( CDTXMania.app.act現在入力を占有中のプラグイン == null ) { - if( CDTXMania.ConfigIni.bドラム打音を発声する && CDTXMania.ConfigIni.bDrums有効 ) + if( CDTXMania.app.ConfigIni.bドラム打音を発声する && CDTXMania.app.ConfigIni.bDrums有効 ) { for( int i = 0; i < 10; i++ ) { - List events = CDTXMania.Pad.GetEvents( E楽器パート.DRUMS, (Eパッド) i ); + List events = CDTXMania.app.Pad.GetEvents( E楽器パート.DRUMS, (Eパッド) i ); if( ( events != null ) && ( events.Count > 0 ) ) { foreach( STInputEvent event2 in events ) @@ -589,17 +589,17 @@ namespace DTXMania ( rChip.eチャンネル番号 == Ech定義.HiHatClose ) || ( ( rChip.eチャンネル番号 == Ech定義.HiHatOpen ) && ( this.e最後に再生したHHのチャンネル番号 != Ech定義.HiHatOpen ) ) ) ) { - CDTXMania.DTX.tWavの再生停止( this.n最後に再生したHHのWAV番号 ); + CDTXMania.app.DTX.tWavの再生停止( this.n最後に再生したHHのWAV番号 ); this.n最後に再生したHHのWAV番号 = rChip.n整数値_内部番号; this.e最後に再生したHHのチャンネル番号 = rChip.eチャンネル番号; } - CDTXMania.DTX.tチップの再生( rChip, CDTXMania.Timer.nシステム時刻, nLane, CDTXMania.ConfigIni.n手動再生音量, CDTXMania.ConfigIni.b演奏音を強調する.Drums ); + CDTXMania.app.DTX.tチップの再生( rChip, CDTXMania.app.Timer.nシステム時刻, nLane, CDTXMania.app.ConfigIni.n手動再生音量, CDTXMania.app.ConfigIni.b演奏音を強調する.Drums ); } } } } } - if( ( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Return ) ) ) && !this.bアニメが完了 ) + if( ( ( CDTXMania.app.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || CDTXMania.app.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Return ) ) ) && !this.bアニメが完了 ) { this.actFI.tフェードイン完了(); // #25406 2011.6.9 yyagi this.actResultImage.tアニメを完了させる(); @@ -608,9 +608,9 @@ namespace DTXMania this.actSongBar.tアニメを完了させる(); this.ct登場用.t停止(); } - #region [ #24609 2011.4.7 yyagi リザルト画面で[F12]を押下すると、リザルト画像をpngで保存する機能は、CDTXManiaに移管。 ] -// if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F12 ) && -// CDTXMania.ConfigIni.bScoreIniを出力する ) + #region [ #24609 2011.4.7 yyagi リザルト画面で[F12]を押下すると、リザルト画像をpngで保存する機能は、CDTXMania.app.移管。 ] +// if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F12 ) && +// CDTXMania.app.ConfigIni.bScoreIniを出力する ) // { // CheckAndSaveResultScreen(false); // this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true; @@ -618,16 +618,16 @@ namespace DTXMania #endregion if ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) { - if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) ) + if ( CDTXMania.app.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) ) { - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; this.eフェードアウト完了時の戻り値 = E戻り値.完了; } - if ( ( ( CDTXMania.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) && this.bアニメが完了 ) + if ( ( ( CDTXMania.app.Pad.b押されたDGB( Eパッド.CY ) || CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) ) || ( CDTXMania.app.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC ) || CDTXMania.app.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) ) && this.bアニメが完了 ) { - CDTXMania.Skin.sound取消音.t再生する(); + CDTXMania.app.Skin.sound取消音.t再生する(); // this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; this.eフェードアウト完了時の戻り値 = E戻り値.完了; @@ -679,7 +679,7 @@ namespace DTXMania /// true=自動保存モード, false=手動保存モード private void CheckAndSaveResultScreen(bool bIsAutoSave) { - string path = Path.GetDirectoryName( CDTXMania.DTX.strファイル名の絶対パス ); + string path = Path.GetDirectoryName( CDTXMania.app.DTX.strファイル名の絶対パス ); string datetime = DateTime.Now.ToString( "yyyyMMddHHmmss" ); if ( bIsAutoSave ) { @@ -690,18 +690,18 @@ namespace DTXMania { string strPart = ( (E楽器パート) ( i ) ).ToString(); string strRank = ( (CScoreIni.ERANK) ( this.nランク値[ i ] ) ).ToString(); - string strFullPath = CDTXMania.DTX.strファイル名の絶対パス + "." + datetime + "_" + strPart + "_" + strRank + ".png"; + string strFullPath = CDTXMania.app.DTX.strファイル名の絶対パス + "." + datetime + "_" + strPart + "_" + strRank + ".png"; //Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png ); CDTXMania.app.SaveResultScreen( strFullPath ); } } } - #region [ #24609 2011.4.11 yyagi; リザルトの手動保存ロジックは、CDTXManiaに移管した。] + #region [ #24609 2011.4.11 yyagi; リザルトの手動保存ロジックは、CDTXMania.app.移管した。] // else // { // // リザルト画像を手動保存するときは、dtxファイル名.yyMMddHHmmss_SS.png という形式で保存。(楽器名無し) -// string strRank = ( (CScoreIni.ERANK) ( CDTXMania.stage結果.n総合ランク値 ) ).ToString(); -// string strSavePath = CDTXMania.strEXEのあるフォルダ + "\\" + "Capture_img"; +// string strRank = ( (CScoreIni.ERANK) ( CDTXMania.app.stage結果.n総合ランク値 ) ).ToString(); +// string strSavePath = CDTXMania.app.strEXEのあるフォルダ + "\\" + "Capture_img"; // if ( !Directory.Exists( strSavePath ) ) // { // try @@ -712,12 +712,12 @@ namespace DTXMania // { // } // } -// string strSetDefDifficulty = CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ]; +// string strSetDefDifficulty = CDTXMania.app.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.app.stage選曲.n確定された曲の難易度 ]; // if ( strSetDefDifficulty != null ) // { // strSetDefDifficulty = "(" + strSetDefDifficulty + ")"; // } -// string strFullPath = strSavePath + "\\" + CDTXMania.DTX.TITLE + strSetDefDifficulty + +// string strFullPath = strSavePath + "\\" + CDTXMania.app.DTX.TITLE + strSetDefDifficulty + // "." + datetime + "_" + strRank + ".png"; // // Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png ); // CDTXMania.app.SaveResultScreen( strFullPath ); diff --git a/DTXManiaプロジェクト/コード/ステージ/09.終了/CStage終了.cs b/DTXManiaプロジェクト/コード/ステージ/09.終了/CStage終了.cs index 077c5c6d..bf57dd1d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/09.終了/CStage終了.cs +++ b/DTXManiaプロジェクト/コード/ステージ/09.終了/CStage終了.cs @@ -53,7 +53,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenExit background.jpg" ), false ); + this.tx背景 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenExit background.jpg" ), false ); base.OnManagedリソースの作成(); } } @@ -61,7 +61,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx背景 ); + TextureFactory.tテクスチャの解放( ref this.tx背景 ); base.OnManagedリソースの解放(); } } @@ -71,12 +71,12 @@ namespace DTXMania { if( base.b初めての進行描画 ) { - CDTXMania.Skin.soundゲーム終了音.t再生する(); - this.ct時間稼ぎ.t開始( 0, 1, 0x3e8, CDTXMania.Timer ); + CDTXMania.app.Skin.soundゲーム終了音.t再生する(); + this.ct時間稼ぎ.t開始( 0, 1, 0x3e8, CDTXMania.app.Timer ); base.b初めての進行描画 = false; } this.ct時間稼ぎ.t進行(); - if( this.ct時間稼ぎ.b終了値に達した && !CDTXMania.Skin.soundゲーム終了音.b再生中 ) + if( this.ct時間稼ぎ.b終了値に達した && !CDTXMania.app.Skin.soundゲーム終了音.b再生中 ) { return 1; } diff --git a/DTXManiaプロジェクト/コード/ステージ/10.ChangeSkin/CStageChangeSkin.cs b/DTXManiaプロジェクト/コード/ステージ/10.ChangeSkin/CStageChangeSkin.cs index 3039ce2f..a94b1143 100644 --- a/DTXManiaプロジェクト/コード/ステージ/10.ChangeSkin/CStageChangeSkin.cs +++ b/DTXManiaプロジェクト/コード/ステージ/10.ChangeSkin/CStageChangeSkin.cs @@ -86,14 +86,14 @@ namespace DTXMania } public void tChangeSkinMain() { - Trace.TraceInformation( "スキン変更:" + CDTXMania.Skin.GetCurrentSkinSubfolderFullName( false ) ); + Trace.TraceInformation( "スキン変更:" + CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName( false ) ); - CDTXMania.act文字コンソール.On非活性化(); + CDTXMania.app.act文字コンソール.On非活性化(); - CDTXMania.Skin.PrepareReloadSkin(); - CDTXMania.Skin.ReloadSkin(); + CDTXMania.app.Skin.PrepareReloadSkin(); + CDTXMania.app.Skin.ReloadSkin(); - CDTXMania.act文字コンソール.On活性化(); + CDTXMania.app.act文字コンソール.On活性化(); } } } diff --git a/DTXManiaプロジェクト/コード/ステージ/CActDFPFont.cs b/DTXManiaプロジェクト/コード/ステージ/CActDFPFont.cs index 60823cc8..feec8573 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CActDFPFont.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CActDFPFont.cs @@ -557,8 +557,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx通常文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Screen font dfp.png" ), false ); - this.tx強調文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Screen font dfp em.png" ), false ); + this.tx通常文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Screen font dfp.png" ), false ); + this.tx強調文字 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Screen font dfp em.png" ), false ); base.OnManagedリソースの作成(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/CActFIFOBlack.cs b/DTXManiaプロジェクト/コード/ステージ/CActFIFOBlack.cs index 0b34d923..d18b1ab0 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CActFIFOBlack.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CActFIFOBlack.cs @@ -14,12 +14,12 @@ namespace DTXMania public void tフェードアウト開始() { this.mode = EFIFOモード.フェードアウト; - this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.counter = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); } public void tフェードイン開始() { this.mode = EFIFOモード.フェードイン; - this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.counter = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); } @@ -29,7 +29,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx黒タイル64x64 ); + TextureFactory.tテクスチャの解放( ref this.tx黒タイル64x64 ); base.On非活性化(); } } @@ -37,7 +37,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx黒タイル64x64 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ), false ); + this.tx黒タイル64x64 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Tile black 64x64.png" ), false ); base.OnManagedリソースの作成(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/CActFIFOWhite.cs b/DTXManiaプロジェクト/コード/ステージ/CActFIFOWhite.cs index bf4602e4..1d7df2de 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CActFIFOWhite.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CActFIFOWhite.cs @@ -13,12 +13,12 @@ namespace DTXMania public void tフェードアウト開始() { this.mode = EFIFOモード.フェードアウト; - this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.counter = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); } public void tフェードイン開始() { this.mode = EFIFOモード.フェードイン; - this.counter = new CCounter( 0, 100, 5, CDTXMania.Timer ); + this.counter = new CCounter( 0, 100, 5, CDTXMania.app.Timer ); } public void tフェードイン完了() // #25406 2011.6.9 yyagi { @@ -31,7 +31,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.tx白タイル64x64 ); + TextureFactory.tテクスチャの解放( ref this.tx白タイル64x64 ); base.On非活性化(); } } @@ -39,7 +39,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.tx白タイル64x64 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Tile white 64x64.png" ), false ); + this.tx白タイル64x64 = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Tile white 64x64.png" ), false ); base.OnManagedリソースの作成(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/CActLVLNFont.cs b/DTXManiaプロジェクト/コード/ステージ/CActLVLNFont.cs index 2fbc4c70..c3dbd8db 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CActLVLNFont.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CActLVLNFont.cs @@ -77,7 +77,7 @@ namespace DTXMania { if (!base.b活性化してない) { - this.tx数値 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect level numbers.png")); + this.tx数値 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect level numbers.png")); base.OnManagedリソースの作成(); } } diff --git a/DTXManiaプロジェクト/コード/ステージ/CActオプションパネル.cs b/DTXManiaプロジェクト/コード/ステージ/CActオプションパネル.cs index db9ad504..645d8146 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CActオプションパネル.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CActオプションパネル.cs @@ -15,7 +15,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - CDTXMania.tテクスチャの解放( ref this.txオプションパネル ); + TextureFactory.tテクスチャの解放( ref this.txオプションパネル ); base.On非活性化(); } } @@ -23,7 +23,7 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txオプションパネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Screen option panels.png" ), false ); + this.txオプションパネル = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Screen option panels.png" ), false ); base.OnManagedリソースの作成(); } } @@ -32,7 +32,7 @@ namespace DTXMania if( !base.b活性化してない ) { Device device = CDTXMania.app.Device; - CConfigIni configIni = CDTXMania.ConfigIni; + CConfigIni configIni = CDTXMania.app.ConfigIni; if( this.txオプションパネル != null ) { #region [ スクロール速度表示 ] diff --git a/DTXManiaプロジェクト/コード/ステージ/CDTXVmode.cs b/DTXManiaプロジェクト/コード/ステージ/CDTXVmode.cs index 4a7e2b66..8cbad039 100644 --- a/DTXManiaプロジェクト/コード/ステージ/CDTXVmode.cs +++ b/DTXManiaプロジェクト/コード/ステージ/CDTXVmode.cs @@ -383,7 +383,7 @@ namespace DTXMania public void tUpdateConfigIni() { CConfigIni cc = new CConfigIni(); - string path = CDTXMania.strEXEのあるフォルダ + "Config.ini"; + string path = CDTXMania.app.strEXEのあるフォルダ + "Config.ini"; if ( File.Exists( path ) ) { FileInfo fi = new FileInfo( path ); @@ -401,17 +401,17 @@ namespace DTXMania fi = null; } - cc.nViewerScrollSpeed = CDTXMania.ConfigIni.n譜面スクロール速度; - cc.bViewerShowDebugStatus = CDTXMania.ConfigIni.b演奏情報を表示する; - cc.bViewerVSyncWait = CDTXMania.ConfigIni.b垂直帰線待ちを行う; - cc.bViewerTimeStretch = CDTXMania.ConfigIni.bTimeStretch; - cc.bViewerDrums有効 = CDTXMania.ConfigIni.bDrums有効; - cc.bViewerGuitar有効 = CDTXMania.ConfigIni.bGuitar有効; + cc.nViewerScrollSpeed = CDTXMania.app.ConfigIni.n譜面スクロール速度; + cc.bViewerShowDebugStatus = CDTXMania.app.ConfigIni.b演奏情報を表示する; + cc.bViewerVSyncWait = CDTXMania.app.ConfigIni.b垂直帰線待ちを行う; + cc.bViewerTimeStretch = CDTXMania.app.ConfigIni.bTimeStretch; + cc.bViewerDrums有効 = CDTXMania.app.ConfigIni.bDrums有効; + cc.bViewerGuitar有効 = CDTXMania.app.ConfigIni.bGuitar有効; - cc.nViewerウインドウwidth = CDTXMania.ConfigIni.nウインドウwidth; - cc.nViewerウインドウheight = CDTXMania.ConfigIni.nウインドウheight; - cc.nViewer初期ウィンドウ開始位置X = CDTXMania.ConfigIni.n初期ウィンドウ開始位置X; - cc.nViewer初期ウィンドウ開始位置Y = CDTXMania.ConfigIni.n初期ウィンドウ開始位置Y; + cc.nViewerウインドウwidth = CDTXMania.app.ConfigIni.nウインドウwidth; + cc.nViewerウインドウheight = CDTXMania.app.ConfigIni.nウインドウheight; + cc.nViewer初期ウィンドウ開始位置X = CDTXMania.app.ConfigIni.n初期ウィンドウ開始位置X; + cc.nViewer初期ウィンドウ開始位置Y = CDTXMania.app.ConfigIni.n初期ウィンドウ開始位置Y; cc.t書き出し( path ); } diff --git a/DTXManiaプロジェクト/コード/プラグイン/CPluginHost.cs b/DTXManiaプロジェクト/コード/プラグイン/CPluginHost.cs index 873424ae..2eba05b3 100644 --- a/DTXManiaプロジェクト/コード/プラグイン/CPluginHost.cs +++ b/DTXManiaプロジェクト/コード/プラグイン/CPluginHost.cs @@ -12,7 +12,6 @@ namespace DTXMania internal class CPluginHost : IPluginHost { // コンストラクタ - public CPluginHost() { this._DTXManiaVersion = new CDTXVersion( CDTXMania.VERSION ); @@ -31,15 +30,15 @@ namespace DTXMania } public Format TextureFormat { - get { return CDTXMania.TextureFormat; } + get { return CDTXMania.app.TextureFormat; } } public CTimer Timer { - get { return CDTXMania.Timer; } + get { return CDTXMania.app.Timer; } } public CSound管理 Sound管理 { - get { return CDTXMania.Sound管理; } + get { return CDTXMania.app.Sound管理; } } public Size ClientSize { @@ -47,32 +46,32 @@ namespace DTXMania } public CStage.Eステージ e現在のステージ { - get { return ( CDTXMania.r現在のステージ != null ) ? CDTXMania.r現在のステージ.eステージID : CStage.Eステージ.何もしない; } + get { return ( CDTXMania.app.r現在のステージ != null ) ? CDTXMania.app.r現在のステージ.eステージID : CStage.Eステージ.何もしない; } } public CStage.Eフェーズ e現在のフェーズ { - get { return ( CDTXMania.r現在のステージ != null ) ? CDTXMania.r現在のステージ.eフェーズID : CStage.Eフェーズ.共通_通常状態; } + get { return ( CDTXMania.app.r現在のステージ != null ) ? CDTXMania.app.r現在のステージ.eフェーズID : CStage.Eフェーズ.共通_通常状態; } } public bool t入力を占有する(IPluginActivity act) { - if (CDTXMania.act現在入力を占有中のプラグイン != null) + if (CDTXMania.app.act現在入力を占有中のプラグイン != null) return false; - CDTXMania.act現在入力を占有中のプラグイン = act; + CDTXMania.app.act現在入力を占有中のプラグイン = act; return true; } public bool t入力の占有を解除する(IPluginActivity act) { - if (CDTXMania.act現在入力を占有中のプラグイン == null || CDTXMania.act現在入力を占有中のプラグイン != act) + if (CDTXMania.app.act現在入力を占有中のプラグイン == null || CDTXMania.app.act現在入力を占有中のプラグイン != act) return false; - CDTXMania.act現在入力を占有中のプラグイン = null; + CDTXMania.app.act現在入力を占有中のプラグイン = null; return true; } public void tシステムサウンドを再生する( Eシステムサウンド sound ) { - if( CDTXMania.Skin != null ) - CDTXMania.Skin[ sound ].t再生する(); + if( CDTXMania.app.Skin != null ) + CDTXMania.app.Skin[ sound ].t再生する(); } diff --git a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs index 0f4a9da5..9756d8f9 100644 --- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs +++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs @@ -1026,19 +1026,19 @@ namespace DTXMania public void SwapGuitarBassInfos_AutoFlags() { - //bool ts = CDTXMania.ConfigIni.bAutoPlay.Bass; // #24415 2011.2.21 yyagi: FLIP時のリザルトにAUTOの記録が混ざらないよう、AUTOのフラグもswapする - //CDTXMania.ConfigIni.bAutoPlay.Bass = CDTXMania.ConfigIni.bAutoPlay.Guitar; - //CDTXMania.ConfigIni.bAutoPlay.Guitar = ts; + //bool ts = CDTXMania.app.ConfigIni.bAutoPlay.Bass; // #24415 2011.2.21 yyagi: FLIP時のリザルトにAUTOの記録が混ざらないよう、AUTOのフラグもswapする + //CDTXMania.app.ConfigIni.bAutoPlay.Bass = CDTXMania.app.ConfigIni.bAutoPlay.Guitar; + //CDTXMania.app.ConfigIni.bAutoPlay.Guitar = ts; int looptime = (int) Eレーン.GtW - (int) Eレーン.GtR + 1; // #29390 2013.1.25 yyagi ギターのAutoLane/AutoPick対応に伴い、FLIPもこれに対応 for ( int i = 0; i < looptime; i++ ) // こんなに離れたところを独立して修正しなければならない設計ではいけませんね・・・ { - bool b = CDTXMania.ConfigIni.bAutoPlay[ i + (int) Eレーン.BsR ]; - CDTXMania.ConfigIni.bAutoPlay[ i + (int) Eレーン.BsR ] = CDTXMania.ConfigIni.bAutoPlay[ i + (int) Eレーン.GtR ]; - CDTXMania.ConfigIni.bAutoPlay[ i + (int) Eレーン.GtR ] = b; + bool b = CDTXMania.app.ConfigIni.bAutoPlay[ i + (int) Eレーン.BsR ]; + CDTXMania.app.ConfigIni.bAutoPlay[ i + (int) Eレーン.BsR ] = CDTXMania.app.ConfigIni.bAutoPlay[ i + (int) Eレーン.GtR ]; + CDTXMania.app.ConfigIni.bAutoPlay[ i + (int) Eレーン.GtR ] = b; } - CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped; + CDTXMania.app.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped = !CDTXMania.app.ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped; } public void SwapGuitarBassInfos_PlaySettings() // #35417 2015.8.18 yyagi: 演奏設定のFLIP機能を追加 { @@ -1062,7 +1062,7 @@ namespace DTXMania // 譜面スクロール速度の変更だけは、On活性化()で行うこと。そうしないと、演奏開始直後にスクロール速度が変化して見苦しい。 n = n譜面スクロール速度.Bass; n譜面スクロール速度.Bass = n譜面スクロール速度.Guitar; n譜面スクロール速度.Guitar = n; - CDTXMania.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped = !CDTXMania.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped; + CDTXMania.app.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped = !CDTXMania.app.ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped; } // コンストラクタ @@ -1093,7 +1093,7 @@ namespace DTXMania this.b垂直帰線待ちを行う = true; this.n初期ウィンドウ開始位置X = 0; // #30675 2013.02.04 ikanick add this.n初期ウィンドウ開始位置Y = 0; - this.nウインドウwidth = 0; // #34069 2014.7.23 yyagi 初回起動時のwindow sizeは、CDTXMania側で設定する(-> 1280x720にする) + this.nウインドウwidth = 0; // #34069 2014.7.23 yyagi 初回起動時のwindow sizeは、CDTXMania.app.で設定する(-> 1280x720にする) this.nウインドウheight = 0; // this.nフレーム毎スリープms = -1; // #xxxxx 2011.11.27 yyagi add this.n非フォーカス時スリープms = 1; // #23568 2010.11.04 ikanick add @@ -1313,12 +1313,12 @@ namespace DTXMania #endregion #region [ スキン関連 ] #region [ Skinパスの絶対パス→相対パス変換 ] - Uri uriRoot = new Uri( System.IO.Path.Combine( CDTXMania.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar ) ); + Uri uriRoot = new Uri( System.IO.Path.Combine( CDTXMania.app.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar ) ); if ( strSystemSkinSubfolderFullName != null && strSystemSkinSubfolderFullName.Length == 0 ) { // Config.iniが空の状態でDTXManiaをViewerとして起動・終了すると、strSystemSkinSubfolderFullName が空の状態でここに来る。 // → 初期値として Default/ を設定する。 - strSystemSkinSubfolderFullName = System.IO.Path.Combine( CDTXMania.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar + "Default" + System.IO.Path.DirectorySeparatorChar ); + strSystemSkinSubfolderFullName = System.IO.Path.Combine( CDTXMania.app.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar + "Default" + System.IO.Path.DirectorySeparatorChar ); } Uri uriPath = new Uri( System.IO.Path.Combine( this.strSystemSkinSubfolderFullName, "." + System.IO.Path.DirectorySeparatorChar ) ); string relPath = uriRoot.MakeRelativeUri( uriPath ).ToString(); // 相対パスを取得 @@ -2256,7 +2256,7 @@ namespace DTXMania string absSkinPath = str4; if ( !System.IO.Path.IsPathRooted( str4 ) ) { - absSkinPath = System.IO.Path.Combine( CDTXMania.strEXEのあるフォルダ, "System" ); + absSkinPath = System.IO.Path.Combine( CDTXMania.app.strEXEのあるフォルダ, "System" ); absSkinPath = System.IO.Path.Combine( absSkinPath, str4 ); Uri u = new Uri( absSkinPath ); absSkinPath = u.AbsolutePath.ToString(); // str4内に相対パスがある場合に備える diff --git a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs index 3e616a51..9f3d7c57 100644 --- a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs +++ b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs @@ -18,35 +18,27 @@ namespace DTXMania { internal class CDTXMania : Game { + public struct STPlugin + { + public IPluginActivity plugin; + public string strプラグインフォルダ; + public string strアセンブリ簡易名; + public Version Version; + } + // プロパティ #region [ properties ] public static readonly string VERSION = "105(160214)"; public static readonly string SLIMDXDLL = "c_net20x86_Jun2010"; public static readonly string D3DXDLL = "d3dx9_43.dll"; // June 2010 - //public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010 - //public static readonly string D3DXDLL = "d3dx9_41.dll"; // March 2009 + //public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010 + //public static readonly string D3DXDLL = "d3dx9_41.dll"; // March 2009 - public static CDTXMania app - { - get; - private set; - } - public static C文字コンソール act文字コンソール - { - get; - private set; - } - public static bool bコンパクトモード - { - get; - private set; - } - public static CConfigIni ConfigIni - { - get; - private set; - } - public static CDTX DTX + public static CDTXMania app { get; private set; } + public C文字コンソール act文字コンソール { get; private set; } + public bool bコンパクトモード { get; private set; } + public CConfigIni ConfigIni { get; private set; } + public CDTX DTX { get { @@ -54,37 +46,29 @@ namespace DTXMania } set { - if( ( dtx != null ) && ( app != null ) ) + if ((dtx != null) && (app != null)) { dtx.On非活性化(); - app.listトップレベルActivities.Remove( dtx ); + app.listトップレベルActivities.Remove(dtx); } dtx = value; - if( ( dtx != null ) && ( app != null ) ) + if ((dtx != null) && (app != null)) { - app.listトップレベルActivities.Add( dtx ); + app.listトップレベルActivities.Add(dtx); } } } - public static CFPS FPS - { - get; - private set; - } - public static CInput管理 Input管理 - { - get; - private set; - } + public CFPS FPS { get; private set; } + public CInput管理 Input管理 { get; private set; } #region [ 入力範囲ms ] - public static int nPerfect範囲ms + public int nPerfect範囲ms { get { - if( stage選曲.r確定された曲 != null ) + if (stage選曲.r確定された曲 != null) { C曲リストノード c曲リストノード = stage選曲.r確定された曲.r親ノード; - if( ( ( c曲リストノード != null ) && ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) && ( c曲リストノード.nPerfect範囲ms >= 0 ) ) + if (((c曲リストノード != null) && (c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX)) && (c曲リストノード.nPerfect範囲ms >= 0)) { return c曲リストノード.nPerfect範囲ms; } @@ -92,14 +76,14 @@ namespace DTXMania return ConfigIni.nヒット範囲ms.Perfect; } } - public static int nGreat範囲ms + public int nGreat範囲ms { get { - if( stage選曲.r確定された曲 != null ) + if (stage選曲.r確定された曲 != null) { C曲リストノード c曲リストノード = stage選曲.r確定された曲.r親ノード; - if( ( ( c曲リストノード != null ) && ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) && ( c曲リストノード.nGreat範囲ms >= 0 ) ) + if (((c曲リストノード != null) && (c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX)) && (c曲リストノード.nGreat範囲ms >= 0)) { return c曲リストノード.nGreat範囲ms; } @@ -107,14 +91,14 @@ namespace DTXMania return ConfigIni.nヒット範囲ms.Great; } } - public static int nGood範囲ms + public int nGood範囲ms { get { - if( stage選曲.r確定された曲 != null ) + if (stage選曲.r確定された曲 != null) { C曲リストノード c曲リストノード = stage選曲.r確定された曲.r親ノード; - if( ( ( c曲リストノード != null ) && ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) && ( c曲リストノード.nGood範囲ms >= 0 ) ) + if (((c曲リストノード != null) && (c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX)) && (c曲リストノード.nGood範囲ms >= 0)) { return c曲リストノード.nGood範囲ms; } @@ -122,14 +106,14 @@ namespace DTXMania return ConfigIni.nヒット範囲ms.Good; } } - public static int nPoor範囲ms + public int nPoor範囲ms { get { - if( stage選曲.r確定された曲 != null ) + if (stage選曲.r確定された曲 != null) { C曲リストノード c曲リストノード = stage選曲.r確定された曲.r親ノード; - if( ( ( c曲リストノード != null ) && ( c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX ) ) && ( c曲リストノード.nPoor範囲ms >= 0 ) ) + if (((c曲リストノード != null) && (c曲リストノード.eノード種別 == C曲リストノード.Eノード種別.BOX)) && (c曲リストノード.nPoor範囲ms >= 0)) { return c曲リストノード.nPoor範囲ms; } @@ -138,170 +122,71 @@ namespace DTXMania } } #endregion - public static CPad Pad - { - get; - private set; - } - public static Random Random - { - get; - private set; - } - public static CSkin Skin - { - get; - private set; - } - public static CSongs管理 Songs管理 - { - get; - set; // 2012.1.26 yyagi private解除 CStage起動でのdesirialize読み込みのため - } - public static CEnumSongs EnumSongs - { - get; - private set; - } - public static CActEnumSongs actEnumSongs - { - get; - private set; - } - public static CActFlushGPU actFlushGPU - { - get; - private set; - } + public CPad Pad { get; private set; } + public Random Random { get; private set; } + public CSkin Skin { get; private set; } + public CSongs管理 Songs管理 { get; set; }// 2012.1.26 yyagi private解除 CStage起動でのdesirialize読み込みのため + public CEnumSongs EnumSongs { get; private set; } + public CActEnumSongs actEnumSongs { get; private set; } + public CActFlushGPU actFlushGPU { get; private set; } + + public CSound管理 Sound管理 { get; private set; } + public CStage起動 stage起動 { get; private set; } + public CStageタイトル stageタイトル { get; private set; } + // public static CStageオプション stageオプション + // { + // get; + // private set; + // } + public CStageコンフィグ stageコンフィグ { get; private set; } + public CStage選曲 stage選曲 { get; private set; } + public CStage曲読み込み stage曲読み込み { get; private set; } + public CStage演奏ギター画面 stage演奏ギター画面 { get; private set; } + public CStage演奏ドラム画面 stage演奏ドラム画面 { get; private set; } + public CStage結果 stage結果 { get; private set; } + public CStageChangeSkin stageChangeSkin { get; private set; } + public CStage終了 stage終了 { get; private set; } + public CStage r現在のステージ { get; private set; } + public CStage r直前のステージ { get; private set; } + + public string strEXEのあるフォルダ { get; private set; } + + public string strコンパクトモードファイル { get; private set; } + + public CTimer Timer { get; private set; } + + public Format TextureFormat = Format.A8R8G8B8; + internal IPluginActivity act現在入力を占有中のプラグイン = null; + + public bool bApplicationActive { get; private set; } + + public bool b次のタイミングで垂直帰線同期切り替えを行う { get; set; } + + public bool b次のタイミングで全画面_ウィンドウ切り替えを行う { get; set; } - public static CSound管理 Sound管理 - { - get; - private set; - } - public static CStage起動 stage起動 - { - get; - private set; - } - public static CStageタイトル stageタイトル - { - get; - private set; - } -// public static CStageオプション stageオプション -// { -// get; -// private set; -// } - public static CStageコンフィグ stageコンフィグ - { - get; - private set; - } - public static CStage選曲 stage選曲 - { - get; - private set; - } - public static CStage曲読み込み stage曲読み込み - { - get; - private set; - } - public static CStage演奏ギター画面 stage演奏ギター画面 - { - get; - private set; - } - public static CStage演奏ドラム画面 stage演奏ドラム画面 - { - get; - private set; - } - public static CStage結果 stage結果 - { - get; - private set; - } - public static CStageChangeSkin stageChangeSkin - { - get; - private set; - } - public static CStage終了 stage終了 - { - get; - private set; - } - public static CStage r現在のステージ = null; - public static CStage r直前のステージ = null; - public static string strEXEのあるフォルダ - { - get; - private set; - } - public static string strコンパクトモードファイル - { - get; - private set; - } - public static CTimer Timer - { - get; - private set; - } - public static Format TextureFormat = Format.A8R8G8B8; - internal static IPluginActivity act現在入力を占有中のプラグイン = null; - public bool bApplicationActive - { - get; - private set; - } - public bool b次のタイミングで垂直帰線同期切り替えを行う - { - get; - set; - } - public bool b次のタイミングで全画面_ウィンドウ切り替えを行う - { - get; - set; - } public Device Device { - get { return base.GraphicsDeviceManager.Direct3D9.Device; } - } - public CPluginHost PluginHost - { - get; - private set; - } - public List listプラグイン = new List(); - public struct STPlugin - { - public IPluginActivity plugin; - public string strプラグインフォルダ; - public string strアセンブリ簡易名; - public Version Version; - } - private static Size currentClientSize // #23510 2010.10.27 add yyagi to keep current window size - { - get; - set; + get + { + return base.GraphicsDeviceManager.Direct3D9.Device; + } } + + public CPluginHost PluginHost { get; private set; } + + private Size currentClientSize { get; set; }// #23510 2010.10.27 add yyagi to keep current window size // public static CTimer ct; public IntPtr WindowHandle // 2012.10.24 yyagi; to add ASIO support { - get { return base.Window.Handle; } - } - public static CDTXVmode DTXVmode // #28821 2014.1.23 yyagi - { - get; - set; + get + { + return base.Window.Handle; + } } - public static STDGBVALUE< List > listAutoGhostLag = new STDGBVALUE>(); - public static STDGBVALUE< List > listTargetGhsotLag = new STDGBVALUE>(); + public CDTXVmode DTXVmode { get; set; }// #28821 2014.1.23 yyagi + + public List listプラグイン { get; private set; } + #endregion // コンストラクタ @@ -309,357 +194,951 @@ namespace DTXMania public CDTXMania() { CDTXMania.app = this; - this.t起動処理(); - } - - - // メソッド - - public void t全画面_ウィンドウモード切り替え() - { -#if WindowedFullscreen - if ( ConfigIni != null ) + listプラグイン = new List(); + #region [ strEXEのあるフォルダを決定する ] + //----------------- + // BEGIN #23629 2010.11.13 from: デバッグ時は Application.ExecutablePath が ($SolutionDir)/bin/x86/Debug/ などになり System/ の読み込みに失敗するので、カレントディレクトリを採用する。(プロジェクトのプロパティ→デバッグ→作業ディレクトリが有効になる) +#if DEBUG + strEXEのあるフォルダ = Environment.CurrentDirectory + @"\"; + //strEXEのあるフォルダ = Path.GetDirectoryName( Environment.GetCommandLineArgs()[ 0 ] ) + @"\"; #else - DeviceSettings settings = base.GraphicsDeviceManager.CurrentSettings.Clone(); - if ( ( ConfigIni != null ) && ( ConfigIni.bウィンドウモード != settings.Windowed ) ) + strEXEのあるフォルダ = Path.GetDirectoryName( Application.ExecutablePath ) + @"\"; // #23629 2010.11.9 yyagi: set correct pathname where DTXManiaGR.exe is. #endif + // END #23629 2010.11.13 from + //----------------- + #endregion + + #region [ Config.ini の読込み ] + //--------------------- + ConfigIni = new CConfigIni(); + string path = strEXEのあるフォルダ + "Config.ini"; + if (File.Exists(path)) { -#if !WindowedFullscreen - settings.Windowed = ConfigIni.bウィンドウモード; -#endif - if ( ConfigIni.bウィンドウモード == false ) // #23510 2010.10.27 yyagi: backup current window size before going fullscreen mode - { - currentClientSize = this.Window.ClientSize; - ConfigIni.nウインドウwidth = this.Window.ClientSize.Width; - ConfigIni.nウインドウheight = this.Window.ClientSize.Height; -// FDK.CTaskBar.ShowTaskBar( false ); - } -#if !WindowedFullscreen - base.GraphicsDeviceManager.ChangeDevice( settings ); -#endif - if ( ConfigIni.bウィンドウモード == true ) // #23510 2010.10.27 yyagi: to resume window size from backuped value - { -#if WindowedFullscreen - // #30666 2013.2.2 yyagi Don't use Fullscreen mode becasue NVIDIA GeForce is - // tend to delay drawing on Fullscreen mode. So DTXMania uses Maximized window - // in spite of using fullscreen mode. - app.Window.WindowState = FormWindowState.Normal; - app.Window.FormBorderStyle = FormBorderStyle.Sizable; - app.Window.WindowState = FormWindowState.Normal; -#endif - base.Window.ClientSize = - new Size( currentClientSize.Width, currentClientSize.Height ); -// FDK.CTaskBar.ShowTaskBar( true ); - } -#if WindowedFullscreen - else - { - app.Window.WindowState = FormWindowState.Normal; - app.Window.FormBorderStyle = FormBorderStyle.None; - app.Window.WindowState = FormWindowState.Maximized; - } - if ( ConfigIni.bウィンドウモード ) + try { - if ( !this.bマウスカーソル表示中 ) - { - Cursor.Show(); - this.bマウスカーソル表示中 = true; - } + ConfigIni.tファイルから読み込み(path); } - else if ( this.bマウスカーソル表示中 ) + catch { - Cursor.Hide(); - this.bマウスカーソル表示中 = false; + //ConfigIni = new CConfigIni(); // 存在してなければ新規生成 } -#endif } - } + this.Window.EnableSystemMenu = CDTXMania.app.ConfigIni.bIsEnabledSystemMenu; // #28200 2011.5.1 yyagi + // 2012.8.22 Config.iniが無いときに初期値が適用されるよう、この設定行をifブロック外に移動 - #region [ #24609 リザルト画像をpngで保存する ] // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. - /// - /// リザルト画像のキャプチャと保存。 - /// - /// 保存するファイル名(フルパス) - public bool SaveResultScreen( string strFullPath ) - { - string strSavePath = Path.GetDirectoryName( strFullPath ); - if ( !Directory.Exists( strSavePath ) ) + //--------------------- + #endregion + #region [ ログ出力開始 ] + //--------------------- + Trace.AutoFlush = true; + if (ConfigIni.bログ出力) { try { - Directory.CreateDirectory( strSavePath ); + Trace.Listeners.Add(new CTraceLogListener(new StreamWriter(System.IO.Path.Combine(strEXEのあるフォルダ, "DTXManiaLog.txt"), false, Encoding.GetEncoding("utf-16")))); } - catch + catch (System.UnauthorizedAccessException) // #24481 2011.2.20 yyagi { - return false; + int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; + string[] mes_writeErr = { + "DTXManiaLog.txtへの書き込みができませんでした。書き込みできるようにしてから、再度起動してください。", + "Failed to write DTXManiaLog.txt. Please set it writable and try again." + }; + MessageBox.Show(mes_writeErr[c], "DTXMania boot error", MessageBoxButtons.OK, MessageBoxIcon.Error); + Environment.Exit(1); } } - - // http://www.gamedev.net/topic/594369-dx9slimdxati-incorrect-saving-surface-to-file/ - using ( Surface pSurface = CDTXMania.app.Device.GetRenderTarget( 0 ) ) - { - Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png ); - } - return true; - } - #endregion - - // Game 実装 - - protected override void Initialize() - { -// new GCBeep(); - //sw.Start(); - //swlist1 = new List( 8192 ); - //swlist2 = new List( 8192 ); - //swlist3 = new List( 8192 ); - //swlist4 = new List( 8192 ); - //swlist5 = new List( 8192 ); - if ( this.listトップレベルActivities != null ) + Trace.WriteLine(""); + Trace.WriteLine("DTXMania powered by YAMAHA Silent Session Drums"); + Trace.WriteLine(string.Format("Release: {0}", VERSION)); + Trace.WriteLine(""); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ アプリケーションの初期化"); + Trace.TraceInformation("OS Version: " + Environment.OSVersion); + Trace.TraceInformation("ProcessorCount: " + Environment.ProcessorCount.ToString()); + Trace.TraceInformation("CLR Version: " + Environment.Version.ToString()); + //--------------------- + #endregion + #region [ DTXVmodeクラス の初期化 ] + //--------------------- + //Trace.TraceInformation( "DTXVモードの初期化を行います。" ); + //Trace.Indent(); + try { - foreach( CActivity activity in this.listトップレベルActivities ) - activity.OnManagedリソースの作成(); + DTXVmode = new CDTXVmode(); + DTXVmode.Enabled = false; + //Trace.TraceInformation( "DTXVモードの初期化を完了しました。" ); } - - foreach( STPlugin st in this.listプラグイン ) + finally { - Directory.SetCurrentDirectory( st.strプラグインフォルダ ); - st.plugin.OnManagedリソースの作成(); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + //Trace.Unindent(); } -#if GPUFlushAfterPresent - FrameEnd += dtxmania_FrameEnd; -#endif - } -#if GPUFlushAfterPresent - void dtxmania_FrameEnd( object sender, EventArgs e ) // GraphicsDeviceManager.game_FrameEnd()後に実行される - { // → Present()直後にGPUをFlushする - // → 画面のカクツキが頻発したため、ここでのFlushは行わない - actFlushGPU.On進行描画(); // Flush GPU - } -#endif - protected override void LoadContent() - { - if ( ConfigIni.bウィンドウモード ) + //--------------------- + #endregion + #region [ コンパクトモードスイッチの有無、もしくは、DTXViewerとしての起動 ] + //--------------------- + bコンパクトモード = false; + strコンパクトモードファイル = ""; + string[] commandLineArgs = Environment.GetCommandLineArgs(); + if ((commandLineArgs != null) && (commandLineArgs.Length > 1)) { - if ( !this.bマウスカーソル表示中 ) + bコンパクトモード = true; + string arg = ""; + + for (int i = 1; i < commandLineArgs.Length; i++) { - Cursor.Show(); - this.bマウスカーソル表示中 = true; + if (i != 1) + { + arg += " " + "\"" + commandLineArgs[i] + "\""; + } + else + { + arg += commandLineArgs[i]; + } } - } - else if ( this.bマウスカーソル表示中 ) - { - Cursor.Hide(); - this.bマウスカーソル表示中 = false; - } - this.Device.SetTransform(TransformState.View, Matrix.LookAtLH(new Vector3(0f, 0f, (float)(-SampleFramework.GameWindowSize.Height / 2 * Math.Sqrt(3.0))), new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f))); - this.Device.SetTransform(TransformState.Projection, Matrix.PerspectiveFovLH(C変換.DegreeToRadian((float)60f), ((float)this.Device.Viewport.Width) / ((float)this.Device.Viewport.Height), -100f, 100f)); - this.Device.SetRenderState(RenderState.Lighting, false); - this.Device.SetRenderState( RenderState.ZEnable, false ); - this.Device.SetRenderState( RenderState.AntialiasedLineEnable, false ); - this.Device.SetRenderState( RenderState.AlphaTestEnable, true ); - this.Device.SetRenderState( RenderState.AlphaRef, 10 ); - - this.Device.SetRenderState( RenderState.MultisampleAntialias, true ); - this.Device.SetSamplerState( 0, SamplerState.MinFilter, TextureFilter.Linear ); - this.Device.SetSamplerState( 0, SamplerState.MagFilter, TextureFilter.Linear ); - - this.Device.SetRenderState( RenderState.AlphaFunc, Compare.Greater ); - this.Device.SetRenderState( RenderState.AlphaBlendEnable, true ); - this.Device.SetRenderState( RenderState.SourceBlend, Blend.SourceAlpha ); - this.Device.SetRenderState( RenderState.DestinationBlend, Blend.InverseSourceAlpha ); - this.Device.SetTextureStageState( 0, TextureStage.AlphaOperation, TextureOperation.Modulate ); - this.Device.SetTextureStageState( 0, TextureStage.AlphaArg1, 2 ); - this.Device.SetTextureStageState( 0, TextureStage.AlphaArg2, 1 ); - - if( this.listトップレベルActivities != null ) - { - foreach( CActivity activity in this.listトップレベルActivities ) - activity.OnUnmanagedリソースの作成(); - } - - foreach( STPlugin st in this.listプラグイン ) - { - Directory.SetCurrentDirectory( st.strプラグインフォルダ ); - st.plugin.OnUnmanagedリソースの作成(); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - } - protected override void UnloadContent() - { - if( this.listトップレベルActivities != null ) - { - foreach( CActivity activity in this.listトップレベルActivities ) - activity.OnUnmanagedリソースの解放(); - } - - foreach( STPlugin st in this.listプラグイン ) - { - Directory.SetCurrentDirectory( st.strプラグインフォルダ ); - st.plugin.OnUnmanagedリソースの解放(); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - } - protected override void OnExiting( EventArgs e ) - { - CPowerManagement.tEnableMonitorSuspend(); // スリープ抑止状態を解除 - this.t終了処理(); - base.OnExiting( e ); - } - protected override void Update( GameTime gameTime ) - { - } - protected override void Draw( GameTime gameTime ) - { - Sound管理.t再生中の処理をする(); - - if( Timer != null ) - Timer.t更新(); - if (CSound管理.rc演奏用タイマ != null) - CSound管理.rc演奏用タイマ.t更新(); - - if( Input管理 != null ) - Input管理.tポーリング( this.bApplicationActive, CDTXMania.ConfigIni.bバッファ入力を行う ); - - if( FPS != null ) - FPS.tカウンタ更新(); - - //if( Pad != null ) ポーリング時にクリアしたらダメ!曲の開始時に1回だけクリアする。(2010.9.11) - // Pad.st検知したデバイス.Clear(); + DTXVmode.ParseArguments(arg); + if (DTXVmode.Enabled) + { + DTXVmode.Refreshed = false; // 初回起動時は再読み込みに走らせない + strコンパクトモードファイル = DTXVmode.filename; + switch (DTXVmode.soundDeviceType) // サウンド再生方式の設定 + { + case ESoundDeviceType.DirectSound: + ConfigIni.nSoundDeviceType = 0; + break; + case ESoundDeviceType.ExclusiveWASAPI: + ConfigIni.nSoundDeviceType = 2; + break; + case ESoundDeviceType.ASIO: + ConfigIni.nSoundDeviceType = 1; + ConfigIni.nASIODevice = DTXVmode.nASIOdevice; + break; + } - if( this.Device == null ) - return; + CDTXMania.app.ConfigIni.b垂直帰線待ちを行う = DTXVmode.VSyncWait; + CDTXMania.app.ConfigIni.bTimeStretch = DTXVmode.TimeStretch; + CDTXMania.app.ConfigIni.bDrums有効 = !DTXVmode.GRmode; + CDTXMania.app.ConfigIni.bGuitar有効 = true; - if ( this.bApplicationActive ) // DTXMania本体起動中の本体/モニタの省電力モード移行を抑止 - CPowerManagement.tDisableMonitorSuspend(); + CDTXMania.app.ConfigIni.b全画面モード = false; + CDTXMania.app.ConfigIni.nウインドウwidth = CDTXMania.app.ConfigIni.nViewerウインドウwidth; + CDTXMania.app.ConfigIni.nウインドウheight = CDTXMania.app.ConfigIni.nViewerウインドウheight; + CDTXMania.app.ConfigIni.n初期ウィンドウ開始位置X = CDTXMania.app.ConfigIni.nViewer初期ウィンドウ開始位置X; + CDTXMania.app.ConfigIni.n初期ウィンドウ開始位置Y = CDTXMania.app.ConfigIni.nViewer初期ウィンドウ開始位置Y; + } + else // 通常のコンパクトモード + { + strコンパクトモードファイル = commandLineArgs[1]; + } - // #xxxxx 2013.4.8 yyagi; sleepの挿入位置を、EndScnene~Present間から、BeginScene前に移動。描画遅延を小さくするため。 - #region [ スリープ ] - if ( ConfigIni.nフレーム毎スリープms >= 0 ) // #xxxxx 2011.11.27 yyagi - { - Thread.Sleep( ConfigIni.nフレーム毎スリープms ); + if (!File.Exists(strコンパクトモードファイル)) // #32985 2014.1.23 yyagi + { + Trace.TraceError("コンパクトモードで指定されたファイルが見つかりません。DTXManiaを終了します。[{0}]", strコンパクトモードファイル); +#if DEBUG + Environment.Exit(-1); +#else + if ( strコンパクトモードファイル == "" ) // DTXMania未起動状態で、DTXCで再生停止ボタンを押した場合は、何もせず終了 + { + Environment.Exit( -1 ); + } + else + { + throw new FileNotFoundException( "コンパクトモードで指定されたファイルが見つかりません。DTXManiaを終了します。", strコンパクトモードファイル ); + } +#endif + } + if (DTXVmode.Enabled) + { + Trace.TraceInformation("DTXVモードで起動します。[{0}]", strコンパクトモードファイル); + } + else + { + Trace.TraceInformation("コンパクトモードで起動します。[{0}]", strコンパクトモードファイル); + } } + //--------------------- #endregion - #region [ DTXCreatorからの指示 ] - if ( this.Window.IsReceivedMessage ) // ウインドウメッセージで、 - { - string strMes = this.Window.strMessage; - this.Window.IsReceivedMessage = false; - if ( strMes != null ) + #region [ Input管理 の初期化 ] + //--------------------- + Trace.TraceInformation("DirectInput, MIDI入力の初期化を行います。"); + Trace.Indent(); + try + { + bool bUseMIDIIn = !DTXVmode.Enabled; + Input管理 = new CInput管理(base.Window.Handle, bUseMIDIIn); + foreach (IInputDevice device in Input管理.list入力デバイス) { - DTXVmode.ParseArguments( strMes ); - - if ( DTXVmode.Enabled ) + if ((device.e入力デバイス種別 == E入力デバイス種別.Joystick) && !ConfigIni.dicJoystick.ContainsValue(device.GUID)) { - bコンパクトモード = true; - strコンパクトモードファイル = DTXVmode.filename; - if ( DTXVmode.Command == CDTXVmode.ECommand.Preview ) + int key = 0; + while (ConfigIni.dicJoystick.ContainsKey(key)) { - // preview soundの再生 - string strPreviewFilename = DTXVmode.previewFilename; -//Trace.TraceInformation( "Preview Filename=" + DTXVmode.previewFilename ); - try - { - if ( this.previewSound != null ) - { - this.previewSound.tサウンドを停止する(); - this.previewSound.Dispose(); - this.previewSound = null; - } - this.previewSound = CDTXMania.Sound管理.tサウンドを生成する( strPreviewFilename ); - this.previewSound.n音量 = DTXVmode.previewVolume; - this.previewSound.n位置 = DTXVmode.previewPan; - this.previewSound.t再生を開始する(); - Trace.TraceInformation( "DTXCからの指示で、サウンドを生成しました。({0})", strPreviewFilename ); - } - catch + key++; + } + ConfigIni.dicJoystick.Add(key, device.GUID); + } + } + foreach (IInputDevice device2 in Input管理.list入力デバイス) + { + if (device2.e入力デバイス種別 == E入力デバイス種別.Joystick) + { + foreach (KeyValuePair pair in ConfigIni.dicJoystick) + { + if (device2.GUID.Equals(pair.Value)) { - Trace.TraceError( "DTXCからの指示での、サウンドの生成に失敗しました。({0})", strPreviewFilename ); - if ( this.previewSound != null ) - { - this.previewSound.Dispose(); - } - this.previewSound = null; + ((CInputJoystick)device2).SetID(pair.Key); + break; } } + continue; } } + Trace.TraceInformation("DirectInput の初期化を完了しました。"); + } + catch (Exception exception2) + { + Trace.TraceError(exception2.Message); + Trace.TraceError("DirectInput, MIDI入力の初期化に失敗しました。"); + + int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; + string[] mes_writeErr = { + "DirectInputまたはMIDI入力の初期化に失敗しました。DTXManiaGRを終了します。", + "Failed to initialize DirectInput (or MIDI-IN)." + }; + MessageBox.Show(mes_writeErr[c], "DTXMania boot error", MessageBoxButtons.OK, MessageBoxIcon.Error); + Environment.Exit(1); + } + finally + { + Trace.Unindent(); } + //--------------------- #endregion - this.Device.BeginScene(); - this.Device.Clear( ClearFlags.ZBuffer | ClearFlags.Target, Color.Black, 1f, 0 ); + #region [ ウィンドウ初期化 ] + //--------------------- + base.Window.StartPosition = FormStartPosition.Manual; // #30675 2013.02.04 ikanick add + base.Window.Location = new Point(ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y); // #30675 2013.02.04 ikanick add - if( r現在のステージ != null ) - { - this.n進行描画の戻り値 = ( r現在のステージ != null ) ? r現在のステージ.On進行描画() : 0; + base.Window.Text = this.strWindowTitle; // 事前にDTXVmodeの実体を作っておくこと - #region [ プラグインの進行描画 ] - //--------------------- - foreach( STPlugin sp in this.listプラグイン ) - { - Directory.SetCurrentDirectory( sp.strプラグインフォルダ ); + base.Window.StartPosition = FormStartPosition.Manual; // #30675 2013.02.04 ikanick add + base.Window.Location = new Point(ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y); // #30675 2013.02.04 ikanick add - if( CDTXMania.act現在入力を占有中のプラグイン == null || CDTXMania.act現在入力を占有中のプラグイン == sp.plugin ) - sp.plugin.On進行描画( CDTXMania.Pad, CDTXMania.Input管理.Keyboard ); - else - sp.plugin.On進行描画( null, null ); + if (ConfigIni.nウインドウwidth <= 0 && ConfigIni.nウインドウheight <= 0) // #34069 2014.7.24 yyagi 初回起動時は1280x720にする + { + ConfigIni.nウインドウwidth = 1280; + ConfigIni.nウインドウheight = 720; + //w = this.Window.Screen.WorkingArea.Width; + //h = this.Window.Screen.WorkingArea.Height; + //w = base.Window.Screen.Bounds.Width; + //h = base.Window.Screen.Bounds.Height; + //ConfigIni.nウインドウwidth = SampleFramework.GameWindowSize.Width; + //ConfigIni.nウインドウheight = SampleFramework.GameWindowSize.Height; + } - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion + base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); // #34510 yyagi 2010.10.31 to change window size got from Config.ini +#if !WindowedFullscreen + if (!ConfigIni.bウィンドウモード) // #23510 2010.11.02 yyagi: add; to recover window size in case bootup with fullscreen mode + { // #30666 2013.02.02 yyagi: currentClientSize should be always made +#endif + currentClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); +#if !WindowedFullscreen + } +#endif + base.Window.MaximizeBox = true; // #23510 2010.11.04 yyagi: to support maximizing window + base.Window.FormBorderStyle = FormBorderStyle.Sizable; // #23510 2010.10.27 yyagi: changed from FixedDialog to Sizable, to support window resize + // #30666 2013.02.02 yyagi: moved the code to t全画面・ウインドウモード切り替え() + base.Window.ShowIcon = true; + base.Window.Icon = Properties.Resources.dtx; + base.Window.KeyDown += new KeyEventHandler(this.Window_KeyDown); + base.Window.MouseUp += new MouseEventHandler(this.Window_MouseUp); + base.Window.MouseDoubleClick += new MouseEventHandler(this.Window_MouseDoubleClick); // #23510 2010.11.13 yyagi: to go fullscreen mode + base.Window.ResizeEnd += new EventHandler(this.Window_ResizeEnd); // #23510 2010.11.20 yyagi: to set resized window size in Config.ini + base.Window.ApplicationActivated += new EventHandler(this.Window_ApplicationActivated); + base.Window.ApplicationDeactivated += new EventHandler(this.Window_ApplicationDeactivated); + base.Window.MouseMove += new MouseEventHandler(this.Window_MouseMove); + //--------------------- + #endregion + #region [ Direct3D9Exを使うかどうか判定 ] + #endregion + #region [ Direct3D9 デバイスの生成 ] + //--------------------- + DeviceSettings settings = new DeviceSettings(); +#if WindowedFullscreen + settings.Windowed = true; // #30666 2013.2.2 yyagi: Fullscreenmode is "Maximized window" mode +#else + settings.Windowed = ConfigIni.bウィンドウモード; +#endif + settings.BackBufferWidth = SampleFramework.GameWindowSize.Width; + settings.BackBufferHeight = SampleFramework.GameWindowSize.Height; + // settings.BackBufferCount = 3; + settings.EnableVSync = ConfigIni.b垂直帰線待ちを行う; + // settings.BackBufferFormat = Format.A8R8G8B8; + // settings.MultisampleType = MultisampleType.FourSamples; + // settings.MultisampleQuality = 4; + // settings.MultisampleType = MultisampleType.None; + // settings.MultisampleQuality = 0; + try + { + base.GraphicsDeviceManager.ChangeDevice(settings); + } + catch (DeviceCreationException e) + { + Trace.TraceError(e.ToString()); + MessageBox.Show(e.Message + e.ToString(), "DTXMania failed to boot: DirectX9 Initialize Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + Environment.Exit(-1); + } - CScoreIni scoreIni = null; + base.IsFixedTimeStep = false; + // base.TargetElapsedTime = TimeSpan.FromTicks( 10000000 / 75 ); + base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); // #23510 2010.10.31 yyagi: to recover window size. width and height are able to get from Config.ini. + base.InactiveSleepTime = TimeSpan.FromMilliseconds((float)(ConfigIni.n非フォーカス時スリープms)); // #23568 2010.11.3 yyagi: to support valiable sleep value when !IsActive + // #23568 2010.11.4 ikanick changed ( 1 -> ConfigIni ) +#if WindowedFullscreen + this.t全画面_ウィンドウモード切り替え(); // #30666 2013.2.2 yyagi: finalize settings for "Maximized window mode" +#endif + actFlushGPU = new CActFlushGPU(); + //--------------------- + #endregion - if ( Control.IsKeyLocked( Keys.CapsLock ) ) // #30925 2013.3.11 yyagi; capslock=ON時は、EnumSongsしないようにして、起動負荷とASIOの音切れの関係を確認する - { // → songs.db等の書き込み時だと音切れするっぽい - actEnumSongs.On非活性化(); - EnumSongs.SongListEnumCompletelyDone(); - CDTXMania.stage選曲.bIsEnumeratingSongs = false; - } - #region [ 曲検索スレッドの起動/終了 ] // ここに"Enumerating Songs..."表示を集約 - if ( !CDTXMania.bコンパクトモード ) + DTX = null; + + #region [ Skin の初期化 ] + //--------------------- + Trace.TraceInformation("スキンの初期化を行います。"); + Trace.Indent(); + try + { + Skin = new CSkin(CDTXMania.app.ConfigIni.strSystemSkinSubfolderFullName, CDTXMania.app.ConfigIni.bUseBoxDefSkin); + CDTXMania.app.ConfigIni.strSystemSkinSubfolderFullName = CDTXMania.app.Skin.GetCurrentSkinSubfolderFullName(true); // 旧指定のSkinフォルダが消滅していた場合に備える + Trace.TraceInformation("スキンの初期化を完了しました。"); + } + catch + { + Trace.TraceInformation("スキンの初期化に失敗しました。"); + throw; + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + //----------- + #region [ Timer の初期化 ] + //--------------------- + Trace.TraceInformation("タイマの初期化を行います。"); + Trace.Indent(); + try + { + Timer = new CTimer(CTimer.E種別.MultiMedia); + Trace.TraceInformation("タイマの初期化を完了しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ マウス消去用のタイマーを初期化 ] + ccMouseShow = new CCounter(); + #endregion + //----------- + + #region [ FPS カウンタの初期化 ] + //--------------------- + Trace.TraceInformation("FPSカウンタの初期化を行います。"); + Trace.Indent(); + try + { + FPS = new CFPS(); + Trace.TraceInformation("FPSカウンタを生成しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ act文字コンソールの初期化 ] + //--------------------- + Trace.TraceInformation("文字コンソールの初期化を行います。"); + Trace.Indent(); + try + { + act文字コンソール = new C文字コンソール(); + Trace.TraceInformation("文字コンソールを生成しました。"); + act文字コンソール.On活性化(); + Trace.TraceInformation("文字コンソールを活性化しました。"); + Trace.TraceInformation("文字コンソールの初期化を完了しました。"); + } + catch (Exception exception) + { + Trace.TraceError(exception.Message); + Trace.TraceError("文字コンソールの初期化に失敗しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ Pad の初期化 ] + //--------------------- + Trace.TraceInformation("パッドの初期化を行います。"); + Trace.Indent(); + try + { + Pad = new CPad(ConfigIni, Input管理); + Trace.TraceInformation("パッドの初期化を完了しました。"); + } + catch (Exception exception3) + { + Trace.TraceError(exception3.Message); + Trace.TraceError("パッドの初期化に失敗しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ Sound管理 の初期化 ] + //--------------------- + Trace.TraceInformation("サウンドデバイスの初期化を行います。"); + Trace.Indent(); + try + { + ESoundDeviceType soundDeviceType; + switch (CDTXMania.app.ConfigIni.nSoundDeviceType) + { + case 0: + soundDeviceType = ESoundDeviceType.DirectSound; + break; + case 1: + soundDeviceType = ESoundDeviceType.ASIO; + break; + case 2: + soundDeviceType = ESoundDeviceType.ExclusiveWASAPI; + break; + default: + soundDeviceType = ESoundDeviceType.Unknown; + break; + } + Sound管理 = new CSound管理(base.Window.Handle, + soundDeviceType, + CDTXMania.app.ConfigIni.nWASAPIBufferSizeMs, + // CDTXMania.app.ConfigIni.nASIOBufferSizeMs, + 0, + CDTXMania.app.ConfigIni.nASIODevice, + CDTXMania.app.ConfigIni.bUseOSTimer + ); + //Sound管理 = FDK.CSound管理.Instance; + //Sound管理.t初期化( soundDeviceType, 0, 0, CDTXMania.app.ConfigIni.nASIODevice, base.Window.Handle ); + + ShowWindowTitleWithSoundType(); + FDK.CSound管理.bIsTimeStretch = CDTXMania.app.ConfigIni.bTimeStretch; + Sound管理.nMasterVolume = CDTXMania.app.ConfigIni.nMasterVolume; + //FDK.CSound管理.bIsMP3DecodeByWindowsCodec = CDTXMania.app.ConfigIni.bNoMP3Streaming; + Trace.TraceInformation("サウンドデバイスの初期化を完了しました。"); + } + catch (Exception e) + { + Trace.TraceError(e.Message); + throw; + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ Songs管理 の初期化 ] + //--------------------- + Trace.TraceInformation("曲リストの初期化を行います。"); + Trace.Indent(); + try + { + Songs管理 = new CSongs管理(); + // Songs管理_裏読 = new CSongs管理(); + EnumSongs = new CEnumSongs(); + actEnumSongs = new CActEnumSongs(); + Trace.TraceInformation("曲リストの初期化を完了しました。"); + } + catch (Exception e) + { + Trace.TraceError(e.Message); + Trace.TraceError("曲リストの初期化に失敗しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ CAvi の初期化 ] + //--------------------- + CAvi.t初期化(); + //--------------------- + #endregion + #region [ Random の初期化 ] + //--------------------- + Random = new Random((int)Timer.nシステム時刻); + //--------------------- + #endregion + #region [ ステージの初期化 ] + //--------------------- + r現在のステージ = null; + r直前のステージ = null; + stage起動 = new CStage起動(); + stageタイトル = new CStageタイトル(); + // stageオプション = new CStageオプション(); + stageChangeSkin = new CStageChangeSkin(); + stage曲読み込み = new CStage曲読み込み(); + stageコンフィグ = new CStageコンフィグ(); + stage結果 = new CStage結果(); + stage選曲 = new CStage選曲(); + stage演奏ドラム画面 = new CStage演奏ドラム画面(); + stage演奏ギター画面 = new CStage演奏ギター画面(); + stage終了 = new CStage終了(); + this.listトップレベルActivities = new List(); + this.listトップレベルActivities.Add(actEnumSongs); + this.listトップレベルActivities.Add(act文字コンソール); + this.listトップレベルActivities.Add(stage起動); + this.listトップレベルActivities.Add(stageタイトル); + // this.listトップレベルActivities.Add( stageオプション ); + this.listトップレベルActivities.Add(stageコンフィグ); + this.listトップレベルActivities.Add(stage選曲); + this.listトップレベルActivities.Add(stage曲読み込み); + this.listトップレベルActivities.Add(stage演奏ドラム画面); + this.listトップレベルActivities.Add(stage演奏ギター画面); + this.listトップレベルActivities.Add(stage結果); + this.listトップレベルActivities.Add(stageChangeSkin); + this.listトップレベルActivities.Add(stage終了); + this.listトップレベルActivities.Add(actFlushGPU); + //--------------------- + #endregion + #region [ プラグインの検索と生成 ] + //--------------------- + PluginHost = new CPluginHost(); + + Trace.TraceInformation("プラグインの検索と生成を行います。"); + Trace.Indent(); + try + { + this.tプラグイン検索と生成(); + Trace.TraceInformation("プラグインの検索と生成を完了しました。"); + } + finally + { + Trace.Unindent(); + } + //--------------------- + #endregion + #region [ プラグインの初期化 ] + //--------------------- + if (this.listプラグイン != null && this.listプラグイン.Count > 0) + { + Trace.TraceInformation("プラグインの初期化を行います。"); + Trace.Indent(); + try + { + foreach (STPlugin st in this.listプラグイン) + { + Directory.SetCurrentDirectory(st.strプラグインフォルダ); + st.plugin.On初期化(this.PluginHost); + st.plugin.OnManagedリソースの作成(); + st.plugin.OnUnmanagedリソースの作成(); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + Trace.TraceInformation("すべてのプラグインの初期化を完了しました。"); + } + catch + { + Trace.TraceError("プラグインのどれかの初期化に失敗しました。"); + throw; + } + finally + { + Trace.Unindent(); + } + } + + //--------------------- + #endregion + + Trace.TraceInformation("アプリケーションの初期化を完了しました。"); + + #region [ 最初のステージの起動 ] + //--------------------- + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 起動"); + + if (CDTXMania.app.bコンパクトモード) + { + r現在のステージ = stage曲読み込み; + } + else + { + r現在のステージ = stage起動; + } + r現在のステージ.On活性化(); + //--------------------- + #endregion + } + + + // メソッド + + public void t全画面_ウィンドウモード切り替え() + { +#if WindowedFullscreen + if (ConfigIni != null) +#else + DeviceSettings settings = base.GraphicsDeviceManager.CurrentSettings.Clone(); + if ( ( ConfigIni != null ) && ( ConfigIni.bウィンドウモード != settings.Windowed ) ) +#endif + { +#if !WindowedFullscreen + settings.Windowed = ConfigIni.bウィンドウモード; +#endif + if (ConfigIni.bウィンドウモード == false) // #23510 2010.10.27 yyagi: backup current window size before going fullscreen mode + { + currentClientSize = this.Window.ClientSize; + ConfigIni.nウインドウwidth = this.Window.ClientSize.Width; + ConfigIni.nウインドウheight = this.Window.ClientSize.Height; + // FDK.CTaskBar.ShowTaskBar( false ); + } +#if !WindowedFullscreen + base.GraphicsDeviceManager.ChangeDevice( settings ); +#endif + if (ConfigIni.bウィンドウモード == true) // #23510 2010.10.27 yyagi: to resume window size from backuped value + { +#if WindowedFullscreen + // #30666 2013.2.2 yyagi Don't use Fullscreen mode becasue NVIDIA GeForce is + // tend to delay drawing on Fullscreen mode. So DTXMania uses Maximized window + // in spite of using fullscreen mode. + app.Window.WindowState = FormWindowState.Normal; + app.Window.FormBorderStyle = FormBorderStyle.Sizable; + app.Window.WindowState = FormWindowState.Normal; +#endif + base.Window.ClientSize = + new Size(currentClientSize.Width, currentClientSize.Height); + // FDK.CTaskBar.ShowTaskBar( true ); + } +#if WindowedFullscreen + else + { + app.Window.WindowState = FormWindowState.Normal; + app.Window.FormBorderStyle = FormBorderStyle.None; + app.Window.WindowState = FormWindowState.Maximized; + } + if (ConfigIni.bウィンドウモード) + { + if (!this.bマウスカーソル表示中) + { + Cursor.Show(); + this.bマウスカーソル表示中 = true; + } + } + else if (this.bマウスカーソル表示中) + { + Cursor.Hide(); + this.bマウスカーソル表示中 = false; + } +#endif + } + } + + #region [ #24609 リザルト画像をpngで保存する ] // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. + /// + /// リザルト画像のキャプチャと保存。 + /// + /// 保存するファイル名(フルパス) + public bool SaveResultScreen(string strFullPath) + { + string strSavePath = Path.GetDirectoryName(strFullPath); + if (!Directory.Exists(strSavePath)) + { + try + { + Directory.CreateDirectory(strSavePath); + } + catch + { + return false; + } + } + + // http://www.gamedev.net/topic/594369-dx9slimdxati-incorrect-saving-surface-to-file/ + using (Surface pSurface = CDTXMania.app.Device.GetRenderTarget(0)) + { + Surface.ToFile(pSurface, strFullPath, ImageFileFormat.Png); + } + return true; + } + #endregion + + // Game 実装 + + protected override void Initialize() + { + // new GCBeep(); + //sw.Start(); + //swlist1 = new List( 8192 ); + //swlist2 = new List( 8192 ); + //swlist3 = new List( 8192 ); + //swlist4 = new List( 8192 ); + //swlist5 = new List( 8192 ); + if (this.listトップレベルActivities != null) + { + foreach (CActivity activity in this.listトップレベルActivities) + activity.OnManagedリソースの作成(); + } + + foreach (STPlugin st in this.listプラグイン) + { + Directory.SetCurrentDirectory(st.strプラグインフォルダ); + st.plugin.OnManagedリソースの作成(); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } +#if GPUFlushAfterPresent + FrameEnd += dtxmania_FrameEnd; +#endif + } +#if GPUFlushAfterPresent + void dtxmania_FrameEnd( object sender, EventArgs e ) // GraphicsDeviceManager.game_FrameEnd()後に実行される + { // → Present()直後にGPUをFlushする + // → 画面のカクツキが頻発したため、ここでのFlushは行わない + actFlushGPU.On進行描画(); // Flush GPU + } +#endif + protected override void LoadContent() + { + if (ConfigIni.bウィンドウモード) + { + if (!this.bマウスカーソル表示中) + { + Cursor.Show(); + this.bマウスカーソル表示中 = true; + } + } + else if (this.bマウスカーソル表示中) + { + Cursor.Hide(); + this.bマウスカーソル表示中 = false; + } + this.Device.SetTransform(TransformState.View, Matrix.LookAtLH(new Vector3(0f, 0f, (float)(-SampleFramework.GameWindowSize.Height / 2 * Math.Sqrt(3.0))), new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f))); + this.Device.SetTransform(TransformState.Projection, Matrix.PerspectiveFovLH(C変換.DegreeToRadian((float)60f), ((float)this.Device.Viewport.Width) / ((float)this.Device.Viewport.Height), -100f, 100f)); + this.Device.SetRenderState(RenderState.Lighting, false); + this.Device.SetRenderState(RenderState.ZEnable, false); + this.Device.SetRenderState(RenderState.AntialiasedLineEnable, false); + this.Device.SetRenderState(RenderState.AlphaTestEnable, true); + this.Device.SetRenderState(RenderState.AlphaRef, 10); + + this.Device.SetRenderState(RenderState.MultisampleAntialias, true); + this.Device.SetSamplerState(0, SamplerState.MinFilter, TextureFilter.Linear); + this.Device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.Linear); + + this.Device.SetRenderState(RenderState.AlphaFunc, Compare.Greater); + this.Device.SetRenderState(RenderState.AlphaBlendEnable, true); + this.Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); + this.Device.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha); + this.Device.SetTextureStageState(0, TextureStage.AlphaOperation, TextureOperation.Modulate); + this.Device.SetTextureStageState(0, TextureStage.AlphaArg1, 2); + this.Device.SetTextureStageState(0, TextureStage.AlphaArg2, 1); + + if (this.listトップレベルActivities != null) + { + foreach (CActivity activity in this.listトップレベルActivities) + activity.OnUnmanagedリソースの作成(); + } + + foreach (STPlugin st in this.listプラグイン) + { + Directory.SetCurrentDirectory(st.strプラグインフォルダ); + st.plugin.OnUnmanagedリソースの作成(); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + } + protected override void UnloadContent() + { + if (this.listトップレベルActivities != null) + { + foreach (CActivity activity in this.listトップレベルActivities) + activity.OnUnmanagedリソースの解放(); + } + + foreach (STPlugin st in this.listプラグイン) + { + Directory.SetCurrentDirectory(st.strプラグインフォルダ); + st.plugin.OnUnmanagedリソースの解放(); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + } + protected override void OnExiting(EventArgs e) + { + CPowerManagement.tEnableMonitorSuspend(); // スリープ抑止状態を解除 + this.t終了処理(); + base.OnExiting(e); + } + protected override void Update(GameTime gameTime) + { + } + protected override void Draw(GameTime gameTime) + { + Sound管理.t再生中の処理をする(); + + if (Timer != null) + Timer.t更新(); + if (CSound管理.rc演奏用タイマ != null) + CSound管理.rc演奏用タイマ.t更新(); + + if (Input管理 != null) + Input管理.tポーリング(this.bApplicationActive, CDTXMania.app.ConfigIni.bバッファ入力を行う); + + if (FPS != null) + FPS.tカウンタ更新(); + + //if( Pad != null ) ポーリング時にクリアしたらダメ!曲の開始時に1回だけクリアする。(2010.9.11) + // Pad.st検知したデバイス.Clear(); + + if (this.Device == null) + return; + + if (this.bApplicationActive) // DTXMania本体起動中の本体/モニタの省電力モード移行を抑止 + CPowerManagement.tDisableMonitorSuspend(); + + // #xxxxx 2013.4.8 yyagi; sleepの挿入位置を、EndScnene~Present間から、BeginScene前に移動。描画遅延を小さくするため。 + #region [ スリープ ] + if (ConfigIni.nフレーム毎スリープms >= 0) // #xxxxx 2011.11.27 yyagi + { + Thread.Sleep(ConfigIni.nフレーム毎スリープms); + } + #endregion + + #region [ DTXCreatorからの指示 ] + if (this.Window.IsReceivedMessage) // ウインドウメッセージで、 + { + string strMes = this.Window.strMessage; + this.Window.IsReceivedMessage = false; + + if (strMes != null) + { + DTXVmode.ParseArguments(strMes); + + if (DTXVmode.Enabled) + { + bコンパクトモード = true; + strコンパクトモードファイル = DTXVmode.filename; + if (DTXVmode.Command == CDTXVmode.ECommand.Preview) + { + // preview soundの再生 + string strPreviewFilename = DTXVmode.previewFilename; + //Trace.TraceInformation( "Preview Filename=" + DTXVmode.previewFilename ); + try + { + if (this.previewSound != null) + { + this.previewSound.tサウンドを停止する(); + this.previewSound.Dispose(); + this.previewSound = null; + } + this.previewSound = CDTXMania.app.Sound管理.tサウンドを生成する(strPreviewFilename); + this.previewSound.n音量 = DTXVmode.previewVolume; + this.previewSound.n位置 = DTXVmode.previewPan; + this.previewSound.t再生を開始する(); + Trace.TraceInformation("DTXCからの指示で、サウンドを生成しました。({0})", strPreviewFilename); + } + catch + { + Trace.TraceError("DTXCからの指示での、サウンドの生成に失敗しました。({0})", strPreviewFilename); + if (this.previewSound != null) + { + this.previewSound.Dispose(); + } + this.previewSound = null; + } + } + } + } + } + #endregion + + this.Device.BeginScene(); + this.Device.Clear(ClearFlags.ZBuffer | ClearFlags.Target, Color.Black, 1f, 0); + + if (r現在のステージ != null) + { + this.n進行描画の戻り値 = (r現在のステージ != null) ? r現在のステージ.On進行描画() : 0; + + #region [ プラグインの進行描画 ] + //--------------------- + foreach (STPlugin sp in this.listプラグイン) + { + Directory.SetCurrentDirectory(sp.strプラグインフォルダ); + + if (CDTXMania.app.act現在入力を占有中のプラグイン == null || CDTXMania.app.act現在入力を占有中のプラグイン == sp.plugin) + sp.plugin.On進行描画(CDTXMania.app.Pad, CDTXMania.app.Input管理.Keyboard); + else + sp.plugin.On進行描画(null, null); + + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion + + + CScoreIni scoreIni = null; + + if (Control.IsKeyLocked(Keys.CapsLock)) // #30925 2013.3.11 yyagi; capslock=ON時は、EnumSongsしないようにして、起動負荷とASIOの音切れの関係を確認する + { // → songs.db等の書き込み時だと音切れするっぽい + actEnumSongs.On非活性化(); + EnumSongs.SongListEnumCompletelyDone(); + stage選曲.bIsEnumeratingSongs = false; + } + #region [ 曲検索スレッドの起動/終了 ] // ここに"Enumerating Songs..."表示を集約 + if (!CDTXMania.app.bコンパクトモード) { actEnumSongs.On進行描画(); // "Enumerating Songs..."アイコンの描画 } - switch ( r現在のステージ.eステージID ) + switch (r現在のステージ.eステージID) { case CStage.Eステージ.タイトル: case CStage.Eステージ.コンフィグ: case CStage.Eステージ.選曲: case CStage.Eステージ.曲読み込み: - if ( EnumSongs != null ) + if (EnumSongs != null) { #region [ (特定条件時) 曲検索スレッドの起動・開始 ] - if ( r現在のステージ.eステージID == CStage.Eステージ.タイトル && + if (r現在のステージ.eステージID == CStage.Eステージ.タイトル && r直前のステージ.eステージID == CStage.Eステージ.起動 && - this.n進行描画の戻り値 == (int) CStageタイトル.E戻り値.継続 && - !EnumSongs.IsSongListEnumStarted ) + this.n進行描画の戻り値 == (int)CStageタイトル.E戻り値.継続 && + !EnumSongs.IsSongListEnumStarted) { actEnumSongs.On活性化(); - CDTXMania.stage選曲.bIsEnumeratingSongs = true; - EnumSongs.Init( CDTXMania.Songs管理.listSongsDB, CDTXMania.Songs管理.nSongsDBから取得できたスコア数 ); // songs.db情報と、取得した曲数を、新インスタンスにも与える + stage選曲.bIsEnumeratingSongs = true; + EnumSongs.Init(CDTXMania.app.Songs管理.listSongsDB, CDTXMania.app.Songs管理.nSongsDBから取得できたスコア数); // songs.db情報と、取得した曲数を、新インスタンスにも与える EnumSongs.StartEnumFromDisk(); // 曲検索スレッドの起動・開始 - if ( CDTXMania.Songs管理.nSongsDBから取得できたスコア数 == 0 ) // もし初回起動なら、検索スレッドのプライオリティをLowestでなくNormalにする + if (CDTXMania.app.Songs管理.nSongsDBから取得できたスコア数 == 0) // もし初回起動なら、検索スレッドのプライオリティをLowestでなくNormalにする { - EnumSongs.ChangeEnumeratePriority( ThreadPriority.Normal ); + EnumSongs.ChangeEnumeratePriority(ThreadPriority.Normal); } } #endregion - + #region [ 曲検索の中断と再開 ] - if ( r現在のステージ.eステージID == CStage.Eステージ.選曲 && !EnumSongs.IsSongListEnumCompletelyDone ) + if (r現在のステージ.eステージID == CStage.Eステージ.選曲 && !EnumSongs.IsSongListEnumCompletelyDone) { - switch ( this.n進行描画の戻り値 ) + switch (this.n進行描画の戻り値) { case 0: // 何もない - //if ( CDTXMania.stage選曲.bIsEnumeratingSongs ) - if ( !CDTXMania.stage選曲.bIsPlayingPremovie ) + //if ( CDTXMania.app.stage選曲.bIsEnumeratingSongs ) + if (!stage選曲.bIsPlayingPremovie) { EnumSongs.Resume(); // #27060 2012.2.6 yyagi 中止していたバックグランド曲検索を再開 EnumSongs.IsSlowdown = false; @@ -681,8 +1160,8 @@ namespace DTXMania #endregion #region [ 曲探索中断待ち待機 ] - if ( r現在のステージ.eステージID == CStage.Eステージ.曲読み込み && !EnumSongs.IsSongListEnumCompletelyDone && - EnumSongs.thDTXFileEnumerate != null ) // #28700 2012.6.12 yyagi; at Compact mode, enumerating thread does not exist. + if (r現在のステージ.eステージID == CStage.Eステージ.曲読み込み && !EnumSongs.IsSongListEnumCompletelyDone && + EnumSongs.thDTXFileEnumerate != null) // #28700 2012.6.12 yyagi; at Compact mode, enumerating thread does not exist. { EnumSongs.WaitUntilSuspended(); // 念のため、曲検索が一時中断されるまで待機 } @@ -690,13 +1169,13 @@ namespace DTXMania #region [ 曲検索が完了したら、実際の曲リストに反映する ] // CStage選曲.On活性化() に回した方がいいかな? - if ( EnumSongs.IsSongListEnumerated ) + if (EnumSongs.IsSongListEnumerated) { actEnumSongs.On非活性化(); - CDTXMania.stage選曲.bIsEnumeratingSongs = false; + stage選曲.bIsEnumeratingSongs = false; - bool bRemakeSongTitleBar = ( r現在のステージ.eステージID == CStage.Eステージ.選曲 ) ? true : false; - CDTXMania.stage選曲.Refresh( EnumSongs.Songs管理, bRemakeSongTitleBar ); + bool bRemakeSongTitleBar = (r現在のステージ.eステージID == CStage.Eステージ.選曲) ? true : false; + stage選曲.Refresh(EnumSongs.Songs管理, bRemakeSongTitleBar); EnumSongs.SongListEnumCompletelyDone(); } #endregion @@ -705,7 +1184,7 @@ namespace DTXMania } #endregion - switch ( r現在のステージ.eステージID ) + switch (r現在のステージ.eステージID) { case CStage.Eステージ.何もしない: break; @@ -713,13 +1192,13 @@ namespace DTXMania case CStage.Eステージ.起動: #region [ *** ] //----------------------------- - if( this.n進行描画の戻り値 != 0 ) + if (this.n進行描画の戻り値 != 0) { - if( !bコンパクトモード ) + if (!bコンパクトモード) { r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ タイトル" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ タイトル"); stageタイトル.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageタイトル; @@ -727,18 +1206,18 @@ namespace DTXMania else { r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 曲読み込み" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 曲読み込み"); stage曲読み込み.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage曲読み込み; } - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -750,14 +1229,14 @@ namespace DTXMania case CStage.Eステージ.タイトル: #region [ *** ] //----------------------------- - switch( this.n進行描画の戻り値 ) + switch (this.n進行描画の戻り値) { case (int)CStageタイトル.E戻り値.GAMESTART: #region [ 選曲処理へ ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); stage選曲.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage選曲; @@ -766,17 +1245,17 @@ namespace DTXMania break; #region [ OPTION: 廃止済 ] -// case 2: // #24525 OPTIONとCONFIGの統合に伴い、OPTIONは廃止 -// #region [ *** ] -// //----------------------------- -// r現在のステージ.On非活性化(); -// Trace.TraceInformation( "----------------------" ); -// Trace.TraceInformation( "■ オプション" ); -// stageオプション.On活性化(); -// r直前のステージ = r現在のステージ; -// r現在のステージ = stageオプション; -// //----------------------------- -// #endregion + // case 2: // #24525 OPTIONとCONFIGの統合に伴い、OPTIONは廃止 + // #region [ *** ] + // //----------------------------- + // r現在のステージ.On非活性化(); + // Trace.TraceInformation( "----------------------" ); + // Trace.TraceInformation( "■ オプション" ); + // stageオプション.On活性化(); + // r直前のステージ = r現在のステージ; + // r現在のステージ = stageオプション; + // //----------------------------- + // #endregion // break; #endregion @@ -784,8 +1263,8 @@ namespace DTXMania #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ コンフィグ" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ コンフィグ"); stageコンフィグ.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageコンフィグ; @@ -797,8 +1276,8 @@ namespace DTXMania #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 終了" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 終了"); stage終了.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage終了; @@ -807,11 +1286,11 @@ namespace DTXMania break; } - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } //this.tガベージコレクションを実行する(); // #31980 2013.9.3 yyagi タイトル画面でだけ、毎フレームGCを実行して重くなっていた問題の修正 @@ -819,84 +1298,84 @@ namespace DTXMania #endregion break; -// case CStage.Eステージ.オプション: - #region [ *** ] -// //----------------------------- -// if( this.n進行描画の戻り値 != 0 ) -// { -// switch( r直前のステージ.eステージID ) -// { -// case CStage.Eステージ.タイトル: -// #region [ *** ] -// //----------------------------- -// r現在のステージ.On非活性化(); -// Trace.TraceInformation( "----------------------" ); -// Trace.TraceInformation( "■ タイトル" ); -// stageタイトル.On活性化(); -// r直前のステージ = r現在のステージ; -// r現在のステージ = stageタイトル; -// -// foreach( STPlugin pg in this.listプラグイン ) -// { -// Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); -// pg.plugin.Onステージ変更(); -// Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); -// } -// -// this.tガベージコレクションを実行する(); -// break; -// //----------------------------- -// #endregion -// -// case CStage.Eステージ.選曲: -// #region [ *** ] -// //----------------------------- -// r現在のステージ.On非活性化(); -// Trace.TraceInformation( "----------------------" ); -// Trace.TraceInformation( "■ 選曲" ); -// stage選曲.On活性化(); -// r直前のステージ = r現在のステージ; -// r現在のステージ = stage選曲; -// -// foreach( STPlugin pg in this.listプラグイン ) -// { -// Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); -// pg.plugin.Onステージ変更(); -// Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); -// } -// -// this.tガベージコレクションを実行する(); -// break; -// //----------------------------- -// #endregion -// } -// } -// //----------------------------- - #endregion -// break; + // case CStage.Eステージ.オプション: + #region [ *** ] + // //----------------------------- + // if( this.n進行描画の戻り値 != 0 ) + // { + // switch( r直前のステージ.eステージID ) + // { + // case CStage.Eステージ.タイトル: + // #region [ *** ] + // //----------------------------- + // r現在のステージ.On非活性化(); + // Trace.TraceInformation( "----------------------" ); + // Trace.TraceInformation( "■ タイトル" ); + // stageタイトル.On活性化(); + // r直前のステージ = r現在のステージ; + // r現在のステージ = stageタイトル; + // + // foreach( STPlugin pg in this.listプラグイン ) + // { + // Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); + // pg.plugin.Onステージ変更(); + // Directory.SetCurrentDirectory( CDTXMania.app.strEXEのあるフォルダ ); + // } + // + // this.tガベージコレクションを実行する(); + // break; + // //----------------------------- + // #endregion + // + // case CStage.Eステージ.選曲: + // #region [ *** ] + // //----------------------------- + // r現在のステージ.On非活性化(); + // Trace.TraceInformation( "----------------------" ); + // Trace.TraceInformation( "■ 選曲" ); + // stage選曲.On活性化(); + // r直前のステージ = r現在のステージ; + // r現在のステージ = stage選曲; + // + // foreach( STPlugin pg in this.listプラグイン ) + // { + // Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); + // pg.plugin.Onステージ変更(); + // Directory.SetCurrentDirectory( CDTXMania.app.strEXEのあるフォルダ ); + // } + // + // this.tガベージコレクションを実行する(); + // break; + // //----------------------------- + // #endregion + // } + // } + // //----------------------------- + #endregion + // break; case CStage.Eステージ.コンフィグ: #region [ *** ] //----------------------------- - if( this.n進行描画の戻り値 != 0 ) + if (this.n進行描画の戻り値 != 0) { - switch( r直前のステージ.eステージID ) + switch (r直前のステージ.eステージID) { case CStage.Eステージ.タイトル: #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ タイトル" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ タイトル"); stageタイトル.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageタイトル; - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -908,17 +1387,17 @@ namespace DTXMania #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); stage選曲.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage選曲; - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -934,23 +1413,23 @@ namespace DTXMania case CStage.Eステージ.選曲: #region [ *** ] //----------------------------- - switch( this.n進行描画の戻り値 ) + switch (this.n進行描画の戻り値) { - case (int) CStage選曲.E戻り値.タイトルに戻る: + case (int)CStage選曲.E戻り値.タイトルに戻る: #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ タイトル" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ タイトル"); stageタイトル.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageタイトル; - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -958,21 +1437,21 @@ namespace DTXMania //----------------------------- #endregion - case (int) CStage選曲.E戻り値.選曲した: + case (int)CStage選曲.E戻り値.選曲した: #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 曲読み込み" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 曲読み込み"); stage曲読み込み.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage曲読み込み; - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -980,43 +1459,43 @@ namespace DTXMania //----------------------------- #endregion -// case (int) CStage選曲.E戻り値.オプション呼び出し: - #region [ *** ] -// //----------------------------- -// r現在のステージ.On非活性化(); -// Trace.TraceInformation( "----------------------" ); -// Trace.TraceInformation( "■ オプション" ); -// stageオプション.On活性化(); -// r直前のステージ = r現在のステージ; -// r現在のステージ = stageオプション; -// -// foreach( STPlugin pg in this.listプラグイン ) -// { -// Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); -// pg.plugin.Onステージ変更(); -// Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); -// } -// -// this.tガベージコレクションを実行する(); -// break; -// //----------------------------- - #endregion + // case (int) CStage選曲.E戻り値.オプション呼び出し: + #region [ *** ] + // //----------------------------- + // r現在のステージ.On非活性化(); + // Trace.TraceInformation( "----------------------" ); + // Trace.TraceInformation( "■ オプション" ); + // stageオプション.On活性化(); + // r直前のステージ = r現在のステージ; + // r現在のステージ = stageオプション; + // + // foreach( STPlugin pg in this.listプラグイン ) + // { + // Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); + // pg.plugin.Onステージ変更(); + // Directory.SetCurrentDirectory( CDTXMania.app.strEXEのあるフォルダ ); + // } + // + // this.tガベージコレクションを実行する(); + // break; + // //----------------------------- + #endregion - case (int) CStage選曲.E戻り値.コンフィグ呼び出し: + case (int)CStage選曲.E戻り値.コンフィグ呼び出し: #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ コンフィグ" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ コンフィグ"); stageコンフィグ.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageコンフィグ; - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -1024,13 +1503,13 @@ namespace DTXMania //----------------------------- #endregion - case (int) CStage選曲.E戻り値.スキン変更: + case (int)CStage選曲.E戻り値.スキン変更: #region [ *** ] //----------------------------- r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ スキン切り替え" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ スキン切り替え"); stageChangeSkin.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stageChangeSkin; @@ -1046,36 +1525,36 @@ namespace DTXMania #region [ *** ] //----------------------------- DTXVmode.Refreshed = false; // 曲のリロード中に発生した再リロードは、無視する。 - if( this.n進行描画の戻り値 != 0 ) + if (this.n進行描画の戻り値 != 0) { - CDTXMania.Pad.st検知したデバイス.Clear(); // 入力デバイスフラグクリア(2010.9.11) + CDTXMania.app.Pad.st検知したデバイス.Clear(); // 入力デバイスフラグクリア(2010.9.11) r現在のステージ.On非活性化(); #region [ ESC押下時は、曲の読み込みを中止して選曲画面に戻る ] - if ( this.n進行描画の戻り値 == (int) E曲読込画面の戻り値.読込中止 ) + if (this.n進行描画の戻り値 == (int)E曲読込画面の戻り値.読込中止) { //DTX.t全チップの再生停止(); DTX.On非活性化(); - Trace.TraceInformation( "曲の読み込みを中止しました。" ); + Trace.TraceInformation("曲の読み込みを中止しました。"); this.tガベージコレクションを実行する(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); stage選曲.On活性化(); r直前のステージ = r現在のステージ; r現在のステージ = stage選曲; - foreach ( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } break; } #endregion - if( !ConfigIni.bギタレボモード ) + if (!ConfigIni.bギタレボモード) { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 演奏(ドラム画面)" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 演奏(ドラム画面)"); #if false // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化 for (int i = 0; i < 5; i++) { @@ -1093,8 +1572,8 @@ for (int i = 0; i < 3; i++) { } else { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 演奏(ギター画面)" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 演奏(ギター画面)"); #if false // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化 for (int i = 0; i < 5; i++) { @@ -1111,11 +1590,11 @@ for (int i = 0; i < 3; i++) { r現在のステージ = stage演奏ギター画面; } - foreach( STPlugin pg in this.listプラグイン ) + foreach (STPlugin pg in this.listプラグイン) { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } this.tガベージコレクションを実行する(); @@ -1140,21 +1619,21 @@ for (int i = 0; i < 3; i++) { //swlist5.Add( Convert.ToInt32( n5 ) ); #region [ DTXVモード中にDTXCreatorから指示を受けた場合の処理 ] - if ( DTXVmode.Enabled && DTXVmode.Refreshed ) + if (DTXVmode.Enabled && DTXVmode.Refreshed) { DTXVmode.Refreshed = false; - if ( DTXVmode.Command == CDTXVmode.ECommand.Stop ) + if (DTXVmode.Command == CDTXVmode.ECommand.Stop) { - if ( !ConfigIni.bギタレボモード ) + if (!ConfigIni.bギタレボモード) { - CDTXMania.stage演奏ドラム画面.t停止(); + stage演奏ドラム画面.t停止(); } else { - CDTXMania.stage演奏ギター画面.t停止(); + stage演奏ギター画面.t停止(); } - if ( previewSound != null ) + if (previewSound != null) { this.previewSound.tサウンドを停止する(); this.previewSound.Dispose(); @@ -1172,1210 +1651,484 @@ for (int i = 0; i < 3; i++) { // int d5 = swlist5[ i ]; // int dif = d1 - lastd; - // string s = ""; - // if ( 16 <= dif && dif <= 17 ) - // { - // } - // else - // { - // s = "★"; - // } - // Trace.TraceInformation( "frame {0:D4}: {1:D3} ( {2:D3}, {3:D3} - {7:D3}, {4:D3} ) {5}, n現在時刻={6}", f, dif, d1, d2, d3, s, d4, d5 ); - // lastd = d1; - // f++; - // } - // swlist1.Clear(); - // swlist2.Clear(); - // swlist3.Clear(); - // swlist4.Clear(); - // swlist5.Clear(); - - //} - } - else if ( DTXVmode.Command == CDTXVmode.ECommand.Play ) - { - if ( DTXVmode.NeedReload ) - { - if ( !ConfigIni.bギタレボモード ) - { - CDTXMania.stage演奏ドラム画面.t再読込(); - } - else - { - CDTXMania.stage演奏ギター画面.t再読込(); - } - - CDTXMania.ConfigIni.bDrums有効 = !DTXVmode.GRmode; - CDTXMania.ConfigIni.bGuitar有効 = true; - CDTXMania.ConfigIni.bTimeStretch = DTXVmode.TimeStretch; - CSound管理.bIsTimeStretch = DTXVmode.TimeStretch; - if ( CDTXMania.ConfigIni.b垂直帰線待ちを行う != DTXVmode.VSyncWait ) - { - CDTXMania.ConfigIni.b垂直帰線待ちを行う = DTXVmode.VSyncWait; - CDTXMania.app.b次のタイミングで垂直帰線同期切り替えを行う = true; - } - } - else - { - if ( !ConfigIni.bギタレボモード ) - { - CDTXMania.stage演奏ドラム画面.t演奏位置の変更( CDTXMania.DTXVmode.nStartBar ); - } - else - { - CDTXMania.stage演奏ギター画面.t演奏位置の変更( CDTXMania.DTXVmode.nStartBar ); - } - } - } - } - #endregion - - switch( this.n進行描画の戻り値 ) - { - case (int) E演奏画面の戻り値.再読込_再演奏: - #region [ DTXファイルを再読み込みして、再演奏 ] - DTX.t全チップの再生停止(); - DTX.On非活性化(); - r現在のステージ.On非活性化(); - stage曲読み込み.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage曲読み込み; - this.tガベージコレクションを実行する(); - break; - #endregion - - //case (int) E演奏画面の戻り値.再演奏: - #region [ 再読み込み無しで、再演奏 ] - #endregion - // break; - - case (int) E演奏画面の戻り値.継続: - break; - - case (int) E演奏画面の戻り値.演奏中断: - #region [ 演奏キャンセル ] - //----------------------------- - scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新( "Play canceled" ); - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #35417 2015.8.18 yyagi Gt/Bsを入れ替えていたなら、演奏設定を元に戻す - { - //CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す (現在は再演奏機能なしのため、元に戻す必要はない) - } - - //int lastd = 0; - //int f = 0; - //for (int i = 0; i < swlist1.Count; i++) - //{ - // int d1 = swlist1[ i ]; - // int d2 = swlist2[ i ]; - // int d3 = swlist3[ i ]; - // int d4 = swlist4[ i ]; - - // int dif = d1 - lastd; - // string s = ""; - // if ( 16 <= dif && dif <= 17 ) - // { - // } - // else - // { - // s = "★"; - // } - // Trace.TraceInformation( "frame {0:D4}: {1:D3} ( {2:D3}, {3:D3}, {4:D3} ) {5}, n現在時刻={6}", f, dif, d1, d2, d3, s, d4 ); - // lastd = d1; - // f++; - //} - //swlist1.Clear(); - //swlist2.Clear(); - //swlist3.Clear(); - //swlist4.Clear(); - - #region [ プラグイン On演奏キャンセル() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.On演奏キャンセル( scoreIni ); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - DTX.t全チップの再生停止(); - DTX.On非活性化(); - r現在のステージ.On非活性化(); - if( bコンパクトモード ) - { - base.Window.Close(); - } - else - { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); - stage選曲.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage選曲; - - #region [ プラグイン Onステージ変更() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - this.tガベージコレクションを実行する(); - } - break; - //----------------------------- - #endregion - - case (int) E演奏画面の戻り値.ステージ失敗: - #region [ 演奏失敗(StageFailed) ] - //----------------------------- - scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新( "Stage failed" ); - - #region [ プラグイン On演奏失敗() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.On演奏失敗( scoreIni ); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - DTX.t全チップの再生停止(); - DTX.On非活性化(); - r現在のステージ.On非活性化(); - if( bコンパクトモード ) - { - base.Window.Close(); - } - else - { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); - stage選曲.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage選曲; - - #region [ プラグイン Onステージ変更() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - this.tガベージコレクションを実行する(); - } - break; - //----------------------------- - #endregion - - case (int) E演奏画面の戻り値.ステージクリア: - #region [ 演奏クリア ] - //----------------------------- - CScoreIni.C演奏記録 c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass; - CChip[] chipArray = new CChip[ 10 ]; - if( ConfigIni.bギタレボモード ) - { - stage演奏ギター画面.t演奏結果を格納する( out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass ); - } - else - { - stage演奏ドラム画面.t演奏結果を格納する( out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass, out chipArray ); - } - - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える - { - CScoreIni.C演奏記録 t; - t = c演奏記録_Guitar; - c演奏記録_Guitar = c演奏記録_Bass; - c演奏記録_Bass = t; - - CDTXMania.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す - // #35417 2015.08.30 changed フラグにアクセスしている箇所が見つかったため有効化 - // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。 - // (直下でb全AUTOである にアクセスしているが、既に計算済みのクラスへのアクセスであり、ここでの交換対象ではない) - CDTXMania.ConfigIni.SwapGuitarBassInfos_AutoFlags(); - // #24415 2011.2.27 yyagi - // リザルト集計時のみ、Auto系のフラグも元に戻す。 - // これを戻すのは、リザルト集計後。 - } // "case CStage.Eステージ.結果:"のところ。 - - double ps = 0.0, gs = 0.0; - if ( !c演奏記録_Drums.b全AUTOである && c演奏記録_Drums.n全チップ数 > 0) { - ps = c演奏記録_Drums.db演奏型スキル値; - gs = c演奏記録_Drums.dbゲーム型スキル値; - } - else if ( !c演奏記録_Guitar.b全AUTOである && c演奏記録_Guitar.n全チップ数 > 0) { - ps = c演奏記録_Guitar.db演奏型スキル値; - gs = c演奏記録_Guitar.dbゲーム型スキル値; - } - else - { - ps = c演奏記録_Bass.db演奏型スキル値; - gs = c演奏記録_Bass.dbゲーム型スキル値; - } - string str = "Cleared"; - switch( CScoreIni.t総合ランク値を計算して返す( c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass ) ) - { - case (int)CScoreIni.ERANK.SS: - str = string.Format( "Cleared (SS: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.S: - str = string.Format( "Cleared (S: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.A: - str = string.Format( "Cleared (A: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.B: - str = string.Format( "Cleared (B: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.C: - str = string.Format( "Cleared (C: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.D: - str = string.Format( "Cleared (D: {0:F2})", ps ); - break; - - case (int) CScoreIni.ERANK.E: - str = string.Format( "Cleared (E: {0:F2})", ps ); - break; - - case (int)CScoreIni.ERANK.UNKNOWN: // #23534 2010.10.28 yyagi add: 演奏チップが0個のとき - str = "Cleared (No chips)"; - break; - } - - scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新( str ); - - #region [ プラグイン On演奏クリア() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.On演奏クリア( scoreIni ); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 結果" ); - stage結果.st演奏記録.Drums = c演奏記録_Drums; - stage結果.st演奏記録.Guitar = c演奏記録_Guitar; - stage結果.st演奏記録.Bass = c演奏記録_Bass; - stage結果.r空うちドラムチップ = chipArray; - stage結果.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage結果; - - #region [ プラグイン Onステージ変更() の呼び出し ] - //--------------------- - foreach( STPlugin pg in this.listプラグイン ) - { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); - } - //--------------------- - #endregion - - break; - //----------------------------- - #endregion - } - //----------------------------- - #endregion - break; + // string s = ""; + // if ( 16 <= dif && dif <= 17 ) + // { + // } + // else + // { + // s = "★"; + // } + // Trace.TraceInformation( "frame {0:D4}: {1:D3} ( {2:D3}, {3:D3} - {7:D3}, {4:D3} ) {5}, n現在時刻={6}", f, dif, d1, d2, d3, s, d4, d5 ); + // lastd = d1; + // f++; + // } + // swlist1.Clear(); + // swlist2.Clear(); + // swlist3.Clear(); + // swlist4.Clear(); + // swlist5.Clear(); - case CStage.Eステージ.結果: - #region [ *** ] - //----------------------------- - if( this.n進行描画の戻り値 != 0 ) - { - // #35417 2015.08.30 chnmr0 changed : ステージクリア処理で入れ替えるため元に戻した - // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。 - if ( CDTXMania.ConfigIni.bIsSwappedGuitarBass ) // #24415 2011.2.27 yyagi Gt/Bsを入れ替えていたなら、Auto状態をリザルト画面終了後に元に戻す - { - CDTXMania.ConfigIni.SwapGuitarBassInfos_AutoFlags(); // Auto入れ替え + //} } - - DTX.t全チップの再生一時停止(); - DTX.On非活性化(); - r現在のステージ.On非活性化(); - if( !bコンパクトモード ) + else if (DTXVmode.Command == CDTXVmode.ECommand.Play) { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); - stage選曲.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage選曲; + if (DTXVmode.NeedReload) + { + if (!ConfigIni.bギタレボモード) + { + stage演奏ドラム画面.t再読込(); + } + else + { + stage演奏ギター画面.t再読込(); + } - foreach( STPlugin pg in this.listプラグイン ) + CDTXMania.app.ConfigIni.bDrums有効 = !DTXVmode.GRmode; + CDTXMania.app.ConfigIni.bGuitar有効 = true; + CDTXMania.app.ConfigIni.bTimeStretch = DTXVmode.TimeStretch; + CSound管理.bIsTimeStretch = DTXVmode.TimeStretch; + if (CDTXMania.app.ConfigIni.b垂直帰線待ちを行う != DTXVmode.VSyncWait) + { + CDTXMania.app.ConfigIni.b垂直帰線待ちを行う = DTXVmode.VSyncWait; + CDTXMania.app.b次のタイミングで垂直帰線同期切り替えを行う = true; + } + } + else { - Directory.SetCurrentDirectory( pg.strプラグインフォルダ ); - pg.plugin.Onステージ変更(CDTXMania.ConfigIni); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + if (!ConfigIni.bギタレボモード) + { + stage演奏ドラム画面.t演奏位置の変更(CDTXMania.app.DTXVmode.nStartBar); + } + else + { + stage演奏ギター画面.t演奏位置の変更(CDTXMania.app.DTXVmode.nStartBar); + } } - - this.tガベージコレクションを実行する(); - } - else - { - base.Window.Close(); } } - //----------------------------- - #endregion - break; - - case CStage.Eステージ.ChangeSkin: - #region [ *** ] - //----------------------------- - if ( this.n進行描画の戻り値 != 0 ) - { - r現在のステージ.On非活性化(); - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ 選曲" ); - stage選曲.On活性化(); - r直前のステージ = r現在のステージ; - r現在のステージ = stage選曲; - this.tガベージコレクションを実行する(); - } - //----------------------------- #endregion - break; - case CStage.Eステージ.終了: - #region [ *** ] - //----------------------------- - if( this.n進行描画の戻り値 != 0 ) + switch (this.n進行描画の戻り値) { - base.Exit(); - } - //----------------------------- - #endregion - break; - } - } - this.Device.EndScene(); // Present()は game.csのOnFrameEnd()に登録された、GraphicsDeviceManager.game_FrameEnd() 内で実行されるので不要 - // (つまり、Present()は、Draw()完了後に実行される) -#if !GPUFlushAfterPresent - actFlushGPU.On進行描画(); // Flush GPU // EndScene()~Present()間 (つまりVSync前) でFlush実行 -#endif - if ( Sound管理.GetCurrentSoundDeviceType() != "DirectSound" ) - { - Sound管理.t再生中の処理をする(); // サウンドバッファの更新; 画面描画と同期させることで、スクロールをスムーズにする - } - - #region [ マウスカーソル消去制御 ] - ccMouseShow.t進行(); - if ( bマウスカーソル表示中 && ccMouseShow.b終了値に達した ) - { - Cursor.Hide(); - bマウスカーソル表示中 = false; - } - #endregion - #region [ 全画面・ウインドウ切り替え ] - if ( this.b次のタイミングで全画面_ウィンドウ切り替えを行う) - { - ConfigIni.b全画面モード = !ConfigIni.b全画面モード; - app.t全画面_ウィンドウモード切り替え(); - this.b次のタイミングで全画面_ウィンドウ切り替えを行う = false; - } - #endregion - #region [ 垂直基線同期切り替え ] - if ( this.b次のタイミングで垂直帰線同期切り替えを行う ) - { - bool bIsMaximized = this.Window.IsMaximized; // #23510 2010.11.3 yyagi: to backup current window mode before changing VSyncWait - currentClientSize = this.Window.ClientSize; // #23510 2010.11.3 yyagi: to backup current window size before changing VSyncWait - DeviceSettings currentSettings = app.GraphicsDeviceManager.CurrentSettings; - currentSettings.EnableVSync = ConfigIni.b垂直帰線待ちを行う; - app.GraphicsDeviceManager.ChangeDevice( currentSettings ); - this.b次のタイミングで垂直帰線同期切り替えを行う = false; - base.Window.ClientSize = new Size(currentClientSize.Width, currentClientSize.Height); // #23510 2010.11.3 yyagi: to resume window size after changing VSyncWait - if (bIsMaximized) - { - this.Window.WindowState = FormWindowState.Maximized; // #23510 2010.11.3 yyagi: to resume window mode after changing VSyncWait - } - } - #endregion - } - - // その他 - - #region [ 汎用ヘルパー ] - //----------------- - #region [ tテクスチャの生成 ] - public static CTexture tテクスチャの生成( string fileName ) - { - return tテクスチャの生成( fileName, false ); - } - public static CTexture tテクスチャの生成( string fileName, bool b黒を透過する ) - { - if ( app == null ) - { - return null; - } - try - { - return new CTexture( app.Device, fileName, TextureFormat, b黒を透過する ); - } - catch ( CTextureCreateFailedException ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。({0})", fileName ); - return null; - } - catch ( FileNotFoundException ) - { - Trace.TraceError( "テクスチャファイルが見つかりませんでした。({0})", fileName ); - return null; - } - } - public static CTextureAf tテクスチャの生成Af( string fileName ) - { - return tテクスチャの生成Af( fileName, false ); - } - public static CTextureAf tテクスチャの生成Af( string fileName, bool b黒を透過する ) - { - if ( app == null ) - { - return null; - } - try - { - return new CTextureAf( app.Device, fileName, TextureFormat, b黒を透過する ); - } - catch ( CTextureCreateFailedException ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。({0})", fileName ); - return null; - } - catch ( FileNotFoundException ) - { - Trace.TraceError( "テクスチャファイルが見つかりませんでした。({0})", fileName ); - return null; - } - } - public static void tテクスチャの解放( ref CTexture tx ) - { - CDTXMania.t安全にDisposeする( ref tx ); - } - public static void tテクスチャの解放( ref CTextureAf tx ) - { - CDTXMania.t安全にDisposeする( ref tx ); - } - public static CTexture tテクスチャの生成( byte[] txData ) - { - return tテクスチャの生成( txData, false ); - } - public static CTexture tテクスチャの生成( byte[] txData, bool b黒を透過する ) - { - if ( app == null ) - { - return null; - } - if ( txData == null ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。(txData==null)" ); - return null; - } - try - { - return new CTexture( app.Device, txData, TextureFormat, b黒を透過する ); - } - catch ( CTextureCreateFailedException ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。(txData)" ); - return null; - } - } - - public static CTexture tテクスチャの生成( Bitmap bitmap ) - { - return tテクスチャの生成( bitmap, false ); - } - public static CTexture tテクスチャの生成( Bitmap bitmap, bool b黒を透過する ) - { - if ( app == null ) - { - return null; - } - if ( bitmap == null ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。(bitmap==null)" ); - return null; - } - try - { - return new CTexture( app.Device, bitmap, TextureFormat, b黒を透過する ); - } - catch ( CTextureCreateFailedException ) - { - Trace.TraceError( "テクスチャの生成に失敗しました。(bitmap)" ); - return null; - } - } - #endregion - - /// プロパティ、インデクサには ref は使用できないので注意。 - public static void t安全にDisposeする( ref T obj ) - { - if ( obj == null ) - return; + case (int)E演奏画面の戻り値.再読込_再演奏: + #region [ DTXファイルを再読み込みして、再演奏 ] + DTX.t全チップの再生停止(); + DTX.On非活性化(); + r現在のステージ.On非活性化(); + stage曲読み込み.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage曲読み込み; + this.tガベージコレクションを実行する(); + break; + #endregion - var d = obj as IDisposable; + //case (int) E演奏画面の戻り値.再演奏: + #region [ 再読み込み無しで、再演奏 ] + #endregion + // break; - if ( d != null ) - d.Dispose(); + case (int)E演奏画面の戻り値.継続: + break; - obj = default( T ); - } - //----------------- - #endregion + case (int)E演奏画面の戻り値.演奏中断: + #region [ 演奏キャンセル ] + //----------------------------- + scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新("Play canceled"); + if (CDTXMania.app.ConfigIni.bIsSwappedGuitarBass) // #35417 2015.8.18 yyagi Gt/Bsを入れ替えていたなら、演奏設定を元に戻す + { + //CDTXMania.app.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す (現在は再演奏機能なしのため、元に戻す必要はない) + } - #region [ private ] - //----------------- - private bool bマウスカーソル表示中 = true; - private bool b終了処理完了済み; - private static CDTX dtx; - private List listトップレベルActivities; - private int n進行描画の戻り値; - private MouseButtons mb = System.Windows.Forms.MouseButtons.Left; - private string strWindowTitle - { - get - { - if ( DTXVmode.Enabled ) - { - return "DTXViewer release " + VERSION; - } - else - { - return "DTXMania .NET style release " + VERSION; - } - } - } - private CSound previewSound; - private CCounter ccMouseShow; + //int lastd = 0; + //int f = 0; + //for (int i = 0; i < swlist1.Count; i++) + //{ + // int d1 = swlist1[ i ]; + // int d2 = swlist2[ i ]; + // int d3 = swlist3[ i ]; + // int d4 = swlist4[ i ]; - private void t起動処理() - { - #region [ strEXEのあるフォルダを決定する ] - //----------------- - // BEGIN #23629 2010.11.13 from: デバッグ時は Application.ExecutablePath が ($SolutionDir)/bin/x86/Debug/ などになり System/ の読み込みに失敗するので、カレントディレクトリを採用する。(プロジェクトのプロパティ→デバッグ→作業ディレクトリが有効になる) -#if DEBUG - strEXEのあるフォルダ = Environment.CurrentDirectory + @"\"; - //strEXEのあるフォルダ = Path.GetDirectoryName( Environment.GetCommandLineArgs()[ 0 ] ) + @"\"; -#else - strEXEのあるフォルダ = Path.GetDirectoryName( Application.ExecutablePath ) + @"\"; // #23629 2010.11.9 yyagi: set correct pathname where DTXManiaGR.exe is. -#endif - // END #23629 2010.11.13 from - //----------------- - #endregion + // int dif = d1 - lastd; + // string s = ""; + // if ( 16 <= dif && dif <= 17 ) + // { + // } + // else + // { + // s = "★"; + // } + // Trace.TraceInformation( "frame {0:D4}: {1:D3} ( {2:D3}, {3:D3}, {4:D3} ) {5}, n現在時刻={6}", f, dif, d1, d2, d3, s, d4 ); + // lastd = d1; + // f++; + //} + //swlist1.Clear(); + //swlist2.Clear(); + //swlist3.Clear(); + //swlist4.Clear(); - #region [ Config.ini の読込み ] - //--------------------- - ConfigIni = new CConfigIni(); - string path = strEXEのあるフォルダ + "Config.ini"; - if (File.Exists(path)) - { - try - { - ConfigIni.tファイルから読み込み(path); - } - catch - { - //ConfigIni = new CConfigIni(); // 存在してなければ新規生成 - } - } - this.Window.EnableSystemMenu = CDTXMania.ConfigIni.bIsEnabledSystemMenu; // #28200 2011.5.1 yyagi - // 2012.8.22 Config.iniが無いときに初期値が適用されるよう、この設定行をifブロック外に移動 + #region [ プラグイン On演奏キャンセル() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.On演奏キャンセル(scoreIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion - //--------------------- - #endregion - #region [ ログ出力開始 ] - //--------------------- - Trace.AutoFlush = true; - if (ConfigIni.bログ出力) - { - try - { - Trace.Listeners.Add(new CTraceLogListener(new StreamWriter(System.IO.Path.Combine(strEXEのあるフォルダ, "DTXManiaLog.txt"), false, Encoding.GetEncoding("utf-16")))); - } - catch (System.UnauthorizedAccessException) // #24481 2011.2.20 yyagi - { - int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; - string[] mes_writeErr = { - "DTXManiaLog.txtへの書き込みができませんでした。書き込みできるようにしてから、再度起動してください。", - "Failed to write DTXManiaLog.txt. Please set it writable and try again." - }; - MessageBox.Show(mes_writeErr[c], "DTXMania boot error", MessageBoxButtons.OK, MessageBoxIcon.Error); - Environment.Exit(1); - } - } - Trace.WriteLine(""); - Trace.WriteLine("DTXMania powered by YAMAHA Silent Session Drums"); - Trace.WriteLine(string.Format("Release: {0}", VERSION)); - Trace.WriteLine(""); - Trace.TraceInformation("----------------------"); - Trace.TraceInformation("■ アプリケーションの初期化"); - Trace.TraceInformation("OS Version: " + Environment.OSVersion); - Trace.TraceInformation("ProcessorCount: " + Environment.ProcessorCount.ToString()); - Trace.TraceInformation("CLR Version: " + Environment.Version.ToString()); - //--------------------- - #endregion - #region [ DTXVmodeクラス の初期化 ] - //--------------------- - //Trace.TraceInformation( "DTXVモードの初期化を行います。" ); - //Trace.Indent(); - try - { - DTXVmode = new CDTXVmode(); - DTXVmode.Enabled = false; - //Trace.TraceInformation( "DTXVモードの初期化を完了しました。" ); - } - finally - { - //Trace.Unindent(); - } - //--------------------- - #endregion - #region [ コンパクトモードスイッチの有無、もしくは、DTXViewerとしての起動 ] - //--------------------- - bコンパクトモード = false; - strコンパクトモードファイル = ""; - string[] commandLineArgs = Environment.GetCommandLineArgs(); - if ((commandLineArgs != null) && (commandLineArgs.Length > 1)) - { - bコンパクトモード = true; - string arg = ""; + DTX.t全チップの再生停止(); + DTX.On非活性化(); + r現在のステージ.On非活性化(); + if (bコンパクトモード) + { + base.Window.Close(); + } + else + { + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); + stage選曲.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage選曲; - for (int i = 1; i < commandLineArgs.Length; i++) - { - if (i != 1) - { - arg += " " + "\"" + commandLineArgs[i] + "\""; - } - else - { - arg += commandLineArgs[i]; - } - } - DTXVmode.ParseArguments(arg); - if (DTXVmode.Enabled) - { - DTXVmode.Refreshed = false; // 初回起動時は再読み込みに走らせない - strコンパクトモードファイル = DTXVmode.filename; - switch (DTXVmode.soundDeviceType) // サウンド再生方式の設定 - { - case ESoundDeviceType.DirectSound: - ConfigIni.nSoundDeviceType = 0; - break; - case ESoundDeviceType.ExclusiveWASAPI: - ConfigIni.nSoundDeviceType = 2; - break; - case ESoundDeviceType.ASIO: - ConfigIni.nSoundDeviceType = 1; - ConfigIni.nASIODevice = DTXVmode.nASIOdevice; - break; - } + #region [ プラグイン Onステージ変更() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion - CDTXMania.ConfigIni.b垂直帰線待ちを行う = DTXVmode.VSyncWait; - CDTXMania.ConfigIni.bTimeStretch = DTXVmode.TimeStretch; - CDTXMania.ConfigIni.bDrums有効 = !DTXVmode.GRmode; - CDTXMania.ConfigIni.bGuitar有効 = true; + this.tガベージコレクションを実行する(); + } + break; + //----------------------------- + #endregion - CDTXMania.ConfigIni.b全画面モード = false; - CDTXMania.ConfigIni.nウインドウwidth = CDTXMania.ConfigIni.nViewerウインドウwidth; - CDTXMania.ConfigIni.nウインドウheight = CDTXMania.ConfigIni.nViewerウインドウheight; - CDTXMania.ConfigIni.n初期ウィンドウ開始位置X = CDTXMania.ConfigIni.nViewer初期ウィンドウ開始位置X; - CDTXMania.ConfigIni.n初期ウィンドウ開始位置Y = CDTXMania.ConfigIni.nViewer初期ウィンドウ開始位置Y; - } - else // 通常のコンパクトモード - { - strコンパクトモードファイル = commandLineArgs[1]; - } + case (int)E演奏画面の戻り値.ステージ失敗: + #region [ 演奏失敗(StageFailed) ] + //----------------------------- + scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新("Stage failed"); - if (!File.Exists(strコンパクトモードファイル)) // #32985 2014.1.23 yyagi - { - Trace.TraceError("コンパクトモードで指定されたファイルが見つかりません。DTXManiaを終了します。[{0}]", strコンパクトモードファイル); -#if DEBUG - Environment.Exit(-1); -#else - if ( strコンパクトモードファイル == "" ) // DTXMania未起動状態で、DTXCで再生停止ボタンを押した場合は、何もせず終了 - { - Environment.Exit( -1 ); - } - else - { - throw new FileNotFoundException( "コンパクトモードで指定されたファイルが見つかりません。DTXManiaを終了します。", strコンパクトモードファイル ); - } -#endif - } - if (DTXVmode.Enabled) - { - Trace.TraceInformation("DTXVモードで起動します。[{0}]", strコンパクトモードファイル); - } - else - { - Trace.TraceInformation("コンパクトモードで起動します。[{0}]", strコンパクトモードファイル); - } - } - //--------------------- - #endregion + #region [ プラグイン On演奏失敗() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.On演奏失敗(scoreIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion + + DTX.t全チップの再生停止(); + DTX.On非活性化(); + r現在のステージ.On非活性化(); + if (bコンパクトモード) + { + base.Window.Close(); + } + else + { + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); + stage選曲.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage選曲; + #region [ プラグイン Onステージ変更() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion - #region [ Input管理 の初期化 ] - //--------------------- - Trace.TraceInformation("DirectInput, MIDI入力の初期化を行います。"); - Trace.Indent(); - try - { - bool bUseMIDIIn = !DTXVmode.Enabled; - Input管理 = new CInput管理(base.Window.Handle, bUseMIDIIn); - foreach (IInputDevice device in Input管理.list入力デバイス) - { - if ((device.e入力デバイス種別 == E入力デバイス種別.Joystick) && !ConfigIni.dicJoystick.ContainsValue(device.GUID)) - { - int key = 0; - while (ConfigIni.dicJoystick.ContainsKey(key)) - { - key++; - } - ConfigIni.dicJoystick.Add(key, device.GUID); - } - } - foreach (IInputDevice device2 in Input管理.list入力デバイス) - { - if (device2.e入力デバイス種別 == E入力デバイス種別.Joystick) - { - foreach (KeyValuePair pair in ConfigIni.dicJoystick) - { - if (device2.GUID.Equals(pair.Value)) - { - ((CInputJoystick)device2).SetID(pair.Key); + this.tガベージコレクションを実行する(); + } break; - } - } - continue; - } - } - Trace.TraceInformation("DirectInput の初期化を完了しました。"); - } - catch (Exception exception2) - { - Trace.TraceError(exception2.Message); - Trace.TraceError("DirectInput, MIDI入力の初期化に失敗しました。"); + //----------------------------- + #endregion + + case (int)E演奏画面の戻り値.ステージクリア: + #region [ 演奏クリア ] + //----------------------------- + CScoreIni.C演奏記録 c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass; + CChip[] chipArray = new CChip[10]; + if (ConfigIni.bギタレボモード) + { + stage演奏ギター画面.t演奏結果を格納する(out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass); + } + else + { + stage演奏ドラム画面.t演奏結果を格納する(out c演奏記録_Drums, out c演奏記録_Guitar, out c演奏記録_Bass, out chipArray); + } + + if (CDTXMania.app.ConfigIni.bIsSwappedGuitarBass) // #24063 2011.1.24 yyagi Gt/Bsを入れ替えていたなら、演奏結果も入れ替える + { + CScoreIni.C演奏記録 t; + t = c演奏記録_Guitar; + c演奏記録_Guitar = c演奏記録_Bass; + c演奏記録_Bass = t; - int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; - string[] mes_writeErr = { - "DirectInputまたはMIDI入力の初期化に失敗しました。DTXManiaGRを終了します。", - "Failed to initialize DirectInput (or MIDI-IN)." - }; - MessageBox.Show(mes_writeErr[c], "DTXMania boot error", MessageBoxButtons.OK, MessageBoxIcon.Error); - Environment.Exit(1); - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion + CDTXMania.app.DTX.SwapGuitarBassInfos(); // 譜面情報も元に戻す + // #35417 2015.08.30 changed フラグにアクセスしている箇所が見つかったため有効化 + // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。 + // (直下でb全AUTOである にアクセスしているが、既に計算済みのクラスへのアクセスであり、ここでの交換対象ではない) + CDTXMania.app.ConfigIni.SwapGuitarBassInfos_AutoFlags(); + // #24415 2011.2.27 yyagi + // リザルト集計時のみ、Auto系のフラグも元に戻す。 + // これを戻すのは、リザルト集計後。 + } // "case CStage.Eステージ.結果:"のところ。 - #region [ ウィンドウ初期化 ] - //--------------------- - base.Window.StartPosition = FormStartPosition.Manual; // #30675 2013.02.04 ikanick add - base.Window.Location = new Point(ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y); // #30675 2013.02.04 ikanick add + double ps = 0.0, gs = 0.0; + if (!c演奏記録_Drums.b全AUTOである && c演奏記録_Drums.n全チップ数 > 0) + { + ps = c演奏記録_Drums.db演奏型スキル値; + gs = c演奏記録_Drums.dbゲーム型スキル値; + } + else if (!c演奏記録_Guitar.b全AUTOである && c演奏記録_Guitar.n全チップ数 > 0) + { + ps = c演奏記録_Guitar.db演奏型スキル値; + gs = c演奏記録_Guitar.dbゲーム型スキル値; + } + else + { + ps = c演奏記録_Bass.db演奏型スキル値; + gs = c演奏記録_Bass.dbゲーム型スキル値; + } + string str = "Cleared"; + switch (CScoreIni.t総合ランク値を計算して返す(c演奏記録_Drums, c演奏記録_Guitar, c演奏記録_Bass)) + { + case (int)CScoreIni.ERANK.SS: + str = string.Format("Cleared (SS: {0:F2})", ps); + break; - base.Window.Text = this.strWindowTitle; // 事前にDTXVmodeの実体を作っておくこと + case (int)CScoreIni.ERANK.S: + str = string.Format("Cleared (S: {0:F2})", ps); + break; - base.Window.StartPosition = FormStartPosition.Manual; // #30675 2013.02.04 ikanick add - base.Window.Location = new Point(ConfigIni.n初期ウィンドウ開始位置X, ConfigIni.n初期ウィンドウ開始位置Y); // #30675 2013.02.04 ikanick add + case (int)CScoreIni.ERANK.A: + str = string.Format("Cleared (A: {0:F2})", ps); + break; - if (ConfigIni.nウインドウwidth <= 0 && ConfigIni.nウインドウheight <= 0) // #34069 2014.7.24 yyagi 初回起動時は1280x720にする - { - ConfigIni.nウインドウwidth = 1280; - ConfigIni.nウインドウheight = 720; - //w = this.Window.Screen.WorkingArea.Width; - //h = this.Window.Screen.WorkingArea.Height; - //w = base.Window.Screen.Bounds.Width; - //h = base.Window.Screen.Bounds.Height; - //ConfigIni.nウインドウwidth = SampleFramework.GameWindowSize.Width; - //ConfigIni.nウインドウheight = SampleFramework.GameWindowSize.Height; - } + case (int)CScoreIni.ERANK.B: + str = string.Format("Cleared (B: {0:F2})", ps); + break; - base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); // #34510 yyagi 2010.10.31 to change window size got from Config.ini -#if !WindowedFullscreen - if (!ConfigIni.bウィンドウモード) // #23510 2010.11.02 yyagi: add; to recover window size in case bootup with fullscreen mode - { // #30666 2013.02.02 yyagi: currentClientSize should be always made -#endif - currentClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); -#if !WindowedFullscreen - } -#endif - base.Window.MaximizeBox = true; // #23510 2010.11.04 yyagi: to support maximizing window - base.Window.FormBorderStyle = FormBorderStyle.Sizable; // #23510 2010.10.27 yyagi: changed from FixedDialog to Sizable, to support window resize - // #30666 2013.02.02 yyagi: moved the code to t全画面・ウインドウモード切り替え() - base.Window.ShowIcon = true; - base.Window.Icon = Properties.Resources.dtx; - base.Window.KeyDown += new KeyEventHandler(this.Window_KeyDown); - base.Window.MouseUp += new MouseEventHandler(this.Window_MouseUp); - base.Window.MouseDoubleClick += new MouseEventHandler(this.Window_MouseDoubleClick); // #23510 2010.11.13 yyagi: to go fullscreen mode - base.Window.ResizeEnd += new EventHandler(this.Window_ResizeEnd); // #23510 2010.11.20 yyagi: to set resized window size in Config.ini - base.Window.ApplicationActivated += new EventHandler(this.Window_ApplicationActivated); - base.Window.ApplicationDeactivated += new EventHandler(this.Window_ApplicationDeactivated); - base.Window.MouseMove += new MouseEventHandler(this.Window_MouseMove); - //--------------------- - #endregion - #region [ Direct3D9Exを使うかどうか判定 ] - #endregion - #region [ Direct3D9 デバイスの生成 ] - //--------------------- - DeviceSettings settings = new DeviceSettings(); -#if WindowedFullscreen - settings.Windowed = true; // #30666 2013.2.2 yyagi: Fullscreenmode is "Maximized window" mode -#else - settings.Windowed = ConfigIni.bウィンドウモード; -#endif - settings.BackBufferWidth = SampleFramework.GameWindowSize.Width; - settings.BackBufferHeight = SampleFramework.GameWindowSize.Height; - // settings.BackBufferCount = 3; - settings.EnableVSync = ConfigIni.b垂直帰線待ちを行う; - // settings.BackBufferFormat = Format.A8R8G8B8; - // settings.MultisampleType = MultisampleType.FourSamples; - // settings.MultisampleQuality = 4; - // settings.MultisampleType = MultisampleType.None; - // settings.MultisampleQuality = 0; + case (int)CScoreIni.ERANK.C: + str = string.Format("Cleared (C: {0:F2})", ps); + break; - try - { - base.GraphicsDeviceManager.ChangeDevice(settings); - } - catch (DeviceCreationException e) - { - Trace.TraceError(e.ToString()); - MessageBox.Show(e.Message + e.ToString(), "DTXMania failed to boot: DirectX9 Initialize Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - Environment.Exit(-1); - } + case (int)CScoreIni.ERANK.D: + str = string.Format("Cleared (D: {0:F2})", ps); + break; - base.IsFixedTimeStep = false; - // base.TargetElapsedTime = TimeSpan.FromTicks( 10000000 / 75 ); - base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight); // #23510 2010.10.31 yyagi: to recover window size. width and height are able to get from Config.ini. - base.InactiveSleepTime = TimeSpan.FromMilliseconds((float)(ConfigIni.n非フォーカス時スリープms)); // #23568 2010.11.3 yyagi: to support valiable sleep value when !IsActive - // #23568 2010.11.4 ikanick changed ( 1 -> ConfigIni ) -#if WindowedFullscreen - this.t全画面_ウィンドウモード切り替え(); // #30666 2013.2.2 yyagi: finalize settings for "Maximized window mode" -#endif - actFlushGPU = new CActFlushGPU(); - //--------------------- - #endregion + case (int)CScoreIni.ERANK.E: + str = string.Format("Cleared (E: {0:F2})", ps); + break; - DTX = null; + case (int)CScoreIni.ERANK.UNKNOWN: // #23534 2010.10.28 yyagi add: 演奏チップが0個のとき + str = "Cleared (No chips)"; + break; + } - #region [ Skin の初期化 ] - //--------------------- - Trace.TraceInformation("スキンの初期化を行います。"); - Trace.Indent(); - try - { - Skin = new CSkin(CDTXMania.ConfigIni.strSystemSkinSubfolderFullName, CDTXMania.ConfigIni.bUseBoxDefSkin); - CDTXMania.ConfigIni.strSystemSkinSubfolderFullName = CDTXMania.Skin.GetCurrentSkinSubfolderFullName(true); // 旧指定のSkinフォルダが消滅していた場合に備える - Trace.TraceInformation("スキンの初期化を完了しました。"); - } - catch - { - Trace.TraceInformation("スキンの初期化に失敗しました。"); - throw; - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - //----------- - #region [ Timer の初期化 ] - //--------------------- - Trace.TraceInformation("タイマの初期化を行います。"); - Trace.Indent(); - try - { - Timer = new CTimer(CTimer.E種別.MultiMedia); - Trace.TraceInformation("タイマの初期化を完了しました。"); - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - #region [ マウス消去用のタイマーを初期化 ] - ccMouseShow = new CCounter(); - #endregion - //----------- + scoreIni = this.tScoreIniへBGMAdjustとHistoryとPlayCountを更新(str); - #region [ FPS カウンタの初期化 ] - //--------------------- - Trace.TraceInformation("FPSカウンタの初期化を行います。"); - Trace.Indent(); - try - { - FPS = new CFPS(); - Trace.TraceInformation("FPSカウンタを生成しました。"); - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - #region [ act文字コンソールの初期化 ] - //--------------------- - Trace.TraceInformation("文字コンソールの初期化を行います。"); - Trace.Indent(); - try - { - act文字コンソール = new C文字コンソール(); - Trace.TraceInformation("文字コンソールを生成しました。"); - act文字コンソール.On活性化(); - Trace.TraceInformation("文字コンソールを活性化しました。"); - Trace.TraceInformation("文字コンソールの初期化を完了しました。"); - } - catch (Exception exception) - { - Trace.TraceError(exception.Message); - Trace.TraceError("文字コンソールの初期化に失敗しました。"); - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - #region [ Pad の初期化 ] - //--------------------- - Trace.TraceInformation("パッドの初期化を行います。"); - Trace.Indent(); - try - { - Pad = new CPad(ConfigIni, Input管理); - Trace.TraceInformation("パッドの初期化を完了しました。"); - } - catch (Exception exception3) - { - Trace.TraceError(exception3.Message); - Trace.TraceError("パッドの初期化に失敗しました。"); - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - #region [ Sound管理 の初期化 ] - //--------------------- - Trace.TraceInformation("サウンドデバイスの初期化を行います。"); - Trace.Indent(); - try - { - ESoundDeviceType soundDeviceType; - switch (CDTXMania.ConfigIni.nSoundDeviceType) - { - case 0: - soundDeviceType = ESoundDeviceType.DirectSound; + #region [ プラグイン On演奏クリア() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.On演奏クリア(scoreIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion + + r現在のステージ.On非活性化(); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 結果"); + stage結果.st演奏記録.Drums = c演奏記録_Drums; + stage結果.st演奏記録.Guitar = c演奏記録_Guitar; + stage結果.st演奏記録.Bass = c演奏記録_Bass; + stage結果.r空うちドラムチップ = chipArray; + stage結果.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage結果; + + #region [ プラグイン Onステージ変更() の呼び出し ] + //--------------------- + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + //--------------------- + #endregion + + break; + //----------------------------- + #endregion + } + //----------------------------- + #endregion break; - case 1: - soundDeviceType = ESoundDeviceType.ASIO; + + case CStage.Eステージ.結果: + #region [ *** ] + //----------------------------- + if (this.n進行描画の戻り値 != 0) + { + // #35417 2015.08.30 chnmr0 changed : ステージクリア処理で入れ替えるため元に戻した + // #35417 2015.8.18 yyagi: AUTO系のフラグ入れ替えは削除可能!?。以後AUTOフラグに全くアクセスしておらず、意味がないため。 + if (CDTXMania.app.ConfigIni.bIsSwappedGuitarBass) // #24415 2011.2.27 yyagi Gt/Bsを入れ替えていたなら、Auto状態をリザルト画面終了後に元に戻す + { + CDTXMania.app.ConfigIni.SwapGuitarBassInfos_AutoFlags(); // Auto入れ替え + } + + DTX.t全チップの再生一時停止(); + DTX.On非活性化(); + r現在のステージ.On非活性化(); + if (!bコンパクトモード) + { + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); + stage選曲.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage選曲; + + foreach (STPlugin pg in this.listプラグイン) + { + Directory.SetCurrentDirectory(pg.strプラグインフォルダ); + pg.plugin.Onステージ変更(CDTXMania.app.ConfigIni); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); + } + + this.tガベージコレクションを実行する(); + } + else + { + base.Window.Close(); + } + } + //----------------------------- + #endregion break; - case 2: - soundDeviceType = ESoundDeviceType.ExclusiveWASAPI; + + case CStage.Eステージ.ChangeSkin: + #region [ *** ] + //----------------------------- + if (this.n進行描画の戻り値 != 0) + { + r現在のステージ.On非活性化(); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ 選曲"); + stage選曲.On活性化(); + r直前のステージ = r現在のステージ; + r現在のステージ = stage選曲; + this.tガベージコレクションを実行する(); + } + //----------------------------- + #endregion break; - default: - soundDeviceType = ESoundDeviceType.Unknown; + + case CStage.Eステージ.終了: + #region [ *** ] + //----------------------------- + if (this.n進行描画の戻り値 != 0) + { + base.Exit(); + } + //----------------------------- + #endregion break; } - Sound管理 = new CSound管理(base.Window.Handle, - soundDeviceType, - CDTXMania.ConfigIni.nWASAPIBufferSizeMs, - // CDTXMania.ConfigIni.nASIOBufferSizeMs, - 0, - CDTXMania.ConfigIni.nASIODevice, - CDTXMania.ConfigIni.bUseOSTimer - ); - //Sound管理 = FDK.CSound管理.Instance; - //Sound管理.t初期化( soundDeviceType, 0, 0, CDTXMania.ConfigIni.nASIODevice, base.Window.Handle ); - - ShowWindowTitleWithSoundType(); - FDK.CSound管理.bIsTimeStretch = CDTXMania.ConfigIni.bTimeStretch; - Sound管理.nMasterVolume = CDTXMania.ConfigIni.nMasterVolume; - //FDK.CSound管理.bIsMP3DecodeByWindowsCodec = CDTXMania.ConfigIni.bNoMP3Streaming; - Trace.TraceInformation("サウンドデバイスの初期化を完了しました。"); - } - catch (Exception e) - { - Trace.TraceError(e.Message); - throw; - } - finally - { - Trace.Unindent(); - } - //--------------------- - #endregion - #region [ Songs管理 の初期化 ] - //--------------------- - Trace.TraceInformation("曲リストの初期化を行います。"); - Trace.Indent(); - try - { - Songs管理 = new CSongs管理(); - // Songs管理_裏読 = new CSongs管理(); - EnumSongs = new CEnumSongs(); - actEnumSongs = new CActEnumSongs(); - Trace.TraceInformation("曲リストの初期化を完了しました。"); - } - catch (Exception e) - { - Trace.TraceError(e.Message); - Trace.TraceError("曲リストの初期化に失敗しました。"); } - finally + this.Device.EndScene(); // Present()は game.csのOnFrameEnd()に登録された、GraphicsDeviceManager.game_FrameEnd() 内で実行されるので不要 + // (つまり、Present()は、Draw()完了後に実行される) +#if !GPUFlushAfterPresent + actFlushGPU.On進行描画(); // Flush GPU // EndScene()~Present()間 (つまりVSync前) でFlush実行 +#endif + if (Sound管理.GetCurrentSoundDeviceType() != "DirectSound") { - Trace.Unindent(); + Sound管理.t再生中の処理をする(); // サウンドバッファの更新; 画面描画と同期させることで、スクロールをスムーズにする } - //--------------------- - #endregion - #region [ CAvi の初期化 ] - //--------------------- - CAvi.t初期化(); - //--------------------- - #endregion - #region [ Random の初期化 ] - //--------------------- - Random = new Random((int)Timer.nシステム時刻); - //--------------------- - #endregion - #region [ ステージの初期化 ] - //--------------------- - r現在のステージ = null; - r直前のステージ = null; - stage起動 = new CStage起動(); - stageタイトル = new CStageタイトル(); - // stageオプション = new CStageオプション(); - stageコンフィグ = new CStageコンフィグ(); - stage選曲 = new CStage選曲(); - stage曲読み込み = new CStage曲読み込み(); - stage演奏ドラム画面 = new CStage演奏ドラム画面(); - stage演奏ギター画面 = new CStage演奏ギター画面(); - stage結果 = new CStage結果(); - stageChangeSkin = new CStageChangeSkin(); - stage終了 = new CStage終了(); - this.listトップレベルActivities = new List(); - this.listトップレベルActivities.Add(actEnumSongs); - this.listトップレベルActivities.Add(act文字コンソール); - this.listトップレベルActivities.Add(stage起動); - this.listトップレベルActivities.Add(stageタイトル); - // this.listトップレベルActivities.Add( stageオプション ); - this.listトップレベルActivities.Add(stageコンフィグ); - this.listトップレベルActivities.Add(stage選曲); - this.listトップレベルActivities.Add(stage曲読み込み); - this.listトップレベルActivities.Add(stage演奏ドラム画面); - this.listトップレベルActivities.Add(stage演奏ギター画面); - this.listトップレベルActivities.Add(stage結果); - this.listトップレベルActivities.Add(stageChangeSkin); - this.listトップレベルActivities.Add(stage終了); - this.listトップレベルActivities.Add(actFlushGPU); - //--------------------- - #endregion - #region [ プラグインの検索と生成 ] - //--------------------- - PluginHost = new CPluginHost(); - Trace.TraceInformation("プラグインの検索と生成を行います。"); - Trace.Indent(); - try + #region [ マウスカーソル消去制御 ] + ccMouseShow.t進行(); + if (bマウスカーソル表示中 && ccMouseShow.b終了値に達した) { - this.tプラグイン検索と生成(); - Trace.TraceInformation("プラグインの検索と生成を完了しました。"); + Cursor.Hide(); + bマウスカーソル表示中 = false; } - finally + #endregion + #region [ 全画面・ウインドウ切り替え ] + if (this.b次のタイミングで全画面_ウィンドウ切り替えを行う) { - Trace.Unindent(); + ConfigIni.b全画面モード = !ConfigIni.b全画面モード; + app.t全画面_ウィンドウモード切り替え(); + this.b次のタイミングで全画面_ウィンドウ切り替えを行う = false; } - //--------------------- #endregion - #region [ プラグインの初期化 ] - //--------------------- - if (this.listプラグイン != null && this.listプラグイン.Count > 0) + #region [ 垂直基線同期切り替え ] + if (this.b次のタイミングで垂直帰線同期切り替えを行う) { - Trace.TraceInformation("プラグインの初期化を行います。"); - Trace.Indent(); - try - { - foreach (STPlugin st in this.listプラグイン) - { - Directory.SetCurrentDirectory(st.strプラグインフォルダ); - st.plugin.On初期化(this.PluginHost); - st.plugin.OnManagedリソースの作成(); - st.plugin.OnUnmanagedリソースの作成(); - Directory.SetCurrentDirectory(CDTXMania.strEXEのあるフォルダ); - } - Trace.TraceInformation("すべてのプラグインの初期化を完了しました。"); - } - catch - { - Trace.TraceError("プラグインのどれかの初期化に失敗しました。"); - throw; - } - finally + bool bIsMaximized = this.Window.IsMaximized; // #23510 2010.11.3 yyagi: to backup current window mode before changing VSyncWait + currentClientSize = this.Window.ClientSize; // #23510 2010.11.3 yyagi: to backup current window size before changing VSyncWait + DeviceSettings currentSettings = app.GraphicsDeviceManager.CurrentSettings; + currentSettings.EnableVSync = ConfigIni.b垂直帰線待ちを行う; + app.GraphicsDeviceManager.ChangeDevice(currentSettings); + this.b次のタイミングで垂直帰線同期切り替えを行う = false; + base.Window.ClientSize = new Size(currentClientSize.Width, currentClientSize.Height); // #23510 2010.11.3 yyagi: to resume window size after changing VSyncWait + if (bIsMaximized) { - Trace.Unindent(); + this.Window.WindowState = FormWindowState.Maximized; // #23510 2010.11.3 yyagi: to resume window mode after changing VSyncWait } } - - //--------------------- #endregion + } - Trace.TraceInformation("アプリケーションの初期化を完了しました。"); - - #region [ 最初のステージの起動 ] - //--------------------- - Trace.TraceInformation("----------------------"); - Trace.TraceInformation("■ 起動"); + // その他 - if (CDTXMania.bコンパクトモード) - { - r現在のステージ = stage曲読み込み; - } - else + #region [ private ] + //----------------- + private bool bマウスカーソル表示中 = true; + private bool b終了処理完了済み; + private static CDTX dtx; + private List listトップレベルActivities; + private int n進行描画の戻り値; + private MouseButtons mb = System.Windows.Forms.MouseButtons.Left; + private string strWindowTitle + { + get { - r現在のステージ = stage起動; + if (DTXVmode.Enabled) + { + return "DTXViewer release " + VERSION; + } + else + { + return "DTXMania .NET style release " + VERSION; + } } - r現在のステージ.On活性化(); - //--------------------- - #endregion } + private CSound previewSound; + private CCounter ccMouseShow; public void ShowWindowTitleWithSoundType() { string delay = ""; - if ( Sound管理.GetCurrentSoundDeviceType() != "DirectSound" ) + if (Sound管理.GetCurrentSoundDeviceType() != "DirectSound") { delay = "(" + Sound管理.GetSoundDelay() + "ms)"; } @@ -2384,26 +2137,26 @@ for (int i = 0; i < 3; i++) { private void t終了処理() { - if( !this.b終了処理完了済み ) + if (!this.b終了処理完了済み) { - Trace.TraceInformation( "----------------------" ); - Trace.TraceInformation( "■ アプリケーションの終了" ); + Trace.TraceInformation("----------------------"); + Trace.TraceInformation("■ アプリケーションの終了"); #region [ 曲検索の終了処理 ] //--------------------- - if ( actEnumSongs != null ) + if (actEnumSongs != null) { - Trace.TraceInformation( "曲検索actの終了処理を行います。" ); + Trace.TraceInformation("曲検索actの終了処理を行います。"); Trace.Indent(); try { actEnumSongs.On非活性化(); - actEnumSongs= null; - Trace.TraceInformation( "曲検索actの終了処理を完了しました。" ); + actEnumSongs = null; + Trace.TraceInformation("曲検索actの終了処理を完了しました。"); } - catch ( Exception e ) + catch (Exception e) { - Trace.TraceError( e.Message ); - Trace.TraceError( "曲検索actの終了処理に失敗しました。" ); + Trace.TraceError(e.Message); + Trace.TraceError("曲検索actの終了処理に失敗しました。"); } finally { @@ -2414,14 +2167,14 @@ for (int i = 0; i < 3; i++) { #endregion #region [ 現在のステージの終了処理 ] //--------------------- - if( CDTXMania.r現在のステージ != null && CDTXMania.r現在のステージ.b活性化してる ) // #25398 2011.06.07 MODIFY FROM + if (r現在のステージ != null && r現在のステージ.b活性化してる) // #25398 2011.06.07 MODIFY FROM { - Trace.TraceInformation( "現在のステージを終了します。" ); + Trace.TraceInformation("現在のステージを終了します。"); Trace.Indent(); try { r現在のステージ.On非活性化(); - Trace.TraceInformation( "現在のステージの終了処理を完了しました。" ); + Trace.TraceInformation("現在のステージの終了処理を完了しました。"); } finally { @@ -2434,20 +2187,20 @@ for (int i = 0; i < 3; i++) { //--------------------- if (this.listプラグイン != null && this.listプラグイン.Count > 0) { - Trace.TraceInformation( "すべてのプラグインを終了します。" ); + Trace.TraceInformation("すべてのプラグインを終了します。"); Trace.Indent(); try { - foreach( STPlugin st in this.listプラグイン ) + foreach (STPlugin st in this.listプラグイン) { - Directory.SetCurrentDirectory( st.strプラグインフォルダ ); + Directory.SetCurrentDirectory(st.strプラグインフォルダ); st.plugin.OnUnmanagedリソースの解放(); st.plugin.OnManagedリソースの解放(); st.plugin.On終了(); - Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ ); + Directory.SetCurrentDirectory(CDTXMania.app.strEXEのあるフォルダ); } PluginHost = null; - Trace.TraceInformation( "すべてのプラグインの終了処理を完了しました。" ); + Trace.TraceInformation("すべてのプラグインの終了処理を完了しました。"); } finally { @@ -2460,17 +2213,17 @@ for (int i = 0; i < 3; i++) { //--------------------- if (Songs管理 != null) { - Trace.TraceInformation( "曲リストの終了処理を行います。" ); + Trace.TraceInformation("曲リストの終了処理を行います。"); Trace.Indent(); try { Songs管理 = null; - Trace.TraceInformation( "曲リストの終了処理を完了しました。" ); + Trace.TraceInformation("曲リストの終了処理を完了しました。"); } - catch( Exception exception ) + catch (Exception exception) { - Trace.TraceError( exception.Message ); - Trace.TraceError( "曲リストの終了処理に失敗しました。" ); + Trace.TraceError(exception.Message); + Trace.TraceError("曲リストの終了処理に失敗しました。"); } finally { @@ -2484,18 +2237,18 @@ for (int i = 0; i < 3; i++) { //--------------------- if (Skin != null) { - Trace.TraceInformation( "スキンの終了処理を行います。" ); + Trace.TraceInformation("スキンの終了処理を行います。"); Trace.Indent(); try { Skin.Dispose(); Skin = null; - Trace.TraceInformation( "スキンの終了処理を完了しました。" ); + Trace.TraceInformation("スキンの終了処理を完了しました。"); } - catch( Exception exception2 ) + catch (Exception exception2) { - Trace.TraceError( exception2.Message ); - Trace.TraceError( "スキンの終了処理に失敗しました。" ); + Trace.TraceError(exception2.Message); + Trace.TraceError("スキンの終了処理に失敗しました。"); } finally { @@ -2508,18 +2261,18 @@ for (int i = 0; i < 3; i++) { //--------------------- if (Sound管理 != null) { - Trace.TraceInformation( "DirectSound の終了処理を行います。" ); + Trace.TraceInformation("DirectSound の終了処理を行います。"); Trace.Indent(); try { Sound管理.Dispose(); Sound管理 = null; - Trace.TraceInformation( "DirectSound の終了処理を完了しました。" ); + Trace.TraceInformation("DirectSound の終了処理を完了しました。"); } - catch( Exception exception3 ) + catch (Exception exception3) { - Trace.TraceError( exception3.Message ); - Trace.TraceError( "DirectSound の終了処理に失敗しました。" ); + Trace.TraceError(exception3.Message); + Trace.TraceError("DirectSound の終了処理に失敗しました。"); } finally { @@ -2532,17 +2285,17 @@ for (int i = 0; i < 3; i++) { //--------------------- if (Pad != null) { - Trace.TraceInformation( "パッドの終了処理を行います。" ); + Trace.TraceInformation("パッドの終了処理を行います。"); Trace.Indent(); try { Pad = null; - Trace.TraceInformation( "パッドの終了処理を完了しました。" ); + Trace.TraceInformation("パッドの終了処理を完了しました。"); } - catch( Exception exception4 ) + catch (Exception exception4) { - Trace.TraceError( exception4.Message ); - Trace.TraceError( "パッドの終了処理に失敗しました。" ); + Trace.TraceError(exception4.Message); + Trace.TraceError("パッドの終了処理に失敗しました。"); } finally { @@ -2555,18 +2308,18 @@ for (int i = 0; i < 3; i++) { //--------------------- if (Input管理 != null) { - Trace.TraceInformation( "DirectInput, MIDI入力の終了処理を行います。" ); + Trace.TraceInformation("DirectInput, MIDI入力の終了処理を行います。"); Trace.Indent(); try { Input管理.Dispose(); Input管理 = null; - Trace.TraceInformation( "DirectInput, MIDI入力の終了処理を完了しました。" ); + Trace.TraceInformation("DirectInput, MIDI入力の終了処理を完了しました。"); } - catch( Exception exception5 ) + catch (Exception exception5) { - Trace.TraceError( exception5.Message ); - Trace.TraceError( "DirectInput, MIDI入力の終了処理に失敗しました。" ); + Trace.TraceError(exception5.Message); + Trace.TraceError("DirectInput, MIDI入力の終了処理に失敗しました。"); } finally { @@ -2579,18 +2332,18 @@ for (int i = 0; i < 3; i++) { //--------------------- if (act文字コンソール != null) { - Trace.TraceInformation( "文字コンソールの終了処理を行います。" ); + Trace.TraceInformation("文字コンソールの終了処理を行います。"); Trace.Indent(); try { act文字コンソール.On非活性化(); act文字コンソール = null; - Trace.TraceInformation( "文字コンソールの終了処理を完了しました。" ); + Trace.TraceInformation("文字コンソールの終了処理を完了しました。"); } - catch( Exception exception6 ) + catch (Exception exception6) { - Trace.TraceError( exception6.Message ); - Trace.TraceError( "文字コンソールの終了処理に失敗しました。" ); + Trace.TraceError(exception6.Message); + Trace.TraceError("文字コンソールの終了処理に失敗しました。"); } finally { @@ -2605,11 +2358,11 @@ for (int i = 0; i < 3; i++) { Trace.Indent(); try { - if( FPS != null ) + if (FPS != null) { FPS = null; } - Trace.TraceInformation( "FPSカウンタの終了処理を完了しました。" ); + Trace.TraceInformation("FPSカウンタの終了処理を完了しました。"); } finally { @@ -2623,15 +2376,15 @@ for (int i = 0; i < 3; i++) { Trace.Indent(); try { - if( Timer != null ) + if (Timer != null) { Timer.Dispose(); Timer = null; - Trace.TraceInformation( "タイマの終了処理を完了しました。" ); + Trace.TraceInformation("タイマの終了処理を完了しました。"); } else { - Trace.TraceInformation( "タイマは使用されていません。" ); + Trace.TraceInformation("タイマは使用されていません。"); } } finally @@ -2643,12 +2396,12 @@ for (int i = 0; i < 3; i++) { #region [ Config.iniの出力 ] //--------------------- Trace.TraceInformation("Config.ini を出力します。"); -// if ( ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.16 yyagi ギターベースがスワップしているときは元に戻す - if ( ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped ) // #24415 2011.2.21 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、AUTOのフラグをswapして戻す + // if ( ConfigIni.bIsSwappedGuitarBass ) // #24063 2011.1.16 yyagi ギターベースがスワップしているときは元に戻す + if (ConfigIni.bIsSwappedGuitarBass_AutoFlagsAreSwapped) // #24415 2011.2.21 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、AUTOのフラグをswapして戻す { - ConfigIni.SwapGuitarBassInfos_AutoFlags(); + ConfigIni.SwapGuitarBassInfos_AutoFlags(); } - if ( ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped) // #35417 2015/8/18 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、演奏設定のフラグをswapして戻す + if (ConfigIni.bIsSwappedGuitarBass_PlaySettingsAreSwapped) // #35417 2015/8/18 yyagi FLIP中かつ演奏中にalt-f4で終了したときは、演奏設定のフラグをswapして戻す { ConfigIni.SwapGuitarBassInfos_PlaySettings(); } @@ -2656,21 +2409,21 @@ for (int i = 0; i < 3; i++) { Trace.Indent(); try { - if ( DTXVmode.Enabled ) + if (DTXVmode.Enabled) { DTXVmode.tUpdateConfigIni(); - Trace.TraceInformation( "DTXVモードの設定情報を、Config.iniに保存しました。" ); + Trace.TraceInformation("DTXVモードの設定情報を、Config.iniに保存しました。"); } else { - ConfigIni.t書き出し( str ); - Trace.TraceInformation( "保存しました。({0})", str ); + ConfigIni.t書き出し(str); + Trace.TraceInformation("保存しました。({0})", str); } } - catch( Exception e ) + catch (Exception e) { - Trace.TraceError( e.Message ); - Trace.TraceError( "Config.ini の出力に失敗しました。({0})", str ); + Trace.TraceError(e.Message); + Trace.TraceError("Config.ini の出力に失敗しました。({0})", str); } finally { @@ -2684,7 +2437,7 @@ for (int i = 0; i < 3; i++) { //Trace.Indent(); try { - if ( DTXVmode != null ) + if (DTXVmode != null) { DTXVmode = null; //Trace.TraceInformation( "DTXVモードの終了処理を完了しました。" ); @@ -2700,7 +2453,7 @@ for (int i = 0; i < 3; i++) { } //--------------------- #endregion - Trace.TraceInformation( "アプリケーションの終了処理を完了しました。" ); + Trace.TraceInformation("アプリケーションの終了処理を完了しました。"); this.b終了処理完了済み = true; @@ -2710,51 +2463,51 @@ for (int i = 0; i < 3; i++) { { bool bIsUpdatedDrums, bIsUpdatedGuitar, bIsUpdatedBass; string strFilename = DTX.strファイル名の絶対パス + ".score.ini"; - CScoreIni ini = new CScoreIni( strFilename ); - if( !File.Exists( strFilename ) ) + CScoreIni ini = new CScoreIni(strFilename); + if (!File.Exists(strFilename)) { ini.stファイル.Title = DTX.TITLE; ini.stファイル.Name = DTX.strファイル名; - ini.stファイル.Hash = CScoreIni.tファイルのMD5を求めて返す( DTX.strファイル名の絶対パス ); - for( int i = 0; i < 6; i++ ) + ini.stファイル.Hash = CScoreIni.tファイルのMD5を求めて返す(DTX.strファイル名の絶対パス); + for (int i = 0; i < 6; i++) { - ini.stセクション[ i ].nPerfectになる範囲ms = nPerfect範囲ms; - ini.stセクション[ i ].nGreatになる範囲ms = nGreat範囲ms; - ini.stセクション[ i ].nGoodになる範囲ms = nGood範囲ms; - ini.stセクション[ i ].nPoorになる範囲ms = nPoor範囲ms; + ini.stセクション[i].nPerfectになる範囲ms = nPerfect範囲ms; + ini.stセクション[i].nGreatになる範囲ms = nGreat範囲ms; + ini.stセクション[i].nGoodになる範囲ms = nGood範囲ms; + ini.stセクション[i].nPoorになる範囲ms = nPoor範囲ms; } } ini.stファイル.BGMAdjust = DTX.nBGMAdjust; - CScoreIni.t更新条件を取得する( out bIsUpdatedDrums, out bIsUpdatedGuitar, out bIsUpdatedBass ); - if( bIsUpdatedDrums || bIsUpdatedGuitar || bIsUpdatedBass ) + CScoreIni.t更新条件を取得する(out bIsUpdatedDrums, out bIsUpdatedGuitar, out bIsUpdatedBass); + if (bIsUpdatedDrums || bIsUpdatedGuitar || bIsUpdatedBass) { - if( bIsUpdatedDrums ) + if (bIsUpdatedDrums) { ini.stファイル.PlayCountDrums++; } - if( bIsUpdatedGuitar ) + if (bIsUpdatedGuitar) { ini.stファイル.PlayCountGuitar++; } - if( bIsUpdatedBass ) + if (bIsUpdatedBass) { ini.stファイル.PlayCountBass++; } - ini.tヒストリを追加する( str新ヒストリ行 ); - if( !bコンパクトモード ) + ini.tヒストリを追加する(str新ヒストリ行); + if (!bコンパクトモード) { stage選曲.r現在選択中のスコア.譜面情報.演奏回数.Drums = ini.stファイル.PlayCountDrums; stage選曲.r現在選択中のスコア.譜面情報.演奏回数.Guitar = ini.stファイル.PlayCountGuitar; stage選曲.r現在選択中のスコア.譜面情報.演奏回数.Bass = ini.stファイル.PlayCountBass; - for( int j = 0; j < ini.stファイル.History.Length; j++ ) + for (int j = 0; j < ini.stファイル.History.Length; j++) { - stage選曲.r現在選択中のスコア.譜面情報.演奏履歴[ j ] = ini.stファイル.History[ j ]; + stage選曲.r現在選択中のスコア.譜面情報.演奏履歴[j] = ini.stファイル.History[j]; } } } - if( ConfigIni.bScoreIniを出力する ) + if (ConfigIni.bScoreIniを出力する) { - ini.t書き出し( strFilename ); + ini.t書き出し(strFilename); } return ini; @@ -2770,24 +2523,24 @@ for (int i = 0; i < 3; i++) { { this.listプラグイン = new List(); - string strIPluginActivityの名前 = typeof( IPluginActivity ).FullName; + string strIPluginActivityの名前 = typeof(IPluginActivity).FullName; string strプラグインフォルダパス = strEXEのあるフォルダ + "Plugins\\"; - this.t指定フォルダ内でのプラグイン検索と生成( strプラグインフォルダパス, strIPluginActivityの名前 ); + this.t指定フォルダ内でのプラグイン検索と生成(strプラグインフォルダパス, strIPluginActivityの名前); - if( this.listプラグイン.Count > 0 ) - Trace.TraceInformation( this.listプラグイン.Count + " 個のプラグインを読み込みました。" ); + if (this.listプラグイン.Count > 0) + Trace.TraceInformation(this.listプラグイン.Count + " 個のプラグインを読み込みました。"); } #region [ Windowイベント処理 ] - private System.Reflection.Assembly CurrentDomain_AssemblyResolve( object sender, ResolveEventArgs args ) + private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { - var domain = (AppDomain) sender; + var domain = (AppDomain)sender; - foreach ( var assembly in domain.GetAssemblies() ) + foreach (var assembly in domain.GetAssemblies()) { - if ( assembly.FullName == args.Name ) + if (assembly.FullName == args.Name) return assembly; } @@ -2797,12 +2550,12 @@ for (int i = 0; i < 3; i++) { } - private void t指定フォルダ内でのプラグイン検索と生成( string strプラグインフォルダパス, string strプラグイン型名 ) + private void t指定フォルダ内でのプラグイン検索と生成(string strプラグインフォルダパス, string strプラグイン型名) { // 指定されたパスが存在しないとエラー - if( !Directory.Exists( strプラグインフォルダパス ) ) + if (!Directory.Exists(strプラグインフォルダパス)) { - Trace.TraceWarning( "プラグインフォルダが存在しません。(" + strプラグインフォルダパス + ")" ); + Trace.TraceWarning("プラグインフォルダが存在しません。(" + strプラグインフォルダパス + ")"); return; } @@ -2810,93 +2563,93 @@ for (int i = 0; i < 3; i++) { // (1) すべての *.dll について… - string[] strDLLs = System.IO.Directory.GetFiles( strプラグインフォルダパス, "*.dll" ); - foreach( string dllName in strDLLs ) + string[] strDLLs = System.IO.Directory.GetFiles(strプラグインフォルダパス, "*.dll"); + foreach (string dllName in strDLLs) { try { // (1-1) dll をアセンブリとして読み込む。 - System.Reflection.Assembly asm = System.Reflection.Assembly.LoadFrom( dllName ); + System.Reflection.Assembly asm = System.Reflection.Assembly.LoadFrom(dllName); // (1-2) アセンブリ内のすべての型について、プラグインとして有効か調べる - foreach ( Type t in asm.GetTypes() ) + foreach (Type t in asm.GetTypes()) { // (1-3) ↓クラスであり↓Publicであり↓抽象クラスでなく↓IPlugin型のインスタンスが作れる 型を持っていれば有効 - if ( t.IsClass && t.IsPublic && !t.IsAbstract && t.GetInterface( strプラグイン型名 ) != null ) + if (t.IsClass && t.IsPublic && !t.IsAbstract && t.GetInterface(strプラグイン型名) != null) { // (1-4) クラス名からインスタンスを作成する var st = new STPlugin() { - plugin = (IPluginActivity) asm.CreateInstance( t.FullName ), - strプラグインフォルダ = Path.GetDirectoryName( dllName ), + plugin = (IPluginActivity)asm.CreateInstance(t.FullName), + strプラグインフォルダ = Path.GetDirectoryName(dllName), strアセンブリ簡易名 = asm.GetName().Name, Version = asm.GetName().Version, }; // (1-5) プラグインリストへ登録 - this.listプラグイン.Add( st ); - Trace.TraceInformation( "プラグイン {0} ({1}, {2}, {3}) を読み込みました。", t.FullName, Path.GetFileName( dllName ), st.strアセンブリ簡易名, st.Version.ToString() ); + this.listプラグイン.Add(st); + Trace.TraceInformation("プラグイン {0} ({1}, {2}, {3}) を読み込みました。", t.FullName, Path.GetFileName(dllName), st.strアセンブリ簡易名, st.Version.ToString()); } } } - catch ( System.Reflection.ReflectionTypeLoadException e ) + catch (System.Reflection.ReflectionTypeLoadException e) { - Trace.TraceInformation( dllName + " からプラグインを生成することに失敗しました。スキップします。" ); - Trace.TraceInformation( e.ToString() ); - Trace.TraceInformation( e.Message ); -{ - StringBuilder sb = new StringBuilder(); - foreach (Exception exSub in e.LoaderExceptions) - { - sb.AppendLine(exSub.Message); - FileNotFoundException exFileNotFound = exSub as FileNotFoundException; - if (exFileNotFound != null) - { - if(!string.IsNullOrEmpty(exFileNotFound.FusionLog)) - { - sb.AppendLine("Fusion Log:"); - sb.AppendLine(exFileNotFound.FusionLog); - } - } - sb.AppendLine(); - } - string errorMessage = sb.ToString(); - //Display or log the error based on your application. - Trace.TraceInformation( errorMessage ); -} + Trace.TraceInformation(dllName + " からプラグインを生成することに失敗しました。スキップします。"); + Trace.TraceInformation(e.ToString()); + Trace.TraceInformation(e.Message); + { + StringBuilder sb = new StringBuilder(); + foreach (Exception exSub in e.LoaderExceptions) + { + sb.AppendLine(exSub.Message); + FileNotFoundException exFileNotFound = exSub as FileNotFoundException; + if (exFileNotFound != null) + { + if (!string.IsNullOrEmpty(exFileNotFound.FusionLog)) + { + sb.AppendLine("Fusion Log:"); + sb.AppendLine(exFileNotFound.FusionLog); + } + } + sb.AppendLine(); + } + string errorMessage = sb.ToString(); + //Display or log the error based on your application. + Trace.TraceInformation(errorMessage); + } } - catch ( Exception e ) + catch (Exception e) { - Trace.TraceInformation( dllName + " からプラグインを生成することに失敗しました。スキップします。" ); - Trace.TraceInformation( e.ToString() ); - Trace.TraceInformation( e.Message ); + Trace.TraceInformation(dllName + " からプラグインを生成することに失敗しました。スキップします。"); + Trace.TraceInformation(e.ToString()); + Trace.TraceInformation(e.Message); } } // (2) サブフォルダがあれば再帰する - string[] strDirs = Directory.GetDirectories( strプラグインフォルダパス, "*" ); - foreach( string dir in strDirs ) - this.t指定フォルダ内でのプラグイン検索と生成( dir + "\\", strプラグイン型名 ); + string[] strDirs = Directory.GetDirectories(strプラグインフォルダパス, "*"); + foreach (string dir in strDirs) + this.t指定フォルダ内でのプラグイン検索と生成(dir + "\\", strプラグイン型名); } //----------------- - private void Window_ApplicationActivated( object sender, EventArgs e ) + private void Window_ApplicationActivated(object sender, EventArgs e) { this.bApplicationActive = true; } - private void Window_ApplicationDeactivated( object sender, EventArgs e ) + private void Window_ApplicationDeactivated(object sender, EventArgs e) { this.bApplicationActive = false; } - private void Window_KeyDown( object sender, KeyEventArgs e ) + private void Window_KeyDown(object sender, KeyEventArgs e) { - if ( e.KeyCode == Keys.Menu ) + if (e.KeyCode == Keys.Menu) { e.Handled = true; e.SuppressKeyPress = true; } - else if ( ( e.KeyCode == Keys.Return ) && e.Alt ) + else if ((e.KeyCode == Keys.Return) && e.Alt) { - if ( ConfigIni != null ) + if (ConfigIni != null) { ConfigIni.bウィンドウモード = !ConfigIni.bウィンドウモード; this.t全画面_ウィンドウモード切り替え(); @@ -2906,46 +2659,46 @@ for (int i = 0; i < 3; i++) { } else { - for ( int i = 0; i < 0x10; i++ ) + for (int i = 0; i < 0x10; i++) { - if ( ConfigIni.KeyAssign.System.Capture[ i ].コード > 0 && - e.KeyCode == DeviceConstantConverter.KeyToKeyCode( (SlimDX.DirectInput.Key) ConfigIni.KeyAssign.System.Capture[ i ].コード ) ) + if (ConfigIni.KeyAssign.System.Capture[i].コード > 0 && + e.KeyCode == DeviceConstantConverter.KeyToKeyCode((SlimDX.DirectInput.Key)ConfigIni.KeyAssign.System.Capture[i].コード)) { // Debug.WriteLine( "capture: " + string.Format( "{0:2x}", (int) e.KeyCode ) + " " + (int) e.KeyCode ); string strFullPath = - Path.Combine( CDTXMania.strEXEのあるフォルダ, "Capture_img" ); - strFullPath = Path.Combine( strFullPath, DateTime.Now.ToString( "yyyyMMddHHmmss" ) + ".png" ); - SaveResultScreen( strFullPath ); + Path.Combine(CDTXMania.app.strEXEのあるフォルダ, "Capture_img"); + strFullPath = Path.Combine(strFullPath, DateTime.Now.ToString("yyyyMMddHHmmss") + ".png"); + SaveResultScreen(strFullPath); } } } } - private void Window_MouseUp( object sender, MouseEventArgs e ) + private void Window_MouseUp(object sender, MouseEventArgs e) { mb = e.Button; } - private void Window_MouseDoubleClick( object sender, MouseEventArgs e) // #23510 2010.11.13 yyagi: to go full screen mode + private void Window_MouseDoubleClick(object sender, MouseEventArgs e) // #23510 2010.11.13 yyagi: to go full screen mode { - if ( mb.Equals(MouseButtons.Left) && ConfigIni.bIsAllowedDoubleClickFullscreen ) // #26752 2011.11.27 yyagi + if (mb.Equals(MouseButtons.Left) && ConfigIni.bIsAllowedDoubleClickFullscreen) // #26752 2011.11.27 yyagi { ConfigIni.bウィンドウモード = false; this.t全画面_ウィンドウモード切り替え(); } } - private void Window_MouseMove( object sender, MouseEventArgs e ) + private void Window_MouseMove(object sender, MouseEventArgs e) { - if ( this.bマウスカーソル表示中 == false ) + if (this.bマウスカーソル表示中 == false) { Cursor.Show(); this.bマウスカーソル表示中 = true; } - ccMouseShow.t開始( 0, 1, 2000, Timer ); + ccMouseShow.t開始(0, 1, 2000, Timer); } - private void Window_ResizeEnd( object sender, EventArgs e ) // #23510 2010.11.20 yyagi: to get resized window size + private void Window_ResizeEnd(object sender, EventArgs e) // #23510 2010.11.20 yyagi: to get resized window size { - if ( ConfigIni.bウィンドウモード ) + if (ConfigIni.bウィンドウモード) { ConfigIni.n初期ウィンドウ開始位置X = base.Window.Location.X; // #30675 2013.02.04 ikanick add ConfigIni.n初期ウィンドウ開始位置Y = base.Window.Location.Y; // @@ -2968,7 +2721,7 @@ for (int i = 0; i < 3; i++) { // } // } //} - + //----------------- //Stopwatch sw = new Stopwatch(); diff --git a/DTXManiaプロジェクト/コード/全体/CPrivateFastFont.cs b/DTXManiaプロジェクト/コード/全体/CPrivateFastFont.cs index 7c5ee26f..12fe7d1c 100644 --- a/DTXManiaプロジェクト/コード/全体/CPrivateFastFont.cs +++ b/DTXManiaプロジェクト/コード/全体/CPrivateFastFont.cs @@ -128,7 +128,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Normal, fontColor, Color.White, Color.White, Color.White ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } /// @@ -141,7 +141,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color edgeColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Edge, fontColor, edgeColor, Color.White, Color.White ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } /// @@ -155,7 +155,7 @@ namespace DTXMania //public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color gradationTopColor, Color gradataionBottomColor ) //{ // Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Gradation, fontColor, Color.White, gradationTopColor, gradataionBottomColor ); - // return CDTXMania.tテクスチャの生成( bmp, false ); + // return TextureFactory.tテクスチャの生成( bmp, false ); //} /// @@ -170,7 +170,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color edgeColor, Color gradationTopColor, Color gradataionBottomColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Edge | DrawMode.Gradation, fontColor, edgeColor, gradationTopColor, gradataionBottomColor ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } #endif #endregion diff --git a/DTXManiaプロジェクト/コード/全体/CPrivateFont.cs b/DTXManiaプロジェクト/コード/全体/CPrivateFont.cs index f4ab9dd3..cd11d8c4 100644 --- a/DTXManiaプロジェクト/コード/全体/CPrivateFont.cs +++ b/DTXManiaプロジェクト/コード/全体/CPrivateFont.cs @@ -26,7 +26,7 @@ namespace DTXMania /// とか /// Bitmap bmp = prvFont.DrawPrivateFont( "ABCDE", Color.White, Color.Black, Color.Yellow, Color.OrangeRed ); // 上下グラデーション(Yellow→OrangeRed) /// とかして、 - /// CTexture ctBmp = CDTXMania.tテクスチャの生成( bmp, false ); + /// CTexture ctBmp = TextureFactory.tテクスチャの生成( bmp, false ); /// ctBMP.t2D描画( ~~~ ); /// で表示してください。 /// @@ -225,7 +225,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Normal, fontColor, Color.White, Color.White, Color.White ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } /// @@ -238,7 +238,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color edgeColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Edge, fontColor, edgeColor, Color.White, Color.White ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } /// @@ -252,7 +252,7 @@ namespace DTXMania //public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color gradationTopColor, Color gradataionBottomColor ) //{ // Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Gradation, fontColor, Color.White, gradationTopColor, gradataionBottomColor ); - // return CDTXMania.tテクスチャの生成( bmp, false ); + // return TextureFactory.tテクスチャの生成( bmp, false ); //} /// @@ -267,7 +267,7 @@ namespace DTXMania public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color edgeColor, Color gradationTopColor, Color gradataionBottomColor ) { Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Edge | DrawMode.Gradation, fontColor, edgeColor, gradationTopColor, gradataionBottomColor ); - return CDTXMania.tテクスチャの生成( bmp, false ); + return TextureFactory.tテクスチャの生成( bmp, false ); } #endif #endregion diff --git a/DTXManiaプロジェクト/コード/全体/CSkin.cs b/DTXManiaプロジェクト/コード/全体/CSkin.cs index 8f8897ce..2d6ee912 100644 --- a/DTXManiaプロジェクト/コード/全体/CSkin.cs +++ b/DTXManiaプロジェクト/コード/全体/CSkin.cs @@ -194,7 +194,7 @@ namespace DTXMania //// { // try // { -// this.rSound[ 0 ] = CDTXMania.Sound管理.tサウンドを生成する( CSkin.Path( this.strファイル名 ) ); +// this.rSound[ 0 ] = CDTXMania.app.Sound管理.tサウンドを生成する( CSkin.Path( this.strファイル名 ) ); // } // catch // { @@ -208,7 +208,7 @@ namespace DTXMania // else // { // this.rSound[ 1 ] = ( CSound ) this.rSound[ 0 ].Clone(); // #27790 2012.3.10 yyagi add: to accelerate loading chip sounds -// CDTXMania.Sound管理.tサウンドを登録する( this.rSound[ 1 ] ); // #28243 2012.5.3 yyagi add (登録漏れによりストリーム再生処理が発生していなかった) +// CDTXMania.app.Sound管理.tサウンドを登録する( this.rSound[ 1 ] ); // #28243 2012.5.3 yyagi add (登録漏れによりストリーム再生処理が発生していなかった) // } //// } @@ -217,7 +217,7 @@ namespace DTXMania { try { - this.rSound[ i ] = CDTXMania.Sound管理.tサウンドを生成する( CSkin.Path( this.strファイル名 ) ); + this.rSound[ i ] = CDTXMania.app.Sound管理.tサウンドを生成する( CSkin.Path( this.strファイル名 ) ); } catch { @@ -267,13 +267,13 @@ namespace DTXMania public void tRemoveMixer() { - if ( CDTXMania.Sound管理.GetCurrentSoundDeviceType() != "DirectShow" ) + if ( CDTXMania.app.Sound管理.GetCurrentSoundDeviceType() != "DirectShow" ) { for ( int i = 0; i < 2; i++ ) { if ( this.rSound[ i ] != null ) { - CDTXMania.Sound管理.RemoveMixer( this.rSound[ i ] ); + CDTXMania.app.Sound管理.RemoveMixer( this.rSound[ i ] ); } } } @@ -289,7 +289,7 @@ namespace DTXMania { if( this.rSound[ i ] != null ) { - CDTXMania.Sound管理.tサウンドを破棄する( this.rSound[ i ] ); + CDTXMania.app.Sound管理.tサウンドを破棄する( this.rSound[ i ] ); this.rSound[ i ] = null; } } @@ -544,7 +544,7 @@ namespace DTXMania } private string InitializeSkinPathRoot() { - strSystemSkinRoot = System.IO.Path.Combine( CDTXMania.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar ); + strSystemSkinRoot = System.IO.Path.Combine( CDTXMania.app.strEXEのあるフォルダ, "System" + System.IO.Path.DirectorySeparatorChar ); return strSystemSkinRoot; } @@ -596,7 +596,7 @@ namespace DTXMania if ( !this[ i ].b排他 ) // BGM系以外のみ読み込む。(BGM系は必要になったときに読み込む) { Cシステムサウンド cシステムサウンド = this[ i ]; - if ( !CDTXMania.bコンパクトモード || cシステムサウンド.bCompact対象 ) + if ( !CDTXMania.app.bコンパクトモード || cシステムサウンド.bCompact対象 ) { try { diff --git a/DTXManiaプロジェクト/コード/全体/C文字コンソール.cs b/DTXManiaプロジェクト/コード/全体/C文字コンソール.cs index 434e2442..fcd21c79 100644 --- a/DTXManiaプロジェクト/コード/全体/C文字コンソール.cs +++ b/DTXManiaプロジェクト/コード/全体/C文字コンソール.cs @@ -92,8 +92,8 @@ namespace DTXMania { if( !base.b活性化してない ) { - this.txフォント8x16[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 8x16.png" ) ); - this.txフォント8x16[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 2 8x16.png" ) ); + this.txフォント8x16[ 0 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 8x16.png" ) ); + this.txフォント8x16[ 1 ] = TextureFactory.tテクスチャの生成( CSkin.Path( @"Graphics\Console font 2 8x16.png" ) ); base.OnManagedリソースの作成(); } } diff --git a/DTXManiaプロジェクト/コード/全体/Program.cs b/DTXManiaプロジェクト/コード/全体/Program.cs index f160a5c1..7aa520b7 100644 --- a/DTXManiaプロジェクト/コード/全体/Program.cs +++ b/DTXManiaプロジェクト/コード/全体/Program.cs @@ -182,7 +182,7 @@ namespace DTXMania Process current = Process.GetCurrentProcess(); Process[] running = Process.GetProcessesByName( current.ProcessName ); Process target = null; - //IntPtr hWnd = FindWindow( null, "DTXMania .NET style release " + CDTXMania.VERSION ); + //IntPtr hWnd = FindWindow( null, "DTXMania .NET style release " + CDTXMania.app.VERSION ); foreach ( Process p in running ) { diff --git a/DTXManiaプロジェクト/コード/全体/TextureFactory.cs b/DTXManiaプロジェクト/コード/全体/TextureFactory.cs new file mode 100644 index 00000000..35603090 --- /dev/null +++ b/DTXManiaプロジェクト/コード/全体/TextureFactory.cs @@ -0,0 +1,142 @@ +using System; +using System.Diagnostics; +using System.IO; +using FDK; +using System.Drawing; + +namespace DTXMania +{ + public class TextureFactory + { + + #region [ 汎用ヘルパー ] + //----------------- + #region [ tテクスチャの生成 ] + public static CTexture tテクスチャの生成(string fileName) + { + return tテクスチャの生成(fileName, false); + } + public static CTexture tテクスチャの生成(string fileName, bool b黒を透過する) + { + if (CDTXMania.app == null) + { + return null; + } + try + { + return new CTexture(CDTXMania.app.Device, fileName, CDTXMania.app.TextureFormat, b黒を透過する); + } + catch (CTextureCreateFailedException) + { + Trace.TraceError("テクスチャの生成に失敗しました。({0})", fileName); + return null; + } + catch (FileNotFoundException) + { + Trace.TraceError("テクスチャファイルが見つかりませんでした。({0})", fileName); + return null; + } + } + public static CTextureAf tテクスチャの生成Af(string fileName) + { + return tテクスチャの生成Af(fileName, false); + } + public static CTextureAf tテクスチャの生成Af(string fileName, bool b黒を透過する) + { + if (CDTXMania.app == null) + { + return null; + } + try + { + return new CTextureAf(CDTXMania.app.Device, fileName, CDTXMania.app.TextureFormat, b黒を透過する); + } + catch (CTextureCreateFailedException) + { + Trace.TraceError("テクスチャの生成に失敗しました。({0})", fileName); + return null; + } + catch (FileNotFoundException) + { + Trace.TraceError("テクスチャファイルが見つかりませんでした。({0})", fileName); + return null; + } + } + public static void tテクスチャの解放(ref CTexture tx) + { + t安全にDisposeする(ref tx); + } + public static void tテクスチャの解放(ref CTextureAf tx) + { + t安全にDisposeする(ref tx); + } + public static CTexture tテクスチャの生成(byte[] txData) + { + return tテクスチャの生成(txData, false); + } + public static CTexture tテクスチャの生成(byte[] txData, bool b黒を透過する) + { + if (CDTXMania.app == null) + { + return null; + } + if (txData == null) + { + Trace.TraceError("テクスチャの生成に失敗しました。(txData==null)"); + return null; + } + try + { + return new CTexture(CDTXMania.app.Device, txData, CDTXMania.app.TextureFormat, b黒を透過する); + } + catch (CTextureCreateFailedException) + { + Trace.TraceError("テクスチャの生成に失敗しました。(txData)"); + return null; + } + } + + public static CTexture tテクスチャの生成(Bitmap bitmap) + { + return tテクスチャの生成(bitmap, false); + } + public static CTexture tテクスチャの生成(Bitmap bitmap, bool b黒を透過する) + { + if (CDTXMania.app == null) + { + return null; + } + if (bitmap == null) + { + Trace.TraceError("テクスチャの生成に失敗しました。(bitmap==null)"); + return null; + } + try + { + return new CTexture(CDTXMania.app.Device, bitmap, CDTXMania.app.TextureFormat, b黒を透過する); + } + catch (CTextureCreateFailedException) + { + Trace.TraceError("テクスチャの生成に失敗しました。(bitmap)"); + return null; + } + } + #endregion + + /// プロパティ、インデクサには ref は使用できないので注意。 + public static void t安全にDisposeする(ref T obj) + { + if (obj == null) + return; + + var d = obj as IDisposable; + + if (d != null) + d.Dispose(); + + obj = default(T); + } + //----------------- + #endregion + } +} -- 2.11.0