1
0
mirror of synced 2025-02-16 10:42:39 +01:00

Add Mod icon for 'Justice mod' (OKs become BADs), add mod icons for result screen, remove mod options from the main config screen

This commit is contained in:
0aubsq 2022-05-02 01:38:01 +02:00
parent 911295e911
commit 1fefb227d6
8 changed files with 111 additions and 45 deletions

View File

@ -839,7 +839,7 @@ namespace TJAPlayer3
public int TokkunMashInterval;
public bool bSuperHard = false;
public bool bTokkunMode = false;
public bool bJust;
public bool[] bJust = new bool[4] { false, false, false, false };
public bool bEndingAnime = false; // 2017.01.27 DD 「また遊んでね」画面の有効/無効オプション追加
@ -2064,7 +2064,10 @@ namespace TJAPlayer3
sw.WriteLine("{1}={0}", this.TokkunMashInterval, nameof(this.TokkunMashInterval));
sw.WriteLine();
sw.WriteLine( "; JUST(0:OFF, 1:ON)" );
sw.WriteLine( "Just={0}", this.bJust ? 1 : 0 );
sw.WriteLine( "Just1P={0}", this.bJust[0] ? 1 : 0 );
sw.WriteLine("Just2P={0}", this.bJust[1] ? 1 : 0);
sw.WriteLine("Just3P={0}", this.bJust[2] ? 1 : 0);
sw.WriteLine("Just4P={0}", this.bJust[3] ? 1 : 0);
sw.WriteLine();
sw.WriteLine( "; 判定数の表示(0:OFF, 1:ON)" );
sw.WriteLine( "JudgeCountDisplay={0}", this.bJudgeCountDisplay ? 1 : 0 );
@ -2827,7 +2830,6 @@ namespace TJAPlayer3
#endregion
#region [Timing Zones]
else if (str3.Equals("TimingZones1P"))
@ -2848,6 +2850,27 @@ namespace TJAPlayer3
}
#endregion
#region [Just]
else if (str3.Equals("Just") || str3.Equals("Just1P"))
{
this.bJust[0] = C変換.bONorOFF(str4[0]);
}
else if (str3.Equals("Just2P"))
{
this.bJust[1] = C変換.bONorOFF(str4[0]);
}
else if (str3.Equals("Just3P"))
{
this.bJust[2] = C変換.bONorOFF(str4[0]);
}
else if (str3.Equals("Just4P"))
{
this.bJust[3] = C変換.bONorOFF(str4[0]);
}
#endregion
@ -2942,12 +2965,11 @@ namespace TJAPlayer3
else if( str3.Equals( "JudgeCountDisplay" ) )
{
this.bJudgeCountDisplay = C変換.bONorOFF( str4[ 0 ] );
}
else if( str3.Equals( "Just" ) )
{
this.bJust = C変換.bONorOFF( str4[ 0 ] );
}
else if( str3.Equals( "PlayerCount" ) )
}
else if ( str3.Equals( "PlayerCount" ) )
{
this.nPlayerCount = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 2, this.nPlayerCount );
}

View File

@ -833,6 +833,7 @@ namespace TJAPlayer3
Mod_Hyper = TxC(GAME + MODICONS + @"Hyper.png");
Mod_Random = TxC(GAME + MODICONS + @"Random.png");
Mod_Auto = TxC(GAME + MODICONS + @"Auto.png");
Mod_Just = TxC(GAME + MODICONS + @"Just.png");
Mod_None = TxC(GAME + MODICONS + @"None.png");
#endregion
@ -1737,6 +1738,7 @@ namespace TJAPlayer3
Mod_Random,
Mod_Super,
Mod_Hyper,
Mod_Just,
Mod_Auto;
#endregion

View File

@ -293,15 +293,13 @@ namespace TJAPlayer3
CLangManager.LangInstance.GetString(3));
this.list項目リスト.Add( this.iDrumsReturnToMenu );
#region [ AutoPlay ]
this.iTaikoAutoPlay = new CItemToggle(CLangManager.LangInstance.GetString(56), TJAPlayer3.ConfigIni.b太鼓パートAutoPlay,
/*this.iTaikoAutoPlay = new CItemToggle(CLangManager.LangInstance.GetString(56), TJAPlayer3.ConfigIni.b太鼓パートAutoPlay,
CLangManager.LangInstance.GetString(57));
this.list項目リスト.Add( this.iTaikoAutoPlay );
this.iTaikoAutoPlay2P = new CItemToggle(CLangManager.LangInstance.GetString(58), TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P,
CLangManager.LangInstance.GetString(59));
this.list項目リスト.Add( this.iTaikoAutoPlay2P );
this.list項目リスト.Add( this.iTaikoAutoPlay2P );*/
this.iRollsPerSec = new CItemInteger(CLangManager.LangInstance.GetString(60), 0, 1000, TJAPlayer3.ConfigIni.nRollsPerSec,
CLangManager.LangInstance.GetString(61));
@ -311,40 +309,38 @@ namespace TJAPlayer3
CLangManager.LangInstance.GetString(13));
this.list項目リスト.Add(this.iAILevel);
/*
this.iTaikoAutoRoll = new CItemToggle(CLangManager.LangInstance.GetString(60), TJAPlayer3.ConfigIni.bAuto先生の連打,
CLangManager.LangInstance.GetString(61));
this.list項目リスト.Add( this.iTaikoAutoRoll );
*/
*/
#endregion
this.iDrumsScrollSpeed = new CItemInteger(CLangManager.LangInstance.GetString(62), 0, 0x7cf, TJAPlayer3.ConfigIni.nScrollSpeed[TJAPlayer3.SaveFile],
/*this.iDrumsScrollSpeed = new CItemInteger(CLangManager.LangInstance.GetString(62), 0, 0x7cf, TJAPlayer3.ConfigIni.nScrollSpeed[TJAPlayer3.SaveFile],
CLangManager.LangInstance.GetString(63));
this.list項目リスト.Add( this.iDrumsScrollSpeed );
this.list項目リスト.Add( this.iDrumsScrollSpeed );*/
this.iSystemRisky = new CItemInteger(CLangManager.LangInstance.GetString(64), 0, 10, TJAPlayer3.ConfigIni.nRisky,
CLangManager.LangInstance.GetString(65));
this.list項目リスト.Add( this.iSystemRisky );
this.iTaikoRandom = new CItemList(CLangManager.LangInstance.GetString(66), CItemBase.Eパネル種別., (int) TJAPlayer3.ConfigIni.eRandom.Taiko,
/*this.iTaikoRandom = new CItemList(CLangManager.LangInstance.GetString(66), CItemBase.Eパネル種別., (int) TJAPlayer3.ConfigIni.eRandom.Taiko,
CLangManager.LangInstance.GetString(67),
new string[] { "OFF", "RANDOM", "MIRROR", "SUPER", "HYPER" } );
this.list項目リスト.Add( this.iTaikoRandom );
this.list項目リスト.Add( this.iTaikoRandom );*/
this.iTaikoStealth = new CItemList(CLangManager.LangInstance.GetString(68), CItemBase.Eパネル種別., (int) TJAPlayer3.ConfigIni.eSTEALTH,
/*this.iTaikoStealth = new CItemList(CLangManager.LangInstance.GetString(68), CItemBase.Eパネル種別., (int) TJAPlayer3.ConfigIni.eSTEALTH,
CLangManager.LangInstance.GetString(69),
new string[] { "OFF", "DORON", "STEALTH" } );
this.list項目リスト.Add( this.iTaikoStealth );
this.list項目リスト.Add( this.iTaikoStealth );*/
this.iTaikoNoInfo = new CItemToggle(CLangManager.LangInstance.GetString(70), TJAPlayer3.ConfigIni.bNoInfo,
CLangManager.LangInstance.GetString(71));
this.list項目リスト.Add( this.iTaikoNoInfo );
this.iTaikoJust = new CItemToggle(CLangManager.LangInstance.GetString(72), TJAPlayer3.ConfigIni.bJust,
/*this.iTaikoJust = new CItemToggle(CLangManager.LangInstance.GetString(72), TJAPlayer3.ConfigIni.bJust,
CLangManager.LangInstance.GetString(73));
this.list項目リスト.Add( this.iTaikoJust );
this.list項目リスト.Add( this.iTaikoJust );*/
this.iDrumsTight = new CItemToggle(CLangManager.LangInstance.GetString(74), TJAPlayer3.ConfigIni.bTight,
CLangManager.LangInstance.GetString(75));
@ -421,6 +417,13 @@ namespace TJAPlayer3
#endregion
/// <summary>Sud+Hidの初期値を返す</summary>
/// <param name="eInst"></param>
/// <returns>
@ -1112,12 +1115,12 @@ namespace TJAPlayer3
//CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, d.ToString( "0.000" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
strParam = d.ToString( "0.000" );
}
else if ( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed)
/*else if ( this.list項目リスト[ nItem ] == this.iDrumsScrollSpeed)
{
float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) * 0.5f;
float f = ( ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値 + 1 ) / 10f;
//CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, f.ToString( "x0.0" ), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
strParam = f.ToString( "x0.0" );
}
}*/
else
{
//CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 );
@ -1487,8 +1490,8 @@ namespace TJAPlayer3
}
private void tConfigIniへ記録する_Drums()
{
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = this.iTaikoAutoPlay.bON;
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = this.iTaikoAutoPlay2P.bON;
//TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = this.iTaikoAutoPlay.bON;
//TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = this.iTaikoAutoPlay2P.bON;
//TJAPlayer3.ConfigIni.bAuto先生の連打 = this.iTaikoAutoRoll.bON;
TJAPlayer3.ConfigIni.nRollsPerSec = this.iRollsPerSec.n現在の値;
@ -1496,7 +1499,7 @@ namespace TJAPlayer3
for (int i = 0; i < 2; i++)
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(i);
TJAPlayer3.ConfigIni.nScrollSpeed[TJAPlayer3.SaveFile] = this.iDrumsScrollSpeed.n現在の値;
//TJAPlayer3.ConfigIni.nScrollSpeed[TJAPlayer3.SaveFile] = this.iDrumsScrollSpeed.n現在の値;
TJAPlayer3.ConfigIni.bTight = this.iDrumsTight.bON;
@ -1515,10 +1518,12 @@ namespace TJAPlayer3
TJAPlayer3.ConfigIni.nBranchAnime = this.iTaikoBranchAnime.n現在選択されている項目番号;
//CDTXMania.ConfigIni.bHispeedRandom = this.iTaikoHispeedRandom.bON;
TJAPlayer3.ConfigIni.bNoInfo = this.iTaikoNoInfo.bON;
TJAPlayer3.ConfigIni.eRandom.Taiko = (Eランダムモード)this.iTaikoRandom.n現在選択されている項目番号;
TJAPlayer3.ConfigIni.eSTEALTH = (Eステルスモード)this.iTaikoStealth.n現在選択されている項目番号;
//TJAPlayer3.ConfigIni.eRandom.Taiko = (Eランダムモード)this.iTaikoRandom.n現在選択されている項目番号;
//TJAPlayer3.ConfigIni.eSTEALTH = (Eステルスモード)this.iTaikoStealth.n現在選択されている項目番号;
TJAPlayer3.ConfigIni.eGameMode = (EGame)this.iTaikoGameMode.n現在選択されている項目番号;
TJAPlayer3.ConfigIni.bJust = this.iTaikoJust.bON;
//TJAPlayer3.ConfigIni.bJust = this.iTaikoJust.bON;
TJAPlayer3.ConfigIni.bJudgeCountDisplay = this.iTaikoJudgeCountDisp.bON;
TJAPlayer3.ConfigIni.b大音符判定 = this.iTaikoBigNotesJudge.bON;
}

View File

@ -66,10 +66,11 @@ namespace TJAPlayer3
OptionType[2] = OptionTypeTx(CLangManager.LangInstance.GetString(9010), Color.White, Color.Black);
OptionType[3] = OptionTypeTx(CLangManager.LangInstance.GetString(9011), Color.White, Color.Black);
OptionType[4] = OptionTypeTx(CLangManager.LangInstance.GetString(500), Color.White, Color.Black);
OptionType[5] = OptionTypeTx(CLangManager.LangInstance.GetString(9012), Color.White, Color.Black);
OptionType[6] = OptionTypeTx(CLangManager.LangInstance.GetString(9013), Color.White, Color.Black);
OptionType[7] = OptionTypeTx(CLangManager.LangInstance.GetString(9014), Color.White, Color.Black);
OptionType[8] = OptionTypeTx(CLangManager.LangInstance.GetString(9015), Color.White, Color.Black);
OptionType[5] = OptionTypeTx(CLangManager.LangInstance.GetString(72), Color.White, Color.Black);
OptionType[6] = OptionTypeTx(CLangManager.LangInstance.GetString(9012), Color.White, Color.Black);
OptionType[7] = OptionTypeTx(CLangManager.LangInstance.GetString(9013), Color.White, Color.Black);
OptionType[8] = OptionTypeTx(CLangManager.LangInstance.GetString(9014), Color.White, Color.Black);
OptionType[9] = OptionTypeTx(CLangManager.LangInstance.GetString(9015), Color.White, Color.Black);
for (int i = 0; i < 5; i++)
{
@ -141,6 +142,7 @@ namespace TJAPlayer3
txSwitch[nAbekobe],
txRandom[nRandom],
txTiming[nTiming],
txSwitch[nJust],
txGameMode[nGameMode],
txSwitch[nAutoMode],
txNone,
@ -212,11 +214,11 @@ namespace TJAPlayer3
return 0;
}
public int nOptionCount = 8;
public int nOptionCount = 9;
public CCounter ctOpen;
public CCounter ctClose;
public CTexture[] OptionType = new CTexture[9];
public CTexture[] OptionType = new CTexture[10];
public int NowCount;
public int[] NowCountType = new int[8];
@ -245,6 +247,8 @@ namespace TJAPlayer3
public CTexture[] txTiming = new CTexture[5];
public int nTiming = 2;
public int nJust = 0;
public CTexture OptionTypeTx(string str文字, Color forecolor, Color backcolor)
{
using (var bmp = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 13).DrawPrivateFont(str文字, forecolor, backcolor))
@ -288,10 +292,13 @@ namespace TJAPlayer3
ShiftVal(left, ref nTiming, 4, 0);
break;
case 5:
ShiftVal(left, ref nJust, 1, 0);
break;
case 6:
if (nGameMode == 0) nGameMode = 1;
else nGameMode = 0;
break;
case 6:
case 7:
if (nAutoMode == 0) nAutoMode = 1;
else nAutoMode = 0;
break;
@ -366,8 +373,14 @@ namespace TJAPlayer3
#endregion
#region [ GameMode ]
#region [Just]
nJust = TJAPlayer3.ConfigIni.bJust[actual] == true ? 1 : 0;
#endregion
#region [ GameMode ]
if (TJAPlayer3.ConfigIni.bTokkunMode == true)
nGameMode = 1;
else
@ -464,6 +477,12 @@ namespace TJAPlayer3
#endregion
#region [Just]
TJAPlayer3.ConfigIni.bJust[actual] = nJust == 1;
#endregion
#region [ GameMode ]
if (nGameMode == 0)

View File

@ -802,7 +802,7 @@ namespace TJAPlayer3
}
if (nDeltaTime <= tz.nOkZone * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0))
{
if ( TJAPlayer3.ConfigIni.bJust )
if ( TJAPlayer3.ConfigIni.bJust[player] )
return E判定.Poor;
return E判定.Good;
}

View File

@ -17,7 +17,7 @@ namespace TJAPlayer3
tDisplayDoronIcon(x + 30, y, actual); // 2nd icon
tDisplayRandomIcon(x + 60, y, actual); // 3rd icon
PLACEHOLDER_tDisplayNoneIcon(x + 90, y, player); // 4th icon
PLACEHOLDER_tDisplayNoneIcon(x, y + 30, player); // 5th icon
tDisplayJustIcon(x, y + 30, actual); // 5th icon
tDisplayTimingIcon(x + 30, y + 30, actual); // 6th icon
tDisplaySongSpeedIcon(x + 60, y + 30, player); // 7th icon
tDisplayAutoIcon(x + 90, y + 30, player); // 8th icon
@ -34,7 +34,7 @@ namespace TJAPlayer3
tDisplayDoronIcon(x + 30, y, actual); // 2nd icon
tDisplayRandomIcon(x + 60, y, actual); // 3rd icon
PLACEHOLDER_tDisplayNoneIcon(x + 60, y, player); // 4th icon
PLACEHOLDER_tDisplayNoneIcon(x + 120, y, player); // 5th icon
tDisplayJustIcon(x + 120, y, actual); // 5th icon
tDisplayTimingIcon(x + 150, y, actual); // 6th icon
tDisplaySongSpeedIcon(x + 180, y, player); // 7th icon
tDisplayAutoIcon(x + 210, y, player); // 8th icon
@ -89,6 +89,16 @@ namespace TJAPlayer3
TJAPlayer3.Tx.Mod_None?.t2D描画(TJAPlayer3.app.Device, x, y);
}
static private void tDisplayJustIcon(int x, int y, int player)
{
var conf_ = TJAPlayer3.ConfigIni.bJust[player];
if (conf_ == true)
TJAPlayer3.Tx.Mod_Just?.t2D描画(TJAPlayer3.app.Device, x, y);
else
TJAPlayer3.Tx.Mod_None?.t2D描画(TJAPlayer3.app.Device, x, y);
}
static private void tDisplayRandomIcon(int x, int y, int player)
{
var rand_ = TJAPlayer3.ConfigIni.eRandom.Taiko;

View File

@ -1374,11 +1374,19 @@ namespace TJAPlayer3
pos = 1;
TJAPlayer3.NamePlate.tNamePlateDraw((pos == 1) ? 1280 - 28 - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width : 28, 621, i);
#region Mods
ModIcons.tDisplayModsMenu((pos == 1) ? 1280 - 32 - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width : 32, 678, i);
#endregion
}
#endregion
#region [Display modals]
// Display modal is present

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB