Skip to content

STAR.DAT

Shihan edited this page Mar 17, 2020 · 1 revision

Table of Contents

Dungeons & Städte

im Gegensatz zu DSA 1 wird in DSA 2 nicht mehr zwischen Dungeons und Städten Unterschieden, so das der Grundsätzliche Aufbau bei beiden gleich ist.

Kartenlayout (MAD)

enthält den Aufbau der (2D) Karte in Dungeons & Städten

Karteninformationen(INF)

enthällt Informationen zu den Feldern auf der Karte (z.B. Feld x,y Taverne "zweite Heimat>)

Kartenmodelle CYB

  • immer 0x300 Bytes groß
  • Dessen Einträge bestimmen welches 3D-Modelle verwendet wird und in welcher Richtung der Eingang zeigt.

DBG

"Die .CYB-Dateien sind identisch zu den .DBG-Dateien mit gleichem "Vornamen". Siehe dort. Ausnahmen sind: gashok, kvirasim, lowangen, tiefhusen, die sich an einigen Stellen unterscheiden. Auffällig ist, dass alle DBG-Dateien entweder leer sind (ansvell, blut4, rorkvell) oder genau 767 Bytes groß. In den nichtleeren Dateien sind oft lange 0er-Sequenzen mittendrin." (von Hendrik)(werde ich noch genauer untersuchen)

Texte (LTX)

enthällt eine Reihe von Texten

Dialoge & Info Dialoge (TLK)

im Gegensatz zu SChicksalsklinge(DSA 1) nutzt Sternscheweif (DSA 2) 2 verschiedene Dialogsysteme die beide die Endung TLK tragen. Info Dialoge sind Dialoge wo man auf der rechten Seite ein Thema wählen kann und der Gesprächspartner dann etwas zu dem thema erzählt (z.B. in Tempeln).

TOPICS.TOP (TOP)

enthällt die Namen der Konstanten bei den Topics der Info Dialoge(TLK)

enthällt informationen zu den Kämpfen, wobei FIGHT.LST Informationen zum Kampf selber und SCENARIO.LST Informationen zum Kampfplatz enthällt.

3D-Modell (3D)

???

CYBER.SIN (SIN)

Enthält eine Sinuskurve. Wahrscheinlich Werte für den Tag/Nacht Wechsel da die CYBER.DAT auch für die Beleuchtung zuständig ist.

Global Timbre Libaries

Miles Sound System XMI sind die speziellen MIDI Files. SAMPLE.MT und SAMPLE.AD sind beides Global Timbre Libaries. Konvention war das die alle SAMPLE.* hießen wobei die Erweiterung angab für welche Hardware.

Adlib Standard

Roland MT-32 Standard

VISIBLE.TAB (TAB)

???

Animationen

BOB-Animationen (BOB)

ACE-Animationen (ACE)

Bilder

Texturen(AIF)

Dateiname Enthält
ADFRAME.AIF Rahmen für Fullscreen-Animationen (mit Kriegern am linken/rechten Rand)
AMAPBACK.AIF Hintergrundbild: Automap
ARTWORK.AIF "Sternenschweif"-Bild von Yüce
ATTIC.AIF Attic/Logo (bzw. Sirtech in RoA)
BIN1PAL.AIF nur Palette, vermutlich Finsterkopp-Binge
BING2PAL.AIF nur Palette, vermutlich Finsterkopp-Binge
BLOOD.AIF Intro-Animationssequenz: Blut am unteren Bildschirmrand
BLUT.AIF nur Palette, vermutlich Blutzinnen
CELL.AIF Bild: Helden im Gefängnis (Lowangen, nach Kampf mit der Garde)
CITYBACK.AIF Hintergrundbild: Leerer Kampfmodus-Hintergrund (Gitter), Stadt
CMASK[1-2].AIF Maske: Charakterbildschirm. 1: Inventory und Grundwerte, 2: Talente/Zauber
CREDITS.AIF Bild: Credits-Bildschirm.
DEATH.AIF Bild: Gruppe tot.
DIARY.AIF Hintergrundbild: Tagebuch-Modus
DISKMENU.AIF Maske: Diskmenü
DRAGON_[1-2].AIF Vermutlich Animationen für den Drachen?
DSA.AIF DSA-Logo
D_SELECT.AIF Maske: Listen-Widget
DUNGBACK.AIF Hintergrundbild: Leerer Kampfmodus-Hintergrund (Gitter), Dungeon
DUNGMASK.AIF Maske: 3D-Ansicht, braun (Dungeon)
FDEMON[1-2].AIF Hintergrundbild: Feuerelementar
FIN[1-3]PAL.AIF nur Palette, vermutlich NL-Dungeon
FLAME[1-5].AIF Flammenschrift aus dem Intro
FRAME.AIF Rahmen für Fullscreen-Animationen (mit Gargoyles in den Ecken)
G_MASK[1-11].AIF Maske für Charaktergenerierung (Bildschirme 1-11). {Interessant: Da stehen sogar die Texte für die einzelnen Skills/Zauber direkt im Bild!?}
LANDBACK.AIF Hintergrundbild: Leerer Kampfmodus-Hintergrund (Gitter), Wildnis
LOWANGEN.AIF Übersichts-Stadtkarte von Lowangen. {Einsehbar im Hesinde-Tempel in Lowangen.}
MAG_BOOK.AIF Zauberbuch {Wo taucht das auf???}
NATPAL.AIF nur Palette, vermutlich Sumpf
OPTIONS.AIF Maske: Einstellungs-Bildschirm
ORKLAND.AIF Reisekarte. {An einem Stück mit 560x640 Pixeln gespeichert.}
OUTRO[1-9].AIF Animationen des Outros
PHEXTEMP.AIF nur Palette, vermutlich Phextempel
PLAYMASK.AIF Maske: 3D-Ansicht, grau (Stadt)
SCENE[3-5,9-17].AIF Animationen des Intros
SCROLL[1-2].AIF Dokumente. 1: Sumpfranzen-Dokument, 2: Ehrenbürgerurkunde Lowangen
SHIPBACK.AIF Hintergrundbild: Leerer Kampfmodus-Hintergrund (Gitter), Holzplanken {Bekommt man den je zu sehen?}
TALKMASK.AIF Maske: Gesprächsmodus
TEXT[1-12].AIF Credit-Texte aus dem Intro/Outro
TIME_OUT.AIF Bild: Spielende, NL haben den Stein versteckt
TOWNPAL.AIF nur Palette, vermutlich Stadt
WUERFEL.AIF Bild: Bildfüllender Salamanderstein-Rahmen aus dem Intro

Farbpaletten

In DSA 2 haben alle NVF Bilder eine eigene Farbpalette. Ähnlich wie bei DSA 1 müssen die einzelnen Farbe mit 4 Multipliziert werden, um von 18 Bit Farben(3*6 Bit) zu 24 Bit Farben(3*8 Bit) zu konvertieren. Dabei ist darauf zu achten, das bei DSA 2 auch Werte großer als 63 in der Palette stehen können (die Bedeutung der ersten beiden Bits ist noch nicht ganz geklärt). Um mit diesen Werten umzugehen ist es ausreichend nach der Multiplikation die Farbwerte wieder in "byte" zu konvertieren, wodurch die vorderen bits einfach ignoriert werden.

Bilder im Verzeichnis (NVF)

Dateiname Crunchmode Enthält
ACEBACK.NVF Animations-Hintergründe: Phex-Geweihter in Herberge
AMAPARRW.NVF Windrose für die Automap
BICONS.NVF Icons für die Hintergründe von Buttons im Aktionsmenü.
BINGE2.NVF Automap-Icons: Finsterkopp-Binge
BINGE3.NVF Automap-Icons: Finsterkopp-Binge
BINGE4.NVF Automap-Icons: Finsterkopp-Binge
BINGE5.NVF Automap-Icons: Finsterkopp-Binge
BINGE6.NVF Automap-Icons: Finsterkopp-Binge
BINGE7.NVF Automap-Icons: Finsterkopp-Binge
BINGEACT.NVF Dialog-Bilder: Finsterkopp-Binge (Kobold, Schmiedeszene)
BLUT.NVF Automap-Icons: Blutzinnen
CHEADS2.NVF Charakterportraits (ungesund)
CHEADS.NVF Charakterportraits (gesund)
CIRCLE.NVF Gruppenpositions-Marker auf der Automap (pulsierende Kreise, in verschiedenen Farben für aufgeteilte Gruppe)
CITYPART.NVF Automap-Icons: Städte
CMASKP.NVF Bilder für die Charakter-Übersicht (Anziehpuppe, ...)
COMPASS.NVF Bilder für die Kompass-Anzeige in der 3D-Ansicht (mittig am oberen Bildschirmrand)
DIALOG.NVF Einige Dialog-Bilder: Gashok-Mob, Gardisten, Elsurion Sternenlicht, Sudran Alatzer, Echsenmenschen
DR_MAGIC.NVF ???
DUALPICS.NVF Charakterklassen-Bilder aus der Generierung (ACHTUNG: Palette DUALPICS.PAL beachten)
FEAT80.NVF Dialog-Bilder 1
FEATR64.NVF Dialog-Bilder 2
FEATS64.NVF Dialog-Bilder 3
FI_CBACK.NVF Hintergrundbild "Kampf berechnen"
FIGHTOBJ.NVF Objekte im Kampf-Modus: Mauern, Pflanzen etc.
FINAL1.NVF Automap-Icons: NL-Dungeon
FINAL2.NVF Automap-Icons: NL-Dungeon
FINAL3.NVF Automap-Icons: NL-Dungeon
FINSTER.NVF Automap-Icons: Finsterkoppen (Stadt)
FONT2.NVF Schriftart (groß, geschwungen)
FONT.NVF Schriftart (klein, serfienlos)
F_STREET.NVF Dialog-Bilder: Zufallsbegegnungen auf der Straße
GASBACK.NVF Animations-Hintergründe: Gashok-Mob
GPARTS.NVF Bilder für den Charaktereditor: Männlich/Weiblich, Marmor-Hintergrund
HEADS.NVF NSC-Köpfe
HORSE0.NVF Silhouette des Pferdes im Reisebildschirm: Geschwindigkeit 0
HORSE1.NVF Silhouette des Pferdes im Reisebildschirm: Geschwindigkeit 1
HORSE2.NVF Silhouette des Pferdes im Reisebildschirm: Geschwindigkeit 2
HORSE3.NVF Silhouette des Pferdes im Reisebildschirm: Geschwindigkeit 3
HORSE4.NVF Silhouette des Pferdes im Reisebildschirm: Geschwindigkeit 4
HORSEBAK.NVF Hintergrund des Pferdes im Reisebildschirm
ICONS.NVF Symbole für die Aktions-Menüs
ITEMS.NVF Bilder für Gegenstände
LANDS.NVF Landschaftsbilder im Reisebildschirm (Steppe, Wald, Sumpf, Berge, Hochgebirge, Fluss)
LOWANGEN.NVF Automap-Icons: Lowangen
MMASK.NVF Maske für den Reise-Bildschirm (rechter Rand)
MONPICS.NVF Monster-Bilder für den Kampfmodus
MOUSE.NVF Mauscursor-Sammlung
NATURE.NVF Automap-Icons: Natur (Sumpf bei Lowangen u.s.w.)
OPTIONS.NVF Icons für den Spieleinstellungs-Bildschirm
PHEXTEMP.NVF Automap-Icons: Phextempel
POPUP.NVF GUI-Textboxen (Rahmen und Füllmuster)
RIDDLE.NVF Icons für das Rätsel-Minigame im Phextempel (u.a. Göttersymbole)
ROSE.NVF Windrose für die Reisekarte
SOUND.NVF Icons für Soundeinstellungs-Bildschirm
SPELLOBJ.NVF Zauber-Animationen im Kampfmodus
STREETS.NVF Wege-Bilder für den Reisebildschirm (befestigte Straße, Straße, Pfad)
TIMEDISP.NVF Hintergründe für die Tageszeit-Anzeige
TSYMBOLS.NVF Göttersymbole (in Sepia-Ton)
WEATHER.NVF Wetter-Anzeige für den Reisebildschirm (wolkenlos, leicht bewölkt, mäßig bewölkt, stark bewölkt, Gewitter; jeweils für Tag und Nacht)

DAT

DAT ist ein sehr allgemeines Format, wobei jede Datei einen anderen Aufbau hat und die Inhalte sich nur anhand des Namens erahnen lassen.

AMAPPAL.DAT

Scheint diverse Farbpaletten zu enthalten, vermutlich für die Automap.

AMAPWTCH.DAT

Ist für die Automap zuständig. Es gibt pro Karte 4096 Bytes, pro Feld eins. Insgesammt ist also Platz für 27 Karten.

27 x 4096 Bytes = 110592 Bytes.

Es scheint unterschiedliche Werte zu geben. Flags: 0x00=Unaufgedeckt, 0x01=Aufgedeckt, 0x80=Automap aufgerufen?

BROTHEL.DAT

Pro Bordell 4 Byte, 5x4Byte=20Byte.

Byte Typ Inhalt
0x00 Byte Regenerationsmodifikator; vorzeichenbehaftetes Byte.
0x01-02 int16 Preismodifikator in Prozent. Basispreis 10 Dukaten.
0x03 Byte Unbekannt, könnte wieder Geschlecht sein was aber ignoriert wird.

BSKILLS.DAT

Tabelle zum automatischen Talentsteigern (z.B. im Anfängermodus). (BSKILLS = Beginner Skills?) Die zu steigernden Talente sind in absteigender Priorität aufgelistet.

Reihenfolge: DUMMY, Gaukler, Jäger, Krieger, Streuner, Thorwaler, Zwerg, Hexe, Druide, Magier, Auelf, Firnelf, Waldelf.

Aufbau: Pro Talent je 4 Bytes. Siehe auch GBSPELLS.DAT.

Byte Typ Inhalt
0x00 Byte Talent-Index
0x01 Byte Wert ist immer 0x00.
0x02 Byte Entweder 0x0B oder 0x63 (selten auch andere Werte, z.B. 0x05). Irgendwelche Flags?
0x03 Byte Wert ist immer 0x00.

Die Flags (Byte 0x02) sind noch etwas rätselhaft, vermutlich geben sie an, wie oft gesteigert werden soll, was beim Misslingen passiert u.ä. Wert 0x05 kommt in den Flags nur bei einem Talent vor, nämlich Lesen, und dort bei allen Typen außer Gaukler (kann nicht lesen) und Magier (99).

CHEST.DAT

Definiert die Truhen. Pro Truhe 52 Byte, 49x52Byte=2548Byte. Es gibt Platz für bis zu 10 unterschiedliche Items in einer Kiste. Verwendet werden aber nur maximal 8 Slots.

Byte Typ Inhalt
0x00 Byte Unbekannt, immer 0.
0x01 Byte Unbekannt, immer 0.
0x02-03 uint16 Anzahl der Silberstücke.
0x04-05 uint16 Item ID des Schlüssel, sonst 0.
0x06 Byte Unbekannt, einmal 0 und einmal 1, sonst 255.
0x07 Byte Unbekannt, manche haben Werte zwischen 0 und 4, sonst 255. Eventuell Event ID? (Gasfalle=1)
0x08 Byte Unbekannt, immer 0.
0x09 Byte Unbekannt, immer 1 außer bei der im Phex-Tempel in Tiefhusen (Phexenschild, Phexenhelm). Vielleicht abgeschlossen? (1=ja, 0=nein)
0x0A Byte Vielleicht der Schwierigkeitsgrad? (0-13)
0x0B Byte Unbekannt, immer 0 außer bei der Kriegskasse der Orks (1).
0x0C-0D uint16 Item ID des 1. Items, sonst 0xFFFF.
0x0E-0F uint16 Anzahl des 1. Items, sonst 0x0000.
0x10-11 uint16 Item ID des 2. Items, sonst 0xFFFF.
0x12-13 uint16 Anzahl des 2. Items, sonst 0x0000.
... ... ...
... ... ...
... ... ...
0x30-31 uint16 Potenziell die Item ID des 10. Items, sonst 0xFFFF.
0x32-33 uint16 Potenziell die Anzahl des 10. Items, sonst 0x0000.

CYBER.DAT

Hat wahrscheinlich etwas mit der Beleuchtung zu tun.

D_SEARCH.DAT

Enthält eine Liste mit Einträgen für Ereignisse, Orte, NPCs, Götter die dann im Tagebuch verfügbar sind.

Pro Eintrag 23 Byte, 304x23Byte=6992Byte. Die ersten 20 Einträge sind frei, wobei 6 davon später von den eigenen Helden benutzt werden. Der letzte Eintrag wird ebenfalls nicht genutzt.

Byte Typ Inhalt
0x00 uint8 ID des Eintrags.
0x01 bool Bekannt (0/1).
0x02 uint8 Eintrags Typ ID. 164=NPC, 165=Orte/Gebiete, 166=Ereignisse/Quests?, 167=Götter, 168=Allgemein? (Wetter, Unterkunft, Essen und ähnliche Einträge)
0x03 20 Byte Name des Eintrags.

DOOR.DAT

Definiert die Türen. Pro Tür 8 Byte, 176x8Byte=1408Byte.

Byte Typ Inhalt
0x00 Byte Vielleicht der Schwierigkeitsgrad. (0-13)
0x01 Byte Unbekannt, immer 0.
0x02-03 uint16 Item ID. Meistens Schlüssel oder passende Items wie die Drachenklaue.
0x04 Byte Unbekannt, immer 255.
0x05 Byte Unbekannt, immer 255 nur 0 bei der Tuer(5) Finsterkoppbinge - 4. Ebene.
0x06 Byte Unbekannt, immer 0.
0x07 Byte Unbekannt, immer 0.

DUALPALS.DAT

Paletten für DUALPICS.NVF (Ganzkörper-Bilder der Charaktertypen): 13 Paletten (für jeden Heldentyp + Start-Bild) à 96 Bytes; also 96/3=32 Farbeinträge pro Bild.

FBTABLES.DAT

FBTABLES = Fight Beginner Tables?

FCONV.DAT

Hat etwas mit den Kämpfen zu tun. Genaue funktion unklar. Vermutetes Format, 16 mal 50 Byte.

FDEFMAT.DAT

Scheint auch ein leeres Kampffeld zu enthalten, sehr ähnlich zu dennen in SCENARIO.LST.

FEAT049.DAT

könnte eventuell mit der "FEATURE.LTX" korrespondieren

FNEIBOUR.DAT

FWALLTYP.DAT

GBSPELL.DAT

Tabelle zum automatischen Zaubersteigern (z.B. im Anfängermodus). (GBSPELLS = General Beginner Spells?) Die zu steigernden Zauber sind in absteigender Priorität aufgelistet.

Reihenfolge: Hexe, Druide, Magier, Auelf, Firnelf, Waldelf. Zwischen den einzelnen Magier-Typen scheint kein Unterschied gemacht zu werden.

Aufbau: Pro Zauber je 2 Bytes. Siehe auch BSKILLS.DAT.

Byte Typ Inhalt
0x00 Byte Zauber-Index
0x01 Byte Wert ist immer 0x00.

HEALER.DAT

Die Reihenfolge der Heiler scheint mit der aus "HEALER.LTX" zu korrespondieren.

Pro Heiler 5 Byte, 10x5Byte=50Byte. 1. und 10. Eintrag nur Dummy-Daten.

Byte Typ Inhalt
0x00-0x01 int16 Preismodifikator. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an. (-50% bis +50%)
0x02 uint8 Gibt, in Prozent, die Fehlschlagswahrscheinlichkeit des Heilers an. (1% bis 15%)
0x03 bool Geschlecht. 0=männlich, 1=weiblich.
0x04 bool Versteinerung heilen 0=nein, 1=ja.

HSUMS.DAT

I_ENTRY.DAT

Gibt für alle Items an, ob deren Fund im Tagebuch vermerkt wird. Aufbau: Je 1 Byte pro Item, in der gleichen Reihenfolge wie in ITEMS.DAT/ITEMS.LTX. 0x00=kein Tagebucheintrag, 0x01=Tagebucheintrag.

INN.DAT

Die Reihenfolge scheint mit der aus "INN.LTX" zu korrespondieren.

Pro Herberge 6 Byte, 28x6Byte=168Byte. 1. und 28. Eintrag nur Dummy-Daten.

Byte Typ Inhalt
0x00-0x01 int16 Preismodifikator. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an. Zimmer und Essen/Trinken.
0x02 uint8 Herbergsqualität, kleinere Werte sind besser. Wirkt sich auf Preise und Qualität des Essens aus.(0-20)
0x03 Byte Unbekannt, immer 0.
0x04 Byte Werte zwischen 10-50 und 100. Gibt die Wahrscheinlichkeit an, mit der in dieser Herberge ein Zimmer zu bekommen ist. Hat logischerweise nur in Lowangen Bedeutung, alle anderen Herbergen haben den Wert 100.
0x05 bool Geschlecht. 0=männlich, 1=weiblich

ITEMS.DAT

ITEMS.DAT

MONSTER.DAT

Siehe MONSTER.DAT

NEEDS.DAT

Codiert die Voraussetzungen an guten und schlechten Eigenschaften für die verschiedenen Heldentypen beim Generieren. Format: je 2 Bytes für eine Anforderung, das 1. Byte ist der Index der Eigenschaft, das 2. gibt den gewünschten Wert an (unsigned char) Für das 1. Byte gilt die Reihenfolge: MU, KL, CH, FF, GE, IN, KK, AG, HA, RA, GG, TA, NG, JZ, so dass Index 05 z.B. für IN steht und Index 08 für HA. Für das 2. Byte gilt: Ist der Wert <0x80, muss die Eigenschaft mindestens diesen Wert haben. Ist der Wert negativ, muss die Eigenschaft kleiner als (Wert - 0x80) sein. Die Voraussetzungen für einen Heldentypen werden durch 1 oder mehr short ints mit Wert 0x0000 abgeschlossen.

PASSWORD.DAT

(übernommen aus Disketten-Passwortabfrage, Beitrag #17)

Das Format der PASSWORD.DAT ist wie folgt: Die Datei beginnt mit einem WORD PasswordCount. Darauf folgen PasswordCount "PasswordInfo"-Strukturen:

 BYTE WordNo // Wort #
 BYTE LineNo // Zeile #
 BYTE PageNo // Seite #
 BYTE InitA // Initialwert A zur Paßwortverschlüsselung
 BYTE InitB // Initialwert B zur Paßwortverschlüsselung
 BYTE[20] Password // verschlüsseltes Paßwort

Die Verschlüsselung der Paßwörter funktioniert folgendermaßen: Das Paßwort wird im Klartext in Großschrift in das Password-Array geschrieben; abschließende (nicht genutzte) Felder werden ausgenullt. In einer Schleife wird jedes der 20 Felder von Password verarbeitet:

 for (n=0; n<20; n++) {
     InitA ^= Password[n];
     InitB += InitA;
     Password[n] = InitB & 0xff;
 }

Die Daten, welche jetzt in Password vorliegen, stellen das verschlüsselte Paßwort dar.

Da es sich hier nicht um eine Einwegfunktion handelt, können verschlüsselte Paßwörter entsprechend auch wieder entschlüsselt werden.

POINT.DAT

Die Datei ist für die Kreuzungen zuständig und enthält die Kompassrichtungen.

Pro Block 3 Byte, 220x3Byte=660Byte. Die letzten 20 Einträge sind Dummy-Daten.

Die Kompass Flags schalten die entsprechenden Buttons auf dem Kompass frei, wobei nur der visuelle Teil frei geschaltet wird. Ohne die passende Route bzw. den Eintrag in Sections kann diese Richtung trotzdem nicht benutzt werden. Der erste Eintrag bezieht sich wohl auf die Routenplanung und der zweite Eintrag wenn man sich an der Kreuzung befindet.

Flags für Himmelsrichtungen:

Nord = 1, Nordost = 2, Ost = 4, Südost=8, Süden=16, Südwest=32, West=64, Nordwest=128

Byte Typ Inhalt
0x00 uint8 Kompass ID. Wird verwendet um Sections bzw. Ruten zu verbinden. Sie kann anscheinend frei gewählt werden, muss also nicht der Reihenfolge der Einträge entsprechen.
0x01 uint8 Kompass Flags der bekannten/benutzen Richtungen, die der unbekannten Strecken fehlen.
0x02 uint8 Kompass Flags aller möglichen Richtungen.

ROUTES.DAT

Enthält die Pixel für alle 263 Routen des Spiels. Header: 4*262 Bytes, je 4 Bytes pro Route. Der daraus resultierende uint32 Wert stellt den Startpunkt in den Routendaten dar. Startpunkt = Wert/2+1052(Header größe).

Anschließend folgen die Routendaten, je 2 unsigned short (für x- und y-Koordinate). Eine Route wird durch x=0xFFFF, y=0xFFFF abgeschlossen, darauf folgt direkt die nächste Route.

SCHOOL.DAT

Pro Schule 33Byte. 9x33=297Byte.

Die Schulen sind in der selben Reihenfolge hinterlegt wie im Menü. Genau wie die Zauber, von links nach rechts und oben nach unten wird gezählt.

Also die ersten 33 Byte sind Antimagie, die nächsten Beherschung, Dämonologie, Bewegung, Heilung, Hellsicht, Kampf, Verwandlung und Veränderung.

Byte Typ Inhalt
0x00 uint8 Anzahl der Modifizierten Zauber, max 7.
0x01-0x02 uint16 ID des 1. Zaubers welcher modifiziert werden soll. Fängt bei 1 an, 0 bedeutet kein Zauber.
0x03-0x04 uint16 ID des 2. Zaubers welcher modifiziert werden soll.
0x05-0x06 uint16 ID des 3. Zaubers welcher modifiziert werden soll.
0x07-0x08 uint16 ID des 4. Zaubers welcher modifiziert werden soll.
0x09-0x0A uint16 ID des 5. Zaubers welcher modifiziert werden soll.
0x0B-0x0C uint16 ID des 6. Zaubers welcher modifiziert werden soll.
0x0D-0x0E uint16 ID des 7. Zaubers welcher modifiziert werden soll.
0x0F-0x10 int16 Immer -1.
0x11-0x12 int16 Modifikator für den 1. Zauber.
0x13-0x14 int16 Modifikator für den 2. Zauber.
0x15-0x16 int16 Modifikator für den 3. Zauber.
0x17-0x18 int16 Modifikator für den 4. Zauber.
0x19-0x1A int16 Modifikator für den 5. Zauber.
0x1B-0x1C int16 Modifikator für den 6. Zauber.
0x1D-0x1E int16 Modifikator für den 7. Zauber.
0x1F-0x20 int16 Immer 0.

SECTION.DAT

Enthält zusätzliche Informationen und Definitionen der Route. Jede Route braucht auch einen Eintrag in dieser Datei. Dabei ist die Reihenfolge Index abhängig und muss in beiden Dateien (SECTION.DAT, ROUTES.DAT) identisch sein.

Pro Block 10Byte, 262x10Byte=2620Byte.

Himmelsrichtungen:

Nord = 0, Nordost = 1, Ost = 2, Südost=3, Süden=4, Südwest=5, West=6, Nordwest=7

Landschaftstypen:

0=Steppe, 1=Wald, 2=Flußaue, 3=Sumpf, 4=Gebirge, 5=Bergtal, 6=Wasser(Boot), 7=Wasser(Fähre)

Straßentypen:

Die Geschwindigkeit meint die Anzahl der Grundschritte pro Tag (8-18Uhr).

Wert Typ Geschwindigkeit
0x00 Reichsstraße 27
0x01 kleine Straße 25
0x02 guter Weg 23
0x03 Feld- Wald- Wiesenweg 21
0x04 guter Pfad 19
0x05 mittlerer Pfad 17
0x06 schlechter Pfad 15
0x07 sehr schlechter Pfad 13
0x08 Fluß 11

Der Geschwindigkeitsmodifikator ist Teil der Geschwindigkeitsberechnung. Die Streckenlänge wird durch diesen Modifikator geteilt, das Ergebnis auf die erste Nachkommastelle gerundet und zuletzt mit der Geschwindigkeit der Straße multipliziert. Da auch Werte mit 0 vorkommen, nehme ich an wird in diesen Fällen die Streckenlänge benutzt.

Beispiel für die erste Route: 73/62 = 1.1774 ≈ 1.2 x 25 = 30. Also kommt man 30 Schritte pro Tag vorran bzw. 3 pro Stunde.

Byte Typ Inhalt
0x00 uint8 Kreuzungs ID des Startpunktes. Verbindet die Route mit dieser Kreuzung, siehe POINT.DAT.
0x01 uint8 Kreuzungs ID des Endpunktes. Verbindet die Route mit dieser Kreuzung, siehe POINT.DAT.
0x02 uint8 Himmelsrichtung für diese Route bei der Kreuzung des Startpunktes. Klickt man auf die entsprechende Richtung des Kompass wird diese Route benutzt.
0x03 uint8 Himmelsrichtung für diese Route bei der Kreuzung des Endpunktes. Klickt man auf die entsprechende Richtung des Kompass wird diese Route benutzt.
0x04 uint8 Landschaftstyp.
0x05 uint8 Straßentyp.
0x06 uint8 Geschwindigkeitsmodifikator.
0x07 Byte Wahrscheinlich Modifikator für Kräutersuche und Jagd. Höhere Werte vereinfachen die Probe. (0-4)
0x08 Byte Wahrscheinlich hat es etwas mit den Events zu tun. (50, 2, 1, 0)
0x09 bool Bekannter Weg, 0=unbekannt, 1=bekannt.

SHOP.DAT

Die Reihenfolge scheint mit der aus "SHOP.LTX" zu korrespondieren.

Pro Laden 13 Byte, 25x13Byte=325Byte.

Byte Typ Inhalt
0x00-0x01 int16 Modifikator für Kaufpreise in Prozent. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an.
0x02-0x03 int16 Modifikator für Verkaufspreise in Prozent. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an.
0x04 uint8 Art des Ladens. 1=Waffen, 2=Kräuter, 3=Gemischt.
0x05 uint8 Sortiments ID. Siehe Items
0x06-0x07 uint16 ID eines zusätzlichen Items, bei 0 keins.
0x08-0x09 uint16 ID eines zusätzlichen Items, bei 0 keins.
0x0A-0x0B uint16 ID eines zusätzlichen Items, bei 0 keins.
0x0C bool Geschlecht. 0=männlich, 1=weiblich

SKBVALS.DAT

Enthält die Talent-Startwerte der einzelnen Heldentypen, je 1 unsigned Byte pro Zauber. Reihenfolge der Heldentypen: DUMMY, Gaukler, Jäger, Krieger, Streuner, Thorwaler, Zwerg, Hexe, Druide, Magier, Auelf, Firnelf, Waldelf

SMITH.DAT

Die Reihenfolge scheint mit der aus "SMITH.LTX" zu korrespondieren.

Pro Schmied 4 Byte. 13x4Byte=52Byte.

Byte Typ Inhalt
0x00-0x01 int16 Preismodifikator. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an.
0x02 uint8 Schmiedequalität. Werte von 1-20.
0x03 bool Geschlecht. 0=männlich, 1=weiblich

SONGTABL.DAT

SPBVALS.DAT

Enthält die Zauber-Startwerte der einzelnen Heldentypen, je 1 unsigned Byte pro Zauber. Reihenfolge der Heldentypen: Hexe, Druide, Magier, Auelf, Firnelf, Waldelf

SPOIL.DAT

Enthält weitere Container für Items. Format ist ziemlich dynamisch, da es von der Anzahl der Einträge abhängt.

Byte Typ Inhalt
0x00 uint8 Anzahl der zu lesenden Bytes bzw. auch Anzahl der Itemsx4.
0x01 Byte Unbekannt, immer 0.
0x02-03 uint16 1. Item ID.
0x04-05 uint16 1. Anzahl des Item.
... ... bis Bytes bzw. Items gelesen sind. Danach neuer Container mit neuer Anzahl an Bytes.

SUBLOCS.DAT

Ist für die Zuodnung von Gebäuden zuständig, also was passiert wenn man ein Gebäude betritt. Die Zuordnung der Einträge erfolgt wahrscheinlich über die Schweif.exe. Es existieren zwar bei einigen MAD-Dateien passende Werte (KVIRASIM nutzt den 1.-9. Eintrag) aber diese werden ignoriert. Ausschlaggebend scheint die Position des Gebäudes auf der Map zu sein. Die jeweiligen Subdateien (SMITH.DAT, HEALER.DAT, SHOP.DAT, usw.) definieren die genauen Daten des Gebäudes (z.B. männlich oder weiblich). Die Bedeutung von Byte 2 und 3 variiert je nach Typ.

Pro Block 3 Byte, 180x3Byte=540.

Gebäude Typen:

Wert Typ
0 Nichts
1 Tempel
2 Taverne
3 Herberge
4 Gemischtwarenladen
5 Schmiede
6 Heiler
7 Lagerhaus
8 Lager (Weltkarte)
9 Lager(Stadt)
10 noch ein Lager
11 Straßenevents
12 Bordel
13 nichts
14 Normales Haus
15 Wegweiser
16 nichts
17 Sondergebäude? z.B. abgebrannte Mühle aus Gashok.ltx
18 nichts
Byte Typ Inhalt
0x00 uint8 Gebäude Typ.
0x01 uint8 Index Wert des jeweiligen Eintrages der Subdatei. Bei einer Taverne z.B. TAVERN.DAT, Einträge von 0-26 möglich. Ansonsten 255.
0x02 uint8 Index Wert des Strings. Bei einer Taverne z.B. TAVERN.LTX. Ansonsten 255.

TAVERN.DAT

Die Reihenfolge scheint mit der aus "TAVERN.LTX" zu korrespondieren.

Pro Taverne 7 Byte, 27x7Byte=189Byte.

Byte Typ Inhalt
0x00-0x01 int16 Preismodifikator. Gibt, in Prozent, den Abschlag oder Aufschlag des Preises an (Essen und Trinken).
0x02-0x03 int16 Qualität der Taverne. Werte zwischen 4 und 20. Höhere Werte bedeuten schlechtere Qualität. Preis und Qualität des Essens hängen zusätzlich davon ab. Bei einem Wert von 25 kostet das Essen nichts, bei noch höheren Werten wird der Preis sogar negativ. Die Bierkosten werden nicht modifiziert.
0x04 bool Geschlecht. 0=männlich, 1=weiblich
0x05-0x06 int16 Unbekannt. Meistens 0, manchmal auch Werte von 20, 30, 40, 50.

TEMPLE.DAT

Legt das Geschlecht/Bild der Tempeldiener in den einzelnen Tempeln fest. 00 = männlich, 01=weiblich. Byte 01 ist z.B. der Perainetempel in Kvirasim.

WOBBLE.DAT

XDIALOG.DAT

Ist für die Fragen und Antworten bei Info Dialogen zuständig. Es scheint jeweils einen Eintrag pro Topic zu geben, auch die Reihenfolge entspricht der von TOPICS.TOP. Wird im Dialog (TLK) die Konstante LIST_TRUE oder LIST_FALSE verwendet, wird im Rahmen des angegebenen Bereichs, eine zufällige Antwort gewählt.

9 Byte pro Block, 103x9Byte=927Byte.

Byte Typ Inhalt
0x00-1 uint16 Frage (String Index in STDTALKS.LTX)
0x02-3 uint16 Positive Antwort (LIST_TRUE), String Index der STDTALKS.LTX.
0x04-5 uint16 Negative Antwort (LIST_FALSE), String Index der STDTALKS.LTX.
0x06 uint8 Anzahl der Fragen. Wert wird per Zufall ermittelt und zum Index addiert.
0x07 uint8 Anzahl der positiven Antworten. Wert wird per Zufall ermittelt und zum Index addiert.
0x08 uint8 Anzahl der negativen Antworten. Wert wird per Zufall ermittelt und zum Index addiert.

XDIALOG2.DAT

Eine weitere Datenstruktur für Dialoge. Scheint die Dialoge zu ordnen. Wahrscheinlich wichtig für spezielle Informationen die man bei Gesprächen erhalten kann.

Pro Block 4 Byte, 166x4Byte=664Byte.

Byte Typ Inhalt
0x00-1 uint16 Index der Dialog-Datei in STAR.FN bzw. STAR.DAT.
0x02 Byte Für spezielle Informationen, vielleicht eine ID oder ähnliches.
0x03 Byte Unbekannt, immer 0.
Kategorie:DSA2Kategorie:Archiv
Clone this wiki locally