how to model add-clothing

this is a guide on how to create hats and similar items, also known as "add clothing" internally.
the workflow i use for this is very simple and straight-forward, if you have basic knowledge of petz editing and creating addballs, then this will be easy and i highly encourage you to try it.



start off in LNZ pro. pick a breed to use as your base - it's best to pick something with a basic shape, without any extreme proportions. i like to use the black and white shorthair cat.
open the adult LNZ and scroll down to the [Add Balls] section. to turn our base into a clothing dummy file, we want to push up the number of total balls to 99.
addballs already come numbered, so you just need to do a bit of counting. the black and white shorthair cat goes up to ball 91, so we need to paste in 8 more below. they can simply be duplicates of existing ones.
it's easiest to save this file as a seperate breed. to keep it reusable, you can save a copy of the dummy in another folder to pull out every time you want to create a new clothing item.

now we switch to pet workshop. open your dummy file and make sure to set "apply changes" to "base data".
create your first addball. this should be ball number 100, you can check by right-clicking. if it doesn't show up as ball 100, redo the dummy file.
the only thing you need to keep in mind from here is that all of your other addballs need to be based off of this ball 100 or other balls in the same structure, and not anywhere on the original pet. make whatever item you like, give it linez and textures. paintballz will not show up on add clothing as far as i am aware.
remember to regularly preview your dummy file in-game.


once you are satisfied with the result, we once again return to lnz. pick a clothing item to use as a base, ideally one that is already a piece of add clothing. to make it easier to convert to other versions later on, use an item that is present in all versions from petz 3 to 5, something simple like a pink bow or a flower hat.

open up your dummy file again and locate the add balls section. copy everything starting from your 100th ball. this part is optional, but i like to paste it into a spreadsheet program to easily vertically edit and replace numbers.
in the first column, subtract 100 from all entries except for the first. ball 100 becomes ball 0.
select the 7th column (speckle colour) and delete all of it. select the last 2 columns from the right and delete them as well. these bits won't work in clothing files.

paste these edited addballs over the old addballs in the clothing base file underneath the ##. paste the first ball in the seperate section above it at the top, and make sure to add a - infront of the base ball number at the start. (ex. 24 needs to be listed as -24) copy it for the other species and adjust the ball number to the equivalent.

go back into your dummy file and locate your texture list. copy it over the one inside the clothing file. if you have used external textures, you can add them into the clothing file by right clicking and selecting "add resource", and selecting it as a bmp. to access this internal .bmp, change the directory to art/textures/

the last thing we need the dummy file for is the linez. find the ones that you created - they should all be numbers in the 100s. paste them into your clothing file over top of the existing lines, and subtract 100 from the first 2 columns.
click save as and save your file as a "new breed" to give it a seperate ID so it can show up ingame.

some additional quirks of clothing lnz files to keep in mind:
- avoid any spaces, [add clothing] is one continuous section so if you've got a space in the middle of it somewhere, petz will not read the rest.
- if sizing doesn't turn out quite right, mess with the numbers at the top that read "petscale", "ballscale" and "baseBallSize". you can apply the same species-variation syntax that the base addball uses if you want to independently control these scaling values for cats and dogs.
- remember to pay attention to the ;kind atrribute at the top, this determines the "slot" it fills on a pet. nosething and nosething2 are used only sparingly in the basegame so they are ideal for things like collars, which don't have their own dedicated kind.

from there on you can do shelf images in tinker, or more advanced hex editing of internal values - but this tutorial is only about the part that will actually end up on the pet, which is done here. i hope this helps!