updated md files

This commit is contained in:
2025-12-07 19:47:40 +01:00
parent 7e54fc2260
commit 23c68a7e6a
8 changed files with 467 additions and 33 deletions

View File

@ -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

View File

@ -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.

View File

@ -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
View 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**.

View File

@ -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