Jump to content

Getting hold of the original .dsf Files

Recommended Posts

Hello all,

Sorry I've been so busy, But I've been working on about 10 new campaign missions and 10 coop missions

and I was thinking, We could do so much more to the game if we could get ahold of the dsf files grin used

to compile the dxe files. I've found a few in the first GR so I've been working on figuring them out.

Now come on someone on here talks to wolfsong........I know. I'm so close

having another Blackhawk but I'm calling it the camohawk. Anyway, We could do much more

with those dsf files. They gave us everything else, Why not them?

Thank you for reading........now let's go to work

on getting those DSF Files

daddy356 AKA Donald :wall:

Link to comment
Share on other sites

Hi Donald,

I'm looking forward to seeing your missions and the campaign, you seem to have been very busy. :thumbsup:

Grin has gone out of business so Wolfsong will not be able to help you, the only way to get access to the dfs/dxe files would be by contacting Ubisoft but I don't think you will have much luck there.


Link to comment
Share on other sites

Thanks John,

Well I never give up, So I will contact ubisoft and see what I can get. even if it's just a template

of a dsf file, but I would need one of each eg: (vehicle , prop , landscape) and so on.....

thanks again man


Link to comment
Share on other sites

  • 4 weeks later...

There was a modder/developer (who shall remain nemonless) that was able to decompile the DXE files. However, it is my understanding that there was some sort of cease and desist as these files were considered intellectual materials by either Grin or Ubi. Would be great if we were able to get these now and fix the major issues that have kept GRAW2 from being the 100% perfect tactical shooter. But if it was that perfect, Ubi would never make money on subsequent GR games.

If you are able to figure this out and/or decompile the DXEs, let me know; I would be highly interested in fixing some of these issues (ROF, random crashes) and adding some serious upgrades to make modding easier (adding custom sounds, updated characters, custom NARCOMS, integrated weapons mods, etc. - these are all hard coded pointers that we could change to include subdirectories of the DATA directory in the bundles).

God Speed


Link to comment
Share on other sites

  • 2 weeks later...

The reason for this is probably that the dsf/dxe files are the actual gameplay script. They define the entire game. With those file anyone could use the engine and create their own game.

The only reason you should need such a file is to create a vehicle that has a different behavior than any that are in the original game.

Link to comment
Share on other sites

  • 1 year later...

Hello all,

Well I know a couple of developers that are working on reverse enginering of the bundler.exe.

cause if it could compile dsf files to dxe files, then it also can decompile dxe files back to dsf files.

So if there is anyone you guys know that's a programer tell them to give it a go.

Oh and another thing before I forget I have the stryker and the apache working

I will post some videos of them in action. It's very cool

thanks to all

daddy356 AKA Donald

Link to comment
Share on other sites

Hello All,

told ya'll I'de have a video of the Stryker and Apache in action, well you can go to the wiki

or here's the site url:


the stryker works perfectly even in campaign with xcom ordering,

but the apache just works with move and target orders but don't shoot rockets or guns yet

but with the DXE decompiler it will do all those things.

thanks ya'll

daddy356 AKA Donald

Edited by daddy356
Link to comment
Share on other sites

Well John,

I will do a write up on the wiki. It would be nice to get a hold of nemon for that DXE decompiler though

grin is out of business, and Rockstar Games doesn't seem to mind modders making

tools for the GTA games

With that decompiler we can add vehicles and everything

can't wait to get that program


Link to comment
Share on other sites

Interesting. Things are moving along with the vehicles I see.

Maybe you can get the Apache working better by fixing the script for it. It was cut early on so this is one of those files that are not used in the actual game. ;)


import units.types.Base;

import units.extensions.Damage;

import Input;

import Containers;

import World, Application, Math, Global, Sound;

class ApacheDescriptor {

init( node, c_desc ) {

//Application.debug( "ApacheDescriptor" );


destroy() { }

create_extension( ext, unit ) {

return Apache().init( ext, unit, void );



class Apache {

object _base;

object _ext;

object _unit;

object _target_lost;

object _hellfires, _hell_count;

super() {

return _base;


init( ext, unit ) {

_base := Base.Base().init( unit );

_unit := unit;

_ext := ext;

_unit.order_data.orders_available := Containers.Vector("Attack", "Stop", "Cancel");

_target_lost := false;

_hellfires := Containers.Vector();

object i := 1;

while( i <= 8 ) {

object hellfire := World.spawn_unit( "hellfire", _unit.get_object( "spawn_hellfire0"+i ).world_pos(), _unit.get_object( "spawn_hellfire0"+i ).world_rot() );

_unit.link( "spawn_hellfire0"+i, hellfire );

_hellfires.push_back( hellfire );

i := i + 1;


_hell_count := 0;

return this;


// Tests

fire() {

if( _hell_count < _hellfires.size() ) {

object target := _unit.order_data.order_pos;

object t := World.find_units( _unit, "sphere", Math.Vector3( target.x, target.y, 0 ), 1000, 25 );

if( not t.empty() ) {

object u := t.get(0);

target := u.position();


object hellfire := _hellfires.get( _hell_count );


hellfire.base().set_owner_unit( _unit );

hellfire.base().fire( target );

World.play_physic_effect( "eject_hellfire", hellfire );

_hell_count := _hell_count + 1;




update_empty() {}


update( unit, ext, time, rel_time ) {


destroy() {

for( hellfire in _hellfires ) {

if( hellfire ) {

World.delete_unit( hellfire );



_unit := void;


_base := void;


save( data ) {

object save_apache := Containers.Map();

data.save( "apache", save_apache );


load( data ) {

object load_apache := data.load( "apache" );



Link to comment
Share on other sites

Thanks GW,

It would be great to get that dxe decompiler though, I've been working on making one from the photos that nemon posted.

but, I just don't know much about Microsoft Visual Studio like nemon, all I can say is noone should point and laugh at his source

I've noticed in binary, and this is me guessing

0001 = import

0002 = object

0003 = not known yet

0004 = class

0005 = Localizer

0006 = not known yet

0007 = ( "

002E2D01 = " );

0C02002C = Global,

000B2800 = := this;

But nemon already did all this

Link to comment
Share on other sites

Interesting. That was back when I was at art school and didn't check any forums for a while.

Looks like he was talking to Raven some, maybe he know something... being an old GR hacker himself.

That's what I was thinking too,

Topic in the GRAW1 section: LINK

I know, but I have been using files from Gr:aw 1 for Gr:aw 2 and they work fine

So the dxe decompiler will work for GR:AW2 aswell there's a link on the wiki page

to some videos I post of the Stryker and the apache working in graw 2

Thanks man

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...