30.05.2013, 17:43
(Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2013, 18:01 von Borbaradwurm.)
DDT-Header (4 Byte)
2 Byte Integer (unsigned) = realtives Offset der Türen-Liste
2 Byte Integer (unsigned) = realtives Offset der Treppen-Liste
DNG-Ebene (320 Byte)
256 Byte Feld [16*16 Byte] des Ebenen-Status look-up-table der pseudo-3D Ansicht
Linkes Nybble:
[Wert = Was? (verwendete Sprite-Indexe der Dungeonskin-Texturen (SHIPSL.NVF, STONESL.NVF und MARBLE.NVF)/begehbar?/Farbe im Automap (HTML-Notation)]
0x0 = Gang (-/ja/#282828)
0x1 = geschlossene Tür (22-36/nein/#821400)
0x2 = geöffnete Tür (22-36, 54/ja/#821400)
0x3 = Treppe/Leiter runter (48-50/ja/#0000FF)
0x4 = Treppe/Leiter rauf (45-47/ja/#00FFFF)
0x5 = ausgelöste Fallgrube in der Raumdecke (41-44/ja/#00FF00)
0x6 = ausgelöste Fallgrube im Fußboden (37-40/ja/#3C7D3C)
0x7 = Blocker-Sprite (51-53/nein/#FF0000)
0x8 = Schatztruhe (55-57/nein/#9E4D00)
0x9 = eingeschlagene Tür (22-36, 54/ja/#821400)
0xA = noch nicht geöffnete/gefundene Geheimtür (3-21/nein/#FF0000)
0xB = Illusionswand (3-21/ja/#FF0000)
0xC = Gang, als Wand im Automap, verwendet in F051.DNG ("Spinnenhöhle") (-/ja/#FF0000)
0xD = Gang, als Wand im Automap, nicht verwendet? (-/ja/#FF0000)
0xE = Gang, als Wand im Automap, nicht verwendet? (-/ja/#FF0000)
0xF = Wand (3-21/nein/#FF0000)
Rechtes Nybble: Funktion unbekannt
64 Byte Feld [32*16 Bit] true = Automap aufgedeckt, false: Automap nicht aufgedeckt = false.
Achtung: jede Zeile dieses Feld ist 32 Bit breit obwohl das Ebenenlayout selbst nur 16 Byte breit ist, es werden also nur die ersten zwei Byte benutzt. Dies ist bei den DAT-Dateien der Städte genauso, wobei nur bei den "großen Städte" (PHEXCAER.DAT, PREM.DAT und THORWAL.DAT) das gesamte Feld benutzt wird.
Im übrigen gibt es wohl eine Logik nach welcher bestimmte Dateien in die Savegame-Dateien (die Dateien aus dem TEMP-Verzeichnis DAT/DNG/NPC usw.) kopiert werden. Wenn diese Logik entschlüsselt ist wäre es möglich z.B. in einem Savegameeditor das Automap einer Stadt oder Dungeons aufzudecken.
2 Byte Integer (unsigned) = realtives Offset der Türen-Liste
2 Byte Integer (unsigned) = realtives Offset der Treppen-Liste
DNG-Ebene (320 Byte)
256 Byte Feld [16*16 Byte] des Ebenen-Status look-up-table der pseudo-3D Ansicht
Linkes Nybble:
[Wert = Was? (verwendete Sprite-Indexe der Dungeonskin-Texturen (SHIPSL.NVF, STONESL.NVF und MARBLE.NVF)/begehbar?/Farbe im Automap (HTML-Notation)]
0x0 = Gang (-/ja/#282828)
0x1 = geschlossene Tür (22-36/nein/#821400)
0x2 = geöffnete Tür (22-36, 54/ja/#821400)
0x3 = Treppe/Leiter runter (48-50/ja/#0000FF)
0x4 = Treppe/Leiter rauf (45-47/ja/#00FFFF)
0x5 = ausgelöste Fallgrube in der Raumdecke (41-44/ja/#00FF00)
0x6 = ausgelöste Fallgrube im Fußboden (37-40/ja/#3C7D3C)
0x7 = Blocker-Sprite (51-53/nein/#FF0000)
0x8 = Schatztruhe (55-57/nein/#9E4D00)
0x9 = eingeschlagene Tür (22-36, 54/ja/#821400)
0xA = noch nicht geöffnete/gefundene Geheimtür (3-21/nein/#FF0000)
0xB = Illusionswand (3-21/ja/#FF0000)
0xC = Gang, als Wand im Automap, verwendet in F051.DNG ("Spinnenhöhle") (-/ja/#FF0000)
0xD = Gang, als Wand im Automap, nicht verwendet? (-/ja/#FF0000)
0xE = Gang, als Wand im Automap, nicht verwendet? (-/ja/#FF0000)
0xF = Wand (3-21/nein/#FF0000)
Rechtes Nybble: Funktion unbekannt
64 Byte Feld [32*16 Bit] true = Automap aufgedeckt, false: Automap nicht aufgedeckt = false.
Achtung: jede Zeile dieses Feld ist 32 Bit breit obwohl das Ebenenlayout selbst nur 16 Byte breit ist, es werden also nur die ersten zwei Byte benutzt. Dies ist bei den DAT-Dateien der Städte genauso, wobei nur bei den "großen Städte" (PHEXCAER.DAT, PREM.DAT und THORWAL.DAT) das gesamte Feld benutzt wird.
Im übrigen gibt es wohl eine Logik nach welcher bestimmte Dateien in die Savegame-Dateien (die Dateien aus dem TEMP-Verzeichnis DAT/DNG/NPC usw.) kopiert werden. Wenn diese Logik entschlüsselt ist wäre es möglich z.B. in einem Savegameeditor das Automap einer Stadt oder Dungeons aufzudecken.