Bitmaps · bei.pm
De op deze pagina beschreven bestandsformaten zijn gebaseerd op de technische analyse van intellectueel eigendom van Dynamix, Inc. en Sierra Entertainment.
Het intellectueel eigendom maakt vandaag de dag deel uit van de massa van Activision Publishing, Inc. / Activision Blizzard, Inc. en is momenteel in bezit van Microsoft Corp..
De informatie is verzameld door middel van Reverse Engineering en data-analyse met als doel archivering en interoperabiliteit met historische gegevens.
Er zijn geen eigendomsrechtelijke of vertrouwelijke specificaties gebruikt.
Het spel is momenteel verkrijgbaar als download op gog.com.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | teken | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Gegevenstype | Benaming | Uitleg |
---|---|---|---|
0x0000 | uint(32) | Uitgelijnde breedte | Geeft de breedte van de pixelgegevensrijen in bytes aan - aangezien deze zijn uitgelijnd op de 4-byte grenzen. Op deze manier is het snel mogelijk om een bepaalde beeldrij te bereiken. Waarom deze waarde apart wordt opgeslagen, hoewel deze berekend zou kunnen worden, is onduidelijk. |
0x0004 | uint(32) | Offset | Geeft de offset van de eerste regel in de bitmap aan |
0x0008 | uint(32) | Hoogte | Geeft de hoogte van de afbeelding in pixels aan |
0x000c | uint(32) | Breedte | Geeft de breedte van de afbeelding in pixels aan |
0x0010 | uint(16) | Typ | Geeft het type afbeelding aan. Dit lijkt een bitmasker te zijn:
|
0x0012 | uint(16) | Palet | Definieert welke palet uit het PRT-bestand moet worden gebruikt |
Deze datastructuur van het PRT-bestand geeft aan hoe de bitmapafbeeldingen die voor de sprites worden gebruikt zijn opgebouwd. Deze bitmaps dienen als afzonderlijke onderdelen, waarvan er meerdere worden samengevoegd tot een animatieframe van een sprite.
De specifieke afbeeldingsgegevens bevinden zich daarentegen in de
op2_art.BMP in de spelmap.
Waarom dit bitmapbestand beschikt over een (overwegend correcte) RIFF-bitmapheader, is onduidelijk. Waarschijnlijk gebruikt Outpost 2 systeem-API's om de graphics te laden, door deze header tijdelijk over te nemen en de bijbehorende, variërende velden te overschrijven.
De pixelgegevens zijn in het BMP-bestand te vinden op de positie Offset + de uint32-offset, die in het BMP-bestand op adres 0x000A te vinden is (RIFF-bitmapgegevensoffset), en komen overeen met de regelmatige indeling van linksboven naar rechtsonder.
Monochrome 1bpp-graphics kunnen zo worden getekend, dat kleur 0 volledige transparantie heeft, terwijl kleur 1 een semi-transparant zwart/grijs is, aangezien de monochrome graphics doorgaans worden gebruikt voor voertuig- en gebouwschaduwen in de animaties.
Dit stelt je in staat om al veel graphics samen te stellen.