Post by Beyond on Jul 30, 2011 11:56:47 GMT -6
This has been asked of me by almost every vertex hacker at some point, most of them receiving no explanation from me because well... I hate explaining stuff. Hopefully this'll help some of you vertex hackers out there.
But some of you may thinking. Why Null normals? >_> Well let me show you:
Things you will need:
- BrawlBox v0.64, either the Beta or Modset 1.0 will do. (I will be using the modset in this tutorial)
- A hex editor. ( I will be using HxD in this tutorial)
1) Open your .pac/.pcs or .mdl0 in BrawlBox. If you haven't already, export your model somwhere you'll remember.
2) (This step is optional, if you already know the Material you want to Null, skip to Step 3)
Expand the polygons folder of the .mdl0, and scroll down and click the polygon whose normals you'd wish to null. In the information box to the right under "Misc", you should see the material used by this polygon.
For my example, Polygon 0 of Marth uses the Material Body01
![](http://i.imgur.com/6lCX4.png)
3) Now that you know the Material of your desired polygon, open the Materials folder of your .mdl0 and select that Material.
In the information box to the right, it will tell you the Shader used by this Material. Make note of this.
For my example, the Material Body01 of Marth uses Shader0.
*Please note that this may not be the only Material that uses this Shader and the Normals of other Polygons may be nulled as a result. It is reccomended you Null the entirety of your model.
![](http://i.imgur.com/2j9t6.png)
4) Guess what you have to do now? That's right.
Open up the Shaders folder of the .mdl0 and select the Shader from Step 3. Right Click and Export it.
![](http://i.imgur.com/hjb6y.png)
You can now close BrawlBox.
5) Now open up both your .mdl0 and Shader in your Hex Editor of choice. I am using HxD.
Select and copy all of the Shader.
![](http://i.imgur.com/4nmei.png)
6) Go to your .mdl0 and Find(Ctrl+F) the Shader within it by pasting the data you copied from it into the "Search Box". It should find and select the entirety of the Shader for you.If it doesn't then you did something wrong and you should just turn back now and give up, for you are hopeless.
![](http://i.imgur.com/ByKHs.png)
7) Now go back to the Shader within you Hex editor. The Shader basically tells the Wii how the objects associated with it are rendered. After the first 2 lines of data is the Wii Graphics code, with each 0x61 being a BP register set command.
Anyways select the data within offsets 91-93.
![](http://i.imgur.com/hBbvx.png)
And replace it with 08 FF F8
![](http://i.imgur.com/R4wQc.png)
8) Select and copy all of your Shader again. And "Paste write" the data over the selected portion in your .mdl0.
Save your .mdl0 and exit. You are done. Now go test it out in-game!![](http://img842.imageshack.us/img842/296/superhappy.png)
![](http://i.imgur.com/OViml.png)
But some of you may thinking. Why Null normals? >_> Well let me show you:
On the left if my Kid Buu mod with lighting. On the right is after the normals have been nulled.
As you can see the one on the right is a lot more "seamless" but as a result it's not affected by lighting at all. Since we are limited to only moving vertex points at the moment, results like those on the left (some even worse than that) are a constant concern when making drastic changes to a model.
With that said, it's up to the Modders discretion on whether or not nullling the normals is worth it.
![](http://i.imgur.com/KqKIU.jpg)
As you can see the one on the right is a lot more "seamless" but as a result it's not affected by lighting at all. Since we are limited to only moving vertex points at the moment, results like those on the left (some even worse than that) are a constant concern when making drastic changes to a model.
With that said, it's up to the Modders discretion on whether or not nullling the normals is worth it.
![](http://i.imgur.com/KqKIU.jpg)
Things you will need:
- BrawlBox v0.64, either the Beta or Modset 1.0 will do. (I will be using the modset in this tutorial)
- A hex editor. ( I will be using HxD in this tutorial)
1) Open your .pac/.pcs or .mdl0 in BrawlBox. If you haven't already, export your model somwhere you'll remember.
2) (This step is optional, if you already know the Material you want to Null, skip to Step 3)
Expand the polygons folder of the .mdl0, and scroll down and click the polygon whose normals you'd wish to null. In the information box to the right under "Misc", you should see the material used by this polygon.
For my example, Polygon 0 of Marth uses the Material Body01
![](http://i.imgur.com/6lCX4.png)
3) Now that you know the Material of your desired polygon, open the Materials folder of your .mdl0 and select that Material.
In the information box to the right, it will tell you the Shader used by this Material. Make note of this.
For my example, the Material Body01 of Marth uses Shader0.
*Please note that this may not be the only Material that uses this Shader and the Normals of other Polygons may be nulled as a result. It is reccomended you Null the entirety of your model.
![](http://i.imgur.com/2j9t6.png)
4) Guess what you have to do now? That's right.
Open up the Shaders folder of the .mdl0 and select the Shader from Step 3. Right Click and Export it.
![](http://i.imgur.com/hjb6y.png)
You can now close BrawlBox.
5) Now open up both your .mdl0 and Shader in your Hex Editor of choice. I am using HxD.
Select and copy all of the Shader.
![](http://i.imgur.com/4nmei.png)
6) Go to your .mdl0 and Find(Ctrl+F) the Shader within it by pasting the data you copied from it into the "Search Box". It should find and select the entirety of the Shader for you.If it doesn't then you did something wrong and you should just turn back now and give up, for you are hopeless.
![](http://img197.imageshack.us/img197/9905/gamewatching.png)
![](http://i.imgur.com/ByKHs.png)
7) Now go back to the Shader within you Hex editor. The Shader basically tells the Wii how the objects associated with it are rendered. After the first 2 lines of data is the Wii Graphics code, with each 0x61 being a BP register set command.
Anyways select the data within offsets 91-93.
![](http://i.imgur.com/hBbvx.png)
And replace it with 08 FF F8
![](http://i.imgur.com/R4wQc.png)
8) Select and copy all of your Shader again. And "Paste write" the data over the selected portion in your .mdl0.
Save your .mdl0 and exit. You are done. Now go test it out in-game!
![](http://img842.imageshack.us/img842/296/superhappy.png)
![](http://i.imgur.com/OViml.png)