I was playing a little bit with Shift Files and noticed, it is possible to create our own Materials from BMT Material Files in XML Style!!!
I think this is a great breakthrough because we don't need any longer the Materials inside from Shift!!
Okay I tryed it by hand .. it's too much of Work.
And I have not everything figured out yet. Needs a little bit of Research. It could be possible that there are maybe some Values in the Header but I think not.
Maybe I'll code a Material Editor which Generates XML Files if the interest is big enough.
First Open one BMT File with a Hex Editor of your Choice (I use Hex Workshop the best Hex Editor I know). Then Scroll down to the Bottom:
I marked the Important Area of the File.
And now we need to create a new File (in this case ferrari_599_badges.mtx) with any Text Editor you like:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<material name="ferrari_599_badges" shader="render\shaders\vehicles_basic.fx" technique="VehicleBasic_Translucent" fog="false" antialias="1" numparams="3" cull="EBFCT_ANTICLOCKWISE">
<shaderparam name="diffuseTexture" type="EPT_TEXTURE">
<type t="ET_STANDARD" />
<value v="Vehicles\Textures\FERRARI_599_BADGING_DIFFUSE.dds" />
</shaderparam>
<shaderparam name="specularTexture" type="EPT_TEXTURE">
<type t="ET_STANDARD" />
<value v="Vehicles\Textures\FERRARI_599_BADGING_SPECULAR.dds" />
</shaderparam>
</material>What you have to do:
Write the first 2 Lines into the blank new file and insert the Values.
- material name: your Material Name (file name)
- shader: the shader you want (can be found on 0xbf8H)
- technique: The Technique which will be used. (0xc1cH)
- fog="false" antialias="1" (I'm not sure where to find these)
- numparams: (How many parameters you using, like the same thing for liverys)
- cull: Culling Options (0xc38H)
Now we have the Header done and can Insert the Parameters of the Textures.
First Value:
<shaderparam name="diffuseTexture" type="EPT_TEXTURE">
<type t="ET_STANDARD" />
<value v="Vehicles\Textures\FERRARI_599_BADGING_DIFFUSE.dds" />
</shaderparam>
Watch the Top Part of the Picture. You can find all of these Values:
- name Diffuse, Specular, Normalmap ... (0xa50H)
- type The Type no idea what EPT means (0xa60H)
- t="ET_STANDARD" no idea too whats that is (0xa10H)
- v="blablabla" This line points to the Texture you want to use (0xa1cH)
So I think it's that simple. Somewhere are the number Values in the File, don't ask me where.
Now I add some (complete) MTX Files and BMTs too. Maybe you can help me Researching these. Sadly I don't have any MTX and BMT which is the same file...
Can you clever guys please please help me with creating a BMT to MTX (=XML) Converter?

