mri-fivem-skills
All skills

mri-gta-assets

GTA V assets (models, textures, mods)

GTA V/FiveM 3D and stream files (cars, clothes, peds, weapons, animations, maps).

Knowledge validated in practice about the files the game uses for cars, clothes, peds, weapons, animations and maps. Module names cited (rpf.rs, ytd.rs, textures.rs, gtamods.rs, optimize.rs) belong to the reference implementation in Rust, in the MRI installer.

Subject Reference
RPF7, RSC7, pages, texture dictionary, other formats formats.md
Texture weight, DXT compression, downsizing, backup and undo textures.md
Single player mod to FiveM resource, data_file per meta mods.md

Real game names (look up, never guess)

Before writing a sound, animation, scenario, prop, ped, vehicle, weapon, particle, walk style or timecycle name, search the real one. Names from memory are often wrong or don't exist.

node scripts/gta-data.mjs list                       # categories
node scripts/gta-data.mjs sounds zip                 # UNZIP  FBI_01_SOUNDS (name, soundset)
node scripts/gta-data.mjs anims sit chair            # dictionary and matching clips
node scripts/gta-data.mjs props chair office

Rules that always apply

Not solved yet (by value)

  1. Textures embedded in .yft/.ydr (the model carries its own dictionary). Requires finding the dictionary inside the drawable structure and rebuilding the graphics section together with the vertex/index buffers that live there too.
  2. Downsizing a large DXT texture without smaller mips (needs decode, resize and re-encode; texpresso decodes BC1-BC5).
  3. Recovering page slack: the new file keeps the original page count (the table has no room to grow), wasting about 10 MB on a large car. Way out: move the page table to the end of the system section when there is room.
  4. Clothes showing in the shop, car audio (.awc, dlctext), Menyoo, animations (.ycd), maps (.ymap/.ytyp, .ybn collision).

Maintenance

A confirmed format, a new pitfall or a delivered feature: update the right reference (one or two lines). Offsets only go in after being validated on a real file.