Hvad er PCF-filformatet?
En .pcf-fil er en definitionsfil til partikelsystemer, der bruges af Valves Source 1-motor. Spil som Team Fortress 2, Portal 2, Left 4 Dead 2 og CS:GO gemmer alle visuelle partikeleffekter - eksplosioner, mundingsglimt, røg og ild - i .pcf-filer.
Formatet bruger Valves DMX (Data Model Exchange) binære serialisering. Hver fil begynder med en nul-termineret ASCII-headerstreng som f.eks. <!-- dmx encoding binary_proto 5 format pcf 2, der identificerer kodningsversionen. Filen er organiseret i tre sektioner: en streng-ordbog, en element-ordbog med typebestemte attribut-værdipar og partikelsystemets datatræ. Hvert ParticleSystemDefinition-element refererer til operatorer, renderere, emittere, initialisatorer og begrænsninger ved navn. Flere partikelsystemer kan eksistere side om side i én .pcf.
Før Source-motoren kan indlæse en .pcf under kørsel, skal dens sti være registreret i particles_manifest.txt. Det kanoniske redigeringsværktøj er Source Particle Editor, der følger med Valve SDK-værktøjerne via Steam.
Der findes fem binære formatversioner, fra Binary 2 PCF 1 (The Orange Box, 2007) til Binary 5 PCF 2 (Alien Swarm, 2010 og senere Source 1-spil). Source 2-spil - herunder Dota 2, CS2 og Half-Life: Alyx - bruger .vpcf tekstfiler i KeyValues3-format i stedet, hvilket gør .pcf til et format, der kun er til Source 1.
Sikkerhed og tryghed
RISIKO: LOWPCF-filer er rene data (partikelsystem-definitioner) og udfører ikke kode. De kan kun «køres» af Source Engine; det er sikkert at åbne dem i Particle Editor eller en teksteditor. Ondsindede PCF-filer kunne teoretisk udnytte en fejl i Source Engines parsing, men ingen sådanne CVE'er er kendt. Download kun PCF-mods fra betroede fællesskabskilder (Steam Workshop, gamebanana.com) for at undgå medfølgende malware i zip-arkiver.
Formatdetaljer
kort fortalt- Microsoft Source Profiler command file - db_name lister fejlagtigt dette - Microsoft Source Profiler (et værktøj til Visual C++ fra 1990'erne) brugte også .pcf; det værktøj er for længst udgået og irrelevant for nuværende brug.
- PuTTY Configuration File - Nogle versioner af PuTTY-sessions-eksportører brugte .pcf til eksporterede sessionskonfigurationer.
- X11 Portable Compiled Font - Unix X Window System bitmap-skrifttypefiler; binær kompileret form af BDF-skrifttyper. Bruges på Linux/BSD X-servere.
Programmer der åbner PCF-filer
Tekniske detaljer
dyb specifikation| Magic bytes | Nul-termineret ASCII-header, der starter med `<!-- dmx encoding binary_proto` ved offset 0 |
| Byte-orden | Little-endian |
| Container | DMX (Valve Data Model Exchange) binær serialisering |
| Operator-arkitektur | Hver `ParticleSystemDefinition` sammenkæder emittere, initialisatorer, operatorer, kræfter, begrænsninger og renderere som typebestemte DMX-elementer |
| Build-værktøjer | Source Particle Editor (en del af Hammer/Source SDK på Steam) giver live-preview WYSIWYG-redigering af `.pcf`-filer |
| Typisk størrelse | 2 KB - 500 KB (fra simple effekter til komplekse filer med flere systemer) |
| Filstruktur | Tre sektioner: streng-ordbog, element-ordbog og partikelsystemets datatræ |
| Kendte binære versioner | 5 versioner: Binary 2 DMX 1 til Binary 5 PCF 2; versionen er kodet i ASCII-headerstrengen |
| Nuværende version | Binary 5 PCF 2, brugt fra Alien Swarm (2010) til de nyeste Source 1-spil |
| Manifest-krav | Stien skal være angivet i `particles_manifest.txt`, før Source-motoren kan indlæse filen under kørsel |
| Understøttelse af flere systemer | Flere `ParticleSystemDefinition`-elementer kan eksistere i en enkelt fil |
| Source 2-ækvivalent | `.vpcf` (tekstbaseret KeyValues3-format) brugt i Dota 2, CS2 og Half-Life: Alyx |
| Platforme | Windows, Linux, macOS (Steam/Source Engine-platforme) |
| Udgivet | 2007 (The Orange Box / Team Fortress 2 era; replaced hardcoded engine particles) |
| Seneste version | Binary 5 PCF 2 (used since Alien Swarm, 2010); CS2/Source 2 uses VPCF (text) |
| Specifikation | developer.valvesoftware.com |
PCF-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PCF-filer.