Swapping breedfile SCPs
Note: this tutorial assumes a basic familiarity with LNZ Pro. You may want to read my tutorial A tour of the breedfile in LNZ Pro if you need to get yourself up to speed on the contents of a breedfile.
Note: This page used to be called "Swapping breedfile personalities" because for a long time it was thought that was what SCP files controlled. It is now known that SCPs control what animations the pet displays, but not the underlying personality traits themselves. Swapping SCPs is therefore of more limited use than first thought, but it can be useful if you want a breedfile to display animations specific to a different breed than the base such as the poodle pose. See "Limitations of SCP Swaps" below.
Each cat and dog breed in the Petz game has its own unique SCP file, which controls breed specific animations. If you're making a breed, you can swap the personality files from one breed to yours, creating all sorts of unusual combinations. Here I'll be inserting the Alley cat's SCP into the Orange Shorthair breedfile to give you a demonstration.
Before you start, it goes without saying, but always make a backup of your breedfiles. This procedure should not break the game, but it will modify your breeds, so be safe.
The first thing to do is to open up your "donor" breedfile - that is, the one that contains the personality you want to insert. In the menu on the left, open up "SCP" and then the two letter code for your breed that appears (here "AC" for "Alley Cat"), and then click "1033":
That weird mess of hex code and gibberish you see in the right pane is the Alley Cat's .scp file. If you remember from the breedfile tour tutorial, this is what controls your breed's animations. The first thing we need to do is export it. Left click on "1033" in the menu and select "Save to file...".
You'll see a "save to file" dialogue box, just like when saving any other file. Save it in a place and with a name you'll remember. Probably the best place to put it is inside your resource/catz or resource/dogz directory so everything is in one place, but it's really up to you. Note this won't do anything to the donor breed, you're just making an external copy of its .scp.
Now you can close the donor breedfile, you won't be needing it after this point. Open up the recipient breedfile. As before, in the left menu, click "SCP" then the two letter breed code. Now right click "1033" to open the save/replace menu, this time selecting "Replace from file..."
Select the .scp file you exported from the donor breed:
This will overwrite the existing .scp with the donor's. Now save and open up Petz, and bring out your recipiant breed in the Adoption Center. With all luck, it should have the new animations.
Limitations of SCP Swaps
SCP swapping will transfer breed specific animations, but not the breed personality, which is controlled by the trait system - see the dev interview linked below. My Alley-Oshies still trembled when walking and had the Oshie-meow. If you want to do a full swap, it may be better to transfer the lnz files that govern the pet's appearance instead. So in the example above, you would replace the Alley lnz with the Oshie lnz, getting you a breed that acts fully like an Alley and has the Alley name, but looks like an Oshie. The method is the same, just swap lnz instead of scp files. Remember again to always make backups.
Questions
Can you make new breed personalities from scratch?
Not as far as anyone currently knows. The .scp file is compliled machine code and not human-readable, and nobody has yet been able to reverse engineer it, although I've done a little digging and others are working on the same.
Update: This interview with a Petz dev contains some interesting hints as to the nature of .scp files, and might take us a few steps closer to building custom personalities in the future!
Update summer 2020: The .scp format has been reverse engineered! See Yabiko for details. Custom .scps are still in the future, but looking more and more plausible!
Update summer 2021: It is now possible to control a breedfile's traits, creating true custom personalities! See this RKC forum post for details.
Can you swap .scp files between species (e.g. put a dog .scp in a cat file)?
I tried this, putting a dog .scp into the Oshie file. The answer, somewhat anticlimatically, is nothing at all, at least to begin with. You can adopt the pet and it will behave normally - I suspect it falls back on the default cat personality which is probably hidden away in one of the resource .dll files.
However once I put the pets away and tried to take them back out, the game crashed. But I was then able to restart the game and take them out properly. I was even able to breed them (using PetzA, but I assume doing it naturally would work too). However I would still have game crashes randomly when trying to take out or put away the pets.
The end result seems to be that it won't completely break the game, but any pets adopted from such a file will cause unstable play, and there's no real reason to do it unless you feel like experimenting. If you're interested in that, you might find Carolyn's Mad Scientist page interesting, in particular the "Insane Calicos" which seem to delve into the topic of species swapping with some more depth.