saudade/carolyns_creations/tutorials/petbreakdown/petbreakdown.html

161 lines
7.9 KiB
HTML
Raw Normal View History

<!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.css">
<!-- archive menu -->
<script src="/menu.js?@root" type="module"></script>
<!-- polyfills -->
<script src="/polyfills.js?@root" 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="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="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="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="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="EndOfSectionContainingSliders.gif">This is the end of the
section containing sliders.</a></p>
<p>And immediately after that:</p>
<p><a href="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="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="EndOfLnzSectionStartOfClothingNBreedInfo.gif">The end of the LNZ
section.</a></p>
<p><a href="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="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="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="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="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="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="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="endofgenetics.gif">The end of your pet's genetics
section.</a></p>
<p><a href="BeginFamilyTree.gif">Start of the Family Tree section.</a></p>
<p><a href="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="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="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="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="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="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>