saudade/carolyns_creations/frames/tutorials/petbreakdown.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>