The Emperor’s New Objects
By Dwip October 4, 2004, 7:56 pm Comments (1) RSS Feed for this post

Because I will otherwise forget this process:

Adding BF1942 Objects to BFV Maps

Step 1 – Locate the item to be added in BC1942. Note the name.

Step 2 – Open up bf1942.lst in the BC1942 dir and find the object name you just noted. There will be a StandardMesh name in parens after it. Note this name.

Step 3 – In WinRFA, open up your BF1942/Mods/bf1942/Archives/Objects.rfa file. Hunt down the Objects.con and Geometries.con files corresponding to the name of your object from step 2. Extract these somewhere.

Step 4 – In WinRFA, open up your BF1942/Mods/bf1942/Archives/StandardMesh.rfa (maybe _001.rfa) file. Hunt down the .rs and .sm files corresponding to the name of your object from step 2. Extract these somewhere.

Step 5 – In any text editor, open the .rs file for your object. There will be a bunch of things that look like:
subshader “crane1_m1_Material0” “StandardMesh/Default”
{
lighting true;
lightingSpecular false;
materialDiffuse 1 1 1;
texture “texture/crane_s”;
}

Note the texture “texture/crane_s”; line. For each time that appears, note the crane_s part.

Step 6 – Back in WinRFA, open up your BF1942/Mods/bf1942/Archives/Texture.rfa (maybe _001.rfa) file. Hunt down all the .dds files for each name you noted in step 5. Extract these somewhere.

Step 7 – Before we put it all together, a check. Open up your object’s geometries.con file. You should see a group of lines that looks like this:

GeometryTemplate.create StandardMesh crane1_m1
GeometryTemplate.file ../BfVietnam/levels/Da_Nang/StandardMesh/crane1_m1
GeometryTemplate.setLodDistance 0 0
GeometryTemplate.setLodDistance 1 15
GeometryTemplate.setLodDistance 2 35
GeometryTemplate.setLodDistance 3 60
GeometryTemplate.setLodDistance 4 100
GeometryTemplate.setLodDistance 5 300

If that’s all that’s there, you’re fine. If there are more groups of lines like this, you need to do a bit more work. Take note of the GeometryTemplate.file line. Now go perform steps 3-6 again for that object.

Step 8 – Now, to put it all together. In WinRFA, open and extract the file for the map you want these objects to go in. Create a directory called objects in the map’s directory, and move the directories you extracted from objects.rfa into this. Move all the .dds files directly into the textures dir, and all the .rs and .sm files into the StandardMesh dir.

Step 9 – Going back to the Objects dir, we want to create a new text file called objects.con. Open it up, and for each object you add, put a line like this:

run crane1_m1/crane1_m1

where crane1_m1 is the name of the dir your object’s .con files are in. Save and close.

Then go into your object’s dir and create another .con file called whatever your object’s dir’s name is (crane1_m1.con in this case). Open it up and add two lines:

run objects
run geometries

Save and close.

Open up your object’s geometries.con file. On the GeometryTemplate.file line, change it to read something like:

GeometryTemplate.file ../BfVietnam/levels/Da_Nang/StandardMesh/OBJNAME

Where OBJNAME is whatever used to be there. Save and close.

Step 10 – Now, we make it so we can use the object in Battlecraft. Go to your Battlecraft Vietnam dir, and open up bfv.lst. Under the appropriate category, add a line like this:

OBJNAME=StandardMesh(OBJSTANDARDMESH)

where OBJNAME is whatever name you want the object to have, and OBJSTANDARDMESH is whatever the name your object’s StandardMesh is.

The crane1_m1 line looks like this:

o_crane1_m1=StandardMesh(crane1_M1)

Save and close, open up BCV, and you should be set to go.


Computer Games - Battlefield Series Comments (1) RSS Feed for this post
Comments on The Emperor’s New Objects
avatar Comment by Whir #1
October 4, 2004 at 10:28 pm

Dude. You’re doing all the importing.