Merge remote-tracking branch 'upstream/main' into TU31

This commit is contained in:
Fireblade
2026-07-05 18:32:31 -04:00
85 changed files with 2061 additions and 899 deletions
@@ -25,16 +25,16 @@ const WCHAR *UIScene_SkinSelectMenu::wchDefaultNamesA[]=
L"Prisoner Steve",
L"Cyclist Steve",
L"Boxer Steve",
L"Developer Steve",
L"Alex",
L"Tuxedo Alex",
L"Boxer Alex",
L"Prisoner Alex",
L"Tennis Alex",
L"Cyclist Alex",
L"Tuxedo Alex",
L"Athlete Alex",
L"Swedish Alex",
L"Prisoner Alex",
L"Cyclist Alex",
L"Boxer Alex",
L"Developer Alex",
L"Developer Steve",
};
UIScene_SkinSelectMenu::UIScene_SkinSelectMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
@@ -60,6 +60,7 @@ UIScene_SkinSelectMenu::UIScene_SkinSelectMenu(int iPad, void *initData, UILayer
m_selectedSkinPath = L"";
m_selectedCapePath = L"";
m_vAdditionalSkinBoxes = nullptr;
m_vSkinOffsets = nullptr;
m_bSlidingSkins = false;
m_bAnimatingMove = false;
@@ -654,6 +655,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
m_selectedSkinPath = skinFile->getPath();
m_selectedCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
m_vAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
m_vSkinOffsets = skinFile->getOffsets();
skinName = skinFile->getParameterAsString( DLCManager::e_DLCParamType_DisplayName );
skinOrigin = skinFile->getParameterAsString( DLCManager::e_DLCParamType_ThemeName );
@@ -676,6 +678,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
m_selectedSkinPath = L"";
m_selectedCapePath = L"";
m_vAdditionalSkinBoxes = nullptr;
m_vSkinOffsets = nullptr;
switch(m_packIndex)
{
@@ -720,6 +723,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
m_selectedSkinPath = skinFile->getPath();
m_selectedCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
m_vAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
m_vSkinOffsets = skinFile->getOffsets();
skinName = skinFile->getParameterAsString( DLCManager::e_DLCParamType_DisplayName );
skinOrigin = skinFile->getParameterAsString( DLCManager::e_DLCParamType_ThemeName );
@@ -792,6 +796,17 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),m_vAdditionalSkinBoxes);
}
}
if(m_vSkinOffsets && m_vSkinOffsets->size()!=0)
{
// add the skin Offsets to the humanoid model, but only if we've not done this already
vector<SKIN_OFFSET *> *pSkinOffsets = app.GetSkinOffsets(skinFile->getSkinID());
if(pSkinOffsets==nullptr)
{
pSkinOffsets = app.SetSkinOffsets(skinFile->getSkinID(),m_vSkinOffsets);
}
}
if(skinFile!=nullptr)
{
@@ -810,6 +825,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
wstring otherSkinPath = L"";
wstring otherCapePath = L"";
vector<SKIN_BOX *> *othervAdditionalSkinBoxes=nullptr;
vector<SKIN_OFFSET *> *othervSkinOffsets=nullptr;
wchar_t chars[256];
// turn off all displays
@@ -864,6 +880,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = skinFile->getPath();
otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
othervSkinOffsets = skinFile->getOffsets();
backupTexture = TN_MOB_CHAR;
}
else
@@ -871,6 +888,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = L"";
otherCapePath = L"";
othervAdditionalSkinBoxes=nullptr;
othervSkinOffsets=nullptr;
switch(m_packIndex)
{
case SKIN_SELECT_PACK_DEFAULT:
@@ -893,7 +911,8 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = skinFile->getPath();
otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
backupTexture = TN_MOB_CHAR;
othervSkinOffsets = skinFile->getOffsets();
backupTexture = TN_MOB_CHAR;
}
}
else
@@ -919,6 +938,14 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),othervAdditionalSkinBoxes);
}
}
if(othervSkinOffsets && othervSkinOffsets->size()!=0)
{
vector<SKIN_OFFSET *> *pSkinOffsets = app.GetSkinOffsets(skinFile->getSkinID());
if(pSkinOffsets==nullptr)
{
pSkinOffsets = app.SetSkinOffsets(skinFile->getSkinID(),othervSkinOffsets);
}
}
// 4J-PB - anim override needs set before SetTexture
if(skinFile!=nullptr)
{
@@ -948,6 +975,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = skinFile->getPath();
otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
othervSkinOffsets = skinFile->getOffsets();
backupTexture = TN_MOB_CHAR;
}
else
@@ -955,6 +983,7 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = L"";
otherCapePath = L"";
othervAdditionalSkinBoxes=nullptr;
othervSkinOffsets=nullptr;
switch(m_packIndex)
{
case SKIN_SELECT_PACK_DEFAULT:
@@ -977,7 +1006,8 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
otherSkinPath = skinFile->getPath();
otherCapePath = skinFile->getParameterAsString(DLCManager::e_DLCParamType_Cape);
othervAdditionalSkinBoxes = skinFile->getAdditionalBoxes();
backupTexture = TN_MOB_CHAR;
othervSkinOffsets = skinFile->getOffsets();
backupTexture = TN_MOB_CHAR;
}
}
else
@@ -1003,6 +1033,14 @@ void UIScene_SkinSelectMenu::handleSkinIndexChanged()
pAdditionalModelParts = app.SetAdditionalSkinBoxes(skinFile->getSkinID(),othervAdditionalSkinBoxes);
}
}
if(othervSkinOffsets && othervSkinOffsets->size()!=0)
{
vector<SKIN_OFFSET *> *pSkinOffsets = app.GetSkinOffsets(skinFile->getSkinID());
if(pSkinOffsets==nullptr)
{
pSkinOffsets = app.SetSkinOffsets(skinFile->getSkinID(),othervSkinOffsets);
}
}
// 4J-PB - anim override needs set before SetTexture
if(skinFile)
{
@@ -1086,34 +1124,34 @@ TEXTURE_NAME UIScene_SkinSelectMenu::getTextureId(int skinIndex)
texture = TN_MOB_CHAR7;
break;
case eDefaultSkins_Skin8:
texture = TN_MOB_CHAR8;
texture = TN_MOB_ALEX;
break;
case eDefaultSkins_Skin9:
texture = TN_MOB_CHAR9;
texture = TN_MOB_ALEX1;
break;
case eDefaultSkins_Skin10:
texture = TN_MOB_CHAR10;
texture = TN_MOB_ALEX2;
break;
case eDefaultSkins_Skin11:
texture = TN_MOB_CHAR11;
texture = TN_MOB_ALEX3;
break;
case eDefaultSkins_Skin12:
texture = TN_MOB_CHAR12;
texture = TN_MOB_ALEX4;
break;
case eDefaultSkins_Skin13:
texture = TN_MOB_CHAR13;
texture = TN_MOB_ALEX5;
break;
case eDefaultSkins_Skin14:
texture = TN_MOB_CHAR14;
texture = TN_MOB_ALEX6;
break;
case eDefaultSkins_Skin15:
texture = TN_MOB_CHAR15;
texture = TN_MOB_ALEX7;
break;
case eDefaultSkins_Skin16:
texture = TN_MOB_CHAR16;
texture = TN_MOB_DEVALEX;
break;
case eDefaultSkins_Skin17:
texture = TN_MOB_CHAR17;
texture = TN_MOB_DEVSTEVE;
break;
};