Merge branch 'main' of https://github.com/0auBSQ/OpenTaiko
27
README-ZH.md
@ -12,7 +12,7 @@ TJAPlayer3-Develop-ReWrite的分叉项目,读取TJA文件的太鼓模拟器
|
||||
|
||||
- Discord:https://discord.gg/aA8scTvZ6B
|
||||
|
||||
(译者注:由README-EN.md翻译。最近一次更新时间:2023年2月9日)
|
||||
(译者注:由README-EN.md翻译。最近一次更新时间:2023年2月14日)
|
||||
|
||||
(译者注:编译指南:[https://github.com/l1m0n3/OpenTaiko/wiki/How-to-build-OpenTaiko-without-using-Visual-Studio-(on-Windows)](https://github.com/l1m0n3/OpenTaiko/wiki/How-to-build-OpenTaiko-without-using-Visual-Studio-(on-Windows)))
|
||||
|
||||
@ -115,11 +115,34 @@ OpenTaiko是一个使用MIT许可证的开源软件。在MIT许可证下,您
|
||||
- 我找不到我自行添加的角色和迷你角色
|
||||
|
||||
```
|
||||
从0.5.3版本开始,角色和迷你角色将由skin文件夹外的Global文件夹读取。请把它们放在那里。
|
||||
从0.5.3.1版本开始,角色和迷你角色将由skin文件夹外的Global文件夹读取。请把它们放在那里。
|
||||
```
|
||||
|
||||
## 更新历史
|
||||
|
||||
<details>
|
||||
<summary>v0.5.4</summary>
|
||||
|
||||
- 修复了多个问题
|
||||
|
||||
- 可以在线下载谱面
|
||||
|
||||
- 支持角色和迷你角色各自的声音
|
||||
|
||||
- 支持在游戏中更换音色
|
||||
|
||||
- 选曲界面新增随机选曲选项
|
||||
|
||||
- 新增康加鼓模式
|
||||
|
||||
- 支持PREIMAGE元数据
|
||||
|
||||
- 更改演奏模式及其图标
|
||||
|
||||
- 新增紫音符(G)、炸弹音符(C),修复牵手音符(A、B)和隐藏音符(F)
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>v0.5.3.1</summary>
|
||||
|
||||
|
@ -9,11 +9,11 @@ namespace TJAPlayer3
|
||||
{
|
||||
class CMenuCharacter
|
||||
{
|
||||
private static CCounter[] ctCharacterNormal = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterSelect = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterStart = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterEntry = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterEntryNormal = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterNormal = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterSelect = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterStart = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterEntry = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterEntryNormal = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
|
||||
public enum ECharacterAnimation
|
||||
{
|
||||
@ -162,31 +162,31 @@ namespace TJAPlayer3
|
||||
{
|
||||
case (ECharacterAnimation.NORMAL):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterNormal[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterAnimation.START):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterStart[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterAnimation.SELECT):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterSelect[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterAnimation.ENTRY):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterEntry[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterAnimation.ENTRY_NORMAL):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterEntryNormal[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
@ -208,7 +208,7 @@ namespace TJAPlayer3
|
||||
|
||||
public static void tMenuResetTimer(ECharacterAnimation eca)
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
tMenuResetTimer(i, eca);
|
||||
}
|
||||
|
@ -9,10 +9,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
class CResultCharacter
|
||||
{
|
||||
private static CCounter[] ctCharacterNormal = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterClear = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterFailed = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterFailedIn = new CCounter[4] { new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterNormal = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterClear = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterFailed = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
private static CCounter[] ctCharacterFailedIn = new CCounter[5] { new CCounter(), new CCounter(), new CCounter(), new CCounter(), new CCounter() };
|
||||
|
||||
|
||||
public enum ECharacterResult
|
||||
@ -157,25 +157,25 @@ namespace TJAPlayer3
|
||||
{
|
||||
case (ECharacterResult.NORMAL):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterNormal[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterResult.CLEAR):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterClear[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterResult.FAILED):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterFailed[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
case (ECharacterResult.FAILED_IN):
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctCharacterFailedIn[i] = new CCounter();
|
||||
break;
|
||||
}
|
||||
@ -241,7 +241,7 @@ namespace TJAPlayer3
|
||||
_tex.vc拡大縮小倍率.X *= resolutionRatioX;
|
||||
_tex.vc拡大縮小倍率.Y *= resolutionRatioY;
|
||||
|
||||
if (pos % 2 == 0)
|
||||
if (pos % 2 == 0 || TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
_tex.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device,
|
||||
_x,
|
||||
|
@ -64,7 +64,7 @@ namespace TJAPlayer3
|
||||
/// <param name="y">Y座標(中央)</param>
|
||||
/// <param name="alpha">不透明度</param>
|
||||
/// <returns></returns>
|
||||
public int On進行描画(int x, int y, bool isGrowing, int alpha = 255, bool isBalloon = false, int player = 0)
|
||||
public int On進行描画(int x, int y, bool isGrowing, int alpha = 255, bool isBalloon = false, int player = 0, float scale = 1.0f)
|
||||
{
|
||||
if (!TJAPlayer3.ConfigIni.ShowPuchiChara) return base.On進行描画();
|
||||
if (Counter == null || SineCounter == null || TJAPlayer3.Tx.Puchichara == null) return base.On進行描画();
|
||||
@ -103,6 +103,8 @@ namespace TJAPlayer3
|
||||
float puchiScale = TJAPlayer3.Skin.Resolution[1] / 720.0f;
|
||||
|
||||
chara.vc拡大縮小倍率 = new Vector3((isBalloon ? TJAPlayer3.Skin.Game_PuchiChara_Scale[1] * puchiScale : TJAPlayer3.Skin.Game_PuchiChara_Scale[0] * puchiScale));
|
||||
chara.vc拡大縮小倍率.X *= scale;
|
||||
chara.vc拡大縮小倍率.Y *= scale;
|
||||
chara.Opacity = alpha;
|
||||
|
||||
// (isGrowing ? TJAPlayer3.Skin.Game_PuchiChara[1] : 0) => Height
|
||||
|
@ -332,6 +332,141 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftRed3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLRed3P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLRed3P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightRed3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRRed3P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRRed3P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftBlue3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLBlue3P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLBlue3P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightBlue3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRBlue3P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRBlue3P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftRed4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLRed4P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLRed4P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightRed4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRRed4P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRRed4P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftBlue4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLBlue4P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLBlue4P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightBlue4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRBlue4P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRBlue4P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftRed5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLRed5P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLRed5P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightRed5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRRed5P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRRed5P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftBlue5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padLBlue5P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padLBlue5P = value;
|
||||
}
|
||||
}
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] RightBlue5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padRBlue5P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padRBlue5P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] Clap
|
||||
{
|
||||
get
|
||||
@ -356,6 +491,42 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] Clap3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padClap3P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padClap3P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] Clap4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padClap4P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padClap4P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] Clap5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.padClap5P;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.padClap5P = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CConfigIni.CKeyAssign.STKEYASSIGN[] LeftChange
|
||||
{
|
||||
get
|
||||
@ -446,12 +617,57 @@ namespace TJAPlayer3
|
||||
case (int) EKeyConfigPad.RBlue2P:
|
||||
return this.padRBlue2P;
|
||||
|
||||
case (int)EKeyConfigPad.LRed3P:
|
||||
return this.padLRed3P;
|
||||
|
||||
case (int)EKeyConfigPad.RRed3P:
|
||||
return this.padRRed3P;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue3P:
|
||||
return this.padLBlue3P;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue3P:
|
||||
return this.padRBlue3P;
|
||||
|
||||
case (int)EKeyConfigPad.LRed4P:
|
||||
return this.padLRed4P;
|
||||
|
||||
case (int)EKeyConfigPad.RRed4P:
|
||||
return this.padRRed4P;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue4P:
|
||||
return this.padLBlue4P;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue4P:
|
||||
return this.padRBlue4P;
|
||||
|
||||
case (int)EKeyConfigPad.LRed5P:
|
||||
return this.padLRed5P;
|
||||
|
||||
case (int)EKeyConfigPad.RRed5P:
|
||||
return this.padRRed5P;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue5P:
|
||||
return this.padLBlue5P;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue5P:
|
||||
return this.padRBlue5P;
|
||||
|
||||
case (int)EKeyConfigPad.Clap:
|
||||
return this.padClap;
|
||||
|
||||
case (int)EKeyConfigPad.Clap2P:
|
||||
return this.padClap2P;
|
||||
|
||||
case (int)EKeyConfigPad.Clap3P:
|
||||
return this.padClap3P;
|
||||
|
||||
case (int)EKeyConfigPad.Clap4P:
|
||||
return this.padClap4P;
|
||||
|
||||
case (int)EKeyConfigPad.Clap5P:
|
||||
return this.padClap5P;
|
||||
|
||||
case (int)EKeyConfigPad.LeftChange:
|
||||
return this.padLeftChange;
|
||||
|
||||
@ -547,6 +763,54 @@ namespace TJAPlayer3
|
||||
this.padRBlue2P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LRed3P:
|
||||
this.padLRed3P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RRed3P:
|
||||
this.padRRed3P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue3P:
|
||||
this.padLBlue3P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue3P:
|
||||
this.padRBlue3P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LRed4P:
|
||||
this.padLRed4P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RRed4P:
|
||||
this.padRRed4P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue4P:
|
||||
this.padLBlue4P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue4P:
|
||||
this.padRBlue4P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LRed5P:
|
||||
this.padLRed5P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RRed5P:
|
||||
this.padRRed5P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LBlue5P:
|
||||
this.padLBlue5P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.RBlue5P:
|
||||
this.padRBlue5P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.Clap:
|
||||
this.padClap = value;
|
||||
return;
|
||||
@ -555,6 +819,18 @@ namespace TJAPlayer3
|
||||
this.padClap2P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.Clap3P:
|
||||
this.padClap3P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.Clap4P:
|
||||
this.padClap4P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.Clap5P:
|
||||
this.padClap5P = value;
|
||||
return;
|
||||
|
||||
case (int)EKeyConfigPad.LeftChange:
|
||||
this.padLeftChange = value;
|
||||
return;
|
||||
@ -585,16 +861,37 @@ namespace TJAPlayer3
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padSD_G;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLP;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBD;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLRed;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBlue;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRRed;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRBlue;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLRed2P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBlue2P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRRed2P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRBlue2P;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLRed3P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBlue3P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRRed3P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRBlue3P;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLRed4P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBlue4P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRRed4P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRBlue4P;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLRed5P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLBlue5P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRRed5P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRBlue5P;
|
||||
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padClap;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padClap2P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padClap3P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padClap4P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padClap5P;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padLeftChange;
|
||||
private CConfigIni.CKeyAssign.STKEYASSIGN[] padRightChange;
|
||||
|
||||
@ -762,7 +1059,7 @@ namespace TJAPlayer3
|
||||
public int nウインドウheight; // #23510 2010.10.31 yyagi add
|
||||
public Dictionary<int, string> dicJoystick;
|
||||
public Eダークモード eDark;
|
||||
public STDGBVALUE<Eランダムモード> eRandom;
|
||||
public Eランダムモード[] eRandom;
|
||||
public Eダメージレベル eダメージレベル;
|
||||
public CKeyAssign KeyAssign;
|
||||
public int n非フォーカス時スリープms; // #23568 2010.11.04 ikanick add
|
||||
@ -852,11 +1149,27 @@ namespace TJAPlayer3
|
||||
public int nScoreMode;
|
||||
public int nDefaultCourse; //2017.01.30 DD デフォルトでカーソルをあわせる難易度
|
||||
|
||||
|
||||
public int nPlayerCount; //2017.08.18 kairera0467 マルチプレイ対応
|
||||
private int _nPlayerCount;
|
||||
public int nPlayerCount
|
||||
{
|
||||
get
|
||||
{
|
||||
if (bAIBattleMode)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
return _nPlayerCount;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
_nPlayerCount = value;
|
||||
}
|
||||
}
|
||||
|
||||
public bool b太鼓パートAutoPlay;
|
||||
public bool b太鼓パートAutoPlay2P; //2017.08.16 kairera0467 マルチプレイ対応
|
||||
public bool[] b太鼓パートAutoPlay = new bool[5];
|
||||
|
||||
public bool bAuto先生の連打;
|
||||
public int nRollsPerSec;
|
||||
@ -925,9 +1238,9 @@ namespace TJAPlayer3
|
||||
public int TokkunMashInterval;
|
||||
public bool bSuperHard = false;
|
||||
public bool bTokkunMode = false;
|
||||
public int[] bJust = new int[4] { 0, 0, 0, 0 };
|
||||
public int[] bJust = new int[5] { 0, 0, 0, 0, 0 };
|
||||
|
||||
public int[] nHitSounds = new int[4] { 0, 0, 0, 0 };
|
||||
public int[] nHitSounds = new int[5] { 0, 0, 0, 0, 0 };
|
||||
|
||||
public bool bEndingAnime = false; // 2017.01.27 DD 「また遊んでね」画面の有効/無効オプション追加
|
||||
|
||||
@ -1490,15 +1803,15 @@ namespace TJAPlayer3
|
||||
this.bSudden = new STDGBVALUE<bool>();
|
||||
this.bHidden = new STDGBVALUE<bool>();
|
||||
this.bReverse = new STDGBVALUE<bool>();
|
||||
this.eRandom = new STDGBVALUE<Eランダムモード>();
|
||||
this.eRandom = new Eランダムモード[5];
|
||||
this.bLight = new STDGBVALUE<bool>();
|
||||
this.bLeft = new STDGBVALUE<bool>();
|
||||
this.e判定位置 = new STDGBVALUE<E判定位置>(); // #33891 2014.6.26 yyagi
|
||||
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.nFunMods = new EFunMods[4] { EFunMods.NONE, EFunMods.NONE, EFunMods.NONE, EFunMods.NONE };
|
||||
this.nScrollSpeed = new int[5] { 9, 9, 9, 9, 9 };
|
||||
this.nTimingZones = new int[5] { 2, 2, 2, 2, 2 };
|
||||
this.nGameType = new EGameType[5] { EGameType.TAIKO, EGameType.TAIKO, EGameType.TAIKO, EGameType.TAIKO, EGameType.TAIKO };
|
||||
this.nFunMods = new EFunMods[5] { EFunMods.NONE, EFunMods.NONE, EFunMods.NONE, EFunMods.NONE, EFunMods.NONE };
|
||||
this.nInputAdjustTimeMs = 0;
|
||||
this.nGlobalOffsetMs = 0;
|
||||
this.nJudgeLinePosOffset = new STDGBVALUE<int>(); // #31602 2013.6.23 yyagi
|
||||
@ -1519,7 +1832,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.eRandom[i] = Eランダムモード.OFF;
|
||||
this.nScrollSpeed[i] = 9;
|
||||
@ -1531,8 +1844,10 @@ namespace TJAPlayer3
|
||||
#region [ AutoPlay ]
|
||||
this.bAutoPlay = new STAUTOPLAY();
|
||||
|
||||
this.b太鼓パートAutoPlay = false;
|
||||
this.b太鼓パートAutoPlay2P = false;
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.b太鼓パートAutoPlay[i] = false;
|
||||
}
|
||||
this.bAuto先生の連打 = true;
|
||||
#endregion
|
||||
this.nヒット範囲ms = new STRANGE();
|
||||
@ -1605,9 +1920,9 @@ namespace TJAPlayer3
|
||||
ShowMob = true;
|
||||
ShowPuchiChara = true;
|
||||
|
||||
this.eSTEALTH = new Eステルスモード[4];
|
||||
this.eSTEALTH = new Eステルスモード[5];
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
this.eSTEALTH[i] = Eステルスモード.OFF;
|
||||
|
||||
this.bNoInfo = false;
|
||||
@ -2008,9 +2323,12 @@ namespace TJAPlayer3
|
||||
sw.WriteLine("[AutoPlay]");
|
||||
sw.WriteLine();
|
||||
sw.WriteLine("; 自動演奏(0:OFF, 1:ON)");
|
||||
sw.WriteLine("Taiko={0}", this.b太鼓パートAutoPlay ? 1 : 0);
|
||||
sw.WriteLine("Taiko2P={0}", this.b太鼓パートAutoPlay2P ? 1 : 0);
|
||||
sw.WriteLine("TaikoAutoRoll={0}", this.bAuto先生の連打 ? 1 : 0);
|
||||
sw.WriteLine("Taiko={0}", this.b太鼓パートAutoPlay[0] ? 1 : 0);
|
||||
sw.WriteLine("Taiko2P={0}", this.b太鼓パートAutoPlay[1] ? 1 : 0);
|
||||
sw.WriteLine("Taiko3P={0}", this.b太鼓パートAutoPlay[2] ? 1 : 0);
|
||||
sw.WriteLine("Taiko4P={0}", this.b太鼓パートAutoPlay[3] ? 1 : 0);
|
||||
sw.WriteLine("Taiko5P={0}", this.b太鼓パートAutoPlay[4] ? 1 : 0);
|
||||
sw.WriteLine("TaikoAutoRoll={0}", this.bAuto先生の連打 ? 1 : 0);
|
||||
sw.WriteLine("RollsPerSec={0}", this.nRollsPerSec);
|
||||
sw.WriteLine("AILevel={0}", this.nAILevel);
|
||||
sw.WriteLine("AIBattleMode={0}", bAIBattleMode ? 1 : 0);
|
||||
@ -2112,24 +2430,28 @@ namespace TJAPlayer3
|
||||
sw.WriteLine("DrumsScrollSpeed2P={0}", this.nScrollSpeed[1]);
|
||||
sw.WriteLine("DrumsScrollSpeed3P={0}", this.nScrollSpeed[2]);
|
||||
sw.WriteLine("DrumsScrollSpeed4P={0}", this.nScrollSpeed[3]);
|
||||
sw.WriteLine("DrumsScrollSpeed5P={0}", this.nScrollSpeed[4]);
|
||||
sw.WriteLine();
|
||||
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("TimingZones5P={0}", this.nTimingZones[4]);
|
||||
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("Gametype5P={0}", (int)this.nGameType[4]);
|
||||
sw.WriteLine();
|
||||
sw.WriteLine("; Fun Mods (0 : None, 1 : Avalanche (random scroll speed per note/chip), 2 : Minesweeper (replace randomly notes by bombs))");
|
||||
sw.WriteLine("FunMods1P={0}", (int)this.nFunMods[0]);
|
||||
sw.WriteLine("FunMods2P={0}", (int)this.nFunMods[1]);
|
||||
sw.WriteLine("FunMods3P={0}", (int)this.nFunMods[2]);
|
||||
sw.WriteLine("FunMods4P={0}", (int)this.nFunMods[3]);
|
||||
sw.WriteLine("FunMods5P={0}", (int)this.nFunMods[4]);
|
||||
sw.WriteLine();
|
||||
sw.WriteLine( "; 演奏速度(5~40)(→x5/20~x40/20)" );
|
||||
sw.WriteLine( "PlaySpeed={0}", this.n演奏速度 );
|
||||
@ -2175,12 +2497,14 @@ namespace TJAPlayer3
|
||||
sw.WriteLine("TaikoRandom2P={0}", (int)this.eRandom[1]);
|
||||
sw.WriteLine("TaikoRandom3P={0}", (int)this.eRandom[2]);
|
||||
sw.WriteLine("TaikoRandom4P={0}", (int)this.eRandom[3]);
|
||||
sw.WriteLine("TaikoRandom5P={0}", (int)this.eRandom[4]);
|
||||
sw.WriteLine();
|
||||
sw.WriteLine( "; STEALTHモード(0:OFF, 1:ドロン, 2:ステルス)" );
|
||||
sw.WriteLine( "TaikoStealth1P={0}", (int) this.eSTEALTH[0] );
|
||||
sw.WriteLine("TaikoStealth2P={0}", (int)this.eSTEALTH[1]);
|
||||
sw.WriteLine("TaikoStealth3P={0}", (int)this.eSTEALTH[2]);
|
||||
sw.WriteLine("TaikoStealth4P={0}", (int)this.eSTEALTH[3]);
|
||||
sw.WriteLine("TaikoStealth5P={0}", (int)this.eSTEALTH[4]);
|
||||
sw.WriteLine();
|
||||
sw.WriteLine( "; ゲーム(0:OFF, 1:完走!叩ききりまショー!, 2:完走!叩ききりまショー!(激辛) )" );
|
||||
sw.WriteLine( "GameMode={0}", (int) this.eGameMode );
|
||||
@ -2249,6 +2573,7 @@ namespace TJAPlayer3
|
||||
sw.WriteLine();
|
||||
sw.WriteLine( "[DrumsKeyAssign]" );
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write( "LeftRed=" );
|
||||
this.tキーの書き出し( sw, this.KeyAssign.Drums.LeftRed );
|
||||
sw.WriteLine();
|
||||
@ -2261,6 +2586,7 @@ namespace TJAPlayer3
|
||||
sw.Write( "RightBlue=" ); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し( sw, this.KeyAssign.Drums.RightBlue ); //
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write( "LeftRed2P=" );
|
||||
this.tキーの書き出し( sw, this.KeyAssign.Drums.LeftRed2P );
|
||||
sw.WriteLine();
|
||||
@ -2273,12 +2599,62 @@ namespace TJAPlayer3
|
||||
sw.Write( "RightBlue2P=" ); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し( sw, this.KeyAssign.Drums.RightBlue2P ); //
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write("LeftRed3P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftRed3P);
|
||||
sw.WriteLine();
|
||||
sw.Write("RightRed3P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightRed3P);
|
||||
sw.WriteLine();
|
||||
sw.Write("LeftBlue3P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftBlue3P); //
|
||||
sw.WriteLine(); //
|
||||
sw.Write("RightBlue3P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightBlue3P); //
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write("LeftRed4P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftRed4P);
|
||||
sw.WriteLine();
|
||||
sw.Write("RightRed4P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightRed4P);
|
||||
sw.WriteLine();
|
||||
sw.Write("LeftBlue4P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftBlue4P); //
|
||||
sw.WriteLine(); //
|
||||
sw.Write("RightBlue4P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightBlue4P); //
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write("LeftRed5P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftRed5P);
|
||||
sw.WriteLine();
|
||||
sw.Write("RightRed5P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightRed5P);
|
||||
sw.WriteLine();
|
||||
sw.Write("LeftBlue5P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.LeftBlue5P); //
|
||||
sw.WriteLine(); //
|
||||
sw.Write("RightBlue5P="); // #27029 2012.1.4 from
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightBlue5P); //
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write("Clap=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Clap);
|
||||
sw.WriteLine();
|
||||
sw.Write("Clap2P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Clap2P);
|
||||
sw.WriteLine();
|
||||
sw.Write("Clap3P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Clap3P);
|
||||
sw.WriteLine();
|
||||
sw.Write("Clap4P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Clap4P);
|
||||
sw.WriteLine();
|
||||
sw.Write("Clap5P=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Clap5P);
|
||||
sw.WriteLine();
|
||||
|
||||
sw.Write("Decide=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.Decide);
|
||||
sw.WriteLine();
|
||||
@ -2291,6 +2667,7 @@ namespace TJAPlayer3
|
||||
sw.Write("RightChange=");
|
||||
this.tキーの書き出し(sw, this.KeyAssign.Drums.RightChange);
|
||||
sw.WriteLine();
|
||||
|
||||
sw.WriteLine();
|
||||
#endregion
|
||||
#region [ SystemkeyAssign ]
|
||||
@ -2817,13 +3194,25 @@ namespace TJAPlayer3
|
||||
case Eセクション種別.AutoPlay:
|
||||
if (str3.Equals("Taiko"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("Taiko2P"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay2P = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("TaikoAutoRoll"))
|
||||
this.b太鼓パートAutoPlay[0] = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("Taiko2P"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay[1] = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("Taiko3P"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay[2] = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("Taiko4P"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay[3] = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("Taiko5P"))
|
||||
{
|
||||
this.b太鼓パートAutoPlay[4] = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
else if (str3.Equals("TaikoAutoRoll"))
|
||||
{
|
||||
this.bAuto先生の連打 = C変換.bONorOFF(str4[0]);
|
||||
}
|
||||
@ -2989,6 +3378,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.nScrollSpeed[3] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x7cf, this.nScrollSpeed[3]);
|
||||
}
|
||||
else if (str3.Equals("DrumsScrollSpeed5P"))
|
||||
{
|
||||
this.nScrollSpeed[4] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 0x7cf, this.nScrollSpeed[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3010,6 +3403,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.nTimingZones[3] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 4, this.nTimingZones[3]);
|
||||
}
|
||||
else if (str3.Equals("TimingZones5P"))
|
||||
{
|
||||
this.nTimingZones[4] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 4, this.nTimingZones[4]);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
@ -3032,6 +3429,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.bJust[3] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 2, this.bJust[3]);
|
||||
}
|
||||
else if (str3.Equals("Just5P"))
|
||||
{
|
||||
this.bJust[4] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 2, this.bJust[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3053,6 +3454,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.nHitSounds[3] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 9999999, this.nHitSounds[3]);
|
||||
}
|
||||
else if (str3.Equals("HitSounds5P"))
|
||||
{
|
||||
this.nHitSounds[4] = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 9999999, this.nHitSounds[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3074,6 +3479,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.nGameType[3] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[3]);
|
||||
}
|
||||
else if (str3.Equals("Gametype5P"))
|
||||
{
|
||||
this.nGameType[4] = (EGameType)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 1, (int)this.nGameType[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3095,6 +3504,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.nFunMods[3] = (EFunMods)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, (int)EFunMods.TOTAL - 1, (int)this.nFunMods[3]);
|
||||
}
|
||||
else if (str3.Equals("FunMods5P"))
|
||||
{
|
||||
this.nFunMods[4] = (EFunMods)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, (int)EFunMods.TOTAL - 1, (int)this.nFunMods[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3116,6 +3529,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.eSTEALTH[3] = (Eステルスモード)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 3, (int)this.eSTEALTH[3]);
|
||||
}
|
||||
else if (str3.Equals("TaikoStealth5P"))
|
||||
{
|
||||
this.eSTEALTH[4] = (Eステルスモード)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 3, (int)this.eSTEALTH[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3137,6 +3554,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.eRandom[3] = (Eランダムモード)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 4, (int)this.eRandom[3]);
|
||||
}
|
||||
else if (str3.Equals("TaikoRandom5P"))
|
||||
{
|
||||
this.eRandom[4] = (Eランダムモード)C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 4, (int)this.eRandom[4]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -3234,7 +3655,7 @@ namespace TJAPlayer3
|
||||
|
||||
else if ( str3.Equals( "PlayerCount" ) )
|
||||
{
|
||||
this.nPlayerCount = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 2, this.nPlayerCount );
|
||||
this.nPlayerCount = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 5, this.nPlayerCount );
|
||||
}
|
||||
else if(str3.Equals(nameof(ShinuchiMode)))
|
||||
{
|
||||
@ -3337,6 +3758,57 @@ namespace TJAPlayer3
|
||||
this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.RightBlue2P ); //
|
||||
}
|
||||
|
||||
else if (str3.Equals("LeftRed3P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftRed3P);
|
||||
}
|
||||
else if (str3.Equals("RightRed3P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightRed3P);
|
||||
}
|
||||
else if (str3.Equals("LeftBlue3P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftBlue3P); //
|
||||
} //
|
||||
else if (str3.Equals("RightBlue3P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightBlue3P); //
|
||||
}
|
||||
|
||||
else if (str3.Equals("LeftRed4P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftRed4P);
|
||||
}
|
||||
else if (str3.Equals("RightRed4P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightRed4P);
|
||||
}
|
||||
else if (str3.Equals("LeftBlue4P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftBlue4P); //
|
||||
} //
|
||||
else if (str3.Equals("RightBlue4P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightBlue4P); //
|
||||
}
|
||||
|
||||
else if (str3.Equals("LeftRed5P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftRed5P);
|
||||
}
|
||||
else if (str3.Equals("RightRed5P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightRed5P);
|
||||
}
|
||||
else if (str3.Equals("LeftBlue5P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.LeftBlue5P); //
|
||||
} //
|
||||
else if (str3.Equals("RightBlue5P")) // #27029 2012.1.4 from
|
||||
{ //
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.RightBlue5P); //
|
||||
}
|
||||
|
||||
else if (str3.Equals("Clap"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.Clap);
|
||||
@ -3345,6 +3817,18 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.Clap2P);
|
||||
}
|
||||
else if (str3.Equals("Clap3P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.Clap3P);
|
||||
}
|
||||
else if (str3.Equals("Clap4P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.Clap4P);
|
||||
}
|
||||
else if (str3.Equals("Clap5P"))
|
||||
{
|
||||
this.tキーの読み出しと設定(str4, this.KeyAssign.Drums.Clap5P);
|
||||
}
|
||||
|
||||
else if (str3.Equals("Decide"))
|
||||
{
|
||||
@ -3564,8 +4048,23 @@ LeftRed2P=K011
|
||||
RightRed2P=K023
|
||||
LeftBlue2P=K012
|
||||
RightBlue2P=K047
|
||||
LeftRed3P=
|
||||
RightRed3P=
|
||||
LeftBlue3P=
|
||||
RightBlue3P=
|
||||
LeftRed4P=
|
||||
RightRed4P=
|
||||
LeftBlue4P=
|
||||
RightBlue4P=
|
||||
LeftRed5P=
|
||||
RightRed5P=
|
||||
LeftBlue5P=
|
||||
RightBlue5P=
|
||||
Clap=K017
|
||||
Clap2P=
|
||||
Clap3P=
|
||||
Clap4P=
|
||||
Clap5P=
|
||||
Decide=K015,K019
|
||||
Cancel=
|
||||
LeftChange=K013
|
||||
|
@ -11,7 +11,7 @@ namespace TJAPlayer3
|
||||
public CHitSounds(string path)
|
||||
{
|
||||
tLoadFile(path);
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
tReloadHitSounds(TJAPlayer3.ConfigIni.nHitSounds[i], i);
|
||||
}
|
||||
@ -39,10 +39,10 @@ namespace TJAPlayer3
|
||||
|
||||
public string[] names;
|
||||
|
||||
public string[] don = new string[4];
|
||||
public string[] ka = new string[4];
|
||||
public string[] adlib = new string[4];
|
||||
public string[] clap = new string[4];
|
||||
public string[] don = new string[5];
|
||||
public string[] ka = new string[5];
|
||||
public string[] adlib = new string[5];
|
||||
public string[] clap = new string[5];
|
||||
|
||||
#region [private]
|
||||
|
||||
|
@ -12,8 +12,11 @@ namespace TJAPlayer3
|
||||
private static Dictionary<string, C曲リストノード> nodes = new Dictionary<string, C曲リストノード>();
|
||||
private static HashSet<string> urls = new HashSet<string>();
|
||||
|
||||
public static CActSelect曲リスト.CScorePad[][] ScorePads = new CActSelect曲リスト.CScorePad[2][]
|
||||
public static CActSelect曲リスト.CScorePad[][] ScorePads = new CActSelect曲リスト.CScorePad[5][]
|
||||
{
|
||||
new CActSelect曲リスト.CScorePad[(int)Difficulty.Edit + 2] { new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad() },
|
||||
new CActSelect曲リスト.CScorePad[(int)Difficulty.Edit + 2] { new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad() },
|
||||
new CActSelect曲リスト.CScorePad[(int)Difficulty.Edit + 2] { new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad() },
|
||||
new CActSelect曲リスト.CScorePad[(int)Difficulty.Edit + 2] { new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad() },
|
||||
new CActSelect曲リスト.CScorePad[(int)Difficulty.Edit + 2] { new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad(), new CActSelect曲リスト.CScorePad() }
|
||||
};
|
||||
@ -274,7 +277,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
#region [Reset nodes]
|
||||
|
||||
for (int pl = 0; pl < 2; pl++)
|
||||
for (int pl = 0; pl < 5; pl++)
|
||||
{
|
||||
CActSelect曲リスト.CScorePad[] SPArrRef = ScorePads[pl];
|
||||
|
||||
@ -296,7 +299,7 @@ namespace TJAPlayer3
|
||||
|
||||
foreach (C曲リストノード song in nodes.Values)
|
||||
{
|
||||
for (int pl = 0; pl < 2; pl++)
|
||||
for (int pl = 0; pl < 5; pl++)
|
||||
{
|
||||
CActSelect曲リスト.CScorePad[] SPArrRef = ScorePads[pl];
|
||||
|
||||
|
@ -90,18 +90,40 @@ namespace TJAPlayer3
|
||||
LC = 9,
|
||||
LP = 10, // #27029 2012.1.4 from
|
||||
LBD = 11,
|
||||
|
||||
LRed = 12,
|
||||
RRed = 13,
|
||||
LBlue = 14,
|
||||
RBlue = 15,
|
||||
|
||||
LRed2P = 16,
|
||||
RRed2P = 17,
|
||||
LBlue2P = 18,
|
||||
RBlue2P = 19,
|
||||
CLAP = 20,
|
||||
CLAP2P = 21,
|
||||
LeftChange = 22,
|
||||
RightChange = 23,
|
||||
RBlue2P = 19,
|
||||
|
||||
LRed3P = 20,
|
||||
RRed3P = 21,
|
||||
LBlue3P = 22,
|
||||
RBlue3P = 23,
|
||||
|
||||
LRed4P = 24,
|
||||
RRed4P = 25,
|
||||
LBlue4P = 26,
|
||||
RBlue4P = 27,
|
||||
|
||||
LRed5P = 28,
|
||||
RRed5P = 29,
|
||||
LBlue5P = 30,
|
||||
RBlue5P = 31,
|
||||
|
||||
CLAP = 32,
|
||||
CLAP2P = 33,
|
||||
CLAP3P = 34,
|
||||
CLAP4P = 35,
|
||||
CLAP5P = 36,
|
||||
LeftChange = 37,
|
||||
RightChange = 38,
|
||||
|
||||
MAX, // 門番用として定義
|
||||
UNKNOWN = 99
|
||||
}
|
||||
@ -126,18 +148,40 @@ namespace TJAPlayer3
|
||||
LC = Eパッド.LC,
|
||||
LP = Eパッド.LP, // #27029 2012.1.4 from
|
||||
LBD = Eパッド.LBD,
|
||||
|
||||
LRed = Eパッド.LRed,
|
||||
RRed = Eパッド.RRed,
|
||||
LBlue = Eパッド.LBlue,
|
||||
RBlue = Eパッド.RBlue,
|
||||
|
||||
LRed2P = Eパッド.LRed2P,
|
||||
RRed2P = Eパッド.RRed2P,
|
||||
LBlue2P = Eパッド.LBlue2P,
|
||||
RBlue2P = Eパッド.RBlue2P,
|
||||
RBlue2P = Eパッド.RBlue2P,
|
||||
|
||||
LRed3P = Eパッド.LRed3P,
|
||||
RRed3P = Eパッド.RRed3P,
|
||||
LBlue3P = Eパッド.LBlue3P,
|
||||
RBlue3P = Eパッド.RBlue3P,
|
||||
|
||||
LRed4P = Eパッド.LRed4P,
|
||||
RRed4P = Eパッド.RRed4P,
|
||||
LBlue4P = Eパッド.LBlue4P,
|
||||
RBlue4P = Eパッド.RBlue4P,
|
||||
|
||||
LRed5P = Eパッド.LRed5P,
|
||||
RRed5P = Eパッド.RRed5P,
|
||||
LBlue5P = Eパッド.LBlue5P,
|
||||
RBlue5P = Eパッド.RBlue5P,
|
||||
|
||||
Clap = Eパッド.CLAP,
|
||||
Clap2P = Eパッド.CLAP2P,
|
||||
Clap2P = Eパッド.CLAP2P,
|
||||
Clap3P = Eパッド.CLAP3P,
|
||||
Clap4P = Eパッド.CLAP4P,
|
||||
Clap5P = Eパッド.CLAP5P,
|
||||
LeftChange = Eパッド.LeftChange,
|
||||
RightChange = Eパッド.RightChange,
|
||||
|
||||
Capture,
|
||||
UNKNOWN = Eパッド.UNKNOWN
|
||||
}
|
||||
|
@ -25,6 +25,10 @@ namespace TJAPlayer3
|
||||
|
||||
if (modalFormat == EModalFormat.Half)
|
||||
arrRef = TJAPlayer3.Tx.Modal_Half;
|
||||
else if (modalFormat == EModalFormat.Half_4P)
|
||||
arrRef = TJAPlayer3.Tx.Modal_Half_4P;
|
||||
else if (modalFormat == EModalFormat.Half_5P)
|
||||
arrRef = TJAPlayer3.Tx.Modal_Half_5P;
|
||||
else
|
||||
arrRef = TJAPlayer3.Tx.Modal_Full;
|
||||
|
||||
@ -36,6 +40,7 @@ namespace TJAPlayer3
|
||||
_box = arrRef[usedTex];
|
||||
}
|
||||
|
||||
/*
|
||||
_boxRect = new Rectangle(
|
||||
(modalFormat == EModalFormat.Full || player == 0)
|
||||
? 0
|
||||
@ -45,6 +50,13 @@ namespace TJAPlayer3
|
||||
? _box.szテクスチャサイズ.Width
|
||||
: _box.szテクスチャサイズ.Width / 2,
|
||||
_box.szテクスチャサイズ.Height);
|
||||
*/
|
||||
|
||||
_boxRect = new Rectangle(
|
||||
(modalFormat == EModalFormat.Full || player == 0) ? 0 : _box.szテクスチャサイズ.Width / 2,
|
||||
0,
|
||||
(modalFormat == EModalFormat.Full) ? _box.szテクスチャサイズ.Width : _box.szテクスチャサイズ.Width / 2,
|
||||
_box.szテクスチャサイズ.Height / (((TJAPlayer3.ConfigIni.nPlayerCount - 1) / 2) + 1));
|
||||
|
||||
tGenerateTextures();
|
||||
|
||||
@ -55,18 +67,79 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (_isSet == true)
|
||||
{
|
||||
_box?.t2D描画(TJAPlayer3.app.Device, (_box.szテクスチャサイズ.Width / 2) * player, 0, _boxRect);
|
||||
_box?.t2D描画(TJAPlayer3.app.Device, _boxRect.Width * (player % 2), _boxRect.Height * (player / 2), _boxRect);
|
||||
|
||||
int[] title_x;
|
||||
int[] title_y;
|
||||
int[] text_x;
|
||||
int[] text_y;
|
||||
int moveX;
|
||||
int moveY;
|
||||
|
||||
if (modalFormat == EModalFormat.Full)
|
||||
{
|
||||
title_x = new int[] { TJAPlayer3.Skin.Modal_Title_Full[0] };
|
||||
title_y = new int[] { TJAPlayer3.Skin.Modal_Title_Full[1] };
|
||||
|
||||
text_x = new int[] { TJAPlayer3.Skin.Modal_Text_Full[0] };
|
||||
text_y = new int[] { TJAPlayer3.Skin.Modal_Text_Full[1] };
|
||||
|
||||
moveX = TJAPlayer3.Skin.Modal_Text_Full_Move[0];
|
||||
moveY = TJAPlayer3.Skin.Modal_Text_Full_Move[1];
|
||||
}
|
||||
else if (modalFormat == EModalFormat.Half)
|
||||
{
|
||||
title_x = TJAPlayer3.Skin.Modal_Title_Half_X;
|
||||
title_y = TJAPlayer3.Skin.Modal_Title_Half_Y;
|
||||
|
||||
text_x = TJAPlayer3.Skin.Modal_Text_Half_X;
|
||||
text_y = TJAPlayer3.Skin.Modal_Text_Half_Y;
|
||||
|
||||
moveX = TJAPlayer3.Skin.Modal_Text_Half_Move[0];
|
||||
moveY = TJAPlayer3.Skin.Modal_Text_Half_Move[1];
|
||||
}
|
||||
else if (modalFormat == EModalFormat.Half_4P)
|
||||
{
|
||||
title_x = TJAPlayer3.Skin.Modal_Title_Half_X_4P;
|
||||
title_y = TJAPlayer3.Skin.Modal_Title_Half_Y_4P;
|
||||
|
||||
text_x = TJAPlayer3.Skin.Modal_Text_Half_X_4P;
|
||||
text_y = TJAPlayer3.Skin.Modal_Text_Half_Y_4P;
|
||||
|
||||
moveX = TJAPlayer3.Skin.Modal_Text_Half_Move_4P[0];
|
||||
moveY = TJAPlayer3.Skin.Modal_Text_Half_Move_4P[1];
|
||||
}
|
||||
else// 5P
|
||||
{
|
||||
title_x = TJAPlayer3.Skin.Modal_Title_Half_X_5P;
|
||||
title_y = TJAPlayer3.Skin.Modal_Title_Half_Y_5P;
|
||||
|
||||
text_x = TJAPlayer3.Skin.Modal_Text_Half_X_5P;
|
||||
text_y = TJAPlayer3.Skin.Modal_Text_Half_Y_5P;
|
||||
|
||||
moveX = TJAPlayer3.Skin.Modal_Text_Half_Move_5P[0];
|
||||
moveY = TJAPlayer3.Skin.Modal_Text_Half_Move_5P[1];
|
||||
}
|
||||
|
||||
/*
|
||||
Point[] Pos = new Point[]
|
||||
{
|
||||
(modalFormat == EModalFormat.Full) ? new Point(TJAPlayer3.Skin.Modal_Title_Full[0], TJAPlayer3.Skin.Modal_Title_Full[1]) : new Point(TJAPlayer3.Skin.Modal_Title_Half_X[player], TJAPlayer3.Skin.Modal_Title_Half_Y[player]), // title
|
||||
(modalFormat == EModalFormat.Full) ?
|
||||
new Point(TJAPlayer3.Skin.Modal_Text_Full[0] +(tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Full_Move[0] : 0),
|
||||
TJAPlayer3.Skin.Modal_Text_Full[1] + (tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Full_Move[1] : 0)) :
|
||||
(modalFormat == EModalFormat.Full) ?
|
||||
new Point(TJAPlayer3.Skin.Modal_Text_Full[0] +(tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Full_Move[0] : 0),
|
||||
TJAPlayer3.Skin.Modal_Text_Full[1] + (tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Full_Move[1] : 0)) :
|
||||
|
||||
new Point(TJAPlayer3.Skin.Modal_Text_Half_X[player] + (tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Half_Move[0] : 0),
|
||||
TJAPlayer3.Skin.Modal_Text_Half_Y[player] + (tTextCentered () ? TJAPlayer3.Skin.Modal_Text_Half_Move[1] : 0)), // content
|
||||
};
|
||||
*/
|
||||
|
||||
Point[] Pos = new Point[]
|
||||
{
|
||||
new Point(title_x[player], title_y[player]),
|
||||
new Point(text_x[player] + (tTextCentered () ? moveX : 0),
|
||||
text_y[player] + (tTextCentered () ? moveY : 0)), // content
|
||||
};
|
||||
|
||||
_ModalTitle?.t2D中心基準描画(TJAPlayer3.app.Device, Pos[0].X, Pos[0].Y);
|
||||
_ModalText?.t2D中心基準描画(TJAPlayer3.app.Device, Pos[1].X, Pos[1].Y);
|
||||
@ -124,6 +197,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
Full,
|
||||
Half,
|
||||
Half_4P,
|
||||
Half_5P,
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -10,24 +10,39 @@ namespace TJAPlayer3
|
||||
{
|
||||
public ModalQueue(Modal.EModalFormat mf)
|
||||
{
|
||||
_modalQueues = new Queue<Modal>[] { new Queue<Modal>(), new Queue<Modal>() };
|
||||
_modalQueues = new Queue<Modal>[] { new Queue<Modal>(), new Queue<Modal>(), new Queue<Modal>(), new Queue<Modal>(), new Queue<Modal>() };
|
||||
_modalFormat = mf;
|
||||
}
|
||||
|
||||
// Add two modals (one per player) at the same time
|
||||
public void tAddModal(Modal mp1, Modal mp2)
|
||||
public void tAddModal(Modal mp1, Modal mp2, Modal mp3, Modal mp4, Modal mp5)
|
||||
{
|
||||
mp1.modalFormat = _modalFormat;
|
||||
mp2.modalFormat = _modalFormat;
|
||||
mp3.modalFormat = _modalFormat;
|
||||
mp4.modalFormat = _modalFormat;
|
||||
mp5.modalFormat = _modalFormat;
|
||||
mp1.player = 0;
|
||||
mp2.player = 1;
|
||||
mp3.player = 2;
|
||||
mp4.player = 3;
|
||||
mp5.player = 4;
|
||||
mp1.tSetupModal();
|
||||
mp2.tSetupModal();
|
||||
mp3.tSetupModal();
|
||||
mp4.tSetupModal();
|
||||
mp5.tSetupModal();
|
||||
|
||||
if (mp1 != null)
|
||||
_modalQueues[0].Enqueue(mp1);
|
||||
if (mp2 != null)
|
||||
_modalQueues[1].Enqueue(mp2);
|
||||
if (mp3 != null)
|
||||
_modalQueues[2].Enqueue(mp3);
|
||||
if (mp4 != null)
|
||||
_modalQueues[3].Enqueue(mp4);
|
||||
if (mp5 != null)
|
||||
_modalQueues[4].Enqueue(mp5);
|
||||
}
|
||||
|
||||
// Add a single modal
|
||||
@ -58,7 +73,7 @@ namespace TJAPlayer3
|
||||
|
||||
public bool tAreBothQueuesEmpty()
|
||||
{
|
||||
return tIsQueueEmpty(0) && tIsQueueEmpty(1);
|
||||
return tIsQueueEmpty(0) && tIsQueueEmpty(1) && tIsQueueEmpty(2) && tIsQueueEmpty(3) && tIsQueueEmpty(4);
|
||||
}
|
||||
|
||||
private Modal.EModalFormat _modalFormat;
|
||||
|
@ -26,7 +26,7 @@ namespace TJAPlayer3
|
||||
if (amounts.Length < 2)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
int p = TJAPlayer3.GetActualPlayer(i);
|
||||
|
||||
@ -154,44 +154,47 @@ namespace TJAPlayer3
|
||||
public class Data
|
||||
{
|
||||
[JsonProperty("name")]
|
||||
public string[] Name = { "プレイヤー1", "プレイヤー2" };
|
||||
public string[] Name = { "プレイヤー1", "プレイヤー2", "プレイヤー3", "プレイヤー4", "プレイヤー5" };
|
||||
|
||||
[JsonProperty("title")]
|
||||
public string[] Title = { "初心者", "初心者" };
|
||||
public string[] Title = { "初心者", "初心者", "初心者", "初心者", "初心者" };
|
||||
|
||||
[JsonProperty("dan")]
|
||||
public string[] Dan = { "新人", "新人" };
|
||||
public string[] Dan = { "新人", "新人", "新人", "新人", "新人" };
|
||||
|
||||
[JsonProperty("danGold")]
|
||||
public bool[] DanGold = { false, false };
|
||||
public bool[] DanGold = { false, false, false, false, false };
|
||||
|
||||
[JsonProperty("danType")]
|
||||
public int[] DanType = { 0, 0 };
|
||||
public int[] DanType = { 0, 0, 0, 0, 0 };
|
||||
|
||||
[JsonProperty("titleType")]
|
||||
public int[] TitleType = { 0, 0 };
|
||||
public int[] TitleType = { 0, 0, 0, 0, 0 };
|
||||
|
||||
[JsonProperty("puchiChara")]
|
||||
public string[] PuchiChara = { "0", "0" };
|
||||
public string[] PuchiChara = { "0", "0", "0", "0", "0" };
|
||||
|
||||
[JsonProperty("medals")]
|
||||
public int[] Medals = { 0, 0 };
|
||||
public int[] Medals = { 0, 0, 0, 0, 0 };
|
||||
|
||||
[JsonProperty("character")]
|
||||
public int[] Character = { 0, 0 };
|
||||
public int[] Character = { 0, 0, 0, 0, 0 };
|
||||
|
||||
[JsonProperty("characterName")]
|
||||
public string[] CharacterName = { "0", "0" };
|
||||
public string[] CharacterName = { "0", "0", "0", "0", "0" };
|
||||
|
||||
[JsonProperty("danTitles")]
|
||||
public Dictionary<string, CDanTitle>[] DanTitles = new Dictionary<string, CDanTitle>[2];
|
||||
public Dictionary<string, CDanTitle>[] DanTitles = new Dictionary<string, CDanTitle>[5];
|
||||
|
||||
[JsonProperty("namePlateTitles")]
|
||||
public Dictionary<string, CNamePlateTitle>[] NamePlateTitles = new Dictionary<string, CNamePlateTitle>[2];
|
||||
public Dictionary<string, CNamePlateTitle>[] NamePlateTitles = new Dictionary<string, CNamePlateTitle>[5];
|
||||
|
||||
[JsonProperty("unlockedPuchicharas")]
|
||||
public List<string>[] UnlockedPuchicharas = new List<string>[2]
|
||||
public List<string>[] UnlockedPuchicharas = new List<string>[5]
|
||||
{
|
||||
new List<string>(),
|
||||
new List<string>(),
|
||||
new List<string>(),
|
||||
new List<string>(),
|
||||
new List<string>()
|
||||
};
|
||||
|
@ -122,8 +122,68 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsPerformingCalibration;
|
||||
public static CDTX DTX_3P
|
||||
{
|
||||
get
|
||||
{
|
||||
return dtx[2];
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((dtx[2] != null) && (app != null))
|
||||
{
|
||||
dtx[2].On非活性化();
|
||||
app.listトップレベルActivities.Remove(dtx[2]);
|
||||
}
|
||||
dtx[2] = value;
|
||||
if ((dtx[2] != null) && (app != null))
|
||||
{
|
||||
app.listトップレベルActivities.Add(dtx[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
public static CDTX DTX_4P
|
||||
{
|
||||
get
|
||||
{
|
||||
return dtx[3];
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((dtx[3] != null) && (app != null))
|
||||
{
|
||||
dtx[3].On非活性化();
|
||||
app.listトップレベルActivities.Remove(dtx[3]);
|
||||
}
|
||||
dtx[3] = value;
|
||||
if ((dtx[3] != null) && (app != null))
|
||||
{
|
||||
app.listトップレベルActivities.Add(dtx[3]);
|
||||
}
|
||||
}
|
||||
}
|
||||
public static CDTX DTX_5P
|
||||
{
|
||||
get
|
||||
{
|
||||
return dtx[4];
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((dtx[4] != null) && (app != null))
|
||||
{
|
||||
dtx[4].On非活性化();
|
||||
app.listトップレベルActivities.Remove(dtx[4]);
|
||||
}
|
||||
dtx[4] = value;
|
||||
if ((dtx[4] != null) && (app != null))
|
||||
{
|
||||
app.listトップレベルActivities.Add(dtx[4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsPerformingCalibration;
|
||||
|
||||
public static CFPS FPS
|
||||
{
|
||||
@ -2094,7 +2154,7 @@ for (int i = 0; i < 3; i++) {
|
||||
private bool b終了処理完了済み;
|
||||
private bool bネットワークに接続中 = false;
|
||||
private long 前回のシステム時刻ms = long.MinValue;
|
||||
private static CDTX[] dtx = new CDTX[ 4 ];
|
||||
private static CDTX[] dtx = new CDTX[ 5 ];
|
||||
|
||||
public static TextureLoader Tx = new TextureLoader();
|
||||
|
||||
@ -2303,8 +2363,10 @@ for (int i = 0; i < 3; i++) {
|
||||
#region [ Skin の初期化 ]
|
||||
//---------------------
|
||||
Trace.TraceInformation( "スキンの初期化を行います。" );
|
||||
Trace.Indent();
|
||||
try
|
||||
Trace.Indent();
|
||||
#if !DEBUG
|
||||
try
|
||||
#endif
|
||||
{
|
||||
Skin = new CSkin( TJAPlayer3.ConfigIni.strSystemSkinSubfolderFullName, false);
|
||||
TJAPlayer3.ConfigIni.strSystemSkinSubfolderFullName = TJAPlayer3.Skin.GetCurrentSkinSubfolderFullName( true ); // 旧指定のSkinフォルダが消滅していた場合に備える
|
||||
@ -2312,7 +2374,8 @@ for (int i = 0; i < 3; i++) {
|
||||
ChangeResolution(TJAPlayer3.Skin.Resolution[0], TJAPlayer3.Skin.Resolution[1]);
|
||||
|
||||
Trace.TraceInformation( "スキンの初期化を完了しました。" );
|
||||
}
|
||||
}
|
||||
#if !DEBUG
|
||||
catch (Exception e)
|
||||
{
|
||||
Trace.TraceInformation( "スキンの初期化に失敗しました。" );
|
||||
@ -2322,6 +2385,7 @@ for (int i = 0; i < 3; i++) {
|
||||
{
|
||||
Trace.Unindent();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Init Modal fonts once config.ini parsing is done
|
||||
// Moved here to reference Skin values.
|
||||
|
@ -294,6 +294,40 @@ namespace TJAPlayer3
|
||||
[10092] = "ドラムの演奏に関する項目を設定します。",
|
||||
[10093] = "設定を保存し、コンフィグ画面を終了します。",
|
||||
|
||||
[10094] = "LeftRed3P",
|
||||
[10095] = "左側の面へのキーの割り当てを設\n定します。",
|
||||
[10096] = "RightRed3P",
|
||||
[10097] = "右側の面へのキーの割り当て\nを設定します。",
|
||||
[10098] = "LeftBlue3P",
|
||||
[10099] = "左側のふちへのキーの\n割り当てを設定します。",
|
||||
[10100] = "RightBlue3P",
|
||||
[10101] = "右側のふちへのキーの\n割り当てを設定します。",
|
||||
|
||||
[10102] = "LeftRed4P",
|
||||
[10103] = "左側の面へのキーの割り当てを設\n定します。",
|
||||
[10104] = "RightRed4P",
|
||||
[10105] = "右側の面へのキーの割り当て\nを設定します。",
|
||||
[10106] = "LeftBlue4P",
|
||||
[10107] = "左側のふちへのキーの\n割り当てを設定します。",
|
||||
[10108] = "RightBlue4P",
|
||||
[10109] = "右側のふちへのキーの\n割り当てを設定します。",
|
||||
|
||||
[10110] = "LeftRed5P",
|
||||
[10111] = "左側の面へのキーの割り当てを設\n定します。",
|
||||
[10112] = "RightRed5P",
|
||||
[10113] = "右側の面へのキーの割り当て\nを設定します。",
|
||||
[10114] = "LeftBlue5P",
|
||||
[10115] = "左側のふちへのキーの\n割り当てを設定します。",
|
||||
[10116] = "RightBlue5P",
|
||||
[10117] = "右側のふちへのキーの\n割り当てを設定します。",
|
||||
|
||||
[10118] = "Clap3P",
|
||||
[10119] = "コンガの拍手へのキーの割り当てを設\n定します。",
|
||||
[10120] = "Clap4P",
|
||||
[10121] = "コンガの拍手へのキーの割り当てを設\n定します。",
|
||||
[10122] = "Clap5P",
|
||||
[10123] = "コンガの拍手へのキーの割り当てを設\n定します。",
|
||||
|
||||
[100] = "演奏ゲーム",
|
||||
[101] = "段位道場",
|
||||
[102] = "太鼓タワー",
|
||||
|
@ -391,7 +391,7 @@ namespace TJAPlayer3
|
||||
// relevant section/subsection combination.
|
||||
private static void RankSheets(int seqNo, IList<Section> sections)
|
||||
{
|
||||
var sheetRanksBySectionKindAndSubSectionKind = SeqNoSheetRanksBySectionKindAndSubSectionKind[seqNo];
|
||||
var sheetRanksBySectionKindAndSubSectionKind = SeqNoSheetRanksBySectionKindAndSubSectionKind[((seqNo - 1) % 2) + 1];
|
||||
|
||||
foreach (var section in sections)
|
||||
{
|
||||
|
@ -1557,7 +1557,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
internal static void t更新条件を取得する( out bool bDrumsを更新する, out bool bGuitarを更新する, out bool bBassを更新する )
|
||||
{
|
||||
bDrumsを更新する = !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
bDrumsを更新する = !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0];
|
||||
bGuitarを更新する = false;
|
||||
bBassを更新する = false;
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ namespace TJAPlayer3
|
||||
public ST譜面情報 譜面情報;
|
||||
|
||||
// Smaller version of ST譜面情報 to keep the main info for each player (High scores, clear status, score ranks
|
||||
public STGamePlayInformations[] GPInfo = new STGamePlayInformations[2];
|
||||
public STGamePlayInformations[] GPInfo = new STGamePlayInformations[5];
|
||||
|
||||
[Serializable]
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@ -335,7 +335,7 @@ namespace TJAPlayer3
|
||||
this.譜面情報.nクリア = new int[5];
|
||||
this.譜面情報.nスコアランク = new int[5];
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.GPInfo[i].nHighScore = new int[(int)Difficulty.Total];
|
||||
this.GPInfo[i].nClear = new int[5];
|
||||
|
@ -119,6 +119,7 @@ namespace TJAPlayer3
|
||||
Readme = TxC(@"Readme.png");
|
||||
NamePlate = new CTexture[2];
|
||||
NamePlateBase = TxC(@"NamePlate.png");
|
||||
NamePlate_Extension = TxC(@"NamePlate_Extension.png");
|
||||
NamePlate[0] = TxC(@"1P_NamePlate.png");
|
||||
NamePlate[1] = TxC(@"2P_NamePlate.png");
|
||||
NamePlate_Effect[0] = TxC(@"9_NamePlateEffect\GoldMStar.png");
|
||||
@ -202,7 +203,10 @@ namespace TJAPlayer3
|
||||
#region 3_選曲画面
|
||||
SongSelect_Background = TxC(SONGSELECT + @"Background.png");
|
||||
SongSelect_Header = TxC(SONGSELECT + @"Header.png");
|
||||
SongSelect_Coin_Slot = TxC(SONGSELECT + @"Coin_Slot.png");
|
||||
SongSelect_Coin_Slot[0] = TxC(SONGSELECT + @"Coin_Slot.png");
|
||||
SongSelect_Coin_Slot[1] = TxC(SONGSELECT + @"Coin_Slot_3P.png");
|
||||
SongSelect_Coin_Slot[2] = TxC(SONGSELECT + @"Coin_Slot_4P.png");
|
||||
SongSelect_Coin_Slot[3] = TxC(SONGSELECT + @"Coin_Slot_5P.png");
|
||||
|
||||
SongSelect_Auto = TxC(SONGSELECT + @"Auto.png");
|
||||
SongSelect_Level = TxC(SONGSELECT + @"Level.png");
|
||||
@ -298,6 +302,9 @@ namespace TJAPlayer3
|
||||
|
||||
Difficulty_Select_Bar[0] = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Select_Bar.png");
|
||||
Difficulty_Select_Bar[1] = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Select_Bar2.png");
|
||||
Difficulty_Select_Bar[2] = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Select_Bar3.png");
|
||||
Difficulty_Select_Bar[3] = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Select_Bar4.png");
|
||||
Difficulty_Select_Bar[4] = TxC(SONGSELECT + @"Difficulty_Select\Difficulty_Select_Bar5.png");
|
||||
|
||||
TJAPlayer3.Skin.SongSelect_Difficulty_Background_Count = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + SONGSELECT + @"Difficulty_Select\Difficulty_Back\"), "Difficulty_Back_");
|
||||
|
||||
@ -391,7 +398,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region Taiko
|
||||
|
||||
Taiko_Background = new CTexture[11];
|
||||
Taiko_Background = new CTexture[12];
|
||||
Taiko_Background[0] = TxC(GAME + TAIKO + @"1P_Background.png");
|
||||
Taiko_Background[1] = TxC(GAME + TAIKO + @"2P_Background.png");
|
||||
Taiko_Background[2] = TxC(GAME + TAIKO + @"Dan_Background.png");
|
||||
@ -403,18 +410,23 @@ namespace TJAPlayer3
|
||||
Taiko_Background[8] = TxC(GAME + TAIKO + @"4P_Background.png");
|
||||
Taiko_Background[9] = TxC(GAME + TAIKO + @"AI_Background.png");
|
||||
Taiko_Background[10] = TxC(GAME + TAIKO + @"Boss_Background.png");
|
||||
Taiko_Background[11] = TxC(GAME + TAIKO + @"5P_Background.png");
|
||||
|
||||
Taiko_Frame = new CTexture[6];
|
||||
Taiko_Frame = new CTexture[7];
|
||||
Taiko_Frame[0] = TxC(GAME + TAIKO + @"1P_Frame.png");
|
||||
Taiko_Frame[1] = TxC(GAME + TAIKO + @"2P_Frame.png");
|
||||
Taiko_Frame[2] = TxC(GAME + TAIKO + @"Tower_Frame.png");
|
||||
Taiko_Frame[3] = TxC(GAME + TAIKO + @"Tokkun_Frame.png");
|
||||
Taiko_Frame[4] = TxC(GAME + TAIKO + @"2P_None_Frame.png");
|
||||
Taiko_Frame[5] = TxC(GAME + TAIKO + @"AI_Frame.png");
|
||||
Taiko_Frame[6] = TxC(GAME + TAIKO + @"4PPlay_Frame.png");
|
||||
|
||||
Taiko_PlayerNumber = new CTexture[2];
|
||||
Taiko_PlayerNumber = new CTexture[5];
|
||||
Taiko_PlayerNumber[0] = TxC(GAME + TAIKO + @"1P_PlayerNumber.png");
|
||||
Taiko_PlayerNumber[1] = TxC(GAME + TAIKO + @"2P_PlayerNumber.png");
|
||||
Taiko_PlayerNumber[2] = TxC(GAME + TAIKO + @"3P_PlayerNumber.png");
|
||||
Taiko_PlayerNumber[3] = TxC(GAME + TAIKO + @"4P_PlayerNumber.png");
|
||||
Taiko_PlayerNumber[4] = TxC(GAME + TAIKO + @"5P_PlayerNumber.png");
|
||||
|
||||
|
||||
Taiko_Base = new CTexture[2];
|
||||
@ -439,10 +451,13 @@ namespace TJAPlayer3
|
||||
Couse_Symbol[i] = TxC(GAME + COURSESYMBOL + Couse_Symbols[i] + ".png");
|
||||
}
|
||||
|
||||
Taiko_Score = new CTexture[3];
|
||||
Taiko_Score = new CTexture[6];
|
||||
Taiko_Score[0] = TxC(GAME + TAIKO + @"Score.png");
|
||||
Taiko_Score[1] = TxC(GAME + TAIKO + @"Score_1P.png");
|
||||
Taiko_Score[2] = TxC(GAME + TAIKO + @"Score_2P.png");
|
||||
Taiko_Score[3] = TxC(GAME + TAIKO + @"Score_3P.png");
|
||||
Taiko_Score[4] = TxC(GAME + TAIKO + @"Score_4P.png");
|
||||
Taiko_Score[5] = TxC(GAME + TAIKO + @"Score_5P.png");
|
||||
Taiko_Combo = new CTexture[4];
|
||||
Taiko_Combo[0] = TxC(GAME + TAIKO + @"Combo.png");
|
||||
Taiko_Combo[1] = TxC(GAME + TAIKO + @"Combo_Big.png");
|
||||
@ -461,15 +476,25 @@ namespace TJAPlayer3
|
||||
|
||||
#region Gauge
|
||||
|
||||
Gauge = new CTexture[3];
|
||||
Gauge = new CTexture[8];
|
||||
Gauge[0] = TxC(GAME + GAUGE + @"1P.png");
|
||||
Gauge[1] = TxC(GAME + GAUGE + @"2P.png");
|
||||
Gauge[2] = TxC(GAME + GAUGE + @"1P_Right.png");
|
||||
Gauge[3] = TxC(GAME + GAUGE + @"1P_4PGauge.png");
|
||||
Gauge[4] = TxC(GAME + GAUGE + @"2P_4PGauge.png");
|
||||
Gauge[5] = TxC(GAME + GAUGE + @"3P_4PGauge.png");
|
||||
Gauge[6] = TxC(GAME + GAUGE + @"4P_4PGauge.png");
|
||||
Gauge[7] = TxC(GAME + GAUGE + @"5P_4PGauge.png");
|
||||
|
||||
Gauge_Base = new CTexture[3];
|
||||
Gauge_Base = new CTexture[8];
|
||||
Gauge_Base[0] = TxC(GAME + GAUGE + @"1P_Base.png");
|
||||
Gauge_Base[1] = TxC(GAME + GAUGE + @"2P_Base.png");
|
||||
Gauge_Base[2] = TxC(GAME + GAUGE + @"1P_Base_Right.png");
|
||||
Gauge_Base[3] = TxC(GAME + GAUGE + @"1P_Base_4PGauge.png");
|
||||
Gauge_Base[4] = TxC(GAME + GAUGE + @"2P_Base_4PGauge.png");
|
||||
Gauge_Base[5] = TxC(GAME + GAUGE + @"3P_Base_4PGauge.png");
|
||||
Gauge_Base[6] = TxC(GAME + GAUGE + @"4P_Base_4PGauge.png");
|
||||
Gauge_Base[7] = TxC(GAME + GAUGE + @"5P_Base_4PGauge.png");
|
||||
|
||||
Gauge_Line = new CTexture[2];
|
||||
Gauge_Line[0] = TxC(GAME + GAUGE + @"1P_Line.png");
|
||||
@ -891,6 +916,12 @@ namespace TJAPlayer3
|
||||
Result_Gauge_Base[0] = TxC(RESULT + @"Gauge_Base.png");
|
||||
Result_Gauge[1] = TxC(RESULT + @"Gauge_2.png");
|
||||
Result_Gauge_Base[1] = TxC(RESULT + @"Gauge_Base_2.png");
|
||||
Result_Gauge[2] = TxC(RESULT + @"Gauge_3.png");
|
||||
Result_Gauge_Base[2] = TxC(RESULT + @"Gauge_Base_3.png");
|
||||
Result_Gauge[3] = TxC(RESULT + @"Gauge_4.png");
|
||||
Result_Gauge_Base[3] = TxC(RESULT + @"Gauge_Base_4.png");
|
||||
Result_Gauge[4] = TxC(RESULT + @"Gauge_5.png");
|
||||
Result_Gauge_Base[4] = TxC(RESULT + @"Gauge_Base_5.png");
|
||||
|
||||
Result_Header = TxC(RESULT + @"Header.png");
|
||||
Result_Number = TxC(RESULT + @"Number.png");
|
||||
@ -912,6 +943,12 @@ namespace TJAPlayer3
|
||||
|
||||
Result_Flower = TxC(RESULT + @"Flower\Flower.png");
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
Result_Panel_4P[i] = TxC(RESULT + @"Panel_4P_" + (i + 1).ToString() + ".png");
|
||||
|
||||
for (int i = 0; i < 5; i++)
|
||||
Result_Panel_5P[i] = TxC(RESULT + @"Panel_5P_" + (i + 1).ToString() + ".png");
|
||||
|
||||
for (int i = 1; i <= 5; i++)
|
||||
Result_Flower_Rotate[i - 1] = TxC(RESULT + @"Flower\Rotate_" + i.ToString() + ".png");
|
||||
|
||||
@ -922,7 +959,7 @@ namespace TJAPlayer3
|
||||
for (int i = 0; i < 41; i++)
|
||||
Result_Rainbow[i] = TxC(RESULT + @"Rainbow\" + i.ToString() + ".png");
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int i = 0; i < 6; i++)
|
||||
Result_Background[i] = TxC(RESULT + @"Background_" + i.ToString() + ".png");
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -1061,12 +1098,16 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Menu_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_4P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_5P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_X_AI = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Y_AI = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Result_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Result_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_X = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_Y = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_4P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Balloon_5P = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||
TJAPlayer3.Skin.Characters_Motion_Normal = new string[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Motion_Miss = new string[TJAPlayer3.Skin.Characters_Ptn];
|
||||
TJAPlayer3.Skin.Characters_Motion_MissDown = new string[TJAPlayer3.Skin.Characters_Ptn];
|
||||
@ -1088,10 +1129,10 @@ namespace TJAPlayer3
|
||||
|
||||
#endregion
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
TJAPlayer3.NamePlateConfig.tReindexCharacter(i, TJAPlayer3.Skin.Characters_DirName);
|
||||
this.ReloadCharacter(-1, TJAPlayer3.NamePlateConfig.data.Character[i], i, i == 0);
|
||||
this.ReloadCharacter(-1, TJAPlayer3.NamePlateConfig.data.Character[i], i, true);
|
||||
}
|
||||
|
||||
|
||||
@ -1108,13 +1149,19 @@ namespace TJAPlayer3
|
||||
|
||||
Modal_Full = new CTexture[6];
|
||||
Modal_Half = new CTexture[6];
|
||||
Modal_Half_4P = new CTexture[6];
|
||||
Modal_Half_5P = new CTexture[6];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
Modal_Full[i] = TxC(MODALS + i.ToString() + @"_full.png");
|
||||
Modal_Half[i] = TxC(MODALS + i.ToString() + @"_half.png");
|
||||
Modal_Half_4P[i] = TxC(MODALS + i.ToString() + @"_half_4P.png");
|
||||
Modal_Half_5P[i] = TxC(MODALS + i.ToString() + @"_half_5P.png");
|
||||
}
|
||||
Modal_Full[Modal_Full.Length - 1] = TxC(MODALS + @"Coin_full.png");
|
||||
Modal_Half[Modal_Full.Length - 1] = TxC(MODALS + @"Coin_half.png");
|
||||
Modal_Half_4P[Modal_Full.Length - 1] = TxC(MODALS + @"Coin_half_4P.png");
|
||||
Modal_Half_5P[Modal_Full.Length - 1] = TxC(MODALS + @"Coin_half_5P.png");
|
||||
|
||||
#endregion
|
||||
|
||||
@ -1163,7 +1210,12 @@ namespace TJAPlayer3
|
||||
|
||||
int other = (player == 0) ? 1 : 0;
|
||||
|
||||
if (old >= 0 && TJAPlayer3.NamePlateConfig.data.Character[other] != old)
|
||||
if (old >= 0 &&
|
||||
(TJAPlayer3.NamePlateConfig.data.Character[0] != old || player == 0) &&
|
||||
(TJAPlayer3.NamePlateConfig.data.Character[1] != old || player == 1) &&
|
||||
(TJAPlayer3.NamePlateConfig.data.Character[2] != old || player == 2) &&
|
||||
(TJAPlayer3.NamePlateConfig.data.Character[3] != old || player == 3) &&
|
||||
(TJAPlayer3.NamePlateConfig.data.Character[4] != old || player == 4))
|
||||
{
|
||||
int i = old;
|
||||
|
||||
@ -1252,7 +1304,12 @@ namespace TJAPlayer3
|
||||
|
||||
string charaPath = TJAPlayer3.strEXEのあるフォルダ + GLOBAL + CHARACTERS + TJAPlayer3.Skin.Characters_DirName[newC];
|
||||
|
||||
if ((newC >= 0 && TJAPlayer3.NamePlateConfig.data.Character[other] != newC) || primary)
|
||||
if ((newC >= 0 &&
|
||||
TJAPlayer3.NamePlateConfig.data.Character[0] != newC &&
|
||||
TJAPlayer3.NamePlateConfig.data.Character[1] != newC &&
|
||||
TJAPlayer3.NamePlateConfig.data.Character[2] != newC &&
|
||||
TJAPlayer3.NamePlateConfig.data.Character[3] != newC &&
|
||||
TJAPlayer3.NamePlateConfig.data.Character[4] != newC) || primary)
|
||||
{
|
||||
int i = newC;
|
||||
|
||||
@ -1415,10 +1472,14 @@ namespace TJAPlayer3
|
||||
|
||||
TJAPlayer3.Skin.Characters_X[i] = new int[] { 0, 0 };
|
||||
TJAPlayer3.Skin.Characters_Y[i] = new int[] { 0, 537 };
|
||||
TJAPlayer3.Skin.Characters_4P[i] = new int[] { 165, 68 };
|
||||
TJAPlayer3.Skin.Characters_5P[i] = new int[] { 165, 40 };
|
||||
TJAPlayer3.Skin.Characters_X_AI[i] = new int[] { 472, 602 };
|
||||
TJAPlayer3.Skin.Characters_Y_AI[i] = new int[] { 152, 152 };
|
||||
TJAPlayer3.Skin.Characters_Balloon_X[i] = new int[] { 240, 240, 0, 0 };
|
||||
TJAPlayer3.Skin.Characters_Balloon_Y[i] = new int[] { 0, 297, 0, 0 };
|
||||
TJAPlayer3.Skin.Characters_Balloon_4P[i] = new int[] { 0, -176 };
|
||||
TJAPlayer3.Skin.Characters_Balloon_5P[i] = new int[] { 0, -168 };
|
||||
TJAPlayer3.Skin.Characters_Motion_Normal[i] = "0";
|
||||
TJAPlayer3.Skin.Characters_Motion_Miss[i] = "0";
|
||||
TJAPlayer3.Skin.Characters_Motion_MissDown[i] = "0";
|
||||
@ -1534,6 +1595,22 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_4P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_4P[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_5P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_5P[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_X_AI")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
@ -1566,6 +1643,22 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Balloon_Y[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_Balloon_4P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Balloon_4P[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_Balloon_5P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int k = 0; k < 2; k++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Balloon_5P[i][k] = int.Parse(strSplit[k]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Game_Chara_Balloon_Timer")
|
||||
{
|
||||
if (int.Parse(strParam) > 0)
|
||||
@ -1729,6 +1822,7 @@ namespace TJAPlayer3
|
||||
Loading,
|
||||
Scanning_Loudness,
|
||||
NamePlateBase,
|
||||
NamePlate_Extension,
|
||||
Overlay,
|
||||
Readme,
|
||||
Network_Connection;
|
||||
@ -1775,7 +1869,6 @@ namespace TJAPlayer3
|
||||
|
||||
public CTexture SongSelect_Background,
|
||||
SongSelect_Header,
|
||||
SongSelect_Coin_Slot,
|
||||
SongSelect_Auto,
|
||||
SongSelect_Level,
|
||||
SongSelect_Branch,
|
||||
@ -1815,6 +1908,7 @@ namespace TJAPlayer3
|
||||
SongSelect_Frame_Score = new CTexture[2],
|
||||
SongSelect_NamePlate = new CTexture[1],
|
||||
SongSelect_Song_Panel = new CTexture[4],
|
||||
SongSelect_Coin_Slot = new CTexture[4],
|
||||
SongSelect_Table = new CTexture[6];
|
||||
|
||||
#region [ 難易度選択画面 ]
|
||||
@ -1825,7 +1919,7 @@ namespace TJAPlayer3
|
||||
public CTexture Difficulty_Option;
|
||||
public CTexture Difficulty_Option_Select;
|
||||
|
||||
public CTexture[] Difficulty_Select_Bar = new CTexture[2];
|
||||
public CTexture[] Difficulty_Select_Bar = new CTexture[5];
|
||||
public CTexture[] Difficulty_Back;
|
||||
#endregion
|
||||
|
||||
@ -2095,15 +2189,17 @@ namespace TJAPlayer3
|
||||
Result_Dan;
|
||||
|
||||
public CTexture[]
|
||||
Result_Panel_5P = new CTexture[5],
|
||||
Result_Panel_4P = new CTexture[4],
|
||||
Result_Rainbow = new CTexture[41],
|
||||
Result_Background = new CTexture[3],
|
||||
Result_Background = new CTexture[6],
|
||||
Result_Crown = new CTexture[3],
|
||||
|
||||
Result_Flower_Rotate = new CTexture[5],
|
||||
Result_Work = new CTexture[3],
|
||||
|
||||
Result_Gauge = new CTexture[2],
|
||||
Result_Gauge_Base = new CTexture[2],
|
||||
Result_Gauge = new CTexture[5],
|
||||
Result_Gauge_Base = new CTexture[5],
|
||||
Result_Speech_Bubble = new CTexture[2],
|
||||
|
||||
Result_Mountain = new CTexture[4];
|
||||
@ -2193,7 +2289,9 @@ namespace TJAPlayer3
|
||||
#region [11_Modals]
|
||||
|
||||
public CTexture[] Modal_Full,
|
||||
Modal_Half;
|
||||
Modal_Half,
|
||||
Modal_Half_4P,
|
||||
Modal_Half_5P;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -352,7 +352,7 @@ namespace TJAPlayer3
|
||||
|
||||
if (CMainMenuTab.__Menus[usedMenus[this.n現在の選択行モード選択]].rp == E戻り値.DANGAMESTART)
|
||||
{
|
||||
if (TJAPlayer3.Songs管理.list曲ルート_Dan.Count > 0 && TJAPlayer3.ConfigIni.nPlayerCount != 2)
|
||||
if (TJAPlayer3.Songs管理.list曲ルート_Dan.Count > 0 && TJAPlayer3.ConfigIni.nPlayerCount == 1)
|
||||
operationSucceded = true;
|
||||
}
|
||||
else if (CMainMenuTab.__Menus[usedMenus[this.n現在の選択行モード選択]].implemented == true
|
||||
@ -687,6 +687,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int player = 0; player < TJAPlayer3.ConfigIni.nPlayerCount; player++)
|
||||
{
|
||||
if (player >= 2) continue;
|
||||
|
||||
float DonchanX = 0f, DonchanY = 0f;
|
||||
|
||||
DonchanX = -200 + ((float)Math.Sin(ctどんちゃんイン.n現在の値 / 2 * (Math.PI / 180)) * 200f);
|
||||
@ -895,6 +897,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int player = 0; player < TJAPlayer3.ConfigIni.nPlayerCount; player++)
|
||||
{
|
||||
if (player >= 2) continue;
|
||||
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(TJAPlayer3.Skin.SongSelect_NamePlate_X[player], TJAPlayer3.Skin.SongSelect_NamePlate_Y[player], player, false, 255);
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ namespace TJAPlayer3
|
||||
CLangManager.LangInstance.GetString(17));
|
||||
this.list項目リスト.Add(this.iLayoutType);
|
||||
|
||||
this.iTaikoPlayerCount = new CItemInteger(CLangManager.LangInstance.GetString(6), 1, 2, TJAPlayer3.ConfigIni.nPlayerCount,
|
||||
this.iTaikoPlayerCount = new CItemInteger(CLangManager.LangInstance.GetString(6), 1, 5, TJAPlayer3.ConfigIni.nPlayerCount,
|
||||
CLangManager.LangInstance.GetString(7));
|
||||
this.list項目リスト.Add( this.iTaikoPlayerCount );
|
||||
|
||||
@ -491,9 +491,63 @@ namespace TJAPlayer3
|
||||
else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignTaikoRBlue2P )
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RBlue2P );
|
||||
}
|
||||
|
||||
//太鼓のキー設定。3P
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed3P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LRed3P);
|
||||
}
|
||||
|
||||
// Konga claps
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed3P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RRed3P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLBlue3P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LBlue3P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue3P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RBlue3P);
|
||||
}
|
||||
|
||||
//太鼓のキー設定。4P
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed4P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LRed4P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed4P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RRed4P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLBlue4P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LBlue4P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue4P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RBlue4P);
|
||||
}
|
||||
|
||||
//太鼓のキー設定。5P
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLRed5P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LRed5P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRRed5P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RRed5P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoLBlue5P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.LBlue5P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignTaikoRBlue5P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.RBlue5P);
|
||||
}
|
||||
|
||||
// Konga claps
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.Clap);
|
||||
@ -501,6 +555,18 @@ namespace TJAPlayer3
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap2P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.Clap2P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap3P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.Clap3P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap4P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.Clap4P);
|
||||
}
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignKongaClap5P)
|
||||
{
|
||||
TJAPlayer3.stageコンフィグ.tパッド選択通知(EKeyConfigPart.DRUMS, EKeyConfigPad.Clap5P);
|
||||
}
|
||||
|
||||
else if (this.list項目リスト[this.n現在の選択項目] == this.iKeyAssignDecide)
|
||||
@ -696,6 +762,45 @@ namespace TJAPlayer3
|
||||
CLangManager.LangInstance.GetString(10014));
|
||||
this.list項目リスト.Add( this.iKeyAssignTaikoRBlue2P );
|
||||
|
||||
this.iKeyAssignTaikoLRed3P = new CItemBase(CLangManager.LangInstance.GetString(10094),
|
||||
CLangManager.LangInstance.GetString(10095));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLRed3P);
|
||||
this.iKeyAssignTaikoRRed3P = new CItemBase(CLangManager.LangInstance.GetString(10096),
|
||||
CLangManager.LangInstance.GetString(10097));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRRed3P);
|
||||
this.iKeyAssignTaikoLBlue3P = new CItemBase(CLangManager.LangInstance.GetString(10098),
|
||||
CLangManager.LangInstance.GetString(10099));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLBlue3P);
|
||||
this.iKeyAssignTaikoRBlue3P = new CItemBase(CLangManager.LangInstance.GetString(10100),
|
||||
CLangManager.LangInstance.GetString(10101));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRBlue3P);
|
||||
|
||||
this.iKeyAssignTaikoLRed4P = new CItemBase(CLangManager.LangInstance.GetString(10102),
|
||||
CLangManager.LangInstance.GetString(10103));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLRed4P);
|
||||
this.iKeyAssignTaikoRRed4P = new CItemBase(CLangManager.LangInstance.GetString(10104),
|
||||
CLangManager.LangInstance.GetString(10105));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRRed4P);
|
||||
this.iKeyAssignTaikoLBlue4P = new CItemBase(CLangManager.LangInstance.GetString(10106),
|
||||
CLangManager.LangInstance.GetString(10107));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLBlue4P);
|
||||
this.iKeyAssignTaikoRBlue4P = new CItemBase(CLangManager.LangInstance.GetString(10108),
|
||||
CLangManager.LangInstance.GetString(10109));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRBlue4P);
|
||||
|
||||
this.iKeyAssignTaikoLRed5P = new CItemBase(CLangManager.LangInstance.GetString(10110),
|
||||
CLangManager.LangInstance.GetString(10111));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLRed5P);
|
||||
this.iKeyAssignTaikoRRed5P = new CItemBase(CLangManager.LangInstance.GetString(10112),
|
||||
CLangManager.LangInstance.GetString(10113));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRRed5P);
|
||||
this.iKeyAssignTaikoLBlue5P = new CItemBase(CLangManager.LangInstance.GetString(10114),
|
||||
CLangManager.LangInstance.GetString(10115));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoLBlue5P);
|
||||
this.iKeyAssignTaikoRBlue5P = new CItemBase(CLangManager.LangInstance.GetString(10116),
|
||||
CLangManager.LangInstance.GetString(10117));
|
||||
this.list項目リスト.Add(this.iKeyAssignTaikoRBlue5P);
|
||||
|
||||
this.iKeyAssignKongaClap = new CItemBase(CLangManager.LangInstance.GetString(10060),
|
||||
CLangManager.LangInstance.GetString(10061));
|
||||
this.list項目リスト.Add(this.iKeyAssignKongaClap);
|
||||
@ -704,6 +809,18 @@ namespace TJAPlayer3
|
||||
CLangManager.LangInstance.GetString(10063));
|
||||
this.list項目リスト.Add(this.iKeyAssignKongaClap2P);
|
||||
|
||||
this.iKeyAssignKongaClap3P = new CItemBase(CLangManager.LangInstance.GetString(10118),
|
||||
CLangManager.LangInstance.GetString(10119));
|
||||
this.list項目リスト.Add(this.iKeyAssignKongaClap3P);
|
||||
|
||||
this.iKeyAssignKongaClap4P = new CItemBase(CLangManager.LangInstance.GetString(10120),
|
||||
CLangManager.LangInstance.GetString(10121));
|
||||
this.list項目リスト.Add(this.iKeyAssignKongaClap4P);
|
||||
|
||||
this.iKeyAssignKongaClap5P = new CItemBase(CLangManager.LangInstance.GetString(10122),
|
||||
CLangManager.LangInstance.GetString(10123));
|
||||
this.list項目リスト.Add(this.iKeyAssignKongaClap5P);
|
||||
|
||||
this.iKeyAssignDecide = new CItemBase(CLangManager.LangInstance.GetString(10064),
|
||||
CLangManager.LangInstance.GetString(10065));
|
||||
this.list項目リスト.Add(this.iKeyAssignDecide);
|
||||
@ -1293,13 +1410,32 @@ namespace TJAPlayer3
|
||||
private CItemBase iKeyAssignTaikoRRed;
|
||||
private CItemBase iKeyAssignTaikoLBlue;
|
||||
private CItemBase iKeyAssignTaikoRBlue;
|
||||
|
||||
private CItemBase iKeyAssignTaikoLRed2P;
|
||||
private CItemBase iKeyAssignTaikoRRed2P;
|
||||
private CItemBase iKeyAssignTaikoLBlue2P;
|
||||
private CItemBase iKeyAssignTaikoRBlue2P;
|
||||
|
||||
private CItemBase iKeyAssignTaikoLRed3P;
|
||||
private CItemBase iKeyAssignTaikoRRed3P;
|
||||
private CItemBase iKeyAssignTaikoLBlue3P;
|
||||
private CItemBase iKeyAssignTaikoRBlue3P;
|
||||
|
||||
private CItemBase iKeyAssignTaikoLRed4P;
|
||||
private CItemBase iKeyAssignTaikoRRed4P;
|
||||
private CItemBase iKeyAssignTaikoLBlue4P;
|
||||
private CItemBase iKeyAssignTaikoRBlue4P;
|
||||
|
||||
private CItemBase iKeyAssignTaikoLRed5P;
|
||||
private CItemBase iKeyAssignTaikoRRed5P;
|
||||
private CItemBase iKeyAssignTaikoLBlue5P;
|
||||
private CItemBase iKeyAssignTaikoRBlue5P;
|
||||
|
||||
private CItemBase iKeyAssignKongaClap;
|
||||
private CItemBase iKeyAssignKongaClap2P;
|
||||
private CItemBase iKeyAssignKongaClap3P;
|
||||
private CItemBase iKeyAssignKongaClap4P;
|
||||
private CItemBase iKeyAssignKongaClap5P;
|
||||
|
||||
private CItemBase iKeyAssignDecide;
|
||||
private CItemBase iKeyAssignCancel;
|
||||
|
@ -200,7 +200,8 @@ namespace TJAPlayer3
|
||||
txFunMods[nFunMods],
|
||||
};
|
||||
|
||||
var _shift = player == 1 ? (TJAPlayer3.Tx.Difficulty_Option.szテクスチャサイズ.Width / 2) : 0;
|
||||
var pos = player % 2;
|
||||
var _shift = pos == 1 ? (TJAPlayer3.Tx.Difficulty_Option.szテクスチャサイズ.Width / 2) : 0;
|
||||
var _rect = new Rectangle(_shift, 0, TJAPlayer3.Tx.Difficulty_Option.szテクスチャサイズ.Width / 2, TJAPlayer3.Tx.Difficulty_Option.szテクスチャサイズ.Height);
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Option.t2D描画(TJAPlayer3.app.Device, _shift, y, _rect);
|
||||
@ -209,17 +210,17 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < OptionType.Length; i++)
|
||||
{
|
||||
OptionType[i].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Option_OptionType_X[player] + i * TJAPlayer3.Skin.SongSelect_Option_Interval[0],
|
||||
TJAPlayer3.Skin.SongSelect_Option_OptionType_Y[player] + y + i * TJAPlayer3.Skin.SongSelect_Option_Interval[1]);
|
||||
OptionType[i].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Option_OptionType_X[pos] + i * TJAPlayer3.Skin.SongSelect_Option_Interval[0],
|
||||
TJAPlayer3.Skin.SongSelect_Option_OptionType_Y[pos] + y + i * TJAPlayer3.Skin.SongSelect_Option_Interval[1]);
|
||||
}
|
||||
|
||||
txModMults[0]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_ModMults1_X[player], TJAPlayer3.Skin.SongSelect_Option_ModMults1_Y[player] + y);
|
||||
txModMults[1]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_ModMults2_X[player], TJAPlayer3.Skin.SongSelect_Option_ModMults2_Y[player] + y);
|
||||
txModMults[0]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_ModMults1_X[pos], TJAPlayer3.Skin.SongSelect_Option_ModMults1_Y[pos] + y);
|
||||
txModMults[1]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_ModMults2_X[pos], TJAPlayer3.Skin.SongSelect_Option_ModMults2_Y[pos] + y);
|
||||
|
||||
for (int i = 0; i < _textures.Length; i++)
|
||||
{
|
||||
_textures[i]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_Value_X[player] + i * TJAPlayer3.Skin.SongSelect_Option_Interval[0],
|
||||
TJAPlayer3.Skin.SongSelect_Option_Value_Y[player] + y + i * TJAPlayer3.Skin.SongSelect_Option_Interval[1]);
|
||||
_textures[i]?.t2D拡大率考慮描画(TJAPlayer3.app.Device, CTexture.RefPnt.Up, TJAPlayer3.Skin.SongSelect_Option_Value_X[pos] + i * TJAPlayer3.Skin.SongSelect_Option_Interval[0],
|
||||
TJAPlayer3.Skin.SongSelect_Option_Value_Y[pos] + y + i * TJAPlayer3.Skin.SongSelect_Option_Interval[1]);
|
||||
}
|
||||
|
||||
if (ctClose.n現在の値 >= 50)
|
||||
@ -239,17 +240,44 @@ namespace TJAPlayer3
|
||||
|
||||
if (!ctClose.b進行中)
|
||||
{
|
||||
bool _leftDrum = (player == 0)
|
||||
? TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange)
|
||||
: TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue2P);
|
||||
bool _leftDrum = false;
|
||||
|
||||
bool _rightDrum = (player == 0)
|
||||
? TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange)
|
||||
: TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue2P);
|
||||
bool _rightDrum = false;
|
||||
|
||||
bool _centerDrum = (player == 0)
|
||||
? (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.Decide))
|
||||
: (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed2P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed2P));
|
||||
bool _centerDrum = false;
|
||||
|
||||
bool _cancel = false;
|
||||
|
||||
switch (player)
|
||||
{
|
||||
case 0:
|
||||
_rightDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.RightArrow));
|
||||
_leftDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.LeftArrow));
|
||||
_centerDrum = (TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) ||
|
||||
(TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Return)));
|
||||
_cancel = (TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Escape));
|
||||
break;
|
||||
case 1:
|
||||
_rightDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue2P));
|
||||
_leftDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue2P));
|
||||
_centerDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed2P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed2P));
|
||||
break;
|
||||
case 2:
|
||||
_rightDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue3P));
|
||||
_leftDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue3P));
|
||||
_centerDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed3P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed3P));
|
||||
break;
|
||||
case 3:
|
||||
_rightDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue4P));
|
||||
_leftDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue4P));
|
||||
_centerDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed4P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed4P));
|
||||
break;
|
||||
case 4:
|
||||
_rightDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue5P));
|
||||
_leftDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue5P));
|
||||
_centerDrum = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed5P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed5P));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (_leftDrum || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.LeftArrow))
|
||||
@ -521,9 +549,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ AutoMode ]
|
||||
|
||||
bool _auto = (player == 0)
|
||||
? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay
|
||||
: TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P;
|
||||
bool _auto = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player];
|
||||
|
||||
if (_auto == true)
|
||||
nAutoMode = 1;
|
||||
@ -656,18 +682,12 @@ namespace TJAPlayer3
|
||||
#region [ AutoMode ]
|
||||
|
||||
if (nAutoMode == 1)
|
||||
{
|
||||
if (player == 0)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = true;
|
||||
else
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = true;
|
||||
{
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (player == 0)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = false;
|
||||
else
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = false;
|
||||
{
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player] = false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -95,7 +95,7 @@ namespace TJAPlayer3
|
||||
|
||||
#endregion
|
||||
#region [ 共通 SET切り替え/More/Return ]
|
||||
l.Add(new CItemInteger("PlayerCount", 1, 2, TJAPlayer3.ConfigIni.nPlayerCount, "プレイヤーの人数を指定します。" ,"Set a player count."));
|
||||
l.Add(new CItemInteger("PlayerCount", 1, 5, TJAPlayer3.ConfigIni.nPlayerCount, "プレイヤーの人数を指定します。" ,"Set a player count."));
|
||||
l.Add( new CSwitchItemList( "More...", CItemBase.Eパネル種別.通常, 0, "", "", new string[] { "" } ) );
|
||||
l.Add( new CSwitchItemList( "戻る", CItemBase.Eパネル種別.通常, 0, "", "", new string[] { "", "" } ) );
|
||||
#endregion
|
||||
|
@ -1569,6 +1569,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
int ap = TJAPlayer3.GetActualPlayer(i);
|
||||
|
||||
int[] clear = this.r現在選択中の曲.arスコア[(int)Difficulty.Dan].GPInfo[ap].nClear;
|
||||
@ -1588,6 +1590,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
int ap = TJAPlayer3.GetActualPlayer(i);
|
||||
|
||||
int[] clear = this.r現在選択中の曲.arスコア[(int)Difficulty.Tower].GPInfo[ap].nClear;
|
||||
@ -1606,6 +1610,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
int ap = TJAPlayer3.GetActualPlayer(i);
|
||||
|
||||
int[] クリア = sr.GPInfo[ap].nClear;
|
||||
@ -2690,6 +2696,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
displayDanStatus(x + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_X[i], y + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_Y[i], Math.Min(クリア[i][0], 6) - 1, 0.2f);
|
||||
}
|
||||
}
|
||||
@ -2699,6 +2707,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
displayTowerStatus(x + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_X[i], y + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_Y[i], Math.Min(クリア[i][0], 7) - 1, 0.3f);
|
||||
}
|
||||
}
|
||||
@ -2708,6 +2718,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
displayRegularCrowns(x + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_X[i], y + TJAPlayer3.Skin.SongSelect_DanStatus_Offset_Y[i], クリア[i], スコアランク[i], 0.8f);
|
||||
}
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else if (nスイッチカウント == 0)
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if(!bSelect[i])
|
||||
{
|
||||
@ -121,9 +121,12 @@ namespace TJAPlayer3
|
||||
this.txTitle = TJAPlayer3.tテクスチャの生成(pfTitle.DrawPrivateFont(TJAPlayer3.stage選曲.r現在選択中の曲.strタイトル, Color.White, Color.Black ));
|
||||
this.txSubTitle = TJAPlayer3.tテクスチャの生成(pfSubTitle.DrawPrivateFont(TJAPlayer3.stage選曲.r現在選択中の曲.strサブタイトル, Color.White, Color.Black));
|
||||
|
||||
this.n現在の選択行 = new int[2];
|
||||
this.n現在の選択行 = new int[5];
|
||||
this.bSelect[0] = false;
|
||||
this.bSelect[1] = false;
|
||||
this.bSelect[2] = false;
|
||||
this.bSelect[3] = false;
|
||||
this.bSelect[4] = false;
|
||||
|
||||
this.b裏譜面 = (TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Edit] >= 0 && TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Oni] < 0);
|
||||
|
||||
@ -136,9 +139,12 @@ namespace TJAPlayer3
|
||||
{
|
||||
if( this.b活性化してる )
|
||||
return;
|
||||
ctBarAnime = new CCounter[2];
|
||||
ctBarAnime = new CCounter[5];
|
||||
ctBarAnime[0] = new CCounter();
|
||||
ctBarAnime[1] = new CCounter();
|
||||
ctBarAnime[2] = new CCounter();
|
||||
ctBarAnime[3] = new CCounter();
|
||||
ctBarAnime[4] = new CCounter();
|
||||
|
||||
base.On活性化();
|
||||
}
|
||||
@ -187,9 +193,11 @@ namespace TJAPlayer3
|
||||
//-----------------
|
||||
#endregion
|
||||
|
||||
ctBarAnimeIn.t進行();
|
||||
ctBarAnime[0].t進行();
|
||||
ctBarAnime[1].t進行();
|
||||
ctBarAnimeIn.t進行();
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
ctBarAnime[i].t進行();
|
||||
}
|
||||
|
||||
bool uraExists = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Edit] >= 0;
|
||||
bool omoteExists = TJAPlayer3.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)Difficulty.Oni] >= 0;
|
||||
@ -202,19 +210,42 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (!bSelect[i] && !isOnOption())
|
||||
{
|
||||
bool right = i == 0 ?
|
||||
(TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.RightArrow)) :
|
||||
(TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue2P));
|
||||
bool right = false;
|
||||
bool left = false;
|
||||
bool decide = false;
|
||||
|
||||
bool left = i == 0 ?
|
||||
(TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.LeftArrow)) :
|
||||
(TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue2P));
|
||||
bool cancel = false;
|
||||
|
||||
bool decide = i == 0 ?
|
||||
(TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) || (TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Return))) :
|
||||
(TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed2P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed2P));
|
||||
|
||||
bool cancel = i == 0 ? (TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Escape)) : false;
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
right = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.RightArrow));
|
||||
left = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.LeftArrow));
|
||||
decide = (TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) ||
|
||||
(TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Return)));
|
||||
cancel = (TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.Escape));
|
||||
break;
|
||||
case 1:
|
||||
right = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue2P));
|
||||
left = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue2P));
|
||||
decide = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed2P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed2P));
|
||||
break;
|
||||
case 2:
|
||||
right = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue3P));
|
||||
left = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue3P));
|
||||
decide = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed3P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed3P));
|
||||
break;
|
||||
case 3:
|
||||
right = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue4P));
|
||||
left = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue4P));
|
||||
decide = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed4P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed4P));
|
||||
break;
|
||||
case 4:
|
||||
right = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue5P));
|
||||
left = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue5P));
|
||||
decide = (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LRed5P) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RRed5P));
|
||||
break;
|
||||
}
|
||||
|
||||
if (right)
|
||||
{
|
||||
@ -248,7 +279,6 @@ namespace TJAPlayer3
|
||||
|
||||
this.bSelect[i] = true;
|
||||
TJAPlayer3.Skin.sound決定音.t再生する();
|
||||
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.SaveFile]?.t再生する();
|
||||
|
||||
bool allPlayerSelected = true;
|
||||
|
||||
@ -267,6 +297,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
for (int i2 = 0; i2 < TJAPlayer3.ConfigIni.nPlayerCount; i2++)
|
||||
{
|
||||
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.SaveFile]?.t再生する();
|
||||
CMenuCharacter.tMenuResetTimer(i2, CMenuCharacter.ECharacterAnimation.START);
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
@ -380,6 +411,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.ConfigIni.nPlayerCount; j++)
|
||||
{
|
||||
if (j >= 2) continue;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break;
|
||||
|
||||
int p = TJAPlayer3.GetActualPlayer(j);
|
||||
@ -447,16 +480,45 @@ namespace TJAPlayer3
|
||||
new RectangleF(0, 0, 259, 114));
|
||||
*/
|
||||
|
||||
bool overlap = n現在の選択行[0] == n現在の選択行[1] && consideMultiPlay;
|
||||
//bool overlap = n現在の選択行[0] == n現在の選択行[1] && consideMultiPlay;
|
||||
|
||||
float moveX = overlap ? (i == 0 ? -TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[0] : TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[0]) : 0;
|
||||
moveX += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[0]) -
|
||||
int overlapCount = 0;
|
||||
int nowOverlapIndex = 0;
|
||||
|
||||
for (int j = 0; j < TJAPlayer3.ConfigIni.nPlayerCount; j++)
|
||||
{
|
||||
if (n現在の選択行[i] == n現在の選択行[j] && j != i) overlapCount++;
|
||||
if (j == i)
|
||||
{
|
||||
nowOverlapIndex = overlapCount;
|
||||
}
|
||||
}
|
||||
|
||||
/*float moveX = overlap ? (i == 0 ? -TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[0] : TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[0]) : 0;
|
||||
moveX += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[0]) -
|
||||
(((float)Math.Cos((float)ctBarAnimeIn.n現在の値 * (Math.PI / 170)) + 1.0f) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_AnimeIn[0]));
|
||||
|
||||
float moveY = overlap ? (i == 0 ? -TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[1] : TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[1]) : 0;
|
||||
moveY += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[1]) -
|
||||
moveY += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[1]) -
|
||||
(((float)Math.Cos((float)ctBarAnimeIn.n現在の値 * (Math.PI / 170)) + 1.0f) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[1]));
|
||||
*/
|
||||
|
||||
float moveX = TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[0] * (nowOverlapIndex - (overlapCount / 2.0f)) * (2.0f / Math.Max(overlapCount, 1));
|
||||
float moveY = TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Move[1] * (nowOverlapIndex - (overlapCount / 2.0f)) * (2.0f / Math.Max(overlapCount, 1));
|
||||
|
||||
if (!consideMultiPlay)
|
||||
{
|
||||
moveX = 0;
|
||||
moveY = 0;
|
||||
}
|
||||
|
||||
moveX += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[0]) -
|
||||
(((float)Math.Cos((float)ctBarAnimeIn.n現在の値 * (Math.PI / 170)) + 1.0f) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_AnimeIn[0]));
|
||||
moveY += (((float)Math.Sin((float)ctBarAnime[i].n現在の値 * (Math.PI / 180)) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[1]) -
|
||||
(((float)Math.Cos((float)ctBarAnimeIn.n現在の値 * (Math.PI / 170)) + 1.0f) * TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Anime[1]));
|
||||
|
||||
|
||||
|
||||
TJAPlayer3.Tx.Difficulty_Select_Bar[i].t2D描画(TJAPlayer3.app.Device,
|
||||
TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_X[n現在の選択行[i]] + moveX,
|
||||
TJAPlayer3.Skin.SongSelect_Difficulty_Select_Bar_Y[n現在の選択行[i]] + moveY,
|
||||
@ -476,8 +538,8 @@ namespace TJAPlayer3
|
||||
#region [ private ]
|
||||
//-----------------
|
||||
|
||||
public bool[] bSelect = new bool[2];
|
||||
public bool[] bOption = new bool[2];
|
||||
public bool[] bSelect = new bool[5];
|
||||
public bool[] bOption = new bool[5];
|
||||
|
||||
private CPrivateFastFont pfTitle;
|
||||
private CPrivateFastFont pfSubTitle;
|
||||
@ -523,7 +585,7 @@ namespace TJAPlayer3
|
||||
|
||||
private bool isOnOption()
|
||||
{
|
||||
return bOption[1] || bOption[0];
|
||||
return bOption[0] || bOption[1] || bOption[2] || bOption[3] || bOption[4];
|
||||
}
|
||||
|
||||
public int nStrジャンルtoNum(string strジャンル)
|
||||
|
@ -107,7 +107,7 @@ namespace TJAPlayer3
|
||||
return this.act曲リスト.bスクロール中;
|
||||
}
|
||||
}
|
||||
public int[] n確定された曲の難易度 = new int[2];
|
||||
public int[] n確定された曲の難易度 = new int[5];
|
||||
|
||||
public string str確定された曲のジャンル
|
||||
{
|
||||
@ -240,7 +240,7 @@ namespace TJAPlayer3
|
||||
Trace.Indent();
|
||||
try
|
||||
{
|
||||
n確定された曲の難易度 = new int[2];
|
||||
n確定された曲の難易度 = new int[5];
|
||||
this.eフェードアウト完了時の戻り値 = E戻り値.継続;
|
||||
|
||||
// BGM played
|
||||
@ -460,7 +460,9 @@ namespace TJAPlayer3
|
||||
*/
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
{
|
||||
if (i >= 2) continue;
|
||||
|
||||
ModIcons.tDisplayModsMenu(TJAPlayer3.Skin.SongSelect_ModIcons_X[i], TJAPlayer3.Skin.SongSelect_ModIcons_Y[i], i);
|
||||
}
|
||||
|
||||
@ -507,7 +509,7 @@ namespace TJAPlayer3
|
||||
//if (this.ctDonchan_Select.b終了値に達してない)
|
||||
|
||||
for (int player = 0; player < TJAPlayer3.ConfigIni.nPlayerCount; player++)
|
||||
{
|
||||
{
|
||||
CCounter ___cc = CMenuCharacter._getReferenceCounter(CMenuCharacter.ECharacterAnimation.SELECT)[player];
|
||||
|
||||
int _charaId = TJAPlayer3.NamePlateConfig.data.Character[TJAPlayer3.GetActualPlayer(player)];
|
||||
@ -521,8 +523,8 @@ namespace TJAPlayer3
|
||||
//int puchi_x = player == 0 ? 0 + 100 : 981 + 250;
|
||||
//int puchi_y = player == 0 ? 330 + 230 : 330 + 230;
|
||||
|
||||
int puchi_x = chara_x + TJAPlayer3.Skin.Adjustments_MenuPuchichara_X[player];
|
||||
int puchi_y = chara_y + TJAPlayer3.Skin.Adjustments_MenuPuchichara_Y[player];
|
||||
int puchi_x = chara_x + TJAPlayer3.Skin.Adjustments_MenuPuchichara_X[player % 2];
|
||||
int puchi_y = chara_y + TJAPlayer3.Skin.Adjustments_MenuPuchichara_Y[player % 2];
|
||||
|
||||
if (___cc != null && ___cc.b終了値に達してない)
|
||||
{
|
||||
@ -564,7 +566,10 @@ namespace TJAPlayer3
|
||||
|
||||
int defaultTable = Math.Max(0, Math.Min((int)Difficulty.Edit + 1, TJAPlayer3.ConfigIni.nDefaultCourse));
|
||||
|
||||
int[] currentPads = new int[2] {
|
||||
int[] currentPads = new int[5] {
|
||||
defaultTable,
|
||||
defaultTable,
|
||||
defaultTable,
|
||||
defaultTable,
|
||||
defaultTable };
|
||||
|
||||
@ -575,12 +580,18 @@ namespace TJAPlayer3
|
||||
currentPads[0] = TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[0] - 2;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[1] >= 2)
|
||||
currentPads[1] = TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[1] - 2;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[2] >= 2)
|
||||
currentPads[2] = TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[2] - 2;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[3] >= 2)
|
||||
currentPads[3] = TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[3] - 2;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[4] >= 2)
|
||||
currentPads[4] = TJAPlayer3.stage選曲.act難易度選択画面.n現在の選択行[4] - 2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break;
|
||||
|
||||
int p = TJAPlayer3.GetActualPlayer(i);
|
||||
@ -599,8 +610,15 @@ namespace TJAPlayer3
|
||||
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.SongSelect_Coin_Slot?.t2D描画(TJAPlayer3.app.Device, 0, 0,
|
||||
new Rectangle(0, 0, (TJAPlayer3.Tx.SongSelect_Coin_Slot.sz画像サイズ.Width / 2) + ((TJAPlayer3.ConfigIni.nPlayerCount > 1 && !TJAPlayer3.ConfigIni.bAIBattleMode) ? (TJAPlayer3.Tx.SongSelect_Coin_Slot.sz画像サイズ.Width / 2) : 0), TJAPlayer3.Tx.SongSelect_Coin_Slot.sz画像サイズ.Height));
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.SongSelect_Coin_Slot[0]?.t2D描画(TJAPlayer3.app.Device, 0, 0,
|
||||
new Rectangle(0, 0, (TJAPlayer3.Tx.SongSelect_Coin_Slot[0].sz画像サイズ.Width / 2) + ((TJAPlayer3.ConfigIni.nPlayerCount > 1 && !TJAPlayer3.ConfigIni.bAIBattleMode) ? (TJAPlayer3.Tx.SongSelect_Coin_Slot[0].sz画像サイズ.Width / 2) : 0), TJAPlayer3.Tx.SongSelect_Coin_Slot[0].sz画像サイズ.Height));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.SongSelect_Coin_Slot[TJAPlayer3.ConfigIni.nPlayerCount - 2]?.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
@ -773,7 +791,7 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.F3))
|
||||
{
|
||||
TJAPlayer3.Skin.sound変更音.t再生する();
|
||||
C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay);
|
||||
C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0]);
|
||||
}
|
||||
#endregion
|
||||
#region [ F4 2PオートON/OFF ]
|
||||
@ -782,7 +800,7 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
|
||||
{
|
||||
TJAPlayer3.Skin.sound変更音.t再生する();
|
||||
C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P);
|
||||
C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -1099,7 +1117,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.SongSelect_Credit.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
CCounter ___cs = CMenuCharacter._getReferenceCounter(CMenuCharacter.ECharacterAnimation.START)[i];
|
||||
|
||||
@ -1119,6 +1137,9 @@ namespace TJAPlayer3
|
||||
|
||||
if (act難易度選択画面.bOption[0]) actPlayOption.On進行描画(0);
|
||||
if (act難易度選択画面.bOption[1]) actPlayOption.On進行描画(1);
|
||||
if (act難易度選択画面.bOption[2]) actPlayOption.On進行描画(2);
|
||||
if (act難易度選択画面.bOption[3]) actPlayOption.On進行描画(3);
|
||||
if (act難易度選択画面.bOption[4]) actPlayOption.On進行描画(4);
|
||||
|
||||
switch (base.eフェーズID)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ namespace TJAPlayer3
|
||||
// player and the special song title and subtitle
|
||||
// of the .tja used to perform input calibration
|
||||
TJAPlayer3.IsPerformingCalibration =
|
||||
!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay &&
|
||||
!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] &&
|
||||
TJAPlayer3.ConfigIni.nPlayerCount == 1 &&
|
||||
str曲タイトル == "Input Calibration" &&
|
||||
strサブタイトル == "TJAPlayer3 Developers";
|
||||
@ -423,13 +423,19 @@ namespace TJAPlayer3
|
||||
//if( CDTXMania.DTX == null )
|
||||
{
|
||||
TJAPlayer3.DTX = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 0, true, TJAPlayer3.stage選曲.n確定された曲の難易度[0]);
|
||||
if ( TJAPlayer3.ConfigIni.nPlayerCount == 2 )
|
||||
if ( TJAPlayer3.ConfigIni.nPlayerCount >= 2 )
|
||||
TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true, TJAPlayer3.stage選曲.n確定された曲の難易度[1]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 3)
|
||||
TJAPlayer3.DTX_3P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 2, true, TJAPlayer3.stage選曲.n確定された曲の難易度[2]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 4)
|
||||
TJAPlayer3.DTX_4P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 3, true, TJAPlayer3.stage選曲.n確定された曲の難易度[3]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 5)
|
||||
TJAPlayer3.DTX_5P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 4, true, TJAPlayer3.stage選曲.n確定された曲の難易度[4]);
|
||||
if ( File.Exists( TJAPlayer3.DTX.strフォルダ名 + @"\\set.def" ) )
|
||||
{
|
||||
TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true, TJAPlayer3.stage選曲.n確定された曲の難易度[0]);
|
||||
if ( TJAPlayer3.ConfigIni.nPlayerCount == 2 )
|
||||
TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true, TJAPlayer3.stage選曲.n確定された曲の難易度[1]);
|
||||
//TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true, TJAPlayer3.stage選曲.n確定された曲の難易度[0]);
|
||||
//if ( TJAPlayer3.ConfigIni.nPlayerCount == 2 )
|
||||
//TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true, TJAPlayer3.stage選曲.n確定された曲の難易度[1]);
|
||||
}
|
||||
|
||||
Trace.TraceInformation( "----曲情報-----------------" );
|
||||
@ -532,7 +538,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.DTX.PlanToAddMixerChannel();
|
||||
}
|
||||
|
||||
var _dtx = new CDTX[4]{ TJAPlayer3.DTX, TJAPlayer3.DTX_2P, null, null };
|
||||
var _dtx = new CDTX[5]{ TJAPlayer3.DTX, TJAPlayer3.DTX_2P, TJAPlayer3.DTX_3P, TJAPlayer3.DTX_4P, TJAPlayer3.DTX_5P };
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
|
@ -33,6 +33,9 @@ namespace TJAPlayer3
|
||||
|
||||
case 3:
|
||||
return this.P4;
|
||||
|
||||
case 4:
|
||||
return this.P5;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
@ -55,6 +58,10 @@ namespace TJAPlayer3
|
||||
case 3:
|
||||
this.P4 = value;
|
||||
return;
|
||||
|
||||
case 4:
|
||||
this.P5 = value;
|
||||
return;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
@ -127,12 +134,30 @@ namespace TJAPlayer3
|
||||
this.act.status.P4.n最高COMBO値 = this.最高値[3];
|
||||
}
|
||||
}
|
||||
public int P5
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.p5;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.p5 = value;
|
||||
if (this.p5 > this.最高値[4])
|
||||
{
|
||||
this.最高値[4] = this.p5;
|
||||
}
|
||||
this.act.status.P5.nCOMBO値 = this.p5;
|
||||
this.act.status.P5.n最高COMBO値 = this.最高値[4];
|
||||
}
|
||||
}
|
||||
public int[] 最高値 { get; set; }
|
||||
|
||||
private int p1;
|
||||
private int p2;
|
||||
private int p3;
|
||||
private int p4;
|
||||
private int p5;
|
||||
}
|
||||
public C演奏判定ライン座標共通 演奏判定ライン座標
|
||||
{
|
||||
@ -230,6 +255,7 @@ namespace TJAPlayer3
|
||||
public CSTAT P2 = new CSTAT();
|
||||
public CSTAT P3 = new CSTAT();
|
||||
public CSTAT P4 = new CSTAT();
|
||||
public CSTAT P5 = new CSTAT();
|
||||
public CSTAT this[int index]
|
||||
{
|
||||
get
|
||||
@ -247,6 +273,9 @@ namespace TJAPlayer3
|
||||
|
||||
case 3:
|
||||
return this.P4;
|
||||
|
||||
case 4:
|
||||
return this.P5;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
@ -269,6 +298,10 @@ namespace TJAPlayer3
|
||||
case 3:
|
||||
this.P4 = value;
|
||||
return;
|
||||
|
||||
case 4:
|
||||
this.P5 = value;
|
||||
return;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
@ -307,14 +340,14 @@ namespace TJAPlayer3
|
||||
{
|
||||
}
|
||||
|
||||
private void showComboEffect(int cat, int i, int rightX, int nPlayer)
|
||||
private void showComboEffect(int cat, int i, int rightX, int y, int nPlayer)
|
||||
{
|
||||
if (TJAPlayer3.Tx.Taiko_Combo_Effect != null)
|
||||
{
|
||||
int a = rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[cat] * i;
|
||||
float b = (TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0] / 4) * TJAPlayer3.Skin.Game_Taiko_Combo_Scale[cat];
|
||||
float c = (TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1] / 4) * TJAPlayer3.Skin.Game_Taiko_Combo_Scale[cat];
|
||||
float d = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer];
|
||||
float d = y;
|
||||
|
||||
if (ctコンボラメ.n現在の値 < 13) // First
|
||||
{
|
||||
@ -371,10 +404,55 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ n位の数[] を、"COMBO" → 1の位 → 10の位 … の順に、右から左へ向かって順番に表示する。]
|
||||
//-----------------
|
||||
const int n1桁ごとのジャンプの遅れ = 30; // 1桁につき 50 インデックス遅れる
|
||||
|
||||
|
||||
//X右座標を元にして、右座標 - ( コンボの幅 * 桁数 ) でX座標を求めていく?
|
||||
const int n1桁ごとのジャンプの遅れ = 30; // 1桁につき 50 インデックス遅れる
|
||||
|
||||
|
||||
//X右座標を元にして、右座標 - ( コンボの幅 * 桁数 ) でX座標を求めていく?
|
||||
|
||||
int combo_text_x;
|
||||
int combo_text_y;
|
||||
int combo_x;
|
||||
int combo_y;
|
||||
int combo_ex_x;
|
||||
int combo_ex_y;
|
||||
int combo_ex4_x;
|
||||
int combo_ex4_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
combo_text_x = TJAPlayer3.Skin.Game_Taiko_Combo_Text_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * nPlayer);
|
||||
combo_text_y = TJAPlayer3.Skin.Game_Taiko_Combo_Text_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * nPlayer);
|
||||
|
||||
combo_x = TJAPlayer3.Skin.Game_Taiko_Combo_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * nPlayer);
|
||||
combo_y = TJAPlayer3.Skin.Game_Taiko_Combo_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * nPlayer);
|
||||
combo_ex_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * nPlayer);
|
||||
combo_ex_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * nPlayer);
|
||||
combo_ex4_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * nPlayer);
|
||||
combo_ex4_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * nPlayer);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
combo_text_x = TJAPlayer3.Skin.Game_Taiko_Combo_Text_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * nPlayer);
|
||||
combo_text_y = TJAPlayer3.Skin.Game_Taiko_Combo_Text_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * nPlayer);
|
||||
|
||||
combo_x = TJAPlayer3.Skin.Game_Taiko_Combo_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * nPlayer);
|
||||
combo_y = TJAPlayer3.Skin.Game_Taiko_Combo_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * nPlayer);
|
||||
combo_ex_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * nPlayer);
|
||||
combo_ex_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * nPlayer);
|
||||
combo_ex4_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * nPlayer);
|
||||
combo_ex4_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * nPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
combo_text_x = TJAPlayer3.Skin.Game_Taiko_Combo_Text_X[nPlayer];
|
||||
combo_text_y = TJAPlayer3.Skin.Game_Taiko_Combo_Text_Y[nPlayer];
|
||||
|
||||
combo_x = TJAPlayer3.Skin.Game_Taiko_Combo_X[nPlayer];
|
||||
combo_y = TJAPlayer3.Skin.Game_Taiko_Combo_Y[nPlayer];
|
||||
combo_ex_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_X[nPlayer];
|
||||
combo_ex_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer];
|
||||
combo_ex4_x = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_X[nPlayer];
|
||||
combo_ex4_y = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_Y[nPlayer];
|
||||
}
|
||||
|
||||
int nY上辺位置px = TJAPlayer3.ConfigIni.bReverse.Drums ? 350 : 10;
|
||||
int n数字とCOMBOを合わせた画像の全長px = ((44) * n桁数);
|
||||
@ -384,7 +462,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region[ Combo text & Combo guides ]
|
||||
|
||||
TJAPlayer3.Tx.Taiko_Combo_Text?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Combo_Text_X[nPlayer], TJAPlayer3.Skin.Game_Taiko_Combo_Text_Y[nPlayer]);
|
||||
TJAPlayer3.Tx.Taiko_Combo_Text?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, combo_text_x, combo_text_y);
|
||||
|
||||
int guide = 2;
|
||||
var ccf = TJAPlayer3.stage演奏ドラム画面.CChartScore[nPlayer];
|
||||
@ -394,7 +472,7 @@ namespace TJAPlayer3
|
||||
if (ccf.nMiss > 0 || ccf.nMine > 0)
|
||||
guide = 0;
|
||||
|
||||
TJAPlayer3.Tx.Taiko_Combo_Guide[guide]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Combo_Text_X[nPlayer], TJAPlayer3.Skin.Game_Taiko_Combo_Text_Y[nPlayer]);
|
||||
TJAPlayer3.Tx.Taiko_Combo_Guide[guide]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, combo_text_x, combo_text_y);
|
||||
|
||||
#endregion
|
||||
|
||||
@ -403,22 +481,22 @@ namespace TJAPlayer3
|
||||
if (n桁数 == 1)
|
||||
{
|
||||
// 一桁ならそのままSkinConfigの座標を使用する。
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_X[nPlayer];
|
||||
rightX = combo_x;
|
||||
}
|
||||
else if (n桁数 == 2)
|
||||
{
|
||||
// 二桁ならSkinConfigの座標+パディング/2を使用する
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_X[nPlayer] + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] / 2;
|
||||
rightX = combo_x + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] / 2;
|
||||
}
|
||||
else if (n桁数 == 3)
|
||||
{
|
||||
// 三桁ならSkinConfigの座標+パディングを使用する
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_X[nPlayer] + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1];
|
||||
rightX = combo_ex_x + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1];
|
||||
}
|
||||
else if (n桁数 == 4)
|
||||
{
|
||||
// 四桁ならSkinconfigの座標+パディング/2 + パディングを使用する
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_X[nPlayer] + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] / 2 + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2];
|
||||
rightX = combo_ex4_x + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] / 2 + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -431,14 +509,14 @@ namespace TJAPlayer3
|
||||
// パディング/2を足す必要がある
|
||||
// 右に表示される桁数を求め、-1する
|
||||
rightDigit = n桁数 / 2 - 1;
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_X[nPlayer] + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] / 2 + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * rightDigit;
|
||||
rightX = combo_ex4_x + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] / 2 + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * rightDigit;
|
||||
break;
|
||||
case 1:
|
||||
// 2で割るとあまりが出る
|
||||
// そのままパディングを足していく
|
||||
// 右に表示される桁数を求める(中央除く -1)
|
||||
rightDigit = (n桁数 - 1) / 2;
|
||||
rightX = TJAPlayer3.Skin.Game_Taiko_Combo_Ex4_X[nPlayer] + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * rightDigit;
|
||||
rightX = combo_ex4_x + TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * rightDigit;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -460,7 +538,7 @@ namespace TJAPlayer3
|
||||
var yScalling = ComboScale[this.ctコンボ加算[nPlayer].n現在の値];
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].vc拡大縮小倍率.Y = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0];
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX, TJAPlayer3.Skin.Game_Taiko_Combo_Y[nPlayer], new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX, combo_y, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
}
|
||||
}
|
||||
else if (n桁数 <= 2)
|
||||
@ -473,7 +551,7 @@ namespace TJAPlayer3
|
||||
var yScalling = ComboScale[this.ctコンボ加算[nPlayer].n現在の値];
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].vc拡大縮小倍率.Y = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0];
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Y[nPlayer], new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[0].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -483,10 +561,10 @@ namespace TJAPlayer3
|
||||
var yScalling = ComboScale[this.ctコンボ加算[nPlayer].n現在の値];
|
||||
TJAPlayer3.Tx.Taiko_Combo[2].vc拡大縮小倍率.Y = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0] + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[2].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[0];
|
||||
TJAPlayer3.Tx.Taiko_Combo[2].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Y[nPlayer], new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[2].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[0] * i, combo_y, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size[1]));
|
||||
}
|
||||
|
||||
showComboEffect(0, i, rightX, nPlayer);
|
||||
showComboEffect(0, i, rightX, combo_ex_y, nPlayer);
|
||||
}
|
||||
}
|
||||
else if (n桁数 == 3)
|
||||
@ -497,7 +575,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].vc拡大縮小倍率.Y = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[1];
|
||||
var yJumping = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].n現在の値, 1] : 0;
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer] + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
}
|
||||
else if (TJAPlayer3.Tx.Taiko_Combo[1] != null)
|
||||
{
|
||||
@ -505,10 +583,10 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].vc拡大縮小倍率.Y = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[1] + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[1];
|
||||
var yJumping = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].n現在の値, 1] : 0;
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer] + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[1] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
}
|
||||
|
||||
showComboEffect(1, i, rightX, nPlayer);
|
||||
showComboEffect(1, i, rightX, combo_ex_y, nPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -518,7 +596,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].vc拡大縮小倍率.Y = 1.0f + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[2];
|
||||
var yJumping = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].n現在の値, 1] : 0;
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer] + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[3].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
}
|
||||
else if (TJAPlayer3.Tx.Taiko_Combo[1] != null)
|
||||
{
|
||||
@ -526,10 +604,10 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].vc拡大縮小倍率.Y = 1.0f + yScalling;
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].vc拡大縮小倍率.X = TJAPlayer3.Skin.Game_Taiko_Combo_Scale[2];
|
||||
var yJumping = TJAPlayer3.Skin.Game_Taiko_Combo_Ex_IsJumping ? (int)ComboScale_Ex[this.ctコンボ加算[nPlayer].n現在の値, 1] : 0;
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * i, TJAPlayer3.Skin.Game_Taiko_Combo_Ex_Y[nPlayer] + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
TJAPlayer3.Tx.Taiko_Combo[1].t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, rightX - TJAPlayer3.Skin.Game_Taiko_Combo_Padding[2] * i, combo_ex_y + yJumping, new Rectangle(n位の数[i] * TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], 0, TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[0], TJAPlayer3.Skin.Game_Taiko_Combo_Size_Ex[1]));
|
||||
}
|
||||
|
||||
showComboEffect(2, i, rightX, nPlayer);
|
||||
showComboEffect(2, i, rightX, combo_ex_y, nPlayer);
|
||||
|
||||
}
|
||||
}
|
||||
@ -562,10 +640,10 @@ namespace TJAPlayer3
|
||||
public override void On活性化()
|
||||
{
|
||||
this.n現在のコンボ数 = new STCOMBO() { act = this };
|
||||
this.n現在のコンボ数.最高値 = new int[4];
|
||||
this.n現在のコンボ数.最高値 = new int[5];
|
||||
this.status = new CSTATUS();
|
||||
this.ctコンボ加算 = new CCounter[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
this.ctコンボ加算 = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.status[i].e現在のモード = EMode.非表示中;
|
||||
this.status[i].nCOMBO値 = 0;
|
||||
@ -604,7 +682,7 @@ namespace TJAPlayer3
|
||||
if (this.b活性化してない)
|
||||
return 0;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
EEvent e今回の状態遷移イベント;
|
||||
|
||||
@ -701,11 +779,15 @@ namespace TJAPlayer3
|
||||
break;
|
||||
|
||||
case 2:
|
||||
this.tコンボ表示_ベース(this.status[i].nCOMBO値, this.status[i].nジャンプインデックス値);
|
||||
this.tコンボ表示_太鼓(this.status[i].nCOMBO値, this.status[i].nジャンプインデックス値, 2);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
this.tコンボ表示_ドラム(this.status[i].nCOMBO値, this.status[i].nジャンプインデックス値);
|
||||
this.tコンボ表示_太鼓(this.status[i].nCOMBO値, this.status[i].nジャンプインデックス値, 3);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
this.tコンボ表示_太鼓(this.status[i].nCOMBO値, this.status[i].nジャンプインデックス値, 4);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -60,13 +60,13 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ListCombo[i] = new List<CComboVoice>();
|
||||
ListFloor[i] = new List<CComboVoice>();
|
||||
}
|
||||
VoiceIndex = new int[] { 0, 0 };
|
||||
FloorIndex = new int[] { 0, 0 };
|
||||
VoiceIndex = new int[] { 0, 0, 0, 0, 0 };
|
||||
FloorIndex = new int[] { 0, 0, 0, 0, 0 };
|
||||
base.On活性化();
|
||||
}
|
||||
public override void OnManagedリソースの作成()
|
||||
@ -142,7 +142,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
if( !base.b活性化してない )
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
foreach (var item in ListCombo[i])
|
||||
{
|
||||
@ -166,8 +166,8 @@ namespace TJAPlayer3
|
||||
int[] VoiceIndex;
|
||||
int[] FloorIndex;
|
||||
|
||||
readonly List<CComboVoice>[] ListCombo = new List<CComboVoice>[2];
|
||||
readonly List<CComboVoice>[] ListFloor = new List<CComboVoice>[2];
|
||||
readonly List<CComboVoice>[] ListCombo = new List<CComboVoice>[5];
|
||||
readonly List<CComboVoice>[] ListFloor = new List<CComboVoice>[5];
|
||||
//-----------------
|
||||
#endregion
|
||||
}
|
||||
|
@ -33,14 +33,17 @@ namespace TJAPlayer3
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
dbゲージ増加量[i] = new float[2];
|
||||
dbゲージ増加量[i] = new float[5];
|
||||
for (int n = 0; n < 3; n++)
|
||||
{
|
||||
dbゲージ増加量_Branch[i, n] = new float[2];
|
||||
dbゲージ増加量_Branch[i, n] = new float[5];
|
||||
}
|
||||
}
|
||||
this.DTX[0] = TJAPlayer3.DTX;
|
||||
this.DTX[1] = TJAPlayer3.DTX_2P;
|
||||
this.DTX[2] = TJAPlayer3.DTX_3P;
|
||||
this.DTX[3] = TJAPlayer3.DTX_4P;
|
||||
this.DTX[4] = TJAPlayer3.DTX_5P;
|
||||
actLVLNFont = new CActLVLNFont();
|
||||
actLVLNFont.On活性化();
|
||||
base.On活性化();
|
||||
@ -107,7 +110,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
//ダメージ値の計算は太鼓の達人譜面Wikiのものを参考にしました。
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.db現在のゲージ値[i] = 0;
|
||||
}
|
||||
@ -519,8 +522,8 @@ namespace TJAPlayer3
|
||||
//-----------------
|
||||
#endregion
|
||||
|
||||
private CDTX[] DTX = new CDTX[2];
|
||||
public double[] db現在のゲージ値 = new double[4];
|
||||
private CDTX[] DTX = new CDTX[5];
|
||||
public double[] db現在のゲージ値 = new double[5];
|
||||
protected CCounter ct炎;
|
||||
protected CCounter ct虹アニメ;
|
||||
protected CCounter ct虹透明度;
|
||||
|
@ -9,7 +9,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
// プロパティ
|
||||
|
||||
public STDGBVALUE<double> db現在の譜面スクロール速度;
|
||||
public double[] db現在の譜面スクロール速度 = new double[5];
|
||||
|
||||
|
||||
// コンストラクタ
|
||||
@ -24,7 +24,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for( int i = 0; i < 4; i++ )
|
||||
for( int i = 0; i < 5; i++ )
|
||||
{
|
||||
this.db現在の譜面スクロール速度[ i ] = (double) TJAPlayer3.ConfigIni.nScrollSpeed[ TJAPlayer3.GetActualPlayer(i) ];
|
||||
this.n速度変更制御タイマ[ i ] = -1;
|
||||
@ -41,7 +41,7 @@ namespace TJAPlayer3
|
||||
if( base.b初めての進行描画 )
|
||||
{
|
||||
//this.n速度変更制御タイマ.Drums = this.n速度変更制御タイマ.Guitar = this.n速度変更制御タイマ.Bass = (long)(CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.n速度変更制御タイマ[i] = (long)(CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
||||
|
||||
@ -50,7 +50,7 @@ namespace TJAPlayer3
|
||||
base.b初めての進行描画 = false;
|
||||
}
|
||||
long n現在時刻 = CSound管理.rc演奏用タイマ.n現在時刻;
|
||||
for( int i = 0; i < 4; i++ )
|
||||
for( int i = 0; i < 5; i++ )
|
||||
{
|
||||
double db譜面スクロールスピード = (double) TJAPlayer3.ConfigIni.nScrollSpeed[ TJAPlayer3.GetActualPlayer(i) ];
|
||||
if( n現在時刻 < this.n速度変更制御タイマ[ i ] )
|
||||
@ -89,7 +89,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ private ]
|
||||
//-----------------
|
||||
private STDGBVALUE<long> n速度変更制御タイマ;
|
||||
private long[] n速度変更制御タイマ = new long[5];
|
||||
//-----------------
|
||||
#endregion
|
||||
}
|
||||
|
@ -287,14 +287,17 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
this.n現在表示中のスコア = new STDGBVALUE<long>[ 4 ];
|
||||
this.n現在の本当のスコア = new STDGBVALUE<double>[ 4 ];
|
||||
this.nスコアの増分 = new STDGBVALUE<long>[ 4 ];
|
||||
for( int i = 0; i < 4; i++ )
|
||||
{
|
||||
this.n現在表示中のスコア[ i ][ i ] = 0L;
|
||||
this.n現在の本当のスコア[ i ][ i ] = 0L;
|
||||
this.nスコアの増分[ i ][ i ] = 0L;
|
||||
this.n現在表示中のスコア = new STDGBVALUE<long>[ 5 ];
|
||||
this.n現在の本当のスコア = new STDGBVALUE<double>[ 5 ];
|
||||
this.nスコアの増分 = new STDGBVALUE<long>[ 5 ];
|
||||
for( int i = 0; i < 5; i++ )
|
||||
{
|
||||
for (int j = 0; j < 4; j++)
|
||||
{
|
||||
this.n現在表示中のスコア[i][j] = 0L;
|
||||
this.n現在の本当のスコア[i][j] = 0L;
|
||||
this.nスコアの増分[i][j] = 0L;
|
||||
}
|
||||
}
|
||||
for( int sc = 0; sc < 256; sc++ )
|
||||
{
|
||||
@ -309,13 +312,13 @@ namespace TJAPlayer3
|
||||
|
||||
this.ctTimer = new CCounter();
|
||||
|
||||
this.ct点数アニメタイマ = new CCounter[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
this.ct点数アニメタイマ = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.ct点数アニメタイマ[i] = new CCounter();
|
||||
}
|
||||
this.ctボーナス加算タイマ = new CCounter[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
this.ctボーナス加算タイマ = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.ctボーナス加算タイマ[i] = new CCounter();
|
||||
}
|
||||
@ -372,13 +375,43 @@ namespace TJAPlayer3
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(TJAPlayer3.Tx.Taiko_Score[2] != null )
|
||||
if (TJAPlayer3.Tx.Taiko_Score[2] != null)
|
||||
{
|
||||
//this.txScore.color4 = new SlimDX.Color4( 0.4f, 0.5f, 1.0f );
|
||||
//this.txScore.color4 = CDTXMania.Skin.cScoreColor2P;
|
||||
TJAPlayer3.Tx.Taiko_Score[2].Opacity = alpha;
|
||||
TJAPlayer3.Tx.Taiko_Score[2].vc拡大縮小倍率.Y = 1;
|
||||
TJAPlayer3.Tx.Taiko_Score[2].t2D拡大率考慮下基準描画( TJAPlayer3.app.Device, x, y, rectangle );
|
||||
TJAPlayer3.Tx.Taiko_Score[2].t2D拡大率考慮下基準描画(TJAPlayer3.app.Device, x, y, rectangle);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (TJAPlayer3.Tx.Taiko_Score[3] != null)
|
||||
{
|
||||
//this.txScore.color4 = new SlimDX.Color4( 0.4f, 0.5f, 1.0f );
|
||||
//this.txScore.color4 = CDTXMania.Skin.cScoreColor2P;
|
||||
TJAPlayer3.Tx.Taiko_Score[3].Opacity = alpha;
|
||||
TJAPlayer3.Tx.Taiko_Score[3].vc拡大縮小倍率.Y = 1;
|
||||
TJAPlayer3.Tx.Taiko_Score[3].t2D拡大率考慮下基準描画(TJAPlayer3.app.Device, x, y, rectangle);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (TJAPlayer3.Tx.Taiko_Score[4] != null)
|
||||
{
|
||||
//this.txScore.color4 = new SlimDX.Color4( 0.4f, 0.5f, 1.0f );
|
||||
//this.txScore.color4 = CDTXMania.Skin.cScoreColor2P;
|
||||
TJAPlayer3.Tx.Taiko_Score[4].Opacity = alpha;
|
||||
TJAPlayer3.Tx.Taiko_Score[4].vc拡大縮小倍率.Y = 1;
|
||||
TJAPlayer3.Tx.Taiko_Score[4].t2D拡大率考慮下基準描画(TJAPlayer3.app.Device, x, y, rectangle);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (TJAPlayer3.Tx.Taiko_Score[5] != null)
|
||||
{
|
||||
//this.txScore.color4 = new SlimDX.Color4( 0.4f, 0.5f, 1.0f );
|
||||
//this.txScore.color4 = CDTXMania.Skin.cScoreColor2P;
|
||||
TJAPlayer3.Tx.Taiko_Score[5].Opacity = alpha;
|
||||
TJAPlayer3.Tx.Taiko_Score[5].vc拡大縮小倍率.Y = 1;
|
||||
TJAPlayer3.Tx.Taiko_Score[5].t2D拡大率考慮下基準描画(TJAPlayer3.app.Device, x, y, rectangle);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
public int t進行描画( int x, int y )
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actDan.IsAnimating) return 0;
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actDan.IsAnimating || TJAPlayer3.ConfigIni.nPlayerCount > 2) return 0;
|
||||
if( !base.b活性化してない && !this.bMute )
|
||||
{
|
||||
this.ct進行用.t進行Loop();
|
||||
|
@ -12,7 +12,7 @@ namespace TJAPlayer3
|
||||
// プロパティ
|
||||
|
||||
public double dbBPM;
|
||||
public readonly int[] NowMeasure = new int[2];
|
||||
public readonly int[] NowMeasure = new int[5];
|
||||
public double dbSCROLL;
|
||||
public int[] _chipCounts = new int[2];
|
||||
|
||||
@ -28,7 +28,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
NowMeasure[i] = 0;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ namespace TJAPlayer3
|
||||
/// </summary>
|
||||
public void Reset()
|
||||
{
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
for ( int i = 0; i < 5; i++ )
|
||||
{
|
||||
ccounter[ i ] = new CCounter();
|
||||
b演奏チップが1つでもバーを通過した[ i ] = false;
|
||||
@ -170,7 +170,7 @@ namespace TJAPlayer3
|
||||
if( disposeManagedObjects )
|
||||
{
|
||||
// (A) Managed リソースの解放
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
for ( int i = 0; i < 5; i++ )
|
||||
{
|
||||
// ctInvisibleTimer[ i ].Dispose();
|
||||
ccounter[ i ].t停止();
|
||||
@ -189,8 +189,8 @@ namespace TJAPlayer3
|
||||
//-----------------
|
||||
#endregion
|
||||
|
||||
private STDGBVALUE<CCounter> ccounter;
|
||||
private CCounter[] ccounter = new CCounter[5];
|
||||
private bool bDispose完了済み = false;
|
||||
private STDGBVALUE<bool> b演奏チップが1つでもバーを通過した;
|
||||
private bool[] b演奏チップが1つでもバーを通過した = new bool[5];
|
||||
}
|
||||
}
|
||||
|
@ -29,11 +29,11 @@ namespace TJAPlayer3
|
||||
Drums.nスコア = (long) this.actScore.Get( E楽器パート.DRUMS, 0 );
|
||||
Drums.dbゲーム型スキル値 = CScoreIni.tゲーム型スキルを計算して返す(TJAPlayer3.DTX.LEVEL.Drums, TJAPlayer3.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.actCombo.n現在のコンボ数.最高値[0], E楽器パート.DRUMS, bIsAutoPlay);
|
||||
Drums.db演奏型スキル値 = CScoreIni.t演奏型スキルを計算して返す( TJAPlayer3.DTX.n可視チップ数.Drums, this.nヒット数_Auto含まない.Drums.Perfect, this.nヒット数_Auto含まない.Drums.Great, this.nヒット数_Auto含まない.Drums.Good, this.nヒット数_Auto含まない.Drums.Poor, this.nヒット数_Auto含まない.Drums.Miss, E楽器パート.DRUMS, bIsAutoPlay );
|
||||
Drums.nPerfect数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? this.nヒット数_Auto含む.Drums.Perfect : this.nヒット数_Auto含まない.Drums.Perfect;
|
||||
Drums.nGreat数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? this.nヒット数_Auto含む.Drums.Great : this.nヒット数_Auto含まない.Drums.Great;
|
||||
Drums.nGood数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? this.nヒット数_Auto含む.Drums.Good : this.nヒット数_Auto含まない.Drums.Good;
|
||||
Drums.nPoor数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? this.nヒット数_Auto含む.Drums.Poor : this.nヒット数_Auto含まない.Drums.Poor;
|
||||
Drums.nMiss数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay ? this.nヒット数_Auto含む.Drums.Miss : this.nヒット数_Auto含まない.Drums.Miss;
|
||||
Drums.nPerfect数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] ? this.nヒット数_Auto含む.Drums.Perfect : this.nヒット数_Auto含まない.Drums.Perfect;
|
||||
Drums.nGreat数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] ? this.nヒット数_Auto含む.Drums.Great : this.nヒット数_Auto含まない.Drums.Great;
|
||||
Drums.nGood数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] ? this.nヒット数_Auto含む.Drums.Good : this.nヒット数_Auto含まない.Drums.Good;
|
||||
Drums.nPoor数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] ? this.nヒット数_Auto含む.Drums.Poor : this.nヒット数_Auto含まない.Drums.Poor;
|
||||
Drums.nMiss数 = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] ? this.nヒット数_Auto含む.Drums.Miss : this.nヒット数_Auto含まない.Drums.Miss;
|
||||
Drums.nPerfect数_Auto含まない = this.nヒット数_Auto含まない.Drums.Perfect;
|
||||
Drums.nGreat数_Auto含まない = this.nヒット数_Auto含まない.Drums.Great;
|
||||
Drums.nGood数_Auto含まない = this.nヒット数_Auto含まない.Drums.Good;
|
||||
@ -75,7 +75,7 @@ namespace TJAPlayer3
|
||||
Drums.最終更新日時 = DateTime.Now.ToString();
|
||||
Drums.Hash = CScoreIni.t演奏セクションのMD5を求めて返す( Drums );
|
||||
Drums.fゲージ = (float)this.actGauge.db現在のゲージ値[ 0 ];
|
||||
if( !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay )
|
||||
if( !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
|
||||
{
|
||||
Drums.nハイスコア = TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.nハイスコア; //2015.06.16 kairera0467 他難易度の上書き防止。
|
||||
if( TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.nハイスコア[ TJAPlayer3.stage選曲.n確定された曲の難易度[0]] < (int)this.actScore.Get( E楽器パート.DRUMS, 0 ) )
|
||||
@ -92,14 +92,14 @@ namespace TJAPlayer3
|
||||
|
||||
// CStage 実装
|
||||
|
||||
public int[] nNoteCount = new int[4];
|
||||
public int[] nBalloonCount = new int[4];
|
||||
public double[] nRollTimeMs = new double[4];
|
||||
public double[] nAddScoreNiji = new double[4];
|
||||
public int[] nNoteCount = new int[5];
|
||||
public int[] nBalloonCount = new int[5];
|
||||
public double[] nRollTimeMs = new double[5];
|
||||
public double[] nAddScoreNiji = new double[5];
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
listChip = new List<CDTX.CChip>[ 4 ];
|
||||
listChip = new List<CDTX.CChip>[ 5 ];
|
||||
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
nNoteCount[i] = 0;
|
||||
@ -115,6 +115,15 @@ namespace TJAPlayer3
|
||||
case 1:
|
||||
listChip[i] = TJAPlayer3.DTX_2P.listChip;
|
||||
break;
|
||||
case 2:
|
||||
listChip[i] = TJAPlayer3.DTX_3P.listChip;
|
||||
break;
|
||||
case 3:
|
||||
listChip[i] = TJAPlayer3.DTX_4P.listChip;
|
||||
break;
|
||||
case 4:
|
||||
listChip[i] = TJAPlayer3.DTX_5P.listChip;
|
||||
break;
|
||||
}
|
||||
|
||||
int n整数値管理 = 0;
|
||||
@ -138,8 +147,26 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
var _dtx = (i == 0) ? TJAPlayer3.DTX : TJAPlayer3.DTX_2P;
|
||||
|
||||
CDTX _dtx = TJAPlayer3.DTX;
|
||||
switch (i) //2017.08.11 kairera0467
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
_dtx = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
case 2:
|
||||
_dtx = TJAPlayer3.DTX_3P;
|
||||
break;
|
||||
case 3:
|
||||
_dtx = TJAPlayer3.DTX_4P;
|
||||
break;
|
||||
case 4:
|
||||
_dtx = TJAPlayer3.DTX_5P;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
int _totalNotes = 0;
|
||||
int _totalBalloons = 0;
|
||||
@ -269,9 +296,9 @@ namespace TJAPlayer3
|
||||
|
||||
NowAIBattleSectionCount = 0;
|
||||
|
||||
ctChipAnime = new CCounter[2];
|
||||
ctChipAnimeLag = new CCounter[2];
|
||||
for (int i = 0; i < 2; i++)
|
||||
ctChipAnime = new CCounter[5];
|
||||
ctChipAnimeLag = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChipAnime[i] = new CCounter();
|
||||
ctChipAnimeLag[i] = new CCounter();
|
||||
@ -329,13 +356,13 @@ namespace TJAPlayer3
|
||||
this.tステータスパネルの選択();
|
||||
this.tパネル文字列の設定();
|
||||
//this.演奏判定ライン座標();
|
||||
this.bIsGOGOTIME = new bool[] { false, false, false, false };
|
||||
this.bIsMiss = new bool[] { false, false, false, false };
|
||||
this.bUseBranch = new bool[]{ false, false, false, false };
|
||||
this.n現在のコース = new CDTX.ECourse[4];
|
||||
this.n次回のコース = new CDTX.ECourse[4];
|
||||
this.bIsGOGOTIME = new bool[] { false, false, false, false, false };
|
||||
this.bIsMiss = new bool[] { false, false, false, false, false };
|
||||
this.bUseBranch = new bool[]{ false, false, false, false, false };
|
||||
this.n現在のコース = new CDTX.ECourse[5];
|
||||
this.n次回のコース = new CDTX.ECourse[5];
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.b強制的に分岐させた[i] = false;
|
||||
|
||||
@ -356,18 +383,18 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
|
||||
this.nレーン用表示コース = new CDTX.ECourse[4];
|
||||
this.b連打中 = new bool[] { false, false, false, false };
|
||||
this.n現在の連打数 = new int[]{ 0, 0, 0, 0 };
|
||||
this.n合計連打数 = new int[]{ 0, 0, 0, 0 };
|
||||
this.n分岐した回数 = new int[ 4 ];
|
||||
this.Chara_MissCount = new int[4];
|
||||
this.nレーン用表示コース = new CDTX.ECourse[5];
|
||||
this.b連打中 = new bool[] { false, false, false, false, false };
|
||||
this.n現在の連打数 = new int[]{ 0, 0, 0, 0, 0 };
|
||||
this.n合計連打数 = new int[]{ 0, 0, 0, 0, 0 };
|
||||
this.n分岐した回数 = new int[ 5 ];
|
||||
this.Chara_MissCount = new int[5];
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
ShownLyric[i] = 0;
|
||||
}
|
||||
this.nJPOSSCROLL = new int[ 4 ];
|
||||
this.bLEVELHOLD = new bool[]{ false, false, false, false };
|
||||
this.nJPOSSCROLL = new int[ 5 ];
|
||||
this.bLEVELHOLD = new bool[]{ false, false, false, false, false };
|
||||
|
||||
|
||||
// Double play set here
|
||||
@ -377,13 +404,16 @@ namespace TJAPlayer3
|
||||
|
||||
this.tBranchReset(0);
|
||||
|
||||
this.bIsAutoPlay = TJAPlayer3.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi
|
||||
this.bIsAutoPlay = TJAPlayer3.ConfigIni.bAutoPlay; // #24239 2011.1.23 yyagi
|
||||
|
||||
//this.bIsAutoPlay.Guitar = CDTXMania.ConfigIni.bギターが全部オートプレイである;
|
||||
//this.bIsAutoPlay.Bass = CDTXMania.ConfigIni.bベースが全部オートプレイである;
|
||||
// this.nRisky = CDTXMania.ConfigIni.nRisky; // #23559 2011.7.28 yyagi
|
||||
actGauge.Init( TJAPlayer3.ConfigIni.nRisky, 0 ); // #23559 2011.7.28 yyagi
|
||||
if(bDoublePlay) actGauge.Init( TJAPlayer3.ConfigIni.nRisky, 1 ); // #23559 2011.7.28 yyagi
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
actGauge.Init(TJAPlayer3.ConfigIni.nRisky, i); // #23559 2011.7.28 yyagi
|
||||
}
|
||||
this.nPolyphonicSounds = TJAPlayer3.ConfigIni.nPoliphonicSounds;
|
||||
e判定表示優先度 = TJAPlayer3.ConfigIni.e判定表示優先度;
|
||||
|
||||
@ -452,8 +482,8 @@ namespace TJAPlayer3
|
||||
// this.sw2 = new Stopwatch();
|
||||
// this.gclatencymode = GCSettings.LatencyMode;
|
||||
// GCSettings.LatencyMode = GCLatencyMode.Batch; // 演奏画面中はGCを抑止する
|
||||
this.bIsAlreadyCleared = new bool[2];
|
||||
this.bIsAlreadyMaxed = new bool[2];
|
||||
this.bIsAlreadyCleared = new bool[5];
|
||||
this.bIsAlreadyMaxed = new bool[5];
|
||||
|
||||
this.ListDan_Number = 0;
|
||||
this.IsDanFailed = false;
|
||||
@ -493,7 +523,7 @@ namespace TJAPlayer3
|
||||
this.ctチップ模様アニメ.Bass = null;
|
||||
this.ctチップ模様アニメ.Taiko = null;
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChipAnime[i] = null;
|
||||
ctChipAnimeLag[i] = null;
|
||||
@ -630,6 +660,66 @@ namespace TJAPlayer3
|
||||
public int nMine;
|
||||
}
|
||||
|
||||
public int[] NoteOriginX
|
||||
{
|
||||
get
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
return new int[] {
|
||||
TJAPlayer3.Skin.nScrollField_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * 0),
|
||||
TJAPlayer3.Skin.nScrollField_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * 1),
|
||||
TJAPlayer3.Skin.nScrollField_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * 2),
|
||||
TJAPlayer3.Skin.nScrollField_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * 3),
|
||||
TJAPlayer3.Skin.nScrollField_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * 4)
|
||||
};
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
return new int[] {
|
||||
TJAPlayer3.Skin.nScrollField_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * 0),
|
||||
TJAPlayer3.Skin.nScrollField_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * 1),
|
||||
TJAPlayer3.Skin.nScrollField_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * 2),
|
||||
TJAPlayer3.Skin.nScrollField_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * 3)
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
return TJAPlayer3.Skin.nScrollFieldX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int[] NoteOriginY
|
||||
{
|
||||
get
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
return new int[] {
|
||||
TJAPlayer3.Skin.nScrollField_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * 0),
|
||||
TJAPlayer3.Skin.nScrollField_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * 1),
|
||||
TJAPlayer3.Skin.nScrollField_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * 2),
|
||||
TJAPlayer3.Skin.nScrollField_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * 3),
|
||||
TJAPlayer3.Skin.nScrollField_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * 4)
|
||||
};
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
return new int[] {
|
||||
TJAPlayer3.Skin.nScrollField_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * 0),
|
||||
TJAPlayer3.Skin.nScrollField_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * 1),
|
||||
TJAPlayer3.Skin.nScrollField_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * 2),
|
||||
TJAPlayer3.Skin.nScrollField_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * 3)
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
return TJAPlayer3.Skin.nScrollFieldY;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public CAct演奏AVI actAVI;
|
||||
public Rainbow Rainbow;
|
||||
protected CAct演奏チップファイアGB actChipFireGB;
|
||||
@ -723,34 +813,34 @@ namespace TJAPlayer3
|
||||
protected STAUTOPLAY bIsAutoPlay; // #24239 2011.1.23 yyagi
|
||||
// protected int nRisky_InitialVar, nRiskyTime; // #23559 2011.7.28 yyagi → CAct演奏ゲージ共通クラスに隠蔽
|
||||
protected int nPolyphonicSounds;
|
||||
protected List<CDTX.CChip>[] listChip = new List<CDTX.CChip>[4];
|
||||
protected List<CDTX.CChip>[] listChip = new List<CDTX.CChip>[5];
|
||||
protected Dictionary<int, CDTX.CWAV> listWAV;
|
||||
protected CInvisibleChip cInvisibleChip;
|
||||
protected bool bUseOSTimer;
|
||||
protected E判定表示優先度 e判定表示優先度;
|
||||
|
||||
public CBRANCHSCORE[] CBranchScore = new CBRANCHSCORE[6];
|
||||
public CBRANCHSCORE[] CChartScore = new CBRANCHSCORE[2];
|
||||
public CBRANCHSCORE[] CChartScore = new CBRANCHSCORE[5];
|
||||
|
||||
public bool[] bIsGOGOTIME = new bool[4];
|
||||
public bool[] bIsMiss = new bool[4];
|
||||
public bool[] bUseBranch = new bool[ 4 ];
|
||||
public CDTX.ECourse[] n現在のコース = new CDTX.ECourse[4]; //0:普通譜面 1:玄人譜面 2:達人譜面
|
||||
public CDTX.ECourse[] n次回のコース = new CDTX.ECourse[4];
|
||||
public CDTX.ECourse[] nレーン用表示コース = new CDTX.ECourse[4];
|
||||
protected bool[] b譜面分岐中 = new bool[] { false, false, false, false };
|
||||
protected int[] n分岐した回数 = new int[ 4 ];
|
||||
protected int[] nJPOSSCROLL = new int[ 4 ];
|
||||
public bool[] bIsGOGOTIME = new bool[5];
|
||||
public bool[] bIsMiss = new bool[5];
|
||||
public bool[] bUseBranch = new bool[ 5 ];
|
||||
public CDTX.ECourse[] n現在のコース = new CDTX.ECourse[5]; //0:普通譜面 1:玄人譜面 2:達人譜面
|
||||
public CDTX.ECourse[] n次回のコース = new CDTX.ECourse[5];
|
||||
public CDTX.ECourse[] nレーン用表示コース = new CDTX.ECourse[5];
|
||||
protected bool[] b譜面分岐中 = new bool[] { false, false, false, false, false };
|
||||
protected int[] n分岐した回数 = new int[ 5 ];
|
||||
protected int[] nJPOSSCROLL = new int[ 5 ];
|
||||
|
||||
public bool[] b強制的に分岐させた = new bool[] { false, false, false, false };
|
||||
public bool[] bLEVELHOLD = new bool[] { false, false, false, false };
|
||||
public bool[] b強制的に分岐させた = new bool[] { false, false, false, false, false };
|
||||
public bool[] bLEVELHOLD = new bool[] { false, false, false, false, false };
|
||||
protected int nListCount;
|
||||
|
||||
private readonly int[] ShownLyric = new int[] { 0, 0 };
|
||||
public bool[] b連打中 = new bool[]{ false, false, false, false }; //奥の手
|
||||
private int[] n合計連打数 = new int[ 4 ];
|
||||
protected int[] n風船残り = new int[ 4 ];
|
||||
protected int[] n現在の連打数 = new int[ 4 ];
|
||||
public bool[] b連打中 = new bool[]{ false, false, false, false, false }; //奥の手
|
||||
private int[] n合計連打数 = new int[ 5 ];
|
||||
protected int[] n風船残り = new int[ 5 ];
|
||||
protected int[] n現在の連打数 = new int[ 5 ];
|
||||
public int[] Chara_MissCount;
|
||||
protected E連打State eRollState;
|
||||
|
||||
@ -762,29 +852,25 @@ namespace TJAPlayer3
|
||||
protected int[] nStoredHit;
|
||||
|
||||
|
||||
public CDTX.CChip[] chip現在処理中の連打チップ = new CDTX.CChip[ 4 ];
|
||||
public CDTX.CChip[] chip現在処理中の連打チップ = new CDTX.CChip[ 5 ];
|
||||
|
||||
protected const int NOTE_GAP = 25;
|
||||
public int nLoopCount_Clear;
|
||||
protected int[] nScore = new int[11];
|
||||
protected int[] nHand = new int[4];
|
||||
protected CSound soundRed;
|
||||
protected CSound soundBlue;
|
||||
protected CSound soundAdlib;
|
||||
protected CSound soundClap;
|
||||
protected CSound soundRed2;
|
||||
protected CSound soundBlue2;
|
||||
protected CSound soundAdlib2;
|
||||
protected CSound soundClap2;
|
||||
protected int[] nHand = new int[5];
|
||||
protected CSound[] soundRed = new CSound[5];
|
||||
protected CSound[] soundBlue = new CSound[5];
|
||||
protected CSound[] soundAdlib = new CSound[5];
|
||||
protected CSound[] soundClap = new CSound[5];
|
||||
public bool bDoublePlay; // 2016.08.21 kairera0467 表示だけ。
|
||||
protected Stopwatch sw; // 2011.6.13 最適化検討用のストップウォッチ
|
||||
public int ListDan_Number;
|
||||
private bool IsDanFailed;
|
||||
private bool[] b強制分岐譜面 = new bool[4];
|
||||
private bool[] b強制分岐譜面 = new bool[5];
|
||||
private CDTX.E分岐種類 eBranch種類;
|
||||
public double nBranch条件数値A;
|
||||
public double nBranch条件数値B;
|
||||
private readonly int[] NowProcessingChip = new int[] { 0, 0 };
|
||||
private readonly int[] NowProcessingChip = new int[] { 0, 0, 0, 0, 0 };
|
||||
|
||||
public int AIBattleState;
|
||||
|
||||
@ -1105,63 +1191,28 @@ namespace TJAPlayer3
|
||||
|
||||
if (index == 0x11 || index == 0x13 || index == 0x1A || index == 0x101)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
{
|
||||
this.soundRed?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundRed2?.t再生を開始する();
|
||||
}
|
||||
this.soundRed[pChip.nPlayerSide]?.t再生を開始する();
|
||||
if ((index == 0x13 && _gt == EGameType.KONGA) || index == 0x101)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
{
|
||||
this.soundBlue?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundBlue2?.t再生を開始する();
|
||||
}
|
||||
this.soundBlue[pChip.nPlayerSide]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else if (index == 0x12 || index == 0x14 || index == 0x1B)
|
||||
{
|
||||
if (index == 0x14 && _gt == EGameType.KONGA)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
{
|
||||
this.soundClap?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundClap2?.t再生を開始する();
|
||||
}
|
||||
this.soundClap[pChip.nPlayerSide]?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
{
|
||||
this.soundBlue?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundBlue2?.t再生を開始する();
|
||||
}
|
||||
this.soundBlue[pChip.nPlayerSide]?.t再生を開始する();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if (index == 0x1F)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
{
|
||||
this.soundAdlib?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundAdlib2?.t再生を開始する();
|
||||
}
|
||||
this.soundAdlib[pChip.nPlayerSide]?.t再生を開始する();
|
||||
}
|
||||
|
||||
if (this.nHand[nPlayer] == 0)
|
||||
@ -1305,10 +1356,7 @@ namespace TJAPlayer3
|
||||
//赤か青かの分岐
|
||||
if ( sort == 0|| sort == 2 )
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
this.soundRed?.t再生を開始する();
|
||||
else
|
||||
this.soundRed2?.t再生を開始する();
|
||||
this.soundRed[pChip.nPlayerSide]?.t再生を開始する();
|
||||
|
||||
if (pChip.nチャンネル番号 == 0x15 || _gt == EGameType.KONGA || (_gt == EGameType.TAIKO && pChip.nチャンネル番号 == 0x21))
|
||||
{
|
||||
@ -1325,10 +1373,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else if (sort == 1 || sort == 3)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
this.soundBlue?.t再生を開始する();
|
||||
else
|
||||
this.soundBlue2?.t再生を開始する();
|
||||
this.soundBlue[pChip.nPlayerSide]?.t再生を開始する();
|
||||
|
||||
if (pChip.nチャンネル番号 == 0x15 || _gt == EGameType.KONGA || (_gt == EGameType.TAIKO && pChip.nチャンネル番号 == 0x21))
|
||||
{
|
||||
@ -1345,10 +1390,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else if (sort == 4)
|
||||
{
|
||||
if (pChip.nPlayerSide == 0)
|
||||
this.soundClap?.t再生を開始する();
|
||||
else
|
||||
this.soundClap2?.t再生を開始する();
|
||||
this.soundClap[pChip.nPlayerSide]?.t再生を開始する();
|
||||
TJAPlayer3.stage演奏ドラム画面.FlyingNotes.Start(4, nPlayer, true);
|
||||
}
|
||||
|
||||
@ -1432,10 +1474,7 @@ namespace TJAPlayer3
|
||||
this.actScore.Add(E楽器パート.TAIKO, this.bIsAutoPlay, 100L, player);
|
||||
}
|
||||
//CDTXMania.Skin.soundRed.t再生する();
|
||||
if (pChip.nPlayerSide == 0)
|
||||
this.soundRed?.t再生を開始する();
|
||||
else
|
||||
this.soundRed2?.t再生を開始する();
|
||||
this.soundRed[pChip.nPlayerSide]?.t再生を開始する();
|
||||
|
||||
|
||||
if ( pChip.nBalloon == pChip.nRollCount )
|
||||
@ -1494,16 +1533,13 @@ namespace TJAPlayer3
|
||||
{
|
||||
//unsafeコードにつき、デバッグ中の変更厳禁!
|
||||
|
||||
bool bAutoPlay = false;
|
||||
bool bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer];
|
||||
bool bBombHit = false;
|
||||
|
||||
switch (nPlayer)
|
||||
{
|
||||
case 0:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2070,7 +2106,7 @@ namespace TJAPlayer3
|
||||
|
||||
//CDTXMania.act文字コンソール.tPrint(620, 80, C文字コンソール.Eフォント種別.白, "BPM: " + dbUnit.ToString());
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if (this.actCombo.n現在のコンボ数[i] == 50 || this.actCombo.n現在のコンボ数[i] == 300)
|
||||
{
|
||||
@ -2339,6 +2375,9 @@ namespace TJAPlayer3
|
||||
case E楽器パート.TAIKO:
|
||||
this.actCombo.n現在のコンボ数.P1 = 0;
|
||||
this.actCombo.n現在のコンボ数.P2 = 0;
|
||||
this.actCombo.n現在のコンボ数.P3 = 0;
|
||||
this.actCombo.n現在のコンボ数.P4 = 0;
|
||||
this.actCombo.n現在のコンボ数.P5 = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -2988,10 +3027,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (keyboard.bキーが押された((int)SlimDXKeys.Key.F6))
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay == false)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = true;
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] == false)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] = true;
|
||||
else
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay = false;
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3000,10 +3039,10 @@ namespace TJAPlayer3
|
||||
|
||||
if (keyboard.bキーが押された((int)SlimDXKeys.Key.F7))
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P == false)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = true;
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1] == false)
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1] = true;
|
||||
else
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P = false;
|
||||
TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1] = false;
|
||||
}
|
||||
#endif
|
||||
if ( !this.actPauseMenu.bIsActivePopupMenu && this.bPAUSE && ( ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED ) ) && ( base.eフェーズID != CStage.Eフェーズ.演奏_STAGE_FAILED_フェードアウト ) )
|
||||
@ -3166,16 +3205,22 @@ namespace TJAPlayer3
|
||||
CConfigIni configIni = TJAPlayer3.ConfigIni;
|
||||
|
||||
CDTX dTX = TJAPlayer3.DTX;
|
||||
bool bAutoPlay = false;
|
||||
switch( nPlayer ) //2017.08.11 kairera0467
|
||||
bool bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer];
|
||||
switch ( nPlayer ) //2017.08.11 kairera0467
|
||||
{
|
||||
case 0:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
case 2:
|
||||
dTX = TJAPlayer3.DTX_3P;
|
||||
break;
|
||||
case 3:
|
||||
dTX = TJAPlayer3.DTX_4P;
|
||||
break;
|
||||
case 4:
|
||||
dTX = TJAPlayer3.DTX_5P;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -3472,7 +3517,7 @@ namespace TJAPlayer3
|
||||
this.actChara.b演奏中[nPlayer] = true;
|
||||
if( this.actPlayInfo.NowMeasure[nPlayer] == 0 )
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChipAnime[i] = new CCounter(0, 3, 60.0 / TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM * 1 / 4 / (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0), CSound管理.rc演奏用タイマ);
|
||||
}
|
||||
@ -3699,7 +3744,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChipAnime[i] = new CCounter(0, 3, 60.0 / TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM * 1 / 4, CSound管理.rc演奏用タイマ);
|
||||
}
|
||||
@ -4090,16 +4135,22 @@ namespace TJAPlayer3
|
||||
CConfigIni configIni = TJAPlayer3.ConfigIni;
|
||||
|
||||
CDTX dTX = TJAPlayer3.DTX;
|
||||
bool bAutoPlay = false;
|
||||
switch( nPlayer ) //2017.08.11 kairera0467
|
||||
bool bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer];
|
||||
switch ( nPlayer ) //2017.08.11 kairera0467
|
||||
{
|
||||
case 0:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
case 2:
|
||||
dTX = TJAPlayer3.DTX_3P;
|
||||
break;
|
||||
case 3:
|
||||
dTX = TJAPlayer3.DTX_4P;
|
||||
break;
|
||||
case 4:
|
||||
dTX = TJAPlayer3.DTX_5P;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -4310,6 +4361,15 @@ namespace TJAPlayer3
|
||||
case 1:
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
case 2:
|
||||
dTX = TJAPlayer3.DTX_3P;
|
||||
break;
|
||||
case 3:
|
||||
dTX = TJAPlayer3.DTX_4P;
|
||||
break;
|
||||
case 4:
|
||||
dTX = TJAPlayer3.DTX_5P;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -4450,7 +4510,7 @@ namespace TJAPlayer3
|
||||
this.t数値の初期化( true, true );
|
||||
this.actAVI.tReset();
|
||||
this.actPanel.t歌詞テクスチャを削除する();
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.t演奏位置の変更(0, i);
|
||||
this.actPlayInfo.NowMeasure[i] = 0;
|
||||
@ -4496,8 +4556,10 @@ namespace TJAPlayer3
|
||||
|
||||
this.actCombo.On活性化();
|
||||
this.actScore.On活性化();
|
||||
this.actGauge.Init( TJAPlayer3.ConfigIni.nRisky, 0 );
|
||||
if (bDoublePlay) this.actGauge.Init( TJAPlayer3.ConfigIni.nRisky, 1 );
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.actGauge.Init(TJAPlayer3.ConfigIni.nRisky, i);
|
||||
}
|
||||
}
|
||||
if( b演奏状態 )
|
||||
{
|
||||
@ -4515,7 +4577,7 @@ namespace TJAPlayer3
|
||||
this.n合計連打数[ i ] = 0;
|
||||
this.n分岐した回数[ i ] = 0;
|
||||
}
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.actComboVoice.tReset(i);
|
||||
NowProcessingChip[i] = 0;
|
||||
@ -4523,7 +4585,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
this.ReSetScore(TJAPlayer3.DTX.nScoreInit[0, TJAPlayer3.stage選曲.n確定された曲の難易度[0]], TJAPlayer3.DTX.nScoreDiff[TJAPlayer3.stage選曲.n確定された曲の難易度[0]]);
|
||||
this.nHand = new int[]{ 0, 0, 0, 0 };
|
||||
this.nHand = new int[]{ 0, 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
public void t演奏位置の変更( int nStartBar, int nPlayer )
|
||||
@ -4537,6 +4599,15 @@ namespace TJAPlayer3
|
||||
case 1:
|
||||
dTX = TJAPlayer3.DTX_2P;
|
||||
break;
|
||||
case 2:
|
||||
dTX = TJAPlayer3.DTX_3P;
|
||||
break;
|
||||
case 3:
|
||||
dTX = TJAPlayer3.DTX_4P;
|
||||
break;
|
||||
case 4:
|
||||
dTX = TJAPlayer3.DTX_5P;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -4748,7 +4819,7 @@ namespace TJAPlayer3
|
||||
protected abstract void t進行描画_チップ_小節線( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, int nPlayer );
|
||||
protected void t進行描画_チップアニメ()
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChipAnime[i].t進行LoopDb();
|
||||
ctChipAnimeLag[i].t進行();
|
||||
|
@ -23,7 +23,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for( int i = 0; i < 16; i++ )
|
||||
for( int i = 0; i < 25; i++ )
|
||||
{
|
||||
STパッド状態 stパッド状態 = new STパッド状態();
|
||||
stパッド状態.n明るさ = 0;
|
||||
@ -39,10 +39,10 @@ namespace TJAPlayer3
|
||||
|
||||
public override void OnManagedリソースの作成()
|
||||
{
|
||||
this.ctレベルアップダウン = new CCounter[ 4 ];
|
||||
this.After = new CDTX.ECourse[ 4 ];
|
||||
this.Before = new CDTX.ECourse[ 4 ];
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
this.ctレベルアップダウン = new CCounter[ 5 ];
|
||||
this.After = new CDTX.ECourse[ 5 ];
|
||||
this.Before = new CDTX.ECourse[ 5 ];
|
||||
for ( int i = 0; i < 5; i++ )
|
||||
{
|
||||
this.ctレベルアップダウン[ i ] = new CCounter();
|
||||
}
|
||||
@ -73,7 +73,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
while( ( num - this.nフラッシュ制御タイマ ) >= 20 )
|
||||
{
|
||||
for( int j = 0; j < 16; j++ )
|
||||
for( int j = 0; j < 25; j++ )
|
||||
{
|
||||
if( this.stパッド状態[ j ].n明るさ > 0 )
|
||||
{
|
||||
@ -81,15 +81,88 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
this.nフラッシュ制御タイマ += 20;
|
||||
}
|
||||
|
||||
|
||||
//this.nHS = TJAPlayer3.ConfigIni.nScrollSpeed.Drums < 8 ? TJAPlayer3.ConfigIni.nScrollSpeed.Drums : 7;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//this.nHS = TJAPlayer3.ConfigIni.nScrollSpeed.Drums < 8 ? TJAPlayer3.ConfigIni.nScrollSpeed.Drums : 7;
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int bg_x;
|
||||
int bg_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
bg_x = TJAPlayer3.Skin.Game_Taiko_Background_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
bg_y = TJAPlayer3.Skin.Game_Taiko_Background_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
bg_x = TJAPlayer3.Skin.Game_Taiko_Background_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
bg_y = TJAPlayer3.Skin.Game_Taiko_Background_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
bg_x = TJAPlayer3.Skin.Game_Taiko_Background_X[i];
|
||||
bg_y = TJAPlayer3.Skin.Game_Taiko_Background_Y[i];
|
||||
}
|
||||
|
||||
CTexture tex = null;
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bTokkunMode)
|
||||
{
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[6];
|
||||
else
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[5];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[4];
|
||||
else
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[0];
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[9];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[1];
|
||||
else
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[4];
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[7];
|
||||
break;
|
||||
case 3:
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[8];
|
||||
break;
|
||||
case 4:
|
||||
tex = TJAPlayer3.Tx.Taiko_Background[11];
|
||||
break;
|
||||
}
|
||||
|
||||
tex?.t2D描画(TJAPlayer3.app.Device, bg_x, bg_y);
|
||||
}
|
||||
/*
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) // Dan-i Dojo
|
||||
TJAPlayer3.Tx.Taiko_Background[2]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[2]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) // Taiko Towers
|
||||
TJAPlayer3.Tx.Taiko_Background[3]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[3]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
else if (!TJAPlayer3.ConfigIni.bTokkunMode
|
||||
|| TJAPlayer3.Tx.Taiko_Background[5] == null
|
||||
|| TJAPlayer3.Tx.Taiko_Background[6] == null)
|
||||
@ -97,34 +170,67 @@ namespace TJAPlayer3
|
||||
// Taiko Mode
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
|
||||
{
|
||||
// 2P
|
||||
if (!TJAPlayer3.ConfigIni.bAIBattleMode || TJAPlayer3.Tx.Taiko_Background[9] == null)
|
||||
TJAPlayer3.Tx.Taiko_Background[1]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[1], TJAPlayer3.Skin.Game_Taiko_Background_Y[1]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
|
||||
{
|
||||
// 2P
|
||||
if (!TJAPlayer3.ConfigIni.bAIBattleMode || TJAPlayer3.Tx.Taiko_Background[9] == null)
|
||||
TJAPlayer3.Tx.Taiko_Background[1]?.t2D描画(TJAPlayer3.app.Device, bg_x[1], bg_y[1]);
|
||||
else
|
||||
TJAPlayer3.Tx.Taiko_Background[9]?.t2D描画(TJAPlayer3.app.Device, bg_x[1], bg_y[1]);
|
||||
}
|
||||
else
|
||||
TJAPlayer3.Tx.Taiko_Background[9]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[1], TJAPlayer3.Skin.Game_Taiko_Background_Y[1]);
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 2)
|
||||
TJAPlayer3.Tx.Taiko_Background[4]?.t2D描画(TJAPlayer3.app.Device, bg_x[1], bg_y[1]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 3)
|
||||
TJAPlayer3.Tx.Taiko_Background[7]?.t2D描画(TJAPlayer3.app.Device, bg_x[2], bg_y[2]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 4)
|
||||
TJAPlayer3.Tx.Taiko_Background[8]?.t2D描画(TJAPlayer3.app.Device, bg_x[3], bg_y[3]);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 5)
|
||||
TJAPlayer3.Tx.Taiko_Background[11]?.t2D描画(TJAPlayer3.app.Device, bg_x[4], bg_y[4]);
|
||||
}
|
||||
}
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
TJAPlayer3.Tx.Taiko_Background[4]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[4]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
else
|
||||
TJAPlayer3.Tx.Taiko_Background[0]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[0]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Training Mode
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
TJAPlayer3.Tx.Taiko_Background[6]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[6]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
else
|
||||
TJAPlayer3.Tx.Taiko_Background[5]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Background_X[0], TJAPlayer3.Skin.Game_Taiko_Background_Y[0]);
|
||||
TJAPlayer3.Tx.Taiko_Background[5]?.t2D描画(TJAPlayer3.app.Device, bg_x[0], bg_y[0]);
|
||||
}
|
||||
*/
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int taiko_x;
|
||||
int taiko_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
taiko_x = TJAPlayer3.Skin.Game_Taiko_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
taiko_y = TJAPlayer3.Skin.Game_Taiko_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
taiko_x = TJAPlayer3.Skin.Game_Taiko_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
taiko_y = TJAPlayer3.Skin.Game_Taiko_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
taiko_x = TJAPlayer3.Skin.Game_Taiko_X[i];
|
||||
taiko_y = TJAPlayer3.Skin.Game_Taiko_Y[i];
|
||||
}
|
||||
|
||||
int _actual = TJAPlayer3.GetActualPlayer(i);
|
||||
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[_actual];
|
||||
int playerShift = i * 5;
|
||||
|
||||
// Drum base
|
||||
TJAPlayer3.Tx.Taiko_Base[(int)_gt]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_X[i], TJAPlayer3.Skin.Game_Taiko_Y[i]);
|
||||
TJAPlayer3.Tx.Taiko_Base[(int)_gt]?.t2D描画(TJAPlayer3.app.Device, taiko_x, taiko_y);
|
||||
|
||||
// Taiko hits
|
||||
if (_gt == EGameType.TAIKO)
|
||||
@ -136,10 +242,10 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Don_Left.Opacity = this.stパッド状態[2 + playerShift].n明るさ * 73;
|
||||
TJAPlayer3.Tx.Taiko_Don_Right.Opacity = this.stパッド状態[3 + playerShift].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));
|
||||
TJAPlayer3.Tx.Taiko_Ka_Left.t2D描画(TJAPlayer3.app.Device, taiko_x, taiko_y, 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, taiko_x + TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, taiko_y, 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, taiko_x, taiko_y, 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, taiko_x + TJAPlayer3.Tx.Taiko_Ka_Right.szテクスチャサイズ.Width / 2, taiko_y, 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)
|
||||
@ -150,9 +256,9 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Taiko_Konga_Don.Opacity = Math.Max(this.stパッド状態[2 + playerShift].n明るさ, this.stパッド状態[3 + playerShift].n明るさ) * 73;
|
||||
TJAPlayer3.Tx.Taiko_Konga_Ka.Opacity = Math.Max(this.stパッド状態[playerShift].n明るさ, this.stパッド状態[1 + playerShift].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]);
|
||||
TJAPlayer3.Tx.Taiko_Konga_Ka.t2D描画(TJAPlayer3.app.Device, taiko_x, taiko_y);
|
||||
TJAPlayer3.Tx.Taiko_Konga_Don.t2D描画(TJAPlayer3.app.Device, taiko_x, taiko_y);
|
||||
TJAPlayer3.Tx.Taiko_Konga_Clap.t2D描画(TJAPlayer3.app.Device, taiko_x, taiko_y);
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,8 +268,10 @@ namespace TJAPlayer3
|
||||
int[] nLVUPY = new int[] { 127, 127, 0, 0 };
|
||||
|
||||
for ( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
if( !this.ctレベルアップダウン[ i ].b停止中 )
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) break;
|
||||
|
||||
if ( !this.ctレベルアップダウン[ i ].b停止中 )
|
||||
{
|
||||
this.ctレベルアップダウン[ i ].t進行();
|
||||
if( this.ctレベルアップダウン[ i ].b終了値に達した ) {
|
||||
@ -212,24 +320,29 @@ namespace TJAPlayer3
|
||||
{
|
||||
nAlpha = 255;
|
||||
fScale = 1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) continue;
|
||||
|
||||
int levelChange_x = TJAPlayer3.Skin.Game_Taiko_LevelChange_X[i];
|
||||
int levelChange_y = TJAPlayer3.Skin.Game_Taiko_LevelChange_Y[i];
|
||||
|
||||
if( this.After[ i ] - this.Before[ i ] >= 0 )
|
||||
if ( this.After[ i ] - this.Before[ i ] >= 0 )
|
||||
{
|
||||
//レベルアップ
|
||||
TJAPlayer3.Tx.Taiko_LevelUp.vc拡大縮小倍率.X = fScale;
|
||||
TJAPlayer3.Tx.Taiko_LevelUp.vc拡大縮小倍率.Y = fScale;
|
||||
TJAPlayer3.Tx.Taiko_LevelUp.Opacity = nAlpha;
|
||||
TJAPlayer3.Tx.Taiko_LevelUp.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_LevelChange_X[i],
|
||||
TJAPlayer3.Skin.Game_Taiko_LevelChange_Y[i]);
|
||||
TJAPlayer3.Tx.Taiko_LevelUp.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, levelChange_x,
|
||||
levelChange_y);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Taiko_LevelDown.vc拡大縮小倍率.X = fScale;
|
||||
TJAPlayer3.Tx.Taiko_LevelDown.vc拡大縮小倍率.Y = fScale;
|
||||
TJAPlayer3.Tx.Taiko_LevelDown.Opacity = nAlpha;
|
||||
TJAPlayer3.Tx.Taiko_LevelDown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_LevelChange_X[i],
|
||||
TJAPlayer3.Skin.Game_Taiko_LevelChange_Y[i]);
|
||||
TJAPlayer3.Tx.Taiko_LevelDown.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, levelChange_x,
|
||||
levelChange_y);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,14 +350,44 @@ namespace TJAPlayer3
|
||||
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break;
|
||||
|
||||
|
||||
int modIcons_x;
|
||||
int modIcons_y;
|
||||
int couse_symbol_x;
|
||||
int couse_symbol_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
modIcons_x = TJAPlayer3.Skin.Game_Taiko_ModIcons_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
modIcons_y = TJAPlayer3.Skin.Game_Taiko_ModIcons_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
|
||||
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
modIcons_x = TJAPlayer3.Skin.Game_Taiko_ModIcons_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
modIcons_y = TJAPlayer3.Skin.Game_Taiko_ModIcons_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
|
||||
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
modIcons_x = TJAPlayer3.Skin.Game_Taiko_ModIcons_X[i];
|
||||
modIcons_y = TJAPlayer3.Skin.Game_Taiko_ModIcons_Y[i];
|
||||
|
||||
couse_symbol_x = TJAPlayer3.Skin.Game_CourseSymbol_X[i];
|
||||
couse_symbol_y = TJAPlayer3.Skin.Game_CourseSymbol_Y[i];
|
||||
}
|
||||
|
||||
ModIcons.tDisplayMods(TJAPlayer3.Skin.Game_Taiko_ModIcons_X[i], TJAPlayer3.Skin.Game_Taiko_ModIcons_Y[i], i);
|
||||
ModIcons.tDisplayMods(modIcons_x, modIcons_y, i);
|
||||
|
||||
if (TJAPlayer3.Tx.Couse_Symbol[TJAPlayer3.stage選曲.n確定された曲の難易度[i]] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Couse_Symbol[TJAPlayer3.stage選曲.n確定された曲の難易度[i]].t2D描画(TJAPlayer3.app.Device,
|
||||
TJAPlayer3.Skin.Game_CourseSymbol_X[i],
|
||||
TJAPlayer3.Skin.Game_CourseSymbol_Y[i]
|
||||
couse_symbol_x,
|
||||
couse_symbol_y
|
||||
);
|
||||
}
|
||||
|
||||
@ -254,28 +397,51 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.Tx.Couse_Symbol[(int)Difficulty.Total] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Couse_Symbol[(int)Difficulty.Total].t2D描画(TJAPlayer3.app.Device,
|
||||
TJAPlayer3.Skin.Game_CourseSymbol_X[i],
|
||||
TJAPlayer3.Skin.Game_CourseSymbol_Y[i]
|
||||
couse_symbol_x,
|
||||
couse_symbol_y
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(TJAPlayer3.Skin.Game_Taiko_NamePlate_X[0], TJAPlayer3.Skin.Game_Taiko_NamePlate_Y[0], 0);
|
||||
|
||||
if(TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
|
||||
{
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(TJAPlayer3.Skin.Game_Taiko_NamePlate_X[1], TJAPlayer3.Skin.Game_Taiko_NamePlate_Y[1], 1);
|
||||
}
|
||||
|
||||
if (TJAPlayer3.Tx.Taiko_PlayerNumber[0] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Taiko_PlayerNumber[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_PlayerNumber_X[0], TJAPlayer3.Skin.Game_Taiko_PlayerNumber_Y[0]);
|
||||
}
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay && TJAPlayer3.Tx.Taiko_PlayerNumber[1] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Taiko_PlayerNumber[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_PlayerNumber_X[1], TJAPlayer3.Skin.Game_Taiko_PlayerNumber_Y[1]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int namePlate_x;
|
||||
int namePlate_y;
|
||||
int playerNumber_x;
|
||||
int playerNumber_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Game_Taiko_NamePlate_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
namePlate_y = TJAPlayer3.Skin.Game_Taiko_NamePlate_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
|
||||
playerNumber_x = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
playerNumber_y = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Game_Taiko_NamePlate_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
namePlate_y = TJAPlayer3.Skin.Game_Taiko_NamePlate_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
|
||||
playerNumber_x = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
playerNumber_y = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Game_Taiko_NamePlate_X[i];
|
||||
namePlate_y = TJAPlayer3.Skin.Game_Taiko_NamePlate_Y[i];
|
||||
|
||||
playerNumber_x = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_X[i];
|
||||
playerNumber_y = TJAPlayer3.Skin.Game_Taiko_PlayerNumber_Y[i];
|
||||
}
|
||||
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(namePlate_x, namePlate_y, i);
|
||||
|
||||
if (TJAPlayer3.Tx.Taiko_PlayerNumber[i] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Taiko_PlayerNumber[i].t2D描画(TJAPlayer3.app.Device, playerNumber_x, playerNumber_y);
|
||||
}
|
||||
}
|
||||
return base.On進行描画();
|
||||
}
|
||||
@ -283,19 +449,14 @@ namespace TJAPlayer3
|
||||
public void tMtaikoEvent( int nChannel, int nHand, int nPlayer )
|
||||
{
|
||||
CConfigIni configIni = TJAPlayer3.ConfigIni;
|
||||
bool bAutoPlay = false;
|
||||
bool bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer];
|
||||
int playerShift = 5 * nPlayer;
|
||||
var _gt = configIni.nGameType[TJAPlayer3.GetActualPlayer(nPlayer)];
|
||||
|
||||
switch (nPlayer)
|
||||
{
|
||||
case 0:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
break;
|
||||
default:
|
||||
bAutoPlay = configIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -415,7 +576,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
//太鼓
|
||||
private STパッド状態[] stパッド状態 = new STパッド状態[ 4 * 5 ];
|
||||
private STパッド状態[] stパッド状態 = new STパッド状態[ 5 * 5 ];
|
||||
private long nフラッシュ制御タイマ;
|
||||
|
||||
//private CTexture[] txコースシンボル = new CTexture[ 6 ];
|
||||
|
@ -27,7 +27,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for(int i = 0; i < 2; i++)
|
||||
for(int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChara_Normal[i] = new CCounter();
|
||||
ctChara_Miss[i] = new CCounter();
|
||||
@ -81,7 +81,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On非活性化()
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ctChara_Normal[i] = null;
|
||||
ctChara_Miss[i] = null;
|
||||
@ -109,7 +109,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void OnManagedリソースの作成()
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.arモーション番号[i] = C変換.ar配列形式のstringをint配列に変換して返す(TJAPlayer3.Skin.Characters_Motion_Normal[this.iCurrentCharacter[i]]);
|
||||
this.arMissモーション番号[i] = C変換.ar配列形式のstringをint配列に変換して返す(TJAPlayer3.Skin.Characters_Motion_Miss[this.iCurrentCharacter[i]]);
|
||||
@ -141,7 +141,7 @@ namespace TJAPlayer3
|
||||
public override int On進行描画()
|
||||
{
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
{
|
||||
int Character = this.iCurrentCharacter[i];
|
||||
|
||||
if (TJAPlayer3.Skin.Characters_Ptn == 0)
|
||||
@ -333,28 +333,7 @@ namespace TJAPlayer3
|
||||
float chara_x;
|
||||
float chara_y;
|
||||
|
||||
float charaScale = 1.0f;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
chara_x = TJAPlayer3.Skin.Characters_X_AI[Character][i];
|
||||
chara_y = TJAPlayer3.Skin.Characters_Y_AI[Character][i];
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 0.58f;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
chara_x = TJAPlayer3.Skin.Characters_X[Character][i];
|
||||
chara_y = TJAPlayer3.Skin.Characters_Y[Character][i];
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 1.0f;
|
||||
}
|
||||
}
|
||||
float charaScale = 1.0f;
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
@ -363,9 +342,50 @@ namespace TJAPlayer3
|
||||
float resolutionScaleX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[Character][0];
|
||||
float resolutionScaleY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[Character][1];
|
||||
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
chara_x = (TJAPlayer3.Skin.Characters_X_AI[Character][i] * resolutionScaleX);
|
||||
chara_y = (TJAPlayer3.Skin.Characters_Y_AI[Character][i] * resolutionScaleY);
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 0.58f;
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
chara_x = (TJAPlayer3.Skin.Characters_X[Character][i] * resolutionScaleX);
|
||||
chara_y = (TJAPlayer3.Skin.Characters_Y[Character][i] * resolutionScaleY);
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 1.0f;
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
chara_x = (TJAPlayer3.Skin.Characters_5P[Character][0] * resolutionScaleX) + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
chara_y = (TJAPlayer3.Skin.Characters_5P[Character][1] * resolutionScaleY) + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 0.58f;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
chara_x = (TJAPlayer3.Skin.Characters_4P[Character][0] * resolutionScaleX) + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
chara_y = (TJAPlayer3.Skin.Characters_4P[Character][1] * resolutionScaleY) + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
|
||||
if (nowChara != null)
|
||||
{
|
||||
charaScale = 0.58f;
|
||||
}
|
||||
}
|
||||
|
||||
charaScale *= resolutionScaleY;
|
||||
chara_x *= resolutionScaleX;
|
||||
chara_y *= resolutionScaleY;
|
||||
//chara_x *= resolutionScaleX;
|
||||
//chara_y *= resolutionScaleY;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
@ -389,9 +409,20 @@ namespace TJAPlayer3
|
||||
nowChara.vc拡大縮小倍率.Y = 1.0f;
|
||||
}
|
||||
|
||||
if (this.b風船連打中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した)
|
||||
{
|
||||
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画(TJAPlayer3.Skin.Game_PuchiChara_X[i], TJAPlayer3.Skin.Game_PuchiChara_Y[i], TJAPlayer3.stage演奏ドラム画面.bIsAlreadyMaxed[i], player : i);
|
||||
if ((this.b風船連打中[i] != true && CharaAction_Balloon_Delay[i].b終了値に達した) || TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画(TJAPlayer3.Skin.Game_PuchiChara_X[i], TJAPlayer3.Skin.Game_PuchiChara_Y[i], TJAPlayer3.stage演奏ドラム画面.bIsAlreadyMaxed[i], player: i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画(TJAPlayer3.Skin.Game_PuchiChara_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i), TJAPlayer3.Skin.Game_PuchiChara_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i), TJAPlayer3.stage演奏ドラム画面.bIsAlreadyMaxed[i], player: i, scale: 0.5f);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.stage演奏ドラム画面.PuchiChara.On進行描画(TJAPlayer3.Skin.Game_PuchiChara_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i), TJAPlayer3.Skin.Game_PuchiChara_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i), TJAPlayer3.stage演奏ドラム画面.bIsAlreadyMaxed[i], player: i, scale: 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
return base.On進行描画();
|
||||
@ -414,8 +445,28 @@ namespace TJAPlayer3
|
||||
float resolutionScaleX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[this.iCurrentCharacter[i]][0];
|
||||
float resolutionScaleY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[this.iCurrentCharacter[i]][1];
|
||||
|
||||
float chara_x = TJAPlayer3.Skin.Characters_Balloon_X[this.iCurrentCharacter[i]][i];
|
||||
float chara_y = TJAPlayer3.Skin.Characters_Balloon_Y[this.iCurrentCharacter[i]][i];
|
||||
float chara_x = 0;
|
||||
float chara_y = 0;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
chara_x = TJAPlayer3.Skin.Characters_Balloon_X[this.iCurrentCharacter[i]][i];
|
||||
chara_y = TJAPlayer3.Skin.Characters_Balloon_Y[this.iCurrentCharacter[i]][i];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
chara_x = TJAPlayer3.Skin.Characters_Balloon_5P[this.iCurrentCharacter[i]][0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
chara_y = TJAPlayer3.Skin.Characters_Balloon_5P[this.iCurrentCharacter[i]][1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
chara_x = TJAPlayer3.Skin.Characters_Balloon_4P[this.iCurrentCharacter[i]][0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
chara_y = TJAPlayer3.Skin.Characters_Balloon_4P[this.iCurrentCharacter[i]][1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
}
|
||||
|
||||
chara_x *= resolutionScaleX;
|
||||
chara_y *= resolutionScaleY;
|
||||
|
||||
@ -438,9 +489,10 @@ namespace TJAPlayer3
|
||||
(TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0])
|
||||
+ chara_x,
|
||||
chara_y);
|
||||
}
|
||||
|
||||
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 (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
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_Broke[i].b終了値に達した)
|
||||
{
|
||||
@ -465,9 +517,10 @@ namespace TJAPlayer3
|
||||
(TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0])
|
||||
+ chara_x,
|
||||
chara_y);
|
||||
}
|
||||
|
||||
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 (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
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終了値に達した)
|
||||
{
|
||||
@ -486,11 +539,11 @@ namespace TJAPlayer3
|
||||
(TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.stage演奏ドラム画面.actLaneTaiko.nDefaultJudgePos[0, 0]) +
|
||||
chara_x,
|
||||
chara_y);
|
||||
}
|
||||
|
||||
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, 255, true, player : i);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
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, 255, true, player : i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -521,39 +574,39 @@ namespace TJAPlayer3
|
||||
//CharaAction_Balloon_Delay.n現在の値 = 0;
|
||||
}
|
||||
|
||||
public int[][] arモーション番号 = new int[2][];
|
||||
public int[][] arMissモーション番号 = new int[2][];
|
||||
public int[][] arMissDownモーション番号 = new int[2][];
|
||||
public int[][] arゴーゴーモーション番号 = new int[2][];
|
||||
public int[][] arクリアモーション番号 = new int[2][];
|
||||
public int[][] arモーション番号 = new int[5][];
|
||||
public int[][] arMissモーション番号 = new int[5][];
|
||||
public int[][] arMissDownモーション番号 = new int[5][];
|
||||
public int[][] arゴーゴーモーション番号 = new int[5][];
|
||||
public int[][] arクリアモーション番号 = new int[5][];
|
||||
|
||||
public CCounter[] ctキャラクターアクション_10コンボ = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_10コンボMAX = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_ゴーゴースタート = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_ゴーゴースタートMAX = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_ノルマ = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_魂MAX = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_Return = new CCounter[2];
|
||||
public CCounter[] CharaAction_Balloon_Breaking = new CCounter[2];
|
||||
public CCounter[] CharaAction_Balloon_Broke = new CCounter[2];
|
||||
public CCounter[] CharaAction_Balloon_Miss = new CCounter[2];
|
||||
public CCounter[] CharaAction_Balloon_Delay = new CCounter[2];
|
||||
public CCounter[] ctキャラクターアクション_10コンボ = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_10コンボMAX = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_ゴーゴースタート = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_ゴーゴースタートMAX = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_ノルマ = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_魂MAX = new CCounter[5];
|
||||
public CCounter[] ctキャラクターアクション_Return = new CCounter[5];
|
||||
public CCounter[] CharaAction_Balloon_Breaking = new CCounter[5];
|
||||
public CCounter[] CharaAction_Balloon_Broke = new CCounter[5];
|
||||
public CCounter[] CharaAction_Balloon_Miss = new CCounter[5];
|
||||
public CCounter[] CharaAction_Balloon_Delay = new CCounter[5];
|
||||
|
||||
public CCounter[] ctChara_Normal = new CCounter[2];
|
||||
public CCounter[] ctChara_Miss = new CCounter[2];
|
||||
public CCounter[] ctChara_MissDown = new CCounter[2];
|
||||
public CCounter[] ctChara_GoGo = new CCounter[2];
|
||||
public CCounter[] ctChara_Clear = new CCounter[2];
|
||||
public CCounter[] ctChara_Normal = new CCounter[5];
|
||||
public CCounter[] ctChara_Miss = new CCounter[5];
|
||||
public CCounter[] ctChara_MissDown = new CCounter[5];
|
||||
public CCounter[] ctChara_GoGo = new CCounter[5];
|
||||
public CCounter[] ctChara_Clear = new CCounter[5];
|
||||
|
||||
public Animations.FadeOut[] CharaAction_Balloon_FadeOut = new Animations.FadeOut[2];
|
||||
//private readonly int[] CharaAction_Balloon_FadeOut_StartMs = new int[2];
|
||||
private readonly int[][] CharaAction_Balloon_FadeOut_StartMs = new int[2][];
|
||||
public Animations.FadeOut[] CharaAction_Balloon_FadeOut = new Animations.FadeOut[5];
|
||||
//private readonly int[] CharaAction_Balloon_FadeOut_StartMs = new int[5];
|
||||
private readonly int[][] CharaAction_Balloon_FadeOut_StartMs = new int[5][];
|
||||
|
||||
public bool[] bマイどんアクション中 = new bool[2];
|
||||
public bool[] bマイどんアクション中 = new bool[5];
|
||||
|
||||
public bool[] b風船連打中 = new bool[2];
|
||||
public bool[] b演奏中 = new bool[2];
|
||||
public bool[] b風船連打中 = new bool[5];
|
||||
public bool[] b演奏中 = new bool[5];
|
||||
|
||||
public int[] iCurrentCharacter = new int[2] { 0, 0 };
|
||||
public int[] iCurrentCharacter = new int[5] { 0, 0, 0, 0, 0 };
|
||||
}
|
||||
}
|
||||
|
@ -49,54 +49,28 @@ namespace TJAPlayer3
|
||||
{
|
||||
if( player == 0 )
|
||||
{
|
||||
if( !this.st花火状態[ j ].b使用中 )
|
||||
if( !this.st花火状態[player][ j ].b使用中 )
|
||||
{
|
||||
this.st花火状態[j].ct進行 = new CCounter(0, 10, 20, TJAPlayer3.Timer);
|
||||
this.st花火状態[j].nPlayer = player;
|
||||
this.st花火状態[player][j].ct進行 = new CCounter(0, 10, 20, TJAPlayer3.Timer);
|
||||
this.st花火状態[player][j].nPlayer = player;
|
||||
|
||||
switch (nLane)
|
||||
{
|
||||
case 0x11:
|
||||
case 0x12:
|
||||
case 0x15:
|
||||
this.st花火状態[j].isBig = false;
|
||||
this.st花火状態[player][j].isBig = false;
|
||||
break;
|
||||
case 0x13:
|
||||
case 0x14:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
this.st花火状態[j].isBig = true;
|
||||
this.st花火状態[player][j].isBig = true;
|
||||
break;
|
||||
}
|
||||
this.st花火状態[j].nLane = nLane;
|
||||
this.st花火状態[player][j].nLane = nLane;
|
||||
|
||||
this.st花火状態[j].b使用中 = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( player == 1 )
|
||||
{
|
||||
if( !this.st花火状態2P[ j ].b使用中 )
|
||||
{
|
||||
this.st花火状態2P[ j ].ct進行 = new CCounter(0, 10, 20, TJAPlayer3.Timer);
|
||||
this.st花火状態2P[ j ].nPlayer = player;
|
||||
|
||||
switch (nLane)
|
||||
{
|
||||
case 0x11:
|
||||
case 0x12:
|
||||
case 0x15:
|
||||
this.st花火状態2P[ j ].isBig = false;
|
||||
break;
|
||||
case 0x13:
|
||||
case 0x14:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
this.st花火状態2P[ j ].isBig = true;
|
||||
break;
|
||||
}
|
||||
this.st花火状態2P[j].nLane = nLane;
|
||||
this.st花火状態2P[ j ].b使用中 = true;
|
||||
this.st花火状態[player][j].b使用中 = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -109,19 +83,23 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.ct炎 = new CCounter( 0, 6, 50, TJAPlayer3.Timer );
|
||||
|
||||
for (int i = 0; i < 32; i++ )
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
this.st花火状態[i].ct進行 = new CCounter();
|
||||
this.st花火状態2P[i].ct進行 = new CCounter();
|
||||
for (int i = 0; i < 32; i++)
|
||||
{
|
||||
this.st花火状態[player][i].ct進行 = new CCounter();
|
||||
}
|
||||
}
|
||||
base.On活性化();
|
||||
}
|
||||
public override void On非活性化()
|
||||
{
|
||||
for (int i = 0; i < 32; i++ )
|
||||
{
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
this.st花火状態[i].ct進行 = null;
|
||||
this.st花火状態2P[i].ct進行 = null;
|
||||
for (int i = 0; i < 32; i++)
|
||||
{
|
||||
this.st花火状態[player][i].ct進行 = null;
|
||||
}
|
||||
}
|
||||
this.ct炎 = null;
|
||||
}
|
||||
@ -166,8 +144,13 @@ namespace TJAPlayer3
|
||||
this.ctGaugeFlash.t進行Loop();
|
||||
|
||||
int nWidth = (TJAPlayer3.Skin.Game_Gauge_Rect[2] / 50);
|
||||
int nRectX2P = (int)(this.db現在のゲージ値[1] / 2) * nWidth;
|
||||
int nRectX = (int)( this.db現在のゲージ値[ 0 ] / 2 ) * nWidth;
|
||||
int[] nRectX = new int[] {
|
||||
(int)( this.db現在のゲージ値[ 0 ] / 2 ) * nWidth,
|
||||
(int)( this.db現在のゲージ値[ 1 ] / 2 ) * nWidth,
|
||||
(int)( this.db現在のゲージ値[ 2 ] / 2 ) * nWidth,
|
||||
(int)( this.db現在のゲージ値[ 3 ] / 2 ) * nWidth,
|
||||
(int)( this.db現在のゲージ値[ 4 ] / 2 ) * nWidth
|
||||
};
|
||||
int 虹ベース = ct虹アニメ.n現在の値 + 1;
|
||||
if (虹ベース == ct虹アニメ.n終了値+1) 虹ベース = 0;
|
||||
/*
|
||||
@ -193,18 +176,40 @@ namespace TJAPlayer3
|
||||
scale = 0.8f;
|
||||
}
|
||||
|
||||
int[] gauge_x = new int[5];
|
||||
int[] gauge_y = new int[5];
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
gauge_x[i] = TJAPlayer3.Skin.Game_Gauge_X[i];
|
||||
gauge_y[i] = TJAPlayer3.Skin.Game_Gauge_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
#region [Gauge base]
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
|
||||
{
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Dan[4]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[0], TJAPlayer3.Skin.Game_Gauge_Y[0],
|
||||
TJAPlayer3.Tx.Gauge_Dan[4]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Dan[0]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[0], TJAPlayer3.Skin.Game_Gauge_Y[0],
|
||||
TJAPlayer3.Tx.Gauge_Dan[0]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
|
||||
@ -216,7 +221,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Dan[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[0] + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Y[0],
|
||||
TJAPlayer3.Tx.Gauge_Dan[2].t2D描画(TJAPlayer3.app.Device, gauge_x[0] + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), gauge_y[0],
|
||||
new Rectangle((TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), 0, TJAPlayer3.Skin.Game_Gauge_Rect[2] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
}
|
||||
@ -227,16 +232,22 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Base[1]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1],
|
||||
for (int i = 1; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 1 : 3 + i;
|
||||
TJAPlayer3.Tx.Gauge_Base[index]?.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
}
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Base[2]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[0], TJAPlayer3.Skin.Game_Gauge_Y[0],
|
||||
TJAPlayer3.Tx.Gauge_Base[2]?.t2D描画(TJAPlayer3.app.Device, gauge_x[0], gauge_y[0],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 0 : 3;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
@ -246,16 +257,16 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Gauge_X[0];
|
||||
y = TJAPlayer3.Skin.Game_Gauge_Y[0];
|
||||
x = gauge_x[0];
|
||||
y = gauge_y[0];
|
||||
}
|
||||
|
||||
if (TJAPlayer3.Tx.Gauge_Base[0] != null)
|
||||
if (TJAPlayer3.Tx.Gauge_Base[index] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Base[0].vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.Tx.Gauge_Base[0].vc拡大縮小倍率.Y = scale;
|
||||
TJAPlayer3.Tx.Gauge_Base[index].vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.Tx.Gauge_Base[index].vc拡大縮小倍率.Y = scale;
|
||||
|
||||
TJAPlayer3.Tx.Gauge_Base[0].t2D描画(TJAPlayer3.app.Device, x, y,
|
||||
TJAPlayer3.Tx.Gauge_Base[index].t2D描画(TJAPlayer3.app.Device, x, y,
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
}
|
||||
@ -276,23 +287,23 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Gauge_X[0];
|
||||
y = TJAPlayer3.Skin.Game_Gauge_Y[0];
|
||||
x = gauge_x[0];
|
||||
y = gauge_y[0];
|
||||
}
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan)
|
||||
{
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
TJAPlayer3.Tx.Gauge_Dan[5]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX, TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
TJAPlayer3.Tx.Gauge_Dan[5]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
else
|
||||
TJAPlayer3.Tx.Gauge_Dan[1]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX, TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
TJAPlayer3.Tx.Gauge_Dan[1]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.DTX.Dan_C.Length; i++)
|
||||
{
|
||||
if (TJAPlayer3.DTX.Dan_C[i] != null && TJAPlayer3.DTX.Dan_C[i].GetExamType() == Exam.Type.Gauge && db現在のゲージ値[0] >= TJAPlayer3.DTX.Dan_C[i].GetValue(false))
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Dan[3].Opacity = 255;
|
||||
TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), y, new Rectangle(0, 0, nRectX - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
TJAPlayer3.Tx.Gauge_Dan[3]?.t2D描画(TJAPlayer3.app.Device, x + (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), y, new Rectangle(0, 0, nRectX[0] - (TJAPlayer3.DTX.Dan_C[i].GetValue(false) / 2 * nWidth), TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
|
||||
int Opacity = 0;
|
||||
if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0;
|
||||
@ -309,15 +320,17 @@ namespace TJAPlayer3
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.P1IsBlue())
|
||||
TJAPlayer3.Tx.Gauge[2]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX, TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
TJAPlayer3.Tx.Gauge[2]?.t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.Tx.Gauge[0] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[0].vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.Tx.Gauge[0].vc拡大縮小倍率.Y = scale;
|
||||
int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 0 : 3;
|
||||
|
||||
TJAPlayer3.Tx.Gauge[0].t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX, TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
if (TJAPlayer3.Tx.Gauge[index] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[index].vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.Tx.Gauge[index].vc拡大縮小倍率.Y = scale;
|
||||
|
||||
TJAPlayer3.Tx.Gauge[index].t2D描画(TJAPlayer3.app.Device, x, y, new Rectangle(0, 0, nRectX[0], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -358,18 +371,20 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].vc拡大縮小倍率.Y = scale;
|
||||
|
||||
bool smart = TJAPlayer3.ConfigIni.nPlayerCount > 2 || TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan;
|
||||
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].Opacity = 255;
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, x, y + (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0),
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : 0),
|
||||
new RectangleF(0,
|
||||
TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? 22 : 0,
|
||||
smart ? 22 : 0,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Width,
|
||||
TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height));
|
||||
smart ? TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値].szテクスチャサイズ.Height));
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (ct虹透明度.n現在の値 * 255 / (int)ct虹透明度.n終了値)/1;
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, x, y + (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? 22 : 0),
|
||||
new RectangleF(0,
|
||||
TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? 22 : 0,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, x, y + (smart ? 22 : 0),
|
||||
new RectangleF(0,
|
||||
smart ? 22 : 0,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Width,
|
||||
TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan ? TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height));
|
||||
smart ? TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2) : TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height));
|
||||
}
|
||||
}
|
||||
|
||||
@ -383,7 +398,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
#region[ 「Clear」icon ]
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
int text_x;
|
||||
int text_y;
|
||||
@ -417,47 +432,83 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ Gauge 2P ]
|
||||
|
||||
if( TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode && TJAPlayer3.Tx.Gauge[1] != null )
|
||||
for (int i = 1; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1], new Rectangle( 0, 0, nRectX2P, TJAPlayer3.Skin.Game_Gauge_Rect[3]) );
|
||||
if (db現在のゲージ値[1] >= 80.0 && db現在のゲージ値[1] < 100.0)
|
||||
int index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? 1 : i + 3;
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode && TJAPlayer3.Tx.Gauge[index] != null)
|
||||
{
|
||||
int Opacity = 0;
|
||||
if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0;
|
||||
else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f);
|
||||
else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f);
|
||||
TJAPlayer3.Tx.Gauge_Flash.Opacity = Opacity;
|
||||
TJAPlayer3.Tx.Gauge_Flash.t2D上下反転描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
if (TJAPlayer3.Tx.Gauge[1] != null )
|
||||
{
|
||||
if (this.db現在のゲージ値[1] >= 100.0)
|
||||
TJAPlayer3.Tx.Gauge[index].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i], new Rectangle(0, 0, nRectX[i], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
if (db現在のゲージ値[i] >= 80.0 && db現在のゲージ値[i] < 100.0)
|
||||
{
|
||||
this.ct虹アニメ.t進行Loop();
|
||||
this.ct虹透明度.t進行Loop();
|
||||
if (TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値] != null)
|
||||
int Opacity = 0;
|
||||
if (this.ctGaugeFlash.n現在の値 <= 365) Opacity = 0;
|
||||
else if (this.ctGaugeFlash.n現在の値 <= 448) Opacity = (int)((this.ctGaugeFlash.n現在の値 - 365) / 83f * 255f);
|
||||
else if (this.ctGaugeFlash.n現在の値 <= 531) Opacity = 255 - (int)((this.ctGaugeFlash.n現在の値 - 448) / 83f * 255f);
|
||||
TJAPlayer3.Tx.Gauge_Flash.Opacity = Opacity;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].Opacity = 255;
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].t2D上下反転描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1]);
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (int)(ct虹透明度.n現在の値 * 255 / ct虹透明度.n終了値) / 1;
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D上下反転描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1]);
|
||||
TJAPlayer3.Tx.Gauge_Flash.t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Flash.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_Rect[0], TJAPlayer3.Skin.Game_Gauge_Rect[1], TJAPlayer3.Skin.Game_Gauge_Rect[2], TJAPlayer3.Skin.Game_Gauge_Rect[3]));
|
||||
}
|
||||
}
|
||||
TJAPlayer3.Tx.Gauge_Line[1]?.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_X[1], TJAPlayer3.Skin.Game_Gauge_Y[1]);
|
||||
if (TJAPlayer3.Tx.Gauge[index] != null)
|
||||
{
|
||||
if (this.db現在のゲージ値[i] >= 100.0)
|
||||
{
|
||||
this.ct虹アニメ.t進行Loop();
|
||||
this.ct虹透明度.t進行Loop();
|
||||
if (TJAPlayer3.Tx.Gauge_Rainbow[this.ct虹アニメ.n現在の値] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].Opacity = 255;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i] + 22,
|
||||
new RectangleF(0, 22,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].szテクスチャサイズ.Width,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[ct虹アニメ.n現在の値].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2)));
|
||||
}
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].Opacity = (int)(ct虹透明度.n現在の値 * 255 / ct虹透明度.n終了値) / 1;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D上下反転描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i] + 22,
|
||||
new RectangleF(0, 22,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Width,
|
||||
TJAPlayer3.Tx.Gauge_Rainbow[虹ベース].szテクスチャサイズ.Height - (TJAPlayer3.Skin.Game_Gauge_Rect[3] / 2)));
|
||||
}
|
||||
}
|
||||
}
|
||||
TJAPlayer3.Tx.Gauge_Line[1]?.t2D描画(TJAPlayer3.app.Device, gauge_x[i], gauge_y[i]);
|
||||
}
|
||||
#region[ 「クリア」文字 ]
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
if (this.db現在のゲージ値[i] >= 80.0)
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[3]));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#region[ 「クリア」文字 ]
|
||||
if( this.db現在のゲージ値[ 1 ] >= 80.0 )
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Gauge[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Gauge_ClearText_X[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Y[1],
|
||||
new Rectangle(TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Game_Gauge_ClearText_Clear_Rect[3]));
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -480,8 +531,21 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_Fire_X[i];
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y[i];
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Fire_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Fire_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_Fire_X[i];
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Fire_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
if ( this.db現在のゲージ値[ i ] >= 100.0)
|
||||
@ -512,8 +576,21 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_X[i];
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Y[i];
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Gauge_Soul_X[i];
|
||||
y = TJAPlayer3.Skin.Gauge_Soul_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Gauge_Soul.vc拡大縮小倍率.X = scale;
|
||||
@ -532,34 +609,22 @@ namespace TJAPlayer3
|
||||
|
||||
//仮置き
|
||||
int[] nSoulExplosion = new int[] { 73, 468, 0, 0 };
|
||||
for( int d = 0; d < 32; d++ )
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if( this.st花火状態[d].b使用中 )
|
||||
for (int d = 0; d < 32; d++)
|
||||
{
|
||||
this.st花火状態[d].ct進行.t進行();
|
||||
if (this.st花火状態[d].ct進行.b終了値に達した)
|
||||
if (this.st花火状態[i][d].b使用中)
|
||||
{
|
||||
this.st花火状態[d].ct進行.t停止();
|
||||
this.st花火状態[d].b使用中 = false;
|
||||
this.st花火状態[i][d].ct進行.t進行();
|
||||
if (this.st花火状態[i][d].ct進行.b終了値に達した)
|
||||
{
|
||||
this.st花火状態[i][d].ct進行.t停止();
|
||||
this.st花火状態[i][d].b使用中 = false;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
for( int d = 0; d < 32; d++ )
|
||||
{
|
||||
if (this.st花火状態2P[d].b使用中)
|
||||
{
|
||||
this.st花火状態2P[d].ct進行.t進行();
|
||||
if (this.st花火状態2P[d].ct進行.b終了値に達した)
|
||||
{
|
||||
this.st花火状態2P[d].ct進行.t停止();
|
||||
this.st花火状態2P[d].b使用中 = false;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -573,8 +638,13 @@ namespace TJAPlayer3
|
||||
//-----------------
|
||||
private CCounter ctGaugeFlash;
|
||||
|
||||
protected STSTATUS[] st花火状態 = new STSTATUS[ 32 ];
|
||||
protected STSTATUS[] st花火状態2P = new STSTATUS[ 32 ];
|
||||
protected STSTATUS[][] st花火状態 = new STSTATUS[5][] {
|
||||
new STSTATUS[ 32 ],
|
||||
new STSTATUS[ 32 ],
|
||||
new STSTATUS[ 32 ],
|
||||
new STSTATUS[ 32 ],
|
||||
new STSTATUS[ 32 ]
|
||||
};
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
protected struct STSTATUS
|
||||
{
|
||||
|
@ -72,8 +72,9 @@ namespace TJAPlayer3
|
||||
{
|
||||
if( !base.b活性化してない )
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) return 0;
|
||||
for( int i = 0; i < 2; i++ )
|
||||
{
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode) break;
|
||||
|
||||
int j = i;
|
||||
@ -159,10 +160,10 @@ namespace TJAPlayer3
|
||||
|
||||
#region [ private ]
|
||||
//-----------------
|
||||
private CCounter[] ct進行 = new CCounter[ 2 ];
|
||||
private CCounter[] ct進行 = new CCounter[ 5 ];
|
||||
//private CTexture[] tx吹き出し本体 = new CTexture[ 2 ];
|
||||
//private CTexture tx数字;
|
||||
private int[] nCombo_渡 = new int[ 2 ];
|
||||
private int[] nCombo_渡 = new int[ 5 ];
|
||||
|
||||
private int NowDrawBalloon;
|
||||
|
||||
|
@ -33,7 +33,7 @@ namespace TJAPlayer3
|
||||
//base.t小文字表示( 20, 150, string.Format( "{0,7:######0}", this.nスコアの増分.Guitar ) );
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if (!this.ct点数アニメタイマ[i].b停止中)
|
||||
{
|
||||
@ -45,7 +45,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if (!this.ctボーナス加算タイマ[i].b停止中)
|
||||
{
|
||||
@ -58,10 +58,50 @@ namespace TJAPlayer3
|
||||
}
|
||||
}
|
||||
|
||||
int[] x = new int[5];
|
||||
int[] y = new int[5];
|
||||
int[] add_x = new int[5];
|
||||
int[] add_y = new int[5];
|
||||
int[] addBonus_x = new int[5];
|
||||
int[] addBonus_y = new int[5];
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Score_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Score_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
add_x[i] = TJAPlayer3.Skin.Game_Score_Add_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
add_y[i] = TJAPlayer3.Skin.Game_Score_Add_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
addBonus_x[i] = TJAPlayer3.Skin.Game_Score_AddBonus_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
addBonus_y[i] = TJAPlayer3.Skin.Game_Score_AddBonus_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Score_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Score_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
add_x[i] = TJAPlayer3.Skin.Game_Score_Add_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
add_y[i] = TJAPlayer3.Skin.Game_Score_Add_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
addBonus_x[i] = TJAPlayer3.Skin.Game_Score_AddBonus_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
addBonus_y[i] = TJAPlayer3.Skin.Game_Score_AddBonus_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Score_X[i];
|
||||
y[i] = TJAPlayer3.Skin.Game_Score_Y[i];
|
||||
add_x[i] = TJAPlayer3.Skin.Game_Score_Add_X[i];
|
||||
add_y[i] = TJAPlayer3.Skin.Game_Score_Add_Y[i];
|
||||
addBonus_x[i] = TJAPlayer3.Skin.Game_Score_AddBonus_X[i];
|
||||
addBonus_y[i] = TJAPlayer3.Skin.Game_Score_AddBonus_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
//CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, this.ctボーナス加算タイマ[0].n現在の値.ToString());
|
||||
|
||||
base.t小文字表示(TJAPlayer3.Skin.Game_Score_X[0], TJAPlayer3.Skin.Game_Score_Y[0], string.Format( "{0,7:######0}", this.n現在表示中のスコア[ 0 ].Taiko ), 0 , 256, 0);
|
||||
if( TJAPlayer3.stage演奏ドラム画面.bDoublePlay && !TJAPlayer3.ConfigIni.bAIBattleMode) base.t小文字表示(TJAPlayer3.Skin.Game_Score_X[1], TJAPlayer3.Skin.Game_Score_Y[1], string.Format( "{0,7:######0}", this.n現在表示中のスコア[ 1 ].Taiko ), 0 , 256, 1);
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
base.t小文字表示(x[i], y[i], string.Format("{0,7:######0}", this.n現在表示中のスコア[i].Taiko), 0, 256, i);
|
||||
}
|
||||
|
||||
for( int i = 0; i < 256; i++ )
|
||||
{
|
||||
@ -190,9 +230,9 @@ namespace TJAPlayer3
|
||||
pl = 1;
|
||||
|
||||
if ( this.n現在表示中のAddScore < 10 && this.stScore[ i ].bBonusScore == false )
|
||||
base.t小文字表示(TJAPlayer3.Skin.Game_Score_Add_X[this.stScore[i].nPlayer] + xAdd, this.stScore[ i ].nPlayer == 0 ? TJAPlayer3.Skin.Game_Score_Add_Y[ this.stScore[ i ].nPlayer ] + yAdd : TJAPlayer3.Skin.Game_Score_Add_Y[ this.stScore[ i ].nPlayer ] - yAdd, string.Format( "{0,7:######0}", this.stScore[ i ].nAddScore ), pl + 1 , alpha, stScore[i].nPlayer);
|
||||
base.t小文字表示(add_x[this.stScore[i].nPlayer] + xAdd, this.stScore[ i ].nPlayer == 0 && TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? add_y[ this.stScore[ i ].nPlayer ] + yAdd : add_y[ this.stScore[ i ].nPlayer ] - yAdd, string.Format( "{0,7:######0}", this.stScore[ i ].nAddScore ), pl + 1 , alpha, stScore[i].nPlayer);
|
||||
if( this.n現在表示中のAddScore < 10 && this.stScore[ i ].bBonusScore == true )
|
||||
base.t小文字表示(TJAPlayer3.Skin.Game_Score_AddBonus_X[this.stScore[i].nPlayer] + xAdd, TJAPlayer3.Skin.Game_Score_AddBonus_Y[ this.stScore[ i ].nPlayer ], string.Format( "{0,7:######0}", this.stScore[ i ].nAddScore ), pl + 1 , alpha, stScore[i].nPlayer);
|
||||
base.t小文字表示(addBonus_x[this.stScore[i].nPlayer] + xAdd, addBonus_y[ this.stScore[ i ].nPlayer ], string.Format( "{0,7:######0}", this.stScore[ i ].nAddScore ), pl + 1 , alpha, stScore[i].nPlayer);
|
||||
else
|
||||
{
|
||||
this.n現在表示中のAddScore--;
|
||||
|
@ -23,16 +23,15 @@ namespace TJAPlayer3
|
||||
}
|
||||
*/
|
||||
|
||||
this.ScoreRank = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[0] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[0]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[0] * 100) + (int)(Math.Ceiling(TJAPlayer3.stage演奏ドラム画面.nRollTimeMs[0] * 16.6 / 10) * 100 * 10)) };
|
||||
|
||||
this.ScoreRank2P = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[1] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[1]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[1] * 100) + (int)(Math.Ceiling(TJAPlayer3.stage演奏ドラム画面.nRollTimeMs[1] * 16.6 / 10) * 100 * 10)) };
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
this.counter[i] = new CCounter();
|
||||
this.counterJ2[i] = new CCounter();
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
this.ScoreRank[player] = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[player] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[player]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[player] * 100) + (int)(Math.Ceiling(TJAPlayer3.stage演奏ドラム画面.nRollTimeMs[player] * 16.6 / 10) * 100 * 10)) };
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
this.counter[player][i] = new CCounter();
|
||||
}
|
||||
}
|
||||
base.On活性化();
|
||||
}
|
||||
@ -44,9 +43,7 @@ namespace TJAPlayer3
|
||||
|
||||
private void displayScoreRank(int i, int player, float x, float y, int mode = 0)
|
||||
{
|
||||
CCounter cct = this.counter[i];
|
||||
if (player == 1)
|
||||
cct = this.counterJ2[i];
|
||||
CCounter cct = this.counter[player][i];
|
||||
|
||||
CTexture tex = TJAPlayer3.Tx.ScoreRank;
|
||||
if (mode == 1) // tower
|
||||
@ -86,12 +83,29 @@ namespace TJAPlayer3
|
||||
if (cct.n現在の値 >= 2745 && cct.n現在の値 <= 3000)
|
||||
{
|
||||
tex.Opacity = 255 - ((cct.n現在の値 - 2745));
|
||||
x = ((cct.n現在の値 - 2745) / 255.0f) * (player == 0 ? -TJAPlayer3.Skin.Game_Judge_Move[0] : TJAPlayer3.Skin.Game_Judge_Move[0]);
|
||||
y = ((cct.n現在の値 - 2745) / 255.0f) * (player == 0 ? -TJAPlayer3.Skin.Game_Judge_Move[1] : TJAPlayer3.Skin.Game_Judge_Move[1]);
|
||||
x = ((cct.n現在の値 - 2745) / 255.0f) * (player == 0 || TJAPlayer3.ConfigIni.nPlayerCount >= 2 ? -TJAPlayer3.Skin.Game_Judge_Move[0] : TJAPlayer3.Skin.Game_Judge_Move[0]);
|
||||
y = ((cct.n現在の値 - 2745) / 255.0f) * (player == 0 || TJAPlayer3.ConfigIni.nPlayerCount >= 2 ? -TJAPlayer3.Skin.Game_Judge_Move[1] : TJAPlayer3.Skin.Game_Judge_Move[1]);
|
||||
}
|
||||
|
||||
var xpos = TJAPlayer3.Skin.Game_ScoreRank_X[player] + (int)x;
|
||||
var ypos = TJAPlayer3.Skin.Game_ScoreRank_Y[player] + (int)y;
|
||||
var xpos = 0;
|
||||
var ypos = 0;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
xpos = TJAPlayer3.Skin.Game_ScoreRank_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player);
|
||||
ypos = TJAPlayer3.Skin.Game_ScoreRank_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
xpos = TJAPlayer3.Skin.Game_ScoreRank_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player);
|
||||
ypos = TJAPlayer3.Skin.Game_ScoreRank_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player);
|
||||
}
|
||||
else
|
||||
{
|
||||
xpos = TJAPlayer3.Skin.Game_ScoreRank_X[player];
|
||||
ypos = TJAPlayer3.Skin.Game_ScoreRank_Y[player];
|
||||
}
|
||||
xpos += (int)x;
|
||||
ypos += (int)y;
|
||||
|
||||
int width;
|
||||
int height;
|
||||
@ -125,14 +139,17 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower)
|
||||
{
|
||||
#region [Ensou score ranks]
|
||||
|
||||
counter[i].t進行();
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(0) >= ScoreRank[i])
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
displayScoreRank(i, 0, x, y);
|
||||
#region [Ensou score ranks]
|
||||
|
||||
#region [Legacy]
|
||||
counter[player][i].t進行();
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(player) >= ScoreRank[player][i])
|
||||
{
|
||||
displayScoreRank(i, player, x, y);
|
||||
|
||||
#region [Legacy]
|
||||
|
||||
/*
|
||||
if (!this.counter[i].b進行中)
|
||||
@ -168,50 +185,9 @@ namespace TJAPlayer3
|
||||
*/
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
x = 0;
|
||||
counterJ2[i].t進行();
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(1) >= ScoreRank2P[i])
|
||||
{
|
||||
displayScoreRank(i, 1, x, y);
|
||||
|
||||
#region [Legacy]
|
||||
|
||||
/*
|
||||
if (!this.counterJ2[i].b進行中)
|
||||
{
|
||||
this.counterJ2[i].t開始(0, 3000, 1, TJAPlayer3.Timer);
|
||||
}
|
||||
if (counterJ2[i].n現在の値 <= 255)
|
||||
{
|
||||
TJAPlayer3.Tx.ScoreRank.Opacity = counterJ2[i].n現在の値;
|
||||
x = 51 - (counterJ2[i].n現在の値 / 5.0f);
|
||||
}
|
||||
if (counterJ2[i].n現在の値 > 255 && counterJ2[i].n現在の値 <= 255 + 180)
|
||||
{
|
||||
TJAPlayer3.Tx.ScoreRank.Opacity = 255;
|
||||
TJAPlayer3.Tx.ScoreRank.vc拡大縮小倍率.X = 1.0f + (float)Math.Sin((counterJ2[i].n現在の値 - 255) * (Math.PI / 180)) * 0.2f;
|
||||
TJAPlayer3.Tx.ScoreRank.vc拡大縮小倍率.Y = 1.0f + (float)Math.Sin((counterJ2[i].n現在の値 - 255) * (Math.PI / 180)) * 0.2f;
|
||||
x = 0;
|
||||
}
|
||||
if (counterJ2[i].n現在の値 > 255 + 180 && counterJ2[i].n現在の値 <= 2745)
|
||||
{
|
||||
TJAPlayer3.Tx.ScoreRank.Opacity = 255;
|
||||
TJAPlayer3.Tx.ScoreRank.vc拡大縮小倍率.X = 1.0f;
|
||||
TJAPlayer3.Tx.ScoreRank.vc拡大縮小倍率.Y = 1.0f;
|
||||
x = 0;
|
||||
}
|
||||
if (counterJ2[i].n現在の値 >= 2745 && counterJ2[i].n現在の値 <= 3000)
|
||||
{
|
||||
TJAPlayer3.Tx.ScoreRank.Opacity = 255 - ((counterJ2[i].n現在の値 - 2745));
|
||||
x = -((counterJ2[i].n現在の値 - 2745) / 5.0f);
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.ScoreRank.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, 87, 720 - (98 + (int)x), new System.Drawing.Rectangle(0, i == 0 ? i * 114 : i * 120, 140, i == 0 ? 114 : 120));
|
||||
*/
|
||||
|
||||
#endregion
|
||||
x = 0;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@ -232,7 +208,7 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0
|
||||
};
|
||||
|
||||
counter[i].t進行();
|
||||
counter[0][i].t進行();
|
||||
|
||||
bool satisfied = true;
|
||||
for (int j = 0; j <= i; j++)
|
||||
@ -261,9 +237,13 @@ namespace TJAPlayer3
|
||||
return base.On進行描画();
|
||||
}
|
||||
|
||||
public int[] ScoreRank;
|
||||
public int[] ScoreRank2P;
|
||||
private CCounter[] counter = new CCounter[7];
|
||||
private CCounter[] counterJ2 = new CCounter[7];
|
||||
public int[][] ScoreRank = new int[5][];
|
||||
private CCounter[][] counter = new CCounter[5][] {
|
||||
new CCounter[7],
|
||||
new CCounter[7],
|
||||
new CCounter[7],
|
||||
new CCounter[7],
|
||||
new CCounter[7]
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -267,8 +267,25 @@ namespace TJAPlayer3
|
||||
if( TJAPlayer3.Tx.Effects_Hit_Explosion != null && !TJAPlayer3.IsPerformingCalibration )
|
||||
{
|
||||
int n = this.st状態[ i ].nIsBig == 1 ? (nHeight * 2) : 0;
|
||||
int nX = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[this.st状態[i].nPlayer];
|
||||
int nY = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[this.st状態[i].nPlayer];
|
||||
|
||||
int nX = 0;
|
||||
int nY = 0;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
nX = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * this.st状態[i].nPlayer);
|
||||
nY = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * this.st状態[i].nPlayer);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
nX = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * this.st状態[i].nPlayer);
|
||||
nY = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * this.st状態[i].nPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
nX = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[this.st状態[i].nPlayer];
|
||||
nY = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[this.st状態[i].nPlayer];
|
||||
}
|
||||
|
||||
switch( st状態[ i ].judge )
|
||||
{
|
||||
@ -340,8 +357,27 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Effects_Hit_Explosion_Big.t3D描画( TJAPlayer3.app.Device, mat );
|
||||
*/
|
||||
|
||||
float x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[this.st状態_大[i].nPlayer] - (TJAPlayer3.Tx.Effects_Hit_Explosion_Big.szテクスチャサイズ.Width * (f倍率 - 1.0f) / 2.0f);
|
||||
float y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[this.st状態_大[i].nPlayer] - (TJAPlayer3.Tx.Effects_Hit_Explosion_Big.szテクスチャサイズ.Height * (f倍率 - 1.0f) / 2.0f);
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * this.st状態[i].nPlayer);
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * this.st状態[i].nPlayer);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * this.st状態[i].nPlayer);
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * this.st状態[i].nPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[this.st状態[i].nPlayer];
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[this.st状態[i].nPlayer];
|
||||
}
|
||||
|
||||
x -= (TJAPlayer3.Tx.Effects_Hit_Explosion_Big.szテクスチャサイズ.Width * (f倍率 - 1.0f) / 2.0f);
|
||||
y -= (TJAPlayer3.Tx.Effects_Hit_Explosion_Big.szテクスチャサイズ.Height * (f倍率 - 1.0f) / 2.0f);
|
||||
|
||||
TJAPlayer3.Tx.Effects_Hit_Explosion_Big.vc拡大縮小倍率.X = f倍率;
|
||||
TJAPlayer3.Tx.Effects_Hit_Explosion_Big.vc拡大縮小倍率.Y = f倍率;
|
||||
|
@ -27,14 +27,14 @@ namespace TJAPlayer3
|
||||
public override void OnManagedリソースの作成()
|
||||
{
|
||||
|
||||
this.ct分岐アニメ進行 = new CCounter[ 4 ];
|
||||
this.nBefore = new CDTX.ECourse[ 4 ];
|
||||
this.nAfter = new CDTX.ECourse[ 4 ];
|
||||
this.ct分岐アニメ進行 = new CCounter[ 5 ];
|
||||
this.nBefore = new CDTX.ECourse[ 5 ];
|
||||
this.nAfter = new CDTX.ECourse[ 5 ];
|
||||
for ( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
this.ct分岐アニメ進行[ i ] = new CCounter();
|
||||
this.nBefore = new CDTX.ECourse[ 4 ];
|
||||
this.nAfter = new CDTX.ECourse[ 4 ];
|
||||
this.nBefore = new CDTX.ECourse[ 5 ];
|
||||
this.nAfter = new CDTX.ECourse[ 5 ];
|
||||
this.bState[ i ] = false;
|
||||
}
|
||||
if (TJAPlayer3.Tx.Lane_Base[0] != null)
|
||||
@ -63,11 +63,32 @@ namespace TJAPlayer3
|
||||
this.ct分岐アニメ進行[ i ].t停止();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int[] x = new int[5];
|
||||
int[] y = new int[5];
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_X[i];
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//アニメーション中の分岐レイヤー(背景)の描画を行う。
|
||||
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
for ( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
if( TJAPlayer3.stage演奏ドラム画面.bUseBranch[ i ] == true )
|
||||
{
|
||||
@ -94,28 +115,28 @@ namespace TJAPlayer3
|
||||
if (nBefore[i] == 0 && nAfter[i] == CDTX.ECourse.eNormal)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
//普通→達人
|
||||
if (nBefore[i] == 0 && nAfter[i] == CDTX.ECourse.eMaster)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
if( this.ct分岐アニメ進行[ i ].n現在の値 < 100 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
else if( this.ct分岐アニメ進行[ i ].n現在の値 >= 100 && this.ct分岐アニメ進行[ i ].n現在の値 < 150 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
else if( this.ct分岐アニメ進行[ i ].n現在の値 >= 150 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 250 ? 255 : ( ( (this.ct分岐アニメ進行[ i ].n現在の値 - 150) * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -123,47 +144,47 @@ namespace TJAPlayer3
|
||||
#region[ 玄人譜面_レベルアップ ]
|
||||
if (nBefore[i] == CDTX.ECourse.eExpert && nAfter[i] == CDTX.ECourse.eMaster)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region[ 玄人譜面_レベルダウン ]
|
||||
if (nBefore[i] == CDTX.ECourse.eExpert && nAfter[i] == CDTX.ECourse.eNormal)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region[ 達人譜面_レベルダウン ]
|
||||
if (nBefore[i] == CDTX.ECourse.eMaster && nAfter[i] == CDTX.ECourse.eNormal)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
if( this.ct分岐アニメ進行[ i ].n現在の値 < 100 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
else if( this.ct分岐アニメ進行[ i ].n現在の値 >= 100 && this.ct分岐アニメ進行[ i ].n現在の値 < 150 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
else if( this.ct分岐アニメ進行[ i ].n現在の値 >= 150 )
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 250 ? 255 : ( ( ( this.ct分岐アニメ進行[ i ].n現在の値 - 150 ) * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
}
|
||||
if (nBefore[i] == CDTX.ECourse.eMaster && nAfter[i] == CDTX.ECourse.eExpert)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = this.ct分岐アニメ進行[ i ].n現在の値 > 100 ? 255 : ( ( this.ct分岐アニメ進行[ i ].n現在の値 * 0xff ) / 100 );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[ i ], TJAPlayer3.Skin.Game_Lane_Y[ i ] );
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画( TJAPlayer3.app.Device, x[ i ], y[ i ] );
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@ -187,11 +208,11 @@ namespace TJAPlayer3
|
||||
|
||||
#region[ private ]
|
||||
//-----------------
|
||||
public bool[] bState = new bool[4];
|
||||
public CCounter[] ct分岐アニメ進行 = new CCounter[4];
|
||||
public bool[] bState = new bool[5];
|
||||
public CCounter[] ct分岐アニメ進行 = new CCounter[5];
|
||||
private CDTX.ECourse[] nBefore;
|
||||
private CDTX.ECourse[] nAfter;
|
||||
private int[] n透明度 = new int[4];
|
||||
private int[] n透明度 = new int[5];
|
||||
//private CTexture[] tx普通譜面 = new CTexture[2];
|
||||
//private CTexture[] tx玄人譜面 = new CTexture[2];
|
||||
//private CTexture[] tx達人譜面 = new CTexture[2];
|
||||
|
@ -27,7 +27,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.st状態[i].ct進行 = new CCounter();
|
||||
this.stBranch[i].ct分岐アニメ進行 = new CCounter();
|
||||
@ -51,7 +51,7 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On非活性化()
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.st状態[i].ct進行 = null;
|
||||
this.stBranch[i].ct分岐アニメ進行 = null;
|
||||
@ -79,22 +79,45 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (base.b初めての進行描画)
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
this.stBranch[i].nフラッシュ制御タイマ = (long)(CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
||||
base.b初めての進行描画 = false;
|
||||
}
|
||||
|
||||
//それぞれが独立したレイヤーでないといけないのでforループはパーツごとに分離すること。
|
||||
|
||||
|
||||
|
||||
#region[ レーン本体 ]
|
||||
|
||||
|
||||
|
||||
int[] x = new int[5];
|
||||
int[] y = new int[5];
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x[i] = TJAPlayer3.Skin.Game_Lane_X[i];
|
||||
y[i] = TJAPlayer3.Skin.Game_Lane_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (i == 1 && TJAPlayer3.ConfigIni.bAIBattleMode && TJAPlayer3.Tx.Lane_Background_AI != null)
|
||||
TJAPlayer3.Tx.Lane_Background_AI?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Background_AI?.t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
else
|
||||
TJAPlayer3.Tx.Lane_Background_Main?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Background_Main?.t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -149,21 +172,21 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.Tx.Lane_Base[0] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[0].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
break;
|
||||
case CDTX.ECourse.eExpert:
|
||||
if (TJAPlayer3.Tx.Lane_Base[1] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
break;
|
||||
case CDTX.ECourse.eMaster:
|
||||
if (TJAPlayer3.Tx.Lane_Base[2] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -188,9 +211,9 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.Tx.Lane_Base[0] != null && TJAPlayer3.Tx.Lane_Base[1] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
//普通→達人
|
||||
@ -202,8 +225,8 @@ namespace TJAPlayer3
|
||||
}
|
||||
if (TJAPlayer3.Tx.Lane_Base[0] != null && TJAPlayer3.Tx.Lane_Base[2] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
}
|
||||
@ -213,8 +236,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.Tx.Lane_Base[1] != null && TJAPlayer3.Tx.Lane_Base[2] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
}
|
||||
@ -224,8 +247,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.Tx.Lane_Base[1] != null && TJAPlayer3.Tx.Lane_Base[0] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
}
|
||||
@ -235,8 +258,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.Tx.Lane_Base[2] != null && TJAPlayer3.Tx.Lane_Base[0] != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Base[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
}
|
||||
@ -265,27 +288,27 @@ namespace TJAPlayer3
|
||||
if (this.ctゴーゴー.n現在の値 <= 4)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.vc拡大縮小倍率.Y = 0.2f;
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + 54);
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, x[i], y[i] + 54);
|
||||
}
|
||||
else if (this.ctゴーゴー.n現在の値 <= 5)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.vc拡大縮小倍率.Y = 0.4f;
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + 40);
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, x[i], y[i] + 40);
|
||||
}
|
||||
else if (this.ctゴーゴー.n現在の値 <= 6)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.vc拡大縮小倍率.Y = 0.6f;
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + 26);
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, x[i], y[i] + 26);
|
||||
}
|
||||
else if (this.ctゴーゴー.n現在の値 <= 8)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.vc拡大縮小倍率.Y = 0.8f;
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + 13);
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, x[i], y[i] + 13);
|
||||
}
|
||||
else if (this.ctゴーゴー.n現在の値 >= 9)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.vc拡大縮小倍率.Y = 1.0f;
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Background_GoGo.t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -319,15 +342,15 @@ namespace TJAPlayer3
|
||||
{
|
||||
case CDTX.ECourse.eNormal:
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
case CDTX.ECourse.eExpert:
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
case CDTX.ECourse.eMaster:
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -346,14 +369,14 @@ namespace TJAPlayer3
|
||||
if (this.stBranch[i].ct分岐アニメ進行.n現在の値 < 60)
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 30) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 30) + this.stBranch[i].nY);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
|
||||
}
|
||||
@ -367,9 +390,9 @@ namespace TJAPlayer3
|
||||
if (this.stBranch[i].ct分岐アニメ進行.n現在の値 < 60)
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 12) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 12) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = this.stBranch[i].ct分岐アニメ進行.n現在の値 > 100 ? 0 : (255 - ((this.stBranch[i].ct分岐アニメ進行.n現在の値 * 0xff) / 100));
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 20) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 20) + this.stBranch[i].nY);
|
||||
}
|
||||
//if( this.stBranch[ i ].ct分岐アニメ進行.n現在の値 >= 5 && this.stBranch[ i ].ct分岐アニメ進行.n現在の値 < 60 )
|
||||
//{
|
||||
@ -381,21 +404,21 @@ namespace TJAPlayer3
|
||||
else if (this.stBranch[i].ct分岐アニメ進行.n現在の値 >= 60 && this.stBranch[i].ct分岐アニメ進行.n現在の値 < 150)
|
||||
{
|
||||
this.stBranch[i].nY = 21;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = 255;
|
||||
}
|
||||
else if (this.stBranch[i].ct分岐アニメ進行.n現在の値 >= 150 && this.stBranch[i].ct分岐アニメ進行.n現在の値 < 210)
|
||||
{
|
||||
this.stBranch[i].nY = ((this.stBranch[i].ct分岐アニメ進行.n現在の値 - 150) / 2);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = this.stBranch[i].ct分岐アニメ進行.n現在の値 > 100 ? 0 : (255 - ((this.stBranch[i].ct分岐アニメ進行.n現在の値 * 0xff) / 100));
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 20) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 20) + this.stBranch[i].nY);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -411,12 +434,12 @@ namespace TJAPlayer3
|
||||
if (this.stBranch[i].ct分岐アニメ進行.n現在の値 < 60)
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 20) + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 20) + this.stBranch[i].nY);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -431,12 +454,12 @@ namespace TJAPlayer3
|
||||
if (this.stBranch[i].ct分岐アニメ進行.n現在の値 < 60)
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 30) - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 30) - this.stBranch[i].nY);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -451,27 +474,27 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = this.stBranch[i].ct分岐アニメ進行.n現在の値 > 100 ? 0 : (255 - ((this.stBranch[i].ct分岐アニメ進行.n現在の値 * 0xff) / 60));
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 30) - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 30) - this.stBranch[i].nY);
|
||||
}
|
||||
else if (this.stBranch[i].ct分岐アニメ進行.n現在の値 >= 60 && this.stBranch[i].ct分岐アニメ進行.n現在の値 < 150)
|
||||
{
|
||||
this.stBranch[i].nY = 21;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = 255;
|
||||
}
|
||||
else if (this.stBranch[i].ct分岐アニメ進行.n現在の値 >= 150 && this.stBranch[i].ct分岐アニメ進行.n現在の値 < 210)
|
||||
{
|
||||
this.stBranch[i].nY = ((this.stBranch[i].ct分岐アニメ進行.n現在の値 - 150) / 2);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = this.stBranch[i].ct分岐アニメ進行.n現在の値 > 100 ? 0 : (255 - ((this.stBranch[i].ct分岐アニメ進行.n現在の値 * 0xff) / 100));
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 30) - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 30) - this.stBranch[i].nY);
|
||||
}
|
||||
else if (this.stBranch[i].ct分岐アニメ進行.n現在の値 >= 210)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
}
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eExpert)
|
||||
@ -484,12 +507,12 @@ namespace TJAPlayer3
|
||||
if (this.stBranch[i].ct分岐アニメ進行.n現在の値 < 60)
|
||||
{
|
||||
this.stBranch[i].nY = this.stBranch[i].ct分岐アニメ進行.n現在の値 / 2;
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 30) - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 30) - this.stBranch[i].nY);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
}
|
||||
|
||||
}
|
||||
@ -509,15 +532,15 @@ namespace TJAPlayer3
|
||||
{
|
||||
case CDTX.ECourse.eNormal:
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
case CDTX.ECourse.eExpert:
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
case CDTX.ECourse.eMaster:
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = 255;
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i]);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -528,15 +551,15 @@ namespace TJAPlayer3
|
||||
//普通→玄人
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eExpert)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
//普通→達人
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eNormal && this.stBranch[i].nAfter == CDTX.ECourse.eMaster)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
#endregion
|
||||
@ -544,30 +567,30 @@ namespace TJAPlayer3
|
||||
//玄人→達人
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eMaster)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] + 20) - this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
#endregion
|
||||
#region[ 玄人譜面_レベルダウン ]
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eExpert && this.stBranch[i].nAfter == CDTX.ECourse.eNormal)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
#endregion
|
||||
#region[ 達人譜面_レベルダウン ]
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eNormal)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[0].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
if (this.stBranch[i].nBefore == CDTX.ECourse.eMaster && this.stBranch[i].nAfter == CDTX.ECourse.eExpert)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], TJAPlayer3.Skin.Game_Lane_Y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[i], (TJAPlayer3.Skin.Game_Lane_Y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].t2D描画(TJAPlayer3.app.Device, x[i], y[i] + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[1].t2D描画(TJAPlayer3.app.Device, x[i], (y[i] - 24) + this.stBranch[i].nY座標);
|
||||
TJAPlayer3.Tx.Lane_Text[2].Opacity = this.stBranch[i].nBranchレイヤー透明度;
|
||||
}
|
||||
#endregion
|
||||
@ -578,13 +601,15 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (TJAPlayer3.Tx.Lane_Background_Sub != null)
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_Sub.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_Sub_X[0], TJAPlayer3.Skin.Game_Lane_Sub_Y[0]);
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
|
||||
if (TJAPlayer3.Tx.Lane_Background_Sub != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_Sub.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_Sub_X[1], TJAPlayer3.Skin.Game_Lane_Sub_Y[1]);
|
||||
TJAPlayer3.Tx.Lane_Background_Sub.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_Sub_X[0], TJAPlayer3.Skin.Game_Lane_Sub_Y[0]);
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
|
||||
{
|
||||
TJAPlayer3.Tx.Lane_Background_Sub.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_Sub_X[1], TJAPlayer3.Skin.Game_Lane_Sub_Y[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -596,6 +621,85 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.Tx.Taiko_Frame[0] != null)
|
||||
{
|
||||
// Tower frame (without tamashii jauge) if playing a tower chart
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int frame_x;
|
||||
int frame_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
frame_x = TJAPlayer3.Skin.Game_Taiko_Frame_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
frame_y = TJAPlayer3.Skin.Game_Taiko_Frame_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
frame_x = TJAPlayer3.Skin.Game_Taiko_Frame_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
frame_y = TJAPlayer3.Skin.Game_Taiko_Frame_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
frame_x = TJAPlayer3.Skin.Game_Taiko_Frame_X[i];
|
||||
frame_y = TJAPlayer3.Skin.Game_Taiko_Frame_Y[i];
|
||||
}
|
||||
|
||||
CTexture tex = null;
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bTokkunMode)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[3];
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[5];
|
||||
}
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[2];
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[6];
|
||||
}
|
||||
else
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[0];
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[4];
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[6];
|
||||
}
|
||||
else
|
||||
{
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[1];
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[6];
|
||||
break;
|
||||
case 3:
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[6];
|
||||
break;
|
||||
case 4:
|
||||
tex = TJAPlayer3.Tx.Taiko_Frame[6];
|
||||
break;
|
||||
}
|
||||
|
||||
tex?.t2D描画(TJAPlayer3.app.Device, frame_x, frame_y);
|
||||
}
|
||||
|
||||
/*
|
||||
if (TJAPlayer3.ConfigIni.bTokkunMode == true && TJAPlayer3.Tx.Taiko_Frame[3] != null)
|
||||
TJAPlayer3.Tx.Taiko_Frame[3]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Frame_X[0], TJAPlayer3.Skin.Game_Taiko_Frame_Y[0]);
|
||||
else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower && TJAPlayer3.Tx.Taiko_Frame[2] != null)
|
||||
@ -612,6 +716,7 @@ namespace TJAPlayer3
|
||||
else
|
||||
TJAPlayer3.Tx.Taiko_Frame[1]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Frame_X[1], TJAPlayer3.Skin.Game_Taiko_Frame_Y[1]);
|
||||
}
|
||||
*/
|
||||
}
|
||||
var nTime = (long)(CSound管理.rc演奏用タイマ.n現在時刻 * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
||||
|
||||
@ -684,10 +789,10 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.Tx.Judge_Frame != null)
|
||||
{
|
||||
TJAPlayer3.Tx.Judge_Frame.b加算合成 = TJAPlayer3.Skin.Game_JudgeFrame_AddBlend;
|
||||
TJAPlayer3.Tx.Judge_Frame.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.nScrollFieldX[0], TJAPlayer3.Skin.nScrollFieldY[0], new Rectangle(0, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
|
||||
|
||||
if (TJAPlayer3.stage演奏ドラム画面.bDoublePlay)
|
||||
TJAPlayer3.Tx.Judge_Frame.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.nScrollFieldX[1], TJAPlayer3.Skin.nScrollFieldY[1], new Rectangle(0, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
TJAPlayer3.Tx.Judge_Frame.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.stage演奏ドラム画面.NoteOriginX[i], TJAPlayer3.stage演奏ドラム画面.NoteOriginY[i], new Rectangle(0, 0, TJAPlayer3.Skin.Game_Notes_Size[0], TJAPlayer3.Skin.Game_Notes_Size[1]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -718,8 +823,24 @@ namespace TJAPlayer3
|
||||
int width = TJAPlayer3.Tx.Effects_Fire.szテクスチャサイズ.Width / 7;
|
||||
int height = TJAPlayer3.Tx.Effects_Fire.szテクスチャサイズ.Height;
|
||||
|
||||
float x = TJAPlayer3.Skin.Game_Effect_Fire_X[i] - (width * (f倍率 - 1.0f) / 2.0f);
|
||||
float y = TJAPlayer3.Skin.Game_Effect_Fire_Y[i] - (height * (f倍率 - 1.0f) / 2.0f);
|
||||
float x = -(width * (f倍率 - 1.0f) / 2.0f);
|
||||
float y = -(height * (f倍率 - 1.0f) / 2.0f);
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x += TJAPlayer3.Skin.Game_Effect_Fire_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y += TJAPlayer3.Skin.Game_Effect_Fire_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x += TJAPlayer3.Skin.Game_Effect_Fire_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y += TJAPlayer3.Skin.Game_Effect_Fire_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x += TJAPlayer3.Skin.Game_Effect_Fire_X[i];
|
||||
y += TJAPlayer3.Skin.Game_Effect_Fire_Y[i];
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Effects_Fire.vc拡大縮小倍率.X = f倍率;
|
||||
TJAPlayer3.Tx.Effects_Fire.vc拡大縮小倍率.Y = f倍率;
|
||||
@ -744,8 +865,24 @@ namespace TJAPlayer3
|
||||
//this.txアタックエフェクトLower.b加算合成 = true;
|
||||
int n = this.st状態[i].nIsBig == 1 ? 520 : 0;
|
||||
|
||||
float x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[i];
|
||||
float y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[i];
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * i);
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * i);
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_X[i];
|
||||
y = TJAPlayer3.Skin.Game_Effects_Hit_Explosion_Y[i];
|
||||
}
|
||||
|
||||
switch (st状態[i].judge)
|
||||
{
|
||||
@ -881,7 +1018,7 @@ namespace TJAPlayer3
|
||||
|
||||
//private CTextureAf txアタックエフェクトLower;
|
||||
|
||||
protected STSTATUS[] st状態 = new STSTATUS[4];
|
||||
protected STSTATUS[] st状態 = new STSTATUS[5];
|
||||
|
||||
//private CTexture[] txゴーゴースプラッシュ;
|
||||
|
||||
@ -900,7 +1037,7 @@ namespace TJAPlayer3
|
||||
|
||||
|
||||
|
||||
public STBRANCH[] stBranch = new STBRANCH[4];
|
||||
public STBRANCH[] stBranch = new STBRANCH[5];
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct STBRANCH
|
||||
{
|
||||
@ -929,7 +1066,7 @@ namespace TJAPlayer3
|
||||
private int n移動目的場所X2;
|
||||
private int n移動方向2;
|
||||
|
||||
internal int[,] nDefaultJudgePos = new int[2, 2];
|
||||
internal int[,] nDefaultJudgePos = new int[5, 2];
|
||||
|
||||
|
||||
//-----------------
|
||||
|
@ -19,11 +19,14 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
JudgeAnimes = new JudgeAnime[2, 512];
|
||||
JudgeAnimes = new JudgeAnime[5, 512];
|
||||
for (int i = 0; i < 512; i++)
|
||||
{
|
||||
JudgeAnimes[0, i] = new JudgeAnime();
|
||||
JudgeAnimes[1, i] = new JudgeAnime();
|
||||
JudgeAnimes[2, i] = new JudgeAnime();
|
||||
JudgeAnimes[3, i] = new JudgeAnime();
|
||||
JudgeAnimes[4, i] = new JudgeAnime();
|
||||
}
|
||||
base.On活性化();
|
||||
}
|
||||
@ -34,7 +37,10 @@ namespace TJAPlayer3
|
||||
{
|
||||
JudgeAnimes[0, i] = null;
|
||||
JudgeAnimes[1, i] = null;
|
||||
}
|
||||
JudgeAnimes[2, i] = null;
|
||||
JudgeAnimes[3, i] = null;
|
||||
JudgeAnimes[4, i] = null;
|
||||
}
|
||||
base.On非活性化();
|
||||
}
|
||||
|
||||
@ -45,7 +51,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
for (int i = 0; i < 512; i++)
|
||||
{
|
||||
for(int j = 0; j < 2; j++)
|
||||
for(int j = 0; j < 5; j++)
|
||||
{
|
||||
if (JudgeAnimes[j, i].counter.b停止中) continue;
|
||||
JudgeAnimes[j, i].counter.t進行();
|
||||
@ -54,8 +60,27 @@ namespace TJAPlayer3
|
||||
{
|
||||
float moveValue = CubicEaseOut(JudgeAnimes[j, i].counter.n現在の値 / 410.0f) - 1.0f;
|
||||
|
||||
float x = TJAPlayer3.Skin.Game_Judge_X[j] + (moveValue * TJAPlayer3.Skin.Game_Judge_Move[0]);
|
||||
float y = TJAPlayer3.Skin.Game_Judge_Y[j] + (moveValue * TJAPlayer3.Skin.Game_Judge_Move[1]);
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Judge_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * j);
|
||||
y = TJAPlayer3.Skin.Game_Judge_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * j);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Judge_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * j);
|
||||
y = TJAPlayer3.Skin.Game_Judge_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * j);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Judge_X[j];
|
||||
y = TJAPlayer3.Skin.Game_Judge_Y[j];
|
||||
}
|
||||
x += (moveValue * TJAPlayer3.Skin.Game_Judge_Move[0]);
|
||||
y += (moveValue * TJAPlayer3.Skin.Game_Judge_Move[1]);
|
||||
|
||||
TJAPlayer3.Tx.Judge.Opacity = (int)(255f - (JudgeAnimes[j, i].counter.n現在の値 >= 360 ? ((JudgeAnimes[j, i].counter.n現在の値 - 360) / 50.0f) * 255f : 0f));
|
||||
TJAPlayer3.Tx.Judge.t2D描画(TJAPlayer3.app.Device, x, y, JudgeAnimes[j, i].rc);
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ namespace TJAPlayer3
|
||||
public override void On活性化()
|
||||
{
|
||||
this.bリザルトボイス再生済み = false;
|
||||
this.Mode = new EndMode[2];
|
||||
this.Mode = new EndMode[5];
|
||||
base.On活性化();
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
var origindir = CSkin.Path($"{TextureLoader.BASE}{TextureLoader.GAME}{TextureLoader.END}");
|
||||
|
||||
FailedScript = new EndAnimeScript($@"{origindir}ClearFailed\Script.lua");
|
||||
FailedScript = new EndAnimeScript($@"{origindir}ClearFailed\Script.lua");//ClearFailed
|
||||
FailedScript.Init();
|
||||
|
||||
ClearScript = new EndAnimeScript($@"{origindir}Clear\Script.lua");
|
||||
@ -535,10 +535,10 @@ namespace TJAPlayer3
|
||||
*/
|
||||
|
||||
CCounter ct進行Loop;
|
||||
CSound[] soundClear = new CSound[4];
|
||||
CSound[] soundFailed = new CSound[4];
|
||||
CSound[] soundFullCombo = new CSound[4];
|
||||
CSound[] soundDondaFullCombo = new CSound[4];
|
||||
CSound[] soundClear = new CSound[5];
|
||||
CSound[] soundFailed = new CSound[5];
|
||||
CSound[] soundFullCombo = new CSound[5];
|
||||
CSound[] soundDondaFullCombo = new CSound[5];
|
||||
EndMode[] Mode;
|
||||
enum EndMode
|
||||
{
|
||||
|
@ -65,25 +65,25 @@ namespace TJAPlayer3
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
this.ct連打枠カウンター = new CCounter[ 4 ];
|
||||
this.ct連打アニメ = new CCounter[4];
|
||||
FadeOut = new Animations.FadeOut[4];
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
this.ct連打枠カウンター = new CCounter[ 5 ];
|
||||
this.ct連打アニメ = new CCounter[5];
|
||||
FadeOut = new Animations.FadeOut[5];
|
||||
for ( int i = 0; i < 5; i++ )
|
||||
{
|
||||
this.ct連打枠カウンター[ i ] = new CCounter();
|
||||
this.ct連打アニメ[i] = new CCounter();
|
||||
// 後から変えれるようにする。大体10フレーム分。
|
||||
FadeOut[i] = new Animations.FadeOut(167);
|
||||
}
|
||||
this.b表示 = new bool[]{ false, false, false, false };
|
||||
this.n連打数 = new int[ 4 ];
|
||||
this.b表示 = new bool[]{ false, false, false, false, false };
|
||||
this.n連打数 = new int[ 5 ];
|
||||
|
||||
base.On活性化();
|
||||
}
|
||||
|
||||
public override void On非活性化()
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ct連打枠カウンター[i] = null;
|
||||
ct連打アニメ[i] = null;
|
||||
@ -109,6 +109,8 @@ namespace TJAPlayer3
|
||||
|
||||
public int On進行描画( int n連打数, int player )
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) return base.On進行描画();
|
||||
|
||||
this.ct連打枠カウンター[ player ].t進行();
|
||||
this.ct連打アニメ[player].t進行();
|
||||
FadeOut[player].Tick();
|
||||
|
@ -172,6 +172,9 @@ namespace TJAPlayer3
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) return 0;
|
||||
|
||||
for (int i = 0; i < 128; i++)
|
||||
{
|
||||
if(RollCharas[i].IsUsing)
|
||||
|
@ -67,8 +67,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
this.ct風船終了 = new CCounter();
|
||||
this.ct風船ふきだしアニメ = new CCounter();
|
||||
this.ct風船アニメ = new CCounter[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
this.ct風船アニメ = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.ct風船アニメ[i] = new CCounter();
|
||||
}
|
||||
@ -146,22 +146,56 @@ namespace TJAPlayer3
|
||||
|
||||
if (n連打数 != 0)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int frame_x;
|
||||
int frame_y;
|
||||
int num_x;
|
||||
int num_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Balloon_Balloon_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player);
|
||||
y = TJAPlayer3.Skin.Game_Balloon_Balloon_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player);
|
||||
frame_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player);
|
||||
frame_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player);
|
||||
num_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player);
|
||||
num_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Balloon_Balloon_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player);
|
||||
y = TJAPlayer3.Skin.Game_Balloon_Balloon_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player);
|
||||
frame_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * player);
|
||||
frame_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * player);
|
||||
num_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_4P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * player);
|
||||
num_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_4P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * player);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Balloon_Balloon_X[player];
|
||||
y = TJAPlayer3.Skin.Game_Balloon_Balloon_Y[player];
|
||||
frame_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_X[player];
|
||||
frame_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_Y[player];
|
||||
num_x = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_X[player];
|
||||
num_y = TJAPlayer3.Skin.Game_Balloon_Balloon_Number_Y[player];
|
||||
}
|
||||
//1P:0 2P:245
|
||||
//if (CDTXMania.Tx.Chara_Balloon_Breaking != null && CDTXMania.ConfigIni.ShowChara)
|
||||
// CDTXMania.Tx.Chara_Balloon_Breaking.t2D描画(CDTXMania.app.Device, CDTXMania.Skin.Game_Chara_Balloon_X[player], CDTXMania.Skin.Game_Chara_Balloon_Y[player]);
|
||||
for (int j = 0; j < 5; j++)
|
||||
{
|
||||
|
||||
if (n残り打数[j] < n連打数)
|
||||
{
|
||||
if (TJAPlayer3.Tx.Balloon_Breaking[j] != null)
|
||||
TJAPlayer3.Tx.Balloon_Breaking[j].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Balloon_Balloon_X[player] + (this.ct風船ふきだしアニメ.n現在の値 == 1 ? 3 : 0), TJAPlayer3.Skin.Game_Balloon_Balloon_Y[player]);
|
||||
TJAPlayer3.Tx.Balloon_Breaking[j].t2D描画(TJAPlayer3.app.Device, x + (this.ct風船ふきだしアニメ.n現在の値 == 1 ? 3 : 0), y);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//1P:31 2P:329
|
||||
if (TJAPlayer3.Tx.Balloon_Balloon != null)
|
||||
TJAPlayer3.Tx.Balloon_Balloon.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_X[player], TJAPlayer3.Skin.Game_Balloon_Balloon_Frame_Y[player]);
|
||||
this.t文字表示(TJAPlayer3.Skin.Game_Balloon_Balloon_Number_X[player], TJAPlayer3.Skin.Game_Balloon_Balloon_Number_Y[player], n連打数, player);
|
||||
TJAPlayer3.Tx.Balloon_Balloon.t2D描画(TJAPlayer3.app.Device, frame_x, frame_y);
|
||||
this.t文字表示(num_x, num_y, n連打数, player);
|
||||
//CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, n連打数.ToString() );
|
||||
}
|
||||
if (n連打数 == 0 && TJAPlayer3.stage演奏ドラム画面.actChara.b風船連打中[player])
|
||||
|
@ -197,9 +197,9 @@ namespace TJAPlayer3
|
||||
base.ReSetScore(TJAPlayer3.DTX.nScoreInit[0, TJAPlayer3.stage選曲.n確定された曲の難易度[0]], TJAPlayer3.DTX.nScoreDiff[TJAPlayer3.stage選曲.n確定された曲の難易度[0]]);
|
||||
|
||||
#region [ branch ]
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
this.n分岐した回数[0] = 0;
|
||||
this.n分岐した回数[i] = 0;
|
||||
this.bLEVELHOLD[i] = false;
|
||||
}
|
||||
this.nBranch条件数値A = 0;
|
||||
@ -211,6 +211,9 @@ namespace TJAPlayer3
|
||||
|
||||
ifp[0] = false;
|
||||
ifp[1] = false;
|
||||
ifp[2] = false;
|
||||
ifp[3] = false;
|
||||
ifp[4] = false;
|
||||
|
||||
this.nStoredHit = new int[TJAPlayer3.ConfigIni.nPlayerCount];
|
||||
|
||||
@ -231,7 +234,7 @@ namespace TJAPlayer3
|
||||
//dbUnit = Math.Ceiling( dbUnit * 1000.0 );
|
||||
//dbUnit = dbUnit / 1000.0;
|
||||
|
||||
for(int nPlayer = 0; nPlayer < 2; nPlayer++)
|
||||
for(int nPlayer = 0; nPlayer < 5; nPlayer++)
|
||||
{
|
||||
int p = TJAPlayer3.GetActualPlayer(nPlayer);
|
||||
|
||||
@ -312,7 +315,7 @@ namespace TJAPlayer3
|
||||
Discord.UpdatePresence(TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stage選曲.r確定された曲.strタイトル
|
||||
+ Discord.DiffToString(TJAPlayer3.stage選曲.n確定された曲の難易度[0])
|
||||
: "",
|
||||
Properties.Discord.Stage_InGame + (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay == true ? " (" + Properties.Discord.Info_IsAuto + ")" : ""),
|
||||
Properties.Discord.Stage_InGame + (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] == true ? " (" + Properties.Discord.Info_IsAuto + ")" : ""),
|
||||
0,
|
||||
endTimeStamp,
|
||||
TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? difficultyName.ToLower() : "",
|
||||
@ -353,23 +356,19 @@ namespace TJAPlayer3
|
||||
// their drum sound effects with the sounds of the input calibration file.
|
||||
// Instead, we want them focused on the sounds of their keyboard, tatacon,
|
||||
// other controller, etc. and the sounds of the input calibration audio file.
|
||||
if (!TJAPlayer3.IsPerformingCalibration)
|
||||
{
|
||||
int actual1 = TJAPlayer3.GetActualPlayer(0);
|
||||
int actual2 = TJAPlayer3.GetActualPlayer(1);
|
||||
if (!TJAPlayer3.IsPerformingCalibration)
|
||||
{
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
int actual = TJAPlayer3.GetActualPlayer(i);
|
||||
|
||||
var hs = TJAPlayer3.Skin.hsHitSoundsInformations;
|
||||
|
||||
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);
|
||||
var hs = TJAPlayer3.Skin.hsHitSoundsInformations;
|
||||
|
||||
this.soundRed[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.don[actual]), ESoundGroup.SoundEffect);
|
||||
this.soundBlue[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.ka[actual]), ESoundGroup.SoundEffect);
|
||||
this.soundAdlib[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.adlib[actual]), ESoundGroup.SoundEffect);
|
||||
this.soundClap[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.clap[actual]), ESoundGroup.SoundEffect);
|
||||
}
|
||||
/*
|
||||
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 );
|
||||
@ -381,14 +380,14 @@ namespace TJAPlayer3
|
||||
*/
|
||||
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount >= 2)//2020.05.06 Mr-Ojii左右に出したかったから、追加。
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 2)//2020.05.06 Mr-Ojii左右に出したかったから、追加。
|
||||
{
|
||||
this.soundRed.n位置 = -100;
|
||||
this.soundBlue.n位置 = -100;
|
||||
this.soundAdlib.n位置 = -100;
|
||||
this.soundRed2.n位置 = 100;
|
||||
this.soundBlue2.n位置 = 100;
|
||||
this.soundAdlib2.n位置 = 100;
|
||||
this.soundRed[0].n位置 = -100;
|
||||
this.soundBlue[0].n位置 = -100;
|
||||
this.soundAdlib[0].n位置 = -100;
|
||||
this.soundRed[1].n位置 = 100;
|
||||
this.soundBlue[1].n位置 = 100;
|
||||
this.soundAdlib[1].n位置 = 100;
|
||||
}
|
||||
}
|
||||
|
||||
@ -397,24 +396,19 @@ namespace TJAPlayer3
|
||||
}
|
||||
public override void OnManagedリソースの解放()
|
||||
{
|
||||
if( !base.b活性化してない )
|
||||
{
|
||||
if( this.soundRed != null )
|
||||
this.soundRed.t解放する();
|
||||
if( this.soundBlue != null )
|
||||
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解放する();
|
||||
if( !base.b活性化してない )
|
||||
{
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (this.soundRed[i] != null)
|
||||
this.soundRed[i].t解放する();
|
||||
if (this.soundBlue[i] != null)
|
||||
this.soundBlue[i].t解放する();
|
||||
if (this.soundAdlib[i] != null)
|
||||
this.soundAdlib[i].t解放する();
|
||||
if (this.soundClap[i] != null)
|
||||
this.soundClap[i].t解放する();
|
||||
}
|
||||
base.OnManagedリソースの解放();
|
||||
}
|
||||
}
|
||||
@ -504,8 +498,10 @@ namespace TJAPlayer3
|
||||
//this.t進行描画_DANGER();
|
||||
//this.t進行描画_判定ライン();
|
||||
|
||||
if( TJAPlayer3.ConfigIni.ShowChara )
|
||||
this.actChara.On進行描画();
|
||||
if( TJAPlayer3.ConfigIni.ShowChara && TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
this.actChara.On進行描画();
|
||||
}
|
||||
|
||||
if(!BGA_Hidden && TJAPlayer3.ConfigIni.ShowMob && !TJAPlayer3.ConfigIni.bTokkunMode)
|
||||
this.actMob.On進行描画();
|
||||
@ -547,10 +543,14 @@ namespace TJAPlayer3
|
||||
#endif
|
||||
|
||||
this.t進行描画_チップ_連打( E楽器パート.DRUMS, i );
|
||||
}
|
||||
|
||||
bIsFinishedPlaying = true;
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (!ifp[i]) bIsFinishedPlaying = false;
|
||||
}
|
||||
|
||||
bIsFinishedPlaying = (TJAPlayer3.ConfigIni.nPlayerCount > 1 ) ? ifp[0] && ifp[1] : ifp[0];
|
||||
|
||||
this.actDan.On進行描画();
|
||||
|
||||
this.actMtaiko.On進行描画();
|
||||
@ -568,8 +568,12 @@ namespace TJAPlayer3
|
||||
if ( !TJAPlayer3.ConfigIni.bNoInfo )
|
||||
this.t進行描画_コンボ();
|
||||
if( !TJAPlayer3.ConfigIni.bNoInfo && !TJAPlayer3.ConfigIni.bTokkunMode)
|
||||
this.t進行描画_スコア();
|
||||
|
||||
this.t進行描画_スコア();
|
||||
|
||||
if (TJAPlayer3.ConfigIni.ShowChara && TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
this.actChara.On進行描画();
|
||||
}
|
||||
|
||||
this.Rainbow.On進行描画();
|
||||
this.FireWorks.On進行描画();
|
||||
@ -636,7 +640,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
for(int i = 0; i < 2; i++)
|
||||
for(int i = 0; i < 5; i++)
|
||||
{
|
||||
base.eフェーズID = CStage.Eフェーズ.演奏_演奏終了演出;
|
||||
|
||||
@ -698,7 +702,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
public CAct演奏DrumsチップファイアD actChipFireD;
|
||||
|
||||
private bool[] ifp = { false, false };
|
||||
private bool[] ifp = { false, false, false, false, false };
|
||||
|
||||
private CAct演奏Drumsグラフ actGraph; // #24074 2011.01.23 add ikanick
|
||||
private CAct演奏Drumsパッド actPad;
|
||||
@ -812,6 +816,12 @@ namespace TJAPlayer3
|
||||
case Eパッド.RRed:
|
||||
case Eパッド.LRed2P:
|
||||
case Eパッド.RRed2P:
|
||||
case Eパッド.LRed3P:
|
||||
case Eパッド.RRed3P:
|
||||
case Eパッド.LRed4P:
|
||||
case Eパッド.RRed4P:
|
||||
case Eパッド.LRed5P:
|
||||
case Eパッド.RRed5P:
|
||||
nInput = 0;
|
||||
if( b両手入力 )
|
||||
nInput = 2;
|
||||
@ -820,12 +830,21 @@ namespace TJAPlayer3
|
||||
case Eパッド.RBlue:
|
||||
case Eパッド.LBlue2P:
|
||||
case Eパッド.RBlue2P:
|
||||
case Eパッド.LBlue3P:
|
||||
case Eパッド.RBlue3P:
|
||||
case Eパッド.LBlue4P:
|
||||
case Eパッド.RBlue4P:
|
||||
case Eパッド.LBlue5P:
|
||||
case Eパッド.RBlue5P:
|
||||
nInput = 1;
|
||||
if( b両手入力 )
|
||||
nInput = 3;
|
||||
break;
|
||||
case Eパッド.CLAP:
|
||||
case Eパッド.CLAP2P:
|
||||
case Eパッド.CLAP2P:
|
||||
case Eパッド.CLAP3P:
|
||||
case Eパッド.CLAP4P:
|
||||
case Eパッド.CLAP5P:
|
||||
nInput = 4;
|
||||
break;
|
||||
}
|
||||
@ -969,8 +988,11 @@ namespace TJAPlayer3
|
||||
|
||||
//2015.03.19 kairera0467 Chipを1つにまとめて1つのレーン扱いにする。
|
||||
|
||||
bool isPad1P = (nPad >= 12 && nPad <= 15) || nPad == 20;
|
||||
bool isPad2P = (nPad >= 16 && nPad <= 19) || nPad == 21;
|
||||
bool isPad1P = (nPad >= 12 && nPad <= 15) || nPad == 32;
|
||||
bool isPad2P = (nPad >= 16 && nPad <= 19) || nPad == 33;
|
||||
bool isPad3P = (nPad >= 20 && nPad <= 23) || nPad == 34;
|
||||
bool isPad4P = (nPad >= 24 && nPad <= 27) || nPad == 35;
|
||||
bool isPad5P = (nPad >= 28 && nPad <= 31) || nPad == 36;
|
||||
|
||||
int nUsePlayer = 0;
|
||||
if (isPad1P)
|
||||
@ -983,12 +1005,39 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount < 2) //プレイ人数が2人以上でなければ入力をキャンセル
|
||||
break;
|
||||
}
|
||||
else if (isPad3P)
|
||||
{
|
||||
nUsePlayer = 2;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount < 3) //プレイ人数が3人以上でなければ入力をキャンセル
|
||||
break;
|
||||
}
|
||||
else if (isPad4P)
|
||||
{
|
||||
nUsePlayer = 3;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount < 4) //プレイ人数が4人以上でなければ入力をキャンセル
|
||||
break;
|
||||
}
|
||||
else if (isPad5P)
|
||||
{
|
||||
nUsePlayer = 4;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount < 5) //プレイ人数が5人以上でなければ入力をキャンセル
|
||||
break;
|
||||
}
|
||||
|
||||
if (!TJAPlayer3.ConfigIni.bTokkunMode && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay && isPad1P)//2020.05.18 Mr-Ojii オート時の入力キャンセル
|
||||
if (!TJAPlayer3.ConfigIni.bTokkunMode && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] && isPad1P)//2020.05.18 Mr-Ojii オート時の入力キャンセル
|
||||
break;
|
||||
else if ((TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode) && isPad2P)
|
||||
else if ((TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1] || TJAPlayer3.ConfigIni.bAIBattleMode) && isPad2P)
|
||||
break;
|
||||
var padTo = nUsePlayer == 0 ? nPad - 12 : nPad - 12 - 4;
|
||||
else if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[2] && isPad3P)
|
||||
break;
|
||||
else if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[3] && isPad4P)
|
||||
break;
|
||||
else if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[4] && isPad5P)
|
||||
break;
|
||||
//var padTo = nUsePlayer == 0 ? nPad - 12 : nPad - 12 - 4;
|
||||
var padTo = nPad - 12;
|
||||
padTo -= 4 * nUsePlayer;
|
||||
|
||||
var isDon = padTo < 2 ? true : false;
|
||||
|
||||
CDTX.CChip chipNoHit = r指定時刻に一番近い未ヒットChipを過去方向優先で検索する(nTime, nUsePlayer);
|
||||
@ -1003,15 +1052,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (NotesManager.IsADLIB(chipNoHit) && (e判定 == E判定.Perfect || e判定 == E判定.Good))
|
||||
b太鼓音再生フラグ = false;
|
||||
if (NotesManager.IsADLIB(chipNoHit) && (e判定 != E判定.Miss && e判定 != E判定.Poor))
|
||||
if (chipNoHit.nPlayerSide == 0)
|
||||
{
|
||||
this.soundAdlib?.t再生を開始する();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.soundAdlib2?.t再生を開始する();
|
||||
}
|
||||
if (NotesManager.IsADLIB(chipNoHit) && (e判定 != E判定.Miss && e判定 != E判定.Poor))
|
||||
this.soundAdlib[chipNoHit.nPlayerSide]?.t再生を開始する();
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -1026,7 +1068,7 @@ namespace TJAPlayer3
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed?.t再生を開始する();
|
||||
this.soundRed[0]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
@ -1035,7 +1077,7 @@ namespace TJAPlayer3
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed?.t再生を開始する();
|
||||
this.soundRed[0]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
@ -1043,14 +1085,14 @@ namespace TJAPlayer3
|
||||
nHand = 0;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue?.t再生を開始する();
|
||||
this.soundBlue[0]?.t再生を開始する();
|
||||
break;
|
||||
case 15:
|
||||
nLane = 1;
|
||||
nHand = 1;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue?.t再生を開始する();
|
||||
this.soundBlue[0]?.t再生を開始する();
|
||||
break;
|
||||
//以下2P
|
||||
case 16:
|
||||
@ -1059,7 +1101,7 @@ namespace TJAPlayer3
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed2?.t再生を開始する();
|
||||
this.soundRed[1]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
@ -1068,7 +1110,7 @@ namespace TJAPlayer3
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed2?.t再生を開始する();
|
||||
this.soundRed[1]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 18:
|
||||
@ -1076,14 +1118,113 @@ namespace TJAPlayer3
|
||||
nHand = 0;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue2?.t再生を開始する();
|
||||
this.soundBlue[1]?.t再生を開始する();
|
||||
break;
|
||||
case 19:
|
||||
nLane = 1;
|
||||
nHand = 1;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue2?.t再生を開始する();
|
||||
this.soundBlue[1]?.t再生を開始する();
|
||||
break;
|
||||
//以下3P
|
||||
case 20:
|
||||
nLane = 0;
|
||||
nHand = 0;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[2]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
nLane = 0;
|
||||
nHand = 1;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[2]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 22:
|
||||
nLane = 1;
|
||||
nHand = 0;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[2]?.t再生を開始する();
|
||||
break;
|
||||
case 23:
|
||||
nLane = 1;
|
||||
nHand = 1;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[2]?.t再生を開始する();
|
||||
break;
|
||||
//以下4P
|
||||
case 24:
|
||||
nLane = 0;
|
||||
nHand = 0;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[3]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 25:
|
||||
nLane = 0;
|
||||
nHand = 1;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[3]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 26:
|
||||
nLane = 1;
|
||||
nHand = 0;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[3]?.t再生を開始する();
|
||||
break;
|
||||
case 27:
|
||||
nLane = 1;
|
||||
nHand = 1;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[3]?.t再生を開始する();
|
||||
break;
|
||||
//以下5P
|
||||
case 28:
|
||||
nLane = 0;
|
||||
nHand = 0;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[4]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 29:
|
||||
nLane = 0;
|
||||
nHand = 1;
|
||||
nChannel = 0x11;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundRed[4]?.t再生を開始する();
|
||||
}
|
||||
break;
|
||||
case 30:
|
||||
nLane = 1;
|
||||
nHand = 0;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[4]?.t再生を開始する();
|
||||
break;
|
||||
case 31:
|
||||
nLane = 1;
|
||||
nHand = 1;
|
||||
nChannel = 0x12;
|
||||
if (b太鼓音再生フラグ)
|
||||
this.soundBlue[4]?.t再生を開始する();
|
||||
break;
|
||||
// Clap
|
||||
case (int)Eパッド.CLAP:
|
||||
@ -1094,7 +1235,7 @@ namespace TJAPlayer3
|
||||
nChannel = 0x14;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundClap?.t再生を開始する();
|
||||
this.soundClap[0]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1110,7 +1251,55 @@ namespace TJAPlayer3
|
||||
nChannel = 0x14;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundClap2?.t再生を開始する();
|
||||
this.soundClap[1]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Total;
|
||||
}
|
||||
break;
|
||||
case (int)Eパッド.CLAP3P:
|
||||
if (TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(1)] == EGameType.KONGA)
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Clap;
|
||||
nHand = 0;
|
||||
nChannel = 0x14;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundClap[2]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Total;
|
||||
}
|
||||
break;
|
||||
case (int)Eパッド.CLAP4P:
|
||||
if (TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(1)] == EGameType.KONGA)
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Clap;
|
||||
nHand = 0;
|
||||
nChannel = 0x14;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundClap[3]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Total;
|
||||
}
|
||||
break;
|
||||
case (int)Eパッド.CLAP5P:
|
||||
if (TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(1)] == EGameType.KONGA)
|
||||
{
|
||||
nLane = (int)PlayerLane.FlashType.Clap;
|
||||
nHand = 0;
|
||||
nChannel = 0x14;
|
||||
if (b太鼓音再生フラグ)
|
||||
{
|
||||
this.soundClap[4]?.t再生を開始する();
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1152,13 +1341,25 @@ namespace TJAPlayer3
|
||||
switch (((Eパッド)nPad))
|
||||
{
|
||||
case Eパッド.LRed:
|
||||
case Eパッド.LRed2P:
|
||||
case Eパッド.LRed2P:
|
||||
case Eパッド.LRed3P:
|
||||
case Eパッド.LRed4P:
|
||||
case Eパッド.LRed5P:
|
||||
case Eパッド.RRed:
|
||||
case Eパッド.RRed2P:
|
||||
case Eパッド.RRed2P:
|
||||
case Eパッド.RRed3P:
|
||||
case Eパッド.RRed4P:
|
||||
case Eパッド.RRed5P:
|
||||
case Eパッド.LBlue:
|
||||
case Eパッド.LBlue2P:
|
||||
case Eパッド.LBlue2P:
|
||||
case Eパッド.LBlue3P:
|
||||
case Eパッド.LBlue4P:
|
||||
case Eパッド.LBlue5P:
|
||||
case Eパッド.RBlue:
|
||||
case Eパッド.RBlue2P:
|
||||
case Eパッド.RBlue2P:
|
||||
case Eパッド.RBlue3P:
|
||||
case Eパッド.RBlue4P:
|
||||
case Eパッド.RBlue5P:
|
||||
{
|
||||
|
||||
// Regular notes
|
||||
@ -1172,6 +1373,21 @@ namespace TJAPlayer3
|
||||
if ((Eパッド)nPad == Eパッド.LBlue2P) _pad = Eパッド.LBlue;
|
||||
if ((Eパッド)nPad == Eパッド.RBlue2P) _pad = Eパッド.RBlue;
|
||||
|
||||
if ((Eパッド)nPad == Eパッド.LRed3P) _pad = Eパッド.LRed;
|
||||
if ((Eパッド)nPad == Eパッド.RRed3P) _pad = Eパッド.RRed;
|
||||
if ((Eパッド)nPad == Eパッド.LBlue3P) _pad = Eパッド.LBlue;
|
||||
if ((Eパッド)nPad == Eパッド.RBlue3P) _pad = Eパッド.RBlue;
|
||||
|
||||
if ((Eパッド)nPad == Eパッド.LRed4P) _pad = Eパッド.LRed;
|
||||
if ((Eパッド)nPad == Eパッド.RRed4P) _pad = Eパッド.RRed;
|
||||
if ((Eパッド)nPad == Eパッド.LBlue4P) _pad = Eパッド.LBlue;
|
||||
if ((Eパッド)nPad == Eパッド.RBlue4P) _pad = Eパッド.RBlue;
|
||||
|
||||
if ((Eパッド)nPad == Eパッド.LRed5P) _pad = Eパッド.LRed;
|
||||
if ((Eパッド)nPad == Eパッド.RRed5P) _pad = Eパッド.RRed;
|
||||
if ((Eパッド)nPad == Eパッド.LBlue5P) _pad = Eパッド.LBlue;
|
||||
if ((Eパッド)nPad == Eパッド.RBlue5P) _pad = Eパッド.RBlue;
|
||||
|
||||
bool _isLeftPad = _pad == Eパッド.LRed || _pad == Eパッド.LBlue;
|
||||
bool _isBlue = _pad == Eパッド.RBlue || _pad == Eパッド.LBlue;
|
||||
|
||||
@ -1285,6 +1501,9 @@ namespace TJAPlayer3
|
||||
|
||||
case Eパッド.CLAP:
|
||||
case Eパッド.CLAP2P:
|
||||
case Eパッド.CLAP3P:
|
||||
case Eパッド.CLAP4P:
|
||||
case Eパッド.CLAP5P:
|
||||
{
|
||||
var _pad = (Eパッド)nPad;
|
||||
|
||||
@ -1658,18 +1877,11 @@ namespace TJAPlayer3
|
||||
long nPlayTime = (long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0));
|
||||
if ((!pChip.bHit) && (pChip.n発声時刻ms <= nPlayTime))
|
||||
{
|
||||
bool bAutoPlay = false;
|
||||
bool bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer];
|
||||
switch (nPlayer)
|
||||
{
|
||||
case 0:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
break;
|
||||
case 1:
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
bAutoPlay = true;
|
||||
bAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1718,7 +1930,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
int x = pChip.nバーからの距離dot.Taiko;
|
||||
int y = TJAPlayer3.Skin.nScrollFieldY[nPlayer];// + ((int)(pChip.nコース) * 100)
|
||||
int y = NoteOriginY[nPlayer];// + ((int)(pChip.nコース) * 100)
|
||||
|
||||
int xTemp = 0;
|
||||
int yTemp = 0;
|
||||
@ -1732,34 +1944,34 @@ namespace TJAPlayer3
|
||||
switch ( pChip.nスクロール方向 )
|
||||
{
|
||||
case 0:
|
||||
x += ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] );
|
||||
x += ( NoteOriginX[ nPlayer ] );
|
||||
break;
|
||||
case 1:
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] );
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] - xTemp;
|
||||
x = (NoteOriginX[ nPlayer ] );
|
||||
y = NoteOriginY[ nPlayer ] - xTemp;
|
||||
break;
|
||||
case 2:
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] + 3 );
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] + xTemp;
|
||||
x = (NoteOriginX[ nPlayer ] + 3 );
|
||||
y = NoteOriginY[ nPlayer ] + xTemp;
|
||||
break;
|
||||
case 3:
|
||||
x += ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] );
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] - xTemp;
|
||||
x += (NoteOriginX[ nPlayer ] );
|
||||
y = NoteOriginY[ nPlayer ] - xTemp;
|
||||
break;
|
||||
case 4:
|
||||
x += ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] );
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] + xTemp;
|
||||
x += (NoteOriginX[ nPlayer ] );
|
||||
y = NoteOriginY[ nPlayer ] + xTemp;
|
||||
break;
|
||||
case 5:
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] + 10 ) - xTemp;
|
||||
x = (NoteOriginX[ nPlayer ] + 10 ) - xTemp;
|
||||
break;
|
||||
case 6:
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] ) - xTemp;
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] - xTemp;
|
||||
x = (NoteOriginX[ nPlayer ] ) - xTemp;
|
||||
y = NoteOriginY[ nPlayer ] - xTemp;
|
||||
break;
|
||||
case 7:
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] ) - xTemp;
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ] + xTemp;
|
||||
x = (NoteOriginX[ nPlayer ] ) - xTemp;
|
||||
y = NoteOriginY[ nPlayer ] + xTemp;
|
||||
break;
|
||||
}
|
||||
#endregion
|
||||
@ -1767,7 +1979,7 @@ namespace TJAPlayer3
|
||||
#region[ 両手待ち時 ]
|
||||
if( pChip.eNoteState == ENoteState.wait )
|
||||
{
|
||||
x = ( TJAPlayer3.Skin.nScrollFieldX[0] );
|
||||
x = (NoteOriginX[nPlayer]);
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -1782,7 +1994,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
var dbSCROLL = configIni.eScrollMode == EScrollMode.BMSCROLL ? 1.0 : pChip.dbSCROLL;
|
||||
|
||||
y = TJAPlayer3.Skin.nScrollFieldY[nPlayer];
|
||||
y = NoteOriginY[nPlayer];
|
||||
|
||||
|
||||
double _scrollSpeed = pChip.dbSCROLL_Y * (this.act譜面スクロール速度.db現在の譜面スクロール速度[nPlayer] + 1.0) / 10.0;
|
||||
@ -1798,7 +2010,7 @@ namespace TJAPlayer3
|
||||
this.actGame.st叩ききりまショー.b最初のチップが叩かれた = true;
|
||||
}
|
||||
|
||||
if((TJAPlayer3.Skin.Resolution[0] + TJAPlayer3.Skin.Game_Notes_Size[nPlayer] > x ))
|
||||
if((TJAPlayer3.Skin.Resolution[0] + TJAPlayer3.Skin.Game_Notes_Size[0] > x ))
|
||||
{
|
||||
if( TJAPlayer3.Tx.Notes[(int)_gt] != null )
|
||||
{
|
||||
@ -1867,8 +2079,28 @@ namespace TJAPlayer3
|
||||
|
||||
|
||||
|
||||
int nSenotesX = TJAPlayer3.Skin.nSENotesX[nPlayer];
|
||||
int nSenotesY = TJAPlayer3.Skin.nSENotesY[nPlayer];
|
||||
int nSenotesX = 0;
|
||||
int nSenotesY = 0;
|
||||
|
||||
switch (TJAPlayer3.ConfigIni.nPlayerCount)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotesX[nPlayer];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotesY[nPlayer];
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotes_4P[0];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotes_4P[1];
|
||||
break;
|
||||
case 5:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotes_5P[0];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotes_5P[1];
|
||||
break;
|
||||
}
|
||||
|
||||
this.ct手つなぎ.t進行Loop();
|
||||
int nHand = this.ct手つなぎ.n現在の値 < 30 ? this.ct手つなぎ.n現在の値 : 60 - this.ct手つなぎ.n現在の値;
|
||||
|
||||
@ -1938,8 +2170,28 @@ namespace TJAPlayer3
|
||||
}
|
||||
protected override void t進行描画_チップ_Taiko連打( CConfigIni configIni, ref CDTX dTX, ref CDTX.CChip pChip, int nPlayer )
|
||||
{
|
||||
int nSenotesX = TJAPlayer3.Skin.nSENotesX[nPlayer];
|
||||
int nSenotesY = TJAPlayer3.Skin.nSENotesY[ nPlayer ];
|
||||
int nSenotesX = 0;
|
||||
int nSenotesY = 0;
|
||||
|
||||
switch (TJAPlayer3.ConfigIni.nPlayerCount)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotesX[nPlayer];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotesY[nPlayer];
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotes_4P[0];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotes_4P[1];
|
||||
break;
|
||||
case 5:
|
||||
nSenotesX = TJAPlayer3.Skin.nSENotes_5P[0];
|
||||
nSenotesY = TJAPlayer3.Skin.nSENotes_5P[1];
|
||||
break;
|
||||
}
|
||||
|
||||
int nノート座標 = pChip.nバーからの距離dot.Taiko;
|
||||
int nノート末端座標 = pChip.nバーからのノーツ末端距離dot;
|
||||
int n先頭発声位置 = 0;
|
||||
@ -2005,9 +2257,9 @@ namespace TJAPlayer3
|
||||
*/
|
||||
}
|
||||
|
||||
int x = TJAPlayer3.Skin.nScrollFieldX[nPlayer] + nノート座標;
|
||||
int x末端 = TJAPlayer3.Skin.nScrollFieldX[nPlayer] + nノート末端座標;
|
||||
int y = TJAPlayer3.Skin.nScrollFieldY[nPlayer];// + ((int)(pChip.nコース) * 100)
|
||||
int x = NoteOriginX[nPlayer] + nノート座標;
|
||||
int x末端 = NoteOriginX[nPlayer] + nノート末端座標;
|
||||
int y = NoteOriginY[nPlayer];// + ((int)(pChip.nコース) * 100)
|
||||
|
||||
#region[ HIDSUD & STEALTH ]
|
||||
|
||||
@ -2021,7 +2273,7 @@ namespace TJAPlayer3
|
||||
//if( CDTXMania.ConfigIni.eScrollMode != EScrollMode.Normal )
|
||||
//x -= 10;
|
||||
|
||||
if ((TJAPlayer3.Skin.Resolution[0] + TJAPlayer3.Skin.Game_Notes_Size[nPlayer] > x))
|
||||
if ((TJAPlayer3.Skin.Resolution[0] + TJAPlayer3.Skin.Game_Notes_Size[0] > x))
|
||||
{
|
||||
if (TJAPlayer3.Tx.Notes[(int)_gt] != null)
|
||||
{
|
||||
@ -2149,9 +2401,9 @@ namespace TJAPlayer3
|
||||
if (pChip.bShow)
|
||||
{
|
||||
if ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) >= pChip.n発声時刻ms && (long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) < pChip.nノーツ終了時刻ms)
|
||||
x = TJAPlayer3.Skin.nScrollFieldX[nPlayer];
|
||||
x = NoteOriginX[nPlayer];
|
||||
else if ((long)(CSound管理.rc演奏用タイマ.n現在時刻ms * (((double)TJAPlayer3.ConfigIni.n演奏速度) / 20.0)) >= pChip.nノーツ終了時刻ms)
|
||||
x = (TJAPlayer3.Skin.nScrollFieldX[nPlayer] + pChip.nバーからのノーツ末端距離dot);
|
||||
x = (NoteOriginX[nPlayer] + pChip.nバーからのノーツ末端距離dot);
|
||||
|
||||
NotesManager.DisplayNote(nPlayer, x, y, pChip, num9, TJAPlayer3.Skin.Game_Notes_Size[0] * 2);
|
||||
NotesManager.DisplaySENotes(nPlayer, x + nSenotesX, y + nSenotesY, pChip);
|
||||
@ -2195,7 +2447,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 (!NotesManager.IsRollEnd(pChip) && (nPlayer == 0 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay : (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode)))
|
||||
if (!NotesManager.IsRollEnd(pChip) && (nPlayer != 1 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer] : (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[nPlayer] || TJAPlayer3.ConfigIni.bAIBattleMode)))
|
||||
this.tチップのヒット処理(pChip.n発声時刻ms, pChip, E楽器パート.TAIKO, false, 0, nPlayer);
|
||||
}
|
||||
}
|
||||
@ -2218,9 +2470,9 @@ namespace TJAPlayer3
|
||||
return;
|
||||
|
||||
//int n小節番号plus1 = pChip.n発声位置 / 384;
|
||||
int n小節番号plus1 = this.actPlayInfo.NowMeasure[nPlayer];
|
||||
int x = TJAPlayer3.Skin.nScrollFieldX[ nPlayer ] + pChip.nバーからの距離dot.Taiko;
|
||||
int y = TJAPlayer3.Skin.nScrollFieldY[ nPlayer ];
|
||||
//int n小節番号plus1 = this.actPlayInfo.NowMeasure[nPlayer];
|
||||
int x = NoteOriginX[ nPlayer ] + pChip.nバーからの距離dot.Taiko;
|
||||
int y = NoteOriginY[ nPlayer ];
|
||||
|
||||
if( pChip.dbSCROLL_Y != 0.0 )
|
||||
{
|
||||
@ -2365,7 +2617,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
var showJudgeInfo = false;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 1 ? (TJAPlayer3.ConfigIni.bJudgeCountDisplay && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay) : false) showJudgeInfo = true;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 1 ? (TJAPlayer3.ConfigIni.bJudgeCountDisplay && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0]) : false) showJudgeInfo = true;
|
||||
if (TJAPlayer3.ConfigIni.bTokkunMode) showJudgeInfo = true;
|
||||
|
||||
if (showJudgeInfo)
|
||||
|
@ -20,7 +20,7 @@ namespace TJAPlayer3
|
||||
// メソッド
|
||||
public virtual void Start(int nLane, int nPlayer, bool isRoll = false)
|
||||
{
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) return;
|
||||
EGameType _gt = TJAPlayer3.ConfigIni.nGameType[TJAPlayer3.GetActualPlayer(nPlayer)];
|
||||
|
||||
if (TJAPlayer3.Tx.Notes[(int)_gt] != null)
|
||||
|
@ -42,11 +42,30 @@ namespace TJAPlayer3
|
||||
if (Texture == null || Counter == null) return base.On進行描画();
|
||||
if (!Counter.b停止中)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Lane_5P[0] + (TJAPlayer3.Skin.Game_UIMove_5P[0] * Player);
|
||||
y = TJAPlayer3.Skin.Game_Lane_5P[1] + (TJAPlayer3.Skin.Game_UIMove_5P[1] * Player);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Lane_4P[0] + (TJAPlayer3.Skin.Game_UIMove_4P[0] * Player);
|
||||
y = TJAPlayer3.Skin.Game_Lane_4P[1] + (TJAPlayer3.Skin.Game_UIMove_4P[1] * Player);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = TJAPlayer3.Skin.Game_Lane_X[Player];
|
||||
y = TJAPlayer3.Skin.Game_Lane_Y[Player];
|
||||
}
|
||||
|
||||
Counter.t進行();
|
||||
if (Counter.b終了値に達した) Counter.t停止();
|
||||
int opacity = (((150 - Counter.n現在の値) * 255) / 100);
|
||||
Texture.Opacity = opacity;
|
||||
Texture.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Lane_X[Player], TJAPlayer3.Skin.Game_Lane_Y[Player]);
|
||||
Texture.t2D描画(TJAPlayer3.app.Device, x, y);
|
||||
}
|
||||
return base.On進行描画();
|
||||
}
|
||||
|
@ -71,9 +71,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
bool _displayed = false;
|
||||
|
||||
if (player == 0 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
_displayed = true;
|
||||
else if (player == 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player])
|
||||
_displayed = true;
|
||||
|
||||
if (_displayed == true)
|
||||
|
@ -79,6 +79,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
if( !base.b活性化してない )
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount > 2) return base.On進行描画();
|
||||
for (int f = 0; f < 2; f++)
|
||||
{
|
||||
if (this.Rainbow1P[f].IsUsing)
|
||||
|
@ -175,7 +175,7 @@ namespace TJAPlayer3
|
||||
b音声再生[i] = true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
if (!ctゲージアニメ[i].b進行中)
|
||||
ctゲージアニメ[i].t開始(0, gaugeValues[i] / 2, 59, TJAPlayer3.Timer);
|
||||
@ -218,8 +218,8 @@ namespace TJAPlayer3
|
||||
{
|
||||
ct全体進行 = new CCounter(0, 50000, 1, TJAPlayer3.Timer);
|
||||
|
||||
ctゲージアニメ = new CCounter[2];
|
||||
for (int i = 0; i < 2; i++)
|
||||
ctゲージアニメ = new CCounter[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctゲージアニメ[i] = new CCounter();
|
||||
|
||||
ct虹ゲージアニメ = new CCounter();
|
||||
@ -249,7 +249,7 @@ namespace TJAPlayer3
|
||||
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
CResultCharacter.tMenuResetTimer(CResultCharacter.ECharacterResult.NORMAL);
|
||||
CResultCharacter.tDisableCounter(CResultCharacter.ECharacterResult.CLEAR);
|
||||
@ -258,14 +258,14 @@ namespace TJAPlayer3
|
||||
}
|
||||
|
||||
|
||||
gaugeValues = new int[2];
|
||||
gaugeValues = new int[5];
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
gaugeValues[i] = (int)TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i];
|
||||
}
|
||||
|
||||
// Replace by max between 2 gauges if 2p
|
||||
GaugeFactor = Math.Max(gaugeValues[0], gaugeValues[1]) / 2;
|
||||
GaugeFactor = Math.Max(Math.Max(Math.Max(Math.Max(gaugeValues[0], gaugeValues[1]), gaugeValues[2]), gaugeValues[3]), gaugeValues[4]) / 2;
|
||||
|
||||
MountainAppearValue = 10275 + (66 * GaugeFactor);
|
||||
|
||||
@ -298,7 +298,7 @@ namespace TJAPlayer3
|
||||
|
||||
ct全体進行.t進行();
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
ctゲージアニメ[i].t進行();
|
||||
|
||||
ctEndAnime.t進行();
|
||||
@ -314,9 +314,31 @@ namespace TJAPlayer3
|
||||
// this.PuchiChara.IdleAnimation();
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower)
|
||||
{
|
||||
{
|
||||
int[] namePlate_x = new int[5];
|
||||
int[] namePlate_y = new int[5];
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
namePlate_x[i] = TJAPlayer3.Skin.Result_NamePlate_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * i);
|
||||
namePlate_y[i] = TJAPlayer3.Skin.Result_NamePlate_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * i);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
namePlate_x[i] = TJAPlayer3.Skin.Result_NamePlate_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * i);
|
||||
namePlate_y[i] = TJAPlayer3.Skin.Result_NamePlate_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * i);
|
||||
}
|
||||
else
|
||||
{
|
||||
namePlate_x[i] = TJAPlayer3.Skin.Result_NamePlate_X[i];
|
||||
namePlate_y[i] = TJAPlayer3.Skin.Result_NamePlate_Y[i];
|
||||
}
|
||||
}
|
||||
|
||||
#region [ Ensou result contents ]
|
||||
|
||||
|
||||
int AnimeCount = 3000 + GaugeFactor * 59;
|
||||
int ScoreApparitionTimeStamp = AnimeCount + 420 * 4 + 840;
|
||||
|
||||
@ -330,7 +352,7 @@ namespace TJAPlayer3
|
||||
if (TJAPlayer3.ConfigIni.bAIBattleMode && i == 1) break;
|
||||
|
||||
// 1 if right, 0 if left
|
||||
int shiftPos = (i == 1 || is2PSide) ? 1 : 0;
|
||||
int shiftPos = (i == 1 || is2PSide) ? 1 : i;
|
||||
int pos = i;
|
||||
if (is2PSide)
|
||||
pos = 1;
|
||||
@ -338,15 +360,62 @@ namespace TJAPlayer3
|
||||
|
||||
#region [General plate animations]
|
||||
|
||||
if (shiftPos == 0)
|
||||
TJAPlayer3.Tx.Result_Panel.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
else
|
||||
TJAPlayer3.Tx.Result_Panel_2P.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
if (shiftPos == 0)
|
||||
TJAPlayer3.Tx.Result_Panel.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
else
|
||||
TJAPlayer3.Tx.Result_Panel_2P.t2D描画(TJAPlayer3.app.Device, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Panel_5P[i].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_UIMove_5P[0] * i, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Panel_4P[i].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_UIMove_4P[0] * i, 0);
|
||||
}
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Diff_Bar.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_DifficultyBar_X[pos], TJAPlayer3.Skin.Result_DifficultyBar_Y[pos],
|
||||
//if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
int bar_x;
|
||||
int bar_y;
|
||||
int gauge_base_x;
|
||||
int gauge_base_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
bar_x = TJAPlayer3.Skin.Result_DifficultyBar_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
bar_y = TJAPlayer3.Skin.Result_DifficultyBar_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
gauge_base_y = TJAPlayer3.Skin.Result_Gauge_Base_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
bar_x = TJAPlayer3.Skin.Result_DifficultyBar_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
bar_y = TJAPlayer3.Skin.Result_DifficultyBar_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
gauge_base_y = TJAPlayer3.Skin.Result_Gauge_Base_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 1.0f;
|
||||
bar_x = TJAPlayer3.Skin.Result_DifficultyBar_X[pos];
|
||||
bar_y = TJAPlayer3.Skin.Result_DifficultyBar_Y[pos];
|
||||
gauge_base_x = TJAPlayer3.Skin.Result_Gauge_Base_X[pos];
|
||||
gauge_base_y = TJAPlayer3.Skin.Result_Gauge_Base_Y[pos];
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Diff_Bar.t2D描画(TJAPlayer3.app.Device, bar_x, bar_y,
|
||||
new RectangleF(0, TJAPlayer3.stage選曲.n確定された曲の難易度[i] * TJAPlayer3.Skin.Result_DifficultyBar_Size[1], TJAPlayer3.Skin.Result_DifficultyBar_Size[0], TJAPlayer3.Skin.Result_DifficultyBar_Size[1]));
|
||||
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Gauge_Base_X[pos], TJAPlayer3.Skin.Result_Gauge_Base_Y[pos]);
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].t2D描画(TJAPlayer3.app.Device, gauge_base_x, gauge_base_y);
|
||||
TJAPlayer3.Tx.Result_Gauge_Base[shiftPos].vc拡大縮小倍率.X = 1.0f;
|
||||
}
|
||||
|
||||
if (ct全体進行.n現在の値 >= 2000)
|
||||
{
|
||||
@ -366,15 +435,66 @@ namespace TJAPlayer3
|
||||
ctゲージアニメ[i].n現在の値 = (int)ctゲージアニメ[i].n終了値;
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Gauge_X[pos], TJAPlayer3.Skin.Result_Gauge_Y[pos],
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_Rect[0], TJAPlayer3.Skin.Result_Gauge_Rect[1], (TJAPlayer3.Skin.Result_Gauge_Rect[2] / 50.0f) * ctゲージアニメ[i].n現在の値, TJAPlayer3.Skin.Result_Gauge_Rect[3]));
|
||||
{
|
||||
int gauge_x;
|
||||
int gauge_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
gauge_x = TJAPlayer3.Skin.Result_Gauge_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
gauge_y = TJAPlayer3.Skin.Result_Gauge_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
gauge_x = TJAPlayer3.Skin.Result_Gauge_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
gauge_y = TJAPlayer3.Skin.Result_Gauge_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 1.0f;
|
||||
gauge_x = TJAPlayer3.Skin.Result_Gauge_X[pos];
|
||||
gauge_y = TJAPlayer3.Skin.Result_Gauge_Y[pos];
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, gauge_x, gauge_y,
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_Rect[0], TJAPlayer3.Skin.Result_Gauge_Rect[1], (TJAPlayer3.Skin.Result_Gauge_Rect[2] / 50.0f) * ctゲージアニメ[i].n現在の値, TJAPlayer3.Skin.Result_Gauge_Rect[3]));
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 1.0f;
|
||||
}
|
||||
// Modify to array for each players using i
|
||||
|
||||
|
||||
int soultext_width = TJAPlayer3.Tx.Result_Soul_Text.szテクスチャサイズ.Width / 3;
|
||||
int soultext_height = TJAPlayer3.Tx.Result_Soul_Text.szテクスチャサイズ.Height;
|
||||
|
||||
int soulText_x;
|
||||
int soulText_y;
|
||||
int soulFire_x;
|
||||
int soulFire_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
soulText_x = TJAPlayer3.Skin.Result_Soul_Text_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
soulText_y = TJAPlayer3.Skin.Result_Soul_Text_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
soulText_x = TJAPlayer3.Skin.Result_Soul_Text_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
soulText_y = TJAPlayer3.Skin.Result_Soul_Text_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
soulText_x = TJAPlayer3.Skin.Result_Soul_Text_X[pos];
|
||||
soulText_y = TJAPlayer3.Skin.Result_Soul_Text_Y[pos];
|
||||
soulFire_x = TJAPlayer3.Skin.Result_Soul_Fire_X[pos];
|
||||
soulFire_y = TJAPlayer3.Skin.Result_Soul_Fire_Y[pos];
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 1.0f;
|
||||
}
|
||||
|
||||
if (ctゲージアニメ[i].b終了値に達した)
|
||||
{
|
||||
@ -402,34 +522,78 @@ namespace TJAPlayer3
|
||||
ct虹ゲージアニメ.t進行Loop();
|
||||
ctSoul.t進行Loop();
|
||||
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Gauge_Rainbow_X[pos], TJAPlayer3.Skin.Result_Gauge_Rainbow_Y[pos]);
|
||||
int rainbow_x;
|
||||
int rainbow_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
rainbow_x = TJAPlayer3.Skin.Result_Gauge_Rainbow_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
rainbow_y = TJAPlayer3.Skin.Result_Gauge_Rainbow_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
rainbow_x = TJAPlayer3.Skin.Result_Gauge_Rainbow_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
rainbow_y = TJAPlayer3.Skin.Result_Gauge_Rainbow_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
rainbow_x = TJAPlayer3.Skin.Result_Gauge_Rainbow_X[pos];
|
||||
rainbow_y = TJAPlayer3.Skin.Result_Gauge_Rainbow_Y[pos];
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].vc拡大縮小倍率.X = 1.0f;
|
||||
}
|
||||
TJAPlayer3.Tx.Result_Rainbow[ct虹ゲージアニメ.n現在の値].t2D描画(TJAPlayer3.app.Device, rainbow_x, rainbow_y);
|
||||
|
||||
int soulfire_width = TJAPlayer3.Tx.Result_Soul_Fire.szテクスチャサイズ.Width / 8;
|
||||
int soulfire_height = TJAPlayer3.Tx.Result_Soul_Fire.szテクスチャサイズ.Height;
|
||||
{
|
||||
int soulfire_width = TJAPlayer3.Tx.Result_Soul_Fire.szテクスチャサイズ.Width / 8;
|
||||
int soulfire_height = TJAPlayer3.Tx.Result_Soul_Fire.szテクスチャサイズ.Height;
|
||||
|
||||
TJAPlayer3.Tx.Result_Soul_Fire.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Soul_Fire_X[pos], TJAPlayer3.Skin.Result_Soul_Fire_Y[pos], new Rectangle(soulfire_width * ctSoul.n現在の値, 0, soulfire_width, soulfire_height));
|
||||
TJAPlayer3.Tx.Result_Soul_Fire.t2D中心基準描画(TJAPlayer3.app.Device, soulFire_x, soulFire_y, new Rectangle(soulfire_width * ctSoul.n現在の値, 0, soulfire_width, soulfire_height));
|
||||
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Soul_Text_X[pos], TJAPlayer3.Skin.Result_Soul_Text_Y[pos], new Rectangle(soultext_width * 1, 0, soultext_width, soultext_height));
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, soulText_x, soulText_y, new Rectangle(soultext_width * 1, 0, soultext_width, soultext_height));
|
||||
|
||||
if (ctSoul.n現在の値 % 2 == 0)
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Soul_Text_X[pos], TJAPlayer3.Skin.Result_Soul_Text_Y[pos], new Rectangle(soultext_width * 2, 0, soultext_width, soultext_height));
|
||||
if (ctSoul.n現在の値 % 2 == 0)
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, soulText_x, soulText_y, new Rectangle(soultext_width * 2, 0, soultext_width, soultext_height));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ctゲージアニメ[i].n現在の値 != 50)
|
||||
{
|
||||
if (ctゲージアニメ[i].n現在の値 < 40)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos], TJAPlayer3.Skin.Result_Gauge_ClearText_Y[pos],
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos], TJAPlayer3.Skin.Result_Gauge_ClearText_Y[pos],
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[3]));
|
||||
}
|
||||
{
|
||||
int clearText_x;
|
||||
int clearText_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
clearText_x = TJAPlayer3.Skin.Result_Gauge_ClearText_X[pos];
|
||||
clearText_y = TJAPlayer3.Skin.Result_Gauge_ClearText_Y[pos];
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].vc拡大縮小倍率.X = 1.0f;
|
||||
}
|
||||
if (ctゲージアニメ[i].n現在の値 < 40)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, clearText_x, clearText_y,
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[0], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[1], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[2], TJAPlayer3.Skin.Result_Gauge_ClearText_Rect[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Gauge[shiftPos].t2D描画(TJAPlayer3.app.Device, clearText_x, clearText_y,
|
||||
new RectangleF(TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[0], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[1], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[2], TJAPlayer3.Skin.Result_Gauge_ClearText_Clear_Rect[3]));
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Soul_Text_X[pos], TJAPlayer3.Skin.Result_Soul_Text_Y[pos],
|
||||
new Rectangle(soultext_width * (ctゲージアニメ[i].n現在の値 <= 30 ? 0 : 1), 0, soultext_width, soultext_height));
|
||||
TJAPlayer3.Tx.Result_Soul_Text.t2D中心基準描画(TJAPlayer3.app.Device, soulText_x, soulText_y,
|
||||
new Rectangle(soultext_width * (ctゲージアニメ[i].n現在の値 <= 30 ? 0 : 1), 0, soultext_width, soultext_height));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -438,14 +602,15 @@ namespace TJAPlayer3
|
||||
if (ct全体進行.n現在の値 >= 2000)
|
||||
{
|
||||
// Change score kiroku to total scores to have the contents for both players, unbloat it
|
||||
#region [ Separate results display (excluding score) ]
|
||||
|
||||
int Interval = 420;
|
||||
|
||||
float AddCount = 135;
|
||||
|
||||
int[] scoresArr =
|
||||
{
|
||||
#region [ Separate results display (excluding score) ]
|
||||
|
||||
int Interval = 420;
|
||||
|
||||
float AddCount = 135;
|
||||
|
||||
int[] scoresArr =
|
||||
{
|
||||
TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nGreat,
|
||||
TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nGood,
|
||||
TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss,
|
||||
@ -454,173 +619,132 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[i]
|
||||
};
|
||||
|
||||
int[][] num_x = {
|
||||
TJAPlayer3.Skin.Result_Perfect_X,
|
||||
TJAPlayer3.Skin.Result_Good_X,
|
||||
TJAPlayer3.Skin.Result_Miss_X,
|
||||
TJAPlayer3.Skin.Result_Roll_X,
|
||||
TJAPlayer3.Skin.Result_MaxCombo_X
|
||||
};
|
||||
int[][] num_x;
|
||||
|
||||
int[][] num_y = {
|
||||
TJAPlayer3.Skin.Result_Perfect_Y,
|
||||
TJAPlayer3.Skin.Result_Good_Y,
|
||||
TJAPlayer3.Skin.Result_Miss_Y,
|
||||
TJAPlayer3.Skin.Result_Roll_Y,
|
||||
TJAPlayer3.Skin.Result_MaxCombo_Y
|
||||
};
|
||||
|
||||
for (int k = 0; k < 5; k++)
|
||||
{
|
||||
if (ct全体進行.n現在の値 >= AnimeCount + (Interval * k))
|
||||
int[][] num_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = ct全体進行.n現在の値 <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f;
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = ct全体進行.n現在の値 <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f;
|
||||
num_x = new int[][] { new int[5], new int[5], new int[5], new int[5], new int[5] };
|
||||
num_y = new int[][] { new int[5], new int[5], new int[5], new int[5], new int[5] };
|
||||
|
||||
this.t小文字表示(num_x[k][pos], num_y[k][pos], scoresArr[k]);
|
||||
num_x[0][pos] = TJAPlayer3.Skin.Result_Perfect_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
num_y[0][pos] = TJAPlayer3.Skin.Result_Perfect_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = 1f;
|
||||
num_x[1][pos] = TJAPlayer3.Skin.Result_Good_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
num_y[1][pos] = TJAPlayer3.Skin.Result_Good_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
|
||||
if (!this.b音声再生[1 + k])
|
||||
num_x[2][pos] = TJAPlayer3.Skin.Result_Miss_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
num_y[2][pos] = TJAPlayer3.Skin.Result_Miss_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
|
||||
num_x[3][pos] = TJAPlayer3.Skin.Result_Roll_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
num_y[3][pos] = TJAPlayer3.Skin.Result_Roll_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
|
||||
num_x[4][pos] = TJAPlayer3.Skin.Result_MaxCombo_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
num_y[4][pos] = TJAPlayer3.Skin.Result_MaxCombo_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount > 2)
|
||||
{
|
||||
num_x = new int[][] { new int[5], new int[5], new int[5], new int[5], new int[5] };
|
||||
num_y = new int[][] { new int[5], new int[5], new int[5], new int[5], new int[5] };
|
||||
|
||||
num_x[0][pos] = TJAPlayer3.Skin.Result_Perfect_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
num_y[0][pos] = TJAPlayer3.Skin.Result_Perfect_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
|
||||
num_x[1][pos] = TJAPlayer3.Skin.Result_Good_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
num_y[1][pos] = TJAPlayer3.Skin.Result_Good_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
|
||||
num_x[2][pos] = TJAPlayer3.Skin.Result_Miss_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
num_y[2][pos] = TJAPlayer3.Skin.Result_Miss_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
|
||||
num_x[3][pos] = TJAPlayer3.Skin.Result_Roll_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
num_y[3][pos] = TJAPlayer3.Skin.Result_Roll_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
|
||||
num_x[4][pos] = TJAPlayer3.Skin.Result_MaxCombo_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
num_y[4][pos] = TJAPlayer3.Skin.Result_MaxCombo_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
num_x = new int[][] {
|
||||
TJAPlayer3.Skin.Result_Perfect_X,
|
||||
TJAPlayer3.Skin.Result_Good_X,
|
||||
TJAPlayer3.Skin.Result_Miss_X,
|
||||
TJAPlayer3.Skin.Result_Roll_X,
|
||||
TJAPlayer3.Skin.Result_MaxCombo_X
|
||||
};
|
||||
|
||||
num_y = new int[][] {
|
||||
TJAPlayer3.Skin.Result_Perfect_Y,
|
||||
TJAPlayer3.Skin.Result_Good_Y,
|
||||
TJAPlayer3.Skin.Result_Miss_Y,
|
||||
TJAPlayer3.Skin.Result_Roll_Y,
|
||||
TJAPlayer3.Skin.Result_MaxCombo_Y
|
||||
};
|
||||
}
|
||||
|
||||
for (int k = 0; k < 5; k++)
|
||||
{
|
||||
if (ct全体進行.n現在の値 >= AnimeCount + (Interval * k))
|
||||
{
|
||||
TJAPlayer3.Skin.soundPon.t再生する();
|
||||
this.b音声再生[1 + k] = true;
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = ct全体進行.n現在の値 <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f;
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = ct全体進行.n現在の値 <= AnimeCount + (Interval * k) + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - (AnimeCount + (Interval * k))) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f;
|
||||
|
||||
this.t小文字表示(num_x[k][pos], num_y[k][pos], scoresArr[k]);
|
||||
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_Number.vc拡大縮小倍率.Y = 1f;
|
||||
|
||||
if (!this.b音声再生[1 + k])
|
||||
{
|
||||
TJAPlayer3.Skin.soundPon.t再生する();
|
||||
this.b音声再生[1 + k] = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Score display ]
|
||||
|
||||
if (ct全体進行.n現在の値 >= AnimeCount + Interval * 4 + 840)
|
||||
{
|
||||
int score_x;
|
||||
int score_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
score_x = TJAPlayer3.Skin.Result_Score_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
score_y = TJAPlayer3.Skin.Result_Score_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
score_x = TJAPlayer3.Skin.Result_Score_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
score_y = TJAPlayer3.Skin.Result_Score_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
score_x = TJAPlayer3.Skin.Result_Score_X[pos];
|
||||
score_y = TJAPlayer3.Skin.Result_Score_Y[pos];
|
||||
}
|
||||
|
||||
int AnimeCount1 = AnimeCount + Interval * 4 + 840;
|
||||
|
||||
TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.X = ct全体進行.n現在の値 <= AnimeCount1 + 270 ? 1.0f + (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1) / 1.5f * (Math.PI / 180)) * 0.65f :
|
||||
ct全体進行.n現在の値 <= AnimeCount1 + 360 ? 1.0f - (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1 - 270) * (Math.PI / 180)) * 0.1f : 1.0f;
|
||||
TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.Y = ct全体進行.n現在の値 <= AnimeCount1 + 270 ? 1.0f + (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1) / 1.5f * (Math.PI / 180)) * 0.65f :
|
||||
ct全体進行.n現在の値 <= AnimeCount1 + 360 ? 1.0f - (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1 - 270) * (Math.PI / 180)) * 0.1f : 1.0f;
|
||||
|
||||
this.tスコア文字表示(score_x, score_y, (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, i));// TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nScore.ToString()));
|
||||
|
||||
if (!b音声再生[6])
|
||||
{
|
||||
TJAPlayer3.Skin.soundScoreDon.t再生する();
|
||||
b音声再生[6] = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region [ Score display ]
|
||||
|
||||
if (ct全体進行.n現在の値 >= AnimeCount + Interval * 4 + 840)
|
||||
{
|
||||
int AnimeCount1 = AnimeCount + Interval * 4 + 840;
|
||||
|
||||
TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.X = ct全体進行.n現在の値 <= AnimeCount1 + 270 ? 1.0f + (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1) / 1.5f * (Math.PI / 180)) * 0.65f :
|
||||
ct全体進行.n現在の値 <= AnimeCount1 + 360 ? 1.0f - (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1 - 270) * (Math.PI / 180)) * 0.1f : 1.0f;
|
||||
TJAPlayer3.Tx.Result_Score_Number.vc拡大縮小倍率.Y = ct全体進行.n現在の値 <= AnimeCount1 + 270 ? 1.0f + (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1) / 1.5f * (Math.PI / 180)) * 0.65f :
|
||||
ct全体進行.n現在の値 <= AnimeCount1 + 360 ? 1.0f - (float)Math.Sin((ct全体進行.n現在の値 - AnimeCount1 - 270) * (Math.PI / 180)) * 0.1f : 1.0f;
|
||||
|
||||
this.tスコア文字表示(TJAPlayer3.Skin.Result_Score_X[pos], TJAPlayer3.Skin.Result_Score_Y[pos], (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, i));// TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nScore.ToString()));
|
||||
|
||||
if (!b音声再生[6])
|
||||
{
|
||||
TJAPlayer3.Skin.soundScoreDon.t再生する();
|
||||
b音声再生[6] = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 1000)
|
||||
{
|
||||
#region [Score rank apparition]
|
||||
|
||||
int scoreRank_width = TJAPlayer3.Tx.Result_ScoreRankEffect.szテクスチャサイズ.Width / 7;
|
||||
int scoreRank_height = TJAPlayer3.Tx.Result_ScoreRankEffect.szテクスチャサイズ.Height / 4;
|
||||
|
||||
if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 1180)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.Opacity = (int)((ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1000)) / 180.0f * 255.0f);
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 910)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 910)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
}
|
||||
else if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 1270)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1180)) * (Math.PI / 180)) * 0.5f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1180)) * (Math.PI / 180)) * 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.Opacity = 255;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 1f;
|
||||
}
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.stage結果.nスコアランク[i] > 0)
|
||||
{
|
||||
int CurrentFlash = 0;
|
||||
int[] FlashTimes = { 1500, 1540, 1580, 1620, 1660, 1700, 1740, 1780 };
|
||||
|
||||
if (ctFlash_Icon.n現在の値 >= FlashTimes[0] && ctFlash_Icon.n現在の値 <= FlashTimes[1] || ctFlash_Icon.n現在の値 >= FlashTimes[4] && ctFlash_Icon.n現在の値 <= FlashTimes[5])
|
||||
CurrentFlash = 1;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[1] && ctFlash_Icon.n現在の値 <= FlashTimes[2] || ctFlash_Icon.n現在の値 >= FlashTimes[5] && ctFlash_Icon.n現在の値 <= FlashTimes[6])
|
||||
CurrentFlash = 2;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[2] && ctFlash_Icon.n現在の値 <= FlashTimes[3] || ctFlash_Icon.n現在の値 >= FlashTimes[6] && ctFlash_Icon.n現在の値 <= FlashTimes[7])
|
||||
CurrentFlash = 3;
|
||||
|
||||
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_ScoreRankEffect_X[pos], TJAPlayer3.Skin.Result_ScoreRankEffect_Y[pos],
|
||||
new Rectangle((TJAPlayer3.stage結果.nスコアランク[i] - 1) * scoreRank_width, CurrentFlash * scoreRank_height, scoreRank_width, scoreRank_height));
|
||||
|
||||
if (!b音声再生[7] && ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 1180)
|
||||
{
|
||||
TJAPlayer3.Skin.soundRankIn.t再生する();
|
||||
b音声再生[7] = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
if (ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 2500)
|
||||
{
|
||||
#region [Crown apparition]
|
||||
|
||||
int crownEffect_width = TJAPlayer3.Tx.Result_CrownEffect.szテクスチャサイズ.Width / 3;
|
||||
int crownEffect_height = TJAPlayer3.Tx.Result_CrownEffect.szテクスチャサイズ.Height / 4;
|
||||
|
||||
if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 2680)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.Opacity = (int)((ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2500)) / 180.0f * 255.0f);
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2410)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2410)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
}
|
||||
else if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 2770)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2680)) * (Math.PI / 180)) * 0.5f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2680)) * (Math.PI / 180)) * 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.Opacity = 255;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 1f;
|
||||
}
|
||||
|
||||
int ClearType = TJAPlayer3.stage結果.nクリア[i] - 1;
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)(Difficulty.Dan) && ClearType >= 0)
|
||||
{
|
||||
int CurrentFlash = 0;
|
||||
int[] FlashTimes = { 2000, 2040, 2080, 2120, 2160, 2200, 2240, 2280 };
|
||||
|
||||
if (ctFlash_Icon.n現在の値 >= FlashTimes[0] && ctFlash_Icon.n現在の値 <= FlashTimes[1] || ctFlash_Icon.n現在の値 >= FlashTimes[4] && ctFlash_Icon.n現在の値 <= FlashTimes[5])
|
||||
CurrentFlash = 1;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[1] && ctFlash_Icon.n現在の値 <= FlashTimes[2] || ctFlash_Icon.n現在の値 >= FlashTimes[5] && ctFlash_Icon.n現在の値 <= FlashTimes[6])
|
||||
CurrentFlash = 2;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[2] && ctFlash_Icon.n現在の値 <= FlashTimes[3] || ctFlash_Icon.n現在の値 >= FlashTimes[6] && ctFlash_Icon.n現在の値 <= FlashTimes[7])
|
||||
CurrentFlash = 3;
|
||||
|
||||
TJAPlayer3.Tx.Result_CrownEffect.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_CrownEffect_X[pos], TJAPlayer3.Skin.Result_CrownEffect_Y[pos],
|
||||
new Rectangle(ClearType * crownEffect_width, CurrentFlash * crownEffect_height, crownEffect_width, crownEffect_height));
|
||||
|
||||
if (!b音声再生[8] && ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 2680)
|
||||
{
|
||||
TJAPlayer3.Skin.soundCrownIn.t再生する();
|
||||
b音声再生[8] = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -761,8 +885,8 @@ namespace TJAPlayer3
|
||||
//int chara_x = TJAPlayer3.Skin.Characters_Result_X[_charaId][pos];
|
||||
//int chara_y = TJAPlayer3.Skin.Characters_Result_Y[_charaId][pos];
|
||||
|
||||
int chara_x = TJAPlayer3.Skin.Result_NamePlate_X[pos] + TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2;
|
||||
int chara_y = TJAPlayer3.Skin.Result_NamePlate_Y[pos];
|
||||
int chara_x = namePlate_x[pos] + TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2;
|
||||
int chara_y = namePlate_y[pos];
|
||||
|
||||
|
||||
if (CResultCharacter.tIsCounterProcessing(p, CResultCharacter.ECharacterResult.CLEAR))
|
||||
@ -779,8 +903,8 @@ namespace TJAPlayer3
|
||||
|
||||
#region [PuchiChara]
|
||||
|
||||
int puchi_x = chara_x + TJAPlayer3.Skin.Adjustments_MenuPuchichara_X[pos];
|
||||
int puchi_y = chara_y + TJAPlayer3.Skin.Adjustments_MenuPuchichara_Y[pos];
|
||||
int puchi_x = chara_x + TJAPlayer3.Skin.Adjustments_MenuPuchichara_X[TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? pos : 0];
|
||||
int puchi_y = chara_y + TJAPlayer3.Skin.Adjustments_MenuPuchichara_Y[TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? pos : 0];
|
||||
|
||||
//int ttdiff = 640 - 152;
|
||||
//int ttps = 640 + ((pos == 1) ? ttdiff + 60 : -ttdiff);
|
||||
@ -800,7 +924,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region [Cherry blossom animation]
|
||||
|
||||
if (gaugeValues[p] >= 80.0f)
|
||||
if (gaugeValues[p] >= 80.0f && TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Flower.vc拡大縮小倍率.X = 0.6f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Flower.vc拡大縮小倍率.Y = 0.6f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
@ -816,7 +940,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region [Cherry blossom Rotating flowers]
|
||||
|
||||
if (gaugeValues[p] >= 80.0f)
|
||||
if (gaugeValues[p] >= 80.0f && TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
float FlowerTime = ctRotate_Flowers.n現在の値;
|
||||
|
||||
@ -852,7 +976,7 @@ namespace TJAPlayer3
|
||||
|
||||
#region [Panel shines]
|
||||
|
||||
if (gaugeValues[p] >= 80.0f)
|
||||
if (gaugeValues[p] >= 80.0f && TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
int ShineTime = (int)ctShine_Plate.n現在の値;
|
||||
int Quadrant500 = ShineTime % 500;
|
||||
@ -889,14 +1013,16 @@ namespace TJAPlayer3
|
||||
else if (gaugeValues[p] >= 40.0f)
|
||||
Mood = 1;
|
||||
|
||||
int speechBuddle_width = TJAPlayer3.Tx.Result_Speech_Bubble[pos].szテクスチャサイズ.Width / 4;
|
||||
int speechBuddle_height = TJAPlayer3.Tx.Result_Speech_Bubble[pos].szテクスチャサイズ.Height / 3;
|
||||
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].vc拡大縮小倍率.X = 0.9f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].vc拡大縮小倍率.Y = 0.9f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Speech_Bubble_X[pos], TJAPlayer3.Skin.Result_Speech_Bubble_Y[pos],
|
||||
new Rectangle(Mood * speechBuddle_width, RandomText * speechBuddle_height, speechBuddle_width, speechBuddle_height));
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
int speechBuddle_width = TJAPlayer3.Tx.Result_Speech_Bubble[pos].szテクスチャサイズ.Width / 4;
|
||||
int speechBuddle_height = TJAPlayer3.Tx.Result_Speech_Bubble[pos].szテクスチャサイズ.Height / 3;
|
||||
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].vc拡大縮小倍率.X = 0.9f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].vc拡大縮小倍率.Y = 0.9f * (ct全体進行.n現在の値 <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.n現在の値 - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_Speech_Bubble_X[pos], TJAPlayer3.Skin.Result_Speech_Bubble_Y[pos],
|
||||
new Rectangle(Mood * speechBuddle_width, RandomText * speechBuddle_height, speechBuddle_width, speechBuddle_height));
|
||||
}
|
||||
if (!b音声再生[9])
|
||||
{
|
||||
if (gaugeValues[p] >= 80.0f)
|
||||
@ -917,6 +1043,157 @@ namespace TJAPlayer3
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 1000)
|
||||
{
|
||||
//if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
#region [Score rank apparition]
|
||||
|
||||
int scoreRank_width = TJAPlayer3.Tx.Result_ScoreRankEffect.szテクスチャサイズ.Width / 7;
|
||||
int scoreRank_height = TJAPlayer3.Tx.Result_ScoreRankEffect.szテクスチャサイズ.Height / 4;
|
||||
|
||||
if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 1180)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.Opacity = (int)((ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1000)) / 180.0f * 255.0f);
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 910)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 910)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
}
|
||||
else if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 1270)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1180)) * (Math.PI / 180)) * 0.5f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 1180)) * (Math.PI / 180)) * 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.Opacity = 255;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.vc拡大縮小倍率.Y = 1f;
|
||||
}
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.stage結果.nスコアランク[p] > 0)
|
||||
{
|
||||
int CurrentFlash = 0;
|
||||
int[] FlashTimes = { 1500, 1540, 1580, 1620, 1660, 1700, 1740, 1780 };
|
||||
|
||||
if (ctFlash_Icon.n現在の値 >= FlashTimes[0] && ctFlash_Icon.n現在の値 <= FlashTimes[1] || ctFlash_Icon.n現在の値 >= FlashTimes[4] && ctFlash_Icon.n現在の値 <= FlashTimes[5])
|
||||
CurrentFlash = 1;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[1] && ctFlash_Icon.n現在の値 <= FlashTimes[2] || ctFlash_Icon.n現在の値 >= FlashTimes[5] && ctFlash_Icon.n現在の値 <= FlashTimes[6])
|
||||
CurrentFlash = 2;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[2] && ctFlash_Icon.n現在の値 <= FlashTimes[3] || ctFlash_Icon.n現在の値 >= FlashTimes[6] && ctFlash_Icon.n現在の値 <= FlashTimes[7])
|
||||
CurrentFlash = 3;
|
||||
|
||||
|
||||
int scoreRankEffect_x;
|
||||
int scoreRankEffect_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
scoreRankEffect_x = TJAPlayer3.Skin.Result_ScoreRankEffect_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
scoreRankEffect_y = TJAPlayer3.Skin.Result_ScoreRankEffect_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
scoreRankEffect_x = TJAPlayer3.Skin.Result_ScoreRankEffect_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
scoreRankEffect_y = TJAPlayer3.Skin.Result_ScoreRankEffect_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
scoreRankEffect_x = TJAPlayer3.Skin.Result_ScoreRankEffect_X[pos];
|
||||
scoreRankEffect_y = TJAPlayer3.Skin.Result_ScoreRankEffect_Y[pos];
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_ScoreRankEffect.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, scoreRankEffect_x, scoreRankEffect_y,
|
||||
new Rectangle((TJAPlayer3.stage結果.nスコアランク[p] - 1) * scoreRank_width, CurrentFlash * scoreRank_height, scoreRank_width, scoreRank_height));
|
||||
|
||||
if (!b音声再生[7] && ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 1180)
|
||||
{
|
||||
TJAPlayer3.Skin.soundRankIn.t再生する();
|
||||
b音声再生[7] = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 2500)
|
||||
{
|
||||
//if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
#region [Crown apparition]
|
||||
|
||||
int crownEffect_width = TJAPlayer3.Tx.Result_CrownEffect.szテクスチャサイズ.Width / 3;
|
||||
int crownEffect_height = TJAPlayer3.Tx.Result_CrownEffect.szテクスチャサイズ.Height / 4;
|
||||
|
||||
if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 2680)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.Opacity = (int)((ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2500)) / 180.0f * 255.0f);
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2410)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 1.0f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2410)) / 1.5f * (Math.PI / 180)) * 1.4f;
|
||||
}
|
||||
else if (ct全体進行.n現在の値 <= ScoreApparitionTimeStamp + 2770)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2680)) * (Math.PI / 180)) * 0.5f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 0.5f + (float)Math.Sin((float)(ct全体進行.n現在の値 - (ScoreApparitionTimeStamp + 2680)) * (Math.PI / 180)) * 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
TJAPlayer3.Tx.Result_CrownEffect.Opacity = 255;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.X = 1f;
|
||||
TJAPlayer3.Tx.Result_CrownEffect.vc拡大縮小倍率.Y = 1f;
|
||||
}
|
||||
|
||||
int ClearType = TJAPlayer3.stage結果.nクリア[p] - 1;
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)(Difficulty.Dan) && ClearType >= 0)
|
||||
{
|
||||
int CurrentFlash = 0;
|
||||
int[] FlashTimes = { 2000, 2040, 2080, 2120, 2160, 2200, 2240, 2280 };
|
||||
|
||||
if (ctFlash_Icon.n現在の値 >= FlashTimes[0] && ctFlash_Icon.n現在の値 <= FlashTimes[1] || ctFlash_Icon.n現在の値 >= FlashTimes[4] && ctFlash_Icon.n現在の値 <= FlashTimes[5])
|
||||
CurrentFlash = 1;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[1] && ctFlash_Icon.n現在の値 <= FlashTimes[2] || ctFlash_Icon.n現在の値 >= FlashTimes[5] && ctFlash_Icon.n現在の値 <= FlashTimes[6])
|
||||
CurrentFlash = 2;
|
||||
else if (ctFlash_Icon.n現在の値 >= FlashTimes[2] && ctFlash_Icon.n現在の値 <= FlashTimes[3] || ctFlash_Icon.n現在の値 >= FlashTimes[6] && ctFlash_Icon.n現在の値 <= FlashTimes[7])
|
||||
CurrentFlash = 3;
|
||||
|
||||
|
||||
int crownEffect_x;
|
||||
int crownEffect_y;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
crownEffect_x = TJAPlayer3.Skin.Result_CrownEffect_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
crownEffect_y = TJAPlayer3.Skin.Result_CrownEffect_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
crownEffect_x = TJAPlayer3.Skin.Result_CrownEffect_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
crownEffect_y = TJAPlayer3.Skin.Result_CrownEffect_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
crownEffect_x = TJAPlayer3.Skin.Result_CrownEffect_X[pos];
|
||||
crownEffect_y = TJAPlayer3.Skin.Result_CrownEffect_Y[pos];
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_CrownEffect.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, crownEffect_x, crownEffect_y,
|
||||
new Rectangle(ClearType * crownEffect_width, CurrentFlash * crownEffect_height, crownEffect_width, crownEffect_height));
|
||||
|
||||
if (!b音声再生[8] && ct全体進行.n現在の値 >= ScoreApparitionTimeStamp + 2680)
|
||||
{
|
||||
TJAPlayer3.Skin.soundCrownIn.t再生する();
|
||||
b音声再生[8] = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -29,9 +29,9 @@ namespace TJAPlayer3
|
||||
public STDGBVALUE<int> nScoreRank;
|
||||
public int n総合ランク値;
|
||||
|
||||
public int[] nクリア = { 0, 0 }; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ
|
||||
public int[] nスコアランク = { 0, 0 }; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
||||
public int[] nHighScore = { 0, 0 };
|
||||
public int[] nクリア = { 0, 0, 0, 0, 0 }; //0:未クリア 1:クリア 2:フルコンボ 3:ドンダフルコンボ
|
||||
public int[] nスコアランク = { 0, 0, 0, 0, 0 }; //0:未取得 1:白粋 2:銅粋 3:銀粋 4:金雅 5:桃雅 6:紫雅 7:虹極
|
||||
public int[] nHighScore = { 0, 0, 0, 0, 0 };
|
||||
|
||||
public CDTX.CChip[] r空うちドラムチップ;
|
||||
public STDGBVALUE<CScoreIni.C演奏記録> st演奏記録;
|
||||
@ -61,8 +61,8 @@ namespace TJAPlayer3
|
||||
|
||||
public bool isAutoDisabled(int player)
|
||||
{
|
||||
return ((player == 0 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
|| (player == 1 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P && !TJAPlayer3.ConfigIni.bAIBattleMode));
|
||||
return ((player != 1 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player])
|
||||
|| (player == 1 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[player] && !TJAPlayer3.ConfigIni.bAIBattleMode));
|
||||
}
|
||||
|
||||
|
||||
@ -146,15 +146,15 @@ namespace TJAPlayer3
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0];
|
||||
break;
|
||||
|
||||
case 1:
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0];
|
||||
break;
|
||||
|
||||
case 2:
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay;
|
||||
bIsAutoPlay = TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0];
|
||||
break;
|
||||
}
|
||||
this.fPerfect率[i] = bIsAutoPlay ? 0f : ((100f * part.nPerfect数) / ((float)part.n全チップ数));
|
||||
@ -190,7 +190,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
var sr = (p == 0) ? TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank : TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank2P;
|
||||
var sr = TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank[p];
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
@ -218,7 +218,10 @@ namespace TJAPlayer3
|
||||
|
||||
string[] str = {
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + currentSaveFile.ToString() + "P.score.ini",
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + secondSaveFile.ToString() + "P.score.ini"
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + secondSaveFile.ToString() + "P.score.ini",
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + 3.ToString() + "P.score.ini",
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + 4.ToString() + "P.score.ini",
|
||||
TJAPlayer3.DTX.strファイル名の絶対パス + 5.ToString() + "P.score.ini"
|
||||
};
|
||||
|
||||
#region [Transfer legacy file format to new file format (P1)]
|
||||
@ -238,7 +241,10 @@ namespace TJAPlayer3
|
||||
|
||||
CScoreIni[] ini = {
|
||||
new CScoreIni(str[0]),
|
||||
new CScoreIni(str[1])
|
||||
new CScoreIni(str[1]),
|
||||
new CScoreIni(str[2]),
|
||||
new CScoreIni(str[3]),
|
||||
new CScoreIni(str[4])
|
||||
};
|
||||
|
||||
bool[] b今までにフルコンボしたことがある = new bool[] { false, false, false };
|
||||
@ -386,7 +392,7 @@ namespace TJAPlayer3
|
||||
// this.st演奏記録[0].nクリア[0] = Math.Max(ini[0].stセクション[0].nクリア[0], clearValue);
|
||||
|
||||
// Unlock dan grade
|
||||
if (clearValue > 0 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
if (clearValue > 0 && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
|
||||
{
|
||||
this.newGradeGranted = TJAPlayer3.NamePlateConfig.tUpdateDanTitle(TJAPlayer3.stage選曲.r確定された曲.strタイトル.Substring(0, 2),
|
||||
clearValue % 2 == 0,
|
||||
@ -441,14 +447,17 @@ namespace TJAPlayer3
|
||||
Discord.UpdatePresence(TJAPlayer3.ConfigIni.SendDiscordPlayingInformation ? TJAPlayer3.stage選曲.r確定された曲.strタイトル
|
||||
+ Discord.DiffToString(TJAPlayer3.stage選曲.n確定された曲の難易度[0])
|
||||
: "",
|
||||
Properties.Discord.Stage_Result + (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay == true ? " (" + Properties.Discord.Info_IsAuto + ")" : ""),
|
||||
Properties.Discord.Stage_Result + (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] == true ? " (" + Properties.Discord.Info_IsAuto + ")" : ""),
|
||||
TJAPlayer3.StartupTime);
|
||||
|
||||
|
||||
#region [Earned medals]
|
||||
|
||||
this.nEarnedMedalsCount[0] = 0;
|
||||
this.nEarnedMedalsCount[1] = 0;
|
||||
this.nEarnedMedalsCount[1] = 0;
|
||||
this.nEarnedMedalsCount[2] = 0;
|
||||
this.nEarnedMedalsCount[3] = 0;
|
||||
this.nEarnedMedalsCount[4] = 0;
|
||||
|
||||
// Medals
|
||||
|
||||
@ -463,7 +472,10 @@ namespace TJAPlayer3
|
||||
float[] modMultipliers =
|
||||
{
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 0),
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 1)
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 1),
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 2),
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 3),
|
||||
TJAPlayer3.stage選曲.actPlayOption.tGetModMultiplier(CActPlayOption.EBalancingType.COINS, false, 4)
|
||||
};
|
||||
|
||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
||||
@ -593,13 +605,9 @@ namespace TJAPlayer3
|
||||
int scoreRankModifier = srModifiers[0] * diffModifier;
|
||||
|
||||
for (int j = 1; j < 8; j++)
|
||||
{
|
||||
if (i == 0)
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(i) >= TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank[j - 1])
|
||||
scoreRankModifier = srModifiers[j] * diffModifier;
|
||||
else
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(i) >= TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank2P[j - 1])
|
||||
scoreRankModifier = srModifiers[j] * diffModifier;
|
||||
{
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actScore.GetScore(i) >= TJAPlayer3.stage演奏ドラム画面.ScoreRank.ScoreRank[i][j - 1])
|
||||
scoreRankModifier = srModifiers[j] * diffModifier;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -622,20 +630,36 @@ namespace TJAPlayer3
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
this.nEarnedMedalsCount[i] += Math.Min(10, TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nADLIB);
|
||||
}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
this.nEarnedMedalsCount[0] = 0;
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode)
|
||||
this.nEarnedMedalsCount[1] = 0;
|
||||
if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i])
|
||||
this.nEarnedMedalsCount[i] = 0;
|
||||
if ((TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i] || TJAPlayer3.ConfigIni.bAIBattleMode) && i == 1)
|
||||
this.nEarnedMedalsCount[i] = 0;
|
||||
}
|
||||
|
||||
|
||||
TJAPlayer3.NamePlateConfig.tEarnCoins(this.nEarnedMedalsCount);
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region [Modals preprocessing]
|
||||
#region [Modals preprocessing]
|
||||
|
||||
mqModals = new ModalQueue((TJAPlayer3.ConfigIni.nPlayerCount > 1) ? Modal.EModalFormat.Half : Modal.EModalFormat.Full);
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 1)
|
||||
{
|
||||
mqModals = new ModalQueue(Modal.EModalFormat.Full);
|
||||
}
|
||||
else if(TJAPlayer3.ConfigIni.nPlayerCount == 2)
|
||||
{
|
||||
mqModals = new ModalQueue(Modal.EModalFormat.Half);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 3 || TJAPlayer3.ConfigIni.nPlayerCount == 4)
|
||||
{
|
||||
mqModals = new ModalQueue(Modal.EModalFormat.Half_4P);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
mqModals = new ModalQueue(Modal.EModalFormat.Half_5P);
|
||||
}
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
@ -648,7 +672,7 @@ namespace TJAPlayer3
|
||||
i);
|
||||
}
|
||||
|
||||
displayedModals = new Modal[] { null, null };
|
||||
displayedModals = new Modal[] { null, null, null, null, null };
|
||||
|
||||
#endregion
|
||||
|
||||
@ -892,23 +916,50 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
gaugeAnimFactors = (this.actParameterPanel.ct全体進行.n現在の値 - (int)MountainAppearValue) * 3;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
gaugeAnimFactors = (this.actParameterPanel.ct全体進行.n現在の値 - (int)MountainAppearValue) * 3;
|
||||
|
||||
int width1 = TJAPlayer3.Tx.Result_Background[1].szテクスチャサイズ.Width / 2;
|
||||
int height1 = TJAPlayer3.Tx.Result_Background[1].szテクスチャサイズ.Height;
|
||||
int width1 = TJAPlayer3.Tx.Result_Background[1].szテクスチャサイズ.Width / 2;
|
||||
int height1 = TJAPlayer3.Tx.Result_Background[1].szテクスチャサイズ.Height;
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
int width2 = TJAPlayer3.Tx.Result_Background[2 * i].szテクスチャサイズ.Width / 2;
|
||||
int height2 = TJAPlayer3.Tx.Result_Background[2 * i].szテクスチャサイズ.Height;
|
||||
TJAPlayer3.Tx.Result_Background[2 * i].t2D描画(TJAPlayer3.app.Device, width2 * i, 0, new Rectangle(width2 * i, 0, width2, height2));
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
int width2 = TJAPlayer3.Tx.Result_Background[2 * i].szテクスチャサイズ.Width / 2;
|
||||
int height2 = TJAPlayer3.Tx.Result_Background[2 * i].szテクスチャサイズ.Height;
|
||||
TJAPlayer3.Tx.Result_Background[2 * i].t2D描画(TJAPlayer3.app.Device, width2 * i, 0, new Rectangle(width2 * i, 0, width2, height2));
|
||||
|
||||
if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80.0f)
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Background[1].Opacity = gaugeAnimFactors;
|
||||
TJAPlayer3.Tx.Result_Background[1].t2D描画(TJAPlayer3.app.Device, width1 * i, 0, new Rectangle(width1 * i, 0, width1, height1));
|
||||
if (bClear[i])
|
||||
{
|
||||
TJAPlayer3.Tx.Result_Background[1].Opacity = gaugeAnimFactors;
|
||||
TJAPlayer3.Tx.Result_Background[1].t2D描画(TJAPlayer3.app.Device, width1 * i, 0, new Rectangle(width1 * i, 0, width1, height1));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CTexture[] texs = new CTexture[5] {
|
||||
TJAPlayer3.Tx.Result_Background[0],
|
||||
TJAPlayer3.Tx.Result_Background[2],
|
||||
TJAPlayer3.Tx.Result_Background[3],
|
||||
TJAPlayer3.Tx.Result_Background[4],
|
||||
TJAPlayer3.Tx.Result_Background[5]
|
||||
};
|
||||
int count = Math.Max(TJAPlayer3.ConfigIni.nPlayerCount, 4);
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
if (bClear[i])
|
||||
{
|
||||
gaugeAnimFactors = (this.actParameterPanel.ct全体進行.n現在の値 - (int)MountainAppearValue) * 3;
|
||||
TJAPlayer3.Tx.Result_Background[1].Opacity = gaugeAnimFactors;
|
||||
}
|
||||
int width = texs[i].szテクスチャサイズ.Width / count;
|
||||
texs[i].t2D描画(TJAPlayer3.app.Device, width * i, 0, new RectangleF(width * i, 0, width, texs[i].szテクスチャサイズ.Height));
|
||||
if (bClear[i])
|
||||
TJAPlayer3.Tx.Result_Background[1].t2D描画(TJAPlayer3.app.Device, width * i, 0, new RectangleF(width * i, 0, width, texs[i].szテクスチャサイズ.Height));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -1382,13 +1433,40 @@ namespace TJAPlayer3
|
||||
{
|
||||
int pos = i;
|
||||
if (TJAPlayer3.P1IsBlue() && TJAPlayer3.stage選曲.n確定された曲の難易度[0] < (int)Difficulty.Tower)
|
||||
pos = 1;
|
||||
pos = 1;
|
||||
|
||||
int namePlate_x;
|
||||
int namePlate_y;
|
||||
int modIcons_x;
|
||||
int modIcons_y;
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Result_NamePlate_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
namePlate_y = TJAPlayer3.Skin.Result_NamePlate_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
modIcons_x = TJAPlayer3.Skin.Result_ModIcons_5P[0] + (TJAPlayer3.Skin.Result_UIMove_5P[0] * pos);
|
||||
modIcons_y = TJAPlayer3.Skin.Result_ModIcons_5P[1] + (TJAPlayer3.Skin.Result_UIMove_5P[1] * pos);
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Result_NamePlate_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
namePlate_y = TJAPlayer3.Skin.Result_NamePlate_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
modIcons_x = TJAPlayer3.Skin.Result_ModIcons_4P[0] + (TJAPlayer3.Skin.Result_UIMove_4P[0] * pos);
|
||||
modIcons_y = TJAPlayer3.Skin.Result_ModIcons_4P[1] + (TJAPlayer3.Skin.Result_UIMove_4P[1] * pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
namePlate_x = TJAPlayer3.Skin.Result_NamePlate_X[pos];
|
||||
namePlate_y = TJAPlayer3.Skin.Result_NamePlate_Y[pos];
|
||||
modIcons_x = TJAPlayer3.Skin.Result_ModIcons_X[pos];
|
||||
modIcons_y = TJAPlayer3.Skin.Result_ModIcons_Y[pos];
|
||||
}
|
||||
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(TJAPlayer3.Skin.Result_NamePlate_X[pos], TJAPlayer3.Skin.Result_NamePlate_Y[pos], i);
|
||||
TJAPlayer3.NamePlate.tNamePlateDraw(namePlate_x, namePlate_y, i);
|
||||
|
||||
#region Mods
|
||||
|
||||
ModIcons.tDisplayModsMenu(TJAPlayer3.Skin.Result_ModIcons_X[pos], TJAPlayer3.Skin.Result_ModIcons_Y[pos], i);
|
||||
ModIcons.tDisplayModsMenu(modIcons_x, modIcons_y, i);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@ -1492,7 +1570,7 @@ namespace TJAPlayer3
|
||||
displayedModals[0] = mqModals.tPopModal(0);
|
||||
displayedModals[0]?.tPlayModalSfx();
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 1 || mqModals.tIsQueueEmpty(1))
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 1 || mqModals.tAreBothQueuesEmpty())
|
||||
{
|
||||
#region [ Return to song select screen ]
|
||||
|
||||
@ -1528,6 +1606,45 @@ namespace TJAPlayer3
|
||||
displayedModals[1]?.tPlayModalSfx();
|
||||
}
|
||||
}
|
||||
else if ((TJAPlayer3.ConfigIni.nPlayerCount > 2 && (
|
||||
TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed3P)
|
||||
|| TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed3P)
|
||||
)))
|
||||
{
|
||||
if (!mqModals.tIsQueueEmpty(2) && this.actParameterPanel.ct全体進行.n現在の値 >= this.actParameterPanel.MountainAppearValue)
|
||||
{
|
||||
TJAPlayer3.Skin.sound決定音.t再生する();
|
||||
|
||||
displayedModals[2] = mqModals.tPopModal(2);
|
||||
displayedModals[2]?.tPlayModalSfx();
|
||||
}
|
||||
}
|
||||
else if ((TJAPlayer3.ConfigIni.nPlayerCount > 3 && (
|
||||
TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed4P)
|
||||
|| TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed4P)
|
||||
)))
|
||||
{
|
||||
if (!mqModals.tIsQueueEmpty(3) && this.actParameterPanel.ct全体進行.n現在の値 >= this.actParameterPanel.MountainAppearValue)
|
||||
{
|
||||
TJAPlayer3.Skin.sound決定音.t再生する();
|
||||
|
||||
displayedModals[3] = mqModals.tPopModal(3);
|
||||
displayedModals[3]?.tPlayModalSfx();
|
||||
}
|
||||
}
|
||||
else if ((TJAPlayer3.ConfigIni.nPlayerCount > 4 && (
|
||||
TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed5P)
|
||||
|| TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed5P)
|
||||
)))
|
||||
{
|
||||
if (!mqModals.tIsQueueEmpty(4) && this.actParameterPanel.ct全体進行.n現在の値 >= this.actParameterPanel.MountainAppearValue)
|
||||
{
|
||||
TJAPlayer3.Skin.sound決定音.t再生する();
|
||||
|
||||
displayedModals[4] = mqModals.tPopModal(4);
|
||||
displayedModals[4]?.tPlayModalSfx();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDXKeys.Key.LeftArrow) ||
|
||||
@ -1707,8 +1824,8 @@ namespace TJAPlayer3
|
||||
|
||||
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
|
||||
{
|
||||
if ((i == 0 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
|| (i == 1 && (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P || TJAPlayer3.ConfigIni.bAIBattleMode)))
|
||||
if ((i != 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i])
|
||||
|| (i == 1 && (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i] || TJAPlayer3.ConfigIni.bAIBattleMode)))
|
||||
continue;
|
||||
|
||||
int actualPlayer = TJAPlayer3.GetActualPlayer(i);
|
||||
@ -1758,7 +1875,7 @@ namespace TJAPlayer3
|
||||
|
||||
int actualPlayer = TJAPlayer3.SaveFile;
|
||||
|
||||
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
|
||||
{
|
||||
cスコア.GPInfo[actualPlayer].nClear[0] = Math.Max(cスコア.GPInfo[actualPlayer].nClear[0], clearValue);
|
||||
|
||||
@ -1779,7 +1896,7 @@ namespace TJAPlayer3
|
||||
|
||||
int tmpClear = GetTowerScoreRank();
|
||||
|
||||
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay)
|
||||
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
|
||||
{
|
||||
cスコア.GPInfo[actualPlayer].nClear[0] = Math.Max(cスコア.GPInfo[actualPlayer].nClear[0], tmpClear);
|
||||
cスコア.GPInfo[actualPlayer].nScoreRank[0] = Math.Max(cスコア.GPInfo[actualPlayer].nScoreRank[0], CFloorManagement.LastRegisteredFloor);
|
||||
@ -1851,7 +1968,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
return new bool[] { actParameterPanel.gaugeValues[0] >= 80, actParameterPanel.gaugeValues[1] >= 80 };
|
||||
return new bool[] { actParameterPanel.gaugeValues[0] >= 80, actParameterPanel.gaugeValues[1] >= 80, actParameterPanel.gaugeValues[2] >= 80, actParameterPanel.gaugeValues[3] >= 80, actParameterPanel.gaugeValues[4] >= 80 };
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1929,7 +2046,7 @@ namespace TJAPlayer3
|
||||
private Modal[] displayedModals;
|
||||
|
||||
// Coins information
|
||||
private int[] nEarnedMedalsCount = { 0, 0 };
|
||||
private int[] nEarnedMedalsCount = { 0, 0, 0, 0, 0 };
|
||||
|
||||
#region [ #24609 リザルト画像をpngで保存する ] // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.
|
||||
/// <summary>
|
||||
|
@ -13,7 +13,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
public void RefleshSkin()
|
||||
{
|
||||
for (int player = 0; player < 2; player++)
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
this.pfName[player]?.Dispose();
|
||||
|
||||
@ -52,7 +52,7 @@ namespace TJAPlayer3
|
||||
{
|
||||
RefleshSkin();
|
||||
|
||||
for (int player = 0; player < 2; player++)
|
||||
for (int player = 0; player < 5; player++)
|
||||
{
|
||||
if (TJAPlayer3.NamePlateConfig.data.DanType[player] < 0) TJAPlayer3.NamePlateConfig.data.DanType[player] = 0;
|
||||
else if (TJAPlayer3.NamePlateConfig.data.DanType[player] > 2) TJAPlayer3.NamePlateConfig.data.DanType[player] = 2;
|
||||
@ -75,6 +75,15 @@ namespace TJAPlayer3
|
||||
|
||||
}
|
||||
|
||||
public void tNamePlateDisplayNamePlate_Extension(int x, int y, int item)
|
||||
{
|
||||
int namePlateBaseX = TJAPlayer3.Tx.NamePlate_Extension.szテクスチャサイズ.Width;
|
||||
int namePlateBaseY = TJAPlayer3.Tx.NamePlate_Extension.szテクスチャサイズ.Height / 12;
|
||||
|
||||
TJAPlayer3.Tx.NamePlate_Extension?.t2D描画(TJAPlayer3.app.Device, x, y, new RectangleF(0, item * namePlateBaseY, namePlateBaseX, namePlateBaseY));
|
||||
|
||||
}
|
||||
|
||||
public void tNamePlateRefreshTitles(int player)
|
||||
{
|
||||
int actualPlayer = TJAPlayer3.GetActualPlayer(player);
|
||||
@ -149,7 +158,16 @@ namespace TJAPlayer3
|
||||
|
||||
// Player number
|
||||
if (TJAPlayer3.PlayerSide == 0 || TJAPlayer3.ConfigIni.nPlayerCount > 1)
|
||||
tNamePlateDisplayNamePlateBase(x, y, basePlayer == 1 ? 2 : 0);
|
||||
{
|
||||
if (basePlayer < 2)
|
||||
{
|
||||
tNamePlateDisplayNamePlateBase(x, y, basePlayer == 1 ? 2 : 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
tNamePlateDisplayNamePlate_Extension(x, y, basePlayer - 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
tNamePlateDisplayNamePlateBase(x, y, 1);
|
||||
|
||||
@ -376,15 +394,15 @@ namespace TJAPlayer3
|
||||
|
||||
}
|
||||
|
||||
private CPrivateFastFont[] pfName = new CPrivateFastFont[2];
|
||||
private CPrivateFastFont[] pfName = new CPrivateFastFont[5];
|
||||
private CPrivateFastFont pfTitle;
|
||||
private CPrivateFastFont pfdan;
|
||||
private CCounter ctNamePlateEffect;
|
||||
|
||||
public CCounter ctAnimatedNamePlateTitle;
|
||||
|
||||
private CTexture[] txName = new CTexture[2];
|
||||
private CTexture[] txTitle = new CTexture[2];
|
||||
private CTexture[] txdan = new CTexture[2];
|
||||
private CTexture[] txName = new CTexture[5];
|
||||
private CTexture[] txTitle = new CTexture[5];
|
||||
private CTexture[] txdan = new CTexture[5];
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ local p1IsBlue = false
|
||||
|
||||
local fps = 0
|
||||
local deltaTime = 0
|
||||
local isClear = { false, false }
|
||||
local isClear = { false, false, false, false, false }
|
||||
local towerNightNum = 0
|
||||
local battleState = 0
|
||||
|
||||
|
@ -7,6 +7,12 @@ Game_Chara_X=0,0
|
||||
;キャラのY座標。(1P,2P)
|
||||
Game_Chara_Y=0,537
|
||||
|
||||
|
||||
Game_Chara_4P=165,68
|
||||
|
||||
|
||||
Game_Chara_5P=165,40
|
||||
|
||||
;キャラのX座標。(1P,2P)
|
||||
Game_Chara_X_AI=472,602
|
||||
|
||||
@ -37,6 +43,12 @@ Game_Chara_Balloon_X=0,0
|
||||
;ふうせん連打時のキャラ画像X座標。(1P,2P)
|
||||
Game_Chara_Balloon_Y=0,297
|
||||
|
||||
|
||||
Game_Chara_Balloon_4P=0,-176
|
||||
|
||||
|
||||
Game_Chara_Balloon_5P=0,-168
|
||||
|
||||
;ふうせん連打アクション時に使用するタイマーの更新間隔。(ms)
|
||||
Game_Chara_Balloon_Timer=16
|
||||
|
||||
|
102
Test/System/SimpleStyle/Game4PConfig.ini
Normal file
@ -0,0 +1,102 @@
|
||||
;Included file
|
||||
;あとは通常通り設定できます
|
||||
; TJAPlayer3-Develop-ReWriteで追加したSkinConfig
|
||||
|
||||
Game_ScrollField_4P=349,46
|
||||
Game_ScrollField_5P=349,27
|
||||
|
||||
|
||||
Game_SENotes_Offset_4P=-2,100
|
||||
Game_SENotes_Offset_5P=-2,94
|
||||
|
||||
|
||||
Game_Judge_4P=364,32
|
||||
Game_Judge_5P=364,24
|
||||
|
||||
|
||||
Game_UIMove_4P=0,176
|
||||
Game_UIMove_5P=0,144
|
||||
|
||||
|
||||
Game_ScoreRank_4P=87,88
|
||||
Game_ScoreRank_5P=87,80
|
||||
|
||||
|
||||
Game_CourseSymbol_4P=-4,56
|
||||
Game_CourseSymbol_5P=-4,48
|
||||
|
||||
|
||||
Game_Score_4P=20,54
|
||||
Game_Score_5P=20,46
|
||||
|
||||
Game_Score_Add_4P=20,94
|
||||
Game_Score_Add_5P=20,86
|
||||
|
||||
Game_Score_AddBonus_4P=20,134
|
||||
Game_Score_AddBonus_5P=20,126
|
||||
|
||||
|
||||
Game_Taiko_Background_4P=0,8
|
||||
Game_Taiko_Background_5P=0,0
|
||||
|
||||
Game_Taiko_ModIcons_4P=80,60
|
||||
Game_Taiko_ModIcons_5P=80,50
|
||||
|
||||
Game_Taiko_NamePlate_4P=-55,121
|
||||
Game_Taiko_NamePlate_5P=-55,97
|
||||
|
||||
Game_Taiko_PlayerNumber_4P=4,57
|
||||
Game_Taiko_PlayerNumber_5P=4,49
|
||||
|
||||
Game_Taiko_4P=205,7
|
||||
Game_Taiko_5P=205,-1
|
||||
|
||||
Game_Taiko_Combo_4P=267,73
|
||||
Game_Taiko_Combo_5P=267,65
|
||||
|
||||
Game_Taiko_Combo_Ex_4P=267,75
|
||||
Game_Taiko_Combo_Ex_5P=267,67
|
||||
|
||||
Game_Taiko_Combo_Ex4_4P=267,70
|
||||
Game_Taiko_Combo_Ex4_5P=267,62
|
||||
|
||||
Game_Taiko_Combo_Text_4P=268,99
|
||||
Game_Taiko_Combo_Text_5P=268,91
|
||||
|
||||
Game_Taiko_Frame_4P=333,8
|
||||
Game_Taiko_Frame_5P=333,0
|
||||
|
||||
|
||||
Game_Gauge_4P=492,-4
|
||||
Game_Gauge_5P=492,-12
|
||||
|
||||
Gauge_Soul_4P=1184,-12
|
||||
Gauge_Soul_5P=1184,-20
|
||||
|
||||
Gauge_Soul_Fire_4P=1112,-85
|
||||
Gauge_Soul_Fire_5P=1112,-93
|
||||
|
||||
|
||||
Game_Balloon_Balloon_4P=382,-61
|
||||
Game_Balloon_Balloon_5P=382,-53
|
||||
|
||||
Game_Balloon_Balloon_Frame_4P=382,-12
|
||||
Game_Balloon_Balloon_Frame_5P=382,-4
|
||||
|
||||
Game_Balloon_Balloon_Number_4P=423,95
|
||||
Game_Balloon_Balloon_Number_5P=423,87
|
||||
|
||||
|
||||
Game_Effects_Hit_Explosion_4P=284,-20
|
||||
Game_Effects_Hit_Explosion_5P=284,-39
|
||||
|
||||
Game_Effect_Fire_4P=240,-75
|
||||
Game_Effect_Fire_5P=240,-94
|
||||
|
||||
|
||||
Game_Lane_4P=333,46
|
||||
Game_Lane_5P=333,39
|
||||
|
||||
|
||||
Game_PuchiChara_4P=230,162
|
||||
Game_PuchiChara_5P=230,150
|
BIN
Test/System/SimpleStyle/Graphics/11_Modals/Coin_half_4P.png
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
Test/System/SimpleStyle/Graphics/11_Modals/Coin_half_5P.png
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
Test/System/SimpleStyle/Graphics/3_SongSelect/Coin_Slot_3P.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
Test/System/SimpleStyle/Graphics/3_SongSelect/Coin_Slot_4P.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Test/System/SimpleStyle/Graphics/3_SongSelect/Coin_Slot_5P.png
Normal file
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 7.2 KiB |
@ -49,80 +49,90 @@ function clearOut(player)
|
||||
end
|
||||
|
||||
function init()
|
||||
func:AddGraph("1P_Up_1st.png")
|
||||
func:AddGraph("2P_Up_1st.png")
|
||||
func:AddGraph("1P_Up_2nd.png")
|
||||
func:AddGraph("2P_Up_2nd.png")
|
||||
func:AddGraph("1P_Up_3rd.png")
|
||||
func:AddGraph("2P_Up_3rd.png")
|
||||
if playerCount <= 2 then
|
||||
func:AddGraph("1P_Up_1st.png")
|
||||
func:AddGraph("2P_Up_1st.png")
|
||||
func:AddGraph("1P_Up_2nd.png")
|
||||
func:AddGraph("2P_Up_2nd.png")
|
||||
func:AddGraph("1P_Up_3rd.png")
|
||||
func:AddGraph("2P_Up_3rd.png")
|
||||
|
||||
func:AddGraph("Clear_Up_1st.png")
|
||||
func:AddGraph("Clear_Up_2nd.png")
|
||||
func:AddGraph("Clear_Up_3rd.png")
|
||||
func:AddGraph("Clear_Up_1st.png")
|
||||
func:AddGraph("Clear_Up_2nd.png")
|
||||
func:AddGraph("Clear_Up_3rd.png")
|
||||
else
|
||||
func:AddGraph("4PBG.png")
|
||||
end
|
||||
end
|
||||
|
||||
function update()
|
||||
bgScrollX = bgScrollX - (59 * deltaTime)
|
||||
bgScrollY = bgScrollY + (14 * deltaTime)
|
||||
bg3rdAnime = bg3rdAnime + (300 * deltaTime)
|
||||
if playerCount <= 2 then
|
||||
bgScrollX = bgScrollX - (59 * deltaTime)
|
||||
bgScrollY = bgScrollY + (14 * deltaTime)
|
||||
bg3rdAnime = bg3rdAnime + (300 * deltaTime)
|
||||
|
||||
for player = 0, playerCount - 1 do
|
||||
if isClear[player] then
|
||||
bgClearFade[player + 1] = bgClearFade[player + 1] + (2000 * deltaTime)
|
||||
else
|
||||
bgClearFade[player + 1] = bgClearFade[player + 1] - (2000 * deltaTime)
|
||||
end
|
||||
for player = 0, playerCount - 1 do
|
||||
if isClear[player] then
|
||||
bgClearFade[player + 1] = bgClearFade[player + 1] + (2000 * deltaTime)
|
||||
else
|
||||
bgClearFade[player + 1] = bgClearFade[player + 1] - (2000 * deltaTime)
|
||||
end
|
||||
|
||||
if bgClearFade[player + 1] > 255 then
|
||||
bgClearFade[player + 1] = 255
|
||||
if bgClearFade[player + 1] > 255 then
|
||||
bgClearFade[player + 1] = 255
|
||||
end
|
||||
if bgClearFade[player + 1] < 0 then
|
||||
bgClearFade[player + 1] = 0
|
||||
end
|
||||
end
|
||||
if bgClearFade[player + 1] < 0 then
|
||||
bgClearFade[player + 1] = 0
|
||||
|
||||
if bgScrollX < -loopWidth then
|
||||
bgScrollX = 0
|
||||
end
|
||||
if bgScrollY > loopHeight then
|
||||
bgScrollY = 0
|
||||
end
|
||||
if bg3rdAnime > 600 then
|
||||
bg3rdAnime = 0
|
||||
end
|
||||
end
|
||||
|
||||
if bgScrollX < -loopWidth then
|
||||
bgScrollX = 0
|
||||
end
|
||||
if bgScrollY > loopHeight then
|
||||
bgScrollY = 0
|
||||
end
|
||||
if bg3rdAnime > 600 then
|
||||
bg3rdAnime = 0
|
||||
end
|
||||
|
||||
if bg3rdAnime < 270 then
|
||||
--speed
|
||||
bgScrollX_3rd = bg3rdAnime * 0.9258
|
||||
bgScrollY_3rd = math.sin(bg3rdAnime * (math.pi / 270.0)) * 40.0
|
||||
else
|
||||
bgScrollX_3rd = 250 + (bg3rdAnime - 270) * 0.24;
|
||||
if bg3rdAnime < 490 then
|
||||
bgScrollY_3rd = -math.sin((bg3rdAnime - 270) * (math.pi / 170.0)) * 15.0
|
||||
if bg3rdAnime < 270 then
|
||||
--speed
|
||||
bgScrollX_3rd = bg3rdAnime * 0.9258
|
||||
bgScrollY_3rd = math.sin(bg3rdAnime * (math.pi / 270.0)) * 40.0
|
||||
else
|
||||
bgScrollY_3rd = -(math.sin(220 * (math.pi / 170.0)) * 15.0) + (((bg3rdAnime - 490) / 110) * (math.sin(220 * (math.pi / 170)) * 15.0))
|
||||
bgScrollX_3rd = 250 + (bg3rdAnime - 270) * 0.24;
|
||||
if bg3rdAnime < 490 then
|
||||
bgScrollY_3rd = -math.sin((bg3rdAnime - 270) * (math.pi / 170.0)) * 15.0
|
||||
else
|
||||
bgScrollY_3rd = -(math.sin(220 * (math.pi / 170.0)) * 15.0) + (((bg3rdAnime - 490) / 110) * (math.sin(220 * (math.pi / 170)) * 15.0))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function draw()
|
||||
for player = 0, playerCount - 1 do
|
||||
if playerCount <= 2 then
|
||||
for player = 0, playerCount - 1 do
|
||||
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_1st.png")
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_2nd.png")
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_3rd.png")
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_1st.png")
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_2nd.png")
|
||||
func:SetOpacity(bgClearFade[player + 1], "Clear_Up_3rd.png")
|
||||
|
||||
y = 0
|
||||
if player == 1 then
|
||||
y = 536
|
||||
end
|
||||
for i = 0, 5 do
|
||||
drawUp1st(bgScrollX + (loopWidth * i), y, player)
|
||||
drawUp2nd(bgScrollX + (loopWidth * i), y, player)
|
||||
end
|
||||
for i = 0, 5 do
|
||||
drawUp3rd(bgScrollX + (loopWidth * i), y, player)
|
||||
y = 0
|
||||
if player == 1 then
|
||||
y = 536
|
||||
end
|
||||
for i = 0, 5 do
|
||||
drawUp1st(bgScrollX + (loopWidth * i), y, player)
|
||||
drawUp2nd(bgScrollX + (loopWidth * i), y, player)
|
||||
end
|
||||
for i = 0, 5 do
|
||||
drawUp3rd(bgScrollX + (loopWidth * i), y, player)
|
||||
end
|
||||
end
|
||||
else
|
||||
func:DrawGraph(0, 0, "4PBG.png");
|
||||
end
|
||||
end
|
||||
|
BIN
Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/4PPlay_Frame.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 37 KiB |
BIN
Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Score_5P.png
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.4 KiB |
BIN
Test/System/SimpleStyle/Graphics/5_Game/7_Gauge/5P_4PGauge.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.7 KiB |
@ -11,12 +11,12 @@
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
|
||||
local y = { 210, 386 }
|
||||
local y = { 210, 386, 0, 0, 0 }
|
||||
|
||||
local sideTextureCount = 4
|
||||
|
||||
local animeCounter = { 0, 0 }
|
||||
local nowFrame = { 0, 0 }
|
||||
local animeCounter = { 0, 0, 0, 0, 0 }
|
||||
local nowFrame = { 0, 0, 0, 0, 0 }
|
||||
|
||||
|
||||
|
||||
@ -32,10 +32,18 @@ function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = { 0, 0 }
|
||||
animeCounter = { 0, 0, 0, 0, 0 }
|
||||
end
|
||||
|
||||
function init()
|
||||
|
||||
if playerCount <= 2 then
|
||||
y = { 210, 386, 0, 0, 0 }
|
||||
elseif playerCount == 5 then
|
||||
y = { 36, 170, 314, 458, 602 }
|
||||
else
|
||||
y = { 64, 240, 416, 592, 0 }
|
||||
end
|
||||
|
||||
func:AddGraph("Clear_Text.png")
|
||||
func:AddGraph("Clear_Text_Effect.png")
|
||||
|
@ -10,11 +10,11 @@
|
||||
--func:SetScale(xscale, yscale, "filename")
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
local x = { 505, 505 }
|
||||
local y = { 145, 321 }
|
||||
local x = { 505, 505, 505, 505, 505 }
|
||||
local y = { 145, 321, 0, 0, 0 }
|
||||
|
||||
local animeCounter = { 0, 0 }
|
||||
local nowFrame = { 0, 0 }
|
||||
local animeCounter = { 0, 0, 0, 0, 0 }
|
||||
local nowFrame = { 0, 0, 0, 0, 0 }
|
||||
|
||||
local textureCount = 25
|
||||
|
||||
@ -27,11 +27,20 @@ function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = { 0, 0 }
|
||||
nowFrame = { 0, 0 }
|
||||
animeCounter = { 0, 0, 0, 0, 0 }
|
||||
nowFrame = { 0, 0, 0, 0, 0 }
|
||||
end
|
||||
|
||||
function init()
|
||||
|
||||
if playerCount <= 2 then
|
||||
y = { 145, 321, 0, 0, 0 }
|
||||
elseif playerCount == 5 then
|
||||
y = { -23, 121, 265, 409, 553 }
|
||||
else
|
||||
y = { -1, 175, 351, 527, 0 }
|
||||
end
|
||||
|
||||
for i = 0 , textureCount do
|
||||
func:AddGraph(tostring(i)..".png")
|
||||
end
|
||||
|
@ -10,11 +10,11 @@
|
||||
--func:SetScale(xscale, yscale, "filename")
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
local x = { 332, 332 }
|
||||
local y = { 192, 368 }
|
||||
local x = { 332, 332, 332, 332, 332 }
|
||||
local y = { 192, 368, 0, 0, 0 }
|
||||
|
||||
local animeCounter = { 0, 0 }
|
||||
local nowFrame = { 0, 0 }
|
||||
local animeCounter = { 0, 0, 0, 0, 0 }
|
||||
local nowFrame = { 0, 0, 0, 0, 0 }
|
||||
|
||||
local textureCount = 61
|
||||
|
||||
@ -25,11 +25,19 @@ function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = { 0, 0 }
|
||||
nowFrame = { 0, 0 }
|
||||
animeCounter = { 0, 0, 0, 0, 0 }
|
||||
nowFrame = { 0, 0, 0, 0, 0 }
|
||||
end
|
||||
|
||||
function init()
|
||||
if playerCount <= 2 then
|
||||
y = { 192, 368, 0, 0, 0 }
|
||||
elseif playerCount == 5 then
|
||||
y = { 24, 168, 312, 456, 600 }
|
||||
else
|
||||
y = { 46, 222, 398, 574, 0 }
|
||||
end
|
||||
|
||||
func:AddGraph("bg.png")
|
||||
for i = 0 , textureCount do
|
||||
func:AddGraph(tostring(i)..".png")
|
||||
|
@ -10,11 +10,11 @@
|
||||
--func:SetScale(xscale, yscale, "filename")
|
||||
--func:SetColor(r, g, b, "filename")
|
||||
|
||||
local x = { 330, 330 }
|
||||
local y = { 50, 226 }
|
||||
local x = { 330, 330, 330, 330, 330 }
|
||||
local y = { 50, 226, 0, 0, 0 }
|
||||
|
||||
local animeCounter = { 0, 0 }
|
||||
local nowFrame = { 0, 0 }
|
||||
local animeCounter = { 0, 0, 0, 0, 0 }
|
||||
local nowFrame = { 0, 0, 0, 0, 0 }
|
||||
|
||||
local textureCount = 66
|
||||
|
||||
@ -25,11 +25,20 @@ function clearOut(player)
|
||||
end
|
||||
|
||||
function playEndAnime(player)
|
||||
animeCounter = { 0, 0 }
|
||||
nowFrame = { 0, 0 }
|
||||
animeCounter = { 0, 0, 0, 0, 0 }
|
||||
nowFrame = { 0, 0, 0, 0, 0 }
|
||||
end
|
||||
|
||||
function init()
|
||||
|
||||
if playerCount <= 2 then
|
||||
y = { 50, 226, 0, 0, 0 }
|
||||
elseif playerCount == 5 then
|
||||
y = { -118, 26, 170, 314, 458 }
|
||||
else
|
||||
y = { -96, 80, 256, 432, 0 }
|
||||
end
|
||||
|
||||
for i = 0 , textureCount do
|
||||
func:AddGraph(tostring(i)..".png")
|
||||
end
|
||||
|
BIN
Test/System/SimpleStyle/Graphics/6_Result/Background_3.png
Normal file
After Width: | Height: | Size: 389 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Background_4.png
Normal file
After Width: | Height: | Size: 382 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Background_5.png
Normal file
After Width: | Height: | Size: 441 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_3.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_4.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_5.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_Base_3.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_Base_4.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Gauge_Base_5.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_4P_1.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_4P_2.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_4P_3.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_4P_4.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_4P_5_Unused.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
Test/System/SimpleStyle/Graphics/6_Result/Panel_5P_1.png
Normal file
After Width: | Height: | Size: 67 KiB |