Testing Costume Parts For Porting

From OuroDev

Some NPC parts are suitable for porting to the costume selector. While there remain issues with adding them to the character creator CTMs at this point (I have had no success here yet), they can be put directly into costume files and the client will load them. It will obviously tell you the costume is invalid, but this still lets you preview them to check they work.

Anatomy of a Costume File

Your saved costumes have a few things that we need for this part testing.

CostumeFilePrefix Male

This line right at the top sets something internally to do with the geometry. It does not set the gender of the underlying skeleton. Some NPC parts will only work if you change this (freaks need FRK here for instance), which means they are no good for direct porting to the players. Useful values are Male, Fem and Huge.

BodyType 1

This is the actual costume skeleton gender. Possible values are 0 (Male), 1 (Female) and 4 (Huge). 2, 3, 5, 6 and 7 are theoretically possible but not useful. If an NPC is using 2, try them on male, if it is using 3 then try them on female. Those are 'Basic' versions of those genders, whatever that means.

CostumePart ""
{
	Fx none
	Geometry none
	Texture1 none
	Texture2 none
	Color1  59,  59,  59
	Color2  227,  227,  227
	Color3  59,  59,  59
	Color4  227,  227,  227
}

These are the actual costume parts. There are always 30 of them. Ignore the fact it says 28 at the top of the file. The last two are always blanks (related to why it says 28 at the top of the file). Not all entries will have the full set of fields, as they are all optional.

  • FX is for glowy bits like auras, and also all weapons. Can be 'None'.
  • Geometry is the mesh. Can be 'None'.
  • Texture1 is the basic texture. Can be 'None'.
  • Texture2 is usually a mask texture of some kind. Can be 'None'.
  • Color1, Color2 are the ones you can set in the editor. The format is probably Red, Green, Blue - the validator checks these values exist in the colour pallette file.
  • Color3, Color4 are ones you can't set and can often just be left as 0,0,0

In order, the costume parts are:

  • "Pants"
  • "Chest"
  • "Head"
  • "Gloves"
  • "Boots"
  • "Belt"
  • "Hair"
  • "Face"
  • "EyeDetail"
  • "ChestDetail"
  • "Shoulders"
  • "Back"
  • "RightWeapon"
  • "Neck"
  • "UArmR" (Upper Arm Right - Used for things like the robot arm set?)
  • "Collar"
  • "Broach"
  • "Cape"
  • "Aura"
  • "Skirt"
  • "Top"
  • "Sleeves"
  • "Cranium"
  • ""
  • ""
  • ""
  • ""
  • ""
  • "" (Unused)
  • "" (Unused)

Anatomy of an ND File

This is the NPC version of a costume file, more or less, with multiple NPCs in the same file.

NPC "FRK_01"
{
	DisplayName "FRK_01"
	Class "Class_Minion_Grunt"
	Level 1
	Rank 1
	XP 5
	Costume
	{
		EntTypeFile "FRK"
		CostumeFilePrefix "FRK"
		Scale 0
		BoneScale 0
		SkinColor 252, 191, 187

You can ignore most of this. CostumeFilePrefix is the same as in player files. If this is set to Male, Fem or Huge you're off to a good start. If not, you can make the costume editor show properly by changing the costume file to match. Players can't do this though, so it's not really useful for porting.

		CostumePart "Pants"
		{
			Geometry "FS_JEANS"
			Texture1 "BM_Jeans"
			Texture2 "NONE"
			Color1 96, 0, 0
			Color2 211, 149, 92
		}

NPC parts are the same as their player counterparts. Note that they are named in the header, unlike player parts. There are also variable numbers of them. Slot them into the matching player slot in the costume file.

Testing Parts

Make yourself a costume file of the appropriate gender. Open it up in your favourite text editor. Copy the parts from the ND file to the Costume file. You can do this while sat in the editor, when you click to reload the file it will load the changed version.