RF:G Editing Main Page

This will serve as a landing page for all resources related to Red Faction: Guerrilla editing, including both the original Steam Edition and the Re-Mars-tered Edition.

Community

 * Faction Files Community Discord - Active Red Faction series community Discord with #map-mod-development channel for community development discussion

Downloads

 * FactionFiles.com - Custom mods, tools, patches, and reference material
 * Nexus Mods - Custom mods
 * Nexus Mods Re-Mars-tered - Custom mods

Documentation

 * RF:G Map organization
 * Nanoforge basics
 * Zone file format docs - Describes the zone format used by RFG in more detail

Core Concepts

 * Red Faction: Guerrilla's level editor is CLOE, which is not publicly available.

Red Faction: Guerrilla File Formats

 * - XML table files are used to store properties or attributes in Red Faction: Guerrilla. Overall, their function is similar to the  files of Red Faction and Red Faction II.
 * - Internal script engine file, commonly used for missions and activities
 * - Weather/lighting file for maps that controls things like fog, tint, ambient colour, eye adaption, bloom, cloud color and speed
 * - Skybox file for maps that controls things like the sun texture, moon positions and if the horizon mountain texture is enabled
 * - Packfile
 * - Rig
 * - Texture Packfile
 * - Map zone
 * - Map zone
 * - Texture cpu file
 * - Texture gpu file
 * - Streaming index
 * - Static mesh cpu file
 * - Static mesh gpu file
 * - Character mesh cpu file
 * - Character mesh gpu file
 * - Vehicle mesh cpu file
 * - Vehicle mesh gpu file
 * - Animation
 * - Destructible object cpu file
 * - Destructible object gpu file
 * - Visual effect cpu file
 * - Visual effect gpu file
 * - Foliage mesh
 * - Terrain clutter mesh cpu file
 * - Terrain clutter mesh gpu file
 * - Terrain zone cpu file
 * - Terrain zone gpu file
 * - Terrain subzone cpu file
 * - Terrain subzone gpu file
 * - Fullscreen map data
 * - Shader
 * - Steam localization strings
 * - Localization strings
 * - Render material
 * - Animation Morph
 * - UI
 * - Cloth sim
 * - Sound config
 * - Soundbank
 * - Wavebank
 * - Audio categories
 * - Font

Red Faction: Guerrilla File Structure
\Red Faction Guerrilla Re-MARS-tered\data\

The two most important files for modding most of RF:G are  &


 * - contains textures for singleplayer activities
 * - contains animation files
 * - contains  files and seems to be related to the   file, it's possible to add them to a map using the correct   &   numbers. Game might also spawn   or   if a mesh fails to load.
 * - contains cloth simulation files
 * - contains decal textures
 * - singleplayer DLC map
 * - only contains a blank  file
 * - similar to  but for the singleplayer DLC map
 * - contains textures for singleplayer DLC activities
 * - contains animation files for singleplayer DLC
 * - contains cloth simulation files for singleplayer DLC
 * - contains visual effect files for singleplayer DLC, some are
 * - contains textures and meshes for characters in singleplayer DLC
 * - contains textures for loading screens & thumbnails in singleplayer DLC
 * - contains textures and meshes for weapons, character props and misc objects in singleplayer DLC
 * - contains  files, the   file and two   files for singleplayer DLC
 * - contains textures related to singleplayer DLC missions
 * - contains textures and meshes for singleplayer DLC vehicles
 * - contains textures for loading screens & thumbnails for multiplayer DLC
 * - contains textures for loading screens & thumbnails for wrecking crew DLC
 * - contains visual effect files, some are
 * - contains multiplayer only visual effect files, some are
 * - contains textures and meshes for characters in both singleplayer and multiplayer
 * - contains textures for loading screens & thumbnails in both SP and MP and character portraits in multiplayer
 * - contains textures and meshes for weapons, character props and misc objects in both singleplayer & multiplayer
 * - contains multiplayer only textures and meshes
 * contains  files and most other file types
 * - contains textures for singleplayer missions
 * - contains textures shared between multiplayer maps
 * - multiplayer maps, excluding
 * - DLC multiplayer maps
 * - contains textures for the skybox like the clouds
 * - contains  sound files
 * - contains only  files and will overwrite   files in
 * - singleplayer map
 * - singleplayer map
 * - similar to  but for the singleplayer map
 * - contains textures and meshes for singleplayer vehicles
 * - wrecking crew maps
 * - contains  and   files for singleplayer DLC map
 * - contains  and   files for singleplayer map
 * - pre-rendered custscenes
 * - contains textures for the skybox like the clouds
 * - contains  sound files
 * - contains only  files and will overwrite   files in
 * - singleplayer map
 * - singleplayer map
 * - similar to  but for the singleplayer map
 * - contains textures and meshes for singleplayer vehicles
 * - wrecking crew maps
 * - contains  and   files for singleplayer DLC map
 * - contains  and   files for singleplayer map
 * - pre-rendered custscenes
 * - singleplayer map
 * - singleplayer map
 * - similar to  but for the singleplayer map
 * - contains textures and meshes for singleplayer vehicles
 * - wrecking crew maps
 * - contains  and   files for singleplayer DLC map
 * - contains  and   files for singleplayer map
 * - pre-rendered custscenes
 * - wrecking crew maps
 * - contains  and   files for singleplayer DLC map
 * - contains  and   files for singleplayer map
 * - pre-rendered custscenes
 * - contains  and   files for singleplayer map
 * - pre-rendered custscenes

Scriptx Functions

 * .scriptx functions

Primitive data types & limits

 * Floats (floating decimal points): Max value  and move the decimal place right 38 times. Examples:
 * Integer (whole number that could hold a zero, positive or negative value): Max value
 * Boolean (truth value with two constants objects True and False, basically a toggle to enable or disable something using "true" or "false"): Examples:
 * String (represents a sequence or characters/text): Example:

sounds_r.vpp_pc Info

 * S16 = Signed 16 bit
 * LE = Little endian
 * 2CH = 2 channels (stereo)

* destruction.xwb_pc - unknown * dlc01_voc_d01offcam.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01dan.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm01.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm02.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm03.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm04.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm05.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01msm06.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01rfc.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01sam_pcm01.xwb_pc.en_us.xwb_pc - unknown * dlc01_voc_spe_d01vasha_safe.xwb_pc.en_us.xwb_pc - unknown * mov_foley.xwb_pc - unknown * mov_jet_pack.xwb_pc - unknown * mov_male.xwb_pc - unknown * mov_npc_male.xwb_pc - unknown * mp_backpacks.xwb_pc - S16, LE, 2CH. Intermittent static starting ~28sec * mp_wep.xwb_pc - S16, LE, 2CH. Static at start and end * mus_briefings.xwb_pc - S16, LE, 2CH. * mus_demomaster.xwb_pc - S16, LE, 2CH. * mus_frontend.xwb_pc - S16, LE, 2CH. * mus_multiplayer.xwb_pc - S16, LE, 2CH. * mus_progression_01.xwb_pc - S16, LE, 2CH. Static at start, may be header * mus_progression_02.xwb_pc - S16, LE, 2CH. * mus_progression_03.xwb_pc - S16, LE, 2CH. * mus_sting.xwb_pc - S16, LE, 2CH. * obj_shared_ambient.xwb_pc - unknown * obj_shared_dth.xwb_pc - unknown * obj_shared_exp.xwb_pc - unknown * obj_shared_impact.xwb_pc - unknown * scripted_raids.xwb_pc - unknown * system.xwb_pc - S16, LE, 2CH. Mostly static, valid sound in middle * system_mp.xwb_pc - unknown * veh_civ_bus.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_car1.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_car2.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_car3.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_flat.xwb_pc - unknown * veh_civ_flat2.xwb_pc - unknown * veh_civ_fuel.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_hauler.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_taxi.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_trash.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_civ_walker.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_aax.xwb_pc - S16, LE, 2CH. Mostly static, some valid sound at end. * veh_edf_abx.xwb_pc - S16, LE, 2CH. Mostly static, some valid sound at end. * veh_edf_apc.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_atank.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_htank.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_mtank.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_scout.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_staff.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_staffh2h.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_edf_supply.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_mar_jetter.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_mar_raider.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_atv.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_bull.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_dtruck.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_etruck.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_jetter.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_pickup.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_rover.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_roverwk.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_supply.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_supplyrt.xwb_pc - unknown * veh_min_wlklg.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_min_wlkmd.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * veh_shared.xwb_pc - S16, LE, 2CH. Some static, some valid sound. * walla.xwb_pc - unknown * weather.xwb_pc - S16, LE, 2CH. * wep_rfg.xwb_pc - S16, LE, 2CH. Mostly valid, some static

RfgUtil Guide

 * Unpacking [Placeholder]
 * Repacking [Placeholder]
 * Command arguments [Placeholder]
 * Scripts [Placeholder]
 * Updating  files [Placeholder]

Misc Notes

 * When repacking  files don't compress and/or condense them if they weren't like that in the vanilla game, it will cause the game to crash. Eg: ,  , map files etc. See the table below:
 * overwrites changes to  files in  . The work around for this with the legacy mod manager is to rename the file however this breaks multiplayer and reduces the stability of the game. You should edit the same   files in both   &.

Red Faction: Guerrilla Tools

 * RfgUtil - Used for unpacking most file formats and updating  files
 * Nanoforge C++ - Map editor, texture editor,  editor and more
 * mTools - Drag and drop tool to convert  files to XML and vice versa
 * RSL - Script Loader
 * AsmTool- WIP Tool for modifying  files used by Red Faction Guerrilla. This is meant to replace hand editing them, which is very error prone and tedious
 * SyncFaction - WIP tool for automatically installing the Terraform Patch and eventually replacing the old mod manager
 * xdelta UI - GUI for generating  (binary) patches
 * XML Validator - Use this to validate  edits, any mistakes you make will crash the game
 * XML Formatter - Use this to format  files so they are easier to read
 * Mod Manager Re-mars-tered v1.03 - Legacy mod manager
 * Volition Table File Editor - GUI for editing  files
 * LUA Validator - Useful for validating RSL scripts for errors, note it's safe to ignore

Useful Software

 * Voidtools Everything - Locate files and folders by name instantly
 * Agent Ransack - Bulk search for keywords within unpacked files
 * Notepad++ - Good text editor for manually editing  files, set language as XML

Tutorials

 * Nanoforge basics - Introduction to Nanoforge and its features.
 * Nanoforge xtbl editing - How to edit .xtbl files in Nanoforge.
 * Nanoforge Texture Editing - How to edit textures using Nanoforge.