Proto ID (Prototype ID, PID) — беззнаковое целое 32-битное число, идентификатор прототипа, уникальный параметр движка Fallout и Fallout 2, назначенный каждому объекту, предмету или существу. Proto ID является уникальным идентификатором, расположенном в начале любого PRO-файла, в котором определены все свойства любого объекта, используемого движком игры.
Структура[]
Proto ID представляет собой 32-битное число, который имеет формат 0xXX00YYYY, где XX — идентификатор объекта, 00 — зарезервировано (всегда 0x00), YYYY — индекс в соответствующем типу объекта LST-файле. Визуально это число выглядит следующим образом:
+-----------------------|-----------------------|-----------------------------------------------+ |31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00| +-----------------------|-----------------------|-----------------------------------------------+ | | | | | ------------------------- Индекс в LST-файл | ------------------------------------------------------------- Зарезервировано (заполнено 0x00) ------------------------------------------------------------------------------------- Тип объекта (ObjType)
Первый байт числа задаёт тип объекта, остальные три — индекс в соответствующем файле-списке. Всего существует 6 типов объектов:
Значение | Тип | Расположение | Размер PRO-файла, байты |
---|---|---|---|
0x00 | items (предметы) | proto/items | 129, 125, 122, 81, 69, 65, 61 |
0x01 | critters (существа) | proto/critters | 412 (Fallout), 416 (Fallout 2) |
0x02 | scenery (элементы пейзажа) | proto/scenery | 49, 45 |
0x03 | walls (стены) | proto/walls | 36 |
0x04 | tiles (плитки пола) | proto/tiles | 28 |
0x05 | misc (разное) | proto/misc | 28 |