Shared CSP data - near CI8 quality, sub-CMPR size

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#1
So when doing CSPs that are just recolors of each other, it's possible to store them much more efficiently, as a single set of indexed image data, with each image having a different palette, since it's only the colors that differ.

I've figured out how to implement this in brres files, and written a program that converts images appropriately, and added support to BrawlBox.

As an example of what can be done, using this technique with SJS's CSPs let me reduce the size of sc_selcharacter.pac from 2,811 KB (starting from my compact CSS) to 2,088 KB, while increasing the quality of the CSPs. You can download that here.

CSP preparation

Before using this technique on CSPs, I suggest masking out the parts of the CSP that can't be seen - this saves space, and reduces the number of colors in the image, so the final quality will be higher. (Ideally I'd like to see this done for all CSPs before they are distributed.)

The batch file and masks I use are available here. It requires ImageMagick. Running it works like "MaskCSPs Mask.gif", to convert every PNG file in the directory you're in, and all sub-directories (recursively), with the pixels that are black in Mask.gif converted to transparent.

For most characters, I included pixels that are not directly visible, but cast a shadow that is visible. For portraits that fill the bottom left corner where the shadow would be visible, like those of Ganondorf and Ike's default costume in the Brawl pose, or SJS's pose of Bowser, Marth, or Ike, I have another mask (MaskPotentialShadowCovered.gif) that only includes the pixels that are directly visible. (Using the main mask saves around 972 bytes per CMPR CSP; using the shadow covered mask saves an average of 36 more bytes, so it's not a big deal, but it is a little free space.)

If you want to do it in a safer way, you can just run "convert INPUTFILE Mask.gif -compose DstOut -composite OUTPUTFILE". (Replace INPUTFILE with the file you want to convert, and OUTPUTFILE with whatever you want to name the result. Same as INPUTFILE if you just want to overwrite, which is what the batch file does but probably not what you want to do if you're doing them one at a time.)

Step 1: Convert to 256 colors
First use the ColorSmash tool (available here) to convert the images to 256 colors in such a way that the indexed image data can be shared. An example of the command for this looks like this:
..\color_smash -c RGB5A3 -s " (main)" 1.png 2-brawlfire.png 3-brawlblue.png 4-brawlgreen.png 5-brawlblack.png

(I have the tool in my main directory, along with a directory for each character with their CSPs. So I preface the command with '..\'; if you're directory structure is different, that will be different for you.)

To break that down: -c RGB5A3 is always wanted; it tells it to output in the RGB5A3 colorspace, which is what Brawl will use. (If we use RGBA8 when quantizing, we may end up with some of our 256 colors converting to the same color when BrawlBox converts it to RGB5A3.) After -s is the suffix that is added to the file name, so you can use whatever you want. In my example, the results will be "1 (main).png", and so on. I use " (main)" when doing the standard version of a costume and all its recolors, " (alt)" when doing an alt costume and its recolors, " (solo)" when doing a single image by itself, " (all)" when doing every CSP together, and something descriptive when doing something else.

It's particularly helpful to set different suffixes when trying out multiple different ways to group CSPs, in order to try and balance quality and size.

After the suffix is just the list of files to convert; all of them will be quantized together, so they can be stored with shared index data.

Step 2: Add to BrawlBox
Make sure you have BrawlBox 0.77 (or newer). Import each image into BrawlBox as CI8, and check the "Import Palette" box. Make sure the images in the group are all next to each other, reordering if needed. (For example, for Yoshi I found doing the darker colors - the 2nd, 3rd, 7th, and 9th costumes - together worked best, so I needed to reorder those to be next to each other.) Then, for each group, update the ShareData property from false to true for all but the last costume in the group.

Let me know if you have any questions, or encounter any issues.


(Just for the record, here's the original method I posted back before BrawlBox support was added in 0.77. It was harder then.)
Preparation
You can download the tools for doing this here. They're all command line tools, and hex editing will also be required - I use HxD (http://mh-nexus.de/en/hxd/).

I have the tools together in one directory, and also a directory for each character with their CSPs. So I'll be prefacing each command with '..\'; if you're directory structure is different, that will be different for you.

Step 1: Convert to 256 colors
The first step is using ColorSmash to convert the images to 256, in such a way that the indexed image data can be shared. An example of the command for this looks like this:
..\color_smash -c RGB5A3 -s " (main group)" 1.png 2-brawlfire.png 3-brawlblue.png 4-brawlgreen.png 5-brawlblack.png

To break that down: -c RGB5A3 is always wanted; it tells it to output in the RGB5A3 colorspace, which is what Brawl will use. (If we use RGBA8 when quantizing, we may end up with some of our 256 colors converting to the same color when BrawlBox converts it to RGB5A3.) After -s is the suffix that is added to the file name, so you can use whatever you want. In my example, the results will be "1 (main group).png", and so on. I use " (main group)" when doing the standard version of a costume and all its recolors, " (alt group)" when doing an alt costume and its recolors, " (solo)" when doing a single image by itself, " (all)" when doing every CSP together, and something descriptive when doing something else.

It's particularly helpful to set different suffixes when trying out multiple different ways to group CSPs, in order to try and balance quality and size.

After the suffix is just the list of files to convert; all of them will be quantized together, so they can be stored with shared index data.

Step 2: Convert to Brawl format
The second step is using to_tex0 to convert the images to the tex0 and plt0 files that Brawl uses. (If you have a solo image that's not part of a group, you can skip this step, since BrawlBox will handle it for you.) Example command:
..\to_tex0 "1 (main group).png" "2-brawlfire (main group).png" "3-brawlblue (main group).png" "4-brawlgreen (main group).png" "5-brawlblack (main group).png"

Note that order is important - the order they're given to to_tex0 should be the same order they'll be in the BRRES file in BrawlBox.

Step 3: Add to BrawlBox
First, make sure every CSP that is in a group has an associated palette, re-encoding the current CSP to CI8 if necessary. That will let us replace the palette later, rather than having to add it.

If necessary, reorder the images so that images that will share data are next to each other. For example, when I grouped Zero Suit Samus's images, I grouped together the 1st, 2nd, 3rd, 5th, and 6th CSPs, but not the 4th (because it has a somewhat different pattern), so at this point I move the 4th CSP down beneath the 5th and 6th.

Then, for each CSPs Texture, replace it with the appropriate tex0 file (or just the PNG, if it was a solo image). Do the same with the palettes and the plt0 files. Within each group, every tex0 except the last is set to 0 width and height, so don't be surprised when the BrawlBox preview disappears when you've replaced the images.

Once that's done, switch the compression for the BRRES containing the images to None (from ExtendedLZ77), and export the BRRES.

Step 4: Hex edit the BRRES
We're going to want to edit the TEX0 header of each image in a group, except the last, to increase the size of the image from 0x0 to the proper 128x160, and increase the size from 0x40 to 0x5000 plus the size of the header, which is 0x40 for the last image, 0x80 for the one before it, and so on, increasing by 0x40 each time. (That is, each header's size is the length from it to the start of the shared image data.)

Seach for TEX0 in the file - each one marks the start of a TEX0 header, and if there is another one 0x40 bytes after the first, this is a group that you'll want to edit.

For each header, the length is the four bytes directly after the TEX0 marker. The last one in the group should already be set to 00 00 50 40. You'll want to set the one before that to 00 00 50 80 (from 00 00 00 40), then the prior one to 00 00 50 C0, then 00 00 51 00, and so on. The length of each header is stored 16 bytes after the TEX0 marker (so on the next line, if you're showing 16 bytes per line), and should be set correctly already (0x40 for the last, 0x80 for the prior one, and so on), so you can check against that - the length you're setting should be 0x5000 more than that number.

The width and height are 0x1C bytes after TEX0, and should be set to 00 80 00 A0. It should already be set to that for the last one, for the others you'll need to switch it from 00 00 00 00.

Here's a screenshot of the changes I made for one group of 5:


Once you've done that for every group, save the file.

Step 5: Compress the BRRES
Next step is to compress the BRRES again. If BrawlBox does this, it'll split apart the shared data, so I made a tool specifically for this. Example command:
..\SmashLZ77 MiscData[0].brres

This will output MiscData[0]-lz77.brres.

Step 6: Import the new BRRES
In BrawlBox again, just replace the BRRES with the edited and compressed version. That's it! Check how it looks - in BrawlBox 0.76b, it doesn't skip the header properly when it's more than the standard 0x40 bytes, so there'll be extra junk at the start of the image, but this won't show up in game, and it does let you tell when images are in groups.

Note that any change that causes BrawlBox to recompress the BRRES will also split apart the shared data, so avoid doing that...
 
Last edited:

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#2
I do has a question with this. If we want to add costumes, like additional alts and what not, do we reset the byte count for the additional costumes? Or can we just add to the values already in the brres?

Also... can these brres files be exported and used to replace the results screen portraits?
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#3
I do has a question with this. If we want to add costumes, like additional alts and what not, do we reset the byte count for the additional costumes? Or can we just add to the values already in the brres?

Also... can these brres files be exported and used to replace the results screen portraits?
If you add to it, you pretty much need to redo the whole thing, unfortunately. When adding to a group that will share data, you need to run them all through color_smash together, to ensure they all have palettes that work with a single set of indexed data. When adding a new costume that's not in any group, you'd have to redo things just because BrawlBox 0.76b will undo the technique if you change the BRES in any way. (Though if you keep around the version that's just after step 3, you could add to that and only repeat the later steps.)

However! I just finished adding support for this to BrawlBox, so assuming there are no issues found and it gets merged in smoothly, it'll be much simpler once the next version is released, with no need for steps 4-6.

I think you can export the BRRES files to use as results screen portraits, but I haven't tried it. Also, not sure there's any space issues with those - I replaced all the RSPs for a character with RGB5A3 versions, and it didn't crash. More investigating might be warranted - might be good to take a character whose near the limit, and couldn't have any more space taken up in their moveset or textures without crashing, and make sure high quality RSPs work for them.
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#4
If you add to it, you pretty much need to redo the whole thing, unfortunately. When adding to a group that will share data, you need to run them all through color_smash together, to ensure they all have palettes that work with a single set of indexed data. When adding a new costume that's not in any group, you'd have to redo things just because BrawlBox 0.76b will undo the technique if you change the BRES in any way. (Though if you keep around the version that's just after step 3, you could add to that and only repeat the later steps.)

However! I just finished adding support for this to BrawlBox, so assuming there are no issues found and it gets merged in smoothly, it'll be much simpler once the next version is released, with no need for steps 4-6.

I think you can export the BRRES files to use as results screen portraits, but I haven't tried it. Also, not sure there's any space issues with those - I replaced all the RSPs for a character with RGB5A3 versions, and it didn't crash. More investigating might be warranted - might be good to take a character whose near the limit, and couldn't have any more space taken up in their moveset or textures without crashing, and make sure high quality RSPs work for them.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! You have blown my mind. I am quite excited for the next version of Brawlbox now. Also I used the one with SJS's CSPs that you have linked in the OP. CSPs have never looked so beautiful lol.

Also I am now to a point again where I can test these things. I'll try exporting and using these on Wario and a few others.
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#5
So I got a second patch added to BrawlBox, which means step 2 will no longer be necessary once the next version is released. It will require a new version of the color_smash utility - you can grab that here (this one outputs PNGs that are indexed, rather than RGBA8 PNGs that just happen to only use 256 colors).

Step 1 of the process will be the same, but instead of steps 2-6, just import the image into BrawlBox as CI8, and check a new "Import Palette" box. Then for each one you want shared, just switch the new SharesData property from False to True. (If necessary, first reorder the images so that images that will share data are adjacent - when SharesData is true, it shares with the next one down, so it should be set for all but the last one in a group.)
 

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#6
So I got a second patch added to BrawlBox, which means step 2 will no longer be necessary once the next version is released. It will require a new version of the color_smash utility - you can grab that here (this one outputs PNGs that are indexed, rather than RGBA8 PNGs that just happen to only use 256 colors).

Step 1 of the process will be the same, but instead of steps 2-6, just import the image into BrawlBox as CI8, and check a new "Import Palette" box. Then for each one you want shared, just switch the new SharesData property from False to True. (If necessary, first reorder the images so that images that will share data are adjacent - when SharesData is true, it shares with the next one down, so it should be set for all but the last one in a group.)
That is gonna be so... ez. I love it. Do you happen to have an idea of when the latest Brawlbox will be available?
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#7
That is gonna be so... ez. I love it. Do you happen to have an idea of when the latest Brawlbox will be available?
Talking to BlackJax on Discord, he was looking into doing a release today, but there are some issues on Windows 10.

I could potentially distribute the current version from GitHub to a few people who want to test it - wouldn't want to make it freely available because I don't want to cause any support issues for the BrawlBox maintainers. (And I've no idea what the state of most of it is in.)
 

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#8
Talking to BlackJax on Discord, he was looking into doing a release today, but there are some issues on Windows 10.

I could potentially distribute the current version from GitHub to a few people who want to test it - wouldn't want to make it freely available because I don't want to cause any support issues for the BrawlBox maintainers. (And I've no idea what the state of most of it is in.)
I would but I'm on Windows 10 lol. I wonder what issues he's having.
 

Cynapse

Smash Ace
Joined
Jul 3, 2015
Messages
905
Location
Kansas City
#9
Lord Ondo,

"Added support for sharing TEX0 image data to reduce repetitive file space use"

That's from the BrawlBox v0.77 patch notes. I've yet to experiment with what you have detailed in this thread for my newborn PMBEX build, but I can't help wondering if it has any affect on or relation to your sc_selcharacter endeavors?
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#10
Lord Ondo,

"Added support for sharing TEX0 image data to reduce repetitive file space use"

That's from the BrawlBox v0.77 patch notes. I've yet to experiment with what you have detailed in this thread for my newborn PMBEX build, but I can't help wondering if it has any affect on or relation to your sc_selcharacter endeavors?
That is the result of my endeavors! I should probably update the opening to the thread, but it's now fairly simple to do, as I mentioned in the, um, fifth post here. But "once the next version is released" is now. :)

EDIT: Okay, I've updated the opening post.
 
Last edited:

Cynapse

Smash Ace
Joined
Jul 3, 2015
Messages
905
Location
Kansas City
#11
Lord Ondo, I noticed your Costume Exploration Kit and was reminded of a question I never had answered by anyone in the community and have long since forgotten: What is the point of maximizing cBliss if costumes 10-14 are going to have incorrect portraits for at least one of the characters forced to share?

I also wonder how about the supposed 20 costumes code...assuming no interference with data, do you think it would be possible to cram all of that into the sc_selcharacter even with a super-compressed numbers/shared palette data method like you've been refining? Mix in PM+BeX, and you've got what I believe to be nightmare fuel.
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#12
Lord Ondo, I noticed your Costume Exploration Kit and was reminded of a question I never had answered by anyone in the community and have long since forgotten: What is the point of maximizing cBliss if costumes 10-14 are going to have incorrect portraits for at least one of the characters forced to share?
Well, I've been working on picking out costumes for my own build by figuring out my favorite four costumes for a character, then swapping out the other 3-6 costumes for that character with costumes from BrawlVault, and repeating until I've looked at all the costumes I was interested in, and decided which I liked best. With 14 costumes per character I can test out more at a time, and since it's just for checking out the costumes I'm not really concerned with incorrect portraits.

Wouldn't want to do a final polished build with that limitation, though.

I also wonder how about the supposed 20 costumes code...assuming no interference with data, do you think it would be possible to cram all of that into the sc_selcharacter even with a super-compressed numbers/shared palette data method like you've been refining? Mix in PM+BeX, and you've got what I believe to be nightmare fuel.
Not sure. I know that, in addition to the sc_selcharacter.pac size limit, there's a limit on how big each character's CSPs can be uncompressed - the 14 CSPs in my Costume Exploration Kit can't all be CI8 without it crashing, even though they're so simple they compress very well. (Pretty sure that limit is 12 CI8 costumes, the most that were used in Brawl, much like the sc_selcharacter.pac limit is basically the size it was in Brawl.) Not sure if my sharing method helps with that limit or not.

I know Pyotr's done some work on increasing the size limit on sc_selcharacter.pac, which would help a lot. If the single character uncompressed limit is an issue, he may be able to increase that as well (though that would presumably reduce the amount of memory available for sc_selcharacter.pac and such).

I guess in summary I'm very hopeful. :)
 

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#13
Well, I've been working on picking out costumes for my own build by figuring out my favorite four costumes for a character, then swapping out the other 3-6 costumes for that character with costumes from BrawlVault, and repeating until I've looked at all the costumes I was interested in, and decided which I liked best. With 14 costumes per character I can test out more at a time, and since it's just for checking out the costumes I'm not really concerned with incorrect portraits.

Wouldn't want to do a final polished build with that limitation, though.


Not sure. I know that, in addition to the sc_selcharacter.pac size limit, there's a limit on how big each character's CSPs can be uncompressed - the 14 CSPs in my Costume Exploration Kit can't all be CI8 without it crashing, even though they're so simple they compress very well. (Pretty sure that limit is 12 CI8 costumes, the most that were used in Brawl, much like the sc_selcharacter.pac limit is basically the size it was in Brawl.) Not sure if my sharing method helps with that limit or not.

I know Pyotr's done some work on increasing the size limit on sc_selcharacter.pac, which would help a lot. If the single character uncompressed limit is an issue, he may be able to increase that as well (though that would presumably reduce the amount of memory available for sc_selcharacter.pac and such).

I guess in summary I'm very hopeful. :)
If I recall correctly, Pyotr said all the extra costumes and cosmetics would be placed into a separate folder and it would load these things that way... and should also fix the issue of stock icons and things not matching up. I'm really hoping for this 20-costume code. I've already started picking out stuff for my characters... if only I could have SJS make CSPs for all these things. lol

Edit: I'm guessing the code will work similarly to how BrawlEX does cosmetics.
 
Last edited:

Choice Scarf

Smash Journeyman
Joined
Apr 3, 2014
Messages
482
Location
Albany, NY
#14
So I don't know if it's related to that Windows 10 problem you guys were talking about but I can't get the Color Smash program to do anything. When I click the executable, a window that I think is like a command prompt flashes and disappears. I have the suspicion that my computer (Windows 10 btw) is refusing to run it but I don't know how to fix that.

For reference what is the proper way to use the program? Am I supposed to have the images I want indexed in the same folder or something? Then type in the command like you listed before?
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#15
So I don't know if it's related to that Windows 10 problem you guys were talking about but I can't get the Color Smash program to do anything. When I click the executable, a window that I think is like a command prompt flashes and disappears. I have the suspicion that my computer (Windows 10 btw) is refusing to run it but I don't know how to fix that.

For reference what is the proper way to use the program? Am I supposed to have the images I want indexed in the same folder or something? Then type in the command like you listed before?
That's not an issue with your computer - it's intended to be run from a command prompt, and will do that when clicked on.

You need to start up a command prompt, go to the folder with the images, and then type the command as given if the executable is in the parent folder (which is how I set it up). If they're in the same folder, just leave off the ..\ at the start of the command.

(I'm not sure how to explain command prompt stuff - I grew up using it, so it's natural for me. But if you have questions feel free to ask, and hopefully I or someone else can answer...)
 

Choice Scarf

Smash Journeyman
Joined
Apr 3, 2014
Messages
482
Location
Albany, NY
#16
Oh I see. Now that I get you start in command prompt I was able to figure out. You just cd/ to the right folder and then do as you instructed. I'm too used to thinking you just need to click on anything with a .exe to get magic to happen. Thanks for the guidance.

Also thanks for developing this whole process. These portraits look amazing and the selcharacter.pac looks even more so!
 

Choice Scarf

Smash Journeyman
Joined
Apr 3, 2014
Messages
482
Location
Albany, NY
#17
Sorry for the delayed double post, but I just wanted to say I also tested this method with stock icons (selcharacter.pac so far). I wasn't sure what I expected but the icons in CI8 format didn't crash the game so that's nice. There could be potential to save a little bit more space but I'll let you guys know once I test everything out more.

Edit: Seems to only also work with StockFaceTex.brres. The ones in the Info.pac and STGRESULT.pac glitch out. Maybe it's due to the PAT0 stuff. Either way I've only been breaking even for space so far so it's probably not worth it in the end.
 
Last edited:

britipinojeff

Smash Journeyman
Premium
Joined
Apr 1, 2015
Messages
221
#18
do you know if its possible to used the shared data thing in brawlbox for stock icons? I know stocks don't really take up a lot of data on their own, but i just want to be careful with the info.pac
 

tryptech

Smash Cadet
Joined
Aug 16, 2015
Messages
32
#20
Here's a simple GUI for color_smash. Since Color_Smash is a 64-bit exe, so is this GUI. All the same restrictions apply to using it through CLI, the color mode is preselected and the suffix is user-defined. Go crazy.

EDIT: Updated link to a version with multiple file selection support

EDIT 2: So just went to double check, I forgot to put a slash in there somewhere for handling multiple file selection. I'll fix it later in the day. Single file selection, adding one image at a time, should be fine though.

EDIT 3: OKAY! I'm not sure if anyone's used it yet, but hopefully I've caught what issues there were. Link updated.

EDIT 4: Please ignore this post and refer to this one for a simpler tool.
 
Last edited:
Joined
Aug 12, 2005
Messages
620
Location
Miami, Florida
#21
Here's a simple GUI for color_smash. Since Color_Smash is a 64-bit exe, so is this GUI. All the same restrictions apply to using it through CLI, the color mode is preselected and the suffix is user-defined. Go crazy.

EDIT: Updated link to a version with multiple file selection support

EDIT 2: So just went to double check, I forgot to put a slash in there somewhere for handling multiple file selection. I'll fix it later in the day. Single file selection, adding one image at a time, should be fine though.

EDIT 3: OKAY! I'm not sure if anyone's used it yet, but hopefully I've caught what issues there were. Link updated.
I got it to work once, but now I only get "the system cannot find the file specified"
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
#24
I have a 32 Bit system and Smash Color is for 64 Bit ones, could you tell me how to do this without using Smash Color?
It can't be done without Color Smash, but I made a new version that I think will work on 32 bit systems, available here. Check it out and let me know if it works for you.
 

DualX

Smash Apprentice
Joined
Jul 27, 2014
Messages
121
#25
I have a question that hopefully you knowledgeable gentlemen can help me with. I've been having an issue with replacing the CSPs in general, and was brought here by another individual from the Smash 3C Discord chat. I'm currently using the Smash 3C lite build and attempting to swap out one/two outfits on most characters. The new things work perfectly in game, however, the images in brawlbox do not.

I've used the ColorSmash program to reduce the size on all of the icons, and am currently using the latest version of brawlbox (v0.77). This is what I keep seeing and I simply do not know what I'm doing wrong here. I even thought this was an issue that was arising by using Windows 10, so I swapped to a laptop with Win 7 and it does the exact same thing.

 

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#26
I have a question that hopefully you knowledgeable gentlemen can help me with. I've been having an issue with replacing the CSPs in general, and was brought here by another individual from the Smash 3C Discord chat. I'm currently using the Smash 3C lite build and attempting to swap out one/two outfits on most characters. The new things work perfectly in game, however, the images in brawlbox do not.

I've used the ColorSmash program to reduce the size on all of the icons, and am currently using the latest version of brawlbox (v0.77). This is what I keep seeing and I simply do not know what I'm doing wrong here. I even thought this was an issue that was arising by using Windows 10, so I swapped to a laptop with Win 7 and it does the exact same thing.

You mean how the portrait is kinda shifted? That only ever happened to me with older versions of BrawlBox. Maybe double check you are opening that thing with the right version?

Also whenever I had that happen it usually meant nothing and the CSPs showed up just fine in-game regardless.

Edit: You may wanna redo your palettes to include your extra costumes as well.
 
Last edited:

AlphaSSB

Starlink Hype
Premium
Joined
Jun 19, 2014
Messages
2,712
Location
United States
3DS FC
0018-1370-8449
Switch FC
0691-1639-9303
#27
So, for a while now, I've been trying to go by this guide for a while now. I've downloaded all the files required to try and mask the CSPs. However, despite reading the guide over and over again, I cannot figure out how to get it to work. This is what my current folder looks like:
What to I run with what? I've tried opening the CSP and the Mask.gif with ImageMagick, but it doesn't apply them together. Running Mask.gif and MaskCSPs.bat together results in a window popping up and immediately closing, same with the CSP and the .bat. Launching MaskCSPs.bat and ImageMagick together results in this:
I'm probably overlooking something painfully obvious, but I just haven't been able to get this to work.
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#28
So, for a while now, I've been trying to go by this guide for a while now. I've downloaded all the files required to try and mask the CSPs. However, despite reading the guide over and over again, I cannot figure out how to get it to work. This is what my current folder looks like:
What to I run with what? I've tried opening the CSP and the Mask.gif with ImageMagick, but it doesn't apply them together. Running Mask.gif and MaskCSPs.bat together results in a window popping up and immediately closing, same with the CSP and the .bat. Launching MaskCSPs.bat and ImageMagick together results in this:
I'm probably overlooking something painfully obvious, but I just haven't been able to get this to work.
The quotations you see in the OPs instructions. Those quotations are to be put into a command prompt, or you can make separate .bat files (one for the color_smash, other for MaskCSPs) and put those in the same directory as all your CSPs or wherever you plan to make them... or whatever. ImageMagick only needs to be installed for things to work. It doesn't have to be in the same directory as the CSPs you want to edit or what have you.
 

Cynapse

Smash Ace
Joined
Jul 3, 2015
Messages
905
Location
Kansas City
#29
So, for a while now, I've been trying to go by this guide for a while now. I've downloaded all the files required to try and mask the CSPs. However, despite reading the guide over and over again, I cannot figure out how to get it to work. This is what my current folder looks like:
What to I run with what? I've tried opening the CSP and the Mask.gif with ImageMagick, but it doesn't apply them together. Running Mask.gif and MaskCSPs.bat together results in a window popping up and immediately closing, same with the CSP and the .bat. Launching MaskCSPs.bat and ImageMagick together results in this:
I'm probably overlooking something painfully obvious, but I just haven't been able to get this to work.
Same issue. Can't get this figured out.
 

Gojilujah

Smash Cadet
Joined
Dec 14, 2015
Messages
31
Location
Germany
#31
Hi, I really hope this thread isn´t dead already, cause I reeeeeeaaally need help with that method.

I hardly understand what to do with this tool or better how to use it properly. because all of my images in the brres pacs disappear when I select the shared data in brawlbox from false to true. besides, none of these links above work anymore...but someone gave me the color_smash.exe tool.

I simply dragged my csps into that tool like the bin2jpg tool for brawl, which allows you to view the pics from smash you shot from wii on your pc, yeah, everyone knows..

so I comprimized the csps...ok, but now???? nothing changes
what am I doing wrong?
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#32
Hi, I really hope this thread isn´t dead already, cause I reeeeeeaaally need help with that method.

I hardly understand what to do with this tool or better how to use it properly. because all of my images in the brres pacs disappear when I select the shared data in brawlbox from false to true. besides, none of these links above work anymore...but someone gave me the color_smash.exe tool.

I simply dragged my csps into that tool like the bin2jpg tool for brawl, which allows you to view the pics from smash you shot from wii on your pc, yeah, everyone knows..

so I comprimized the csps...ok, but now???? nothing changes
what am I doing wrong?
I made .bat files for these that automatically convert different numbers of costumes to having shared palettes. As long as you have color_smash.exe one of the .bat files and all the csps you plan to convert numbered in the way they're called in the .bat file, it'll convert them automatically. For instance I have one .bat file for 6 CSPs. I put the 6 costumes (that are all the same pose/fighter, but different colors) into the folder that has color_smash.exe and the 6-costume .bat file. I rename them all numerically "1.png" through "6.png". Double-click the .bat file and it poops out 6 more CSPs named "1 (brawl).png" through "6 (brawl).png"

I have others to convert 2, 3, 4, 5, and 10 costumes (maybe more than that). Some sort of GUI that let's you drag and drop a number of CSPs and automatically discerns what needs to be done would be nice... But I don't have those kinda skillz.
 

Gojilujah

Smash Cadet
Joined
Dec 14, 2015
Messages
31
Location
Germany
#33
I made .bat files for these that automatically convert different numbers of costumes to having shared palettes. As long as you have color_smash.exe one of the .bat files and all the csps you plan to convert numbered in the way they're called in the .bat file, it'll convert them automatically. For instance I have one .bat file for 6 CSPs. I put the 6 costumes (that are all the same pose/fighter, but different colors) into the folder that has color_smash.exe and the 6-costume .bat file. I rename them all numerically "1.png" through "6.png". Double-click the .bat file and it poops out 6 more CSPs named "1 (brawl).png" through "6 (brawl).png"

I have others to convert 2, 3, 4, 5, and 10 costumes (maybe more than that). Some sort of GUI that let's you drag and drop a number of CSPs and automatically discerns what needs to be done would be nice... But I don't have those kinda skillz.
wow :) thanks for that fast reply!

ok so that should be ok for me I think, but one thing is strange to me, what is a bat file? never worked with that. how am I generating that one? and for what is it used? only for the palettes?
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#34
wow :) thanks for that fast reply!

ok so that should be ok for me I think, but one thing is strange to me, what is a bat file? never worked with that. how am I generating that one? and for what is it used? only for the palettes?
Basically create a new text file. Type something along the lines of what's in Step 1 of the OP:

Step 1: Convert to 256 colors
First use the ColorSmash tool (available here) to convert the images to 256 colors in such a way that the indexed image data can be shared. An example of the command for this looks like this:
..\color_smash -c RGB5A3 -s " (main)" 1.png 2-brawlfire.png 3-brawlblue.png 4-brawlgreen.png 5-brawlblack.png
Save this file by clicking "Save As...". When you save it, make sure that "All Files" is selected on the "Save as type" drop down and rename the file to whatever you want, making sure the file extension is ".bat" at the end and not ".txt"

This is what I have in a .bat file that converts 6 png files to shared palettes

"color_smash -c RGB5A3 -s " (brawl)" 1.png 2.png 3.png 4.png 5.png 6.png"
 

Gojilujah

Smash Cadet
Joined
Dec 14, 2015
Messages
31
Location
Germany
#35
Basically create a new text file. Type something along the lines of what's in Step 1 of the OP:


Save this file by clicking "Save As...". When you save it, make sure that "All Files" is selected on the "Save as type" drop down and rename the file to whatever you want, making sure the file extension is ".bat" at the end and not ".txt"

This is what I have in a .bat file that converts 6 png files to shared palettes

"color_smash -c RGB5A3 -s " (brawl)" 1.png 2.png 3.png 4.png 5.png 6.png"

ok so I did the necessary things for it to work, then again, I replaced my csps in the brres.pac and switched to shared data true.

and still no use :( here´s my problem. I don´t know how to solve this. I understood now what you were meaning with the bat file, but that didn´t help me. besides imagemagic is installed.

here are some pics of what problem I have

https://www.dropbox.com/s/7n7bcvngiwwqtu8/example1.PNG?dl=0
https://www.dropbox.com/s/q9m6osot0qgj6uz/example2.PNG?dl=0
https://www.dropbox.com/s/0g3tpuwsfrq3fx4/example3.PNG?dl=0
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#36
ok so I did the necessary things for it to work, then again, I replaced my csps in the brres.pac and switched to shared data true.

and still no use :( here´s my problem. I don´t know how to solve this. I understood now what you were meaning with the bat file, but that didn´t help me. besides imagemagic is installed.

here are some pics of what problem I have

https://www.dropbox.com/s/7n7bcvngiwwqtu8/example1.PNG?dl=0
https://www.dropbox.com/s/q9m6osot0qgj6uz/example2.PNG?dl=0
https://www.dropbox.com/s/0g3tpuwsfrq3fx4/example3.PNG?dl=0
It seems like those CSPs aren't being converted at once. If all ten of those Mewtwo's are to share the same palette, then they all need to be converted in one single instance of color smashery. Also to keep quality decent, I'd probably do the darker costumes separately and have those share data with each other.
 

Gojilujah

Smash Cadet
Joined
Dec 14, 2015
Messages
31
Location
Germany
#37
hm :/ and how do I convert them all at once?
so you would only do the light ones together? make´s sense yep. ok then that would be a solution for those, but the other thing?
 

Gojilujah

Smash Cadet
Joined
Dec 14, 2015
Messages
31
Location
Germany
#38
maybe you could show me how you would do that with these costumes step by step, with the programs and files needed to get things work properly. maybe there´s an important step I´m missing which is in fact totally easy
 
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#39
maybe you could show me how you would do that with these costumes step by step, with the programs and files needed to get things work properly. maybe there´s an important step I´m missing which is in fact totally easy
PM me ur things and if I get time this weekand I'll post a step-by-step with the .bat filezzzzzzz. It should be super ez.
 

Amazerommu

Smash Lord
Joined
Jan 4, 2013
Messages
1,138
Location
Kentucky
#40
maybe you could show me how you would do that with these costumes step by step, with the programs and files needed to get things work properly. maybe there´s an important step I´m missing which is in fact totally easy
Actually a thought occurs... When you're importing the newly created shared palette CSPs into Brawlbox, are you making sure to check the box beside "Import Palette" before pressing "Okay" to add the CSP?
 
Top