WFoundation/WF.Compiler: Compiler for Wherigo cartridges (github.com)
driquet/gwcd (github.com)
Eine GWC-Datei besteht aus fünf Abschnitten
- Signatur
- Information zu den vorhandenen Dateien
- Header mit allgemeinen Information zur Cartridge
- Startkoordinate und Beschreibung des Startes
- Erstelldatum
- Art der Cartridge
- Name und ID des Spielers
- Name der Cartridge
- Beschreibung der Cartridge
- Version
- Autor und Firma
- Completion-Code
- LUA-Bytecode
- Dateien der Bilder, Töne, Texte
Der Byte-weise Aufbau ist wie in der folgenden Tabelle dargestellt. Hierbei gilt:
- Zahlen werden im Format “Little endian” abgespeichert
- Zeichenketten enden mit 0x00.
- Double-Zahlen werden im Format “double-precision floating point” abgespeichert
Hinweis: Earwigo hat im Header weitere Datenfelder eingebracht!
| Adresse | Länge | Inhalt | Bemerkung |
| @0000 | Beginn Signatur | ||
| 2 Byte | Version | 0x02 gefolgt von 0x0a oder 0x0b | |
| 4 Byte | CART | ||
| 1 Byte | 0x00 | ||
| @0007 | Anzahl der Objekte | ||
| 2 Byte | |||
| @0009 | ID und Adresse pro Objekt | jeweils 6 Byte pro Objekt | |
| 2 Byte | Objekt-ID | ||
| 4 Byte | Adresse des Objektes | ||
| @xxxx | Beginn des Header | @0009 + Anzahl Objekte * 6 Byte | |
| 4 Byte | Länge des Headers | ||
| 8 Byte | Latitude | ||
| 8 Byte | Longitude | ||
| 8 Byte | Altitude | ||
| 4 Byte | Datum der Erstellung | Sekunden seit dem 10.02.2004 01:00 | |
| 2 Byte | Objekt-ID des Splashscreen | -1 wenn kein Splashscreen | |
| 2 Byte | Objekt-ID des Icons | -1 wenn kein Icon | |
| ? Byte | Typ der Cartridge | Tour guide, Puzzle, etc. | |
| ? Byte | Name des Spieles | ||
| 4 Byte | Spieler-ID | ID aus der Groundspeak-Datenbank | |
| ? Byte | Name der Cartridge | ||
| ? Byte | GUID der Cartridge | ||
| ? Byte | Beschreibung der Cartridge | ||
| ? Byte | Beschreibung des Startpunktes | ||
| ? Byte | Version | ||
| ? Byte | Autor | ||
| ? Byte | Firma | ||
| ? Byte | Empfohlenes Gerät | Garmin Colorad, Windows PPC, etc. | |
| 4 Byte | Länge des Completion Codes | ||
| ? Byte | Completion Code | ||
| ? Byte | Zusätzliche Datenfelder von Earwigo; bspw. – Land – Region – Durchgespielt – Datum letztes Spiel – Datum Publish – Datum Update – Builder Version | ||
| @yyyy | Beginn der Dateien | @0009 + Anzahl Objekte * 6 Byte + Länge Header | |
| LUA-Bytecode | Objekt-ID = 0 | ||
| 4 Byte | Größe des LUA-Bytecode | ||
| ? Byte | LUA-Bytecode | ||
| @zzzz | Mediendateien | Objekt-ID = 1, 2, 3, … | |
| 1 Byte | gültiges Objekt | wenn 0, dann ist Objekt gelöscht | |
| 4 Byte | Objekt-Typ | 1 = BMP 2 = PNG 3 = JPG 4 = GIF 17 = WAV 18 = MP3 19 = FDL 20 = SND 21 = OGG 33 = SWF 49 = TXT | |
| 4 Byte | Größe des Objektes | ||
| ? Byte | Objektinhalt |