Map Data Assets (.#map)

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.
6 Likes