Bitmaps · bei.pm

Geplaatst op 19-11-2015·Bijgewerkt op 13-02-2025·Nederlands
Deze tekst is automatisch vertaald door OpenAI GPT-4o Mini.

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.
Mogelijk is het een optimalisatie voor de render-code.

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:

  • 0x04 is ingesteld wanneer het om een 1bpp-afbeelding gaat.
  • 0x40 is ingesteld wanneer het om een afbeelding gaat die windowing moet implementeren.
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.

Beschermd woonmodule (Plymouth)