+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using FDK;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CAct演奏スクロール速度 : CActivity\r
- {\r
- public STDGBSValue<double> db現在の譜面スクロール速度;\r
-\r
- public CAct演奏スクロール速度()\r
- {\r
- base.b活性化してない = true;\r
- }\r
-\r
- public override void On活性化()\r
- {\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- this.db現在の譜面スクロール速度[i] = (double)CDTXMania.Instance.ConfigIni.nScrollSpeed[i];\r
- this.n速度変更制御タイマ[i] = -1;\r
- }\r
- base.On活性化();\r
- }\r
-\r
- public override unsafe int On進行描画()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- if (base.b初めての進行描画)\r
- {\r
- this.n速度変更制御タイマ.Drums = this.n速度変更制御タイマ.Guitar = this.n速度変更制御タイマ.Bass = CSound管理.rc演奏用タイマ.n現在時刻;\r
- base.b初めての進行描画 = false;\r
- }\r
- long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻;\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- double db譜面スクロールスピード = (double)CDTXMania.Instance.ConfigIni.nScrollSpeed[i];\r
- if (n現在時刻 < this.n速度変更制御タイマ[i])\r
- {\r
- this.n速度変更制御タイマ[i] = n現在時刻;\r
- }\r
- while ((n現在時刻 - this.n速度変更制御タイマ[i]) >= 2) // 2msに1回ループ\r
- {\r
- if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード) // Config.iniのスクロール速度を変えると、それに追いつくように実画面のスクロール速度を変える\r
- {\r
- this.db現在の譜面スクロール速度[i] += 0.012;\r
-\r
- if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード)\r
- {\r
- this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;\r
- }\r
- }\r
- else if (this.db現在の譜面スクロール速度[i] > db譜面スクロールスピード)\r
- {\r
- this.db現在の譜面スクロール速度[i] -= 0.012;\r
-\r
- if (this.db現在の譜面スクロール速度[i] < db譜面スクロールスピード)\r
- {\r
- this.db現在の譜面スクロール速度[i] = db譜面スクロールスピード;\r
- }\r
- }\r
- this.n速度変更制御タイマ[i] += 2;\r
- }\r
- }\r
- }\r
- return 0;\r
- }\r
-\r
-\r
- // その他\r
- private STDGBSValue<long> n速度変更制御タイマ;\r
- }\r
-}\r