Need for Speed: Shift Materials

Get your graphics formats figures out here! Got details for others? Post here!
Post Reply
Simon
mega-veteran
mega-veteran
Posts: 180
Joined: Sun Sep 20, 2009 5:41 pm
Has thanked: 31 times
Been thanked: 20 times

Need for Speed: Shift Materials

Post by Simon » Mon May 17, 2010 2:07 pm

Hi guys

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:

Image

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>
It is not finished only a start of the file and already working in Shift.

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?
You do not have the required permissions to view the files attached to this post.

Simon
mega-veteran
mega-veteran
Posts: 180
Joined: Sun Sep 20, 2009 5:41 pm
Has thanked: 31 times
Been thanked: 20 times

Re: Need for Speed: Shift Materials

Post by Simon » Mon May 17, 2010 3:33 pm

Thanks goes to Quadcoremax ;)

He told be that there are BMT Files and the Decrypted MTX Files too. Should be easier to create a converter with them?!

I attached them:

http://ul.to/2lge24

Simon
mega-veteran
mega-veteran
Posts: 180
Joined: Sun Sep 20, 2009 5:41 pm
Has thanked: 31 times
Been thanked: 20 times

Re: Need for Speed: Shift Materials

Post by Simon » Wed May 19, 2010 11:21 am

Can't anyone help me please?

This is really Important for me.

I'm trying to get this for 3 Days now without any success.

I am able to write most parts of the XML (Opening in Hex Editor and writing XML manually) but I have no idea where I could find the Number Values and I don't know if all Tags which will be used in the Sample Files are present (maybe Encrypted or with a Code Number like F3 = <shaderparam> or whatever) and I don't know exactly which Tag is the right for each Value.


Looking forward to help, maybe with a QuickBMS Script?!

bigBear
mega-veteran
mega-veteran
Posts: 183
Joined: Thu Oct 08, 2009 7:51 pm
Has thanked: 6 times
Been thanked: 10 times

Re: Need for Speed: Shift Materials

Post by bigBear » Thu May 20, 2010 5:11 pm

You want to export it to other games?
Zmodeler2 already have NFS Shift exporter.

But the idea of Material editor wich generates in XML is a nice idea.
But how about the game?
Maybe it doesnt recognize them?

Simon
mega-veteran
mega-veteran
Posts: 180
Joined: Sun Sep 20, 2009 5:41 pm
Has thanked: 31 times
Been thanked: 20 times

Re: Need for Speed: Shift Materials

Post by Simon » Thu May 20, 2010 5:21 pm

I want new Cars for Need for Speed: Shift :) The Game is able to read XML-Based Materials too.

I know the zModeler 2 can Export this Materials as XML too but it's worthless because I don't have the Full Version so I can't Import the Cars to get the Materials. (Export is working with the free Version)

And maybe it's possible to Decrypt other Files (BML, Binary XML too) as well because they look exactly the same :)

Oh and it should be able to read Big Endian Files too because X360 Materials.

jhonsadins
ultra-n00b
Posts: 6
Joined: Fri Jul 02, 2010 2:09 pm

Re: Need for Speed: Shift Materials

Post by jhonsadins » Sat Jul 03, 2010 8:59 am

I would like to say something about the game is And even though the 2010 E3 Expo passed by without any news on a new Need for Speed from the British developer, a hot rumor started circulating the net yesterday, getting people excited about Need for Speed Shift 2.

peppe
n00b
Posts: 13
Joined: Fri Jul 09, 2010 6:21 am
Been thanked: 3 times

Re: Need for Speed: Shift Materials

Post by peppe » Sat Jul 10, 2010 6:32 pm

Someone asked about this in an IRC channel a while back, so I have been playing a bit with it when I've been bored.
As of two days ago I have figured out enough to generate xml, though I still have no idea what the COLL block is.
http://projects.pappkartong.se/bmt2xml/

The tag and attribute names must be known, so there might be tag and attribute names I haven't seen and don't handle.
I haven't seen any big endian versions of the files so I don't handle them.

Post Reply