Jump to content

2016-05-12 Patch SDK Changes


davidlallen

Recommended Posts

  • Replies 75
  • Created
  • Last Reply

Top Posters In This Topic

changes were made to X2SoldierClassTemplate and X2SoldierClassTemplateManager

 

var config array<name> AllowedArmors;

var config array<name> ExcludedAbilities; // Abilities that are not eligible to roll from AWC for this class

 

 

var config bool bAllowAWCAbilities; // If this class should receive or share AWC abilities var config protectedwrite bool bMultiplayerOnly;

var config bool bUniqueTacticalToStrategyTransfer; // If this class has unique tactical to strategy transfer code, used for DLC and modding

var config bool bIgnoreInjuries; // This class can go on missions even if they are wounded

var config bool bBlockRankingUp; // Do not let soldiers of this class rank up in the normal way from XP

var config array<EInventorySlot> CannotEditSlots; // Slots which cannot be edited in the armory loadout

var config protectedwrite bool bHideInCharacterPool;

 

var localized array<string> RankNames; // there should be one name for each rank; e.g. Rookie, Squaddie, etc.

var localized array<string> ShortNames; // the abbreviated rank name; e.g. Rk., Sq., etc.

var localized array<string> RankIcons; // strings of image names for specialized rank icons

 

 

function bool IsArmorAllowedByClass(X2ArmorTemplate ArmorTemplate)

{

local int i;

 

switch (ArmorTemplate.InventorySlot)

{

case eInvSlot_Armor: break;

default:

return true;

}

 

for (i = 0; i < AllowedArmors.Length; ++i)

{

if (ArmorTemplate.ArmorCat == AllowedArmors)

return true; return true;

} }

return false; return false;

}

Edited by GrimyBunyip
Link to comment
Share on other sites

new inv slots, kinda chuckled when I read the naming convention

 

case eInvSlot_PrimaryWeapon:

case eInvSlot_SecondaryWeapon:

case eInvSlot_TertiaryWeapon:

case eInvSlot_QuaternaryWeapon:

case eInvSlot_QuinaryWeapon:

case eInvSlot_SenaryWeapon:

case eInvSlot_SeptenaryWeapon:

Link to comment
Share on other sites

Have verified via running it that the new X2DownloadableContentInfo.OnLoadedSavedGameToStrategy works as advertised. It runs whenever loaded into the strategy, even if the DLC/Mod was already installed.

 

For tactical, looks like we still have to rely on UITacticalHUD screenlistener, though.

Link to comment
Share on other sites

 

 

Have verified via running it that the new X2DownloadableContentInfo.OnLoadedSavedGameToStrategy works as advertised. It runs whenever loaded into the strategy, even if the DLC/Mod was already installed. For tactical, looks like we still have to rely on UITacticalHUD screenlistener, though.

 

What is the point of putting any code in the new function, if it won't trigger from tactical? It seems like a half feature, and relying on it doesn't seem to solve any problem.

Link to comment
Share on other sites

Head meshes can now be loaded from the XComHeadContent ARCs:

	if( HeadContent.SkeletalMesh != Mesh.SkeletalMesh )
 	{
 		m_kHeadMeshComponent.SetSkeletalMesh(HeadContent.SkeletalMesh);
 		m_kHeadMeshComponent.SetParentAnimComponent(Mesh);
		AttachComponent(m_kHeadMeshComponent);
		Mesh.AppendSockets(m_kHeadMeshComponent.Sockets, true);
		ResetMaterials(m_kHeadMeshComponent);
		m_kHeadMeshComponent.SetHidden(false);
 	}

However, I'm having some odd behaviours that I cant still quite figure out... I think that while the head mesh is being loaded on the m_kHeadComponent, the Pawn Mesh is not being hidden?? which is causing the head mesh to be loaded twice (but in different meshcomponents). Also, using different meshes with their own morphtargets will, cause the game to crash when trying to swap heads. Ryan if you get to read this, it was the same issue I was having when loading bodyparts (arms, legs, torso) with morphs. It should work fine when swapping between parts which use the same mesh, but loading a different mesh with different vertex order/count/morphtargetset crashes the game.

 

 

 

TL;DR:

ppl can now swap head meshes without using silly mods to hide the Head mesh and without loading them as props...

 

EDIT: The parent shader for heads was also updated: Material'Materials_Update.HeadCustomizable_Scars_TC', and its causing really weird issues when using the "none" scar. FIXED: just point the 1x1 Normal Map inside the Materials_Update upk on the Scars_BLANK ARC Texture.

Edited by Hyperplexed
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...