Trust me, this is truly easy; you only need a hex editor to do
one tiny thing, the rest can be all just using Notepad, Wordpad,
Word, and Windows Explorer (or My Computer).
This uses the "external .lnz" method. If you want to make your breed have an internal .lnz, then you will need to place your .LNZ files back into the breedfile after you have edited them. To do this you can either use ResHacker and copy/paste over the existing ones or you will need to copy/paste the relevant areas in a hex editor. If you're using a hex editor, you must remember that the breedfile must be the same length after editing as before. For the adult .lnz this is unlikely to be a problem -- just fill out the unused area with spaces -- but you will have to cut down the amount of information in the puppy .lnz, not really a problem because in fact a lot of it is usually the same as in the adult one. But this "howto" is about making your breed with an external set of .lnz files, in the simplest possible way, so that you can adopt a clone from it. There are five steps to follow, or six if you want to make a non-overwriting breed.
First, fix the breedfile First off, let's assume you want to make an "overwriting" breed. First get the appropriate breedfile. You should be able to figure out which breedfile you want; I don't have to tell you that, do I? Please? At the end of the day, actually any dog breedfile will do for a dog and any cat breedfile for a cat, but you will presumably want one that gives you the same personality as the original pet, so grab a copy of that breedfile. Now you've got the breedfile, you need to do a tiny bit of re-direction inside it so that the game will look for the .lnz files on your hard drive. The re-direction is a simple bit of hexing, you just find L.N.Z in the "List of all that's in the file" (this is the list that I talk about in my tutorials, it's directly above the BM of the Adoption Centre bitmap in a non-ResHacked breedfile) and change one letter so that the game doesn't think there's a .LNZ in the file and will go looking on your hard drive for it instead. To find the right place, just do a search for the hex string 4C004E005A00. If you are using one of the basic original game files, I have of course already got a set of re-directed breedfiles on my "For LNZ-files 'n' easy-edits" pages and you don't need to do this bit.
For instance, in the poodle the list starts like this:
Changing the Z to a second N does the trick:
It's the same for all breedz. Just change a letter in that L.N.Z.
Second, get data from petfile
Now you want to get the .lnz sections out of your pet file. You can do this in one of two ways.
Method 1 (using a hex editor): Start of pet .lnz data in hex editor: End of pet .lnz data in hex editor:
Method 2 (without a hex editor): Here are three screengrabs to show you the Wordpad method. Stuff to be deleted is selected and shown in black.
These two show the beginning and end of the .LNZ file
And this one shows how to save If you want to use the baby from a pregnant mother (or which is still with its mother) instead, you have to highlight another section, from a fair bit lower down in her pet file, past a lot of null bytes and other stuff, which starts simply with [Texture List]. Highlight from that down to the end of _its_ text and numbers, to where another section of null bytes (Hex 00) starts, and save that as a file with the .lnz extension, or use Wordpad (as above) to delete everything except the baby's .lnz. In Petz 5 of course you might be wanting to pick out the data from any one of four babies. You'll just have to try each one until you get the one you're after.
Third, make data editable
Now you've got to get your pet's raw .lnz data into a form that you can edit easily. If you were to open it into Notepad at this stage, you'd see a whole load of numbers and squares, like this but with black squares instead of white: [Texture List]\art\textures\hair11.bmp 1 256 256\art\textures\hair10.bmp 1 256 256[Num Ballz]67 and lots more. in other words, a great slab of numbers that makes it difficult to see what to edit. What you should do is see it as it should be, a series of lines and columns of numbers, so you want to replace the black squares (which are really Line Feeds -- Hex 0A) with Carriage return/Line feeds -- Hex 0D0A. Once again, there are at least two methods for doing this. I mention here the three methods that I tend to use.
Method 1 (using a hex editor):
Method 2 (without a hex editor):
Method 3 (without a hex editor but you need to download something):
Open the pet's raw .lnz data into PFE, and you'll see it the way it should
be seen. In PFE in the petfile select from the first [Texture List] down to just
before the second one. This is the adult's .lnz. copy it to Notepad
and save it, therefore, (in the case of the poodle) pd.lnz. Now select and copy from the
start of that second [Texture List] down to the end of the readable
numbers -- it'll probably be a set of numbers with the header [Fur Color
Areas] or [Adjust Clothing], but it varies so use your common sense
here. Paste that into another Notepad and save it as (in the case of the poodle) pdpup.lnz.
Here you see screengrabs of this process.
NOTE: the files must have the extension .lnz, NOT .txt. If Notepad insists on saving
the files as, say, pd.lnz.txt you do need to rename them in My Computer or Windows Explorer
so that the computer does not see them as .txt files.
As regards the names of the files -- pd.lnz and pdpup.lnz -- this will be different
depending on what the pet's breedfile is. You can tell what two letters to use by
looking for [Sounds] in the .lnz; it will have something like \ptzfiles\dog\pd\pdsnd.txt.
It must be the same as the two letters in the breedfile, which you can see in the
"List of all that's in the file" for the poodle that I showed you above
in this "howto":
00055888 5000 4400 0500 5000 4400 5000 5500 5000 P.D...P.D.P.U.P.
If you used this method, you can skip the "Fourth" section of this howto.
=============================
Okay, if you used one of the first two methods in the Third section of this Howto (hex editor or Word) you now have a single .lnz file. You need to split it into two. the easiest way is to right-click on the file in Windows Explorer or My Computer and copy it to the same directory; you will then have "pet.lnz" and "Copy of pet.lnz". Rename pet.lnz to (in the case of the poodle) pd.lnz and rename the copy to pdpup.lnz. This will be different depending on what the pet's breedfile is. You can tell what two letters to use by looking for [Sounds] in the .lnz; it will have something like \ptzfiles\dog\pd\pdsnd.txt. It must be the same as the two letters in the breedfile, which you can see in the "List of all that's in the file" for the poodle that I showed you above in this "howto": 00055888 5000 4400 0500 5000 4400 5000 5500 5000 P.D...P.D.P.U.P. Now open pd.lnz and find, somewhere near the middle of the file, where you see [Texture List] again. There will be a few weird characters in front of it. Put your cursor in front of those, select from there to the end of the file, delete and save (not Save As). See my screengrab below, it shows you the start of the selected area to delete in my chosen LNZ.
Now open pdpup.lnz and select from the top of the file down to the same place, right up to that second [Texture List], delete and save (not Save As). This shows you the part I mean, I hope:
Fifth, the finishing touches
We're nearly done. You have a small amount of editing to do in Notepad. Remember, we are using a poodle for this example, and its 2-letter mnemonic is pd. Click here for the 2-letter mnemonics for the other base dog and cat breedz Once again, open pd.lnz in Notepad. put your cursor at the beginning of the file in front of [Texture List] and press Enter to make a new line. Now you want to insert into that new line these lines of code:
[Default Linez File]
Save. Open the pdpup.lnz file and make a new line at the top, then insert these lines of code:
[Default Linez File]
Here are screengrabs to show you what it looks like: The adult .LNZ The Pup .LNZ
Save. Right, you're done -- you just have to put them into the correct place on your hard drive. As explained in my external lnzfiles "howto", you need to create a directory, off the game's root directory, thusly: \ptzfiles\dog\pd\ For people who have trouble understanding where to make these subdirectories in My Computer or Windows Explorer, look for where your game's .exe is; that's the root directory off which you need to make the ptzfiles one, and then you make the dog one off the ptzfiles one, and so on. Obviously for catz breedz, you would have to make it \ptzfiles\cat\ac (for the alley cat -- the 2-letter mnemonic would be different of course for other breedz) NOTE: The files _must_ have the extension of .lnz, not .lnz.txt, or this won't work. It's best if you make sure that the file extensions are visible in Windows Explorer (or My Computer); to do this, go to the View menu at the top, choose Options, and make sure that the "Hide MS-DOS file extensions" is _not_ ticked. You can then easily rename a file to have the correct extension by right-clicking on the file. Remember, the "pd" directory is different for other breedz -- "bd" for bulldog-based breedz and "ca" for Calico based breedz, for instance, and the "dog" is "cat" for catz breedz. In the case of the poodle, which is a little different from other breedz, you really want to have four .lnz files. As far as I recall off-hand, the poodle and Alley cat are the only two breedz who have "raw" copies of the adult and baby stages as well as the normal ones. It's just another kind of variation really. But anyway, to be correct in the Poodle the game expects to see these:
pd.lnz
Just right-click and copy pd.lnz and rename the copy raw_pd.lnz, and copy pdpup.lnz and rename it raw_pdpup.lnz, then inside the "raw" files change
[Little one]
to
[Little one]
[Default Linez File]
to
[Default Linez File]
Also please note that if you are using a pet which uses, say, the Great Dane breedfile, you need to use a different two-letter mnemonic for the .lnz files and directories. Click here for the list of 2-letter mnemonics. At this point, if you now run the game, you will see exact copies of your base pet coming out of the Adoption Centre. You can use or distribute this breed as an "overwriting" breed, or you can adopt out litters from it, or you can adopt a clone of your precious original pet. CONGRATULATIONS!!! Sixth, only for if you want it non-overwriting
But if you want it as a separate breed, you need to do a _little_ more work. So, take my poodle. I want it to use normal poodle sounds which, at the moment, are internal, and I want it to use an external set of .lnz files which won't overwrite others, plus I want to be able to import previously adopted poodles and have them breed with new ones. Right. The poodle has four .lnz files which I already have taken from the pet as shown above, and named:
pd.lnz
I shall change the pd to pp so that it won't overwrite, so I rename them:
pp.lnz
and inside them I change these lines: in pp.lnz:
[Sounds]
\ptzfiles\dog\pp\pdsnd.txt
in pppup.lnz:
[Default Linez File]
in raw_pp.lnz:
[Sounds]
\ptzfiles\dog\pp\pdsnd.txt
in raw_pppup.lnz:
[Default Linez File]
(Note, I would only change the sounds line if I'm keeping the sounds internal. Actually I'm in process of making all my sound-stripped breedz un-mute by redirecting the sounds to the hard drive, so I would keep the \ptzfiles\dog\pd\pdsnd.txt azis, but if you want it to pick up internal sounds you need to change it to \ptzfiles\dog\pp\pdsnd.txt) Okay, now I open the Poodle-based file into my hex editor and find this section:
00050240 4C69 7665 6C69 6E65 7373 0000 5C50 747A Liveliness..\Ptz
I have to change some of the instances of "pd" to "pp" -- all instances of the "directory" \pd\ have to be changed to \pp\ plus the pd.lnz and pd.scp names needs to be changed to pp.lnz and pp.scp:
00050240 4C69 7665 6C69 6E65 7373 0000 5C50 747A Liveliness..\Ptz
And of course we've already changed the L.N.Z to something else in the "List of all that's in the file". Nothing else should need to be changed there. There's one more thing that does need to be changed now, apart from the normal breed name, ID and AC picture; that's the 2-letter mnemonic which comes after the name in the naming area near the .dog file's end:
00731040 0400 4600 6900 6600 6900 0600 5000 6F00 ..F.i.f.i...P.o.
must be changed in keeping with my "pp" for the .lnz files
00731040 0400 4600 6900 6600 6900 0600 5000 6F00 ..F.i.f.i...P.o.
Eureka! Now make the directory \ptzfiles\dog\pp\ and so long as you put your .lnz files into that pp directory, the pets will come out of the AC, and will breed with others previously adopted. I know, because I tested it :-) I hope this helps all the people who want to convert a much-loved pet into a breed, but who are daunted by my earlier tutorial on how to do it or are just plain confused. Happy cloning! Carolyn Horn PS. TROUBLESHOOTING: You should have ended up with a pair or two of files, suitably named with the extension .lnz and placed in the correct subdirectory. If your game insists that those files aren't there, then there is a wrong name somewhere. If your computer setup is still at Microsoft's defaults, you won't be able to see the extension of each file; it'll probably show you a big icon and tell you that it is a lnz file. If it tells you it's a txt file and what you see is (for instance) pd.lnz, then you have to speak severely to your computer -- the machine needs to see it as a lnz file, but Microsoft in its infinite unwisdom has pulled a fast one on you and hidden extensions as well as making Notepad be a pain. Notepad might have insisted on saving it as pd.lnz.txt and you'll get all frustrated and write to me. Ack. Well instead, try right-clicking on it and renaming it pd.lnz. If it still tells you that it's a txt file, then for goodness sake enable the ability to see extensions in your Windows Explorer or My Computer's View Options. Un-tick "hide MS-Dos extensions" in the menu View, Options, View panel. While you're about it, tick "show all files" too. Why on earth Windows comes with extensions and some files hidden by default is beyond me. Pause here for a moment while I grumble agedly about Windows and the folly of the modern age.
|