177 lines
8.6 KiB
HTML
177 lines
8.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Rough breakdown of a petfile</title>
|
|
<link rel="stylesheet" href="../carolyns_creations_frames.css">
|
|
|
|
<!-- archive menu -->
|
|
<script src="/menu.js" type="module"></script>
|
|
</head>
|
|
<body>
|
|
<div class="side-padding courier">
|
|
<p>
|
|
<span class="big purple center"><b>Rough breakdown of a petfile</b><br>
|
|
<span class="comic-sans">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br></span></span>
|
|
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_PetNameIDAndBreedfileSection.gif">Here is the start of a typical Pet adopted in
|
|
Petz 3, 4 or 5.</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_xChecksumSection.gif">This is the end of the first section.</a><br>
|
|
The part which you see highlighted is where the checksum information resides.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_bStartofSectionContainingSliders.gif">This is the start of the section which
|
|
contains brainslider data etc</a><br>
|
|
note for those who want to cheat -- this section is where you should find the things that your pet learns, its
|
|
tricks abilities etc.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_aBrainsliderdata.gif">here's where the actual slider data
|
|
is kept</a><br>
|
|
The highlighted section shows where these important bytes are stored. I show how to deal with these in one of my
|
|
tutorials.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_EndOfSectionContainingSliders.gif">This is the end of the section containing
|
|
sliders.</a>
|
|
</p>
|
|
|
|
<p>
|
|
And immediately after that:
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_StartOfPaintedBallzSection.gif">this is the section with your pet's colour
|
|
data</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_EndOfPaintedballzStartOfLnzSection.gif">The start of the .LNZ sections</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_EndOfLnzSectionStartOfClothingNBreedInfo.gif">The end of the LNZ section.</a>
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_StartOfClothesAndBreedzInfo.gif">The clothes and breedfiles section</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_zEndOfClothesAndBreedzInfo.gif">End of clothes and breedfiles section</a><br>
|
|
As you can see, the breedfiles which the pet needs are listed here, usually with their ID numbers.<br>
|
|
<a href="img/petbreakdown_EndOfClothesAndBreedzInfo.gif">Here's another pet's similar section</a><br>
|
|
so that you can see how it's done a bit clearer.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_aGenderNeuterdetailsAndStartOfBreedIDstuff.gif">This section contains gender and
|
|
main breed ID info</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_GenderAndNeuterSection.gif">The gender and neutering
|
|
section</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_BitWithBreedIDInfo.gif">The breed ID info</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_EndOfYALPsectionStartOfGeneticsSection.gif">End of YALP
|
|
section, start of Genetics</a><br>
|
|
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 :-)
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_endofgenetics.gif">The end of your pet's genetics section.</a>
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_BeginFamilyTree.gif">Start of the Family Tree section.</a>
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_FamilyTreeDateofBirth.gif">Date of birth in Family Tree</a><br>
|
|
The highlighted bytes are where the date of birth resides. I show how to deal with this in one of my tutorials.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_FamilyTreeNumberOfGenerations.gif">Number of generations for pet</a><br>
|
|
The byte which you see highlighted is the number of generations, in hexadecimal of course.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_FamilyTreePinkoutlineorblue.gif">The pink or blue outline in Family Tree</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_InPregnantPetEndOfFamilyTreeStartOfBabyData.gif">End of family tree
|
|
section.</a><br>
|
|
This particular pet is pregnant, so what you see here is also the start of a pup's data.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_StartOfBaby.gif">The start of the puppy's file.</a><br>
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="img/petbreakdown_StartOfBitmap.gif">Start of bitmap</a><br>
|
|
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.
|
|
</p>
|
|
</div>
|
|
</body>
|
|
</html>
|