72 lines
945 B
Markdown
72 lines
945 B
Markdown
# Architecture v0.3
|
|
|
|
## Überblick
|
|
Diese Version beschreibt ausschließlich:
|
|
- Extraktion
|
|
- Parser
|
|
- Lua-Hook
|
|
ohne konkrete TTS-Anbindung.
|
|
|
|
---
|
|
|
|
# Komponenten
|
|
|
|
## 1. Extraktion (DE/EN)
|
|
Quellen:
|
|
- dialog.tlk (DE/EN)
|
|
- .dlg Dateien
|
|
- optional .2da
|
|
|
|
Export über Near Infinity → JSON.
|
|
|
|
---
|
|
|
|
## 2. Parser
|
|
Zentrale Aufgabe: alles zu einer zweisprachigen Dialogdatenbank zusammenführen.
|
|
|
|
### Input
|
|
```
|
|
data/raw/tlk/dialog_de.json
|
|
data/raw/tlk/dialog_en.json
|
|
data/raw/dlg/*.json
|
|
```
|
|
|
|
### Output
|
|
```
|
|
data/processed/dialogs.json
|
|
```
|
|
|
|
### Beispielstruktur
|
|
```json
|
|
{
|
|
"id": 47119,
|
|
"speaker": "Imoen",
|
|
"text": {
|
|
"de": "Hey, wach auf!",
|
|
"en": "Hey, wake up!"
|
|
},
|
|
"links": [
|
|
{ "type": "next", "id": 47120 }
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Lua-Hook
|
|
Interceptor für Dialogwechsel im Spiel.
|
|
|
|
### Events
|
|
- OnDialogStart()
|
|
- OnDialogNodeChange(nodeID)
|
|
|
|
### Ausgabe
|
|
Nur Logging.
|
|
|
|
---
|
|
|
|
## 4. Erweiterbarkeit
|
|
- Bulk Rendering
|
|
- Live TTS
|
|
- BG2EE Support
|