I used Sakura as an example.
To make transparency only using col.emz file, 2 steps are required:
- editing the col.emz file with a hexadecimal editor
- editing the Alpha layer of the dds where the texture is
1) edit the col.emz file
First I use piecemontee's SF4Explorer to identify the objects names and find them easier in the hex-editor
link: Free File Hosting Made Simple - MediaFire (you can get a newer version but this one is enough for names)
Reminder: to see objects names in SF4Explorer we are going to look at the cos.emz file, but it's the col.emz file we are going to edit (both are linked).
This step isn't required, but it's such easier when you know the true names of things, instead of having to look for them one by one, doing blind tests...
Ok... there the skirt was obviously "Skirt", but "Hatimaki" for her hairband was quite harder to figure...
Now you know the name of the thing you want to edit, open the col.emz of your mod (not the original col.emz, the unarchived one -dat, emb, name it... I rename mine .emz just after I unarchive them to .emb with quickbms-) under a hex-editor and do a search on that name:
Now scroll down a bit to the line "BrushA":
See those 40 characters outligned? You'll have to edit them:
For full transparency (removing objects, holes, ripped clothes) change them by those 40:
(I'll test on Sakura's skirt)
For semi transparency (Rose's pants) change them by those 40:
(I'll test on Sakura's hairband)
2) edit the .dds file
Firstly what is an Alpha layer?
It's a layer in addition to basic color layers (RGB) that will create transparency (a white layer without colors, only black & white -and shades of grey-).
You find it here in Photoshop:
If it's here, no problem, your .dds file is in DXT5 format.
If it isn't there, the .dds file should be in DXT1, you'll have to add one yourself.
To know the DXT format of your .dds files I recommend downloading Windows Texture Viewer from the NVIDIA site: it shows the DXT.
link: Windows Texture Viewer
(on screen: Alpha layer alone)
To show you full transparency, I draw some simple shapes on her skirt:
(on screen: RGB layers and Alpha layer displayed together: the black of the Alpha layer is shown in transparent red under this display mode in Photoshop)
Then I inject the .dds back in the col.emz file...
And here is the result:
Have fun!
Credits goes to sn00pee for all his finds on the subject.
edit:
*forgot to mention an important thing:
Full transparency works if you save in both formats, DXT1 1bit alpha or DXT5.
Semi transparency only works if you save in DXT5.
sn00pee (again) found a way to inject bigger files in .emz without crashing the game here.
(I think the guy that created Rose Ninja used that method on the *cough*second color*cough*)
Hello, I can not find the file has col.emz just col.emb, but I do not have the same result as you with HexEditor, I use the PC version SSF4.
ReplyDeleteSSF4 doesn't use the emz bundles anymore. This tutorial was written with vanilla SF4 in mind.
ReplyDeleteThat said, you'll want to modify the obj.emm files, which contain the materials information.