Что такое формат файла PCF?
Файл .pcf - это файл определения системы частиц, используемый движком Valve Source 1. Такие игры, как Team Fortress 2, Portal 2, Left 4 Dead 2 и CS:GO, хранят все визуальные эффекты частиц - взрывы, дульные вспышки, дым и огонь - в файлах .pcf.
Формат использует бинарную сериализацию Valve DMX (Data Model Exchange). Каждый файл начинается с ASCII-заголовка, заканчивающегося нулевым байтом, например <!-- dmx encoding binary_proto 5 format pcf 2, который идентифицирует версию кодировки. Файл разделен на три секции: словарь строк, словарь элементов из пар атрибут-значение и дерево данных системы частиц. Каждый элемент ParticleSystemDefinition ссылается на операторы, рендереры, эмиттеры, инициализаторы и ограничения по имени. В одном .pcf могут сосуществовать несколько систем частиц.
Прежде чем движок Source сможет загрузить .pcf во время выполнения, его путь должен быть зарегистрирован в particles_manifest.txt. Каноническим инструментом редактирования является Source Particle Editor, поставляемый в комплекте с инструментами Valve SDK через Steam.
Существует пять версий бинарного формата, от Binary 2 PCF 1 (The Orange Box, 2007) до Binary 5 PCF 2 (Alien Swarm, 2010 и более поздние игры на Source 1). Игры на Source 2 - включая Dota 2, CS2 и Half-Life: Alyx - используют текстовые файлы .vpcf в формате KeyValues3, что делает .pcf форматом только для Source 1.
Безопасность и защита
РИСК: LOWФайлы PCF являются чистыми данными (определениями систем частиц) и не исполняют код. Они могут быть только «запущены» движком Source; открытие их в Particle Editor или текстовом редакторе безопасно. Вредоносные файлы PCF теоретически могут использовать ошибку парсинга в Source Engine, но такие CVE неизвестны. Загружайте моды PCF только из доверенных источников сообщества (Steam Workshop, gamebanana.com), чтобы избежать вредоносного ПО, упакованного в zip-архивы.
Детали формата
в двух словах- Командный файл Microsoft Source Profiler - В db_name это указано ошибочно - Microsoft Source Profiler (инструмент Visual C++ 1990-х годов) также использовал .pcf; этот инструмент давно не выпускается и не имеет отношения к текущему использованию.
- Файл конфигурации PuTTY - Некоторые версии экспортеров сессий PuTTY использовали .pcf для экспортированных конфигураций сессий.
- X11 Portable Compiled Font - Файлы растровых шрифтов Unix X Window System; бинарная скомпилированная форма шрифтов BDF. Используется на X-серверах Linux/BSD.
Программы, открывающие файлы PCF
Технические подробности
глубокая спецификация| Магические байты | ASCII-заголовок, заканчивающийся нулевым байтом, начинающийся с `<!-- dmx encoding binary_proto` со смещением 0 |
| Порядок байтов | Little-endian |
| Контейнер | Бинарная сериализация DMX (Valve Data Model Exchange) |
| Архитектура операторов | Каждый `ParticleSystemDefinition` связывает эмиттеры, инициализаторы, операторы, силы, ограничения и рендереры как типизированные элементы DMX |
| Инструменты сборки | Source Particle Editor (часть Hammer/Source SDK в Steam) обеспечивает WYSIWYG-редактирование с предпросмотром в реальном времени для файлов `.pcf` |
| Типичный размер | 2 КБ - 500 КБ (от простых эффектов до сложных файлов с множеством систем) |
| Структура файла | Три секции: словарь строк, словарь элементов и дерево данных системы частиц |
| Известные бинарные версии | 5 версий: от Binary 2 DMX 1 до Binary 5 PCF 2; версия закодирована в строке ASCII-заголовка |
| Текущая версия | Binary 5 PCF 2, используется с Alien Swarm (2010) до последних игр на Source 1 |
| Требование манифеста | Путь должен быть указан в `particles_manifest.txt`, прежде чем движок Source сможет загрузить файл во время выполнения |
| Поддержка нескольких систем | Несколько элементов `ParticleSystemDefinition` могут сосуществовать в одном файле |
| Эквивалент в Source 2 | `.vpcf` (текстовый формат KeyValues3), используемый в Dota 2, CS2 и Half-Life: Alyx |
| Платформы | Windows, Linux, macOS (платформы Steam/Source Engine) |
| Выпущен | 2007 (The Orange Box / Team Fortress 2 era; replaced hardcoded engine particles) |
| Последняя версия | Binary 5 PCF 2 (used since Alien Swarm, 2010); CS2/Source 2 uses VPCF (text) |
| Спецификация | developer.valvesoftware.com |
Конвертации PCF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PCF.