SkinID encoding

From LFS Manual
Revision as of 22:36, 10 February 2026 by Flame CZE (talk | contribs) (links)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to navigationJump to search

Skins in the game are prefixed by the car's identifier or SkinID, e.g. UF1. This SkinID is always encoded as 3 bytes, with an additional zero at the end. Mods, however, are identified by a 6-character hexadecimal string, e.g. DBF12E: this string is also encoded as 3 bytes + a zero.

Official cars

Official cars all have a SkinID composed of 3 letters/numbers, such as XRT or FZ5. They are encoded by simply converting each letter to the corresponding ASCII character value:

  • XRT = X-R-T = 88-82-84-0
  • FZ5 = F-Z-5 = 70-90-53-0

Mods

Mods are a little more involved: the 6-character hexadecimal string represents 3 hexadecimal numbers, where 2 characters fully define a byte. However, those 3 numbers are stored in reversed order:

  • DBF12E = DB-F1-2E = 219-241-46, which is encoded as 46-241-219-0

Usage

Several InSim packets contain the SkinID in compressed format, and you can get the corresponding string by converting the values using the opposite of the above examples. Such packets are: