Rough breakdown of a petfile
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is for people who want to know what the various sections of a pet file contain. The structure is very similar for a baby file. I'm just going to show this as links to a series of screengrabs, as I don't have time to do anything fancy with it. Pet and baby files are in fact saved-game files, so their internal information is changing all the time. However, the basic structure remains the same throughout, so we can do a fair bit of analytical work just looking at a pet or babyz in a hex editor. I'm not including any breakdown of Petz II .pet files, as they are very different.

Here is the start of a typical Pet adopted in Petz 3, 4 or 5.
In it you can see the pet ID up there in the first two bytes, before the name Rosie. This is the section containing the petname, ID and main breedfile name. In a pet which has been imported from PetzII there is a bunch of other stuff in there too, but it's not really important.

This is the end of the first section.
The part which you see highlighted is where the checksum information resides.

This is the start of the section which contains brainslider data etc
note for those who want to cheat -- this section is where you should find the things that your pet learns, its tricks abilities etc.

here's where the actual slider data is kept
The highlighted section shows where these important bytes are stored. I show how to deal with these in one of my tutorials.

This is the end of the section containing sliders.

And immediately after that:

this is the section with your pet's colour data
This is where the game stores whatever paint you throw at your pet from the can; if you don't paint the pet, it stores the pet's default colours here. It's the reason why, when you change certain ball colours in the .lnz section, you have to say "restore original colours" within the game before you see them. It's also why babyz' hexed eyelids don't show up as altered; there is no "restore" in babyz because there's no paint pot. But of course you can edit the relevant byte in this section, as I show in a "howto" elsewhere.

The start of the .LNZ sections
Where the shape, default colours etc of the pet are defined. It comes in two chunks, the first of which is the adult data and the second of which is the puppy or kitten data. As of 2005, you can now edit these directly in Nicholas' LNZPro utility of course.

The end of the LNZ section.

The clothes and breedfiles section
This section directly after the lnz info is where you'll see listed any clothing items that your pet is wearing. No need to edit this, just take the clothes off your pet or baby in the game! If there is a problem with starting the game because the clothing item is missing or damaged, just re-set your game as you start it up by hitting Ctrl and Shift together.

End of clothes and breedfiles section
As you can see, the breedfiles which the pet needs are listed here, usually with their ID numbers.
Here's another pet's similar section
so that you can see how it's done a bit clearer.

This section contains gender and main breed ID info
Here's the section that you need to concentrate on if you're changing a petfile's gender, or if you're trying to make it accept a different breed ID.

The gender and neutering section
The highlighted bytes are where you change gender or neuter and un-neuter your pet. I show how to deal with this in one of my tutorials. Of course as of 2005, you can alter the gender using Nicholas' Petza utility.

Also in this section of a pet, after YALP and before the breed ID info, you'll see an area which varies in length as your pet's experiences in life occur -- experiences such as finding a mate and so on.

The breed ID info
The highlighted bytes show where you would find the main breed ID number that your pet needs. I show how to deal with this in my tutorials.

End of YALP section, start of Genetics
This is where an important part of your pet resides -- its genetics. I show in howtos elsewhere how to find and alter some of the important genetic bytes such as the Alley Sickness etc. You can now change these of course in Nicholas' LNZPro utility, but there's still plenty to explore here :-)

The end of your pet's genetics section.

Start of the Family Tree section.

Date of birth in Family Tree
The highlighted bytes are where the date of birth resides. I show how to deal with this in one of my tutorials.

Number of generations for pet
The byte which you see highlighted is the number of generations, in hexadecimal of course.

The pink or blue outline in Family Tree
The part which you see highlighted is where the pink or blue byte is stored. I show how to deal with this in one of my tutorials.

End of family tree section.
This particular pet is pregnant, so what you see here is also the start of a pup's data.

The start of the puppy's file.
Here is the start of the puppy's data. The structure of the puppy file is the same as that of the mother, but it doesn't have the initial loading section with the pet ID and name because of course the game doesn't need that until the pup becomes separated from the mother. If there is more than one pup (or of course kitten for a catz pet), each pup or kitten's data follows the other after the previous one's family tree data.

Start of bitmap
And this is the end of the petfile, the bitmap which you see when the pet comes out of the door. This is not included in the checksum, so if this part only is corrupted you can simply replace it with another bmp file in order to get the game to accept the pet or baby. I show how to do this in one of my tutorials.