The .#map file format (stored in rage::fwMapDataStore) is a PSO/RSC-style format expecting a CMapData (project-specific, inherits from rage::fwMapData) root element.
Formerly, this would be placed in a .#pl file. .#map is also known as .imap in North naming conventions.
The #map format has the following structure:
CMapData
fwMapData
| Field |
Type |
Description |
name |
string/hash |
Unused name of the map data file itself. |
parent |
string/hash |
Reference to the parent of the map data file, for LOD indexing. |
flags |
u32 |
… |
contentFlags |
u32 |
Flags describing the map data contents. See Content Flags. |
streamingExtentsMin |
Vec3V |
Streaming AABB, mins, determining when the box streamer should load the mapdata. |
streamingExtentsMax |
Vec3V |
Streaming AABB, maxs. |
entitiesExtentsMin |
Vec3V |
Entity AABB, mins. |
entitiesExtentsMax |
Vec3V |
Entity AABB, maxs. |
entities |
array of rage::fwEntityDef
|
Entities to create. |
containerLods |
|
|
boxOccluders |
|
Boxes used for occluding game world models (blocking rendering inside buildings). |
occludeModels |
|
Simplified models used for occluding game world models (blocking rendering below terrain). |
physicsDictionaries |
string/hash |
Models list with imbedded collisions used in this file. |
instancedData |
|
Instanced entities like grass or small rocks placed in separate #map file. |
entities
Object placement, rotation and additional features.
| Field |
Type |
Description |
| archetypeName |
string |
Name of the object defined in #typ files. |
| flags |
u32 |
Specific feature applied to this particular entity. |
| guid |
u32 |
Globally Unique Identifier, mostly unused in mods. |
| position |
Vec3V |
Position of entity, in x,y,z. |
| rotation |
Vec4V |
Rotation of entity in quaternions. |
| scaleXY |
float |
Scale of entity in X and Y axis. |
| scaleZ |
float |
Scale of entity in Z axis. |
| parentIndex |
int |
Index linkage to lower detailed entity in parent #map file. |
| lodDist |
float |
Draw distance of entity, in meters. |
| childLodDist |
float |
Draw distance of linked child entity, in meters. |
| lodLevel |
string |
LOD level type of entity, important for LOD linking. |
| numChildren |
int |
Value of linked children entities. |
| priorityLevel |
string |
Priority of drawing entites, especially used in GTAO to avoid unnecessary entities to load. |
| extensions |
array |
Additional particle/sound effects attached to archetypes. |
| ambientOcclusionMultiplier |
int |
Strength of ambient occlusion. |
| artificialAmbientOcclusion |
int |
Strength of artificial ambient occlusion, coming from lampposts, lights etc… |
| tintValue |
int |
Switches a row for tint palette texture. |
| groupId |
int |
Unknown usage. |
| floorId |
int |
Unknown usage. |
| defaultEntitySets |
array |
Group of entities enabled by default. |
| numExitPortals |
int |
Number of portals with roomTo value set to 0. |
| MLOInstflags |
int |
Attributes for MLO instance. |
CMapData
| Field |
Type |
Description |
timeCycleModifiers |
|
Modifies weather/lighting settings for specific area. |
carGenerators |
|
Allows to spawn vehicles spread in game world. |
LODLightsSOA |
|
Instanced low detailed lights spawned across the map. |
DistantLODLightsSOA |
|
Instanced distant low detailed lights spawned across the map, linked to LODLightsSOA. |
block |
CBlockDesc |
Metadata for this map block. |
Entity flags
flags
| Flag |
Decimal |
Meaning |
| 0x1 |
1 |
Allows full rotation for entity. |
| 0x2 |
2 |
Do not delete the entity during streaming cleanup (out-of-memory situations) even if the entity is invisible. Usually used for dynamic objects where deleting the entity would result in moving the object back to its original position. |
| 0x4 |
4 |
Disables embedded collision, works for entites using 0x20000/131072 archetype flag. |
| 0x8 |
8 |
Used for entities linking to another entity in parent #map file. |
| 0x10 |
16 |
Unknown usage. |
| 0x20 |
32 |
This flag enables a indestructibility for archetype, making it static for props. |
| 0x40 |
64 |
Unknown usage. |
| 0x80 |
128 |
Unknown usage. |
| 0x100 |
256 |
Unknown usage. |
| 0x200 |
512 |
Disables embedded light source for #dr models. |
| 0x400 |
1024 |
Unknown usage. |
| 0x800 |
2048 |
Unknown usage. |
| 0x1000 |
4096 |
Unknown usage. |
| 0x2000 |
8192 |
Unknown usage. |
| 0x4000 |
16384 |
Unknown usage. |
| 0x8000 |
32768 |
Unknown usage. |
| 0x10000 |
65536 |
Unknown usage. |
| 0x20000 |
131072 |
Unknown usage. |
| 0x40000 |
262144 |
Disable archetype extensions for #dr models. |
| 0x80000 |
524288 |
Unknown usage. |
| 0x100000 |
1048576 |
Unknown usage. |
| 0x200000 |
2097152 |
Unknown usage. |
| 0x400000 |
4194304 |
Disables sun shadow for entity. |
| 0x800000 |
8388608 |
Disables entity but sun shadow is casted. |
| 0x1000000 |
16777216 |
Entity will not cast reflections. |
| 0x2000000 |
33554432 |
Marks that entity is a interior proxy. |
| 0x4000000 |
67108864 |
Marks that entity doesn’t render in water reflections. |
| 0x8000000 |
134217728 |
Marks that entity is a reflection proxy. |
| 0x10000000 |
268435456 |
Unknown usage. |
| 0x20000000 |
536870912 |
Marks that entity is a mirror proxy. |
| 0x40000000 |
1073741824 |
Unknown usage. |
| 0x80000000 |
2147483648 |
Unknown usage. |
Flags
A bit mask of flags.
| Flag |
Decimal |
Meaning |
| 0x1 |
1 |
This flag forces file to be enabled/disabled by REQUEST_IPL native. |
| 0x2 |
2 |
This flag is set to determine LOD objects in entities array. |
Content Flags
A bit mask of flags.
| Flag |
Decimal |
Meaning |
| 0x1 |
1 |
This map contains physics instances. |
| 0x2 |
2 |
This map contains LOD entities. |
| 0x4 |
4 |
This map contains LOD entities type, as SLOD2 and higher. |
| 0x8 |
8 |
This map contains interior instance. |
| 0x10 |
16 |
This map contains SLOD1 entities type. |
| 0x20 |
32 |
This map contains box/model occluders. |
| 0x40 |
64 |
This map contains physics instances. |
| 0x80 |
128 |
This map contains LOD lights. |
| 0x100 |
256 |
This map contains distant LOD lights. |
| 0x200 |
512 |
This map is ‘critical’ and should be placed in the ‘critical’ box streamer slot. Used for maps with tall objects such as lamp posts and trees. |
| 0x400 |
1024 |
This map contains grass instances from instancedData in fwMapData. |
timeCycleModifiers
Weather modifier settings.
| Parameter |
Meaning |
| name |
Name of the modifier, taken from timecyc_mods_1-4 in update.rpf/common/data/timecycle |
| minExtents |
Bottom-left corner of bounding box |
| maxExtents |
Top-right corner of bounding box |
| percentage |
Strength of modifier |
| range |
Strength of modifier when close to the bounding box |
| startHour |
Modifier will be enabled at this hour |
| endHour |
Modifier will be disabled at this hour |
carGenerators
Vehicle placement.
| Parameter |
Meaning |
| position |
Position of vehicle placement, in x,y,z. |
| orientX |
|
| orientY |
|
| perpendicularLength |
Perpendicular length of placed vehicle. |
| carModel |
Vehicle name, randomly spawned while empty. |
| flags |
Special attributes for vehicle spawning. |
| bodyColorRemap1 |
Primary vehicle color, value taken from carcols.#mt
|
| bodyColorRemap2 |
Secondary vehicle color, value taken from carcols.#mt
|
| bodyColorRemap3 |
Teritary vehicle color, value taken from carcols.#mt
|
| bodyColorRemap4 |
Quaternary vehicle color, value taken from carcols.#mt
|
| popGroup |
Vehicle group name, choosing one of the vehicles defined in group, taken from popgroups.#mt
|
| livery |
Value of livery to be assinged on a vehicle, barely used. |
5 Likes