|
|
VPZ Research Center | home
Hexing Info
I use the following  tools for hexing:
ResHacker: My primary hexing resource. I do everything with this (except renaming the breed and changing the offset).
Hex Workshop: I use this to rename breedz and get them to be non-overwriting. (Use the "Find" function to look for 50004600)
Notepad: For making sound files.
 My Hexing Rituals...
Curious how I go about making a breed? Keep in mind that I have been at this for a while... I developed a routine that works very well for me, and perhaps you would enjoy it too!
1. Open up (in ResHack) a file to edit--usually the Russian Blue or Dachshund, and copy the LNZ from that file to the base I want to use for personality.
2. Delete all the "junk." Useless comments, the whole move and project ball sections, extra ommisions, variations, most add balls (and their lines), and most or all of the puppy/kitten section.
3. Change all the outline colors to 244, and remove most of the outlines. Change all the lines to have 100 thickness on both ends and remove or set outlines to 244. Change fuzz to match the type of breed I'm doing (often no fuzz on all or most of the body).
4. Now I have my "clean slate."
5. List in ommisions things I'm not using. (Usually the eyebrows, most ear balls, and tail balls in dogz. Often the tail balls in catz.)
6. Change scales and extensions (within the limits).
7. Play with the ball sizes and move to et the basic desired shape.
8. Once I get a decent basic shape, add the addballs to make important features, usually adding a couple extra for each thing (because it is easier to ommit balls than to add extra ones later on).
9. After getting the balls in good positions, I add the lines connecting them.
10. Set up a basic color scheme.
11. Define the textures and make fur files (if needed).
12. Post the breed somewhere (ie Coming Soon) to get feedback for tweaking. Also breed a couple to make sure sizes are inheriting properly.
13. Work on the puppy/kitten shape.
14. Make basic color variations.
15. Add any needed paintballs.
16. Make a few shape variations.
17. Define group numbers and fur pattern balls.
18. Breed again.
19. Make minor changes as I notice them and are suggested b others, making sure to get movements working well.
20. FINISHING TOUCHES! Do SCP changes and/or sounds (if desired), make AC bitmap, change Head Shot section, change breed name, make conversions, and serve at room temperature. Serves 1 to 6,000,000. ;-)
 Axes
In the file, when axes are used (like in move, addballz, or paintballs), this is what they mean:
x y z
1 -1 1
The first number is the left/right axis on the pet. A positive number is to the left of the petz and a negative number is to the right. The second number is up/down. Negative is up, and positive is down. The third number is forward (toward the head/chest) and back (toward the tail). Negative moves the ball forward, and positive moves it back.
 The [Ballz Info] Section
A quick run-through of what each column does:
;col outCol spklCl fuzz otlntTyp sizeDif group texture
[Ballz Info]
35, 244, 244, 1, -1, 3, 4, 1 eBall_ankleL,
35, 244, 244, 1, -1, 3, 4, 1 eBall_ankleR,
35, 244, 244, 1, -1, 0, 5, 1 eBall_belly,
35, 244, 244, 2, 0, 5, 4, 1 eBall_butt,
35, 244, 244, 2, -2, -4, 0, 1 eBall_cheekL,
35, 244, 244, 2, 0, -4, 0, 1 eBall_cheekR,
35, 244, 244, 2, -1, 20, 5, 1 eBall_chest,
15, 244, 244, 1, 1, 2, 2, 1 eBall_chin,
col: The color of the ball (see the color chart for what the numbers stand for).
outCol: The color of the ball's outline.
spklCl: Not sure. Has something to do with texture I think.
fuzz: How "fuzzy" the ball is (compare persian with siamese fuzz or sheepdog with chihuahua).
otlntTyp: The thickness of the outline. -1 sets there to be no outline around the ball. 0 sets a half outline (to the left?), and -2 sets a half outline (to the right?)
sizeDif: Affects the size of the ball. I'm not sure what it is in ratio to. Sizes are something I just have to experiment with.
group: Affects how the pet is painted with a paintcan and how color is inherited. More on this below.
texture: Above this section is a list of textures. This last number corresponds to a texture on the list. If set to -1, there is no texture (like in the eyes).
ball#: In dogz, there is another column called "ball#." This just specifies which ball is which number. (See "Dogz Ballz List" in Tools.) Changing or deleting this number has no effect.
 [Move]
The move section is a very simple way to make petz taller, longer, etc. outside the restrictions of the game scale limits (sometimes, this adversely affects the petz movements, though).
[Move]
;face
14, 4, 0, -3, 24
15, -4, 0, -3, 24
27, 4, 0, -3, 24
28, -4, 0, -3, 24
30, 0, 2, 0
31, 0, 2, 0
In breed files, any line or section starting with ";" is a comment that the game doesn't "read." It is just there to help programmers find sections. (To make a breed smaller, you can remove all of these comments. You can also add your own anywhere you like.) Under this comment, the first number is the ball # (see the "Ballz Lists" in the Tools section). The next three numbers are the axes for offsetting the ball. In this case, ball 14, which is the left eye, is moved 4 units to the left and 3 units forward.
Notice that the right eye is moved out to the right for symmetry and the iris balls (27 and 28) are also moved to fit them? This is because the Move section is an absolute scale. Moving one ball does not affect the position of the others. So, if you simply want to move the petz head up, you need to move up ALL the balls connected with the head and face.
The fifth number is not necessary but it IS very helpful and crucial when making drastic changes using Move. It is the "anchor" ball. Put the ball # here of a ball you want to make sure the moved feature stays near and moves with. A good practice is to anchor all face balls to the head ball. If you elongate a breed, you can fix movement issues by anchoring all the balls in the hind legs to the butt.
The one exception to this is Addballs. Any balls in the [Add ball] section (which includes any numbered 67 or higher) are always positioned relative to their base. Putting any of the addballs in the [Move] section will either crash the game or make your breed move oddly.
 [Project Ball]
[Project Ball]
41, 34, 50
42, 35, 50
63, 22, 50
64, 23, 50
2, 6, 90
0, 41, 85
1, 42, 85
This section defines how far apart ballz are in relation to each other. It can help keep body parts from intersecting others when petz move.I only use this section for drop tails and tweaking little movement problems (especially with Addballs). The first number is the "fixed ball," the second is the ball you want to fix in relation to it, and the last is the distance they are from each other. Negative numbers can help make drop tails, but you'll need to define other projections to keep them from intersecting with the body.
 [Whiskers]
This section is not in most cat breedz. If you want to change the whiskers, it is probably done with this section. I mainly use this section just for making whiskerless cat breedz. (Simply insert "[Whiskers]" and type nothing under it.)
 [Omissions]
[Omissions]
37
44
45
46
47
48
Simply list the balls you want to omit. This is from the "Desert Lynx." You can see 5 of the 6 tail balls were omitted to give it a bobbed almost tailless look. For wildz, you may want to omit many, maybe nearly all, of the standard balls and build with add balls. A good ball to use as a base for mostly addball breeds is the neck. This is because the neck ball is the one you actually use to pick up the animal. It can be difficult to pick up an animal with an invisible neck ball.
It is MUCH better to use the ommisions section to get rid of features than changing their sizes to -99 or something. Very small numbers "confuse" the game (especially with clothing), and some balls will show up in second gen petz at a default minimum size (unless they are ommited).
 [Add ball]
[Add Ball]
;base x y z color otlnCol spckCol fuzz group outline ballsize bodyarea addGroup texture
;nose
37, 3, 0, -5, 35, 0, 0, 0, -1, 0, 19, 0, 0, -1
37, -3, 0, -5, 35, 0, 0, 0, -1, 0, 19, 0, 0, -1
37, 0, 3, -7, 35, 0, 0, 0, -1, -1, 19, 0, 0, -1
;ears 80
8, -10,-25,-8, 35, 0, 0, 0, 0, -1, 12, 0, 0, 1
8, 10,-19, 5, 35, 0, 0, 0, 0, -1, 34, 0, 0, 1
This is the section where you can get really creative. It actually creates balls of any size, texture, etc, wherever you want them. All original breedz contain addballz already. You can delete them and start wherever you like, but it's best to start with ball 77 (right after this comment: ; ### From here down are animator's addballz 77.)
base: This is the ball your added ball is in relation to.
x y z: This is the position of the added ball in relation to the center of the base. (See Axes.)
color: The color of the added ball.
otlnCol: The color of the outline.
spckCol: Like in the Ballz Info, I'm not sure what this does.
fuzz: The fuzziness of the ball.
group: The same as the group in [Ballz Info]. Affects inheritance and paint.
outline: The thickness of the outline. -1 sets there to be no outline around the ball. 0 sets a half outline (to the left?), and -2 sets a half outline (to the right?)
ballsize: Like it says, this is the size of the ball. ;-)
bodyarea: This specifies how certain colors and shapes are inherited, especially in mixed breeding. Set to 13 for addball tails in dogz.
addGroup: I don't know.
texture: Like in [Ballz Info], this specifies which texture from the list is used for this ball.
 Bodyarea List
(Courtesy of ButterflyChaser!)
Listing "0" lets the game decide what the bodyarea should be.
ball bodyarea
0, 3
1, 18
2, 18
3, 18
4, 12
5, 12
6, 12
7, 10
8, 8
9, 5
10, 5
11, 5
12, 7
13, 5
14, 8
15, 15
16, 3
17, 15
18, 10
19, 3
20, 7
21, 7
22, 7
23, 10
24, 2
25, 17
26, 17
27, 17
28, 11
29, 11
30, 11
31, 9
32, 8
33, 4
34, 4
35, 4
36, 6
37, 4
38, 8
39, 15
40, 2
41, 15
42, 9
43, 2
44, 6
45, 6
46, 6
47, 9
48, 1
49, 1
50, 1
51, 15
52, 8
53, 15
54, 8
55, 15
56, 15
57, 13
58, 13
59, 13
61, 13
62, 13
63, 16
64, 16
65, 0
66, 0
 [Linez]
Petz are made up of both ballz and lines. Lines are used to connect balls. If you use addballs, you need to connect them to the rest of the body by using lines. In the lines section, any value that is -1 (in the 3rd to 5th column) means the line has the characteristics of the associated ball(s).
;srt end fuzz col lfCol rtCol sThck eThick
[Linez]
6, 36, 1, -1, 244, 244, 95, 95
24, 36, 1, -1, 244, 244, 95, 95
3, 2, 1, -1, 244, 244, 95, 100
6, 2, 1, -1, 244, 244, 95, 90
3, 43, 1, -1, 244, 244, 100, 100
43, 44, 1, -1, 244, 244, 100, 100
44, 45, 1, -1, 244, 244, 100, 100
45, 46, 1, -1, 244, 244, 100, 100
46, 47, 1, -1, 244, 244, 100, 100
47, 48, 1, -1, 244, 244, 100, 100
srt: The ball where the line starts.
end: The ball where the line ends.
fuzz: The fuzziness of the line.
col: The color of the line (usually left at -1).
lfCol: The color of the left outline (set at -1 for no outline).
rtCol: The color of the right outline (set at -1 for no outline).
sThck: The thickness of the line at the start ball (as a percentage of the ball size).
eThick: The thickness of the line at the end ball (as a percentage of the ball size).
 [Head Shot]
This is sorta a "for fun" section that really doesn't affect game play much. What this section does is defi ne the picture that comes up in your petz profile or on the "Pick a Pet" list.
[Head Shot];pr
0 frame number
51 rotation
0 roll
0 tilt
-51 head rotation
8 head tilt
-11 head cock
38, 38 R / L eyelid height
17, 17 R / L eyelid tilt
0, 0 (X, Y) eye target
The biggest modifier here is the frame number. Changing that will change the ose of the pet in the picture. The other modifiers change the positions of various parts. This one is for the persian. As you can see, the picture is frame 0 (a relaxed, standing pose). The head is turned to the camera and cocked. The eyelids are held in a lazy/content position. (If the eyelid tilt is negative, the cat will look angry.)
While making a sphynx cat breed, I experimented with frame numbers. (The facial expression was still siamese at this point.) These are actually animation frames, and I think there is a number for each position a cat can be in. Because it is animation, frames that are near each other look very similar but with slight changes as they transition to the next motion. I tried a variety of numbers, but up around 500, the pictures just started looking distorted and weird. Here are a few that you might like. (Dog frames will be different. I haven't experimented with those yet.)
|
20
|
30
|
50
|
70
|
|
80
|
99
|
130
|
150
|
|
190
|
350
|
420
|
 |
 The -1 Group
;col outCol spklCl fuzz otlntTyp sizeDif group texture
[Ballz Info]
35, 244, 244, 1, -1, 3, 4, 1 eBall_ankleL,
35, 244, 244, 1, -1, 3, 4, 1 eBall_ankleR,
35, 244, 244, 1, -1, 0, 5, 1 eBall_belly,
35, 244, 244, 2, 0, 5, 4, 1 eBall_butt,
35, 244, 244, 2, -2, -4, 0, 1 eBall_cheekL,
35, 244, 244, 2, 0, -4, 0, 1 eBall_cheekR,
35, 244, 244, 2, -1, 20, 5, 1 eBall_chest,
15, 244, 244, 1, 1, 2, 2, 1 eBall_chin,
35, 244, 244, 1, -1, -15, 0, 1 eBall_earL1,
35, 244, 244, 1, -1, 15, 0, 1 eBall_earL2,
35, 244, 244, 1, -1, -15, 0, 1 eBall_earR1,
35, 244, 244, 1, -1, 15, 0, 1 eBall_earR2,
35, 25, 244, 0, -2, 5, 5, 1 eBall_elbowL,
35, 25, 244, 0, 0, 5, 5, 1 eBall_elbowR,
201, 244, -1, 0, 1, 7, -1, -1 eBall_eyeL,
201, 244, -1, 0, 1, 7, -1, -1 eBall_eyeR,
I have done a good bit of looking at groups. and their effects, esp. on second generation. The group number has several important functions. It defines the paintable areas (with the game paint can) and also plays a role in how colors are inherited and mutated.
If you look in your file, you will see a few balls are set to the -1 group: the eyes, "iris" (the ball itself is the pupil), tongue, and whiskers. Balls in the -1 group will NEVER mutate or recombine with other colors/patterns. They will not mutate. That's why eyes stay white and pupils stay black, and why whiskers are either one parent's color or the others--never a mutation. These balls also cannot be painted with a paintbrush.
Addballs can be -1 group too. Make sure you have the correct column. COUNT the numbers. Don't try to go by the position of them. As you can see below, they seldom line up Addgroup cannot be set to -1.
[Add Ball]
;base x y z color otlnCol spckCol fuzz group outline ballsize bodyarea
;nose
37, 3, 0, -5, 35, 0, 0, 0, -1, 0, 19,
37, -3, 0, -5, 35, 0, 0, 0, -1, 0, 19,
37, 0, 3, -7, 35, 0, 0, 0, -1, -1, 19,
Paintballs can also be set to -1 if needed, and this is done in all the original breeds to set their paw pads. Again, be careful when counting, so you get the right column.
[Paint Ballz]
;base ball diameter(% of baseball) direction color outlinecolor fuzz outline group texture
;paws
16, 50 0, 1, .3 47 -1 0 -1 -1 -1
17, 50 0, 1, .3 47 -1 0 -1 -1 -1
18, 50 0, 1, .3 47 -1 0 -1 -1 -1
22, 55 0, 1, 0 47 -1 0 -1 -1 -1
19, 50 0, 1, .3 47 -1 0 -1 -1 -1
20, 50 0, 1, .3 47 -1 0 -1 -1 -1
Mutations and painting are a FUN and important part of the game, so use the -1 group very sparingly and only when necessary. In catz and dogz, the -1 group has little importance because the important parts are already in the group, the nose, paw pads, eyes, etc. In wildz, however, use of the -1 group is essential to a properly inheriting scheme. Things you will want to put into this group include claws, horns, hooves, fangs, talons, beaks, etc. It is also a good idea to place the unusually colored body parts in this group. For example, I put my mice tails and ears in the -1 group so that they can inherit as pink or gray and not mutate to white or "fur" colors.
 Heredity Groups and [Fur Pattern Balls]
As most people have figured out, breeding a dog with a normal tail to one with an addball tail based on the butt can lead to two-tailed dogz. This is because the tail and but are inherited separately, and the game does not recognize addballs on the butt as a "tail" but rather as a reshaped butt.
Also, you may have figured out that fluff on the neck, connected to fluff on the chest (or fluff on the anke to fluff on the foot) loses that connection in 2nd gens. It is because the base balls for these add balls are in different "heredity groups," and addball connections between groups are lost in 2nd gens.
Here's a breakdown of the "heredity groups" (these groups are partially defined in Add balls using the "bodyarea"):
Ears: the ear balls and addballs/lines relating to them
Head Group: all of the head, face, and neck balls and add balls relating to them
Body Group: the chest, belly, and butt and addballs relating to them
Tail Group: the six tail balls and addballs relating to them
Leg Group: The hips, knees, ankles, shoulders, elbows, and wrists and add balls relating to them
Feet Group: Feet, hands, toes, fingers, and related add balls
Whiskers: inherited independently of face and ears
Fur Pattern Balls: Addballs specifically designated, act as a separate group (inherit as a connected group, lose connections to other groups in second gens
More on [Fur Pattern Balls]...
Most original breed files don't have this section, but it can be found in the Maine Coon. It is found near the end of the LNZ and looks like this:
[Fur Pattern Balls]
; addballs which are part of fur only
addballs: 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109
Like I mentioned before, any balls listed in this section inherit as a group, and they do not retain connections to other groups. (So, if you list ear addballs here, they will lose their line connections to the ears in second gens.)
These balls have other special traits. They can retain shade other than ?5 in 2nd gens, so you can make feathering lighter or darker than the main body coloring. (This, however, leads to mismatching of colors in second gens, regardless of the group number specified.) They also retain their fuzziness (or lack) reguardless of the fuzziness of the add balls' base ball.
Used correctly, fur pattern balls are a wonderful tool. For example, it can allow for unfuzzy toenails inheriting properly even on fuzzy dogz. Or, if only addballs (with no line connections to base balls) make up the difference between longhair and shorthair variations, breeding between the variations can be done with no 2nd gen problems at all--EVER.
Just keep in mind the way this section will afect color and line heredity. It is a useful tool, but it can be abused and cause problems if not understood and used properly.
 Scale Limits
The default scales and enlargements are limited. Not in 1st generation petz--but in their offspring. If you need to get larger or smaller animals, you need to use "Move" and other methods in order to have proper-looking (true-breeding) offspring. Here are the minimum and maximum limits for several scales.
Parameter
|
Minimum
|
Maximum
|
Default Scales
|
75
|
160
|
Body Extension
|
-40
|
30
|
Leg Extension
|
-20
|
20
|
Head Enlargement
|
85
|
150
|
Feet Enlargement
|
75
|
150
|
Face Extension
|
-40
|
30
|
Ear Extension
|
-10
|
300
|
 Changing AC Images
This is how I change the AC image using ResHacker:
 Get a BMP picture you want to use. The game uses images that are 89 pixels tall and 105 pixels wide.
 Rename the pic from .bmp to .bmx
 In ResHack, under "Action," choose "Replace other Resource..."
 Open your .bmx image.
 Under "Resource Type," put "BMP" (no quotes)
 Under "Resource Name," put the default pet name in all caps (for the Persian, it would be "HOMEBODY" for example)
 Leave the last space blank or set the language to 1033
 Push Replace.
 Other Resorces/Tutorials
|