Map Types Assets (.#typ)

The .#typ file format (stored in rage::fwMapTypesStore) is a PSO/RSC-style format expecting a CMapTypes (project-specific, inherits from rage::fwMapTypes) root element.

Formerly, this would be placed in a .ide file. .#typ is also known as .ityp in North naming conventions.

The #typ format has the following structure:

CMapTypes

Field Type Description
extensions array Additional particle/sound effects attached to archetypes.
archetypes array Objects definitions.
name string Unused name of the archetype data file itself.
dependencies array Unused structure
compositeEntityTypes array Used for destroyable objects generated by RayFire middleware tool.

archetypes

Field Type Description
lodDist value Draw distance of archetype, in meters.
flags u32 Attributes for archetype
specialAttribute u32 Additional attrubites for archetype
bbMin Vec3V Bottom-left corner of bounding box
bbMax Vec3V Upper-right corner of bounding box
bbCentre Vec3V Center point of bounding box
bbRadius value Radius of bounding sphere, in meters
hdTextureDist value Draw distance of high quality textures (+hidr/+hifr), in meters
name string Name of archetype
textureDictionary string Name of texture dictionary file (#td)
clipDictionary string Name of animations file (#cd)
drawableDictionary string Name of set of drawable objects (#dd)
physicsDictionary string Name of archive or archetype itself with embedded collision (formerly stored in #bd file)
assetType string Type of archetype asset
assetName string Name of archetype, same as name parameter
extensions array Additional particle/sound effects attached to archetypes.

CMloArchetypeDef

Shares the content of archetypes and entities placed using local-space coords plus additional fields.

Field Type Description
mloFlags int Flags for multi level objects, not researched.

rooms

A place with objects with disabled rendering of main map.

Field Type Description
name string Name of the room.
bbMin Vec3V Bottom-left corner of bounding box, may be unused by game.
bbMax Vec3V Upper-right corner of bounding box, may be unused by game.
blend int Unknown usage
timecycleName string Name of weather modifier.
secondaryTimecycleName string Name of second weather modifier.
flags int Attributes for rendering/game logic features.
portalCount int Amount of portals for this room.
floorId int Determines if room is on the ground floor or higher.
exteriorVisibiltyDepth int Unknown usage.
attachedObjects int An index of objects used in this room.

flags

Flag Decimal Meaning
0x1 1 Unknown usage.
0x2 2 Unknown usage.
0x4 4 Unknown usage.
0x8 8 Unknown usage.
0x10 16 Unknown usage.
0x20 32 This flag enables a indestructibility for archetype, making it static for props.
0x40 64 Unknown usage.
0x80 128 This flag is used in instanced archetypes, used in instancedData in #map files.
0x100 256 Unknown usage.
0x200 512 This flag is used in archetypes with bones inside models.
0x400 1024 This flag is used in archetypes with UV animations.
0x800 2048 Unknown usage.
0x1000 4096 Unknown usage.
0x2000 8192 This flag disables shadow casting.
0x4000 16384 Unknown usage.
0x8000 32768 Unknown usage.
0x10000 65536 This flag enables double-sided rendering.
0x20000 131072 This flag enables a destructibility for archetype, making it dynamic for props. Needed for GET_CLOSEST_OBJECT_OF_TYPE native.
0x40000 262144 Unknown usage.
0x80000 524288 Unknown usage.
0x100000 1048576 Unknown usage.
0x200000 2097152 Unknown usage.
0x400000 4194304 Unknown usage.
0x800000 8388608 Unknown usage.
0x1000000 16777216 Unknown usage.
0x2000000 33554432 Unknown usage.
0x4000000 67108864 This flag enables special atribute for door archetypes.
0x8000000 134217728 Unknown usage.
0x10000000 268435456 This flag disables red vertex channel for object.
0x20000000 536870912 This flag disables green vertex channel for object.
0x40000000 1073741824 This flag disables blue vertex channel for object.
0x80000000 2147483648 This flag disables alpha vertex channel for object.
3 Likes

CBaseArchetypeDef flag 131072

Are required on props to get picked up by the native:

CTimeArchetypeDef

Shares the content of archetypes plus additional fields
Most commonly used on emissive models placed in the outside world with the timeFlags value set to "31457407"

Field Type Description
timeFlags ? Controls at what time of the day the asset should be active
1 Like