• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Portraits/Stock Icons?

Y-L

Smash Champion
Joined
Jan 16, 2014
Messages
2,436
Location
Ventura, CA
Yeah I watched that video but it was pretty confusing.. Could you dumb it down for me? I already have the portraits and stock icons. I just don't know what to do with them.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Go to offset documented in the .txt file in your favorite hex editor
dump x240 onward onto the offset (ctrl+b)
dump x0 - x220 (or is x200?) after (ctrl+b)
done
 

Y-L

Smash Champion
Joined
Jan 16, 2014
Messages
2,436
Location
Ventura, CA
Go to offset documented in the .txt file in your favorite hex editor
dump x240 onward onto the offset (ctrl+b)
dump x0 - x220 (or is x200?) after (ctrl+b)
done
Where is the text file? I can't even see the text in the video it's so bad quality.
 

Y-L

Smash Champion
Joined
Jan 16, 2014
Messages
2,436
Location
Ventura, CA
I use the load custom texture feature of Dolphin emulator and to replace Falco's blue stock icon I name the file: GALE01_42d3eef9_8. Could that be anything that you're looking for?

Also on a related note do you know how to extract the CSP images? I want to use melee CSPs elsewhere but I can't seem to find anything that has all of them for download.
 
Last edited:

Veggies

Smash Journeyman
Joined
Mar 9, 2014
Messages
367
Location
Gunsan-Si, South Korea
I use the load custom texture feature of Dolphin emulator and to replace Falco's blue stock icon I name the file: GALE01_42d3eef9_8. Could that be anything that you're looking for?

Also on a related note do you know how to extract the CSP images? I want to use melee CSPs elsewhere but I can't seem to find anything that has all of them for download.
Download the mnslchr.zip file from steelia's post
 

CaptainJazz

Smash Cadet
Joined
Oct 1, 2014
Messages
42
Location
Mute City
Wait, someone knows where the offsets are for the actual stock icons is? Because I really need to know those.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Wait, someone knows where the offsets are for the actual stock icons is? Because I really need to know those.
We know where the stock icons are in IfAll.dat thanks to Steelia, but also thanks to Steelia we know that their palettes are not near their image data. This makes it extremely tedious to find (all 118 of) them.
 

CaptainJazz

Smash Cadet
Joined
Oct 1, 2014
Messages
42
Location
Mute City
Can someone please explain to me how to find the pink falcon stock icon, extract it, convert it to png, edit it, and shove it back in? I'll owe you big time. I think @ DRGN DRGN would know how to do this. I'd owe anyone who could help big time.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Can someone please explain to me how to find the pink falcon stock icon, extract it, convert it to png, edit it, and shove it back in? I'll owe you big time. I think @ DRGN DRGN would know how to do this. I'd owe anyone who could help big time.
So to "extract" it, just run Dolphin with dump textures on (options > graphics > advanced), start a match with pink Falcon, and then look in Dolphin Emulator/Dump/Textures/GALE01 and find the correct image.

The problem is that we don't know where its palette is in IfAll.usd (you can find its image data easily with my program). Usually the palette is right after the image data, but with stock icons it's not, according to Steelia. If you find the palette you could easily use DRGN's DTW to insert your edited PNG into the USD.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
Can someone please explain to me how to find the pink falcon stock icon, extract it, convert it to png, edit it, and shove it back in? I'll owe you big time. I think @ DRGN DRGN would know how to do this. I'd owe anyone who could help big time.
Ahh, you've run into a rare case. If the palette data doesn't follow the image data, then it makes things difficult. You need to know the offset for both parts. I haven't seen these offsets posted before, I don't think. To find them, I would guess that the order of the palettes follows the order of the images. For example, if Falcon's pink icon is the 87th icon in the file (for example), then I would look for the 87th palette wherever those are stored in the file (should be the same file). That's assuming you can figure out reading the dat file that is, which itself takes some research. You might have to wait on modding that one. The rest of the images you mentioned wanting to hack in the guide thread should hopefully be much easier (I haven't tried looking for them and I don't know what image types they all are though), for which you should be able to use the guide. Good luck!

Nice avatar, btw.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Ahh, you've run into a rare case. If the palette data doesn't follow the image data, then it makes things difficult. You need to know the offset for both parts. I haven't seen these offsets posted before, I don't think. To find them, I would guess that the order of the palettes follows the order of the images. For example, if Falcon's pink icon is the 87th icon in the file (for example), then I would look for the 87th palette wherever those are stored in the file (should be the same file). That's assuming you can figure out reading the dat file that is, which itself takes some research. You might have to wait on modding that one. The rest of the images you mentioned wanting to hack in the guide thread should hopefully be much easier (I haven't tried looking for them and I don't know what image types they all are though), for which you should be able to use the guide. Good luck!

Nice avatar, btw.
Do you happen to know where the images and palettes collectively are in IfAll.usd? I know @Steelia knows. I had an idea and now I really, really want to try it lol. Not something that would be useful for anything but specifically the stock icons, but now I want to see if it works/I can make it lol
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
Do you happen to know where the images and palettes collectively are in IfAll.usd? I know @Steelia knows. I had an idea and now I really, really want to try it lol. Not something that would be useful for anything but specifically the stock icons, but now I want to see if it works/I can make it lol
I bet I already know what you're thinking: count from the start of the image data, and from the start of the palette data, both in increments of their respective lengths, and then collect the data at both of these indices to combine them into a completed image. Rinse and repeat.

Doing this strait forward would work, but only if there are no breaks (like headers) snuck in between either of those two groups ( I.e. all the images are entirely back to back, and the palettes are entirely back to back). I also have an alternative idea if that's not the case.

Do I have these two starting offsets? No. lol

But we could probably find them.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Do you happen to know where the images and palettes collectively are in IfAll.usd? I know @Steelia knows. I had an idea and now I really, really want to try it lol. Not something that would be useful for anything but specifically the stock icons, but now I want to see if it works/I can make it lol
I don't know, but this may help.

IfAll.usd from my old hacked ISO that has some custom stock icons.

For comparison purposes?
Ones off the top of my head that I know are different:
Black Falcon
Normal Peach
One of Fox's
One of Bowser's
and idk....there's more.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I bet I already know what you're thinking: count from the start of the image data, and from the start of the palette data, both in increments of their respective lengths, and then collect the data at both of these indices to combine them into a completed image. Rinse and repeat.

Doing this strait forward would work, but only if there are no breaks (like headers) snuck in between either of those two groups ( I.e. all the images are entirely back to back, and the palettes are entirely back to back). I also have an alternative idea if that's not the case.

Do I have these two starting offsets? No. lol

But we could probably find them.
Yeah I'm going to make it show every image with every palette and then I choose the correct image, along with the character and color, and have it record the offsets. Like one image at a time, with all its palette variations side by side. I hope none are identical except for the palette lol

[collapse="Proof of display in Python"]

Read from TPLs.[/collapse]
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Well if anyone wants to help me, I need to put this guy
as my pink/white falcon stock icon,
The image is at 0xCC840, and its palette is at 0xCF200. Sorry I can't math today just a sec. Image: 0xC97E0 and palette: 0xCE740.
Just need to do a bit and then I will post a list of them all.

From IfAll.usd:
 
Last edited:

CaptainJazz

Smash Cadet
Joined
Oct 1, 2014
Messages
42
Location
Mute City
Image: 0xC97E0 and palette: 0xCE740.
Thats awesome, thanks!

I'm having problems making the tcs for _8 texture, could someone point me to what is wrong?

This is what my .tcs file looks like:
file 0 = C:\Users\David\\JazzyStockIcon\GALE01_90e5359b_8.tga
image 0 = 0, x, CI4
palette 0 = 0, RGB5A3
texture 0 = 0, 0

And when I put it through texconv.exe it is telling me the texture "has no palette"
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Thats awesome, thanks!

I'm having problems making the tcs for _8 texture, could someone point me to what is wrong?

This is what my .tcs file looks like:
file 0 = C:\Users\David\\JazzyStockIcon\GALE01_90e5359b_8.tga
image 0 = 0, x, CI4
palette 0 = 0, RGB5A3
texture 0 = 0, 0

And when I put it through texconv.exe it is telling me the texture "has no palette"
Just use DRGN's PNG to TPL script.
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I think I got them all. 122 characters plus 6 various.

Note that while most are 24x24, Giga Bowser, Master Hand, and Crazy Hand are 32x32.

Format is character: image offset, palette offset.
[collapse='Stock Icon Offsets']
Green Pichu: 0xcb1c0, 0xced00
Purple Ganondorf: 0xccfc0, 0xcf380
Falco: 0xc5580, 0xcd880
Black DK: 0xc5e80, 0xcda80
Blue Fox: 0xc7ce0, 0xce140
ICs: 0xc4fe0, 0xcd740
DK: 0xc4140, 0xcd400
Green Roy: 0xcb0a0, 0xcecc0
Yoshi: 0xc5340, 0xcd800
Pichu: 0xc5a00, 0xcd980
Red Bowser: 0xc6300, 0xcdb80
Red Dr Mario: 0xc7500, 0xcdf80
Green DK: 0xcb640, 0xcee00
Target: 0xcca00, 0xcf200
Blue Pichu: 0xc9480, 0xce680
Green Ganondorf: 0xcb2e0, 0xced40
Blue Jigglepuff: 0xc8b80, 0xce480
Red Jigglypuff: 0xc6e40, 0xcde00
Black Marth: 0xca200, 0xce980
Pink Samus: 0xc6f60, 0xcde40
Yellow Mario: 0xc6660, 0xcdc40
Falcon: 0xba8c0, 0xba9e0
Kirby: 0xc44a0, 0xcd4c0
Blue Sheik: 0xc96c0, 0xce700
Red Pichu: 0xc7740, 0xce000
Cyan Yoshi: 0xcc3c0, 0xcf100
Red Ganondorf: 0xc7860, 0xce040
Blue Luigi: 0xc8280, 0xce280
Pikachu: 0xc4ec0, 0xcd700
Red Pikachu: 0xc6c00, 0xcdd80
Blue Zelda: 0xc8ee0, 0xce540
Green Jigglypuff: 0xca8c0, 0xceb00
Blue Mario: 0xca0e0, 0xce940
Red Sheik: 0xc7980, 0xce080
Green G&W: 0xc9b40, 0xce800
White Marth: 0xccd80, 0xcf300
Yellow Kirby: 0xc61e0, 0xcdb40
Sandbag: 0xccc40, 0xcf280
Blue G&W: 0xc7e00, 0xce180
Blue Dr Mario: 0xc9240, 0xce600
Yellow Roy: 0xcd0e0, 0xcf3c0
Mario: 0xc4920, 0xcd5c0
Blue Mewtwo: 0xc85e0, 0xce340
Blue DK: 0xc9900, 0xce780
Red G&W: 0xc60c0, 0xcdb00
Link: 0xc46e0, 0xcd540
Green Sheik: 0xcb400, 0xced80
Blue Link: 0xc8160, 0xce240
Blue Samus: 0xcbac0, 0xcef00
Red Fox: 0xc5fa0, 0xcdac0
Green Mario: 0xcb9a0, 0xceec0
Green Fox: 0xc9a20, 0xce7c0
Brown Samus: 0xc8ca0, 0xce4c0
Wireframe: 0xcc4e0, 0xcf140
Black Young Link: 0xcbe20, 0xcefc0
Black Link: 0xc9ea0, 0xce8c0
Sheik: 0xcc060, 0xcf040
Ness: 0xc4c80, 0xcd680
White Luigi: 0xc6540, 0xcdc00
Green Falcon: 0xcb520, 0xcedc0
Blue Ness: 0xc8700, 0xce380
Red Marth: 0xc6780, 0xcdc80
Black Falcon: 0xc5d60, 0xcda40
Bowser: 0xc45c0, 0xcd500
Green Peach: 0xccb20, 0xcf240
Roy: 0xc58e0, 0xcd940
Luigi: 0xc4800, 0xcd580
Green Kirby: 0xcb760, 0xcee40
Yellow Ness: 0xc69c0, 0xcdd00
Red Young Link: 0xc73e0, 0xcdf40
White Kirby: 0xcc2a0, 0xcf0c0
Blue Young Link: 0xc9120, 0xce5c0
Green Zelda: 0xcac20, 0xcebc0
Yellow Peach: 0xc6ae0, 0xcdd40
Blue Ganondorf: 0xc95a0, 0xce6c0
Blue Pikachu: 0xc8940, 0xce400
Green ICs: 0xc6d20, 0xcddc0
Samus: 0xc5220, 0xcd7c0
Blue Bowser: 0xc8040, 0xce200
Red Falcon: 0xc7aa0, 0xce0c0
Green Ness: 0xca440, 0xcea00
Red DK: 0xc7bc0, 0xce100
Blue Falcon: 0xcc180, 0xcf080
Blue Falco: 0xc9000, 0xce580
Red Kirby: 0xc9c60, 0xce840
Mewtwo: 0xc4b60, 0xcd640
Green Falco: 0xcad40, 0xcec00
Brown Mario: 0xc83a0, 0xce2c0
Red Zelda: 0xc71a0, 0xcdec0
Giga Bowser: 0xcd200, 0xcf400
Peach: 0xc4da0, 0xcd6c0
Green Dr Mario: 0xcaf80, 0xcec80
Marth: 0xc4a40, 0xcd600
Yellow Yoshi: 0xcab00, 0xceb80
Red Link: 0xc6420, 0xcdbc0
Blue Yoshi: 0xc8dc0, 0xce500
Blue Roy: 0xc9360, 0xce640
White Zelda: 0xcbd00, 0xcef80
Fox: 0xc4260, 0xcd440
Blue Kirby: 0xc7f20, 0xce1c0
Yellow Jigglypuff: 0xccea0, 0xcf340
G&W: 0xc4380, 0xcd480
Green Marth: 0xc84c0, 0xce300
Ganondorf: 0xc5b20, 0xcd9c0
Red Luigi: 0xc9fc0, 0xce900
Red Falco: 0xc72c0, 0xcdf00
Young Link: 0xc56a0, 0xcd8c0
Red Roy: 0xc7620, 0xcdfc0
Green Samus: 0xca9e0, 0xceb40
White Link: 0xcb880, 0xcee80
White Young Link: 0xcae60, 0xcec40
Master Hand: 0xcc600, 0xcf180
Red Mewtwo: 0xc68a0, 0xcdcc0
Blue Peach: 0xca560, 0xcea40
Dr Mario: 0xc57c0, 0xcd900
White Peach: 0xc8820, 0xce3c0
Pink Yoshi: 0xcbbe0, 0xcef40
Green Pikachu: 0xca680, 0xcea80
Black Bowser: 0xc9d80, 0xce880
Crazy Hand: 0xcc800, 0xcf1c0
Black Dr Mario: 0xcbf40, 0xcf000
Red Yoshi: 0xc7080, 0xcde80
Zelda: 0xc5460, 0xcd840
Jigglypuff: 0xc5100, 0xcd780
Red ICs: 0xca7a0, 0xceac0
Green Mewtwo: 0xca320, 0xce9c0
Pink Falcon: 0xc97e0, 0xce740
[/collapse]
[collapse='Reading from IfAll.usd']
[/collapse]
 
Last edited:

CaptainJazz

Smash Cadet
Joined
Oct 1, 2014
Messages
42
Location
Mute City
I dont know how to edit the palette after putting in the code for the icon. This is what im seeing now because of that:
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Also interesting to note is that there is a little 64 pixel (I assume it's 8x8 but I really don't know the dimensions) image between Sandbag and white Marth's icons. Idk what it is.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I dont know how to edit the palette after putting in the code for the icon. This is what im seeing now because of that:
Just use DTW, and give it your dat file, the png icon image, and the offsets.

Normally you'd give it the offset with an arrow followed by just the image data offset, e.g. '<your_filepath_here> --> 0xc97e0'

But since these icons are kinda unusual and have their palettes in separate places, you'll need give the program the offset to both the image data and offset (separated by a colon), like so:

'<your_filepath_here> --> 0xc97e0:0xce740'

If you're still confused, you can look at the guide that comes in the program's download.

Also interesting to note is that there is a little 64 pixel (I assume it's 8x8 but I really don't know the dimensions) image between Sandbag and white Marth's icons. Idk what it is.
Weird. You couldn't render it though? Did it have a header or something else that points to it?
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Weird. You couldn't render it though? Did it have a header or something else that points to it?
I couldn't render it simply because I don't know the dimensions. When I just assumed it was 8x8 it looked like a gray version of this: ┘

At first I thought it wasn't actually an image, then realized that if it wasn't, there was a random palette inside the palettes for the stock icon palettes in the same place (between Sandbag and white Marth)

All the stock icons are just back to back image data, no headers. The palettes are after them and have 0x20 bytes before each of them which I assume are headers. As you suggested, they are in fact in the same order as the image data. Though neutral Falcon is a fair bit before the large block of stock icons, idk why. And his palette is just right after the image data, too.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I couldn't render it simply because I don't know the dimensions. When I just assumed it was 8x8 it looked like a gray version of this: ┘

At first I thought it wasn't actually an image, then realized that if it wasn't, there was a random palette inside the palettes for the stock icon palettes in the same place (between Sandbag and white Marth)

All the stock icons are just back to back image data, no headers. The palettes are after them and have 0x20 bytes before each of them which I assume are headers. As you suggested, they are in fact in the same order as the image data. Though neutral Falcon is a fair bit before the large block of stock icons, idk why. And his palette is just right after the image data, too.
I got the dimensions by looking up the image header; it's a 5x5 image. You can do that by searching for a hex value that matches the offset of the start of the image data -0x20. You should find at least one match before the relocation table that should be the image header. You can do the same thing with palettes to find palette headers (or to move up the heirarchy of other structures too, if you know where the start of the structure is). And yeah, those are the palette headers that you mentioned between the palettes.

I tried to render the mystery texture by recreating a _8.tpl and then converting it, but I just got what seemed to be a blank 5x5 texture. So I don't know what it is. Maybe we could try filling it with color to see what changes in the game.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I got the dimensions by looking up the image header; it's a 5x5 image. You can do that by searching for a hex value that matches the offset of the start of the image data -0x20. You should find at least one match before the relocation table that should be the image header. You can do the same thing with palettes to find palette headers (or to move up the heirarchy of other structures too, if you know where the start of the structure is). And yeah, those are the palette headers that you mentioned between the palettes.

I tried to render the mystery texture by recreating a _8.tpl and then converting it, but I just got what seemed to be a blank 5x5 texture. So I don't know what it is. Maybe we could try filling it with color to see what changes in the game.
It has 64 pixels tho

Unless part of that data, unlike all the stock icon images, is not part of the image.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I think some of it "overflows" its actual dimensions. Similar to how tv scans are more lines than the display. On the MK wiki on image formatting it shows how some of the extra parts of blocks are discarded.

The other icons are even multiples of 4, so it doesn't happen with those.
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I think some of it "overflows" its actual dimensions. Similar to how tv scans are more lines than the display. On the MK wiki on image formatting it shows how some of the extra parts of blocks are discarded.

The other icons are even multiples of 4, so it doesn't happen with those.
Oh, for some reason I was thinking it skipped non-existent pixels in blocks and moved on.

Also CI4 blocks are 8x8, not 4x4.
 

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
Just use DTW, and give it your dat file, the png icon image, and the offsets.

Normally you'd give it the offset with an arrow followed by just the image data offset, e.g. '<your_filepath_here> --> 0xc97e0'

But since these icons are kinda unusual and have their palettes in separate places, you'll need give the program the offset to both the image data and offset (separated by a colon), like so:

'<your_filepath_here> --> 0xc97e0:0xce740'

If you're still confused, you can look at the guide that comes in the program's download.


Weird. You couldn't render it though? Did it have a header or something else that points to it?

After WTF'ing for a long time, I would like to say that if anyone is trying to replace stock icons, follow the above advice for BOTH IfAll.dat AND IfAll.usd

I did it only for IfAll.dat, and while the icon was changed when viewing IfAll.dat in DTW, I loaded the game up and it still showed the normal stock icon. It only changed when I changed the icon in both the .dat and the .usd file.
 

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
After WTF'ing for a long time, I would like to say that if anyone is trying to replace stock icons, follow the above advice for BOTH IfAll.dat AND IfAll.usd

I did it only for IfAll.dat, and while the icon was changed when viewing IfAll.dat in DTW, I loaded the game up and it still showed the normal stock icon. It only changed when I changed the icon in both the .dat and the .usd file.
.DAT = Japanese.
.USD = American/English.

Playing the game with the language display set to Japanese will force the game to load the .DAT file equivalents of their .USD files, and vice versa. There are a lot of files with non-American (.USD) equivalents in the game, however. If this is the case, the Japanese version (.DAT) is always loaded instead, as it's the only one that exists. A majority of the .DAT/.USD files are for the menus and in-game text files.

Simply put, you don't have to technically change both of them.
 
Last edited:

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
.DAT = Japanese.
.USD = American/English.

Playing the game with the language display set to Japanese will force the game to load the .DAT file equivalents of their .USD files, and vice versa. There are a lot of files with non-American (.USD) equivalents in the game, however. If this is the case, the Japanese version (.DAT) is always loaded instead, as it's the only one that exists. A majority of the .DAT/.USD files are for the menus and in-game text files.

Simply put, you don't have to technically change both of them.
That makes a lot of sense haha. I got stuck with voices too until I realized that US and Japanese sound effect files are separate. I started off editing textures, which change when you modify the .dat files, so going into stock icons I thought that it would be the same.
 
Last edited:
Top Bottom