Add 10 Levels of AI in addition of Auto mode (It's a separated option that also change the 2nd player nameplate to AI don one, results for AI are also not saved.)
This commit is contained in:
parent
ad4c262f26
commit
310e9063c0
@ -18,6 +18,8 @@
|
||||
9 : "Risky" description
|
||||
10 : "Song speed" option title
|
||||
11 : "Song speed" description
|
||||
12 : "AI Level" option title
|
||||
13 : "AI Level" description
|
||||
16 : "Layout type" option title
|
||||
17 : "Layout type" description
|
||||
18 : "Time stretch" description
|
||||
|
@ -605,6 +605,24 @@ namespace TJAPlayer3
|
||||
}
|
||||
// プロパティ
|
||||
|
||||
|
||||
public class CAIPerformances
|
||||
{
|
||||
public int nGoodOdds;
|
||||
public int nPerfectOdds;
|
||||
public int nBadOdds;
|
||||
public int nRollSpeed;
|
||||
|
||||
public CAIPerformances(int po, int go, int bo, int rp)
|
||||
{
|
||||
nGoodOdds = go;
|
||||
nPerfectOdds = po;
|
||||
nBadOdds = bo;
|
||||
nRollSpeed = rp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if false // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化
|
||||
//----------------------------------------
|
||||
public float[,] fGaugeFactor = new float[5,2];
|
||||
@ -738,6 +756,21 @@ namespace TJAPlayer3
|
||||
|
||||
public bool bAuto先生の連打;
|
||||
public int nRollsPerSec;
|
||||
public int nAILevel;
|
||||
|
||||
public CAIPerformances[] apAIPerformances =
|
||||
{
|
||||
new CAIPerformances(500, 400, 100, 7),
|
||||
new CAIPerformances(650, 310, 40, 8),
|
||||
new CAIPerformances(750, 225, 25, 9),
|
||||
new CAIPerformances(800, 180, 20, 10),
|
||||
new CAIPerformances(850, 135, 15, 12),
|
||||
new CAIPerformances(900, 90, 10, 14),
|
||||
new CAIPerformances(910, 85, 5, 16),
|
||||
new CAIPerformances(950, 49, 1, 22),
|
||||
new CAIPerformances(975, 25, 0, 26),
|
||||
new CAIPerformances(1000, 0, 0, 30)
|
||||
};
|
||||
|
||||
public bool b大音符判定;
|
||||
public int n両手判定の待ち時間;
|
||||
@ -1296,6 +1329,7 @@ namespace TJAPlayer3
|
||||
this.n表示可能な最小コンボ数.Bass = 10;
|
||||
this.n表示可能な最小コンボ数.Taiko = 10;
|
||||
this.nRollsPerSec = 15;
|
||||
this.nAILevel = 0;
|
||||
this.FontName = "MS UI Gothic";
|
||||
this.BoxFontName = "MS UI Gothic";
|
||||
this.ApplyLoudnessMetadata = true;
|
||||
@ -1817,6 +1851,7 @@ namespace TJAPlayer3
|
||||
sw.WriteLine("Taiko2P={0}", this.b太鼓パートAutoPlay2P ? 1 : 0);
|
||||
sw.WriteLine("TaikoAutoRoll={0}", this.bAuto先生の連打 ? 1 : 0);
|
||||
sw.WriteLine("RollsPerSec={0}", this.nRollsPerSec);
|
||||
sw.WriteLine("AILevel={0}", this.nAILevel);
|
||||
sw.WriteLine();
|
||||
sw.WriteLine(";-------------------");
|
||||
#endregion
|
||||
@ -2558,6 +2593,10 @@ namespace TJAPlayer3
|
||||
else if (str3.Equals("RollsPerSec"))
|
||||
{
|
||||
this.nRollsPerSec = int.Parse(str4);
|
||||
}
|
||||
else if (str3.Equals("AILevel"))
|
||||
{
|
||||
this.nAILevel = int.Parse(str4);
|
||||
}
|
||||
continue;
|
||||
//-----------------------------
|
||||
|
@ -32,6 +32,11 @@ namespace TJAPlayer3
|
||||
[10] = "Song Playback Speed",
|
||||
[11] = "Change song playback speed.\nIf the Time Stretch option is enabled,\nsound issues may occur below 0.9x playback speed.\n" +
|
||||
"Note: It also changes the songs' pitch.",
|
||||
[12] = "AI Level",
|
||||
[13] = "Determines how precise the AI is.\n" +
|
||||
"If 0, AI is disabled.\n" +
|
||||
"If 1 or more, the 2P will play as AI.\n" +
|
||||
"Disabled if AUTO 2P is on.",
|
||||
[16] = "Layout type",
|
||||
[17] = "You can change the layout of the songs \ndisplayed on the song select screen.\n" +
|
||||
"0 : Regular (Up to down diagonal)\n" +
|
||||
|
@ -103,7 +103,7 @@ namespace TJAPlayer3
|
||||
[59] = "Para que el carril de J2\n" +
|
||||
" se juegue automáticamente.",
|
||||
[60] = "Velocidad del redoble",
|
||||
[61] = "Redobles por segundo cuando se usa el\nmodo automático.\nNo tiene efecto en los globos.\nDesactivado si está en 0,\nbloqueado a un redoble por frame.",
|
||||
[61] = "Redobles por segundo cuando se usa el\nmodo automático.\nNo tiene efecto en los globos.\nDesactivado si está en 0,\nbloqueado a un redoble por frame." +
|
||||
" no se completarán en modo automático.",
|
||||
[62] = "VelDesplazamiento",
|
||||
[63] = "Cambiar la velocidad de desplazamiento\n" +
|
||||
|
@ -38,6 +38,11 @@ namespace TJAPlayer3
|
||||
"Note: Cette option change aussi le ton de la musique.\n" +
|
||||
"Si TimeStretch=ON, il peut y avoir du\n" +
|
||||
"lag si la vitesse générale est inférieure à x0.900.",
|
||||
[12] = "Niveau de l'IA",
|
||||
[13] = "Determine les performances de l'IA.\n" +
|
||||
"Si 0, l'IA est désactivée.\n" +
|
||||
"Si au moins 1, le J2 est joué par l'IA.\n" +
|
||||
"Non compatible avec le mode AUTO J2.",
|
||||
[16] = "Disposition des blocs",
|
||||
[17] = "Cette option détermine l'ordonnancement \ndes blocs dans le menu de selection \n des musiques en mode partie rapide.\n" +
|
||||
"0 : Standard (Diagonale haut-bas)\n" +
|
||||
|
@ -38,6 +38,11 @@ namespace TJAPlayer3
|
||||
"TimeStretchがONのときに、演奏\n" +
|
||||
"速度をx0.850以下にすると、音の\n" +
|
||||
"ズレが大きくなります。",
|
||||
[12] = "AIレベル",
|
||||
[13] = "AIの制度を定める設定です。\n" +
|
||||
"0ならAIはオフされます。\n" +
|
||||
"1以上なら2PはAIとして自動でやります。\n" +
|
||||
"AUTO 2PはオンならAI使用できません。",
|
||||
[16] = "選曲画面レイアウト",
|
||||
[17] = "選曲画面のレイアウトの変更ができます。\n" +
|
||||
"0=>通常の設計(上下斜)\n" +
|
||||
|
@ -397,6 +397,10 @@ namespace TJAPlayer3
|
||||
CLangManager.LangInstance.GetString(61));
|
||||
this.list項目リスト.Add(this.iRollsPerSec);
|
||||
|
||||
this.iAILevel = new CItemInteger(CLangManager.LangInstance.GetString(12), 0, 10, TJAPlayer3.ConfigIni.nAILevel,
|
||||
CLangManager.LangInstance.GetString(13));
|
||||
this.list項目リスト.Add(this.iAILevel);
|
||||
|
||||
|
||||
/*
|
||||
this.iTaikoAutoRoll = new CItemToggle(CLangManager.LangInstance.GetString(60), TJAPlayer3.ConfigIni.bAuto先生の連打,
|
||||
@ -1413,6 +1417,7 @@ namespace TJAPlayer3
|
||||
private CItemToggle iTaikoAutoRoll;
|
||||
|
||||
private CItemInteger iRollsPerSec;
|
||||
private CItemInteger iAILevel;
|
||||
|
||||
private CItemToggle iTaikoBranchGuide;
|
||||
private CItemList iTaikoDefaultCourse; //2017.01.30 DD デフォルトでカーソルをあわせる難易度
|
||||
@ -1551,6 +1556,9 @@ namespace TJAPlayer3
|
||||
//TJAPlayer3.ConfigIni.bAuto先生の連打 = this.iTaikoAutoRoll.bON;
|
||||
TJAPlayer3.ConfigIni.nRollsPerSec = this.iRollsPerSec.n現在の値;
|
||||
|
||||
TJAPlayer3.ConfigIni.nAILevel = this.iAILevel.n現在の値;
|
||||
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(1);
|
||||
|
||||
TJAPlayer3.ConfigIni.n譜面スクロール速度.Drums = this.iDrumsScrollSpeed.n現在の値;
|
||||
//CDTXMania.ConfigIni.bドラムコンボ表示 = this.iDrumsComboDisp.bON;
|
||||
// "Sudden" || "Sud+Hid"
|
||||
|
@ -826,6 +826,19 @@ namespace TJAPlayer3
|
||||
{
|
||||
var e判定 = e指定時刻からChipのJUDGEを返すImpl(nTime, pChip);
|
||||
|
||||
/*
|
||||
if (TJAPlayer3.ConfigIni.nAILevel > 0)
|
||||
{
|
||||
int dice = TJAPlayer3.Random.Next(1000);
|
||||
|
||||
if (dice < TJAPlayer3.ConfigIni.apAIPerformances[TJAPlayer3.ConfigIni.nAILevel - 1].nBadOdds)
|
||||
e判定 = E判定.Poor;
|
||||
else if (dice + TJAPlayer3.ConfigIni.apAIPerformances[TJAPlayer3.ConfigIni.nAILevel - 1].nBadOdds
|
||||
< TJAPlayer3.ConfigIni.apAIPerformances[TJAPlayer3.ConfigIni.nAILevel - 1].nGoodOdds)
|
||||
e判定 = E判定.Good;
|
||||
}
|
||||
*/
|
||||
|
||||
// When performing calibration, reduce audio distraction from user input.
|
||||
// For users who play primarily by watching notes cross the judgment position,
|
||||
// you might think that we want them to see visual judgment feedback during
|
||||
@ -849,6 +862,7 @@ namespace TJAPlayer3
|
||||
|
||||
private E判定 e指定時刻からChipのJUDGEを返すImpl( long nTime, CDTX.CChip pChip )
|
||||
{
|
||||
|
||||
if ( pChip != null )
|
||||
{
|
||||
pChip.nLag = (int) ( nTime - pChip.n発声時刻ms ); // #23580 2011.1.3 yyagi: add "nInputAdjustTime" to add input timing adjust feature
|
||||
@ -1397,7 +1411,7 @@ namespace TJAPlayer3
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P;
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1425,6 +1439,9 @@ namespace TJAPlayer3
|
||||
//連打が短すぎると発声されない
|
||||
eJudgeResult = (bCorrectLane)? this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip ) : E判定.Miss;
|
||||
|
||||
// AI judges
|
||||
eJudgeResult = AlterJudgement(nPlayer, eJudgeResult, true);
|
||||
|
||||
if (!bAutoPlay && eJudgeResult != E判定.Miss)
|
||||
{
|
||||
CLagLogger.Add(nPlayer, pChip);
|
||||
@ -1437,9 +1454,15 @@ namespace TJAPlayer3
|
||||
this.b連打中[nPlayer] = true;
|
||||
if (bAutoPlay)
|
||||
{
|
||||
if (this.bPAUSE == false && TJAPlayer3.ConfigIni.nRollsPerSec > 0) // && TJAPlayer3.ConfigIni.bAuto先生の連打)
|
||||
int rollSpeed = TJAPlayer3.ConfigIni.nRollsPerSec;
|
||||
if (TJAPlayer3.ConfigIni.nAILevel > 0)
|
||||
rollSpeed = TJAPlayer3.ConfigIni.apAIPerformances[TJAPlayer3.ConfigIni.nAILevel - 1].nRollSpeed;
|
||||
|
||||
if (this.bPAUSE == false && rollSpeed > 0) // && TJAPlayer3.ConfigIni.bAuto先生の連打)
|
||||
{
|
||||
if (((CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) > (pChip.n発声時刻ms + (1000.0 / (double)TJAPlayer3.ConfigIni.nRollsPerSec) * pChip.nRollCount))
|
||||
|
||||
|
||||
if (((CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) > (pChip.n発声時刻ms + (1000.0 / (double)rollSpeed) * pChip.nRollCount))
|
||||
{
|
||||
if (this.nHand[nPlayer] == 0)
|
||||
this.nHand[nPlayer]++;
|
||||
@ -1465,22 +1488,6 @@ namespace TJAPlayer3
|
||||
this.tRollProcess(pChip, (CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)), 1, nNowInput, 0, nPlayer);
|
||||
}
|
||||
|
||||
//if ((int)CSound管理.rc演奏用タイマ.n現在時刻ms >= pChip.nノーツ終了時刻ms)
|
||||
//{
|
||||
// if (actChara.CharaAction_Balloon_Breaking.b進行中)
|
||||
// {
|
||||
// this.actChara.bマイどんアクション中 = false; // 風船終了後、再生されていたアクションがされないようにするために追加。(AioiLight)
|
||||
// if (actChara.CharaAction_Balloon_Miss != null)
|
||||
// {
|
||||
// actChara.アクションタイマーリセット();
|
||||
// actChara.bマイどんアクション中 = true;
|
||||
// actChara.CharaAction_Balloon_Miss = new CCounter(0, CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss - 1, CDTXMania.Skin.Game_Chara_Balloon_Timer, CDTXMania.Timer);
|
||||
// System.Windows.Forms.MessageBox.Show("");
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
break;
|
||||
//---------------------------
|
||||
#endregion
|
||||
@ -1547,22 +1554,12 @@ namespace TJAPlayer3
|
||||
|
||||
if (eJudgeResult != E判定.Auto && eJudgeResult != E判定.Miss)
|
||||
{
|
||||
this.actJudgeString.Start(nPlayer, bAutoPlay ? E判定.Auto : eJudgeResult);
|
||||
|
||||
this.actJudgeString.Start(nPlayer, (bAutoPlay && TJAPlayer3.ConfigIni.nAILevel == 0) ? E判定.Auto : eJudgeResult);
|
||||
TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.Start(pChip.nチャンネル番号, eJudgeResult, true, nPlayer);
|
||||
TJAPlayer3.stage演奏ドラム画面.actChipFireD.Start(pChip.nチャンネル番号, eJudgeResult, nPlayer);
|
||||
}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? true : (nNowInput == 2 || nNowInput == 3))
|
||||
{
|
||||
//if( pChip.nチャンネル番号 == 0x13 || pChip.nチャンネル番号 == 0x1A )
|
||||
// //CDTXMania.stage演奏ドラム画面.actChipFireD.Start( 0, nPlayer );
|
||||
//else if( pChip.nチャンネル番号 == 0x14 || pChip.nチャンネル番号 == 0x1B )
|
||||
// //CDTXMania.stage演奏ドラム画面.actChipFireD.Start( 1, nPlayer );
|
||||
}
|
||||
}
|
||||
else if (eJudgeResult != E判定.Poor && eJudgeResult != E判定.Bad)
|
||||
{
|
||||
//this.actJudgeString.Start( 0,bAutoPlay ? E判定.Auto : eJudgeResult, pChip.nLag, pChip, nPlayer );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -2560,7 +2557,7 @@ namespace TJAPlayer3
|
||||
#endregion
|
||||
|
||||
#region 過去のノーツが見つかったらそれを返却、そうでなければ未来のノーツを返却
|
||||
if ((pastJudge == E判定.Miss || pastJudge == E判定.Poor) && (pastJudge != E判定.Miss && pastJudge != E判定.Poor))
|
||||
if ((pastJudge == E判定.Miss || pastJudge == E判定.Poor) && (futureJudge != E判定.Miss && futureJudge != E判定.Poor))
|
||||
{
|
||||
// 過去の判定が不可で、未来の判定が可以上なら未来を返却。
|
||||
nearestChip = futureChip;
|
||||
@ -2771,6 +2768,8 @@ namespace TJAPlayer3
|
||||
protected abstract void ドラムスクロール速度ダウン();
|
||||
protected void tキー入力()
|
||||
{
|
||||
// Inputs
|
||||
|
||||
IInputDevice keyboard = TJAPlayer3.Input管理.Keyboard;
|
||||
if ( keyboard.bキーが押された( (int)SlimDXKeys.Key.F1 ) &&
|
||||
( keyboard.bキーが押されている( (int)SlimDXKeys.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDXKeys.Key.LeftShift ) ) )
|
||||
@ -2792,6 +2791,7 @@ namespace TJAPlayer3
|
||||
if ( ( !this.bPAUSE && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )
|
||||
{
|
||||
this.t入力処理_ドラム();
|
||||
|
||||
if ( keyboard.bキーが押された( (int)SlimDXKeys.Key.UpArrow ) && ( keyboard.bキーが押されている( (int)SlimDXKeys.Key.RightShift ) || keyboard.bキーが押されている( (int)SlimDXKeys.Key.LeftShift ) ) )
|
||||
{ // shift (+ctrl) + UpArrow (BGMAdjust)
|
||||
TJAPlayer3.DTX.t各自動再生音チップの再生時刻を変更する( ( keyboard.bキーが押されている( (int)SlimDXKeys.Key.LeftControl ) || keyboard.bキーが押されている( (int)SlimDXKeys.Key.RightControl ) ) ? 1 : 10 );
|
||||
@ -3144,7 +3144,7 @@ namespace TJAPlayer3
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P;
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0;
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
default:
|
||||
@ -4030,7 +4030,7 @@ namespace TJAPlayer3
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P;
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0;
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
default:
|
||||
@ -4843,6 +4843,25 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
private int nDice = 0;
|
||||
|
||||
public E判定 AlterJudgement(int player, E判定 judgement, bool reroll)
|
||||
{
|
||||
int AILevel = TJAPlayer3.ConfigIni.nAILevel;
|
||||
if (AILevel > 0 && player == 1)
|
||||
{
|
||||
if (reroll)
|
||||
nDice = TJAPlayer3.Random.Next(1000);
|
||||
|
||||
if (nDice < TJAPlayer3.ConfigIni.apAIPerformances[AILevel - 1].nBadOdds)
|
||||
return E判定.Poor;
|
||||
else if (nDice + TJAPlayer3.ConfigIni.apAIPerformances[AILevel - 1].nBadOdds
|
||||
< TJAPlayer3.ConfigIni.apAIPerformances[AILevel - 1].nGoodOdds)
|
||||
return E判定.Good;
|
||||
}
|
||||
return judgement;
|
||||
}
|
||||
|
||||
public void ReSetScore(int scoreInit, int scoreDiff)
|
||||
{
|
||||
//一打目の処理落ちがひどいので、あらかじめここで点数の計算をしておく。
|
||||
|
@ -328,6 +328,8 @@ namespace TJAPlayer3
|
||||
// other controller, etc. and the sounds of the input calibration audio file.
|
||||
if (!TJAPlayer3.IsPerformingCalibration)
|
||||
{
|
||||
// Oto iro here
|
||||
|
||||
this.soundRed = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path( @"Sounds\Taiko\dong.ogg" ), ESoundGroup.SoundEffect );
|
||||
this.soundBlue = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path( @"Sounds\Taiko\ka.ogg" ), ESoundGroup.SoundEffect );
|
||||
this.soundAdlib = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path(@"Sounds\Taiko\Adlib.ogg"), ESoundGroup.SoundEffect );
|
||||
@ -335,6 +337,7 @@ namespace TJAPlayer3
|
||||
this.soundBlue2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Taiko\ka.ogg"), ESoundGroup.SoundEffect);
|
||||
this.soundAdlib2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Taiko\Adlib.ogg"), ESoundGroup.SoundEffect);
|
||||
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 2)//2020.05.06 Mr-Ojii左右に出したかったから、追加。
|
||||
{
|
||||
this.soundRed.n位置 = -100;
|
||||
@ -353,25 +356,6 @@ namespace TJAPlayer3
|
||||
{
|
||||
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太鼓ノーツ );
|
||||
// CDTXMania.tテクスチャの解放( ref this.txHand );
|
||||
// CDTXMania.tテクスチャの解放( ref this.txSenotes );
|
||||
// CDTXMania.tテクスチャの解放( ref this.tx小節線 );
|
||||
// CDTXMania.tテクスチャの解放( ref this.tx小節線_branch );
|
||||
//CDTXMania.tテクスチャの解放( ref this.txレーンフレームGB );
|
||||
////CDTXMania.tテクスチャの解放( ref this.txWailing枠 );
|
||||
|
||||
// CDTXMania.tテクスチャの解放( ref this.tx判定数表示パネル );
|
||||
// CDTXMania.tテクスチャの解放( ref this.tx判定数小文字 );
|
||||
// CDTXMania.tテクスチャの解放( ref this.txNamePlate );
|
||||
// if (CDTXMania.stage演奏ドラム画面.bDoublePlay)
|
||||
// CDTXMania.tテクスチャの解放( ref this.txNamePlate2P );
|
||||
// CDTXMania.tテクスチャの解放( ref this.txPlayerNumber);
|
||||
|
||||
if( this.soundRed != null )
|
||||
this.soundRed.t解放する();
|
||||
if( this.soundBlue != null )
|
||||
@ -607,14 +591,6 @@ namespace TJAPlayer3
|
||||
this.actFOClear.tフェードアウト開始();
|
||||
}
|
||||
|
||||
|
||||
//if( bIsFinishedPlaying && ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 ) )
|
||||
//{
|
||||
// this.eフェードアウト完了時の戻り値 = E演奏画面の戻り値.ステージクリア;
|
||||
// base.eフェーズID = CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト;
|
||||
// this.actFOClear.tフェードアウト開始();
|
||||
//}
|
||||
|
||||
if( bIsFinishedFadeout )
|
||||
{
|
||||
Debug.WriteLine( "Total On進行描画=" + sw.ElapsedMilliseconds + "ms" );
|
||||
@ -797,6 +773,9 @@ namespace TJAPlayer3
|
||||
int nPad = index;
|
||||
|
||||
E判定 e判定 = this.e指定時刻からChipのJUDGEを返す( nHitTime, pChip );
|
||||
|
||||
e判定 = AlterJudgement(nPlayer, e判定, false);
|
||||
|
||||
//if( pChip.nコース == this.n現在のコース )
|
||||
this.actGame.t叩ききりまショー_判定から各数値を増加させる( e判定, (int)( nHitTime - pChip.n発声時刻ms ) );
|
||||
if( e判定 == E判定.Miss )
|
||||
@ -955,6 +934,7 @@ namespace TJAPlayer3
|
||||
CDTX.CChip chipNoHit = r指定時刻に一番近い未ヒットChipを過去方向優先で検索する(nTime, nUsePlayer);
|
||||
E判定 e判定 = (chipNoHit != null) ? this.e指定時刻からChipのJUDGEを返す(nTime, chipNoHit) : E判定.Miss;
|
||||
|
||||
e判定 = AlterJudgement(nUsePlayer, e判定, false);
|
||||
|
||||
bool b太鼓音再生フラグ = true;
|
||||
if (chipNoHit != null)
|
||||
@ -1380,7 +1360,7 @@ namespace TJAPlayer3
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P;
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
@ -1393,10 +1373,12 @@ namespace TJAPlayer3
|
||||
pChip.bHit = true;
|
||||
if (pChip.nチャンネル番号 != 0x1F)
|
||||
this.FlyingNotes.Start(pChip.nチャンネル番号 < 0x1A ? (pChip.nチャンネル番号 - 0x10) : (pChip.nチャンネル番号 - 0x17), nPlayer);
|
||||
|
||||
//this.actChipFireTaiko.Start(pChip.nチャンネル番号 < 0x1A ? (pChip.nチャンネル番号 - 0x10) : (pChip.nチャンネル番号 - 0x17), nPlayer);
|
||||
if (pChip.nチャンネル番号 == 0x12 || pChip.nチャンネル番号 == 0x14 || pChip.nチャンネル番号 == 0x1B) nLane = 1;
|
||||
TJAPlayer3.stage演奏ドラム画面.actTaikoLaneFlash.PlayerLane[nPlayer].Start((nLane == 0 ? PlayerLane.FlashType.Red : PlayerLane.FlashType.Blue));
|
||||
TJAPlayer3.stage演奏ドラム画面.actTaikoLaneFlash.PlayerLane[nPlayer].Start(PlayerLane.FlashType.Hit);
|
||||
|
||||
this.actMtaiko.tMtaikoEvent(pChip.nチャンネル番号, this.nHand[nPlayer], nPlayer);
|
||||
|
||||
int n大音符 = (pChip.nチャンネル番号 == 0x11 || pChip.nチャンネル番号 == 0x12 ? 2 : 0);
|
||||
@ -2057,7 +2039,7 @@ namespace TJAPlayer3
|
||||
if (pChip.n発声時刻ms < (CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) && pChip.nノーツ終了時刻ms > (CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)))
|
||||
{
|
||||
//時間内でかつ0x9Aじゃないならならヒット処理
|
||||
if (pChip.nチャンネル番号 != 0x18 && (nPlayer == 0 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay : TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P))
|
||||
if (pChip.nチャンネル番号 != 0x18 && (nPlayer == 0 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay : (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0)))
|
||||
this.tチップのヒット処理(pChip.n発声時刻ms, pChip, E楽器パート.TAIKO, false, 0, nPlayer);
|
||||
}
|
||||
}
|
||||
|
@ -483,7 +483,7 @@ namespace TJAPlayer3
|
||||
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
this.nEarnedMedalsCount[0] = 0;
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.nAILevel > 0)
|
||||
this.nEarnedMedalsCount[1] = 0;
|
||||
|
||||
TJAPlayer3.NamePlateConfig.tEarnCoins(this.nEarnedMedalsCount);
|
||||
|
@ -40,6 +40,9 @@ namespace TJAPlayer3
|
||||
this.pfdan = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 12);
|
||||
}
|
||||
|
||||
tNamePlateRefreshTitles(player);
|
||||
|
||||
/*
|
||||
using (var tex = pfName.DrawPrivateFont(TJAPlayer3.NamePlateConfig.data.Name[player], Color.White, Color.Black, 25))
|
||||
txName[player] = TJAPlayer3.tテクスチャの生成(tex);
|
||||
|
||||
@ -48,6 +51,7 @@ namespace TJAPlayer3
|
||||
|
||||
using (var tex = pfdan.DrawPrivateFont(TJAPlayer3.NamePlateConfig.data.Dan[player], Color.White, Color.Black, 22))
|
||||
txdan[player] = TJAPlayer3.tテクスチャの生成(tex);
|
||||
*/
|
||||
}
|
||||
|
||||
ctNamePlateEffect = new CCounter(0, 120, 16.6f, TJAPlayer3.Timer);
|
||||
@ -56,13 +60,26 @@ namespace TJAPlayer3
|
||||
|
||||
public void tNamePlateRefreshTitles(int player)
|
||||
{
|
||||
using (var tex = pfName.DrawPrivateFont(TJAPlayer3.NamePlateConfig.data.Name[player], Color.White, Color.Black, 25))
|
||||
string[] stages = { "初", "二", "三", "四", "五", "六", "七", "八", "九", "極" };
|
||||
|
||||
string name = "AIドン";
|
||||
string title = "デウス・エクス・マキナ";
|
||||
string dan = stages[Math.Max(0, TJAPlayer3.ConfigIni.nAILevel - 1)] + "面";
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nAILevel == 0 || player == 0)
|
||||
{
|
||||
name = TJAPlayer3.NamePlateConfig.data.Name[player];
|
||||
title = TJAPlayer3.NamePlateConfig.data.Title[player];
|
||||
dan = TJAPlayer3.NamePlateConfig.data.Dan[player];
|
||||
}
|
||||
|
||||
using (var tex = pfName.DrawPrivateFont(name, Color.White, Color.Black, 25))
|
||||
txName[player] = TJAPlayer3.tテクスチャの生成(tex);
|
||||
|
||||
using (var tex = pfTitle.DrawPrivateFont(TJAPlayer3.NamePlateConfig.data.Title[player], Color.Black, Color.Empty))
|
||||
using (var tex = pfTitle.DrawPrivateFont(title, Color.Black, Color.Empty))
|
||||
txTitle[player] = TJAPlayer3.tテクスチャの生成(tex);
|
||||
|
||||
using (var tex = pfdan.DrawPrivateFont(TJAPlayer3.NamePlateConfig.data.Dan[player], Color.White, Color.Black, 22))
|
||||
using (var tex = pfdan.DrawPrivateFont(dan, Color.White, Color.Black, 22))
|
||||
txdan[player] = TJAPlayer3.tテクスチャの生成(tex);
|
||||
}
|
||||
|
||||
|
BIN
Test/dll/FDK.dll
BIN
Test/dll/FDK.dll
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user