1
0
mirror of synced 2024-11-28 01:10:53 +01:00
This commit is contained in:
0auBSQ 2023-09-20 10:09:40 +09:00
commit 40cba7e83d
42 changed files with 1670 additions and 77 deletions

View File

@ -0,0 +1,175 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using Silk.NET.Input;
namespace FDK
{
public class CInputGamepad : IInputDevice, IDisposable
{
// コンストラクタ
public CInputGamepad(IGamepad gamepad)
{
this.CurrentType = InputDeviceType.Gamepad;
this.GUID = gamepad.Index.ToString();
this.ID = gamepad.Index;
this.InputEvents = new List<STInputEvent>(32);
gamepad.ButtonDown += Joystick_ButtonDown;
gamepad.ButtonUp += Joystick_ButtonUp;
}
// メソッド
public void SetID( int nID )
{
this.ID = nID;
}
#region [ IInputDevice ]
//-----------------
public InputDeviceType CurrentType
{
get;
private set;
}
public string GUID
{
get;
private set;
}
public int ID
{
get;
private set;
}
public List<STInputEvent> InputEvents
{
get;
private set;
}
public string strDeviceName
{
get;
set;
}
public void Polling(bool useBufferInput)
{
InputEvents.Clear();
for (int i = 0; i < ButtonStates.Length; i++)
{
if (ButtonStates[i].Item1)
{
if (ButtonStates[i].Item2 >= 1)
{
ButtonStates[i].Item2 = 2;
}
else
{
ButtonStates[i].Item2 = 1;
InputEvents.Add(
new STInputEvent()
{
nKey = i,
Pressed = true,
Released = false,
nTimeStamp = SampleFramework.Game.TimeMs,
nVelocity = 0,
}
);
}
}
else
{
if (ButtonStates[i].Item2 <= -1)
{
ButtonStates[i].Item2 = -2;
}
else
{
ButtonStates[i].Item2 = -1;
InputEvents.Add(
new STInputEvent()
{
nKey = i,
Pressed = false,
Released = true,
nTimeStamp = SampleFramework.Game.TimeMs,
nVelocity = 0,
}
);
}
}
}
}
public bool KeyPressed(int nButton)
{
return ButtonStates[nButton].Item2 == 1;
}
public bool KeyPressing(int nButton)
{
return ButtonStates[nButton].Item2 >= 1;
}
public bool KeyReleased(int nButton)
{
return ButtonStates[nButton].Item2 == -1;
}
public bool KeyReleasing(int nButton)
{
return ButtonStates[nButton].Item2 <= -1;
}
//-----------------
#endregion
#region [ IDisposable ]
//-----------------
public void Dispose()
{
if(!this.IsDisposed)
{
if (this.InputEvents != null)
{
this.InputEvents = null;
}
this.IsDisposed = true;
}
}
//-----------------
#endregion
// その他
#region [ private ]
//-----------------
private (bool, int)[] ButtonStates = new (bool, int)[15];
private bool IsDisposed;
private void Joystick_ButtonDown(IGamepad joystick, Button button)
{
if (button.Name != ButtonName.Unknown)
{
ButtonStates[(int)button.Name].Item1 = true;
}
}
private void Joystick_ButtonUp(IGamepad joystick, Button button)
{
if (button.Name != ButtonName.Unknown)
{
ButtonStates[(int)button.Name].Item1 = false;
}
}
//-----------------
#endregion
}
}

View File

@ -99,6 +99,10 @@ namespace FDK
{
this.InputDevices.Add(new CInputJoystick(joysticks));
}
foreach (var gamepad in Context.Gamepads)
{
this.InputDevices.Add(new CInputGamepad(gamepad));
}
#endregion
}
@ -127,6 +131,28 @@ namespace FDK
}
return null;
}
public IInputDevice Gamepad(int ID)
{
foreach (IInputDevice device in this.InputDevices)
{
if ((device.CurrentType == InputDeviceType.Gamepad) && (device.ID == ID))
{
return device;
}
}
return null;
}
public IInputDevice Gamepad(string GUID)
{
foreach (IInputDevice device in this.InputDevices)
{
if ((device.CurrentType == InputDeviceType.Gamepad) && device.GUID.Equals(GUID))
{
return device;
}
}
return null;
}
public IInputDevice MidiIn(int ID)
{
foreach (IInputDevice device in this.InputDevices)

View File

@ -11,6 +11,7 @@ namespace FDK
Keyboard,
Mouse,
Joystick,
Gamepad,
MidiIn,
Unknown
}

View File

@ -455,10 +455,12 @@ namespace FDK
Matrix4X4<float> mvp = Matrix4X4<float>.Identity;
float trueWidth = Math.Abs((float)rc画像内の描画領域.Width);
float trueHeight = Math.Abs((float)rc画像内の描画領域.Height);
Matrix4X4<float> scaling()
{
Matrix4X4<float> resizeMatrix = Matrix4X4.CreateScale((float)rc画像内の描画領域.Width / GameWindowSize.Width, (float)rc画像内の描画領域.Height / GameWindowSize.Height, 0.0f);
Matrix4X4<float> resizeMatrix = Matrix4X4.CreateScale(trueWidth / GameWindowSize.Width, trueHeight / GameWindowSize.Height, 0.0f);
Matrix4X4<float> scaleMatrix = Matrix4X4.CreateScale(vc拡大縮小倍率.X, vc拡大縮小倍率.Y, vc拡大縮小倍率.Z);
return resizeMatrix * scaleMatrix;
}
@ -482,8 +484,8 @@ namespace FDK
Matrix4X4<float> translation = Matrix4X4.CreateTranslation(api_x, api_y, 0.0f);
Matrix4X4<float> translation2 = Matrix4X4.CreateTranslation(
(rc画像内の描画領域.Width * vc拡大縮小倍率.X / GameWindowSize.Width),
(rc画像内の描画領域.Height * vc拡大縮小倍率.Y / GameWindowSize.Height) * -1,
(trueWidth * vc拡大縮小倍率.X / GameWindowSize.Width),
(trueHeight * vc拡大縮小倍率.Y / GameWindowSize.Height) * -1,
0.0f);
return translation * translation2;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -323,4 +323,37 @@ SongSelect_Option_ModMults1_Y=17,17
SongSelect_Option_ModMults2_X=162,1644
SongSelect_Option_ModMults2_Y=78,78
SongSelect_Option_ModMults2_Y=78,78
SongSelect_NewHeya_Close_Select=0,0
SongSelect_NewHeya_PlayerPlate_X=0,385,770,1155,1540
SongSelect_NewHeya_PlayerPlate_Y=100,100,100,100,100
SongSelect_NewHeya_ModeBar_X=0,385,770,1155,1540
SongSelect_NewHeya_ModeBar_Y=300,300,300,300,300
SongSelect_NewHeya_ModeBar_Font_Offset=192,50
SongSelect_NewHeya_Box_Count=7
SongSelect_NewHeya_Box_X=-636,-180,276,732,1188,1644,2100
SongSelect_NewHeya_Box_Y=410,410,410,410,410,410,410
SongSelect_NewHeya_Box_Chara_Offset=228,300
SongSelect_NewHeya_Box_Name_Offset=228,580
SongSelect_NewHeya_Box_Author_Offset=228,620
SongSelect_NewHeya_Lock_Offset=0,110
SongSelect_NewHeya_InfoSection_Offset=228,310

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -330,4 +330,37 @@ SongSelect_Option_ModMults1_Y=11,11
SongSelect_Option_ModMults2_X=108,1096
SongSelect_Option_ModMults2_Y=52,52
SongSelect_Option_ModMults2_Y=52,52
SongSelect_NewHeya_Close_Select=0, 0
SongSelect_NewHeya_PlayerPlate_X=0, 256, 513, 770, 1026
SongSelect_NewHeya_PlayerPlate_Y=66, 66, 66, 66, 66
SongSelect_NewHeya_ModeBar_X=0, 256, 513, 770, 1026
SongSelect_NewHeya_ModeBar_Y=200, 200, 200, 200, 200
SongSelect_NewHeya_ModeBar_Font_Offset=128,33
SongSelect_NewHeya_Box_Count=7
SongSelect_NewHeya_Box_X=-424,-120,184,488,792,1096,1400
SongSelect_NewHeya_Box_Y=273,273,273,273,273,273,273
SongSelect_NewHeya_Box_Chara_Offset=152,200
SongSelect_NewHeya_Box_Name_Offset=152,386
SongSelect_NewHeya_Box_Author_Offset=152,413
SongSelect_NewHeya_Lock_Offset=0,73
SongSelect_NewHeya_InfoSection_Offset=152,206

View File

@ -1059,6 +1059,7 @@ namespace TJAPlayer3
public int nウインドウwidth; // #23510 2010.10.31 yyagi add
public int nウインドウheight; // #23510 2010.10.31 yyagi add
public Dictionary<int, string> dicJoystick;
public Dictionary<int, string> dicGamepad;
public Eダークモード eDark;
public Eランダムモード[] eRandom;
public Eダメージレベル eダメージレベル;
@ -1872,6 +1873,7 @@ namespace TJAPlayer3
this.nヒット範囲ms.Poor = 108;
this.ConfigIniファイル名 = "";
this.dicJoystick = new Dictionary<int, string>( 10 );
this.dicGamepad = new Dictionary<int, string>( 10 );
this.tデフォルトのキーアサインに設定する();
#region [ velocityMin ]
this.nVelocityMin.LC = 0; // #23857 2011.1.31 yyagi VelocityMin
@ -2596,6 +2598,10 @@ namespace TJAPlayer3
{
sw.WriteLine( "JoystickID={0},{1}", pair.Key, pair.Value );
}
foreach( KeyValuePair<int, string> pair in this.dicGamepad )
{
sw.WriteLine( "GamepadID={0},{1}", pair.Key, pair.Value );
}
#endregion
#region [ DrumsKeyAssign ]
sw.WriteLine();
@ -3794,6 +3800,10 @@ namespace TJAPlayer3
{
this.tJoystickIDの取得( str4 );
}
else if( str3.Equals( "GamepadID" ) )
{
this.tGamepadIDの取得( str4 );
}
continue;
//-----------------------------
#endregion
@ -4014,6 +4024,22 @@ namespace TJAPlayer3
}
}
}
private void tGamepadIDの取得( string strキー記述 )
{
string[] strArray = strキー記述.Split( new char[] { ',' } );
if( strArray.Length >= 2 )
{
int result = 0;
if( ( int.TryParse( strArray[ 0 ], out result ) && ( result >= 0 ) ) && ( result <= 9 ) )
{
if( this.dicGamepad.ContainsKey( result ) )
{
this.dicGamepad.Remove( result );
}
this.dicGamepad.Add( result, strArray[ 1 ] );
}
}
}
private void tキーアサインを全部クリアする()
{
this.KeyAssign = new CKeyAssign();
@ -4057,6 +4083,10 @@ namespace TJAPlayer3
sw.Write( 'J' );
break;
case E入力デバイス.Gamepad:
sw.Write( 'G' );
break;
case E入力デバイス.:
sw.Write( 'N' );
break;
@ -4081,6 +4111,10 @@ namespace TJAPlayer3
case 'J':
e入力デバイス = E入力デバイス.;
break;
case 'G':
e入力デバイス = E入力デバイス.Gamepad;
break;
case 'K':
e入力デバイス = E入力デバイス.;

View File

@ -17,6 +17,7 @@ namespace TJAPlayer3
public bool Keyboard;
public bool MIDIIN;
public bool Joypad;
public bool Gamepad;
public bool Mouse;
public void Clear()
{
@ -80,6 +81,14 @@ namespace TJAPlayer3
}
break;
case E入力デバイス.Gamepad:
if( ( ( device.CurrentType == InputDeviceType.Gamepad ) && ( device.ID == stkeyassignArray[ i ].ID ) ) && ( event2.nKey == stkeyassignArray[ i ]. ) )
{
list.Add( event2 );
this.st検知したデバイス.Gamepad = true;
}
break;
case E入力デバイス.:
if( ( device.CurrentType == InputDeviceType.Mouse ) && ( event2.nKey == stkeyassignArray[ i ]. ) )
{
@ -133,6 +142,18 @@ namespace TJAPlayer3
this.st検知したデバイス.Joypad = true;
return true;
}
case E入力デバイス.Gamepad:
{
if( !this.rConfigIni.dicJoystick.ContainsKey( stkeyassignArray[ i ].ID ) )
break;
IInputDevice device = this.rInput管理.Gamepad( stkeyassignArray[ i ].ID );
if( ( device == null ) || !device.KeyPressed( stkeyassignArray[ i ]. ) )
break;
this.st検知したデバイス.Gamepad = true;
return true;
}
case E入力デバイス.:
if( !this.rInput管理.Mouse.KeyPressed( stkeyassignArray[ i ]. ) )
break;
@ -191,6 +212,21 @@ namespace TJAPlayer3
this.st検知したデバイス.Joypad = true;
return true;
}
case E入力デバイス.Gamepad:
{
if( !this.rConfigIni.dicJoystick.ContainsKey( stkeyassignArray[ i ].ID ) )
{
break;
}
IInputDevice device = this.rInput管理.Gamepad( stkeyassignArray[ i ].ID );
if( ( device == null ) || !device.KeyPressing( stkeyassignArray[ i ]. ) )
{
break;
}
this.st検知したデバイス.Gamepad = true;
return true;
}
case E入力デバイス.:
if( !this.rInput管理.Mouse.KeyPressing( stkeyassignArray[ i ]. ) )
{

View File

@ -2977,6 +2977,116 @@ namespace TJAPlayer3
SongSelect_Option_ModMults2_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Close_Select")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Close_Select[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_PlayerPlate_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_PlayerPlate_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_PlayerPlate_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_PlayerPlate_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_ModeBar_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_ModeBar_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_Font_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_ModeBar_Font_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Count")
{
SongSelect_NewHeya_Box_Count = int.Parse(strParam);
}
else if (strCommand == "SongSelect_NewHeya_Box_X")
{
string[] strSplit = strParam.Split(',');
SongSelect_NewHeya_Box_X = new int[SongSelect_NewHeya_Box_Count];
for (int i = 0; i < SongSelect_NewHeya_Box_Count; i++)
{
SongSelect_NewHeya_Box_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Y")
{
string[] strSplit = strParam.Split(',');
SongSelect_NewHeya_Box_Y = new int[SongSelect_NewHeya_Box_Count];
for (int i = 0; i < SongSelect_NewHeya_Box_Count; i++)
{
SongSelect_NewHeya_Box_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Chara_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Chara_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Name_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Name_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Author_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Author_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Lock_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Lock_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_InfoSection_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_InfoSection_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_ForeColor_JPOP")
@ -8205,14 +8315,19 @@ namespace TJAPlayer3
Characters_Normal_MissedDown_Ptn,
Characters_Normal_Cleared_Ptn,
Characters_Normal_Maxed_Ptn,
Characters_MissIn_Ptn,
Characters_MissDownIn_Ptn,
Characters_GoGoTime_Ptn,
Characters_GoGoTime_Maxed_Ptn,
Characters_10Combo_Ptn,
Characters_10Combo_Clear_Ptn,
Characters_10Combo_Maxed_Ptn,
Characters_GoGoStart_Ptn,
Characters_GoGoStart_Clear_Ptn,
Characters_GoGoStart_Maxed_Ptn,
Characters_Become_Cleared_Ptn,
Characters_Become_Maxed_Ptn,
Characters_SoulOut_Ptn,
Characters_Return_Ptn,
Characters_Balloon_Breaking_Ptn,
Characters_Balloon_Broke_Ptn,
@ -8243,31 +8358,41 @@ namespace TJAPlayer3
public int[][] Characters_Balloon_5P;
public int[][] Characters_Motion_Normal,
Characters_Motion_10Combo,
Characters_Motion_10Combo_Clear,
Characters_Motion_10ComboMax,
Characters_Motion_Miss,
Characters_Motion_MissDown,
Characters_Motion_ClearIn,
Characters_Motion_Clear,
Characters_Motion_ClearMax,
Characters_Motion_MissIn,
Characters_Motion_MissDownIn,
Characters_Motion_GoGoStart,
Characters_Motion_GoGoStart_Clear,
Characters_Motion_GoGoStartMax,
Characters_Motion_GoGo,
Characters_Motion_GoGoMax,
Characters_Motion_SoulIn,
Characters_Motion_SoulOut,
Characters_Motion_Return;
public float[] Characters_Beat_Normal,
Characters_Beat_10Combo,
Characters_Beat_10Combo_Clear,
Characters_Beat_10ComboMax,
Characters_Beat_Miss,
Characters_Beat_MissDown,
Characters_Beat_ClearIn,
Characters_Beat_Clear,
Characters_Beat_ClearMax,
Characters_Beat_MissIn,
Characters_Beat_MissDownIn,
Characters_Beat_GoGoStart,
Characters_Beat_GoGoStart_Clear,
Characters_Beat_GoGoStartMax,
Characters_Beat_GoGo,
Characters_Beat_GoGoMax,
Characters_Beat_SoulIn,
Characters_Beat_SoulOut,
Characters_Beat_Return;
public int[] Characters_Balloon_Timer;
public int[] Characters_Balloon_Delay;
@ -8615,6 +8740,26 @@ namespace TJAPlayer3
public int[] SongSelect_Option_ModMults2_X = new int[] { 108, 1096 };
public int[] SongSelect_Option_ModMults2_Y = new int[] { 52, 52 };
public int[] SongSelect_NewHeya_Close_Select = new int[] { 0, 0 };
public int[] SongSelect_NewHeya_PlayerPlate_X = new int[] { 0, 256, 513, 770, 1026 };
public int[] SongSelect_NewHeya_PlayerPlate_Y = new int[] { 66, 66, 66, 66, 66 };
public int[] SongSelect_NewHeya_ModeBar_X = new int[] { 0, 256, 513, 770, 1026 };
public int[] SongSelect_NewHeya_ModeBar_Y = new int[] { 200, 200, 200, 200, 200 };
public int[] SongSelect_NewHeya_ModeBar_Font_Offset = new int[] { 128, 33 };
public int SongSelect_NewHeya_Box_Count = 7;
public int[] SongSelect_NewHeya_Box_X = new int[] { -424, -120, 184, 488, 792, 1096, 1400 };
public int[] SongSelect_NewHeya_Box_Y = new int[] { 273, 273, 273, 273, 273, 273, 273 };
public int[] SongSelect_NewHeya_Box_Chara_Offset = new int[] { 152, 200 };
public int[] SongSelect_NewHeya_Box_Name_Offset = new int[] { 152, 386 };
public int[] SongSelect_NewHeya_Box_Author_Offset = new int[] { 152, 413 };
public int[] SongSelect_NewHeya_Lock_Offset = new int[]{ 0, 73 };
public int[] SongSelect_NewHeya_InfoSection_Offset = new int[] { 152, 206 };
public Color SongSelect_ForeColor_JPOP = ColorTranslator.FromHtml("#FFFFFF");
public Color SongSelect_ForeColor_Anime = ColorTranslator.FromHtml("#FFFFFF");
public Color SongSelect_ForeColor_VOCALOID = ColorTranslator.FromHtml("#FFFFFF");

View File

@ -99,25 +99,25 @@ namespace TJAPlayer3
LRed2P = 16,
RRed2P = 17,
LBlue2P = 18,
RBlue2P = 19,
LRed3P = 20,
RRed3P = 21,
LBlue3P = 22,
RBlue3P = 23,
LRed4P = 24,
RRed4P = 25,
LBlue4P = 26,
RBlue4P = 27,
LRed5P = 28,
RRed5P = 29,
LBlue5P = 30,
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,
CLAP2P = 33,
CLAP3P = 34,
CLAP4P = 35,
CLAP5P = 36,
@ -157,21 +157,21 @@ namespace TJAPlayer3
LRed2P = Eパッド.LRed2P,
RRed2P = Eパッド.RRed2P,
LBlue2P = Eパッド.LBlue2P,
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,
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,
@ -227,18 +227,18 @@ namespace TJAPlayer3
HYPERRANDOM
}
public enum EFunMods
{
NONE,
AVALANCHE,
MINESWEEPER,
TOTAL,
public enum EFunMods
{
NONE,
AVALANCHE,
MINESWEEPER,
TOTAL,
}
public enum EGameType
{
TAIKO = 0,
KONGA = 1,
public enum EGameType
{
TAIKO = 0,
KONGA = 1,
}
public enum E楽器パート // ここを修正するときは、セットで次の EKeyConfigPart も修正すること。
@ -270,6 +270,7 @@ namespace TJAPlayer3
MIDI入力 = 1,
= 2,
= 3,
Gamepad = 4,
= -1
}
public enum E判定
@ -815,13 +816,13 @@ namespace TJAPlayer3
}
}
public enum EReturnValue : int
{
Continuation,
ReturnToTitle,
SongChoosen
}
public enum EReturnValue : int
{
Continuation,
ReturnToTitle,
SongChoosen
}
#region[Ver.K追加]
public enum Eレーンタイプ
{

View File

@ -2757,6 +2757,15 @@ for (int i = 0; i < 3; i++) {
}
ConfigIni.dicJoystick.Add( key, device.GUID );
}
else if( ( device.CurrentType == InputDeviceType.Gamepad ) && !ConfigIni.dicGamepad.ContainsValue( device.GUID ) )
{
int key = 0;
while( ConfigIni.dicGamepad.ContainsKey( key ) )
{
key++;
}
ConfigIni.dicGamepad.Add( key, device.GUID );
}
}
foreach( IInputDevice device2 in Input管理.InputDevices )
{
@ -2772,6 +2781,18 @@ for (int i = 0; i < 3; i++) {
}
continue;
}
else if( device2.CurrentType == InputDeviceType.Gamepad )
{
foreach( KeyValuePair<int, string> pair in ConfigIni.dicGamepad )
{
if( device2.GUID.Equals( pair.Value ) )
{
( (CInputGamepad) device2 ).SetID( pair.Key );
break;
}
}
continue;
}
}
Trace.TraceInformation( "DirectInput の初期化を完了しました。" );
}

View File

@ -371,6 +371,19 @@ namespace TJAPlayer3
}
#endregion
NewHeya_Close = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Close.png");
NewHeya_Close_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Close_Select.png");
NewHeya_PlayerPlate[0] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_1P.png");
NewHeya_PlayerPlate[1] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_2P.png");
NewHeya_PlayerPlate[2] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_3P.png");
NewHeya_PlayerPlate[3] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_4P.png");
NewHeya_PlayerPlate[4] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_5P.png");
NewHeya_PlayerPlate_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_Select.png");
NewHeya_ModeBar = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}ModeBar.png");
NewHeya_ModeBar_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}ModeBar_Select.png");
NewHeya_Box = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Box.png");
NewHeya_Lock = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Lock.png");
#endregion
#region 3_
@ -1171,14 +1184,19 @@ namespace TJAPlayer3
Characters_Normal_MissedDown = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Normal_Cleared = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Normal_Maxed = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_MissIn = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_MissDownIn = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_GoGoTime = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_GoGoTime_Maxed = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_10Combo = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_10Combo_Clear = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_10Combo_Maxed = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_GoGoStart = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_GoGoStart_Clear = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_GoGoStart_Maxed = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Become_Cleared = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Become_Maxed = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_SoulOut = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Return = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Balloon_Breaking = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
Characters_Balloon_Broke = new CTexture[TJAPlayer3.Skin.Characters_Ptn][];
@ -1199,14 +1217,19 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_MissIn_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_MissDownIn_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_GoGoTime_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_10Combo_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_GoGoStart_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Become_Cleared_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Become_Maxed_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_SoulOut_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Return_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Balloon_Breaking_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Balloon_Broke_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
@ -1235,17 +1258,22 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Balloon_5P = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_Normal = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_10Combo = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_10Combo_Clear = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_10ComboMax = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_Miss = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_MissDown = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_ClearIn = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_Clear = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_ClearMax = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_MissIn = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_MissDownIn = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_GoGoStart = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_GoGoStart_Clear = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_GoGoStartMax = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_GoGo = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_GoGoMax = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_SoulIn = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_SoulOut = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Motion_Return = new int[TJAPlayer3.Skin.Characters_Ptn][];
TJAPlayer3.Skin.Characters_Beat_Normal = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_Miss = new float[TJAPlayer3.Skin.Characters_Ptn];
@ -1253,13 +1281,18 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Beat_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_GoGo = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_10Combo = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_10Combo_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_10ComboMax = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_ClearIn = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_ClearMax = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_MissIn = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_MissDownIn = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_GoGoStart = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_GoGoStart_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_GoGoStartMax = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_GoGoMax = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_SoulIn = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_SoulOut = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Beat_Return = new float[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Balloon_Timer = new int[TJAPlayer3.Skin.Characters_Ptn];
TJAPlayer3.Skin.Characters_Balloon_Delay = new int[TJAPlayer3.Skin.Characters_Ptn];
@ -1458,6 +1491,12 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[i]; j++)
Characters_Normal_Maxed[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_MissIn_Ptn[i]; j++)
Characters_MissIn[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_MissDownIn_Ptn[i]; j++)
Characters_MissDownIn[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoTime_Ptn[i]; j++)
Characters_GoGoTime[i][j]?.Dispose();
@ -1467,12 +1506,18 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Ptn[i]; j++)
Characters_GoGoStart[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[i]; j++)
Characters_GoGoStart_Clear[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[i]; j++)
Characters_GoGoStart_Maxed[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Ptn[i]; j++)
Characters_10Combo[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[i]; j++)
Characters_10Combo_Clear[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[i]; j++)
Characters_10Combo_Maxed[i][j]?.Dispose();
@ -1482,6 +1527,9 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i]; j++)
Characters_Become_Maxed[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_SoulOut_Ptn[i]; j++)
Characters_SoulOut[i][j]?.Dispose();
for (int j = 0; j < TJAPlayer3.Skin.Characters_Return_Ptn[i]; j++)
Characters_Return[i][j]?.Dispose();
@ -1515,16 +1563,21 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Normal_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Normal{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Normal_Missed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Miss{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}MissDown{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_MissIn_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}MissIn{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_MissDownIn_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}MissDownIn{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Clear{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Clear_Max{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_GoGoTime_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}GoGo{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}GoGo_Max{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_10Combo_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}10combo{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}10combo_Clear{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}10combo_Max{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_GoGoStart_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}GoGoStart{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}GoGoStart_Clear{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}GoGoStart_Max{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Become_Cleared_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Clearin{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Soulin{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_SoulOut_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}SoulOut{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Return_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Return{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Balloon_Breaking_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Balloon_Breaking{Path.DirectorySeparatorChar}");
TJAPlayer3.Skin.Characters_Balloon_Broke_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @$"{Path.DirectorySeparatorChar}Balloon_Broke{Path.DirectorySeparatorChar}");
@ -1544,14 +1597,19 @@ namespace TJAPlayer3
Characters_Normal_MissedDown[i] = new CTexture[TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[i]];
Characters_Normal_Cleared[i] = new CTexture[TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[i]];
Characters_Normal_Maxed[i] = new CTexture[TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[i]];
Characters_MissIn[i] = new CTexture[TJAPlayer3.Skin.Characters_MissIn_Ptn[i]];
Characters_MissDownIn[i] = new CTexture[TJAPlayer3.Skin.Characters_MissDownIn_Ptn[i]];
Characters_GoGoTime[i] = new CTexture[TJAPlayer3.Skin.Characters_GoGoTime_Ptn[i]];
Characters_GoGoTime_Maxed[i] = new CTexture[TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[i]];
Characters_10Combo[i] = new CTexture[TJAPlayer3.Skin.Characters_10Combo_Ptn[i]];
Characters_10Combo_Clear[i] = new CTexture[TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[i]];
Characters_10Combo_Maxed[i] = new CTexture[TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[i]];
Characters_GoGoStart[i] = new CTexture[TJAPlayer3.Skin.Characters_GoGoStart_Ptn[i]];
Characters_GoGoStart_Clear[i] = new CTexture[TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[i]];
Characters_GoGoStart_Maxed[i] = new CTexture[TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[i]];
Characters_Become_Cleared[i] = new CTexture[TJAPlayer3.Skin.Characters_Become_Cleared_Ptn[i]];
Characters_Become_Maxed[i] = new CTexture[TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i]];
Characters_SoulOut[i] = new CTexture[TJAPlayer3.Skin.Characters_SoulOut_Ptn[i]];
Characters_Return[i] = new CTexture[TJAPlayer3.Skin.Characters_Return_Ptn[i]];
Characters_Balloon_Breaking[i] = new CTexture[TJAPlayer3.Skin.Characters_Balloon_Breaking_Ptn[i]];
Characters_Balloon_Broke[i] = new CTexture[TJAPlayer3.Skin.Characters_Balloon_Broke_Ptn[i]];
@ -1612,6 +1670,12 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[i]; j++)
Characters_Normal_Maxed[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Clear_Max{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_MissIn_Ptn[i]; j++)
Characters_MissIn[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}MissIn{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_MissDownIn_Ptn[i]; j++)
Characters_MissDownIn[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}MissDownIn{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoTime_Ptn[i]; j++)
Characters_GoGoTime[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}GoGo{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
@ -1621,12 +1685,18 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Ptn[i]; j++)
Characters_GoGoStart[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}GoGoStart{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[i]; j++)
Characters_GoGoStart_Clear[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}GoGoStart_Clear{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[i]; j++)
Characters_GoGoStart_Maxed[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}GoGoStart_Max{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Ptn[i]; j++)
Characters_10Combo[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}10combo{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[i]; j++)
Characters_10Combo_Clear[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}10combo_Clear{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[i]; j++)
Characters_10Combo_Maxed[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}10combo_Max{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
@ -1636,6 +1706,9 @@ namespace TJAPlayer3
for (int j = 0; j < TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i]; j++)
Characters_Become_Maxed[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Soulin{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_SoulOut_Ptn[i]; j++)
Characters_SoulOut[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Soulout{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
for (int j = 0; j < TJAPlayer3.Skin.Characters_Return_Ptn[i]; j++)
Characters_Return[i][j] = TxCGlobal(CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i] + @$"{Path.DirectorySeparatorChar}Return{Path.DirectorySeparatorChar}" + j.ToString() + @$".png");
@ -1666,31 +1739,41 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Balloon_5P[i] = new int[] { 0, -168 };
TJAPlayer3.Skin.Characters_Motion_Normal[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Normal_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_10Combo[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_10Combo_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_10Combo_Clear[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_10ComboMax[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_Miss[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Normal_Missed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_MissDown[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_ClearIn[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Become_Cleared_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_Clear[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_ClearMax[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_MissIn[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_MissIn_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_MissDownIn[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_MissDownIn_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_GoGoStart[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_GoGoStart_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_GoGoStart_Clear[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_GoGoStartMax[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_GoGo[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_GoGoTime_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_GoGoMax[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_SoulIn[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_SoulOut[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_SoulOut_Ptn[i]);
TJAPlayer3.Skin.Characters_Motion_Return[i] = CreateNumberedArrayFromInt(TJAPlayer3.Skin.Characters_Return_Ptn[i]);
TJAPlayer3.Skin.Characters_Beat_Normal[i] = 1;
TJAPlayer3.Skin.Characters_Beat_Miss[i] = 1;
TJAPlayer3.Skin.Characters_Beat_MissDown[i] = 1;
TJAPlayer3.Skin.Characters_Beat_Clear[i] = 2;
TJAPlayer3.Skin.Characters_Beat_GoGo[i] = 2;
TJAPlayer3.Skin.Characters_Beat_MissIn[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_MissDownIn[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_10Combo[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_10Combo_Clear[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_10ComboMax[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_ClearIn[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_ClearMax[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_GoGoStart[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_GoGoStart_Clear[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_GoGoStartMax[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_GoGoMax[i] = 2;
TJAPlayer3.Skin.Characters_Beat_SoulIn[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_SoulOut[i] = 1.5f;
TJAPlayer3.Skin.Characters_Beat_Return[i] = 1.5f;
TJAPlayer3.Skin.Characters_Balloon_Timer[i] = 28;
TJAPlayer3.Skin.Characters_Balloon_Delay[i] = 500;
@ -1850,6 +1933,11 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Motion_10Combo[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_10Combo_Clear":
{
TJAPlayer3.Skin.Characters_Motion_10Combo_Clear[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_10Combo_Max":
{
TJAPlayer3.Skin.Characters_Motion_10ComboMax[i] = CConversion.StringToIntArray(strParam);
@ -1881,12 +1969,27 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Motion_ClearMax[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_MissIn":
{
TJAPlayer3.Skin.Characters_Motion_MissIn[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_MissDownIn":
{
TJAPlayer3.Skin.Characters_Motion_MissDownIn[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_GoGoStart":
{
TJAPlayer3.Skin.Characters_Motion_GoGoStart[i] = CConversion.StringToIntArray(strParam);
TJAPlayer3.Skin.Characters_Motion_GoGoStartMax[i] = TJAPlayer3.Skin.Characters_Motion_GoGoStart[i];
break;
}
case "Game_Chara_Motion_GoGoStart_Clear":
{
TJAPlayer3.Skin.Characters_Motion_GoGoStart_Clear[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_GoGoStart_Max":
{
TJAPlayer3.Skin.Characters_Motion_GoGoStartMax[i] = CConversion.StringToIntArray(strParam);
@ -1908,6 +2011,11 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Motion_SoulIn[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_SoulOut":
{
TJAPlayer3.Skin.Characters_Motion_SoulOut[i] = CConversion.StringToIntArray(strParam);
break;
}
case "Game_Chara_Motion_Return":
{
TJAPlayer3.Skin.Characters_Motion_Return[i] = CConversion.StringToIntArray(strParam);
@ -1954,11 +2062,26 @@ namespace TJAPlayer3
TJAPlayer3.Skin.Characters_Beat_ClearMax[i] = float.Parse(strParam);
break;
}
case "Game_Chara_Beat_MissIn":
{
TJAPlayer3.Skin.Characters_Beat_MissIn[i] = float.Parse(strParam);
break;
}
case "Game_Chara_Beat_MissDownIn":
{
TJAPlayer3.Skin.Characters_Beat_MissDownIn[i] = float.Parse(strParam);
break;
}
case "Game_Chara_Beat_GoGoStart":
{
TJAPlayer3.Skin.Characters_Beat_GoGoStart[i] = float.Parse(strParam);
break;
}
case "Game_Chara_Beat_GoGoStartClear":
{
TJAPlayer3.Skin.Characters_Beat_GoGoStart_Clear[i] = float.Parse(strParam);
break;
}
case "Game_Chara_Beat_GoGoStartMax":
{
TJAPlayer3.Skin.Characters_Beat_GoGoStartMax[i] = float.Parse(strParam);
@ -2252,6 +2375,15 @@ namespace TJAPlayer3
public CTexture[] Difficulty_Back;
#endregion
public CTexture NewHeya_Close;
public CTexture NewHeya_Close_Select;
public CTexture[] NewHeya_PlayerPlate = new CTexture[5];
public CTexture NewHeya_PlayerPlate_Select;
public CTexture NewHeya_ModeBar;
public CTexture NewHeya_ModeBar_Select;
public CTexture NewHeya_Box;
public CTexture NewHeya_Lock;
#endregion
#region 3_
@ -2626,14 +2758,19 @@ Result_Mountain = new CTexture[4]*/;
Characters_Normal_MissedDown,
Characters_Normal_Cleared,
Characters_Normal_Maxed,
Characters_MissIn,
Characters_MissDownIn,
Characters_GoGoTime,
Characters_GoGoTime_Maxed,
Characters_10Combo,
Characters_10Combo_Clear,
Characters_10Combo_Maxed,
Characters_GoGoStart,
Characters_GoGoStart_Clear,
Characters_GoGoStart_Maxed,
Characters_Become_Cleared,
Characters_Become_Maxed,
Characters_SoulOut,
Characters_Return,
Characters_Balloon_Breaking,
Characters_Balloon_Broke,

View File

@ -122,7 +122,7 @@ namespace TJAPlayer3
this.bキー入力待ち = false;
TJAPlayer3.Input管理.Polling( false );
}
else if( ( this.tキーチェックとアサイン_Keyboard() || this.tキーチェックとアサイン_MidiIn() ) || ( this.tキーチェックとアサイン_Joypad() || this.tキーチェックとアサイン_Mouse() ) )
else if( ( this.tキーチェックとアサイン_Keyboard() || this.tキーチェックとアサイン_MidiIn() ) || ( this.tキーチェックとアサイン_Joypad() || tキーチェックとアサイン_Gamepad() || this.tキーチェックとアサイン_Mouse() ) )
{
this.bキー入力待ち = false;
TJAPlayer3.Input管理.Polling( false );
@ -177,6 +177,10 @@ namespace TJAPlayer3
this.tアサインコードの描画_Joypad( i + 1, x + num5, y, stkeyassignArray[ i ].ID, stkeyassignArray[ i ]., this.n現在の選択行 == i );
break;
case E入力デバイス.Gamepad:
this.tアサインコードの描画_Gamepad( i + 1, x + num5, y, stkeyassignArray[ i ].ID, stkeyassignArray[ i ]., this.n現在の選択行 == i );
break;
case E入力デバイス.:
this.tアサインコードの描画_Mouse( i + 1, x + num5, y, stkeyassignArray[ i ].ID, stkeyassignArray[ i ]., this.n現在の選択行 == i );
break;
@ -290,6 +294,23 @@ namespace TJAPlayer3
}
TJAPlayer3.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Joypad #{1} ", line, nID ) + str, b強調, 0.75f );
}
private void tアサインコードの描画_Gamepad( int line, int x, int y, int nID, int nCode, bool b強調 )
{
string str = "";
if ((8 <= nCode) && (nCode < 8 + 128)) // other buttons (128 types)
{
str = string.Format("Button{0}", nCode - 7);
}
else if ((8 + 128 <= nCode) && (nCode < 8 + 128 + 8)) // POV HAT ( 8 types; 45 degrees per HATs)
{
str = string.Format("POV {0}", (nCode - 8 - 128) * 45);
}
else
{
str = string.Format( "Code{0}", nCode );
}
TJAPlayer3.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Gamepad #{1} ", line, nID ) + str, b強調, 0.75f );
}
private void tアサインコードの描画_Keyboard( int line, int x, int y, int nID, int nCode, bool b強調 )
{
string str = null;
@ -315,6 +336,29 @@ namespace TJAPlayer3
{
TJAPlayer3.stageコンフィグ.actFont.t文字列描画( x, y, string.Format( "{0,2}. Mouse Button{1}", line, nCode ), b強調, 0.75f );
}
private bool tキーチェックとアサイン_Gamepad()
{
foreach( IInputDevice device in TJAPlayer3.Input管理.InputDevices )
{
if( device.CurrentType == InputDeviceType.Gamepad )
{
for (int i = 0; i < 15; i++) // +8 for Axis, +8 for HAT
{
if (device.KeyPressed(i))
{
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス.Gamepad, device.ID, i, this.pad);
TJAPlayer3.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ]. = E入力デバイス.Gamepad;
TJAPlayer3.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ].ID = device.ID;
TJAPlayer3.ConfigIni.KeyAssign[ (int) this.part ][ (int) this.pad ][ this.n現在の選択行 ]. = i;
return true;
}
}
}
}
return false;
}
private bool tキーチェックとアサイン_Joypad()
{
foreach( IInputDevice device in TJAPlayer3.Input管理.InputDevices )

View File

@ -223,8 +223,6 @@ namespace TJAPlayer3
//CDTXMania.tテクスチャの解放( ref this.tx下部パネル );
//CDTXMania.tテクスチャの解放( ref this.txMenuカーソル );
TJAPlayer3.t安全にDisposeする(ref TJAPlayer3.Tx.Config_Cursor);
TJAPlayer3.tテクスチャの解放( ref this.tx説明文パネル );
base.ReleaseManagedResource();
}

View File

@ -207,6 +207,7 @@ namespace TJAPlayer3
base.ChildActivities.Add(this.act難易度選択画面 = new CActSelect難易度選択画面());
base.ChildActivities.Add(this.actPlayOption = new CActPlayOption());
base.ChildActivities.Add(this.actExExtraTransAnime = new CActSelectExExtraTransAnime());
base.ChildActivities.Add(this.actNewHeya = new CActNewHeya());
base.ChildActivities.Add(this.PuchiChara = new PuchiChara());
@ -866,7 +867,7 @@ namespace TJAPlayer3
this.act曲リスト.tMenuContextDisable();
}
}
else if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect)
else if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect && !actNewHeya.IsOpend)
{
#region [ ESC ]
if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape)) && (this.act曲リスト.r現在選択中の曲 != null))// && ( ) ) )
@ -970,18 +971,24 @@ namespace TJAPlayer3
}
}
#endregion
/*
#region [ F8 ]
if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.F8))
if (TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.F8))
{
/*
if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
TJAPlayer3.Skin.sound曲決定音.t再生する();
else
TJAPlayer3.Skin.sound決定音.t再生する();
this.t曲をランダム選択する();
*/
}
#endregion
#region [ F9 ]
if (TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.F9))
{
actNewHeya.Open();
}
#endregion
*/
if (this.act曲リスト.r現在選択中の曲 != null)
{
@ -1284,6 +1291,8 @@ namespace TJAPlayer3
if (act難易度選択画面.bOption[3]) actPlayOption.On進行描画(3);
if (act難易度選択画面.bOption[4]) actPlayOption.On進行描画(4);
if (actNewHeya.IsOpend) actNewHeya.Draw();
switch (base.eフェーズID)
{
case CStage.Eフェーズ._フェードイン:
@ -1398,6 +1407,7 @@ namespace TJAPlayer3
public CActSelect難易度選択画面 act難易度選択画面;
public CActPlayOption actPlayOption;
public CActSelectExExtraTransAnime actExExtraTransAnime;
public CActNewHeya actNewHeya;
public CActSortSongs actSortSongs;
private CActSelectQuickConfig actQuickConfig;
@ -1411,7 +1421,7 @@ namespace TJAPlayer3
//private CCounter ctDonchan_Select;
//public CCounter[] ctDonchan_Jump = new CCounter[2];
private PuchiChara PuchiChara;
public PuchiChara PuchiChara;
private int nGenreBack;
private int nOldGenreBack;

View File

@ -1955,11 +1955,34 @@ namespace TJAPlayer3
if ( eJudgeResult == E判定.Poor || eJudgeResult == E判定.Miss || eJudgeResult == E判定.Bad )
{
int Character = this.actChara.iCurrentCharacter[nPlayer];
// ランナー(みすったやつ)
this.actRunner.Start(nPlayer, true, pChip);
if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer) && this.bIsAlreadyMaxed[nPlayer] == true)
{
this.bIsAlreadyMaxed[nPlayer] = false;
if(TJAPlayer3.Skin.Characters_SoulOut_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
this.actChara.ChangeAnime(nPlayer, CAct演奏Drumsキャラクター.Anime.SoulOut, true);
}
}
else if (!bIsGOGOTIME[nPlayer])
{
if (Chara_MissCount[nPlayer] == 1 - 1)
{
if(TJAPlayer3.Skin.Characters_MissIn_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
this.actChara.ChangeAnime(nPlayer, CAct演奏Drumsキャラクター.Anime.MissIn, true);
}
}
else if (Chara_MissCount[nPlayer] == 6 - 1)
{
if(TJAPlayer3.Skin.Characters_MissDownIn_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
this.actChara.ChangeAnime(nPlayer, CAct演奏Drumsキャラクター.Anime.MissDownIn, true);
}
}
}
if (!cleared && this.bIsAlreadyCleared[nPlayer] == true)
{
@ -3931,7 +3954,7 @@ namespace TJAPlayer3
{
if (TJAPlayer3.Skin.Characters_GoGoStart_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer))
if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer) && (!HGaugeMethods.UNSAFE_FastNormaCheck(nPlayer) || TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[Character] == 0))
{
// 魂ゲージMAXではない
// ゴーゴースタート_ーマル
@ -3939,6 +3962,13 @@ namespace TJAPlayer3
//this.actChara.マイどん_アクション_10コンボ();
}
}
if (TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
if (!HGaugeMethods.UNSAFE_IsRainbow(nPlayer) && HGaugeMethods.UNSAFE_FastNormaCheck(nPlayer))
{
this.actChara.ChangeAnime(nPlayer, CAct演奏Drumsキャラクター.Anime.GoGoStart_Clear, true);
}
}
if (TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[Character] != 0 && actChara.CharaAction_Balloon_Delay[nPlayer].IsEnded)
{
if (HGaugeMethods.UNSAFE_IsRainbow(nPlayer))

View File

@ -171,8 +171,8 @@ namespace TJAPlayer3
}
}
nNowCharaFrame[i] = (int)nNowCharaCounter[i];
bool endAnime = nNowCharaFrame[i] > nCharaFrameCount[i];
nNowCharaFrame[i] = Math.Min(nNowCharaFrame[i], nCharaFrameCount[i]);
bool endAnime = nNowCharaFrame[i] >= nCharaFrameCount[i];
if (eNowAnime[i] != Anime.None)
{
@ -243,6 +243,32 @@ namespace TJAPlayer3
}
}
break;
case Anime.MissIn:
{
updateNormal();
if (TJAPlayer3.Tx.Characters_MissIn[Character] != null && TJAPlayer3.Skin.Characters_MissIn_Ptn[Character] != 0)
{
nowChara = TJAPlayer3.Tx.Characters_MissIn[Character][TJAPlayer3.Skin.Characters_Motion_MissIn[Character][nNowCharaFrame[i]]];
}
if (endAnime)
{
ReturnDefaultAnime(i, true);
}
}
break;
case Anime.MissDownIn:
{
updateNormal();
if (TJAPlayer3.Tx.Characters_MissDownIn[Character] != null && TJAPlayer3.Skin.Characters_MissDownIn_Ptn[Character] != 0)
{
nowChara = TJAPlayer3.Tx.Characters_MissDownIn[Character][TJAPlayer3.Skin.Characters_Motion_MissDownIn[Character][nNowCharaFrame[i]]];
}
if (endAnime)
{
ReturnDefaultAnime(i, true);
}
}
break;
case Anime.GoGoTime:
{
updateNormal();
@ -280,6 +306,19 @@ namespace TJAPlayer3
}
}
break;
case Anime.Combo10_Clear:
{
updateNormal();
if (TJAPlayer3.Tx.Characters_10Combo_Clear[Character] != null && TJAPlayer3.Skin.Characters_10Combo_Clear_Ptn[Character] != 0)
{
nowChara = TJAPlayer3.Tx.Characters_10Combo_Clear[Character][TJAPlayer3.Skin.Characters_Motion_10Combo_Clear[Character][nNowCharaFrame[i]]];
}
if (endAnime)
{
ReturnDefaultAnime(i, true);
}
}
break;
case Anime.Combo10_Max:
{
updateNormal();
@ -306,6 +345,19 @@ namespace TJAPlayer3
}
}
break;
case Anime.GoGoStart_Clear:
{
updateNormal();
if (TJAPlayer3.Tx.Characters_GoGoStart_Clear[Character] != null && TJAPlayer3.Skin.Characters_GoGoStart_Clear_Ptn[Character] != 0)
{
nowChara = TJAPlayer3.Tx.Characters_GoGoStart_Clear[Character][TJAPlayer3.Skin.Characters_Motion_GoGoStart_Clear[Character][nNowCharaFrame[i]]];
}
if (endAnime)
{
ReturnDefaultAnime(i, true);
}
}
break;
case Anime.GoGoStart_Max:
{
updateNormal();
@ -345,6 +397,19 @@ namespace TJAPlayer3
}
}
break;
case Anime.SoulOut:
{
updateNormal();
if (TJAPlayer3.Tx.Characters_SoulOut[Character] != null && TJAPlayer3.Skin.Characters_SoulOut_Ptn[Character] != 0)
{
nowChara = TJAPlayer3.Tx.Characters_SoulOut[Character][TJAPlayer3.Skin.Characters_Motion_SoulOut[Character][nNowCharaFrame[i]]];
}
if (endAnime)
{
ReturnDefaultAnime(i, true);
}
}
break;
case Anime.Return:
{
updateNormal();
@ -653,14 +718,19 @@ namespace TJAPlayer3
MissDown,
Cleared,
Maxed,
MissIn,
MissDownIn,
GoGoTime,
GoGoTime_Maxed,
Combo10,
Combo10_Clear,
Combo10_Max,
GoGoStart,
GoGoStart_Clear,
GoGoStart_Max,
Become_Cleared,
Become_Maxed,
SoulOut,
Return,
Balloon_Breaking,
Balloon_Broke,
@ -684,59 +754,79 @@ namespace TJAPlayer3
case Anime.None:
break;
case Anime.Normal:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Normal_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_Normal[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_Normal[iCurrentCharacter[player]];
break;
case Anime.Miss:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Normal_Missed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_Miss[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_Miss[iCurrentCharacter[player]];
break;
case Anime.MissDown:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_MissDown[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_MissDown[iCurrentCharacter[player]];
break;
case Anime.Cleared:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Normal_Cleared_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_Clear[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_Clear[iCurrentCharacter[player]];
break;
case Anime.Maxed:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Normal_Maxed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_ClearMax[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_ClearMax[iCurrentCharacter[player]];
break;
case Anime.MissIn:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_MissIn[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_MissIn[iCurrentCharacter[player]];
break;
case Anime.MissDownIn:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_MissDownIn[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_MissDownIn[iCurrentCharacter[player]];
break;
case Anime.GoGoTime:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_GoGoTime_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_GoGo[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_GoGo[iCurrentCharacter[player]];
break;
case Anime.GoGoTime_Maxed:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_GoGoTime_Maxed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_GoGoMax[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_GoGoMax[iCurrentCharacter[player]];
break;
case Anime.Combo10:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_10Combo_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_10Combo[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_10Combo[iCurrentCharacter[player]];
break;
case Anime.Combo10_Clear:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_10Combo_Clear[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_10Combo_Clear[iCurrentCharacter[player]];
break;
case Anime.Combo10_Max:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_10Combo_Maxed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_10ComboMax[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_10ComboMax[iCurrentCharacter[player]];
break;
case Anime.GoGoStart:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_GoGoStart_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_GoGoStart[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_GoGoStart[iCurrentCharacter[player]];
break;
case Anime.GoGoStart_Clear:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_GoGoStart_Clear[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_GoGoStart_Clear[iCurrentCharacter[player]];
break;
case Anime.GoGoStart_Max:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_GoGoStart_Maxed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_GoGoStartMax[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_GoGoStartMax[iCurrentCharacter[player]];
break;
case Anime.Become_Cleared:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Become_Cleared_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_ClearIn[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_ClearIn[iCurrentCharacter[player]];
break;
case Anime.Become_Maxed:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Become_Maxed_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_SoulIn[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_SoulIn[iCurrentCharacter[player]];
break;
case Anime.SoulOut:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_SoulOut[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_SoulOut[iCurrentCharacter[player]];
break;
case Anime.Return:
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Return_Ptn[iCurrentCharacter[player]] - 1;
nCharaFrameCount[player] = TJAPlayer3.Skin.Characters_Motion_Return[iCurrentCharacter[player]].Length - 1;
nCharaBeat[player] = TJAPlayer3.Skin.Characters_Beat_Return[iCurrentCharacter[player]];
break;
case Anime.Balloon_Breaking:

View File

@ -0,0 +1,777 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FDK;
namespace TJAPlayer3
{
class CActNewHeya : CActivity
{
public bool IsOpend { get; private set; }
private CCachedFontRenderer MenuFont;
private CActSelect曲リスト.TitleTextureKey[] MenuTitleKeys = new CActSelect曲リスト.TitleTextureKey[5];
private CActSelect曲リスト.TitleTextureKey[] ttkPuchiCharaNames;
private CActSelect曲リスト.TitleTextureKey[] ttkPuchiCharaAuthors;
private CActSelect曲リスト.TitleTextureKey[] ttkCharacterNames;
private CActSelect曲リスト.TitleTextureKey[] ttkCharacterAuthors;
private CActSelect曲リスト.TitleTextureKey ttkInfoSection;
private CActSelect曲リスト.TitleTextureKey[] ttkDanTitles;
private CActSelect曲リスト.TitleTextureKey[] ttkTitles;
private string[] titlesKeys;
public CCounter InFade;
public CCounter CharaBoxAnime;
private int CurrentIndex;
private int CurrentMaxIndex;
private int CurrentPlayer;
private enum SelectableInfo
{
PlayerSelect,
ModeSelect,
Select
}
private enum ModeType
{
None = -1,
PuchiChara,
Chara,
DanTitle,
SubTitle
}
private SelectableInfo CurrentState;
private ModeType CurrentMode = ModeType.None;
private void SetState(SelectableInfo selectableInfo)
{
CurrentState = selectableInfo;
switch(selectableInfo)
{
case SelectableInfo.PlayerSelect:
CurrentIndex = 1;
CurrentMaxIndex = TJAPlayer3.ConfigIni.nPlayerCount + 1;
break;
case SelectableInfo.ModeSelect:
CurrentIndex = 1;
CurrentMaxIndex = 5;
break;
case SelectableInfo.Select:
CurrentMode = (ModeType)(CurrentIndex - 1);
switch(CurrentMode)
{
case ModeType.Chara:
CurrentMaxIndex = TJAPlayer3.Skin.Characters_Ptn;
break;
case ModeType.PuchiChara:
CurrentMaxIndex = TJAPlayer3.Skin.Puchichara_Ptn;
break;
case ModeType.DanTitle:
{
int amount = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles.Count;
this.ttkDanTitles = new CActSelect曲リスト.TitleTextureKey[amount];
// Silver Shinjin (default rank) always avaliable by default
this.ttkDanTitles[0] = new CActSelect曲リスト.TitleTextureKey("新人", this.MenuFont, Color.White, Color.Black, 1000);
int idx = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles != null)
{
foreach (var item in TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles)
{
if (item.Value.isGold == true)
this.ttkDanTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Key, this.MenuFont, Color.Gold, Color.Black, 1000);
else
this.ttkDanTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Key, this.MenuFont, Color.White, Color.Black, 1000);
idx++;
}
}
CurrentMaxIndex = amount;
}
break;
case ModeType.SubTitle:
{
int amount = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.Count;
this.ttkTitles = new CActSelect曲リスト.TitleTextureKey[amount];
this.titlesKeys = new string[amount];
// Wood shojinsha (default title) always avaliable by default
this.ttkTitles[0] = new CActSelect曲リスト.TitleTextureKey("初心者", this.MenuFont, Color.Black, Color.Transparent, 1000);
this.titlesKeys[0] = "初心者";
int idx = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null)
{
foreach (var item in TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles)
{
this.ttkTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Value.cld.GetString(item.Key), this.MenuFont, Color.Black, Color.Transparent, 1000);
this.titlesKeys[idx] = item.Key;
idx++;
}
}
CurrentMaxIndex = amount;
}
break;
}
CurrentIndex = 0;
break;
}
}
private void ChangeIndex(int change)
{
CurrentIndex += change;
if (CurrentIndex < 0) CurrentIndex = CurrentMaxIndex - 1;
else if (CurrentIndex >= CurrentMaxIndex) CurrentIndex = 0;
if (CurrentState == SelectableInfo.Select)
{
switch(CurrentMode)
{
case ModeType.PuchiChara:
tUpdateUnlockableTextPuchi();
break;
case ModeType.Chara:
tUpdateUnlockableTextChara();
break;
case ModeType.DanTitle:
break;
case ModeType.SubTitle:
break;
}
}
}
public void Open()
{
InFade = new CCounter(0, 255, 1.0, TJAPlayer3.Timer);
IsOpend = true;
CurrentMode = ModeType.None;
SetState(SelectableInfo.PlayerSelect);
}
public void Close()
{
IsOpend = false;
}
public override void Activate()
{
InFade = new CCounter();
CharaBoxAnime = new CCounter();
for(int i = 0; i < 5; i++)
{
MenuTitleKeys[i] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString(1030 + i), MenuFont, Color.White, Color.Black, 9999);
}
ttkPuchiCharaNames = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
ttkPuchiCharaAuthors = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
for (int i = 0; i < TJAPlayer3.Skin.Puchichara_Ptn; i++)
{
var textColor = HRarity.tRarityToColor(TJAPlayer3.Tx.Puchichara[i].metadata.Rarity);
ttkPuchiCharaNames[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.Name, this.MenuFont, textColor, Color.Black, 1000);
ttkPuchiCharaAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.Author, this.MenuFont, Color.White, Color.Black, 1000);
}
ttkCharacterAuthors = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
ttkCharacterNames = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
for (int i = 0; i < TJAPlayer3.Skin.Characters_Ptn; i++)
{
var textColor = HRarity.tRarityToColor(TJAPlayer3.Tx.Characters[i].metadata.Rarity);
ttkCharacterNames[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.Name, this.MenuFont, textColor, Color.Black, 1000);
ttkCharacterAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.Author, this.MenuFont, Color.White, Color.Black, 1000);
}
base.Activate();
}
public override void DeActivate()
{
base.DeActivate();
}
public override void CreateManagedResource()
{
if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName))
this.MenuFont = new CCachedFontRenderer(TJAPlayer3.ConfigIni.FontName, TJAPlayer3.Skin.Heya_Font_Scale);
else
this.MenuFont = new CCachedFontRenderer(CFontRenderer.DefaultFontName, TJAPlayer3.Skin.Heya_Font_Scale);
base.CreateManagedResource();
}
public override void ReleaseManagedResource()
{
MenuFont.Dispose();
base.ReleaseManagedResource();
}
public override int Draw()
{
if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide)) || ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return))))
{
switch(CurrentState)
{
case SelectableInfo.PlayerSelect:
{
switch(CurrentIndex)
{
case 0:
Close();
TJAPlayer3.Skin.sound取消音.t再生する();
break;
default:
{
CurrentPlayer = TJAPlayer3.GetActualPlayer(CurrentIndex - 1);
SetState(SelectableInfo.ModeSelect);
TJAPlayer3.Skin.sound決定音.t再生する();
}
break;
}
}
break;
case SelectableInfo.ModeSelect:
{
switch(CurrentIndex)
{
case 0:
SetState(SelectableInfo.PlayerSelect);
TJAPlayer3.Skin.sound取消音.t再生する();
break;
default:
{
SetState(SelectableInfo.Select);
TJAPlayer3.Skin.sound決定音.t再生する();
}
break;
}
}
break;
case SelectableInfo.Select:
{
switch(CurrentMode)
{
case ModeType.PuchiChara:
{
var ess = this.tSelectPuchi();
if (ess == ESelectStatus.SELECTED)
{
//PuchiChara.tGetPuchiCharaIndexByName(p);
//TJAPlayer3.NamePlateConfig.data.PuchiChara[iPlayer] = TJAPlayer3.Skin.Puchicharas_Name[iPuchiCharaCurrent];// iPuchiCharaCurrent;
//TJAPlayer3.NamePlateConfig.tApplyHeyaChanges();
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.PuchiChara = TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex];// iPuchiCharaCurrent;
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Tx.Puchichara[CurrentIndex].welcome.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
else if (ess == ESelectStatus.SUCCESS)
{
//TJAPlayer3.NamePlateConfig.data.UnlockedPuchicharas[iPlayer].Add(TJAPlayer3.Skin.Puchicharas_Name[iPuchiCharaCurrent]);
//TJAPlayer3.NamePlateConfig.tSpendCoins(TJAPlayer3.Tx.Puchichara[iPuchiCharaCurrent].unlock.Values[0], iPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Add(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex]);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tSpendCoins(TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.Values[0]);
TJAPlayer3.Skin.sound決定音.t再生する();
}
else
{
TJAPlayer3.Skin.soundError.t再生する();
}
}
break;
case ModeType.Chara:
{
var ess = this.tSelectChara();
if (ess == ESelectStatus.SELECTED)
{
//TJAPlayer3.Tx.Loading?.t2D描画(18, 7);
// Reload character, a bit time expensive but with a O(N) memory complexity instead of O(N * M)
TJAPlayer3.Tx.ReloadCharacter(TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Character, CurrentIndex, CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Character = CurrentIndex;
// Update the character
TJAPlayer3.SaveFileInstances[CurrentPlayer].tUpdateCharacterName(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]);
// Welcome voice using Sanka
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceTitleSanka[CurrentPlayer]?.t再生する();
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.NORMAL);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
SetState(SelectableInfo.PlayerSelect);
CurrentMode = ModeType.None;
}
else if (ess == ESelectStatus.SUCCESS)
{
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Add(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tSpendCoins(TJAPlayer3.Tx.Characters[CurrentIndex].unlock.Values[0]);
TJAPlayer3.Skin.sound決定音.t再生する();
}
else
{
TJAPlayer3.Skin.soundError.t再生する();
}
}
break;
case ModeType.DanTitle:
{
bool iG = false;
int cs = 0;
if (CurrentIndex > 0)
{
iG = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[CurrentIndex].str文字].isGold;
cs = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[CurrentIndex].str文字].clearStatus;
}
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Dan = this.ttkDanTitles[CurrentIndex].str文字;
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanGold = iG;
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanType = cs;
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
break;
case ModeType.SubTitle:
{
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Title = this.ttkTitles[CurrentIndex].str文字;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null
&& TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[CurrentIndex]))
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[CurrentIndex]].iType;
else if (CurrentIndex == 0)
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = 0;
else
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = -1;
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
break;
}
}
break;
}
}
else if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape)))
{
Close();
TJAPlayer3.Skin.sound取消音.t再生する();
}
else if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange)
|| TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow))
{
ChangeIndex(-1);
TJAPlayer3.Skin.sound変更音.t再生する();
}
else if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange)
|| TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow))
{
ChangeIndex(1);
TJAPlayer3.Skin.sound変更音.t再生する();
}
InFade.Tick();
if (TJAPlayer3.Tx.Tile_Black != null)
{
TJAPlayer3.Tx.Tile_Black.Opacity = InFade.CurrentValue / 2;
for (int i = 0; i <= (SampleFramework.GameWindowSize.Width / TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Width); i++) // #23510 2010.10.31 yyagi: change "clientSize.Width" to "640" to fix FIFO drawing size
{
for (int j = 0; j <= (SampleFramework.GameWindowSize.Height / TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Height); j++) // #23510 2010.10.31 yyagi: change "clientSize.Height" to "480" to fix FIFO drawing size
{
TJAPlayer3.Tx.Tile_Black.t2D描画( i * TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Width, j * TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Height);
}
}
}
switch (CurrentState)
{
case SelectableInfo.PlayerSelect:
if (CurrentIndex == 0)
{
TJAPlayer3.Tx.NewHeya_Close_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_Close_Select[0], TJAPlayer3.Skin.SongSelect_NewHeya_Close_Select[1]);
}
else
{
TJAPlayer3.Tx.NewHeya_PlayerPlate_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_X[CurrentIndex - 1], TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_Y[CurrentIndex - 1]);
}
break;
case SelectableInfo.ModeSelect:
{
TJAPlayer3.Tx.NewHeya_ModeBar_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[CurrentIndex], TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[CurrentIndex]);
}
break;
case SelectableInfo.Select:
{
switch(CurrentMode)
{
case ModeType.Chara:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
float charaRatioX = 1.0f;
float charaRatioY = 1.0f;
if (TJAPlayer3.Skin.Characters_Resolution[index] != null)
{
charaRatioX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[index][0];
charaRatioY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[index][1];
}
if (TJAPlayer3.Tx.Characters_Heya_Preview[index] != null)
{
TJAPlayer3.Tx.Characters_Heya_Preview[index].vc拡大縮小倍率.X = charaRatioX;
TJAPlayer3.Tx.Characters_Heya_Preview[index].vc拡大縮小倍率.Y = charaRatioY;
}
TJAPlayer3.Tx.Characters_Heya_Preview[index]?.t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1]);
TJAPlayer3.Tx.Characters_Heya_Preview[index]?.tUpdateColor4(CConversion.ColorToColor4(Color.White));
if (ttkCharacterNames[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkCharacterNames[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[1]);
}
if (ttkCharacterAuthors[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkCharacterAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
if (TJAPlayer3.Tx.Characters[index].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[index]))
{
TJAPlayer3.Tx.NewHeya_Lock?.t2D描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[1]);
if (this.ttkInfoSection != null)
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkInfoSection)
.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
}
break;
case ModeType.PuchiChara:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
int puriColumn = index % 5;
int puriRow = index / 5;
if (TJAPlayer3.Tx.Puchichara[index].tx != null)
{
float puchiScale = TJAPlayer3.Skin.Resolution[1] / 1080.0f;
TJAPlayer3.Tx.Puchichara[index].tx.vc拡大縮小倍率.X = puchiScale;
TJAPlayer3.Tx.Puchichara[index].tx.vc拡大縮小倍率.Y = puchiScale;
}
TJAPlayer3.Tx.Puchichara[index].tx?.t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0],
y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1] + (int)(TJAPlayer3.stage選曲.PuchiChara.sineY),
new Rectangle((TJAPlayer3.stage選曲.PuchiChara.Counter.CurrentValue + 2 * puriColumn) * TJAPlayer3.Skin.Game_PuchiChara[0],
puriRow * TJAPlayer3.Skin.Game_PuchiChara[1],
TJAPlayer3.Skin.Game_PuchiChara[0],
TJAPlayer3.Skin.Game_PuchiChara[1]));
TJAPlayer3.Tx.Puchichara[index].tx?.tUpdateColor4(CConversion.ColorToColor4(Color.White));
if (ttkCharacterNames[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkPuchiCharaNames[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[1]);
}
if (ttkCharacterAuthors[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkPuchiCharaAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
if (TJAPlayer3.Tx.Characters[index].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[index]))
TJAPlayer3.Tx.NewHeya_Lock?.t2D描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
break;
case ModeType.SubTitle:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkTitles[index]);
if (i != 0)
{
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
}
else
{
tmpTex.color4 = CConversion.ColorToColor4(Color.White);
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
x += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0];
y += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1];
int iType = -1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null &&
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[index]))
iType = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[index]].iType;
else if (index == 0)
iType = 0;
if (iType >= 0 && iType < TJAPlayer3.Skin.Config_NamePlate_Ptn_Title)
{
TJAPlayer3.Tx.NamePlate_Title[iType][TJAPlayer3.NamePlate.ctAnimatedNamePlateTitle.CurrentValue % TJAPlayer3.Skin.Config_NamePlate_Ptn_Title_Boxes[iType]].t2D拡大率考慮上中央基準描画(
x,
y);
}
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[0], y + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[1]);
}
break;
case ModeType.DanTitle:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[index]);
if (i != 0)
{
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.DarkGray);
}
else
{
tmpTex.color4 = CConversion.ColorToColor4(Color.White);
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.White);
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
x += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0];
y += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1];
int danGrade = 0;
if (index > 0)
{
danGrade = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[index].str文字].clearStatus;
}
TJAPlayer3.NamePlate.tNamePlateDisplayNamePlateBase(
x - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2,
y - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Height / 24,
(8 + danGrade));
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.White);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[0], y + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[1]);
}
break;
}
}
break;
}
TJAPlayer3.Tx.NewHeya_Close.t2D描画(0, 0);
for(int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
TJAPlayer3.Tx.NewHeya_PlayerPlate[TJAPlayer3.GetActualPlayer(i)].t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_X[i], TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_Y[i]);
}
for(int i = 0; i < 5; i++)
{
TJAPlayer3.Tx.NewHeya_ModeBar.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[i], TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[i]);
int title_x = TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[i] + TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Font_Offset[0];
int title_y = TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[i] + TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Font_Offset[1];
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(MenuTitleKeys[i], false).t2D拡大率考慮中央基準描画(title_x, title_y);
}
return base.Draw();
}
/*
* FAILED : Selection/Purchase failed (failed condition)
* SUCCESS : Purchase succeed (without selection)
* SELECTED : Selection succeed
*/
private enum ESelectStatus
{
FAILED,
SUCCESS,
SELECTED
};
private ESelectStatus tSelectPuchi()
{
// Add "If unlocked" to select directly
if (TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex]))
{
(bool, string) response = TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.tConditionMetWrapper(TJAPlayer3.SaveFile);
//tConditionMet(
//new int[] { TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].data.Medals });
Color responseColor = (response.Item1) ? Color.Lime : Color.Red;
// Send coins here for the unlock, considering that only coin-paid puchicharas can be unlocked directly from the Heya menu
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(response.Item2, this.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}
this.ttkInfoSection = null;
return ESelectStatus.SELECTED;
}
private void tUpdateUnlockableTextPuchi()
{
#region [Check unlockable]
if (TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex]))
{
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.tConditionMessage()
, this.MenuFont, Color.White, Color.Black, 1000);
}
else
this.ttkInfoSection = null;
#endregion
}
private void tUpdateUnlockableTextChara()
{
#region [Check unlockable]
if (TJAPlayer3.Tx.Characters[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]))
{
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[CurrentIndex].unlock.tConditionMessage()
, this.MenuFont, Color.White, Color.Black, 1000);
}
else
this.ttkInfoSection = null;
#endregion
}
private ESelectStatus tSelectChara()
{
// Add "If unlocked" to select directly
if (TJAPlayer3.Tx.Characters[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]))
{
(bool, string) response = TJAPlayer3.Tx.Characters[CurrentIndex].unlock.tConditionMetWrapper(TJAPlayer3.SaveFile);
//TJAPlayer3.Tx.Characters[iCharacterCurrent].unlock.tConditionMet(
//new int[] { TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].data.Medals });
Color responseColor = (response.Item1) ? Color.Lime : Color.Red;
// Send coins here for the unlock, considering that only coin-paid puchicharas can be unlocked directly from the Heya menu
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(response.Item2, this.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}
this.ttkInfoSection = null;
return ESelectStatus.SELECTED;
}
}
}