Wat is een BLP-bestand?
Een BLP-bestand staat voor Blizzard Texture File en is een grafisch bestandsformaat dat door Blizzard Entertainment wordt gebruikt in populaire spellen zoals World of Warcraft, Warcraft III en Diablo. Het formaat is speciaal ontworpen om texturen efficiënt op te slaan en snel te laden tijdens het spelen. De bestanden bevatten niet alleen de pixelgegevens van een afbeelding, maar ook meerdere voorberekende versies van diezelfde afbeelding op kleinere schaal, de zogenaamde mipmaps. Hierdoor kan het spel de juiste textuurresolutie kiezen op basis van de afstand tot de camera, wat de prestaties ten goede komt. Het BLP-formaat is niet standaard te openen met gewone fotoviewers; je hebt specifieke software nodig om de inhoud te bekijken of te converteren.
Structuur en eigenschappen van het BLP-formaat
De interne opbouw van een BLP-bestand begint met een header die de versie aangeeft, meestal BLP1 of BLP2. In de header staat onder andere de kleurpalet: een tabel met maximaal 256 kleuren die elk zijn opgeslagen als BGRA 8888 (blauw, groen, rood en alfa). De eigenlijke beeldgegevens worden via indexen naar deze palet verwezen, of er wordt gebruikgemaakt van directe DXT-compressie. Een belangrijk kenmerk is de aanwezigheid van meerdere mipmaps. Dit zijn verkleinde versies van de oorspronkelijke textuur (bijvoorbeeld 512x512, 256x256, 128x128, enzovoort) die allemaal in hetzelfde bestand zijn opgeslagen. Daarnaast kan het bestand een alfakanaal bevatten voor transparantie. Die transparantie kan op twee manieren zijn opgeslagen: via de palet (8-bit alfa) of via een aparte alfa-kaart in DXT5.

Compressiemethoden in BLP-bestanden
BLP-bestanden maken gebruik van verschillende compressietechnieken om de bestandsgrootte te verkleinen zonder dat de kwaliteit te veel achteruitgaat. De keuze hangt af van de versie en de instellingen die de ontwikkelaar heeft gebruikt. De meest voorkomende methoden zijn:
- Paletgebaseerde compressie (8-bit): Elke pixel verwijst naar een index in een kleurenpalet van maximaal 256 kleuren. Dit bespaart ruimte, maar beperkt het kleurenpalet. Geschikt voor texturen met weinig kleurvariaties.
- DXT1 (Block Compression): Een compressiemethode die blokken van 4x4 pixels samenvat met twee hoofdkleuren en interpolatie. Bevat meestal 1-bit alfa (volledig transparant of volledig dekkend). Gebruikt voor texturen zonder complexe transparantie.
- DXT3: Vergelijkbaar met DXT1, maar met een expliciete 4-bit alfa-waarde per pixel. Biedt scherpere transparantieranden dan DXT1, maar iets groter bestand.
- DXT5: Gebruikt een interpolatiemethode voor alfa en twee extreme alfa-waarden per blok. Dit levert vloeiende transparantieovergangen op en is ideaal voor texturen zoals rook of glas.
De compressie wordt tijdens het laden door de spelengine direct gedecomprimeerd, zodat de prestaties optimaal blijven. Bij het bewerken van BLP-bestanden is het belangrijk te weten welke compressie wordt gebruikt; anders kunnen conversietools fouten geven of verlies van alfa veroorzaken.

Versies van het BLP-formaat
Het BLP-formaat heeft door de jaren heen een evolutie doorgemaakt. De bekendste versies zijn BLP0, BLP1 en BLP2. Hieronder vind je een overzicht van de belangrijkste verschillen:
| Versie | Maximale resolutie | Compressie | Gebruik |
|---|---|---|---|
| BLP0 / BLP1 | 512 x 512 pixels | Palet (8-bit) of DXT1 | Vroegere Blizzard-spellen, zoals Warcraft III: Reign of Chaos |
| BLP2 | 65.535 x 65.535 pixels | DXT1, DXT3, DXT5 plus palet | World of Warcraft, Warcraft III: The Frozen Throne en nieuwere titels |
Het onderscheid is belangrijk omdat BLP0/BLP1 een vaste maximale afmeting van 512 pixels hebben. BLP2 ondersteunt veel grotere texturen, wat in moderne spellen noodzakelijk is voor hoge resolutie. De header van een BLP2-bestand begint met de ASCII-code "BLP2", terwijl oudere versies "BLP1" of "BLP0" kunnen zijn. Sommige tools werken alleen met BLP2 en kunnen oudere bestanden niet lezen.

Hoe open je een BLP-bestand?
Omdat het BLP-formaat niet gangbaar is buiten de Blizzard-spelwereld, opent een standaard fotoviewer of browser het bestand niet. Je hebt speciale software nodig. Gelukkig zijn er verschillende gratis en betaalde opties beschikbaar. Een populair hulpmiddel is XnView, dat een plugin bevat voor BLP-bestanden. Hiermee kun je de texturen bekijken en converteren naar gangbare formaten zoals PNG of JPEG. Een andere optie is Addon Studio for World of Warcraft, een open-source tool die specifiek is ontwikkeld voor het beheren van add-ons en waarmee je ook BLP-bestanden kunt openen. Voor gebruikers die voornamelijk met Warcraft III werken, is er de BLP Converter van The Hive Workshop, die batchconversie ondersteunt. Voor een diepgravende technische uitleg kun je terecht op de wowdev Wiki, waar de volledige specificatie staat beschreven.
Het is aan te raden om altijd een back-up te maken van originele BLP-bestanden voordat je ze bewerkt, omdat sommige converters de compressie of de mipmaps kunnen wijzigen, wat in het spel tot fouten kan leiden.

Tips voor het werken met BLP-bestanden
Als je zelf texturen wilt aanpassen voor mods of custom maps, zijn er een paar aandachtspunten. Zorg ervoor dat de resolutie een macht van twee is (bijvoorbeeld 256x256, 512x512, 1024x1024). BLP vereist dat de afmetingen deelbaar zijn door 2; anders kunnen spelcrashes optreden. Houd ook rekening met het alfakanaal: als je transparantie gebruikt, controleer dan of de gekozen compressie (DXT3 of DXT5) die ondersteunt. DXT1 heeft slechts 1-bit alfa, dus vloeiende overgangen zijn niet mogelijk. Gebruik bij twijfel DXT5. Een veelgemaakte fout is het opslaan van een BLP-bestand met de verkeerde versie. Voor World of Warcraft is BLP2 vereist; voor oudere spellen zoals Warcraft III kun je beter BLP1 gebruiken. Meer informatie over de specificaties per spell versie vind je op Solvusoft, waar ook links naar converters staan.
Als je texturen van internet downloadt, controleer dan of de mipmaps correct zijn gegenereerd. Sommige tools voegen geen mipmaps toe, wat in het spel leidt tot schokkerige texturen op afstand. Gebruik een tool die mipmaps automatisch aanmaakt, zoals de BLP Converter van The Hive Workshop. Experimenteer ook met de paletcompressie: bij texturen met weinig kleuren (bijvoorbeeld UI-elementen) levert 8-bit palet een klein bestand op zonder kwaliteitsverlies. Bij foto-achtige texturen is DXT5 meestal beter.

Veelvoorkomende problemen en oplossingen
Sommige gebruikers melden dat een BLP-bestand niet kan worden geopend in XnView. Dit komt vaak doordat de plugin niet is geïnstalleerd of omdat het bestand een oudere BLP0-header heeft. Werk XnView bij naar de nieuwste versie of probeer een andere viewer zoals Addon Studio. Als je een foutmelding krijgt over ongeldige compressie, kan het zijn dat het bestand corrupt is of dat de tool de gebruikte DXT-variant niet ondersteunt. Een andere veelvoorkomende kwestie is dat na conversie de transparantie wegvalt. Controleer dan of je oorspronkelijke bestand een alfakanaal heeft en of de doelcompressie dat ondersteunt. Bij twijfel kun je het bestand eerst omzetten naar PNG, bewerken en dan opnieuw naar BLP converteren met de juiste instellingen.
Tot slot: wees voorzichtig met versienummers. Als je een BLP2-bestand probeert te openen in een tool die alleen BLP1 begrijpt, krijg je een fout. Gebruik een tool die beide versies ondersteunt, of lees de header met een hex-editor om te bepalen welke versie het is.
Bronnen
De informatie in dit artikel is gebaseerd op de volgende bronnen. Raadpleeg deze voor meer details en de laatste updates:
- wowdev Wiki – BLP-specificaties: https://wowdev.wiki/BLP
- Just Solve the File Format Problem – BLP: http://justsolve.archiveteam.org/wiki/BLP
- Solvusoft – BLP File Extension: https://www.solvusoft.com/en/file-extensions/file-extension-blp/
- The Hive Workshop – BLP Specifications WC3: https://www.hiveworkshop.com/threads/blp-specifications-wc3.279306/





