From c5b90810af0d64c86c8fa63c9b2e5cbc0e1e9d07 Mon Sep 17 00:00:00 2001 From: yyagi Date: Sun, 9 Jan 2011 15:05:42 +0000 Subject: [PATCH] =?utf8?q?#23625=20=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8/?= =?utf8?q?=E5=9B=9E=E5=BE=A9=E5=80=A4=E3=82=92=E5=A4=89=E6=9B=B4=E3=80=82?= =?utf8?q?=E3=81=BE=E3=81=9F=E3=80=81=E3=82=AE=E3=82=BF=E3=83=BC=E7=94=BB?= =?utf8?q?=E9=9D=A2=E3=81=A7=E3=81=93=E3=82=8C=E3=81=8C=E5=8F=8D=E6=98=A0?= =?utf8?q?=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=AA=E3=81=8B=E3=81=A3?= =?utf8?q?=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3=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@58 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../ギター画面/CStage演奏ギター画面.cs | 65 +++++++++++++++---- .../ドラム画面/CStage演奏ドラム画面.cs | 75 +++++++++------------- .../コード/全体/CDTXMania.cs | 16 ++++- .../コード/全体/C定数.cs | 18 +++--- 4 files changed, 108 insertions(+), 66 deletions(-) diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs index f12fdcb6..b0ad35a2 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs @@ -2324,37 +2324,79 @@ namespace DTXMania } image.Dispose(); } - private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 ) +#if DAMAGELEVELTUNING + // ---------------------------------- + public float[,] fDamageGaugeDelta = { // #23625 ickw_284: tuned damege/recover factors + // drums, guitar, bass + { 0.005f, 0.001f, 0.001f }, + { 0.002f, 0.0005f, 0.0005f }, + { 0.000f, 0.000f, 0.000f }, + { -0.020f, -0.020f, -0.020f }, + { -0.030f, -0.050f, -0.050f } + }; + public float[] fDamageLevelFactor = { + 0.5f, 1.0f, 1.5f + }; + // ---------------------------------- +#endif + private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定) { - double num; - switch( e今回の判定 ) + double fDamage; + +#if DAMAGELEVELTUNING + switch (e今回の判定) { case E判定.Perfect: - num = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; + case E判定.Great: + case E判定.Good: + case E判定.Poor: + fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; + break; + case E判定.Miss: + fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; + switch (CDTXMania.ConfigIni.eダメージレベル) + { + case Eダメージレベル.少ない: + case Eダメージレベル.普通: + case Eダメージレベル.大きい: + fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; + break; + } + break; + + default: + fDamage = 0.0; + break; + } +#else + switch (e今回の判定) + { + case E判定.Perfect: + fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; break; case E判定.Great: - num = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; break; case E判定.Good: - num = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; break; case E判定.Poor: - num = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; break; case E判定.Miss: - num = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; + fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; switch( CDTXMania.ConfigIni.eダメージレベル ) { case Eダメージレベル.少ない: - num *= 0.6; + fDamage *= 0.6; break; case Eダメージレベル.普通: - num *= 1.0; + fDamage *= 1.0; break; case Eダメージレベル.大きい: @@ -2367,7 +2409,8 @@ namespace DTXMania num = 0.0; break; } - this.actGauge.db現在のゲージ値[ (int) part ] += num; +#endif + this.actGauge.db現在のゲージ値[(int)part] += fDamage; if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 ) this.actGauge.db現在のゲージ値[ (int) part ] = 1.0; diff --git a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs index feb8d348..519a9b5a 100644 --- a/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs +++ b/DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs @@ -14,21 +14,6 @@ namespace DTXMania { internal class CStage演奏ドラム画面 : CStage { -#if DAMAGELEVELTUNING - // ---------------------------------- - public float[,] gaugeDelta = { - { 0.003f, 0.005f }, - { 0.001f, 0.002f }, - { 0.000f, 0.000f }, - { -0.025f, -0.020f }, - { -0.050f, -0.030f } - }; - public float[] damageLevelFactor = { - 0.5f, 1.0f, 1.5f - }; - // ---------------------------------- -#endif - // プロパティ public bool bAUTOでないチップが1つでもバーを通過した @@ -4216,80 +4201,82 @@ namespace DTXMania } image.Dispose(); } + + +#if DAMAGELEVELTUNING + // ---------------------------------- + public float[,] fDamageGaugeDelta = { // #23625 ickw_284: tuned damege/recover factors + // drums, guitar, bass + { 0.005f, 0.001f, 0.001f }, + { 0.002f, 0.0005f, 0.0005f }, + { 0.000f, 0.000f, 0.000f }, + { -0.020f, -0.020f, -0.020f }, + { -0.030f, -0.050f, -0.050f } + }; + public float[] fDamageLevelFactor = { + 0.5f, 1.0f, 1.5f + }; + // ---------------------------------- +#endif + private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 ) { - double num; + double fDamage; #if DAMAGELEVELTUNING switch (e今回の判定) { case E判定.Perfect: - num = (part == E楽器パート.DRUMS) ? gaugeDelta[0, 0] : gaugeDelta[0, 1]; - break; - case E判定.Great: - num = (part == E楽器パート.DRUMS) ? gaugeDelta[1, 0] : gaugeDelta[1, 1]; - break; - case E判定.Good: - num = (part == E楽器パート.DRUMS) ? gaugeDelta[2, 0] : gaugeDelta[2, 1]; - break; - case E判定.Poor: - num = (part == E楽器パート.DRUMS) ? gaugeDelta[3, 0] : gaugeDelta[3, 1]; + fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; break; - case E判定.Miss: - num = (part == E楽器パート.DRUMS) ? gaugeDelta[4, 0] : gaugeDelta[4, 1]; + fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part]; switch (CDTXMania.ConfigIni.eダメージレベル) { case Eダメージレベル.少ない: - num *= damageLevelFactor[0]; - break; - case Eダメージレベル.普通: - num *= damageLevelFactor[1]; - break; - case Eダメージレベル.大きい: - num *= damageLevelFactor[2]; + fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル]; break; } break; default: - num = 0.0; + fDamage = 0.0f; break; } #else switch (e今回の判定) { case E判定.Perfect: - num = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015; break; case E判定.Great: - num = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009; break; case E判定.Good: - num = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003; break; case E判定.Poor: - num = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; + fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0; break; case E判定.Miss: - num = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; + fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035; switch( CDTXMania.ConfigIni.eダメージレベル ) { case Eダメージレベル.少ない: - num *= 0.6; + fDamage *= 0.6; break; case Eダメージレベル.普通: - num *= 1.0; + fDamage *= 1.0; break; case Eダメージレベル.大きい: @@ -4303,7 +4290,7 @@ namespace DTXMania break; } #endif - this.actGauge.db現在のゲージ値 += num; + this.actGauge.db現在のゲージ値 += fDamage; if( this.actGauge.db現在のゲージ値 > 1.0 ) this.actGauge.db現在のゲージ値 = 1.0; diff --git a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs index 79135933..f20bc930 100644 --- a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs +++ b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs @@ -770,11 +770,11 @@ for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j++) { - stage演奏ドラム画面.gaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j]; + stage演奏ドラム画面.fDamageGaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j]; } } for (int i = 0; i < 3; i++) { - stage演奏ドラム画面.damageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i]; + stage演奏ドラム画面.fDamageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i]; } #endif r直前のステージ = r現在のステージ; @@ -784,6 +784,18 @@ for (int i = 0; i < 3; i++) { { Trace.TraceInformation( "----------------------" ); Trace.TraceInformation( "■ 演奏(ギター画面)" ); +#if DAMAGELEVELTUNING +for (int i = 0; i < 5; i++) +{ + for (int j = 0; j < 2; j++) + { + stage演奏ギター画面.fDamageGaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j]; + } +} +for (int i = 0; i < 3; i++) { + stage演奏ギター画面.fDamageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i]; +} +#endif r直前のステージ = r現在のステージ; r現在のステージ = stage演奏ギター画面; } diff --git a/DTXManiaプロジェクト/コード/全体/C定数.cs b/DTXManiaプロジェクト/コード/全体/C定数.cs index 385436e3..58807937 100644 --- a/DTXManiaプロジェクト/コード/全体/C定数.cs +++ b/DTXManiaプロジェクト/コード/全体/C定数.cs @@ -30,9 +30,9 @@ namespace DTXMania } public enum Eダメージレベル { - 少ない, - 普通, - 大きい + 少ない = 0, + 普通 = 1, + 大きい = 2 } public enum Eパッド { @@ -84,12 +84,12 @@ namespace DTXMania } internal enum E判定 { - Perfect, - Great, - Good, - Poor, - Miss, - Bad, + Perfect = 0, + Great = 1, + Good = 2, + Poor = 3, + Miss = 4, + Bad = 5, Auto } internal enum E判定文字表示位置 -- 2.11.0