Thursday, January 12, 2012

File Based Texture Hack Complete

OK, they don't glow *red* but they glow kinda orangeish, and that's good enough for me. Here's all three stages of the textures; starting with original then semi-modified and finally fully modified.
Original Textures

Diffuse Textures Modified

All Textures Modified

In the final picture there's a few interesting things that are going on. First you'll notice that the 'birds' are not actually red, but a weird orangeish/redish color. My guess is this is due to the emissive texture interacting with the red color causing a softer tone. That or some other shader is doing something to the model. Also you'll notice where I pointed out 'dead' that the bird appears to be the solid red color. If you think about it, the emissive texture is for a 'glow' effect. You'll notice in the original picture that there's some glow to the bird. This is probably to signify that it has some internal energy or power force. Once it's dead they probably shut off this effect as it is dead and shouldn't be emitting energy, hence it no longer glows. (I'm totally assuming this by the way).

So how did I remove the bumpiness and cause the crazy glow? Let's take a look at our individual textures in a side by side comparison.

The emissive texture, I assumed lighter colors would cause more glow so I made it all white.

The normal texture, I took the original background color and set the entire map to it.

The specular texture, made it all the background color. Maybe I should have made this white for shininess?

The diffuse texture, made it friggen red.

As you can see it was a total hack job. I just assumed if I made each texture a solid color of the background it would be enough to see a glowing texture without shadows. I was mostly right, there's probably some shaders that the engine is applying to the models that I can't modify via the textures alone. Which is actually going to bring me into the next stage. 

Modifying the files on disk, while the easiest route, is an easy way to get busted by anti-cheat services that most online games use these days. Most of these services do some sort of checksum'ing on their files via their launcher application. If it detects any invalid checksums (i.e. files modified or corrupt) it downloads replacements from the patch server. It also may or may not report the incident so they can verify if someone is cheating or not. 

The other thing to note is that it's pretty lame from a technical standpoint. It was great learning all this stuff, but I don't want to open gimp to hack a game, it's kinda gimpy... (pardon it's late). 

I think at this point I'd like to figure out how to change textures dynamically, while the game is running. For this I'll need to head back into debugger land. My next post will be detailing how I think I should approach changing textures via the debugger. After which I'll post my progress and finally a summary (if i'm successful) of how my initial thoughts actually ended up working out for me.

No comments:

Post a Comment