• 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!

Texture Hacking Effects

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
I almost posted this in the Official Melee Texture Hack Thread or the Changing Color Effects in Melee! thread, but decided to create this instead, since I'm planning on adding to it.

Anyway, a while back I was interested in removing certain effects like smoke, wind, fire, etc. from the game for another project. So I learned how to hack textures (including some new methods), how to read parts of .dat files, and where the effects were located in the game. While doing this I started recording where I was finding bits and pieces, then I organized it into a spreadsheet and made it public, so everyone can edit and add to it.

Effects Texture Locations (info dump for EfxxData.dat files)

Right now the spreadsheet mostly only has textures found in EfCoData.dat (which is the general effects file that contains textures common to many characters and animations), but I'll be going through the cast and adding a tab and a little bit of data for effects files for each character. This thread isn't meant to be a guide (there are several of those already), but a resource for texture effects locations and other info. However if you're trying to figure out how to do something, post and I'll try to help out.

You'll notice that the texture identification is using the filename generated by Dolphin when it dumps PNGs (if you have your graphics configured to use Direct3D11. If you use OpenGL it will dump TGAs). If people want, we could add another column that shows the equivalent TGA file names.

I ultimately did what I was trying to do (I finally removed the white smoke and other dust effects found on ground based moves). But other random interesting things can be done as well, like this!:

GALE01-5_zps67e3630f.PNG

^ Actually looks nice when running around or dashdancing. You can get the .dat for this here (nothing else is changed in the file. And the tpl is included). You can find a lot more texture-hack examples in my next post, below this.

Even more can be done if you combine this hacking with Lanceinthepants' guide, Changing Color Effects in Melee!

Some of the textures are components of animations, running at around 30 fps (so each frame of the effect usually hangs around for 2 game frames). The data for these images are often stored in the file end-to-end, just like a spritesheet. So I have these animation groups defined as well in the spreadsheet. Although most animatiins would be pretty short, I think some neat stuff could be done with this, considering we can create our own short animations that could be anything. For example adding in effects from other games besides creating our own.

Some images in a DAT are reused in multiple places in-game, while being referenced by a different image header, which may specify different properties for it, such as size. And transformations, such as changing size or rotation, are sometimes used on an image to create animation, rather than needing more variations of an image.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
This is my 'Onomatopoeia hack'. ^_^ I started it partly for fun because I can, but also to help show what exactly each texture is used for and where it shows up (since many are used in more than one place, but might be similar to another, so sometimes it can be hard to tell). All of these are in EfCoData.dat. There are a TON of textures in there that could be done, but I only did a few of the more common ones. Without further adieu, here are a few screenshots:

GALE01-7_zps3ca28fe4.png

TEST01-7_02.PNG

(Try getting a Zapdos!)

I particularly like the trailing "Oooohhhhh..."s after sending someone flying. lol
TEST01-1_zps08eb5439.png


Download link.

(The "original textures" listed are the texture hashes (texID) found in the PNG version of Dolphin's texture dumps.)

Text image: Original texture(s):

whoosh!
20c3d961, bf7abed2, 5dd2fe6c,
f26ba233, 331c3bc0, 3c918f4c,
625a6185, 2ab027fd, 0c113f3c​

oh!
f6d621de, 4fbc2294, 988eb324,
877416cc, 84752492​

swoosh!
9129e263​

(^The text for this one is upside down in the image,
because the texture rotates into view in-game.)

pow!
0e6b690b, a6e49aba, db839685,
20738a90​

BIFF
78d9ebdc​

tup
ed17c0ca​

bling!
b2a4cc50, 58408ead​

bzzt
1568522e
zap!
b8171b8a
crackle
01e267a4
pop!
4457312a
zzt
a020d6f6
tszzst
61ca7ead

BooM
264ae2de​

swipe
dfcd9ef0_3​

slash!
6637da9b_3​

(The ones highlighted in blue are electric effects. They were all spark graphics before. There were a couple other sparks I didn't get around to doing because I couldn't think of any more spellings for spark sounds at the time. :p)

You'll notice that I have some images replace several of the original textures. This is because some textures are not static, and are instead part of an animation. So basically, an image will swap out for the next image (which would normally be a little bit different) in its set after 1 or 2 frames. In these cases, the text hack replaces the entire animation group. So that the same text is shown through the entire duration of the animation, which means it's visible for longer to give you more time to read it.

It's pretty wacky, lol! But also fun to play with.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
Dang, I don't know why I was having such trouble with links yesterday, lol. Anyway, I've fixed it. Thanks.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
Thanks.

Some of the textures are components of animations, running at ~30 fps (so each frame of the effect usually hangs around for 2 game frames). So I have these animation groups defined as well. Although most would be pretty short, I think some neat stuff could be done with this, considering we can create our own short animations that could be anything.

Like, for example, creating effects from other games. Thinking about it just now, I think it'd be cool to try turning the smoke into the stylized smoke effects from Wind Waker.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
I also wanted to talk about the .dat format, for those couple of people out there who understand [parts of] them.

EffCoData.dat is the first .dat I've looked at in-depth. I learned a lot about how to read them from posts by GodFed and revel8n, as well as a few places outside of SWF. Their structure appears to vary; for example these effects files I started looking into are apparently quite different from character files, which is why Internet Explorer's Melee Toolkit only works on characters (at least from what I've seen. is there another type I don't know about that it works on?). It makes me wonder how many different kinds of dat structures there are.

But of immediate concern to me are two things: Image headers, and palettes. I don't quite get them, mostly because, as you may know, the images don't follow the standard tpl formatting. I mean, the image data itself is strait tpl (following the type of ipl of course. i.e. _0, _1, _2 etc.), but the headers are different.

Yes, I've read Steelia's post on textures with palettes in the Melee hacks thread. It's of more a "do this, then that" instruction list than an explanation of how they work though. I haven't seen an explanation anywhere of how to find the location of a palette by reading the .dat. I'm also not sure what format the palettes are in (IA8/RGB565/RGB5A3?). Both of these things should be in the palette header, but I haven't figured out how to find/read that.

I also have't been able to successfully convert an original image (of tga or png) with a palette to an ipl that then turns up (matches) in the corresponding dat either. (Which is why I haven't found any paletted textures in EffCoData. However I've also been testing with the CSPs.) I'm wondering if I'm not creating the palette properly, because I'm using Gimp rather than Photoshop. Because of that, I haven't even been able to play around with searching for and looking at an original paletted texture and its palette in a dat.

Does anyone have an original, unedited, paletted texture that I could get a copy of to look at and compare to a dat? Also, if you know anyone that might have some answers to these questions, please feel free to tag them. I have some header data set aside in the spreadsheet in the OP, in the "Potential Headers" tab if you want to look at them to see if you can help figure some of this out. Besides sharing some effects hacks, I thought this thread could be a discussion for this. It's especially important if we want better ways to work with textures that have palettes, like character select portraits.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
Tl;dr version: Does anyone have an original, unedited, paletted texture that I could get a copy of to look at?
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
Hm, I don't think I've ever quadruple posted before... but I'm pretty sure this would be overlooked otherwise. :p

I updated my second post to show a new hack and some examples of texture-hacking effects. Check it out!

So far, I think this thread is becoming less like a thread and more like my own blog, lol.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
"So why have two headers, unless they're longer than I think they are."
Wouldnt that be just because the same image appears twice in different locations. So in theory they could make one image different if they wished.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
"So why have two headers, unless they're longer than I think they are."
Wouldnt that be just because the same image appears twice in different locations. So in theory they could make one image different if they wished.
Yeah, I think I remember there being more headers than textures. And I know that some of the textures are pointed to in more than one way. I'm pretty sure that's the reason why; so that they can display the same image with some different parameters (in order to get a different image, but save space).

In the OP's spreadsheet, in the EfCoData tab, if you scroll down to the bottom, there's a section, "Following a few offset trails..." that you can check out if you feel like it that talks about following some of the pointers and associated headers found through the Relocation Table.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Oh yeah, I've been running through headers and many point to the same file. Most of the time the header points to the same image with the same parameter but its seems more the case that each image header is tied to a particular object.
 

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
Time to replace knockback effects with MLG hit markers and replace all of the sounds with airhorns.
Really cool stuff DRGN! I really like the text-based effects. I'm going to mess around with effects eventually.
 
Last edited:

CowlScatman

Smash Apprentice
Joined
Sep 27, 2014
Messages
138
Location
Madison Alabama
3DS FC
4699-7805-1507
Okay so i have a question for some people in here.

http://imgur.com/a/PbnPI
This is still heavily a WIP

I've been working on making a netplay compatible texture pack for the past couple of days but I have hit a spot I need some help with. I am terrible at creating brand new textures from scratch.
I want to add in some new textures for the hit effects but i need them to fit into the melee theme. So i'm trying not to use the worded texture effects, im looking for things similar to vanilla hit effects just different and slightly higher quality. If needed i can dump out all the textures ahead of time and have them ready to send to anyone willing to help so they would not have to worry about getting them all.


The current way im doing this project is not through the .dat files though. I'm simply using dolphins texture dump feature then when complete im putting them in the custom texture dolphin folder.

If you would be willing to help me hit me up on here or my twitter CowlScatman CowlScatman
 

Placebo Effect

Smash Apprentice
Joined
Aug 17, 2010
Messages
156
Location
The Arena Eternal
I'm having a really hard time figuring out how to change colors for these effects.
I want to replace the hit effects with blood spatters (super edgy), and maybe the kill explosion with a mushroom cloud or something else a bit more brutal looking.
I have the files and HxD, but don't really get the situation with finding and changing colors for effects.

Thanks if anyone can help. :)
 

TerpySSBM

Smash Rookie
Joined
Aug 8, 2020
Messages
11
i have a list of offsets for ganons animations but unsure exactly what move they effect:
42 48 format
1c3a0
1c460
1c500
1c5a0
1c640
1e120
1e1e0
1e2a0
1e340
1f290
1f360
1f430
1f4f0
1f5c0
1f690
1f760
1f820
1f8f0
1f9c0
1fa90
1fb50
21180
219e0
21a80
21b20
21bc0
22c00
22ca0
22d40

cf 00- format
150
220
300
310
3c0
3d0
3e0
430
440
450
460
470
4c0
520
530
540
550
560
570
620
630
6A0
700
760
870
880
890
8a0
920
930
990
1d100

cf 07 - format
630
9a0

cf 05 format
150
21ea0

cf 0f format
640
9b0

cf f0 format
239e0

cf 06 format
6a0
8b0
139f0

cf 09 format
190
230
260
770
7a0
 
Top Bottom