RF:G Map organization: Difference between revisions

From Red Faction Wiki
(Moved the map structure article from the RFG Toolset github wiki over to here. Not an identical article since a few things were made more terse or up to date.)
 
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{RFGEditing}}
This article shows the current understanding of how RFG organizes it's maps and how they work. There are still many unknowns so this is subject to change. The main campaign map is used as the primary example but the concepts discussed here should also apply to the DLC campaign map, multiplayer maps, and wrecking crew maps.
This article shows the current understanding of how RFG organizes it's maps and how they work. There are still many unknowns so this is subject to change. The main campaign map is used as the primary example but the concepts discussed here should also apply to the DLC campaign map, multiplayer maps, and wrecking crew maps.


Line 24: Line 26:
The blue axes and numbers are the world coordinates/position. This is the coordinate system used by the game for the position of objects. E.g. The position of the player, safehouses, vehicles, spawn nodes and more. World coords are defined slightly different than grid coords. Instead of x and y, world coords use x and z, with y being the vertical position of objects. (0,0) in world coords is just northeast of the tharsis wind farms in the center of the diagram. x and z increase going east and north respectively. Any point west of (0,0) will have a negative x value, and any point south of (0,0) will have a negative z value.
The blue axes and numbers are the world coordinates/position. This is the coordinate system used by the game for the position of objects. E.g. The position of the player, safehouses, vehicles, spawn nodes and more. World coords are defined slightly different than grid coords. Instead of x and y, world coords use x and z, with y being the vertical position of objects. (0,0) in world coords is just northeast of the tharsis wind farms in the center of the diagram. x and z increase going east and north respectively. Any point west of (0,0) will have a negative x value, and any point south of (0,0) will have a negative z value.


[[File:RFG_TerritoryDiagram_1.jpg|768px|link=]]
[[File:RFG_TerritoryDiagram_1.jpg|frameless|768px]]


The next diagram highlights each zone based on the district they're in.
The next diagram highlights each zone based on the district they're in.


[[File:RFG_TerritoryDiagram_2.jpg|768px|link=]]
[[File:RFG_TerritoryDiagram_2.jpg|frameless|768px|]]


The final diagram is the same as the previous but zones that you can't enter in the vanilla game are greyed out.
The final diagram is the same as the previous but zones that you can't enter in the vanilla game are greyed out.


[[File:RFG_TerritoryDiagram_3.jpg|768px|link=]]
[[File:RFG_TerritoryDiagram_3.jpg|frameless|768px|]]


==Map editing==
==Map editing==
Map editing is not yet possible for RFG. Attempts so far have failed but it is a high priority for the modding community so more attempts will likely be made soon.
* [https://github.com/Moneyl/Nanoforge/releases Nanoforge C++] - Map editor, texture editor, .xtbl editor and more

Latest revision as of 06:02, 2 March 2023

Rfg aim 09.jpg This page is part of the Red Faction: Guerrilla Editing Knowledgebase
Editing Main Page


This article shows the current understanding of how RFG organizes it's maps and how they work. There are still many unknowns so this is subject to change. The main campaign map is used as the primary example but the concepts discussed here should also apply to the DLC campaign map, multiplayer maps, and wrecking crew maps.

Core concepts

Territories

Territories are essentially a map. The main campaign map, the DLC campaign map, and all of the wrecking crew and MP maps have their own territories. These are defined in misc.vpp_pc/territories.xtbl. The main map is territory 1, often abbreviated as terr01. Note the files terr01_l0.vpp_pc, terr01_l1.vpp_pc and zonescript_terr01.vpp_pc all have some files which make up terr01. It's not known how the game determines which vpp_pc files to search for zone data.

Districts

Districts represent sectors in game such as Dust, Parker, or Eos. They have morale, control, and tech level values. They're defined in territories.xtbl as part of each territory definition. MP and WC maps only have one district since they're all much smaller than the main campaign map.

Zones

Zones are one of the most important parts of a territory. They are 511x511 (world units, see diagrams) squares which can be streamed in or discarded as you move around the campaign map. Each zone has a set of objects which make up the contents of the map such as buildings, mission nodes, and spawn points. They are represented by rfgzone_pc files. Most zones for terr01 can be found in zonescript_terr01.vpp_pc along with some mission and activity scripts. Nanoforge can be used to view the properties of zone objects, but editing isn't supported yet.

The zone format is mostly understood, but there are some unknowns. For example, some zones have two zone files. One prefixed with p_. One theory is that they might be "persistent zones" with objects that always regenerate. This is untested.

Layers

Layers are another part of maps which aren't well understood. They're found in layer_pc file which are identical to rfgzone_pc files but with one data section omitted. Missions and activities all have layer files, found inside the str2_pc files in activities.vpp_pc and missions.vpp_pc. Due to this it may be that layers are simply zone data that gets "layered" on top of existing zones during missions and activities. This hasn't been explored in detail yet.

Diagrams

Some diagrams have been made as visual aids. Right click an image and select "View image" to see them in full detail.

The first diagram shows a few things. First, notice the orange grid. This is the grid that makes up territory 1, with each grid cell being a zone. Many of these zones don't actually exist and don't have zone files. Each cell on the zone grid has an x and y coordinate. On the zone grid, x and y are 0,0 in the top left corner, and increase going right and down, respectively. The names of zone files have their grid coordinates. So, for example, the tutorial zone file is `terr01_03_12.rfgzone_pc`, and grid coords of the tutorial zone are (3,12).

The blue axes and numbers are the world coordinates/position. This is the coordinate system used by the game for the position of objects. E.g. The position of the player, safehouses, vehicles, spawn nodes and more. World coords are defined slightly different than grid coords. Instead of x and y, world coords use x and z, with y being the vertical position of objects. (0,0) in world coords is just northeast of the tharsis wind farms in the center of the diagram. x and z increase going east and north respectively. Any point west of (0,0) will have a negative x value, and any point south of (0,0) will have a negative z value.

RFG TerritoryDiagram 1.jpg

The next diagram highlights each zone based on the district they're in.

RFG TerritoryDiagram 2.jpg

The final diagram is the same as the previous but zones that you can't enter in the vanilla game are greyed out.

RFG TerritoryDiagram 3.jpg

Map editing

  • Nanoforge C++ - Map editor, texture editor, .xtbl editor and more