RF:G Editing Main Page: Difference between revisions

From Red Faction Wiki
m (Fixed a minor typo)
Line 236: Line 236:
* Command arguments [Placeholder]
* Command arguments [Placeholder]
* Scripts [Placeholder]
* Scripts [Placeholder]
* Updating <code>asm_pc</code> files [Placeholder]
* Updating <code>.asm_pc</code> files [Placeholder]


===Misc Notes===
===Misc Notes===

Revision as of 03:08, 22 April 2023

Rfg aim 09.jpg This page is part of the Red Faction: Guerrilla Editing Knowledgebase
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.

External Links

Community

Downloads

Documentation

Core Concepts

Red Faction: Guerrilla File Formats

  • .xtbl - XML table files are used to store properties or attributes in Red Faction: Guerrilla. Overall, their function is similar to the .tbl files of Red Faction and Red Faction II.
  • .scriptx - Internal script engine file, commonly used for missions and activities
  • .dtodx - Weather/lighting file for maps that controls things like fog, tint, ambient colour, eye adaption, bloom, cloud color and speed
  • .gtodx - Skybox file for maps that controls things like the sun texture, moon positions and if the horizon mountain texture is enabled
  • .vpp_pc - Packfile
  • .rigx - Rig
  • .str2_pc - Texture Packfile
  • .rfgzone_pc - Map zone
  • .layer_pc - Map zone
  • .cpeg_pc, cvbm_pc - Texture cpu file
  • .gpeg_pc, gvbm_pc - Texture gpu file
  • .asm_pc - Streaming index
  • .csmesh_pc - Static mesh cpu file
  • .gsmesh_pc - Static mesh gpu file
  • .ccmesh_pc - Character mesh cpu file
  • .gcmesh_pc - Character mesh gpu file
  • .ccar_pc - Vehicle mesh cpu file
  • .gcar_pc - Vehicle mesh gpu file
  • .anim_pc - Animation
  • .cchk_pc - Destructible object cpu file
  • .gchk_pc - Destructible object gpu file
  • .cefct_pc - Visual effect cpu file
  • .gefct_pc - Visual effect gpu file
  • .cfmesh_pc - Foliage mesh
  • .cstch - Terrain clutter mesh cpu file
  • .gstch - Terrain clutter mesh gpu file
  • .cterrain_pc - Terrain zone cpu file
  • .gterrain_pc - Terrain zone gpu file
  • .ctmesh_pc - Terrain subzone cpu file
  • .gtmesh_pc - Terrain subzone gpu file
  • .fsmib - Fullscreen map data
  • .fxo_kg - Shader
  • .le_strings - Steam localization strings
  • .rfglocatext - Localization strings
  • .mat_pc - Render material
  • .morph_pc - Animation Morph
  • .vint_doc - UI
  • .sim_pc - Cloth sim
  • .xgs_pc - Sound config
  • .xsb_pc - Soundbank
  • .xwb_pc - Wavebank
  • .aud_pc - Audio categories
  • .vf3_pc - Font
  • .vfdvp_pc - ?
  • .rfgvp_pc - ?

Red Faction: Guerrilla File Structure

\Red Faction Guerrilla Re-MARS-tered\data\

The two most important files for modding most of RF:G are misc.vpp_pc & table.vpp_pc

  • activities.vpp_pc - contains textures for singleplayer activities
  • anims.vpp_pc - contains animation files
  • chunks.vpp_pc - unknown use however contains .rfgchunkx files and seems to be related to the preload_chunks.xtbl file
  • cloth_sim.vpp_pc - contains cloth simulation files
  • decals.vpp_pc - contains decal textures
  • dlc01_l0.vpp_pc - singleplayer DLC map
  • dlc01_l1.vpp_pc - only contains a blank asm_pc file
  • dlc01_precache.vpp_pc - similar to mp_common.vpp_pc but for the singleplayer DLC map
  • dlcp01_activities.vpp_pc - contains textures for singleplayer DLC activities
  • dlcp01_anims.vpp_pc - contains animation files for singleplayer DLC
  • dlcp01_cloth_sim.vpp_pc - contains cloth simulation files for singleplayer DLC
  • dlcp01_effects.vpp_pc - contains visual effect files for singleplayer DLC, some are .str2
  • dlcp01_humans.vpp_pc - contains textures and meshes for characters in singleplayer DLC
  • dlcp01_interface.vpp_pc - contains textures for loading screens & thumbnails in singleplayer DLC
  • dlcp01_items.vpp_pc - contains textures and meshes for weapons, character props and misc objects in singleplayer DLC
  • dlc01_misc.vpp_pc - contains .rig_pc files, the .fsmib file and two .xtbl files for singleplayer DLC
  • dlc01_missions.vpp_pc - contains textures related to singleplayer DLC missions
  • dlcp01_personas_en_us.vpp_pc -
  • dlcp01_vehicles.vpp_pc - contains textures and meshes for singleplayer DLC vehicles
  • dlcp01_voices_en_us.vpp_pc -
  • dlcp02_interface.vpp_pc - contains textures for loading screens & thumbnails for multiplayer DLC
  • dlcp02_misc.vpp_pc -
  • dlcp03_interface.vpp_pc - contains textures for loading screens & thumbnails for wrecking crew DLC
  • dlcp03_misc.vpp_pc -
  • effects.vpp_pc - contains visual effect files, some are .str2
  • effects_mp.vpp_pc - contains multiplayer only visual effect files, some are .str2
  • humans.vpp_pc - contains textures and meshes for characters in both singleplayer and multiplayer
  • interface.vpp_pc - contains textures for loading screens & thumbnails in both SP and MP and character portraits in multiplayer
  • items.vpp_pc - contains textures and meshes for weapons, character props and misc objects in both singleplayer & multiplayer
  • items_mp.vpp_pc - contains multiplayer only textures and meshes
  • misc.vpp_pc contains .xtbl files and most other file types
  • missions.vpp_pc - contains textures for singleplayer missions
  • mp_common.vpp_pc - contains textures shared between multiplayer maps
  • mp_xxx.vpp_pc - multiplayer maps, excluding mp_common.vpp_pc
  • mpdlc_xxx.vpp_pc - DLC multiplayer maps
  • personas_de_de.vpp_pc -
  • personas_en_us.vpp_pc -
  • personas_es_es.vpp_pc -
  • personas_fr_fr.vpp_pc -
  • personas_it_it.vpp_pc -
  • personas_ru_ru.vpp_pc -
  • rfg_cine_00a.bik_xbox2 -
  • rfg_cine_01a.bik_xbox2 -
  • rfg_cine_02a.bik_xbox2 -
  • rfg_cine_03a.bik_xbox2 -
  • rfg_cine_03b.bik_xbox2 -
  • rfg_cine_04a.bik_xbox2 -
  • rfg_cine_05a.bik_xbox2 -
  • rfg_cine_06a.bik_xbox2 -
  • skybox.vpp_pc - contains textures for the skybox like the clouds
  • sounds_r.vpp_pc - contains .xmb_pc sound files
  • steam.vpp_pc -
  • table.vpp_pc - contains only .xtbl files and will overwrite .xtbl files in misc.vpp_pc
  • terr01_l0.vpp_pc - singleplayer map
  • terr01_l1.vpp_pc - singleplayer map
  • terr01_precache.vpp_pc - similar to mp_common.vpp_pc but for the singleplayer map
  • vehicles_r.vpp_pc - contains textures and meshes for singleplayer vehicles
  • voices_de_de.vpp_pc -
  • voices_en_us.vpp_pc -
  • voices_es_es.vpp_pc -
  • voices_fr_fr.vpp_pc -
  • voices_it_it.vpp_pc -
  • voices_ru_ru.vpp_pc -
  • wcxxx.vpp_c - wrecking crew maps
  • zonescript_dlc01.vpp_pc - contains .scriptx and .rfgzone_pc files for singleplayer DLC map
  • zonescript_terr01.vpp_pc - contains .scriptx and .rfgzone_pc files for singleplayer map
  • xxx.bik - pre-rendered custscenes

Scriptx Functions

Primitive data types & limits

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

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 .asm_pc files [Placeholder]

Misc Notes

  • When repacking .vpp_pc 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: items.vpp_pc, interface.vpp_pc, map files etc. See the table below:
Filename Alignment Compressed Condensed
ALL .str2 0 Yes Yes
MOST .vpp_pc 2048 No No
dlc01_precache.vpp_pc 2048 Yes No
dlcp01_misc.vpp_pc 2048 Yes No
misc.vpp_pc 2048 Yes No
mp_common.vpp_pc 2048 Yes No
steam.vpp_pc 2048 Yes No
terr01_precache.vpp_pc 2048 Yes No
zonescript_dlc01.vpp_pc 2048 Yes No
zonescript_terr01.vpp_pc 2048 Yes No
dlc01_l1.vpp_pc 0 No No
dlcp01_voices_en_us.vpp_pc 0 No No
dlcp02_misc.vpp_pc 0 Yes No
anims.vpp_pc 16 Yes Yes
table.vpp_pc 64 Yes Yes
skybox.vpp_pc 4096 No No
dlcp01_personas_en_us.vpp_pc 4096 No No

Red Faction: Guerrilla Tools

  • RfgUtil - Used for unpacking most file formats and updating .asm_pc files
  • Nanoforge C++ - Map editor, texture editor, .xtbl editor and more
  • mTools - Drag and drop tool to convert .asm_pc files to XML and vice versa
  • RSL - Script Loader
  • AsmTool- WIP Tool for modifying .asm_pc 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 .xdelta (binary) patches
  • XML Validator - Use this to validate .xtbl edits, any mistakes you make will crash the game
  • XML Formatter - Use this to format .xtbl files so they are easier to read
  • Mod Manager Re-mars-tered v1.03 - Legacy mod manager
  • Volition Table File Editor - GUI for editing .xtbl files
  • LUA Validator - Useful for validating RSL scripts for errors, note it's safe to ignore attempt to index a nil value (global 'rfg')

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 .xtbl files, set language as XML

Tutorials