You're awesome, Eham. This is probably a stupid question and it's probably mentioned elsewhere... but what do the offsets do? I think I've seen those files before, or something like them, but I haven't touched them because I didn't quite know what I'd be breaking. I'm only ok with breaking stuff when I know what it is.
The offsets are used as a guide, since we cannot edit EBX files in neat and nice GUI yet. We need someway to find data we are interested in, so the idea is, lets say you want to edit the colors of vitaar "da3/equipment/appearances/warpaint/warpaint_texture_1a".
you export the EBX as binary, by opening up the asset and clicking Debug -> Export EBX. This will give you a binary dump of the file, almost meaningless to most people.
You then view the XML of the EBX via just opening the asset in the modding tool, and then lets choose WarPaintColor3 to start with:
<WarPaintColor3 Offset="0x00000460" Type="DAI_Complex_d029">
<Vec4 Offset="0x00000460">
<x Offset="0x00000460" Type="DAI_Float">0.773</x>
<y Offset="0x00000464" Type="DAI_Float">0.608</y>
<z Offset="0x00000468" Type="DAI_Float">0.315</z>
<w Offset="0x0000046C" Type="DAI_Float">0.315</w>
</Vec4>
</WarPaintColor3>
You would open up the binary EBX I exported with a hex editor, then you would go to offset 0x00000460 (This is the start of the data we are interested in). Viewing in the hex editor, you would see the following:
54 E3 45 3F E3 A5 1B 3F AE 47 A1 3E AE 47 A1 3E
This is the four components of the Vec4 from the XML above.
X -> 54 E3 45 3F = 0.773f
Y -> E3 A5 1B 3F = 0.608f
Z -> AE 47 A1 3E = 0.315f
W -> AE 47 A1 3E = 0.315f
Lets say for example, you want to just change all channels to white, you would replace the above data with the following:
00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F
X -> 00 00 80 3F = 1.0f
Y -> 00 00 80 3F = 1.0f
Z -> 00 00 80 3F = 1.0f
W -> 00 00 80 3F = 1.0f
Then save the EBX, and go back to the DAI Modding Tool and open up the Asset, and go to Debug -> Import EBX. Then view the changes:
<WarPaintColor3 Offset="0x00000460" Type="DAI_Complex_d029">
<Vec4 Offset="0x00000460">
<x Offset="0x00000460" Type="DAI_Float">1.000</x>
<y Offset="0x00000464" Type="DAI_Float">1.000</y>
<z Offset="0x00000468" Type="DAI_Float">1.000</z>
<w Offset="0x0000046C" Type="DAI_Float">1.000</w>
</Vec4>
</WarPaintColor3>
You can use the following site, to convert float numbers to hex: http://gregstoll.dyn...oll/floattohex/
You just need to make sure you type them in, in reverse, as it will show 1.0f = 0x3f800000. But in hex that will be 00 00 80 3F