parent
a1918d1239
commit
a21ca9e1d9
@ -2,4 +2,48 @@
|
||||
"name" : "New Template",
|
||||
"rarity": "Common",
|
||||
"author": "[Author]",
|
||||
"speechtext":[
|
||||
{
|
||||
"strings":{
|
||||
"default":"simplestyleSweat",
|
||||
"fr":"simplestyleSweat",
|
||||
"ja":"simplestyleSweat"
|
||||
}
|
||||
},
|
||||
{
|
||||
"strings":{
|
||||
"default":"...",
|
||||
"fr":"...",
|
||||
"ja":"..."
|
||||
}
|
||||
},
|
||||
{
|
||||
"strings":{
|
||||
"default":"○",
|
||||
"fr":"○",
|
||||
"ja":"○"
|
||||
}
|
||||
},
|
||||
{
|
||||
"strings":{
|
||||
"default":"◎",
|
||||
"fr":"◎",
|
||||
"ja":"◎"
|
||||
}
|
||||
},
|
||||
{
|
||||
"strings":{
|
||||
"default":"★",
|
||||
"fr":"★",
|
||||
"ja":"★"
|
||||
}
|
||||
},
|
||||
{
|
||||
"strings":{
|
||||
"default":"!!!!",
|
||||
"fr":"!!!!",
|
||||
"ja":"!!!!"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -6541,6 +6541,38 @@ namespace TJAPlayer3
|
||||
Result_Speech_Bubble_Y[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_X[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_Y")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_Y[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_2P_X")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_2P_X[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_2P_Y")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_2P_Y[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == nameof(Result_MusicName_X))
|
||||
{
|
||||
Result_MusicName_X = int.Parse(strParam);
|
||||
@ -7078,6 +7110,38 @@ namespace TJAPlayer3
|
||||
Result_CrownEffect_5P[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_4P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_4P[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Bubble_V2_5P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Bubble_V2_5P[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Text_Offset")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
Result_Speech_Text_Offset[i] = int.Parse(strSplit[i]);
|
||||
}
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Text_Size")
|
||||
{
|
||||
Result_Speech_Text_Size = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Result_Speech_Text_MaxWidth")
|
||||
{
|
||||
Result_Speech_Text_MaxWidth = int.Parse(strParam);
|
||||
}
|
||||
else if (strCommand == "Result_NamePlate_4P")
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
@ -9548,6 +9612,12 @@ namespace TJAPlayer3
|
||||
public int[] Result_Speech_Bubble_X = new int[] { 430, 850 };
|
||||
public int[] Result_Speech_Bubble_Y = new int[] { 526, 526 };
|
||||
|
||||
public int[] Result_Speech_Bubble_V2_X = new int[] { 0, 0 };
|
||||
public int[] Result_Speech_Bubble_V2_Y = new int[] { 0, 0 };
|
||||
|
||||
public int[] Result_Speech_Bubble_V2_2P_X = new int[] { 0, 0 };
|
||||
public int[] Result_Speech_Bubble_V2_2P_Y = new int[] { 0, 0 };
|
||||
|
||||
public int[] Result_NamePlate_X = new int[] { 28, 1032 };
|
||||
public int[] Result_NamePlate_Y = new int[] { 621, 621 };
|
||||
|
||||
@ -9649,6 +9719,16 @@ namespace TJAPlayer3
|
||||
public int[] Result_CrownEffect_4P = new int[] { 220, 545 };
|
||||
public int[] Result_CrownEffect_5P = new int[] { 188, 545 };
|
||||
|
||||
|
||||
public int[] Result_Speech_Bubble_V2_4P = new int[] { 0, 0 };
|
||||
|
||||
public int[] Result_Speech_Bubble_V2_5P = new int[] { 0, 0 };
|
||||
|
||||
|
||||
public int[] Result_Speech_Text_Offset = new int[] { 0, 0 };
|
||||
public int Result_Speech_Text_Size = 60;
|
||||
public int Result_Speech_Text_MaxWidth = 560;
|
||||
|
||||
public int[] Result_NamePlate_4P = new int[] { 80, 621 };
|
||||
public int[] Result_NamePlate_5P = new int[] { 31, 621 };
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace TJAPlayer3
|
||||
{
|
||||
class DBCharacter
|
||||
@ -43,13 +43,15 @@ namespace TJAPlayer3
|
||||
Name = "(None)";
|
||||
Rarity = "Common";
|
||||
Author = "(None)";
|
||||
SpeechText = new CLocalizationData[6] { new CLocalizationData(), new CLocalizationData(), new CLocalizationData(), new CLocalizationData(), new CLocalizationData(), new CLocalizationData() };
|
||||
}
|
||||
|
||||
public CharacterData(string pcn, string pcr, string pca)
|
||||
public CharacterData(string pcn, string pcr, string pca, CLocalizationData[] pcst)
|
||||
{
|
||||
Name = pcn;
|
||||
Rarity = pcr;
|
||||
Author = pca;
|
||||
SpeechText = pcst;
|
||||
}
|
||||
|
||||
|
||||
@ -61,6 +63,9 @@ namespace TJAPlayer3
|
||||
|
||||
[JsonProperty("author")]
|
||||
public string Author;
|
||||
|
||||
[JsonProperty("speechtext")]
|
||||
public CLocalizationData[] SpeechText;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -30,20 +30,20 @@ namespace TJAPlayer3
|
||||
_path = path;
|
||||
|
||||
// Character metadata
|
||||
if (File.Exists($@"{path}\Metadata.json"))
|
||||
metadata = ConfigManager.GetConfig<DBCharacter.CharacterData>($@"{path}\Metadata.json");
|
||||
if (File.Exists($@"{path}{Path.DirectorySeparatorChar}Metadata.json"))
|
||||
metadata = ConfigManager.GetConfig<DBCharacter.CharacterData>($@"{path}{Path.DirectorySeparatorChar}Metadata.json");
|
||||
else
|
||||
metadata = new DBCharacter.CharacterData();
|
||||
|
||||
// Character metadata
|
||||
if (File.Exists($@"{path}\Effects.json"))
|
||||
effect = ConfigManager.GetConfig<DBCharacter.CharacterEffect>($@"{path}\Effects.json");
|
||||
if (File.Exists($@"{path}{Path.DirectorySeparatorChar}Effects.json"))
|
||||
effect = ConfigManager.GetConfig<DBCharacter.CharacterEffect>($@"{path}{Path.DirectorySeparatorChar}Effects.json");
|
||||
else
|
||||
effect = new DBCharacter.CharacterEffect();
|
||||
|
||||
// Character unlockables
|
||||
if (File.Exists($@"{path}\Unlock.json"))
|
||||
unlock = ConfigManager.GetConfig<DBUnlockables.CUnlockConditions>($@"{path}\Unlock.json");
|
||||
if (File.Exists($@"{path}{Path.DirectorySeparatorChar}Unlock.json"))
|
||||
unlock = ConfigManager.GetConfig<DBUnlockables.CUnlockConditions>($@"{path}{Path.DirectorySeparatorChar}Unlock.json");
|
||||
else
|
||||
unlock = null;
|
||||
}
|
||||
|
@ -1084,6 +1084,10 @@ namespace TJAPlayer3
|
||||
Result_Speech_Bubble[0] = TxC(RESULT + @$"Speech_Bubble.png");
|
||||
Result_Speech_Bubble[1] = TxC(RESULT + @$"Speech_Bubble_2.png");
|
||||
|
||||
Result_Speech_Bubble_V2[0] = TxC(RESULT + @$"Speech_Bubble_V2_Left.png");
|
||||
Result_Speech_Bubble_V2[1] = TxC(RESULT + @$"Speech_Bubble_V2_Right.png");
|
||||
Result_Speech_Bubble_V2[2] = TxC(RESULT + @$"Speech_Bubble_V2_4P_5P.png");
|
||||
|
||||
Result_Flower = TxC(RESULT + @$"Flower{Path.DirectorySeparatorChar}Flower.png");
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -2170,6 +2174,17 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Skin.Characters_Result_Failed_AnimationDuration[i] = int.Parse(strParam);
|
||||
break;
|
||||
}
|
||||
/*
|
||||
case "Chara_Result_SpeechText":
|
||||
{
|
||||
string[] strSplit = strParam.Split(',');
|
||||
for (int j = 0; j < 6; j++)
|
||||
{
|
||||
TJAPlayer3.Skin.Characters_Result_SpeechText[i][j] = strSplit[j];
|
||||
}
|
||||
break;
|
||||
}
|
||||
*/
|
||||
default: { break; }
|
||||
}
|
||||
}
|
||||
@ -2714,7 +2729,8 @@ namespace TJAPlayer3
|
||||
|
||||
Result_Gauge = new CTexture[5],
|
||||
Result_Gauge_Base = new CTexture[5],
|
||||
Result_Speech_Bubble = new CTexture[2]
|
||||
Result_Speech_Bubble = new CTexture[2],
|
||||
Result_Speech_Bubble_V2 = new CTexture[3]
|
||||
/*,
|
||||
Result_Mountain = new CTexture[4]*/;
|
||||
#endregion
|
||||
|
@ -198,6 +198,21 @@ namespace TJAPlayer3
|
||||
ttkAISection[i] = new CActSelect曲リスト.TitleTextureKey($"{i + 1}区", pfAISectionText, Color.White, Color.Black, 1280);
|
||||
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
ttkSpeechText[i] = new CActSelect曲リスト.TitleTextureKey[6];
|
||||
|
||||
int _charaId = TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(i)].data.Character;
|
||||
|
||||
for (int j = 0; j < 6; j++)
|
||||
{
|
||||
// { "simplestyleSweat", "...", "○", "◎", "★", "!!!!" }
|
||||
ttkSpeechText[i][j] = new CActSelect曲リスト.TitleTextureKey(
|
||||
TJAPlayer3.Tx.Characters[_charaId].metadata.SpeechText[j].GetString(""),
|
||||
pfSpeechText, Color.White, Color.Black, TJAPlayer3.Skin.Result_Speech_Text_MaxWidth);
|
||||
}
|
||||
}
|
||||
|
||||
ct全体進行 = new CCounter(0, 50000, 1, TJAPlayer3.Timer);
|
||||
|
||||
@ -269,12 +284,14 @@ namespace TJAPlayer3
|
||||
}
|
||||
public override void CreateManagedResource()
|
||||
{
|
||||
pfSpeechText = new CCachedFontRenderer(TJAPlayer3.ConfigIni.FontName, TJAPlayer3.Skin.Result_Speech_Text_Size);
|
||||
pfAISectionText = new CCachedFontRenderer(TJAPlayer3.ConfigIni.FontName, TJAPlayer3.Skin.Result_AIBattle_SectionText_Scale);
|
||||
|
||||
base.CreateManagedResource();
|
||||
}
|
||||
public override void ReleaseManagedResource()
|
||||
{
|
||||
TJAPlayer3.t安全にDisposeする(ref pfSpeechText);
|
||||
TJAPlayer3.t安全にDisposeする(ref pfAISectionText);
|
||||
|
||||
base.ReleaseManagedResource();
|
||||
@ -962,6 +979,7 @@ namespace TJAPlayer3
|
||||
// Speech Bubble
|
||||
|
||||
int Mood = 0;
|
||||
int MoodV2 = 0;
|
||||
|
||||
if (gaugeValues[p] >= 100.0f)
|
||||
Mood = 3;
|
||||
@ -970,6 +988,37 @@ namespace TJAPlayer3
|
||||
else if (gaugeValues[p] >= 40.0f)
|
||||
Mood = 1;
|
||||
|
||||
if (TJAPlayer3.stage結果.nクリア[p] == 3)
|
||||
{
|
||||
MoodV2 = 5;
|
||||
}
|
||||
else if (TJAPlayer3.stage結果.nクリア[p] == 2)
|
||||
{
|
||||
MoodV2 = 4;
|
||||
}
|
||||
else if (TJAPlayer3.stage結果.nクリア[p] == 1)
|
||||
{
|
||||
if (gaugeValues[p] >= 100.0f)
|
||||
{
|
||||
MoodV2 = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
MoodV2 = 2;
|
||||
}
|
||||
}
|
||||
else if (TJAPlayer3.stage結果.nクリア[p] == 0)
|
||||
{
|
||||
if (gaugeValues[p] >= 40.0f)
|
||||
{
|
||||
MoodV2 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
MoodV2 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount <= 2)
|
||||
{
|
||||
int speechBuddle_width = TJAPlayer3.Tx.Result_Speech_Bubble[pos].szテクスチャサイズ.Width / 4;
|
||||
@ -980,6 +1029,51 @@ namespace TJAPlayer3
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble[pos].t2D拡大率考慮中央基準描画(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));
|
||||
}
|
||||
int speech_vubble_index = TJAPlayer3.ConfigIni.nPlayerCount <= 2 ? pos : 2;
|
||||
if (TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index] != null)
|
||||
{
|
||||
int speechBuddle_width = TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].szテクスチャサイズ.Width;
|
||||
int speechBuddle_height = TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].szテクスチャサイズ.Height / 6;
|
||||
|
||||
int speech_bubble_x;
|
||||
int speech_bubble_y;
|
||||
float scale;
|
||||
if (TJAPlayer3.ConfigIni.nPlayerCount == 5)
|
||||
{
|
||||
speech_bubble_x = TJAPlayer3.Skin.Result_Speech_Bubble_V2_5P[0] + TJAPlayer3.Skin.Result_UIMove_5P_X[pos];
|
||||
speech_bubble_y = TJAPlayer3.Skin.Result_Speech_Bubble_V2_5P[1] + TJAPlayer3.Skin.Result_UIMove_5P_Y[pos];
|
||||
scale = 0.5f;
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 4 || TJAPlayer3.ConfigIni.nPlayerCount == 3)
|
||||
{
|
||||
speech_bubble_x = TJAPlayer3.Skin.Result_Speech_Bubble_V2_4P[0] + TJAPlayer3.Skin.Result_UIMove_4P_X[pos];
|
||||
speech_bubble_y = TJAPlayer3.Skin.Result_Speech_Bubble_V2_4P[1] + TJAPlayer3.Skin.Result_UIMove_4P_Y[pos];
|
||||
scale = 0.5f;
|
||||
}
|
||||
else if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
|
||||
{
|
||||
speech_bubble_x = TJAPlayer3.Skin.Result_Speech_Bubble_V2_2P_X[pos];
|
||||
speech_bubble_y = TJAPlayer3.Skin.Result_Speech_Bubble_V2_2P_Y[pos];
|
||||
scale = 0.5f;
|
||||
}
|
||||
else
|
||||
{
|
||||
speech_bubble_x = TJAPlayer3.Skin.Result_Speech_Bubble_V2_X[pos];
|
||||
speech_bubble_y = TJAPlayer3.Skin.Result_Speech_Bubble_V2_Y[pos];
|
||||
scale = 1.0f;
|
||||
}
|
||||
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].vc拡大縮小倍率.X = 0.9f * scale * (ct全体進行.CurrentValue <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.CurrentValue - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].vc拡大縮小倍率.Y = 0.9f * scale * (ct全体進行.CurrentValue <= MountainAppearValue + AddCount ? 1.3f - (float)Math.Sin((ct全体進行.CurrentValue - MountainAppearValue) / (AddCount / 90) * (Math.PI / 180)) * 0.3f : 1.0f);
|
||||
TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].t2D拡大率考慮中央基準描画(speech_bubble_x, speech_bubble_y,
|
||||
new Rectangle(0, MoodV2 * speechBuddle_height, speechBuddle_width, speechBuddle_height));
|
||||
|
||||
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vc拡大縮小倍率.X = scale;
|
||||
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vc拡大縮小倍率.Y = scale;
|
||||
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).t2D拡大率考慮中央基準描画(
|
||||
speech_bubble_x + (int)(TJAPlayer3.Skin.Result_Speech_Text_Offset[0] * scale),
|
||||
speech_bubble_y + (int)(TJAPlayer3.Skin.Result_Speech_Text_Offset[1] * scale));
|
||||
}
|
||||
if (!b音声再生[11])
|
||||
{
|
||||
if (gaugeValues[p] >= 80.0f)
|
||||
@ -1229,6 +1323,9 @@ namespace TJAPlayer3
|
||||
|
||||
private CActSelect曲リスト.TitleTextureKey[] ttkAISection;
|
||||
|
||||
private CActSelect曲リスト.TitleTextureKey[][] ttkSpeechText = new CActSelect曲リスト.TitleTextureKey[5][];
|
||||
|
||||
private CCachedFontRenderer pfSpeechText;
|
||||
private CCachedFontRenderer pfAISectionText;
|
||||
|
||||
private CCounter ctAISectionChange;
|
||||
|
Loading…
x
Reference in New Issue
Block a user