1
0
mirror of synced 2024-11-28 01:10:53 +01:00

First konga commit (only visuals for the moment)

This commit is contained in:
0aubsq 2022-05-07 07:27:52 +02:00
parent 3ade212831
commit 0fcf0dd8c5
26 changed files with 229 additions and 65 deletions

View File

@ -759,6 +759,7 @@ namespace TJAPlayer3
public STDGBVALUE<int> n表示可能な最小コンボ数;
public int[] nScrollSpeed;
public int[] nTimingZones;
public EGameType[] nGameType;
public string strDTXManiaのバージョン;
public string str曲データ検索パス;
public string FontName;
@ -1407,6 +1408,7 @@ namespace TJAPlayer3
this. = new STDGBVALUE<E判定文字表示位置>();
this.nScrollSpeed = new int[4] { 9, 9, 9, 9 };
this.nTimingZones = new int[4] { 2, 2, 2, 2 };
this.nGameType = new EGameType[4] { EGameType.TAIKO, EGameType.TAIKO, EGameType.TAIKO, EGameType.TAIKO };
this.nInputAdjustTimeMs = 0;
this.nGlobalOffsetMs = 0;
this.nJudgeLinePosOffset = new STDGBVALUE<int>(); // #31602 2013.6.23 yyagi
@ -2004,12 +2006,18 @@ namespace TJAPlayer3
sw.WriteLine("DrumsScrollSpeed3P={0}", this.nScrollSpeed[2]);
sw.WriteLine("DrumsScrollSpeed4P={0}", this.nScrollSpeed[3]);
sw.WriteLine();
sw.WriteLine("; Timing Zones (0-1 : Lenient, 2 : Regular, 3-4 : Strict");
sw.WriteLine("; Timing Zones (0-1 : Lenient, 2 : Regular, 3-4 : Strict)");
sw.WriteLine("TimingZones1P={0}", this.nTimingZones[0]);
sw.WriteLine("TimingZones2P={0}", this.nTimingZones[1]);
sw.WriteLine("TimingZones3P={0}", this.nTimingZones[2]);
sw.WriteLine("TimingZones4P={0}", this.nTimingZones[3]);
sw.WriteLine();
sw.WriteLine("; Gametype (0 : Taiko, 1 : Konga)");
sw.WriteLine("Gametype1P={0}", (int)this.nGameType[0]);
sw.WriteLine("Gametype2P={0}", (int)this.nGameType[1]);
sw.WriteLine("Gametype3P={0}", (int)this.nGameType[2]);
sw.WriteLine("Gametype4P={0}", (int)this.nGameType[3]);
sw.WriteLine();
sw.WriteLine( "; 演奏速度(540)(→x5/20x40/20)" );
sw.WriteLine( "PlaySpeed={0}", this.n演奏速度 );
sw.WriteLine();
@ -2902,6 +2910,27 @@ namespace TJAPlayer3
#endregion
#region [Gametype]
else if (str3.Equals("Gametype1P"))
{
this.nGameType[0] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[0]);
}
else if (str3.Equals("Gametype2P"))
{
this.nGameType[1] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[1]);
}
else if (str3.Equals("Gametype3P"))
{
this.nGameType[2] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[2]);
}
else if (str3.Equals("Gametype4P"))
{
this.nGameType[3] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[3]);
}
#endregion
#endregion

View File

@ -32,6 +32,7 @@ namespace TJAPlayer3
don[player] = data[id].path + "dong" + ext;
ka[player] = data[id].path + "ka" + ext;
adlib[player] = data[id].path + "Adlib" + ext;
clap[player] = data[id].path + "clap" + ext;
return true;
}
@ -41,6 +42,7 @@ namespace TJAPlayer3
public string[] don = new string[4];
public string[] ka = new string[4];
public string[] adlib = new string[4];
public string[] clap = new string[4];
#region [private]

View File

@ -174,6 +174,13 @@ namespace TJAPlayer3
SUPERRANDOM,
HYPERRANDOM
}
public enum EGameType
{
TAIKO = 0,
KONGA = 1,
}
public enum E楽器パート // ここを修正するときは、セットで次の EKeyConfigPart も修正すること。
{
DRUMS = 0,

View File

@ -287,6 +287,9 @@ namespace TJAPlayer3
[505] = "Rigorous",
[510] = "Score Multiplier : ",
[511] = "Coins Multiplier : ",
[512] = "Game Type",
[513] = "Taiko",
[514] = "Konga",
[1000] = "Reached floor",
[1001] = "F",

View File

@ -278,6 +278,9 @@ namespace TJAPlayer3
[505] = "Rigoureux",
[510] = "Multiplicateur de score : ",
[511] = "Multiplicateur de pièces : ",
[512] = "Type de jeu",
[513] = "Taiko",
[514] = "Konga",
[1000] = "Étage atteint",
[1001] = "",

View File

@ -341,6 +341,9 @@ namespace TJAPlayer3
[505] = "過酷",
[510] = "スコア乗数:",
[511] = "コイン乗数:",
[512] = "ゲームタイプ",
[513] = "太鼓",
[514] = "コンガ",
[1000] = "到達階数",
[1001] = "階",

View File

@ -335,7 +335,10 @@ namespace TJAPlayer3
#region General
Notes = TxC(GAME + @"Notes.png");
Notes = new CTexture[2];
Notes[0] = TxC(GAME + @"Notes.png");
Notes[1] = TxC(GAME + @"Notes_Konga.png");
Judge_Frame = TxC(GAME + @"Notes.png");
SENotes = TxC(GAME + @"SENotes.png");
Notes_Arm = TxC(GAME + @"Notes_Arm.png");
@ -440,15 +443,20 @@ namespace TJAPlayer3
Taiko_PlayerNumber[0] = TxC(GAME + TAIKO + @"1P_PlayerNumber.png");
Taiko_PlayerNumber[1] = TxC(GAME + TAIKO + @"2P_PlayerNumber.png");
//Taiko_NamePlate = new CTexture[2];
//Taiko_NamePlate[0] = TxC(GAME + TAIKO + @"1P_NamePlate.png");
//Taiko_NamePlate[1] = TxC(GAME + TAIKO + @"2P_NamePlate.png");
Taiko_Base = TxC(GAME + TAIKO + @"Base.png");
Taiko_Base = new CTexture[2];
Taiko_Base[0] = TxC(GAME + TAIKO + @"Base.png");
Taiko_Base[1] = TxC(GAME + TAIKO + @"Base_Konga.png");
Taiko_Don_Left = TxC(GAME + TAIKO + @"Don.png");
Taiko_Don_Right = TxC(GAME + TAIKO + @"Don.png");
Taiko_Ka_Left = TxC(GAME + TAIKO + @"Ka.png");
Taiko_Ka_Right = TxC(GAME + TAIKO + @"Ka.png");
Taiko_Konga_Don = TxC(GAME + TAIKO + @"Don_Konga.png");
Taiko_Konga_Ka = TxC(GAME + TAIKO + @"Ka_Konga.png");
Taiko_Konga_Clap = TxC(GAME + TAIKO + @"Clap.png");
Taiko_LevelUp = TxC(GAME + TAIKO + @"LevelUp.png");
Taiko_LevelDown = TxC(GAME + TAIKO + @"LevelDown.png");
Couse_Symbol = new CTexture[(int)Difficulty.Total + 1]; // +1は真打ちモードの分
@ -1561,8 +1569,7 @@ namespace TJAPlayer3
#region 5_
#region
public CTexture Notes,
Judge_Frame,
public CTexture Judge_Frame,
SENotes,
Notes_Arm,
ChipEffect,
@ -1571,6 +1578,7 @@ namespace TJAPlayer3
public CTexture Judge_Meter,
Bar,
Bar_Branch;
public CTexture[] Notes;
#endregion
@ -1593,13 +1601,16 @@ namespace TJAPlayer3
Background_Up_Tower = new CTexture[8];
#endregion
#region
public CTexture[] Taiko_Frame, // MTaiko下敷き
public CTexture[] Taiko_Base,
Taiko_Frame, // MTaiko下敷き
Taiko_Background;
public CTexture Taiko_Base,
Taiko_Don_Left,
public CTexture Taiko_Don_Left,
Taiko_Don_Right,
Taiko_Ka_Left,
Taiko_Ka_Right,
Taiko_Konga_Don,
Taiko_Konga_Ka,
Taiko_Konga_Clap,
Taiko_LevelUp,
Taiko_LevelDown,
Taiko_Combo_Effect,

View File

@ -75,6 +75,9 @@ namespace TJAPlayer3
txGameMode[0] = OptionTypeTx(CLangManager.LangInstance.GetString(9002), Color.White, Color.Black);
txGameMode[1] = OptionTypeTx(CLangManager.LangInstance.GetString(9006), Color.White, Color.Black);
txGameType[0] = OptionTypeTx(CLangManager.LangInstance.GetString(513), Color.White, Color.Black);
txGameType[1] = OptionTypeTx(CLangManager.LangInstance.GetString(514), Color.White, Color.Black);
txNone = OptionTypeTx(CLangManager.LangInstance.GetString(9007), Color.White, Color.Black);
hsInfo = TJAPlayer3.Skin.hsHitSoundsInformations;
@ -100,10 +103,11 @@ namespace TJAPlayer3
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(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(10), Color.White, Color.Black);
OptionType[9] = OptionTypeTx(CLangManager.LangInstance.GetString(9015), Color.White, Color.Black);
OptionType[6] = OptionTypeTx(CLangManager.LangInstance.GetString(512), Color.White, Color.Black);
OptionType[7] = OptionTypeTx(CLangManager.LangInstance.GetString(9012), Color.White, Color.Black);
OptionType[8] = OptionTypeTx(CLangManager.LangInstance.GetString(9013), Color.White, Color.Black);
OptionType[9] = OptionTypeTx(CLangManager.LangInstance.GetString(10), Color.White, Color.Black);
OptionType[10] = OptionTypeTx(CLangManager.LangInstance.GetString(9015), Color.White, Color.Black);
var _timingColors = new Color[] { Color.LimeGreen, Color.YellowGreen, Color.White, Color.Orange, Color.Red };
for (int i = 0; i < 5; i++)
@ -186,6 +190,7 @@ namespace TJAPlayer3
txRandom[nRandom],
txTiming[nTiming],
txJust[nJust],
txGameType[nGameType],
txGameMode[nGameMode],
txSwitch[nAutoMode],
txSongSpeed[nSongSpeed],
@ -276,11 +281,11 @@ namespace TJAPlayer3
return 0;
}
public int nOptionCount = 9;
public int nOptionCount = 10;
public CCounter ctOpen;
public CCounter ctClose;
public CTexture[] OptionType = new CTexture[10];
public CTexture[] OptionType = new CTexture[11];
public int NowCount;
public int[] NowCountType = new int[8];
@ -319,6 +324,9 @@ namespace TJAPlayer3
public CTexture[] txSongSpeed = new CTexture[16];
public int nSongSpeed = 5;
public CTexture[] txGameType = new CTexture[2];
public int nGameType = 0;
public CTexture[] txModMults = new CTexture[2];
public CTexture OptionTypeTx(string str文字, Color forecolor, Color backcolor)
@ -367,17 +375,20 @@ namespace TJAPlayer3
ShiftVal(left, ref nJust, 2, 0);
break;
case 6:
ShiftVal(left, ref nGameType, 1, 0);
break;
case 7:
if (nGameMode == 0) nGameMode = 1;
else nGameMode = 0;
break;
case 7:
case 8:
if (nAutoMode == 0) nAutoMode = 1;
else nAutoMode = 0;
break;
case 8:
case 9:
ShiftVal(left, ref nSongSpeed, txSongSpeed.Length - 1, 0);
break;
case 9:
case 10:
ShiftVal(left, ref nOtoiro, txOtoiro.Length - 1, 0);
break;
@ -453,7 +464,13 @@ namespace TJAPlayer3
#region [Just]
nJust = TJAPlayer3.ConfigIni.bJust[actual];
nJust = TJAPlayer3.ConfigIni.bJust[actual];
#endregion
#region [GameType]
nGameType = (int)TJAPlayer3.ConfigIni.nGameType[actual];
#endregion
@ -573,6 +590,12 @@ namespace TJAPlayer3
TJAPlayer3.ConfigIni.bJust[actual] = nJust;
#endregion
#region [GameType]
TJAPlayer3.ConfigIni.nGameType[actual] = (EGameType)nGameType;
#endregion
#region [ GameMode ]

View File

@ -678,9 +678,11 @@ namespace TJAPlayer3
protected CSound soundRed;
protected CSound soundBlue;
protected CSound soundAdlib;
protected CSound soundClap;
protected CSound soundRed2;
protected CSound soundBlue2;
protected CSound soundAdlib2;
protected CSound soundClap2;
public bool bDoublePlay; // 2016.08.21 kairera0467 表示だけ。
protected Stopwatch sw; // 2011.6.13 最適化検討用のストップウォッチ
public int ListDan_Number;

View File

@ -116,13 +116,57 @@ namespace TJAPlayer3
else
TJAPlayer3.Tx.Taiko_Background[5]?.t2D描画(TJAPlayer3.app.Device, 0, 184);
}
if(TJAPlayer3.Tx.Taiko_Base != null )
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
int _actual = TJAPlayer3.GetActualPlayer(i);
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[_actual];
// Drum base
TJAPlayer3.Tx.Taiko_Base[(int)_gt]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i]);
// Taiko hits
if (_gt == EGameType.TAIKO)
{
if (TJAPlayer3.Tx.Taiko_Don_Left != null && TJAPlayer3.Tx.Taiko_Don_Right != null && TJAPlayer3.Tx.Taiko_Ka_Left != null && TJAPlayer3.Tx.Taiko_Ka_Right != null)
{
TJAPlayer3.Tx.Taiko_Ka_Left.Opacity = this.stパッド状態[4 * i].n明るさ * 73;
TJAPlayer3.Tx.Taiko_Ka_Right.Opacity = this.stパッド状態[1 + 4 * i].n明るさ * 73;
TJAPlayer3.Tx.Taiko_Don_Left.Opacity = this.stパッド状態[2 + 4 * i].n明るさ * 73;
TJAPlayer3.Tx.Taiko_Don_Right.Opacity = this.stパッド状態[3 + 4 * i].n明るさ * 73;
TJAPlayer3.Tx.Taiko_Ka_Left.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i], new Rectangle(0, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height));
TJAPlayer3.Tx.Taiko_Ka_Right.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i] + TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Skin.Game_Taiko_Y[i], new Rectangle(TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height));
TJAPlayer3.Tx.Taiko_Don_Left.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i], new Rectangle(0, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height));
TJAPlayer3.Tx.Taiko_Don_Right.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i] + TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Skin.Game_Taiko_Y[i], new Rectangle(TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height));
}
}
else if (_gt == EGameType.KONGA)
{
if (TJAPlayer3.Tx.Taiko_Konga_Clap != null && TJAPlayer3.Tx.Taiko_Konga_Don != null && TJAPlayer3.Tx.Taiko_Konga_Ka != null)
{
TJAPlayer3.Tx.Taiko_Konga_Clap.Opacity = 0; // Not yet implemented
TJAPlayer3.Tx.Taiko_Konga_Don.Opacity = Math.Max(this.stパッド状態[2 + 4 * i].n明るさ, this.stパッド状態[3 + 4 * i].n明るさ) * 73;
TJAPlayer3.Tx.Taiko_Konga_Ka.Opacity = Math.Max(this.stパッド状態[4 * i].n明るさ, this.stパッド状態[1 + 4 * i].n明るさ) * 73;
TJAPlayer3.Tx.Taiko_Konga_Ka.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i]);
TJAPlayer3.Tx.Taiko_Konga_Don.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i]);
TJAPlayer3.Tx.Taiko_Konga_Clap.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i]);
}
}
}
/*
if (TJAPlayer3.Tx.Taiko_Base != null )
{
TJAPlayer3.Tx.Taiko_Base.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[0], TJAPlayer3.Skin.Game_Taiko_Y[0]);
if( TJAPlayer3.stage演奏ドラム画面.bDoublePlay )
TJAPlayer3.Tx.Taiko_Base.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[1], TJAPlayer3.Skin.Game_Taiko_Y[1]);
}
*/
/*
if( TJAPlayer3.Tx.Taiko_Don_Left != null && TJAPlayer3.Tx.Taiko_Don_Right != null && TJAPlayer3.Tx.Taiko_Ka_Left != null && TJAPlayer3.Tx.Taiko_Ka_Right != null )
{
TJAPlayer3.Tx.Taiko_Ka_Left.Opacity = this.stパッド状態[0].n明るさ * 73;
@ -148,6 +192,7 @@ namespace TJAPlayer3
TJAPlayer3.Tx.Taiko_Don_Left.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[1], TJAPlayer3.Skin.Game_Taiko_Y[1], new Rectangle( 0, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height) );
TJAPlayer3.Tx.Taiko_Don_Right.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[1] + TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Skin.Game_Taiko_Y[1], new Rectangle(TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, 0, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Height) );
}
*/
int[] nLVUPY = new int[] { 127, 127, 0, 0 };

View File

@ -78,18 +78,21 @@ namespace TJAPlayer3
st[i].ct進行.t停止();
st[i].b使用中 = false;
}
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(st[i].nプレイヤー)];
switch (st[i].nプレイヤー)
{
case 0:
TJAPlayer3.Tx.Gauge_Soul_Explosion[TJAPlayer3.P1IsBlue() ? 1 : 0]?.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[0], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[0], new Rectangle(st[i].ct進行.n現在の値 * TJAPlayer3.Skin.Game_Effect_NotesFlash[0], 0, TJAPlayer3.Skin.Game_Effect_NotesFlash[0], TJAPlayer3.Skin.Game_Effect_NotesFlash[1]));
if (this.st[i].ctChipEffect.n現在の値 < 13)
TJAPlayer3.Tx.Notes.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[0], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[0], new Rectangle(st[i].Lane * 130, 390, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt]?.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[0], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[0], new Rectangle(st[i].Lane * 130, 390, 130, 130));
break;
case 1:
TJAPlayer3.Tx.Gauge_Soul_Explosion[1]?.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[1], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[1], new Rectangle(st[i].ct進行.n現在の値 * TJAPlayer3.Skin.Game_Effect_NotesFlash[0], 0, TJAPlayer3.Skin.Game_Effect_NotesFlash[0], TJAPlayer3.Skin.Game_Effect_NotesFlash[1]));
if (this.st[i].ctChipEffect.n現在の値 < 13)
TJAPlayer3.Tx.Notes.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[1], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[1], new Rectangle(st[i].Lane * 130, 390, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt]?.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_X[1], TJAPlayer3.Skin.Game_Effect_FlyingNotes_EndPoint_Y[1], new Rectangle(st[i].Lane * 130, 390, 130, 130));
break;
}

View File

@ -674,7 +674,7 @@ namespace TJAPlayer3
public void ()
{
//判定枠
if (TJAPlayer3.Tx.Notes != null)
if (TJAPlayer3.Tx.Notes[0] != null)
{
int nJudgeX = TJAPlayer3.Skin.nScrollFieldX[0] - (130 / 2); //元の値は349なんだけど...
int nJudgeY = TJAPlayer3.Skin.nScrollFieldY[0]; //元の値は349なんだけど...

View File

@ -349,10 +349,12 @@ namespace TJAPlayer3
this.soundRed = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.don[actual1]), ESoundGroup.SoundEffect);
this.soundBlue = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.ka[actual1]), ESoundGroup.SoundEffect);
this.soundAdlib = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.adlib[actual1]), ESoundGroup.SoundEffect);
this.soundClap = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.clap[actual1]), ESoundGroup.SoundEffect);
this.soundRed2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.don[actual2]), ESoundGroup.SoundEffect);
this.soundBlue2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.ka[actual2]), ESoundGroup.SoundEffect);
this.soundAdlib2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.adlib[actual2]), ESoundGroup.SoundEffect);
this.soundClap2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.clap[actual2]), ESoundGroup.SoundEffect);
/*
this.soundRed = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path( @"Sounds\Taiko\dong.ogg" ), ESoundGroup.SoundEffect );
@ -389,12 +391,16 @@ namespace TJAPlayer3
this.soundBlue.t解放する();
if( this.soundAdlib != null )
this.soundAdlib.t解放する();
if (this.soundClap != null)
this.soundClap.t解放する();
if (this.soundRed2 != null)
this.soundRed2.t解放する();
if (this.soundBlue2 != null)
this.soundBlue2.t解放する();
if (this.soundAdlib2 != null)
this.soundAdlib2.t解放する();
if (this.soundClap2 != null)
this.soundClap2.t解放する();
base.OnManagedリソースの解放();
}
}
@ -1386,8 +1392,11 @@ namespace TJAPlayer3
protected override void t進行描画_チップ_Taiko( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, int nPlayer )
{
int nLane = 0;
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(nPlayer)];
#region[ ]
if (pChip.b可視)
{
if (!pChip.bHit)
@ -1548,7 +1557,7 @@ namespace TJAPlayer3
if(( 1400 > x ))
{
if( TJAPlayer3.Tx.Notes != null )
if( TJAPlayer3.Tx.Notes[(int)_gt] != null )
{
//int num9 = this.actCombo.n現在のコンボ数.Drums >= 50 ? this.ctチップ模様アニメ.Drums.n現在の値 * 130 : 0;
int num9 = 0;
@ -1621,27 +1630,27 @@ namespace TJAPlayer3
x = ( x ) - ( ( int ) ( ( 130.0 * pChip.dbチップサイズ倍率 ) / 2.0 ) );
TJAPlayer3.Tx.Notes.b加算合成 = false;
TJAPlayer3.Tx.Notes[(int)_gt].b加算合成 = false;
TJAPlayer3.Tx.SENotes.b加算合成 = false;
var device = TJAPlayer3.app.Device;
switch ( pChip.nチャンネル番号 )
{
case 0x11:
if( TJAPlayer3.Tx.Notes != null && pChip.bShow)
if( TJAPlayer3.Tx.Notes[(int)_gt] != null && pChip.bShow)
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 130, num9, 130, 130 ) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 130, num9, 130, 130 ) );
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 30 * pChip.nSenote, 136, 30 ) );
//CDTXMania.act文字コンソール.tPrint( x + 60, y + 140, C文字コンソール.Eフォント種別.白, pChip.nSenote.ToString() );
}
break;
case 0x12:
if( TJAPlayer3.Tx.Notes != null && pChip.bShow)
if( TJAPlayer3.Tx.Notes[(int)_gt] != null && pChip.bShow)
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 260, num9, 130, 130) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 260, num9, 130, 130) );
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 30 * pChip.nSenote, 136, 30 ) );
//CDTXMania.act文字コンソール.tPrint( x + 60, y + 140, C文字コンソール.Eフォント種別.白, pChip.nSenote.ToString() );
}
@ -1649,11 +1658,11 @@ namespace TJAPlayer3
break;
case 0x13:
if( TJAPlayer3.Tx.Notes != null && pChip.bShow)
if( TJAPlayer3.Tx.Notes[(int)_gt] != null && pChip.bShow)
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
{
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 390, num9, 130, 130 ) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 390, num9, 130, 130 ) );
//CDTXMania.Tx.Notes.t3D描画( device, mat, new Rectangle( 390, num9, 130, 130 ) );
}
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 30 * pChip.nSenote, 136, 30 ) );
@ -1662,10 +1671,10 @@ namespace TJAPlayer3
break;
case 0x14:
if( TJAPlayer3.Tx.Notes != null && pChip.bShow)
if( TJAPlayer3.Tx.Notes[(int)_gt] != null && pChip.bShow)
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 520, num9, 130, 130 ) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 520, num9, 130, 130 ) );
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 30 * pChip.nSenote, 136, 30 ) );
//CDTXMania.act文字コンソール.tPrint( x + 60, y + 140, C文字コンソール.Eフォント種別.白, pChip.nSenote.ToString() );
}
@ -1673,7 +1682,7 @@ namespace TJAPlayer3
break;
case 0x1A:
if( TJAPlayer3.Tx.Notes != null )
if( TJAPlayer3.Tx.Notes[(int)_gt] != null )
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
{
@ -1687,7 +1696,7 @@ namespace TJAPlayer3
TJAPlayer3.Tx.Notes_Arm.t2D描画( device, x + 25, ( y - 44 ) + nHand );
TJAPlayer3.Tx.Notes_Arm.t2D描画( device, x + 60, ( y - 14 ) - nHand );
}
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 1690, num9, 130, 130 ) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 1690, num9, 130, 130 ) );
//CDTXMania.Tx.Notes.t3D描画( device, mat, new Rectangle( 390, num9, 130, 130 ) );
}
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 390, 136, 30 ) );
@ -1695,7 +1704,7 @@ namespace TJAPlayer3
break;
case 0x1B:
if( TJAPlayer3.Tx.Notes != null )
if( TJAPlayer3.Tx.Notes[(int)_gt] != null )
{
if( TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON )
{
@ -1709,7 +1718,7 @@ namespace TJAPlayer3
TJAPlayer3.Tx.Notes_Arm.t2D描画( device, x + 25, ( y - 44 ) + nHand );
TJAPlayer3.Tx.Notes_Arm.t2D描画( device, x + 60, ( y - 14 ) - nHand );
}
TJAPlayer3.Tx.Notes.t2D描画( device, x, y, new Rectangle( 1820, num9, 130, 130 ) );
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画( device, x, y, new Rectangle( 1820, num9, 130, 130 ) );
}
TJAPlayer3.Tx.SENotes.t2D描画( device, x - 2, y + nSenotesY, new Rectangle( 0, 420, 136, 30 ) );
}
@ -1741,6 +1750,8 @@ namespace TJAPlayer3
int nート末端座標 = 0;
int n先頭発声位置 = 0;
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(nPlayer)];
// 2016.11.2 kairera0467
// 黄連打音符を赤くするやつの実装方法メモ
//前面を黄色、背面を変色後にしたものを重ねて、打数に応じて前面の透明度を操作すれば、色を操作できるはず。
@ -1847,7 +1858,7 @@ namespace TJAPlayer3
if ((1400 > x))
{
if (TJAPlayer3.Tx.Notes != null)
if (TJAPlayer3.Tx.Notes[(int)_gt] != null)
{
//int num9 = this.actCombo.n現在のコンボ数.Drums >= 50 ? this.ctチップ模様アニメ.Drums.n現在の値 * 130 : 0;
//int num9 = this.actCombo.n現在のコンボ数.Drums >= 50 ? base.n現在の音符の顔番号 * 130 : 0;
@ -1963,20 +1974,20 @@ namespace TJAPlayer3
#region[]
if (TJAPlayer3.Skin.Game_RollColorMode != CSkin.RollColorMode.None)
TJAPlayer3.Tx.Notes.color4 = effectedColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = effectedColor;
else
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes.vc拡大縮小倍率.X = (index - 65.0f + f末端ーツのテクスチャ位置調整 + 1) / 128.0f;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x + 64, y, new Rectangle(781, 0, 128, 130));
TJAPlayer3.Tx.Notes.vc拡大縮小倍率.X = 1.0f;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x末端 + f末端ーツのテクスチャ位置調整, y, 0, new Rectangle(910, num9, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = (index - 65.0f + f末端ーツのテクスチャ位置調整 + 1) / 128.0f;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x + 64, y, new Rectangle(781, 0, 128, 130));
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = 1.0f;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x末端 + f末端ーツのテクスチャ位置調整, y, 0, new Rectangle(910, num9, 130, 130));
if (TJAPlayer3.Skin.Game_RollColorMode == CSkin.RollColorMode.All)
TJAPlayer3.Tx.Notes.color4 = effectedColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = effectedColor;
else
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x, y, 0, new Rectangle(650, num9, 130, 130));
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x, y, 0, new Rectangle(650, num9, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
#endregion
}
TJAPlayer3.Tx.SENotes.vc拡大縮小倍率.X = index - 44;
@ -2005,22 +2016,22 @@ namespace TJAPlayer3
#region[]
if (TJAPlayer3.Skin.Game_RollColorMode != CSkin.RollColorMode.None)
TJAPlayer3.Tx.Notes.color4 = effectedColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = effectedColor;
else
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
TJAPlayer3.Tx.Notes.vc拡大縮小倍率.X = (index - 65 + f末端ーツのテクスチャ位置調整 + 1) / 128f;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x + 64, y, new Rectangle(1171, 0, 128, 130));
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = (index - 65 + f末端ーツのテクスチャ位置調整 + 1) / 128f;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x + 64, y, new Rectangle(1171, 0, 128, 130));
TJAPlayer3.Tx.Notes.vc拡大縮小倍率.X = 1.0f;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x末端 + f末端ーツのテクスチャ位置調整, y, 0, new Rectangle(1300, num9, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = 1.0f;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x末端 + f末端ーツのテクスチャ位置調整, y, 0, new Rectangle(1300, num9, 130, 130));
if (TJAPlayer3.Skin.Game_RollColorMode == CSkin.RollColorMode.All)
TJAPlayer3.Tx.Notes.color4 = effectedColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = effectedColor;
else
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(1040, num9, 130, 130));
TJAPlayer3.Tx.Notes.color4 = normalColor;
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(1040, num9, 130, 130));
TJAPlayer3.Tx.Notes[(int)_gt].color4 = normalColor;
#endregion
}
TJAPlayer3.Tx.SENotes.vc拡大縮小倍率.X = index - 70;
@ -2039,7 +2050,7 @@ namespace TJAPlayer3
x = (349 + pChip.nバーからのーツ末端距離dot);
if (TJAPlayer3.ConfigIni.eSTEALTH != Eステルスモード.DORON)
TJAPlayer3.Tx.Notes.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(1430, num9, 260, 130));
TJAPlayer3.Tx.Notes[(int)_gt].t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(1430, num9, 260, 130));
TJAPlayer3.Tx.SENotes.t2D描画(TJAPlayer3.app.Device, x - 2, y + nSenotesY, new Rectangle(0, 30 * pChip.nSenote, 136, 30));
}
@ -2047,7 +2058,7 @@ namespace TJAPlayer3
if (pChip.nチャンネル番号 == 0x18)
{
//大きい連打か小さい連打かの区別方法を考えてなかったよちくしょう
TJAPlayer3.Tx.Notes.vc拡大縮小倍率.X = 1.0f;
TJAPlayer3.Tx.Notes[(int)_gt].vc拡大縮小倍率.X = 1.0f;
int n = 0;
switch (pChip.n連打音符State)
{

View File

@ -20,7 +20,10 @@ namespace TJAPlayer3
// メソッド
public virtual void Start(int nLane, int nPlayer, bool isRoll = false)
{
if (TJAPlayer3.Tx.Notes != null)
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(nPlayer)];
if (TJAPlayer3.Tx.Notes[(int)_gt] != null)
{
for (int i = 0; i < 128; i++)
{
@ -141,15 +144,21 @@ namespace TJAPlayer3
}
//Flying[i].OldValue = Flying[i].Counter.n現在の値;
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(Flying[i].Player)];
TJAPlayer3.Tx.Notes[(int)_gt]?.t2D中心基準描画(TJAPlayer3.app.Device, (int)Flying[i].X, (int)Flying[i].Y, new Rectangle(Flying[i].Lane * 130, 0, 130, 130));
/*
if (Flying[i].Player == 0)
{
TJAPlayer3.Tx.Notes?.t2D中心基準描画(TJAPlayer3.app.Device, (int)Flying[i].X, (int)Flying[i].Y, new Rectangle(Flying[i].Lane * 130, 0, 130, 130));
}
else if (Flying[i].Player == 1)
{
//
TJAPlayer3.Tx.Notes?.t2D中心基準描画(TJAPlayer3.app.Device, (int)Flying[i].X, (int)Flying[i].Y, new Rectangle(Flying[i].Lane * 130, 0, 130, 130));
}
*/
}
}
}

View File

@ -240,6 +240,9 @@
505 : "Rigorous" timing mod option
510 : "Score Multiplier : " (For modifiers)
511 : "Coins Multiplier : " (For modifiers)
512 : "Game Type" mod name
513 : "Taiko" game type mod option
514 : "Konga" game type mod option
# In-game pause menu (0090X)

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -9,4 +9,14 @@
"path": "Sounds\\HitSounds\\Electro\\",
"format": "WAV",
},
{
"name": "Konga",
"path": "Sounds\\HitSounds\\Konga\\",
"format": "WAV",
},
{
"name": "None",
"path": "Sounds\\HitSounds\\None\\",
"format": "WAV",
},
]

Binary file not shown.

Binary file not shown.