Skip to content

Commit

Permalink
Fix the two diffs having different lenghts early end bug
Browse files Browse the repository at this point in the history
  • Loading branch information
0auBSQ committed Jan 8, 2022
1 parent fee7f4c commit 430e513
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 61 deletions.
33 changes: 25 additions & 8 deletions TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1107,11 +1107,13 @@ protected bool tBalloonProcess( CDTX.CChip pChip, double dbProcess_time, int pla
}

this.b連打中[ player ] = true;
if(actChara.CharaAction_Balloon_Breaking != null)
if(actChara.CharaAction_Balloon_Breaking[player] != null)
{
actChara.アクションタイマーリセット(player);
actChara.bマイどんアクション中[player] = true;
actChara.CharaAction_Balloon_Breaking[player] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Breaking_Ptn[actChara.iCurrentCharacter[player]] - 1, TJAPlayer3.Skin.Game_Chara_Balloon_Timer, TJAPlayer3.Timer);
actChara.CharaAction_Balloon_Breaking[player] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Breaking_Ptn[actChara.iCurrentCharacter[player]] - 1,
//TJAPlayer3.Skin.Game_Chara_Balloon_Timer
TJAPlayer3.Skin.Characters_Balloon_Timer[actChara.iCurrentCharacter[player]], TJAPlayer3.Timer);

}

Expand All @@ -1124,7 +1126,9 @@ protected bool tBalloonProcess( CDTX.CChip pChip, double dbProcess_time, int pla
{
this.actBalloon.ct風船アニメ[player] = new CCounter(0, 9, 14, TJAPlayer3.Timer);
}

this.eRollState = E連打State.balloon;

pChip.nRollCount++;
this.n風船残り[ player ]--;

Expand Down Expand Up @@ -1155,12 +1159,12 @@ protected bool tBalloonProcess( CDTX.CChip pChip, double dbProcess_time, int pla
//this.actChara.b風船連打中 = false;
pChip.b可視 = false;
this.actChara.bマイどんアクション中[player] = false; // 風船終了後、再生されていたアクションがされないようにするために追加。(AioiLight)
if (actChara.CharaAction_Balloon_Broke != null)
if (actChara.CharaAction_Balloon_Broke[player] != null)
{
actChara.アクションタイマーリセット(player);
actChara.bマイどんアクション中[player] = true;
actChara.CharaAction_Balloon_Broke[player] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Broke_Ptn[actChara.iCurrentCharacter[player]] - 1, TJAPlayer3.Skin.Characters_Balloon_Timer[actChara.iCurrentCharacter[player]], TJAPlayer3.Timer);
if(actChara.CharaAction_Balloon_Delay != null )actChara.CharaAction_Balloon_Delay[player] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Delay[actChara.iCurrentCharacter[player]] - 1, 1, TJAPlayer3.Timer);
if(actChara.CharaAction_Balloon_Delay[player] != null )actChara.CharaAction_Balloon_Delay[player] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Delay[actChara.iCurrentCharacter[player]] - 1, 1, TJAPlayer3.Timer);
}
this.eRollState = E連打State.none;
}
Expand Down Expand Up @@ -1329,7 +1333,9 @@ protected unsafe E判定 tチップのヒット処理(long nHitTime, CDTX.CChip
if (pChip.nノーツ終了時刻ms <= (CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)))
{
this.b連打中[nPlayer] = false;
//this.actChara.b風船連打中 = false;

// this.actChara.b風船連打中[nPlayer] = false;

pChip.bHit = true;
pChip.IsHitted = true;
break;
Expand Down Expand Up @@ -2848,14 +2854,25 @@ protected bool t進行描画_チップ( E楽器パート ePlayMode, int nPlayer
if( chip現在処理中の連打チップ[ nPlayer ] != null )
{
chip現在処理中の連打チップ[ nPlayer ].bHit = true;
if (nPlayer == 0 && chip現在処理中の連打チップ[nPlayer].nBalloon > chip現在処理中の連打チップ[nPlayer].nRollCount && chip現在処理中の連打チップ[nPlayer].nRollCount > 0 && actChara.CharaAction_Balloon_Miss != null)
if (nPlayer == 0
&& chip現在処理中の連打チップ[nPlayer].nBalloon > chip現在処理中の連打チップ[nPlayer].nRollCount
&& chip現在処理中の連打チップ[nPlayer].nRollCount > 0
&& actChara.CharaAction_Balloon_Miss[nPlayer] != null)
{
if (TJAPlayer3.Skin.Characters_Balloon_Miss_Ptn[actChara.iCurrentCharacter[nPlayer]] > 0)
{
actChara.アクションタイマーリセット(nPlayer);
actChara.bマイどんアクション中[nPlayer] = true;
actChara.CharaAction_Balloon_Miss[nPlayer] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Miss_Ptn[actChara.iCurrentCharacter[nPlayer]] - 1, TJAPlayer3.Skin.Characters_Balloon_Timer[actChara.iCurrentCharacter[nPlayer]], TJAPlayer3.Timer);
if (actChara.CharaAction_Balloon_Delay != null) actChara.CharaAction_Balloon_Delay[nPlayer] = new CCounter(0, TJAPlayer3.Skin.Characters_Balloon_Delay[actChara.iCurrentCharacter[nPlayer]] - 1, 1, TJAPlayer3.Timer);

actChara.CharaAction_Balloon_Miss[nPlayer] = new CCounter(0,
TJAPlayer3.Skin.Characters_Balloon_Miss_Ptn[actChara.iCurrentCharacter[nPlayer]] - 1,
TJAPlayer3.Skin.Characters_Balloon_Timer[actChara.iCurrentCharacter[nPlayer]],
TJAPlayer3.Timer);

if (actChara.CharaAction_Balloon_Delay != null) actChara.CharaAction_Balloon_Delay[nPlayer] = new CCounter(0,
TJAPlayer3.Skin.Characters_Balloon_Delay[actChara.iCurrentCharacter[nPlayer]] - 1,
1,
TJAPlayer3.Timer);
}
}
chip現在処理中の連打チップ[nPlayer] = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,10 @@ public void OnDraw_Balloon()
if (TJAPlayer3.Tx.Characters_Balloon_Miss[this.iCurrentCharacter[i]][CharaAction_Balloon_Miss[i].n現在の値] != null)
{
TJAPlayer3.Tx.Characters_Balloon_Miss[this.iCurrentCharacter[i]][CharaAction_Balloon_Miss[i].n現在の値].Opacity = nowOpacity;
TJAPlayer3.Tx.Characters_Balloon_Miss[this.iCurrentCharacter[i]][CharaAction_Balloon_Miss[i].n現在の値].t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0]) + TJAPlayer3.Skin.Characters_Balloon_X[this.iCurrentCharacter[i]][0], TJAPlayer3.Skin.Characters_Balloon_Y[this.iCurrentCharacter[i]][i]);
TJAPlayer3.Tx.Characters_Balloon_Miss[this.iCurrentCharacter[i]][CharaAction_Balloon_Miss[i].n現在の値].t2D描画(TJAPlayer3.app.Device,
(TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0])
+ TJAPlayer3.Skin.Characters_Balloon_X[this.iCurrentCharacter[i]][0],
TJAPlayer3.Skin.Characters_Balloon_Y[this.iCurrentCharacter[i]][i]);
}
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画((TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0]) + TJAPlayer3.Skin.Game_PuchiChara_BalloonX[0], TJAPlayer3.Skin.Game_PuchiChara_BalloonY[i], false, nowOpacity, true, player : i);
if (CharaAction_Balloon_Miss[i].b終了値に達した)
Expand Down
48 changes: 0 additions & 48 deletions TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums風船.cs
Original file line number Diff line number Diff line change
Expand Up @@ -169,54 +169,6 @@ public int On進行描画(int n連打ノルマ, int n連打数, int player)
{
TJAPlayer3.stage演奏ドラム画面.actChara.b風船連打中[player] = false;
TJAPlayer3.stage演奏ドラム画面.b連打中[player] = false;
//this.tEnd();
////this.ct風船終了.n現在の値 = 0;
//if (this.ct風船終了.b進行中)
//{
// this.ct風船終了.t進行db();
// if (this.ct風船終了.b終了値に達した)
// {
// this.ct風船終了.t停止();
// this.ct風船終了.n現在の値 = 0D;
// CDTXMania.stage演奏ドラム画面.actChara.b風船連打中 = false;
// CDTXMania.stage演奏ドラム画面.b連打中[player] = false;
// }
//}

//if (this.ct風船終了.b進行中)
//{
// int nY = 0;
// int nT = 255;


// if (this.ct風船終了.n現在の値 <= 10)
// {
// nY = (int)this.ct風船終了.n現在の値;
// }
// else if (this.ct風船終了.n現在の値 > 10)
// {
// nY = 100;
// }
// //else if( this.ct風船終了.n現在の値 > 800 )
// {
// //nY = 100;
// //nT = 0;
// }

// if (CDTXMania.Tx.Chara_Balloon_Broken != null)
// CDTXMania.Tx.Chara_Balloon_Broken.t2D描画(CDTXMania.app.Device, 240, 140 - nY);
// //this.txキャラクター_風船終了.n透明度 = nT;
// CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.赤, this.ct風船終了.n現在の値.ToString() );


//}
//if (!this.ct風船終了.b終了値に達してないdb)
//{
// //CDTXMania.stage演奏ドラム画面.actChara.b風船連打中 = false;
// //CDTXMania.stage演奏ドラム画面.b連打中[player] = false;
//}
////CDTXMania.stage演奏ドラム画面.actChara.b風船連打中 = false;


}

Expand Down
24 changes: 20 additions & 4 deletions TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,9 @@ public override void On活性化()
base.On活性化();
base.eフェーズID = CStage.Eフェーズ.共通_通常状態;//初期化すれば、リザルト変遷は止まる。

ifp[0] = false;
ifp[1] = false;

// MODIFY_BEGIN #25398 2011.06.07 FROM
if ( TJAPlayer3.bコンパクトモード )
{
Expand Down Expand Up @@ -479,13 +482,22 @@ public override int On進行描画()

this.actLaneTaiko.ゴーゴー炎();

// bIsFinishedPlaying was dependent on 2P in this case



for ( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
{
bIsFinishedPlaying = this.t進行描画_チップ( E楽器パート.DRUMS, i );
// bIsFinishedPlaying = this.t進行描画_チップ(E楽器パート.DRUMS, i);
bool btmp = this.t進行描画_チップ(E楽器パート.DRUMS, i);
if (btmp == true)
ifp[i] = true;

this.t進行描画_チップ_連打( E楽器パート.DRUMS, i );
}

bIsFinishedPlaying = (TJAPlayer3.ConfigIni.nPlayerCount > 1 ) ? ifp[0] && ifp[1] : ifp[0];

this.actDan.On進行描画();

this.actMtaiko.On進行描画();
Expand Down Expand Up @@ -573,11 +585,13 @@ public override int On進行描画()
int Character = this.actChara.iCurrentCharacter[i];
if (TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] != 0)
{
if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[0] >= 100)
if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 100)
{
double dbUnit = (((60.0 / (TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM))));
this.actChara.アクションタイマーリセット(i);
this.actChara.ctキャラクターアクション_10コンボMAX[i] = new CCounter(0, TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] - 1, (dbUnit / TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character]) * 2, CSound管理.rc演奏用タイマ);
this.actChara.ctキャラクターアクション_10コンボMAX[i] = new CCounter(0,
TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character] - 1,
(dbUnit / TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[Character]) * 2, CSound管理.rc演奏用タイマ);
this.actChara.ctキャラクターアクション_10コンボMAX[i].t進行db();
this.actChara.ctキャラクターアクション_10コンボMAX[i].n現在の値 = 0;
this.actChara.bマイどんアクション中[i] = true;
Expand Down Expand Up @@ -624,7 +638,9 @@ private struct ST文字位置
}
public CAct演奏DrumsチップファイアD actChipFireD;

private CAct演奏Drumsグラフ actGraph; // #24074 2011.01.23 add ikanick
private bool[] ifp = { false, false };

private CAct演奏Drumsグラフ actGraph; // #24074 2011.01.23 add ikanick
private CAct演奏Drumsパッド actPad;
public CAct演奏Drumsレーン actLane;
public CAct演奏DrumsMtaiko actMtaiko;
Expand Down

0 comments on commit 430e513

Please sign in to comment.