Satoh wrote:And I guess I misunderstood the purpose of the new Sophora codes... I did get them working but it works exactly the same as the previous code aside from the model it uses... still no attack collision...
Exactly what I said would happen. It's the same as the previous fix, just without corrupting someone else's spare model to do it.
Satoh wrote:As for us... It's safe to assume we're mostly complete novices. I understand a very little bit about hex from my experience bashing my head into the ePSXe trying to HAPPEN upon codes... but that's about it... I don't think anyone else is much more schooled than that...
That was safe to say for BladeSong, but you were still a complete unknown to me. I had to be careful, since the last thing I wanted was to chase off someone that could get ahold of a person that could decode the model file format. ^_^
Satoh wrote:EDIT2: Ok ok ok... This has been nagging me for a while...
If I copy Haseo's DG files into the slot for Natsume's Twinblade stuff... would that make her a Dual Gunner or just make the game REALLY mad at me?
You mean copying the model for a dual gun over, say, Spiral Edge's graphics? Sure, you can do that (as I said, the game is pretty lenient with weapon models), just don't copy the last four bytes of the sixteen since that's attack type. Not to say it won't work, but Dual Guns have no special combo endings, while Dual Swords don't have anything to do when there isn't one to work with unlike Gauntlets, Blades and such.
Satoh wrote:If I'm understanding everything thusfar, 2095AB90 009A0E20 should be an adequate code to change Piros2 into Kaotin in the Shadows.
Yeech, that's terribly wrong... it's my fault for being clear as mud though.
The best thing I can think of to explain this is to look at the Tri-Edge code I posted before. That's how you set up a new generic PC. But I'll go through Kaochin's setup step-by-step here and maybe this will explain everything (yes, it is Kaochin; they got it right when she appeared in SIGN).
Step 1: Find the model file.
In this case, we want someone who's already generic, so this is easy. Look in hackstract or any other program that can view what's in the DATA.CVM file, and look for Kaochin's model skin. Long story short, it's in 2pcfz4 (the z's mark unique Chaotic PK models, save Natsume who is just 2ntm02). Searching through the save dump, you should come across three instances of the model filename:
1. 004CB1F8
2. 0092E588
3. 00B374D4 (Ignore this last one, I don't know what the game needs it for)
Either of the first two will do for our search.
Step 2. Backtrack to the main model pointers.
Here's where you use your Find option to look for the main model pointers when looking up a generic PC. 0092E598 is the start of this particular model file's lookup, the first one being the full path and the other two just the filename, both without extensions. Search for 98 e5 92 00, and you'll stumble upon this:
Look at the model format in the guide, and you'll see that the value you searched for is in the PC model offset, so we've found what we're looking for. As for what it's doing here and not in the first pointer, this is because generic PC's use a 2pcc0* file in place of where an SPC would place their main model file (so, comparing to Piros, it would go where 2pir01 goes). 2pcc0* files can make use of many models that are placed in the PC model offset, which SPC's ignore because they already have the necessary data. In the case of a generic PC, the final step is simple.
Step 3. Copy the model offsets to the character you want.
Copy codes use this format:
5XXXXXXX YYYYYYYY
ZZZZZZZZ 00000000
Where X is the offset to copy from, Y is the number of bytes to copy, and Z is the offset to copy to (hopefully you'll never need to copy from an offset higher than 0FFFFFFF). Since Kaochin's data starts at 009AA77C, and Piros 2nd starts at 0095AB8C, you'd write this to use Kaochin:
509AA77C 0000002C <- 2Ch = 44 decimal, the exact amount of bytes in the model format.
0095AB8C 00000000
And that's it, Piros 2nd should now be an exact replica of Kaochin!
Now if what you want is a monster, SPC, NPC or whatever, the process is slightly altered. Step 1 is the same, so:
Step 2. Backtrack one step from the filename or file path.
We'll use Aina for an example since she's an NPC. Her file's name is either 2ain01 (infected) or 2ain02 (post-Rebirth). I'll use the latter.
Once you look up 2ain02 and go back one step, you'll see this:
Obviously we can go back further, but for a generic, we want to stop here. 009AAA98 is what we need for the task.
Step 3. Find a generic PC that fits the model we want well enough to not look really stupid.
Aina's a human girl, so we want/need to look up the main model offsets for a generic human female PC using the process from before. Thankfully, we have Kaochin already (009AA77C). Of course, if we found it funny to have her sniff the air like a dog, we could look up a beast female instead, or for more hilarity, a beast male. The game doesn't care if we want a tomboy, a really flamboyant gay dude, or a furry trying to role-play a beast while still clearly playing a hairless ape.
Step 4. Write the appropriate codes.
The copy code saves us time, but we can't just copy the whole thing in one fell swoop. We need to do two copies and one code for writing in Aina's model. First, the generic PC model offset starts at byte 20 (if we start at 0), so we copy the first twenty bytes from Kaochin's data... let's use Atoli 3rd for this:
509AA77C 00000014
0095A848 00000000
Now we write in Aina's model offset to the generic PC offset:
2095A85C 009AAA98
Finally, we copy the last 20 bytes of Kaochin's data since Atoli has other files linked up that will interfere when the game tries to load our new Aina clone:
509AA794 00000014
0095A860 00000000
And that's it, we just created a generic PC clone from an NPC using Atoli's 3rd model. You can use this process to turn many characters (SPC's, NPC's, some monsters, etc.) into generic PC's to do anything with, but some of them will give you that stupid box instead (or add the box onto the character, as uninfected Ovan does), and that's usually followed up with freezing when you try to move, so be careful. Larger characters will be among the first to do this, so while you could become a Carrie in theory, you're not going to be a Tinder Baron or The One Sin, or Corbenik for that matter, through this process. Even something like Cubia Gomora will be troublesome despite appearing to work somewhat at first (it doesn't give a box, but half of it's in the floor and it freezes when it moves too much).
I hope that makes sense.