OSDN Git Service

Merge branch 'feature/37178_プロジェクトとソリューションファイルの英語化' into develop
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 08.結果 / CStage結果.cs
diff --git a/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs b/DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs
deleted file mode 100644 (file)
index 63459c2..0000000
+++ /dev/null
@@ -1,709 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.IO;\r
-using System.Text;\r
-using System.Diagnostics;\r
-using FDK;\r
-using SharpDX.Direct3D9;\r
-\r
-using SlimDXKey = SlimDX.DirectInput.Key;\r
-\r
-namespace DTXMania\r
-{\r
-       internal class CStage結果 : CStage\r
-       {\r
-               public enum E戻り値 : int\r
-               {\r
-                       継続,\r
-                       完了\r
-               }\r
-\r
-               public STDGBSValue<bool> b新記録スキル;\r
-               public STDGBSValue<bool> b新記録スコア;\r
-               public STDGBSValue<bool> b新記録ランク;\r
-               public STDGBSValue<float> fPerfect率;\r
-               public STDGBSValue<float> fGreat率;\r
-               public STDGBSValue<float> fGood率;\r
-               public STDGBSValue<float> fPoor率;\r
-               public STDGBSValue<float> fMiss率;\r
-               // #23596 10.11.16 add ikanick\r
-               //        10.11.17 change (int to bool) ikanick\r
-               public STDGBSValue<bool> bオート;\r
-               public STDGBSValue<CScoreIni.ERANK> nランク値;\r
-               public STDGBSValue<int> n演奏回数;\r
-               public CScoreIni.ERANK n総合ランク値;\r
-               public STPadValue<CChip> r空うちドラムチップ;\r
-               public STDGBSValue<CScoreIni.C演奏記録> st演奏記録;\r
-\r
-               private CCounter ct登場用;\r
-               private E戻り値 eフェードアウト完了時の戻り値;\r
-               private CActFIFOWhite actFI;\r
-               private CActFIFOBlack actFO;\r
-               private CActオプションパネル actOption;\r
-               private CAct演奏AVI actAVI;\r
-               private CActResultParameterPanel actParameterPanel;\r
-               private CActResultRank actRank;\r
-               private CActResultImage actResultImage;\r
-               private CActResultSongBar actSongBar;\r
-               private bool bアニメが完了;\r
-               private bool bIsCheckedWhetherResultScreenShouldSaveOrNot;        // #24509 2011.3.14 yyagi\r
-               private readonly int[] nチャンネル0Atoレーン07;\r
-               private int n最後に再生したHHのWAV番号;\r
-               private EChannel e最後に再生したHHのチャンネル番号;\r
-               private CSound rResultSound;\r
-               //private CTexture txオプションパネル;\r
-               private CTextureAf tx下部パネル;\r
-               private CTextureAf tx上部パネル;\r
-               private CTexture tx背景;\r
-\r
-               public CStage結果()\r
-               {\r
-                       this.st演奏記録.Drums = new CScoreIni.C演奏記録();\r
-                       this.st演奏記録.Guitar = new CScoreIni.C演奏記録();\r
-                       this.st演奏記録.Bass = new CScoreIni.C演奏記録();\r
-                       this.n総合ランク値 = CScoreIni.ERANK.UNKNOWN;\r
-                       this.nチャンネル0Atoレーン07 = new int[] { 1, 2, 3, 4, 5, 7, 6, 1, 7, 0 };\r
-                       base.eステージID = CStage.Eステージ.結果;\r
-                       base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
-                       base.b活性化してない = true;\r
-                       base.list子Activities.Add(this.actResultImage = new CActResultImage());\r
-                       base.list子Activities.Add(this.actParameterPanel = new CActResultParameterPanel());\r
-                       base.list子Activities.Add(this.actRank = new CActResultRank());\r
-                       base.list子Activities.Add(this.actSongBar = new CActResultSongBar());\r
-                       base.list子Activities.Add(this.actOption = new CActオプションパネル(EOptionPanelDirection.Horizontal));\r
-                       base.list子Activities.Add(this.actFI = new CActFIFOWhite());\r
-                       base.list子Activities.Add(this.actFO = new CActFIFOBlack());\r
-                       base.list子Activities.Add(this.actAVI = new CAct演奏AVI());\r
-\r
-                       this.actResultImage.actAVI = this.actAVI;\r
-               }\r
-\r
-               public override void On活性化()\r
-               {\r
-                       Trace.TraceInformation("結果ステージを活性化します。");\r
-                       Trace.Indent();\r
-                       try\r
-                       {\r
-                               #region [ 初期化 ]\r
-                               //---------------------\r
-                               this.eフェードアウト完了時の戻り値 = E戻り値.継続;\r
-                               this.bアニメが完了 = false;\r
-                               this.bIsCheckedWhetherResultScreenShouldSaveOrNot = false;        // #24609 2011.3.14 yyagi\r
-                               this.n最後に再生したHHのWAV番号 = -1;\r
-                               this.e最後に再生したHHのチャンネル番号 = EChannel.Invalid;\r
-                               for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
-                               {\r
-                                       this.b新記録スキル[i] = false;\r
-                                       this.b新記録スコア[i] = false;\r
-                                       this.b新記録ランク[i] = false;\r
-                               }\r
-                               actOption.Pos = CDTXMania.Instance.Coordinates.OptionPanelSelect;\r
-                               //---------------------\r
-                               #endregion\r
-\r
-                               #region [ 結果の計算 ]\r
-                               //---------------------\r
-                               for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
-                               {\r
-                                       this.nランク値[i] = CScoreIni.ERANK.UNKNOWN;\r
-                                       this.fPerfect率[i] = this.fGreat率[i] = this.fGood率[i] = this.fPoor率[i] = this.fMiss率[i] = 0.0f;  // #28500 2011.5.24 yyagi\r
-                                       if ((\r
-                                               ((i != EPart.Drums) || (CDTXMania.Instance.DTX.bチップがある.Drums)) &&\r
-                                               ((i != EPart.Guitar) || CDTXMania.Instance.DTX.bチップがある.Guitar)) &&\r
-                                               ((i != EPart.Bass) || CDTXMania.Instance.DTX.bチップがある.Bass))\r
-                                       {\r
-                                               CScoreIni.C演奏記録 part = this.st演奏記録[i];\r
-                                               bool bIsAutoPlay = CDTXMania.Instance.ConfigIni.bIsAutoPlay(i) || !CDTXMania.Instance.ConfigIni.b楽器有効(i);\r
-                                               this.fPerfect率[i] = bIsAutoPlay ? 0f : ((100f * part.nPerfect数) / ((float)part.n全チップ数));\r
-                                               this.fGreat率[i] = bIsAutoPlay ? 0f : ((100f * part.nGreat数) / ((float)part.n全チップ数));\r
-                                               this.fGood率[i] = bIsAutoPlay ? 0f : ((100f * part.nGood数) / ((float)part.n全チップ数));\r
-                                               this.fPoor率[i] = bIsAutoPlay ? 0f : ((100f * part.nPoor数) / ((float)part.n全チップ数));\r
-                                               this.fMiss率[i] = bIsAutoPlay ? 0f : ((100f * part.nMiss数) / ((float)part.n全チップ数));\r
-\r
-                                               // #23596 10.11.16 add ikanick そのパートがオートなら1\r
-                                               //        10.11.17 change (int to bool) ikanick\r
-                                               this.bオート[i] = bIsAutoPlay;\r
-                                               this.nランク値[i] = CScoreIni.tランク値を計算して返す(part);\r
-                                       }\r
-                               }\r
-                               this.n総合ランク値 = CScoreIni.t総合ランク値を計算して返す(this.st演奏記録);\r
-                               //---------------------\r
-                               #endregion\r
-\r
-                               #region [ .score.ini の作成と出力 ]\r
-                               //---------------------\r
-                               string str = CDTXMania.Instance.DTX.strファイル名の絶対パス + ".score.ini";\r
-                               CScoreIni ini = new CScoreIni(str);\r
-\r
-                               STDGBSValue<bool> b今までにフルコンボしたことがある =\r
-                                       new STDGBSValue<bool>();\r
-\r
-                               for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
-                               {\r
-                                       // フルコンボチェックならびに新記録ランクチェックは、ini.Record[] が、\r
-                                       // スコアチェックや演奏型スキルチェックの IF 内で書き直されてしまうよりも前に行う。(2010.9.10)\r
-\r
-                                       b今までにフルコンボしたことがある[i] =\r
-                                               ini.stセクション.HiScore[i].bフルコンボである ||\r
-                                               ini.stセクション.HiSkill[i].bフルコンボである;\r
-\r
-                                       if (this.nランク値[i] >= 0 && ini.stファイル.BestRank[i] > this.nランク値[i])\r
-                                       {\r
-                                               // #24459 2011.3.1 yyagi update BestRank\r
-                                               this.b新記録ランク[i] = true;\r
-                                               ini.stファイル.BestRank[i] = this.nランク値[i];\r
-                                       }\r
-\r
-                                       // 新記録スコアチェック\r
-                                       if (this.st演奏記録[i].nスコア > ini.stセクション.HiScore[i].nスコア)\r
-                                       {\r
-                                               this.b新記録スコア[i] = true;\r
-                                               ini.stセクション.HiScore[i] = this.st演奏記録[i];\r
-                                               CScoreIni.Eセクション種別 esect = CScoreIni.Eセクション種別.HiScoreDrums;\r
-                                               if (i == EPart.Guitar)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.HiScoreGuitar;\r
-                                               }\r
-                                               else if (i == EPart.Bass)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.HiScoreBass;\r
-                                               }\r
-                                               this.SaveGhost(esect); // #35411 chnmr0 add\r
-                                       }\r
-\r
-                                       // 新記録スキルチェック\r
-                                       if (this.st演奏記録[i].db演奏型スキル値 > ini.stセクション.HiSkill[i].db演奏型スキル値)\r
-                                       {\r
-                                               this.b新記録スキル[i] = true;\r
-                                               ini.stセクション.HiSkill[i] = this.st演奏記録[i];\r
-                                               CScoreIni.Eセクション種別 esect = CScoreIni.Eセクション種別.HiSkillDrums;\r
-                                               if (i == EPart.Guitar)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.HiSkillGuitar;\r
-                                               }\r
-                                               else if (i == EPart.Bass)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.HiSkillBass;\r
-                                               }\r
-                                               this.SaveGhost(esect); // #35411 chnmr0 add\r
-                                       }\r
-\r
-                                       // ラストプレイ #23595 2011.1.9 ikanick\r
-                                       // オートじゃなければプレイ結果を書き込む\r
-                                       if (this.bオート[i] == false)\r
-                                       {\r
-                                               ini.stセクション.LastPlay[i] = this.st演奏記録[i];\r
-                                               CScoreIni.Eセクション種別 esect = CScoreIni.Eセクション種別.LastPlayDrums;\r
-                                               if (i == EPart.Guitar)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.LastPlayGuitar;\r
-                                               }\r
-                                               else if (i == EPart.Bass)\r
-                                               {\r
-                                                       esect = CScoreIni.Eセクション種別.LastPlayBass;\r
-                                               }\r
-                                               this.SaveGhost(esect); // #35411 chnmr0 add\r
-                                       }\r
-\r
-                                       // #23596 10.11.16 add ikanick オートじゃないならクリア回数を1増やす\r
-                                       //        11.02.05 bオート to t更新条件を取得する use      ikanick\r
-                                       STDGBSValue<bool> b更新が必要か否か;\r
-                                       b更新が必要か否か = CScoreIni.t更新条件を取得する();\r
-                                       if (b更新が必要か否か[i])\r
-                                       {\r
-                                               switch (i)\r
-                                               {\r
-                                                       case EPart.Drums:\r
-                                                               ini.stファイル.ClearCountDrums++;\r
-                                                               break;\r
-                                                       case EPart.Guitar:\r
-                                                               ini.stファイル.ClearCountGuitar++;\r
-                                                               break;\r
-                                                       case EPart.Bass:\r
-                                                               ini.stファイル.ClearCountBass++;\r
-                                                               break;\r
-                                                       default:\r
-                                                               throw new Exception("クリア回数増加のk(0-2)が範囲外です。");\r
-                                               }\r
-                                       }\r
-                                       //---------------------------------------------------------------------/\r
-                               }\r
-                               if (CDTXMania.Instance.ConfigIni.bScoreIni)\r
-                                       ini.t書き出し(str);\r
-                               //---------------------\r
-                               #endregion\r
-\r
-                               #region [ リザルト画面への演奏回数の更新 #24281 2011.1.30 yyagi]\r
-                               if (CDTXMania.Instance.ConfigIni.bScoreIni)\r
-                               {\r
-                                       this.n演奏回数.Drums = ini.stファイル.PlayCountDrums;\r
-                                       this.n演奏回数.Guitar = ini.stファイル.PlayCountGuitar;\r
-                                       this.n演奏回数.Bass = ini.stファイル.PlayCountBass;\r
-                               }\r
-                               #endregion\r
-                               #region [ 選曲画面の譜面情報の更新 ]\r
-                               //---------------------\r
-                               if (!CDTXMania.Instance.bコンパクトモード)\r
-                               {\r
-                                       Cスコア cスコア = CDTXMania.Instance.stage選曲.r確定されたスコア;\r
-                                       STDGBSValue<bool> b更新が必要か否か;\r
-                                       b更新が必要か否か = CScoreIni.t更新条件を取得する();\r
-                                       for (EPart m = EPart.Drums; m <= EPart.Bass; m++)\r
-                                       {\r
-                                               if (b更新が必要か否か[m])\r
-                                               {\r
-                                                       // FullCombo した記録を FullCombo なしで超えた場合、FullCombo マークが消えてしまう。\r
-                                                       // → FullCombo は、最新記録と関係なく、一度達成したらずっとつくようにする。(2010.9.11)\r
-                                                       cスコア.譜面情報.フルコンボ[m] = this.st演奏記録[m].bフルコンボである | b今までにフルコンボしたことがある[m];\r
-\r
-                                                       if (this.b新記録スキル[m])\r
-                                                       {\r
-                                                               cスコア.譜面情報.最大スキル[m] = this.st演奏記録[m].db演奏型スキル値;\r
-                                                       }\r
-\r
-                                                       if (this.b新記録ランク[m])\r
-                                                       {\r
-                                                               cスコア.譜面情報.最大ランク[m] = this.nランク値[m];\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               //---------------------\r
-                               #endregion\r
-\r
-                               #region [ #RESULTSOUND_xx の再生(あれば)]\r
-                               //---------------------\r
-                               CScoreIni.ERANK rank = CScoreIni.t総合ランク値を計算して返す(this.st演奏記録);\r
-\r
-                               if (rank == CScoreIni.ERANK.UNKNOWN)  // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす\r
-                               {\r
-                                       rank = CScoreIni.ERANK.E;\r
-                               }\r
-\r
-                               if (string.IsNullOrEmpty(CDTXMania.Instance.DTX.RESULTSOUND[(int)rank]))\r
-                               {\r
-                                       CDTXMania.Instance.Skin.soundステージクリア音.t再生する();\r
-                                       this.rResultSound = null;\r
-                               }\r
-                               else\r
-                               {\r
-                                       string str2 = CDTXMania.Instance.DTX.strフォルダ名 + CDTXMania.Instance.DTX.RESULTSOUND[(int)rank];\r
-                                       try\r
-                                       {\r
-                                               this.rResultSound = CDTXMania.Instance.Sound管理.tサウンドを生成する(str2);\r
-                                       }\r
-                                       catch\r
-                                       {\r
-                                               Trace.TraceError("サウンドの生成に失敗しました。({0})", new object[] { str2 });\r
-                                               this.rResultSound = null;\r
-                                       }\r
-                               }\r
-                               //---------------------\r
-                               #endregion\r
-\r
-                               base.On活性化();\r
-                       }\r
-                       finally\r
-                       {\r
-                               Trace.TraceInformation("結果ステージの活性化を完了しました。");\r
-                               Trace.Unindent();\r
-                       }\r
-               }\r
-\r
-               // #35411 chnmr0 add\r
-               private void SaveGhost(CScoreIni.Eセクション種別 sect)\r
-               {\r
-                       STDGBSValue<bool> saveCond = new STDGBSValue<bool>();\r
-                       saveCond.Drums = true;\r
-                       saveCond.Guitar = true;\r
-                       saveCond.Bass = true;\r
-\r
-                       foreach (CChip chip in CDTXMania.Instance.DTX.listChip)\r
-                       {\r
-                               if (chip.bIsAutoPlayed)\r
-                               {\r
-                                       if (chip.eチャンネル番号 != EChannel.Guitar_Wailing && chip.eチャンネル番号 != EChannel.Bass_Wailing) // Guitar/Bass Wailing は OK\r
-                                       {\r
-                                               saveCond[chip.e楽器パート] = false;\r
-                                       }\r
-                               }\r
-                       }\r
-                       for (EPart instIndex = EPart.Drums; instIndex <= EPart.Bass; ++instIndex)\r
-                       {\r
-                               saveCond[instIndex] &= CDTXMania.Instance.DTX.listAutoGhostLag.Drums == null;\r
-                       }\r
-\r
-                       string directory = CDTXMania.Instance.DTX.strフォルダ名;\r
-                       string filename = CDTXMania.Instance.DTX.strファイル名 + ".";\r
-                       EPart inst = EPart.Unknown;\r
-\r
-                       if (sect == CScoreIni.Eセクション種別.HiScoreDrums)\r
-                       {\r
-                               filename += "hiscore.dr.ghost";\r
-                               inst = EPart.Drums;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.HiSkillDrums)\r
-                       {\r
-                               filename += "hiskill.dr.ghost";\r
-                               inst = EPart.Drums;\r
-                       }\r
-                       if (sect == CScoreIni.Eセクション種別.HiScoreGuitar)\r
-                       {\r
-                               filename += "hiscore.gt.ghost";\r
-                               inst = EPart.Guitar;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.HiSkillGuitar)\r
-                       {\r
-                               filename += "hiskill.gt.ghost";\r
-                               inst = EPart.Guitar;\r
-                       }\r
-                       if (sect == CScoreIni.Eセクション種別.HiScoreBass)\r
-                       {\r
-                               filename += "hiscore.bs.ghost";\r
-                               inst = EPart.Bass;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.HiSkillBass)\r
-                       {\r
-                               filename += "hiskill.bs.ghost";\r
-                               inst = EPart.Bass;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.LastPlayDrums)\r
-                       {\r
-                               filename += "lastplay.dr.ghost";\r
-                               inst = EPart.Drums;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.LastPlayGuitar)\r
-                       {\r
-                               filename += "lastplay.gt.ghost";\r
-                               inst = EPart.Guitar;\r
-                       }\r
-                       else if (sect == CScoreIni.Eセクション種別.LastPlayBass)\r
-                       {\r
-                               filename += "lastplay.bs.ghost";\r
-                               inst = EPart.Bass;\r
-                       }\r
-\r
-                       if (inst == EPart.Unknown)\r
-                       {\r
-                               return;\r
-                       }\r
-\r
-                       int cnt = 0;\r
-                       foreach (DTXMania.CChip chip in CDTXMania.Instance.DTX.listChip)\r
-                       {\r
-                               if (chip.e楽器パート == inst)\r
-                               {\r
-                                       ++cnt;\r
-                               }\r
-                       }\r
-\r
-                       if (saveCond[inst])\r
-                       {\r
-                               using (FileStream fs = new FileStream(directory + "\\" + filename, FileMode.Create, FileAccess.Write))\r
-                               {\r
-                                       using (BinaryWriter bw = new BinaryWriter(fs))\r
-                                       {\r
-                                               bw.Write((Int32)cnt);\r
-                                               foreach (DTXMania.CChip chip in CDTXMania.Instance.DTX.listChip)\r
-                                               {\r
-                                                       if (chip.e楽器パート == inst)\r
-                                                       {\r
-                                                               // -128 ms から 127 ms までのラグしか保存しない\r
-                                                               // その範囲を超えているラグはクランプ\r
-                                                               // ラグデータの 上位8ビットでそのチップの前でギター空打ちBADがあったことを示す\r
-                                                               int lag = chip.nLag;\r
-                                                               if (lag < -128)\r
-                                                               {\r
-                                                                       lag = -128;\r
-                                                               }\r
-                                                               if (lag > 127)\r
-                                                               {\r
-                                                                       lag = 127;\r
-                                                               }\r
-                                                               byte lower = (byte)(lag + 128);\r
-                                                               int upper = chip.extendInfoForGhost == false ? 1 : 0;\r
-                                                               bw.Write((short)((upper << 8) | lower));\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-\r
-               public override void On非活性化()\r
-               {\r
-                       if (this.rResultSound != null)\r
-                       {\r
-                               CDTXMania.Instance.Sound管理.tサウンドを破棄する(this.rResultSound);\r
-                               this.rResultSound = null;\r
-                       }\r
-                       base.On非活性化();\r
-               }\r
-               public override void OnManagedリソースの作成()\r
-               {\r
-                       if (!base.b活性化してない)\r
-                       {\r
-                               this.tx背景 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenResult background.jpg"));\r
-                               this.tx上部パネル = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenResult header panel.png"), true);\r
-                               this.tx下部パネル = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenResult footer panel.png"), true);\r
-                               //this.txオプションパネル = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\Screen option panels.png"));\r
-                               base.OnManagedリソースの作成();\r
-                       }\r
-               }\r
-               public override void OnManagedリソースの解放()\r
-               {\r
-                       if (!base.b活性化してない)\r
-                       {\r
-                               if (this.ct登場用 != null)\r
-                               {\r
-                                       this.ct登場用 = null;\r
-                               }\r
-                               TextureFactory.tテクスチャの解放(ref this.tx背景);\r
-                               TextureFactory.tテクスチャの解放(ref this.tx上部パネル);\r
-                               TextureFactory.tテクスチャの解放(ref this.tx下部パネル);\r
-                               //TextureFactory.tテクスチャの解放(ref this.txオプションパネル);\r
-                               base.OnManagedリソースの解放();\r
-                       }\r
-               }\r
-               public override int On進行描画()\r
-               {\r
-                       if (!base.b活性化してない)\r
-                       {\r
-                               int num;\r
-                               if (base.b初めての進行描画)\r
-                               {\r
-                                       this.ct登場用 = new CCounter(0, 100, 5, CDTXMania.Instance.Timer);\r
-                                       this.actFI.tフェードイン開始();\r
-                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;\r
-                                       if (this.rResultSound != null)\r
-                                       {\r
-                                               this.rResultSound.t再生を開始する();\r
-                                       }\r
-                                       base.b初めての進行描画 = false;\r
-                               }\r
-                               this.bアニメが完了 = true;\r
-                               if (this.ct登場用.b進行中)\r
-                               {\r
-                                       this.ct登場用.t進行();\r
-                                       if (this.ct登場用.b終了値に達した)\r
-                                       {\r
-                                               this.ct登場用.t停止();\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               this.bアニメが完了 = false;\r
-                                       }\r
-                               }\r
-\r
-                               // 描画\r
-\r
-                               if (this.tx背景 != null)\r
-                               {\r
-                                       this.tx背景.t2D描画(CDTXMania.Instance.Device, 0, 0);\r
-                               }\r
-                               if (this.ct登場用.b進行中 && (this.tx上部パネル != null))\r
-                               {\r
-                                       double num2 = ((double)this.ct登場用.n現在の値) / 100.0;\r
-                                       double num3 = Math.Sin(Math.PI / 2 * num2);\r
-                                       num = ((int)(this.tx上部パネル.sz画像サイズ.Height * num3)) - this.tx上部パネル.sz画像サイズ.Height;\r
-                               }\r
-                               else\r
-                               {\r
-                                       num = 0;\r
-                               }\r
-                               if (this.tx上部パネル != null)\r
-                               {\r
-                                       this.tx上部パネル.t2D描画(CDTXMania.Instance.Device, 0, num * Scale.Y);\r
-                               }\r
-                               if (this.tx下部パネル != null)\r
-                               {\r
-                                       this.tx下部パネル.t2D描画(CDTXMania.Instance.Device, 0, (SampleFramework.GameWindowSize.Height - this.tx下部パネル.sz画像サイズ.Height));\r
-                               }\r
-                               this.actOption.On進行描画();\r
-                               if (this.actResultImage.On進行描画() == 0)\r
-                               {\r
-                                       this.bアニメが完了 = false;\r
-                               }\r
-                               if (this.actParameterPanel.On進行描画() == 0)\r
-                               {\r
-                                       this.bアニメが完了 = false;\r
-                               }\r
-                               if (this.actRank.On進行描画() == 0)\r
-                               {\r
-                                       this.bアニメが完了 = false;\r
-                               }\r
-                               if (this.actSongBar.On進行描画() == 0)\r
-                               {\r
-                                       this.bアニメが完了 = false;\r
-                               }\r
-                               if (base.eフェーズID == CStage.Eフェーズ.共通_フェードイン)\r
-                               {\r
-                                       if (this.actFI.On進行描画() != 0)\r
-                                       {\r
-                                               base.eフェーズID = CStage.Eフェーズ.共通_通常状態;\r
-                                       }\r
-                               }\r
-                               else if ((base.eフェーズID == CStage.Eフェーズ.共通_フェードアウト))     //&& ( this.actFO.On進行描画() != 0 ) )\r
-                               {\r
-                                       return (int)this.eフェードアウト完了時の戻り値;\r
-                               }\r
-                               #region [ #24609 2011.3.14 yyagi ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ]\r
-                               if (this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false  // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.\r
-                                       && CDTXMania.Instance.ConfigIni.bScoreIni\r
-                                       && CDTXMania.Instance.ConfigIni.bIsAutoResultCapture)                       // #25399 2011.6.9 yyagi\r
-                               {\r
-                                       CheckAndSaveResultScreen(true);\r
-                                       this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true;\r
-                               }\r
-                               #endregion\r
-\r
-                               // キー入力\r
-\r
-                               if (CDTXMania.Instance.act現在入力を占有中のプラグイン == null)\r
-                               {\r
-                                       if (CDTXMania.Instance.ConfigIni.bDrumsHitSound && CDTXMania.Instance.ConfigIni.bDrums有効)\r
-                                       {\r
-                                               for (EPad i = EPad.DrumsPadMin; i < EPad.DrumsPadMax; i++)\r
-                                               {\r
-                                                       List<STInputEvent> events = CDTXMania.Instance.Pad.GetEvents(i);\r
-                                                       if ((events != null) && (events.Count > 0))\r
-                                                       {\r
-                                                               foreach (STInputEvent event2 in events)\r
-                                                               {\r
-                                                                       if (!event2.b押された)\r
-                                                                       {\r
-                                                                               continue;\r
-                                                                       }\r
-                                                                       CChip rChip = this.r空うちドラムチップ[i];\r
-                                                                       if (rChip == null)\r
-                                                                       {\r
-                                                                               switch (i)\r
-                                                                               {\r
-                                                                                       case EPad.HH:\r
-                                                                                               rChip = this.r空うちドラムチップ.HHO;\r
-                                                                                               if (rChip == null)\r
-                                                                                               {\r
-                                                                                                       rChip = this.r空うちドラムチップ.LC;\r
-                                                                                               }\r
-                                                                                               break;\r
-\r
-                                                                                       case EPad.FT:\r
-                                                                                               rChip = this.r空うちドラムチップ.LT;\r
-                                                                                               break;\r
-\r
-                                                                                       case EPad.CY:\r
-                                                                                               rChip = this.r空うちドラムチップ.RD;\r
-                                                                                               break;\r
-\r
-                                                                                       case EPad.HHO:\r
-                                                                                               rChip = this.r空うちドラムチップ.HH;\r
-                                                                                               if (rChip == null)\r
-                                                                                               {\r
-                                                                                                       rChip = this.r空うちドラムチップ.LC;\r
-                                                                                               }\r
-                                                                                               break;\r
-\r
-                                                                                       case EPad.RD:\r
-                                                                                               rChip = this.r空うちドラムチップ.CY;\r
-                                                                                               break;\r
-\r
-                                                                                       case EPad.LC:\r
-                                                                                               rChip = this.r空うちドラムチップ.HH;\r
-                                                                                               if (rChip == null)\r
-                                                                                               {\r
-                                                                                                       rChip = this.r空うちドラムチップ.HHO;\r
-                                                                                               }\r
-                                                                                               break;\r
-                                                                               }\r
-                                                                       }\r
-                                                                       if ((\r
-                                                                               (rChip != null) &&\r
-                                                                               (rChip.eチャンネル番号 >= EChannel.HiHatClose)) && (rChip.eチャンネル番号 <= EChannel.LeftCymbal))\r
-                                                                       {\r
-                                                                               int nLane = this.nチャンネル0Atoレーン07[rChip.eチャンネル番号 - EChannel.HiHatClose];\r
-                                                                               if ((nLane == 1) && (\r
-                                                                                       (rChip.eチャンネル番号 == EChannel.HiHatClose) ||\r
-                                                                                       ((rChip.eチャンネル番号 == EChannel.HiHatOpen) && (this.e最後に再生したHHのチャンネル番号 != EChannel.HiHatOpen))))\r
-                                                                               {\r
-                                                                                       CDTXMania.Instance.DTX.tWavの再生停止(this.n最後に再生したHHのWAV番号);\r
-                                                                                       this.n最後に再生したHHのWAV番号 = rChip.n整数値_内部番号;\r
-                                                                                       this.e最後に再生したHHのチャンネル番号 = rChip.eチャンネル番号;\r
-                                                                               }\r
-                                                                               CDTXMania.Instance.DTX.tチップの再生(rChip, CDTXMania.Instance.Timer.nシステム時刻, CDTXMania.Instance.ConfigIni.nChipVolume, CDTXMania.Instance.ConfigIni.bEmphasizePlaySound.Drums);\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       if (\r
-                                               (CDTXMania.Instance.Pad.bDecidePadIsPressedDGB() ||\r
-                                               (CDTXMania.Instance.ConfigIni.bEnterがキー割り当てのどこにも使用されていない &&\r
-                                               CDTXMania.Instance.Input管理.Keyboard.bキーが押された((int)SlimDXKey.Return))) &&\r
-                                               !this.bアニメが完了)\r
-                                       {\r
-                                               // #25406 2011.6.9 yyagi\r
-                                               this.actFI.tフェードイン完了();\r
-\r
-                                               this.actResultImage.tアニメを完了させる();\r
-                                               this.actParameterPanel.tアニメを完了させる();\r
-                                               this.actRank.tアニメを完了させる();\r
-                                               this.actSongBar.tアニメを完了させる();\r
-                                               this.ct登場用.t停止();\r
-                                       }\r
-                                       if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)\r
-                                       {\r
-                                               if (CDTXMania.Instance.Input管理.Keyboard.bキーが押された((int)SlimDXKey.Escape))\r
-                                               {\r
-                                                       CDTXMania.Instance.Skin.sound取消音.t再生する();\r
-                                                       this.actFO.tフェードアウト開始();\r
-                                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
-                                                       this.eフェードアウト完了時の戻り値 = E戻り値.完了;\r
-                                               }\r
-                                               if (\r
-                                                       CDTXMania.Instance.Pad.bDecidePadIsPressedDGB() ||\r
-                                                       (CDTXMania.Instance.ConfigIni.bEnterがキー割り当てのどこにも使用されていない &&\r
-                                                       CDTXMania.Instance.Input管理.Keyboard.bキーが押された((int)SlimDXKey.Return)) &&\r
-                                                       this.bアニメが完了)\r
-                                               {\r
-                                                       CDTXMania.Instance.Skin.sound取消音.t再生する();\r
-                                                       base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト;\r
-                                                       this.eフェードアウト完了時の戻り値 = E戻り値.完了;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-                       return 0;\r
-               }\r
-\r
-\r
-\r
-               #region [ #24609 リザルト画像をpngで保存する ]              // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.\r
-               /// <summary>\r
-               /// リザルト画像のキャプチャと保存。\r
-               /// 自動保存モード時は、ランク更新or演奏型スキル更新時に自動保存。\r
-               /// 手動保存モード時は、ランクに依らず保存。\r
-               /// </summary>\r
-               /// <param name="bIsAutoSave">true=自動保存モード, false=手動保存モード</param>\r
-               private void CheckAndSaveResultScreen(bool bIsAutoSave)\r
-               {\r
-                       string path = Path.GetDirectoryName(CDTXMania.Instance.DTX.strファイル名の絶対パス);\r
-                       string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");\r
-                       if (bIsAutoSave)\r
-                       {\r
-                               // リザルト画像を自動保存するときは、dtxファイル名.yyMMddHHmmss_DRUMS_SS.png という形式で保存。\r
-                               for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
-                               {\r
-                                       if (this.b新記録ランク[i] == true || this.b新記録スキル[i] == true)\r
-                                       {\r
-                                               string strPart = ((EPart)(i)).ToString();\r
-                                               string strRank = ((CScoreIni.ERANK)(this.nランク値[i])).ToString();\r
-                                               string strFullPath = CDTXMania.Instance.DTX.strファイル名の絶対パス + "." + datetime + "_" + strPart + "_" + strRank + ".png";\r
-                                               //Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png );\r
-                                               CDTXMania.Instance.SaveResultScreen(strFullPath);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               #endregion\r
-       }\r
-}\r