HOW TO ADD NEW HAND WEAPONS INTO BATTLEFIELD: 1942
Updated October 10th 2003
This tutorial will walk you through the necessary steps to add a new weapon into Battlefield: 1942 (BF: 1942). You will learn how to setup a new weapon, configure the animations, add a new weapon model and place it in-game. The tutorial will show how to add a new M16 into the game based on the existing Sg44 machine gun which is already in BF: 1942.
This tutorial assumes that you already have a new 3d weapon model to introduce into the game and that your install directory is “\Program Files\EA Games\Battlefield1942\”. You will need to use “RFAExtractor.exe” to extract the following files from “\Mods\bf1942\archives\”: “objects.rfa”, “animations.rfa”, “standardMesh.rfa” and “Texture.rfa.” Extract these files into the base install directory for ease of use. All file editing should be done with a text editor (Notepad, Wordpad, etc.)
STEP 1: “Objects.con” Scripting Changes
Rename the new directory “M16” and enter it. There will be three files (“geometries.con”, “objects.con” and “weapons.con”) and two subdirectories (“AI” and “Sounds”) within the “M16” directory. The “objects.con” file is the most important file for a weapon. The file houses every setting for a weapon, from the rate of fire to how much deviation that projectile will have once fired.
The first line in this file is “ObjectTemplate.create HandFireArms Sg44”. This is the most important line in the creation of a weapon. The name of the weapon set is a reference for everything associated with it. The new weapon name must be EXACTLY the same throughout all of your changes throughout this tutorial.
Leave this line alone because it has nothing to do with the actual configuration of the weapon, but instead tells the game to show a muzzle-flash called “e_MuzzSG44” (an effect) every time the gun is fired. Also, note line 2. The “itemIndex” setting is the way that BF: 1942 segregates its weapons. By default, knives are set as “1”, pistols are set as “2”, and machine guns and rifles are set as “3”. You can set your weapon to whatever “itemIndex” you want, but each soldier can carry only one weapon from each “itemIndex” at a time. This means that a soldier can only carry one weapon set to “itemIndex 3” at a time.
STEP 2: “Geometries.con” Scripting Changes
The “geometries.con” file tells the game engine where to find your new 3d weapon model and how it will look from a distance.
Once this has been completed, lines that have items like “Sg44Trigger” should appear as “M16Trigger” and so on.
The next step is to modify the lines that start with “GeometryTemplate.file”. These lines tell the game engine where the model file is located. We will assume that you put them in the “standardMesh” directory with the rest of the BF:1942 files and that you have three model files: “M16” (main model of gun), “M16_mag” (gun magazine), and “M16Simple” (low-polygon model of the M16).
Notice that we are leaving line 21, “sg44trigger”, alone. This is because we will continue to use the “sg44trigger” model.
STEP 3: Finishing up
Scripting in the “M16” Directory When adding a new weapon, always setup the artificial intelligence so that the computer will know how to use your new weapon. This will allow your weapon to be used in Co-op games. All artificial intelligence for weapons is contained in the “AI” subdirectory of each weapon’s main folder.
**NOTE: Remember when you made those initial changes in the objects.con file? You changed line 12 in objects.con to “M16AI”.That particular line calls the artificial intelligence settings in the file you just edited.
The next step is to make sure that your new weapon has sound effects. All sound effect settings are contained in the “Sounds” subdirectory of each weapon’s main folder. BF: 1942 has three different settings for sound. You can choose 11 khz (Low), 22 khz (Medium) or 44 khz (High). There are 4 files in the “Sounds” directory; Low.ssc, Medium.ssc, High.ssc and sg44.ssc. The sg44.ssc file is a text file and is the central sound file that includes all the settings from other three sound files for the Sg44 weapon. We will base the new weapon’s sound effects on the existing “Sg44” sound effects for now.
You have now finished setting up all the necessary scripting for the game engine to see the new weapon that you have added.
STEP 4: Animations Scripting
The animations directory contains the scripting files, the animation files and the skeleton file which the game engine uses to animate every object in BF: 1942.
The “SG44.ske” file will define how the skeletal structure of the animations will work in-game (how the arms holding the gun will move while running, reloading, firing, etc.)
The BF: 1942 engine has built-in support for adding new weapons. This support allows you to put your additions and changes into new files instead of modifying and potentially ruining the existing game files. Instead of requiring you to edit the original files, the BF: 1942 engine allows you to make the following new files as additions: (“singleShotWeaponsmod.inc”, “multiShotWeaponsmod.inc”, and “AnimationStatesmod.con”).
**NOTE: The game engine will only recognize these three new filenames.
Because this weapon we are adding is a machine gun, we will use the “multiShotWeaponsmod.inc” file and not the “singleShotWeaponsmod.inc” file.
This line tells the BF: 1942 engine that a weapon named “M16” has animations.
The next step will take a few minutes because you need to gather lines of text that tweak the animations and how the camera will shake for this weapon.
The lines that you are copying are speed adjustments to the default speed of the animations that the M16 will use. For example, by changing these values you change the speed at which the reload animation will occur. Paste the copied lines into the “AnimationStatesMod.con” file you just created.
This particular file contains settings which define how the camera will shake when particular weapon is fired. There will be two lines with “Sg44” in them, but you need the 5 lines under each of those instances (for a total of 12 lines in this file).
**NOTE: This can be done easily with a text editor’s find/replace function.
STEP 5: Animation Files
Having finished the animation scripting, the next item to complete is the setup of the animation files that the game will use to bring the new weapon to life. This task entails copying directories and renaming files. The animation files are split up into different directories. Each directory name denotes the type of animations that are held inside.
**NOTE: In this tutorial we will work with the existing “SG44” animations. You are able to make new animations for your weapon using the Mod Development Animation Tool.
There are five main directories that you will need to work on: “Crouch”, “Lie”, “StandWalkRun”, “WeaponHandling”, and “Weapons”.
Four of these directories (all except the “Weapons” directory) have a subdirectory named “3P” (only the “StandWalkRun” and “WeaponHandling” directories have both the “1P” and “3P” subdirectories). Follow these steps for each main directory:
Follow the steps above for each of the main directories (“Crouch”, “Lie”, etc). Once these steps have been completed, you have created all the files necessary to animate your new weapon.
STEP 6: Adding the New Weapon to a Kit
The weapons in BF: 1942 are added into the game via kits. Each kit defines the weapons with which a particular class of soldier will start the game.
You will see a list of directories. These directory names are made up of the country they represent and the word “kit”. Pick the country (directory) to which the new weapon will be added. We will use “USKit” for this example.
There is another set of directories named for each class of soldier. We will add the new M16 to the Assault class.
You have now added a new weapon into BF: 1942. Once you put the “objects”, “animations” and “standardMesh” directories back into .rfa format, you can start BF: 1942 and test out the new weapon.
Go to Step by Step Tools, Step by Step Scripting, Advanced Step by Step Scripting, or Video Tutorials