Skip to content

RIVA.ALF

Shihan edited this page Aug 6, 2024 · 2 revisions

Die Datei RIVA.ALF ist das Hauptarchiv für die Spieldaten von Schatten über Riva. Das Archiv ist in mehrere Module unterteilt.

Table of Contents

Module

Die folgenden 55 Module gibt es:

Modul Inhalt Formate
MODULEALCHEMY Die ALCHEMY.LXT welche die Strings für das Brauen enthält. LXT
MODULEANIMATI Verschiedene Animationen. ACE
MODULEAUTOMAP Alles was für die Automap benötigt wird, Masken und ähnliches. AIF, ANN, APA, DAT, LXT, LST, MSK, MST, NVF
MODULEBATH Die BATH.LXT welche die Strings fürs Badehaus enthält. LXT
MODULEBORON Texte, Bilder für den Boronsanger. LXT, RAW, ASF
MODULEBROTHEL Die BROTHEL.LXT welche die Strings für das Bordell enthält. LXT
MODULECASTLE Daten für die Feste. LXT, MOF, NVF, ASF, MOV
MODULECHAPTER Daten für verschiedene Kapitel bzw. deren Übergang. AIF, LXT, NVF, ASF
MODULECHARAC Bilder und Texte für die Chars. ASF, LXT, NVF, RAW
MODULECHEST Daten für die Truhen. ASF, DAT, LXT
MODULECITY Daten für die Stadt Riva. NVF, MOF, MOV, LXT
MODULECMASK Ansammlung verschiedener Daten, überwiegend für die Charaktererstellung und Verwaltung. ACE, AIF, ASF, DAT, LXT
MODULEDIALOG Alle (oder die meisten) Dialoge. AIF, LXT, XDF
MODULEDIARY Alles für das Tagebuch. AIF, DAT, LXT, NVF
MODULEDISKMEN Bilder und Texte für den Speichern/Laden Bildschirm und Standart Chars. DAT, LXT, NVF
MODULEDOOR Daten für die Türen. ASF, DAT, LXT
MODULEDUNGEON Daten für die Dungeons. DAT, LXT
MODULEENVIRON Daten für die Umgebung, außerhalb von Riva. ASF, LXT, MOF, MOV, NVF
MODULEFEATURE Nur die F_MISC.NVF. NVF
MODULEFIANIS Kampfanimationen ACE
MODULEFIFX --- ASF, RAW
MODULEFIGHT Informationen für die Kämpfe. ACE, DAT, LST, LXT, NVF, OFF
MODULEFINAL Daten für das Finale. ASF, LXT, MOF, MOV, NVF
MODULEFISCEN Weitere Daten für Kämpfe. AIF, LST, NVF, OFF
MODULEFISPEEC Kampfsounds, Zaubersprüche usw. im ASF Format. ASF
MODULEGEN Alles nötige zur Charaktergenerierung. AIF, DAT, LXT, NVF
MODULEGLOBAL Texte fürs Menü, Intro, Outro und die Songtabelle. DAT, LXT
MODULEHEALER Nur HEALER.LXT, enthält Strings für die Heiler. LXT
MODULEIMPORT Nur die HSUMS.DAT. DAT
MODULEINN Daten für die Herbergen. DAT, LXT
MODULEITEM Alle Gegenstände. DAT, LXT, NVF
MODULEITEMDIS Gegenstandsverteiler AIF, LXT, NVF
MODULELOCATIO Daten für Orte und Events. AIF, BOB, DAT, LXT, NVF
MODULEMARKETH Nur MARKETHA.LXT, enthält Texte für die Markthalle. LXT
MODULEMASK Daten für die Benutzeroberfläche, Maus, Kompass. AIF, NVF
MODULEMINE Daten für die Zwergenmine. ASF, LXT, MOF, MOV, RAW
MODULEMOSAIC Grafiken für das Mosaik Rätsel. NVF
MODULENPC Die Daten der NPCs. NPC
MODULEOPTION Alles für die Optionen. Sound, Grafiken, Texte. AIF, ASF, LXT, NVF
MODULEPANEL Daten für die Ingame Menüs. DAT, NVF
MODULEPOPUP Grafiken, Sound für Popups. ASF, NVF
MODULESEWERAG Daten der Kanalisation. ASF, LXT, MOF, MOV, RAW
MODULESHIP Daten für das Schiff. LXT, MOF, MOV, NVF
MODULESHOP Daten für die Läden. LXT, NVF
MODULESMITH Daten für die Schmiede. DAT, LXT
MODULESPELL Weitere Daten zu Zaubern. ASF, LXT, NVF, RAW
MODULESTAR Daten für das Unterwaser Kapitel (Abendstern). LXT, MOF, MOV, NVF
MODULESTREET Nur STREET.LXT, Texte für Events auf der Straße. LXT
MODULETAVERN Nur TAVERN.LXT, Texte für Tavernen. LXT
MODULETEMPLE Daten für die Temple. HMI, LXT
MODULETEXT Nur FONT.NVF, Schriftart. NVF
MODULETIME Nur TIMEDISP.NVF, Grafiken für die Uhrzeitanzeige. NVF
MODULETOWER Daten für den Turm des Magiers. ASF, LXT, MOF, MOV, NVF, RAW
MODULEUSE Daten für verschiedene Dinge die man benutzen kann auch Rezepte. AIF, ASF, LXT
PATCHDUMMIES 10 kleine Dateien die wohl mal für Patches vorgesehen waren. DUM

DAT

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

AMAPIPOS.DAT

Steuert die Positionen der vier Automap Icons.

Byte Typ Inhalt
0x00-0x0B string Name der Datei. AMAPICONPOS
0x0C-0x0F string Datentyp. ARR
0x10-0x11 uint16 Länge der folgenden Daten in Byte.
0x12-0x13 uint16 X Position des 1. Icons.
0x14-0x15 uint16 Y Position des 1. Icons.
0x16-0x17 uint16 X Position des 2. Icons.
0x18-0x19 uint16 Y Position des 2. Icons.
0x1A-0x1B uint16 X Position des 3. Icons.
0x1C-0x1D uint16 Y Position des 3. Icons.
0x1E-0x1F uint16 X Position des 4. Icons.
0x20-0x21 uint16 Y Position des 4. Icons.

BSKILLS.DAT

Scheint identisch mit der von Schweif. Wird von zwei Modulen verwendet.

C_CONTENT.DAT

Definiert den Inhalt der Truhen. Der Anfang der Datei besteht aus einer Header, gefolgt von den Itemeinträgen. Jedes Item hat einen eigenen Eintrag der 31 Byte lang ist. Die Datei beginnt mit einem uint32 Wert für die Anzahl der Inhalte. Wenn eine Kiste keinen Inhalt hat, ist die Offset einfach die selbe wie die Folgende. So wird quasi direkt an das Ende gesprungen.

Header

Byte Typ Inhalt
0x00-0x03 uint32 Anzahl der der Inhalte. Entspricht der Anzahl an Kisten.
0x04-0x07 uint32 Start Offset für den 1. Inhalt.
0x08-0x0B uint32 Start Offset für den 2. Inhalt bzw. makiert Ende des 1.Inhalts.
0x0C-0x0F uint32 Start Offset für den 3. Inhalt bzw. makiert Ende des 2.Inhalts.
...
...

Itemeintrag

Byte Typ Inhalt
0x00-0x01 uint16 Anzahl des Items.
0x02-0x03 uint16 Item ID.
0x04-0x05 uint16 Nochmal Item ID.
0x06-0x07 uint16 Meistens nochmal Anzahl des Items.
0x08 uint8 Item Flags, teilweise vom Typ abhängig. 0x00 2 Potionen, 0x02 1 Portion, 0x04 0 Portionen, 0x08 Unbekannt, 0x40 wurde analysiert, 0x80 Zusatztext in der Beschreibung
0x09 Byte Unbekannt, immer 0.
0x0A int8 Bruchfaktor.
0x0B uint8 Unbekannt, immer 0.
0x0C uint8 Restliche aktive Zeit eines Items, z.B. Laterne 100 Minuten.
0x0D uint8 Art des Giftes bei vergifteten Waffen.
0x0E uint8 Verbleibende Giftdosen bei vergifteten Waffen.
0x0F-0x12 uint32 Bitmaske für Rezeptbuch oder Notizbuch oder Schlüsselbund. Binär wird angegeben welches Rezept oder Schlüssel dazu gehört.
0x13-0x1E 12 Byte Unbekannt, immer 0.

CHARS1.DAT

Vordefinierte Chars. Pro Char 1519 Bytes.

CHARS2.DAT

Vordefinierte Chars. Pro Char 1519 Bytes.

CHESTS.DAT

Definiert die Truhen. Pro Truhe 24 Byte, 78x24Byte=1872Byte.

Byte Typ Inhalt
0x00-0x01 uint16 ID der Kiste.
0x02-0x03 uint16 Schwierigkeitsgrad 0-15.
0x04-0x05 uint16 Item ID des Schlüssels.
0x06-0x07 uint16 Unbekannt, immer 0. Könnte aber für weitere Schlüssel benutzt werden.
0x08-0x09 uint16 Unbekannt, immer 0. Könnte aber für weitere Schlüssel benutzt werden.
0x0A-0x0B uint16 Unbekannt, immer 0. Könnte aber für weitere Schlüssel benutzt werden.
0x0C-0x0D uint16 Geldbetrag in Heller.
0x0E bool Abgeschlossen (1) oder offen (0).
0x0F-0x13 5 Byte Unbekannt, immer 0.
0x14 uint8 ID der Falle.
0x15 Byte Unbekannt, immer 0.
0x16-0x17 int16 Index des Inhalts, siehe C_CONTENT.DAT.

D_EXPOSA.DAT

Daten für die Dungeons. Es geht dabei um die Kämpfe.

Es fängt wieder mit einem Header an der die Anzahl der Offsets angibt, sehr ähnlich wie C_CONTENT.DAT.

Darauf auch wieder die Offsets, diese teilen die Einträge in Bereiche ein, welche dann zu der jeweiligen Map gehört.

Die Reihenfolge der Maps ist identisch zu der in DUNGEONS.LXT.

Ein Eintrag besteht aus 10 Byte.

Format größtenteils unbekannt. 3. Byte steht für Anzahl der Gegner, 4. ob der Kampf noch aktiv ist (1) oder schon gekämpft wurde (0). 7. und 8. scheinen eine ID zu bilden.

Verändern der Daten funktionieren nicht. Riva scheint sie jedesmal zu überschreiben.

D_SEARCH.DAT

Selber Aufbau und Zweck wie bei Schweif.

DIA_IPOS.DAT

Positionen der 7 Tagebuch Icons. Sehr ähnlicher Aufbau wie AMAPIPOS.DAT.

Byte Typ Inhalt
0x00-0x0B string Name der Datei. DIARYICONPO
0x0C-0x0F string Datentyp. ARR
0x10-0x11 uint16 Länge der folgenden Daten in Byte.
0x12-0x13 uint16 X Position des 1. Icons.
0x14-0x15 uint16 Y Position des 1. Icons.
0x16-0x17 uint16 X Position des 2. Icons.
0x18-0x19 uint16 Y Position des 2. Icons.
0x1A-0x1B uint16 X Position des 3. Icons.
0x1C-0x1D uint16 Y Position des 3. Icons.
0x1E-0x1F uint16 X Position des 4. Icons.
0x20-0x21 uint16 Y Position des 4. Icons.
0x22-0x23 uint16 X Position des 5. Icons.
0x24-0x25 uint16 Y Position des 5. Icons.
0x26-0x27 uint16 X Position des 6. Icons.
0x28-0x29 uint16 Y Position des 6. Icons.
0x2A-0x2B uint16 X Position des 7. Icons.
0x2C-0x2D uint16 Y Position des 7. Icons.

DISTRUST.DAT

16 Byte, alles 0.

DOORS.DAT

Definiert die Türen. Pro Tür 20 Byte, 83x20Byte=1660Byte.

Byte Typ Inhalt
0x00-0x01 uint16 ID der Tür.
0x02-0x03 uint16 Schwierigkeitsgrad 0-21.
0x04-0x05 uint16 Item ID des 1. Schlüssels.
0x06-0x07 uint16 Item ID des 2. Schlüssels.
0x08-0x09 uint16 Unbekannt, immer 0. Könnte aber für weitere Schlüssel benutzt werden.
0x0A-0x0B uint16 Unbekannt, immer 0. Könnte aber für weitere Schlüssel benutzt werden.
0x0C bool Abgeschlossen (1) oder offen (0).
0x0D-0x0F 3 Byte Unbekannt, immer 0.
0x10 uint8 Vielleicht ID der Falle? Nur einmal 1 sonst 0.
0x11 Byte Unbekannt, immer 0.
0x12 uint8 Vielleicht ID der Falle? Nur einmal 2 sonst 0.
0x13 Byte Unbekannt, immer 0.

DUALPALS.DAT

Scheint identisch mit der von Schweif.

FDEFMAT.DAT

Scheint identisch mit der von Schweif.

GBSPELL.DAT

Scheint identisch mit der von Schweif.

HIRING.DAT

60 Byte alle 0. Wahrscheinlich wird gespeichert welches Zimmer und wielange es noch gemietet ist.

HSUMS.DAT

Scheint identisch mit der von Schweif.

ITEMS.DAT

ITEMS.DAT

LOC_ANIM.DAT

Positionen für Animationen?

LOC_COMM.DAT

Positionen für alltägliche Events?

LOC_DEIT.DAT

Einträge für die Götter. Pro Eintrag 10 Byte.

Reihenfolge: Praios, Rondra, Efferd, Travia, Boron, Hesinde, Firun, Tsa, Phex, Peraine, Ingerimm, Rahja, Swafnir, Ifirn. 5. bis 8. Byte bilden die Summe des gespendeten Geldes, pro Beten werden 10 abgezogen. Die anderen Werte sind unbekannt. Eventuell Wahrscheinlichkeiten oder mindest Betrag der gespendet werden musste um ein Wunder zu erhalten.

LOC_DIAL.DAT

Positionen der Dialoge / Dialogpartner?

LOC_ENTE.DAT

Positionen der Eingänge?

LOC_GODS.DAT

Zuordnung der Tempeln zu den Göttern in der LOC_DEIT.DAT. Änderungen wirken sich nicht auf den Tempel direkt aus, es wird nur ein anderer Eintrag in der LOC_DEIT.DAT verwendet um die Silberstücke dort abzulegen bzw. die dortigen Werte für die Proben zu benutzen.

Die ersten beiden Bytes bilden die Haus/Objekt ID. Die nächsten 4 Bytes scheinen Indexwerte der LOC_DEIT.DAT zu sein.

LOC_IPOS.DAT

Positionen weiterer Icons.

LOC_NAME.DAT

Offsets für Namen in LXT?

LOC_OPEN.DAT

Die Öffnungszeiten von 76 Gebäuden/Händlern. Pro Eintrag 30 Byte.

Die ersten beiden Bytes bilden die Gebäude/Objekt ID. Danach kommen die Uhrzeiten? als uint16. Es gibt 14 Einträge, zuerst 7 (pro Wochentag einer) für Öffnungszeiten und danach 7 für die Schließungszeiten.

LOC_PANE.DAT

Positionen der Icon Panels.

LOC_PRIC.DAT

Liste mit Preisen oder Preisstufen.

LOC_QUAL.DAT

Liste mit Qualitäten.

LOC_RANG.DAT

Die Reichweite für ? vielleicht Türen ?

LOC_RIND.DAT

Liste mit Indizes für Reichweiten.

LOC_SPCR.DAT

Array mit speziellen? Reichweiten.

LOC_SPEC.DAT

Liste mit unbekannten "Special" Werten.

LOC_TITL.DAT

Offsets für Title Strings?

MONSTER.DAT

Definitionen der Gegner.

NEEDS.DAT

Scheint identisch mit der von Schweif.

PANEL.DAT

Steuert wahrscheinlich das Ingame Menü. Icons, Positionen usw. Wird von zwei Modulen verwendet.

REPAIR.DAT

Nur 4 Byte groß, erste beiden FF, die letzten 0. Vielleicht wird dort später gespeichert welche Waffe repariert wird und wielange es dauerd.

S_CONTENT.DAT

Definiert den Inhalt der Behälter. Selber Aufbau wie C_CONTENT.DAT.

SCHOOL.DAT

Scheint identisch mit der von Schweif. Wird von zwei Modulen verwendet.

SKBVALS.DAT

Scheint identisch mit der von Schweif.

SONGTABL.DAT

Scheint identisch mit der von Schweif.

SPBVALS.DAT

Scheint identisch mit der von Schweif.

SPOILS.DAT

Definiert weitere Behälter wie Schränke. Pro Behälter 10 Byte, 106x10Byte=1060Byte.

Byte Typ Inhalt
0x00-0x01 uint16 ID des Behälters.
0x02-0x05 4 Byte Unbekannt, immer 0.
0x06-0x07 uint16 Geldbetrag in Heller.
0x08-0x09 int16 Index des Inhalts, siehe S_CONTENT.DAT.

Kategorie:DSA3Kategorie:Archiv

Clone this wiki locally