Table of Contents

GTA2

.gmp Dateiformat / Mapgeometrie

In den .gmp-Files ist bei GTA2 die Map-Geometrie gespeichert. In der unkomprimierten Variante sind sind die Dateien recht simpel aufgebaut:

Einfache .gmp im Hex-Editor

Im Editor:

Beispiel im Editor

Die ersten 14 Bytes bilden den Header. GBMP identifiziert die Datei als GBMP. f4 01 könnte die Dateiversion sein (?). UMAP bedeutet uncompressed map. Genauso gibt es auch noch CMAP, also compressed map (diese werden wohl einen Mechanismus wie “x Würfel leer” etc. besitzen). Was 00 00 60 00 bedeutet ist mir nicht klar.

Nach dem Header folgen die einzelnen “Pixel”. Eine Map besteht nur aus diesen Pixeln/Würfeln - eben wie bei einem normalen BMP/Bitmap. Die ersten 10 Byte bestehen aus 2-Byte-Blöcken die jeweils die Texturen der Würfelseiten definieren. a0 03 ist eigentlich Textur 03a0, also in dezimal Textur 928:

Texturbrowser mit Textur 928

Eine Textur-Id von 00 00 bedeutet keine Textur / transparent. Die letzten 2 Byte definieren eigenschaften des Würfels:

0-7 8-12 13-15
? Form ?

Weitere Würfel lassen sich - wie bei einem Bitmap - im Hex-Format einfach an die bestehenden Würfel anhängen. So erzeugt ein 3 Megabyte großer Klumpen einen Bildschirm voller Mist =):

Hex-Auszug:

Ordentlich copypasta

Resultat im Editor:

Ansicht im Eitor

Würde man nur zwei Würfel in die Datei schreiben gäbe es zwei Würfel entlang Achse 1. Ist diese Dimension “voll” gehts in der zweiten Reihe weiter, das Spielfeld wächst in richtig Achse 2. Ist eine Ebene voll gehts bei Achse 3 weiter - nicht mehr oder weniger als ein 3D-Bitmap mit festen Dimensionen.

Mehr zu GTA2