Custom Edit Parts Tutorials by Carlzilla & sdss9462


#1

I was surprised to see this wasn’t already posted here, so here’s the old Custom Edit Parts Tutorial, originally posted by Carl.

Want to make your own edit parts…you came to the right place.

This process is time consuming. It is not as simple as games like 2K18 which use 3d models. Fire Pro uses sprites, so we need to create sprite sheets.

This is the sprite sheet for the default wrestler trunks:
https://cdn.discordapp.com/attachments/399939769796132876/446030383616753705/waist_tex.png

As you can see, you’ve got your work cut out for you. You need to create the sprite sheets before proceeding to the next part of this tutorial. Use Unity Asset Bundle Extractor to extract the textures from Resources.Assets. Please do not request other people to rip assets/textures for you in this thread, as it will muck it up and take away focus from real questions and discussion.

First, you’ll need Unity 5.3.3 which you can download here: https://unity3d.com/get-unity/download?thank-you=update&download_nid=28745&os=Win

Second, you’ll need the example project for unity. This project will have all the folders formatted in the correct way and contains some example files. You can get the example project here: https://drive.google.com/open?id=1o-8b5FZNgjhgU29kSlpjX0lBGLosGuAY

Third you will need the default PartsInfoList.txt file. You can either rip this yourself using UABE or download it here: https://drive.google.com/open?id=1SoXpzE9diJHfnw0aGhmuFsu6zWgBRkbg

Once you’ve got those three things, you’ll need to load the example project in Unity. Once the project loads you’ll see in the bottom portion of the Unity Editor window an Assets Explorer window. In this window find the PartsTex folder. Inside this folder are 11 other folders, one for each type of edit part, one for the default highlights, and one called InfoText.

Find the folder that corresponds to each edit part you want to import into the game and import the texture into Unity by right clicking and hitting Import Asset and selecting the texture file.

Once that file is imported, click on it in the asset explorer and over on the right side there will be a properties window, the first option should be Texture Type. Select Sprite (2D and UI) from this list. Do this for each texture you’ve imported. I believe it can be done in batches, but I’m not sure I’ve ever actually done it that way.

Once you’ve got all that set up, you’ll need to edit the PartsInfo.txt found inside the InfoText folder. Unity will attempt to open this file in Visual Studio for no real reason, so just right click it and select “Show in Explorer”. This will bring up a Windows Explorer window pointed at the text file. Open it up in your favorite text editor (like Notepad or Notepad++).

You’ll be greeted with this:

#face,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
> 42772,Ace Paint (1),Ace Paint (1),113,ペイント,Paint,200,男,Male,0,0,0,0,0,0,0,0,0,0,0,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,m_fc_AcePaint_m_2,0,0,0,0,0,0,0,0,0,1
> #chest,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
> 42597,Ace Logo (1),Ace Logo (1),100016,模様,Pattern,0,0,0,0,0,0,0,0,0,0,0,0,下地ライン,0,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_l_1,m_ch_AceShirt_d_1,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_d_1,0,0,0,0,0,0,0,0,0,1
> #thigh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
> 42597,Ace Logo (3),Ace Logo (3),600012,タイツ,Tights,0,0,0,0,0,0,0,0,0,0,0,0,下地,0,m_th_AceTights_s_1,m_th_AceTights_s_1,m_th_AceTights_s_1,m_th_AceTights_s_1,m_th_AceTights_s_1,m_th_AceTights_s_1,m_th_AceTights_s_1,0,0,0,0,0,0,0,0,0,1
> 42597,Ace Logo (4),Ace Logo (4),600012,タイツ,Tights,0,0,0,0,0,0,0,0,0,0,0,0,下地,0,m_th_AceTights_s_2,m_th_AceTights_s_2,m_th_AceTights_s_2,m_th_AceTights_s_2,m_th_AceTights_s_2,m_th_AceTights_s_2,m_th_AceTights_s_2,0,0,0,0,0,0,0,0,0,1
> #end,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

This allows the example sprites to be loaded into the game. You’ll notice that there’s lines that start #face or #chest, these are the beginning lines for those edit layers. If you want to add a part to a layer that isn’t in the example text file, you’ll need to copy one of the ones that are in the default file.

I find the easiest way to deal with this next part is to find a similar part type in the original PartsInfoList.txt to the one you’re adding and copy the line. You’ll then have to edit the following fields (fields are separated by a comma).

Field 2: Japanese Name
Field 3: English Name

You’ll also need to change all the m_th_XXXX_Y_Z to the name of the texture you’re trying to import. There should be 7 of them in order they are :

Texture for Small sized base parts
Texture for Medium sized base parts
Texture for Large sized base parts
Texture for Giant sized base parts
Texture for Female sized base parts
Texture for Body Builder base parts
Texture for Bear base parts

I’ll break down that file name now:

m = not a base part, if this was a base part this would be b_th_XXXX_Y_Z
th = thigh part. each part has a two letter category. It’s important that your new parts maintain this format. Here’s a list of the two letter codes:

Face - fc
Chest - ch
Body - bo
Upper Arm - ua
Forearm - fa
Thigh - th
Shin - sh
Hand - ha
Foot - fo

XXXX = a unique ID. The default game uses numbers, but as you can see in the example file, it’s not a necessity to do so. Non-base parts can go nuts here as far as length is concerned, base parts need to use 4 CHARACTERS EXACTLY.

Y = part size. You can use the same texture for all part sizes if you want…but if you do want to stretch or shrink the texture this should match the texture size.

Z = Another ID. Some edit parts are in groups, if that’s the case for your edit part, you can set this to be _1 and then _2 for the 2nd part of the group, etc.

Leave all the other values alone. Many of them are for filtering purposes, and the filtering system is complicated and annoying, so just ignore them.

Once you’ve added and edited the text entries for each part, you need to build the AssetBundle. To do this, click the Root PartsTex folder in the Asset Explorer to select it. Once it’s selected, right click and select Build AssetBundle from Selection - Track Dependencies. Save it to your ModSuiteData\CustomParts\ folder. Give it whatever name you want.

Find the file in your .\ModSuiteData\CustomParts\ folder now, and change the file extention from .Unity3d to .tex

That’s it, you’ve built an AssetBundle with working edit parts…

If you’re planning on releasing your bundle to the public, please remove the tutorial parts from your bundle. If it’s just your bundle, the impact they have will be minimal, but if every public bundle was to include them, the game could potentially have to sort through hundreds of extra files, which would lead to a noticeable impact in load times and performance.


#2

some other posts on the topic, saved from previous incarnations

Just going to note [because it took me a couple of tries even though I knew I was missing something] the filename of your texture .PNG should match the unique ID given in the string in InfoText.txt

the string in InfoText:

#chest,
42597,Ace Logo (1),Ace Logo (1),100016,模様,Pattern,0,0,0,0,0,0,0,0,0,0,0,0,下地ライン,0,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_l_1,m_ch_AceShirt_d_1,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_d_1,0,0,0,0,0,0,0,0,0,1

The texture file you’ve created:

m_ch_AceShirt_s_1.png

Also, since a few people have misunderstood…

THE GAME DOES NOT AUTOSCALE THE PARTS FOR YOU!

Simply making m_ch_AceShirt_s_1.png and then using this in the InfoText:

42597,Ace Logo (1),Ace Logo (1),100016,模様,Pattern,0,0,0,0,0,0,0,0,0,0,0,0,下地ライン,0,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_l_1,m_ch_AceShirt_d_1,m_ch_AceShirt_s_1,m_ch_AceShirt_m_1,m_ch_AceShirt_d_1,0,0,0,0,0,0,0,0,0,1

Will not work, as you don’t have m_ch_AceShirt_m_1, m_ch_AceShirt_l_1, or m_ch_AceShirt_d_1

You can however enter this:

42597,Ace Logo (1),Ace Logo (1),100016,模様,Pattern,0,0,0,0,0,0,0,0,0,0,0,0,下地ライン,0,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,m_ch_AceShirt_s_1,0,0,0,0,0,0,0,0,0,1

and it will use the logo you’ve created on all base sizes…however, it will be the same size on a small chest as it will be on a large chest…which sometimes doesn’t work depending on what you’re trying to do.

XXXX = a unique ID. The default game uses numbers, but as you can see in the example file, it’s not a necessity to do so.


#3

and finally sdss9462’s tutorial on how to create highlight PNGs

Incidentally, this is how I’ve been creating the highlight layer…

  1. In photoshop, open your completed custom part png.
  2. Add a new layer, and position it beneath the the layer with the custom part.
  3. Fill the new layer with black.
  4. Go back to the custom part layer.
  5. Use the magic wand tool and select a pixel of the brightest white. (I use “point sample” and tolerance of “0” generally.)
  6. Once you’ve selected a white area, then right click and select “similar.” Now you’ve selected every bright white area within the custom part png image.
  7. Right click again and “select inverse,” so that now you’ve selected every area of the part png that ISN’T brightest white.
  8. While all of the non-bright-white areas are still selected, go to the top ribbon and choose “select–>modify–>feather.” I find a radius of “3” gives the right result.
  9. Go again to the top ribbon and select “edit–>clear.” Now you’ve erased everything from the custom part png except the bight white areas, with a nice soft feathered edge around them.
  10. Save is as a new png, using the same name as you would use for the part, but with adding “_h” at the end to denote it as a highlight, (ie. “m_bo_Vest Stripes_m_1_h” for example.) Make sure both layers are turned on, so in the saved png, the background appears black, as opposed to clear like with a regular part png.
  11. When doing the tex file creation in unity, add both the original part png and the highlight png as assets and follow the rest of the process as normal. You don’t have to add anything extra to the partlist text file beyond what Carl’s instructions call for.

That’s it. And it creates a highlight that’s very close to what the default parts use.

A few additional notes…
If your original part png doesn’t have much of a bright white area, you can try selecting the lightest gray and using a tolerance of 10-20 to get it to ultimately select the brightest two shades, (pure white and lightest gray,) when selecting “similar,” which will give you a larger highlight area. And/or when you get to the feathering step, you can also try a radius of “2” as opposed to “3” will also leave a larger highlight area visible after clearing the rest. I’ve had to do either or both a few times with smaller parts like the boot trims and pieces.

It sounds like a lot of steps, but it honestly doesn’t take more than a minute or two if done while you’re creating the parts png themselves. Even if you don’t use the highlights, (and I generally keep them to 25% unless I’m doing shiny boots,) it really does make a difference in how they look in game and how well they match the default parts, especially when colored black.