Wat is het PCF-bestandsformaat?
Een .pcf-bestand is een definitiebestand voor deeltjessystemen dat wordt gebruikt door de Source 1-engine van Valve. Games zoals Team Fortress 2, Portal 2, Left 4 Dead 2 en CS:GO slaan alle visuele deeltjeseffecten - explosies, mondingsvlammen, rook en vuur - op in .pcf-bestanden.
Het formaat maakt gebruik van Valve's DMX (Data Model Exchange) binaire serialisatie. Elk bestand begint met een nul-getermineerde ASCII-headerstring zoals <!-- dmx encoding binary_proto 5 format pcf 2 die de coderingsversie identificeert. Het bestand is georganiseerd in drie secties: een string-woordenboek, een element-woordenboek van getypeerde attribuut-waarde-paren en de databoom van het deeltjessysteem. Elk ParticleSystemDefinition-element verwijst naar operators, renderers, emitters, initializers en constraints op naam. Meerdere deeltjessystemen kunnen naast elkaar bestaan in één .pcf.
Voordat de Source-engine een .pcf tijdens runtime kan laden, moet het pad worden geregistreerd in particles_manifest.txt. De canonieke bewerkingstool is de Source Particle Editor die via Steam is gebundeld met de Valve SDK-tools.
Er bestaan vijf binaire formaatversies, van Binary 2 PCF 1 (The Orange Box, 2007) tot Binary 5 PCF 2 (Alien Swarm, 2010 en latere Source 1-games). Source 2-games - waaronder Dota 2, CS2 en Half-Life: Alyx - gebruiken in plaats daarvan .vpcf-tekstbestanden in KeyValues3-formaat, waardoor .pcf een exclusief Source 1-formaat is.
Beveiliging & veiligheid
RISICO: LOWPCF-bestanden zijn pure data (deeltjessysteemdefinities) en voeren geen code uit. Ze kunnen alleen worden „uitgevoerd” door de Source Engine; het openen ervan in de Particle Editor of een tekstverwerker is veilig. Kwaadaardige PCF-bestanden zouden theoretisch een parsing-fout in de Source Engine kunnen misbruiken, maar dergelijke CVE's zijn niet bekend. Download PCF-mods alleen van vertrouwde communitybronnen (Steam Workshop, gamebanana.com) om gebundelde malware in zip-archieven te vermijden.
Formaatdetails
in een notendop- Microsoft Source Profiler command file - db_name vermeldt dit onjuist - Microsoft Source Profiler (een Visual C++ tool uit de jaren 90) gebruikte ook .pcf; die tool is allang stopgezet en irrelevant voor huidig gebruik.
- PuTTY Configuration File - Sommige versies van PuTTY-sessie-exporters gebruikten .pcf voor geëxporteerde sessieconfiguraties.
- X11 Portable Compiled Font - Unix X Window System bitmap-lettertypebestanden; binair gecompileerde vorm van BDF-lettertypen. Gebruikt op Linux/BSD X-servers.
Programma's die PCF-bestanden openen
Technische details
diepe specificaties| Magic bytes | Nul-getermineerde ASCII-header beginnend met `<!-- dmx encoding binary_proto` op offset 0 |
| Byte-volgorde | Little-endian |
| Container | DMX (Valve Data Model Exchange) binaire serialisatie |
| Operator-architectuur | Elke `ParticleSystemDefinition` koppelt emitters, initializers, operators, krachten, constraints en renderers als getypeerde DMX-elementen |
| Build-tools | Source Particle Editor (onderdeel van Hammer/Source SDK op Steam) biedt live-preview WYSIWYG-creatie voor `.pcf`-bestanden |
| Typische grootte | 2 KB - 500 KB (eenvoudige effecten tot complexe bestanden met meerdere systemen) |
| Bestandsstructuur | Drie secties: string-woordenboek, element-woordenboek en deeltjessysteem-databoom |
| Bekende binaire versies | 5 versies: Binary 2 DMX 1 tot Binary 5 PCF 2; versie gecodeerd in de ASCII-headerstring |
| Huidige versie | Binary 5 PCF 2, gebruikt vanaf Alien Swarm (2010) tot de nieuwste Source 1-games |
| Manifest-vereiste | Pad moet worden vermeld in `particles_manifest.txt` voordat de Source-engine het bestand tijdens runtime kan laden |
| Ondersteuning voor meerdere systemen | Meerdere `ParticleSystemDefinition`-elementen kunnen naast elkaar bestaan in één bestand |
| Source 2-equivalent | `.vpcf` (tekst KeyValues3-formaat) gebruikt in Dota 2, CS2 en Half-Life: Alyx |
| Platformen | Windows, Linux, macOS (Steam/Source Engine-platformen) |
| Uitgebracht | 2007 (The Orange Box / Team Fortress 2 era; replaced hardcoded engine particles) |
| Laatste versie | Binary 5 PCF 2 (used since Alien Swarm, 2010); CS2/Source 2 uses VPCF (text) |
| Specificatie | developer.valvesoftware.com |
PCF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PCF-bestanden.