updated md files
This commit is contained in:
@ -1,3 +1,71 @@
|
||||
# Architecture v0.2
|
||||
# Architecture v0.3
|
||||
|
||||
Updated...
|
||||
## Ü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
|
||||
|
||||
@ -1,3 +1,69 @@
|
||||
# Extraction Guide v0.2
|
||||
# Extraction Guide v0.3
|
||||
|
||||
Steps...
|
||||
## Ziel
|
||||
Vollständige zweisprachige Daten für BGEE extrahieren.
|
||||
|
||||
---
|
||||
|
||||
# 1. Dateien finden (Steam)
|
||||
|
||||
Linux:
|
||||
```
|
||||
~/.steam/steam/steamapps/common/Baldur's Gate Enhanced Edition/
|
||||
```
|
||||
|
||||
Windows:
|
||||
```
|
||||
C:\Program Files (x86)\Steam\steamapps\common\Baldur's Gate Enhanced Edition\
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 2. Near Infinity starten
|
||||
Download:
|
||||
https://github.com/Argent77/NearInfinity
|
||||
|
||||
Start:
|
||||
```
|
||||
java -jar NearInfinity.jar
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 3. TLK exportieren
|
||||
|
||||
1. `dialog.tlk` (DE) öffnen
|
||||
2. Export → JSON
|
||||
3. Speichern nach:
|
||||
```
|
||||
data/raw/tlk/dialog_de.json
|
||||
```
|
||||
|
||||
Wiederholen für EN:
|
||||
```
|
||||
data/raw/tlk/dialog_en.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 4. DLG exportieren
|
||||
In Near Infinity:
|
||||
- `.dlg` suchen
|
||||
- jede Datei exportieren
|
||||
- speichern in:
|
||||
```
|
||||
data/raw/dlg/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 5. Optional: NPC Mapping
|
||||
`npc.2da` → exportieren → JSON:
|
||||
```
|
||||
data/mappings/npc_map.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Fertig
|
||||
Parser kann jetzt laufen.
|
||||
|
||||
@ -1,3 +1,48 @@
|
||||
# Lua Hook Spec v0.2
|
||||
# Lua Hook Spec v0.3
|
||||
|
||||
...
|
||||
## Ziel
|
||||
Minimaler Listener für Dialoge in BGEE.
|
||||
|
||||
---
|
||||
|
||||
# Dateien
|
||||
|
||||
```
|
||||
lua-hook/
|
||||
bg1ee_tts_hook/
|
||||
dialog.lua
|
||||
mod.ini
|
||||
```
|
||||
|
||||
Installation:
|
||||
- Linux: ~/.local/share/.../override/
|
||||
- Windows: Documents/Baldur's Gate - Enhanced Edition/override/
|
||||
|
||||
---
|
||||
|
||||
# Lua API
|
||||
|
||||
### OnDialogStart()
|
||||
Wird ausgelöst, wenn ein Dialog beginnt.
|
||||
|
||||
### OnDialogNodeChange(nodeID)
|
||||
Wird ausgelöst, wenn die Dialogzeile wechselt.
|
||||
|
||||
---
|
||||
|
||||
# Beispiel
|
||||
|
||||
```lua
|
||||
function OnDialogStart()
|
||||
Infinity_Log("Dialog started")
|
||||
end
|
||||
|
||||
function OnDialogNodeChange(node)
|
||||
Infinity_Log("Node: " .. tostring(node))
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Hinweis
|
||||
Noch **keine** API-Calls, kein TTS, nur Logging.
|
||||
|
||||
79
docs/project-plan.md
Normal file
79
docs/project-plan.md
Normal file
@ -0,0 +1,79 @@
|
||||
# Projektplan – BG1EE Dialog-Extraktion & Hook-System (v0.3)
|
||||
|
||||
## 🎯 Ziel
|
||||
Solide Grundlage schaffen, um später Live-TTS oder Offline-TTS einzubinden – ohne jetzt schon einen TTS-Server zu benötigen.
|
||||
|
||||
---
|
||||
|
||||
# Phase 1 – Extraktion (JETZT)
|
||||
Zweisprachige Rohdaten aus BGEE exportieren.
|
||||
|
||||
## Aufgaben
|
||||
- TLK DE exportieren
|
||||
- TLK EN exportieren
|
||||
- Alle DLG-Dateien exportieren
|
||||
- NPC-Mappings extrahieren (optional)
|
||||
- Rohdaten nach `data/raw/` speichern
|
||||
|
||||
## Ergebnis
|
||||
```
|
||||
data/raw/tlk/dialog_de.json
|
||||
data/raw/tlk/dialog_en.json
|
||||
data/raw/dlg/*.json
|
||||
data/mappings/npc_map.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Phase 2 – Parser & Datenmodell (ALS NÄCHSTES)
|
||||
Parser zusammenbauen, der aus TLK & DLG eine vollständige Dialog-Datenbank erzeugt.
|
||||
|
||||
## Aufgaben
|
||||
- TLK DE/EN matchen (ID-basiert)
|
||||
- Dialogbäume verknüpfen
|
||||
- Sprecher zuordnen (optional)
|
||||
- finale Struktur in `dialogs.json` schreiben
|
||||
- Self-Test entwickeln
|
||||
|
||||
## Ergebnis
|
||||
```
|
||||
data/processed/dialogs.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Phase 3 – Lua-Hook (PARALLEL ODER DANACH)
|
||||
Minimaler Hook, der Dialogstart und Dialogknotenwechsel erkennt.
|
||||
|
||||
## Aufgaben
|
||||
- `dialog.lua` schreiben
|
||||
- `mod.ini` erstellen
|
||||
- Hook testweise in BGEE installieren
|
||||
- Log-Ausgabe sicherstellen (kein TTS!)
|
||||
|
||||
## Ergebnis
|
||||
BGEE schreibt z. B.:
|
||||
```
|
||||
Dialog node changed: 47119
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Phase 4 – (OPTIONAL) Offline-Rendering-Grundlage
|
||||
Noch kein TTS – aber vorbereiten:
|
||||
|
||||
## Aufgaben
|
||||
- Namensschema für WAV-Dateien definieren
|
||||
- Ordner anlegen: `audio_de`, `audio_en`
|
||||
- Prototyp-Skript `render_all.py` vorbereiten (noch ohne Engine)
|
||||
|
||||
---
|
||||
|
||||
# Phase 5 – (SPÄTER) TTS-Anbindung
|
||||
Erst wenn die Datenbank + Hook stabil sind.
|
||||
|
||||
---
|
||||
|
||||
# Aktueller Status
|
||||
Wir befinden uns am Start von **Phase 1**.
|
||||
|
||||
@ -1,3 +1,51 @@
|
||||
# Tools Installation v0.2
|
||||
# Tools Installation v0.3
|
||||
|
||||
...
|
||||
## 1. Java für Near Infinity
|
||||
|
||||
Linux:
|
||||
```
|
||||
sudo apt install openjdk-17-jre
|
||||
```
|
||||
|
||||
Windows:
|
||||
https://adoptium.net/
|
||||
|
||||
---
|
||||
|
||||
## 2. Near Infinity
|
||||
Download:
|
||||
https://github.com/Argent77/NearInfinity
|
||||
|
||||
Start:
|
||||
```
|
||||
java -jar NearInfinity.jar
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Python
|
||||
Linux:
|
||||
```
|
||||
sudo apt install python3 python3-venv python3-pip
|
||||
```
|
||||
|
||||
Windows:
|
||||
https://python.org
|
||||
|
||||
---
|
||||
|
||||
## 4. Git
|
||||
```
|
||||
sudo apt install git
|
||||
```
|
||||
|
||||
Optional:
|
||||
```
|
||||
sudo apt install git-flow
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Optional: WeiDU
|
||||
Download:
|
||||
https://github.com/WeiDUorg/weidu
|
||||
|
||||
Reference in New Issue
Block a user