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