updated md files
This commit is contained in:
55
GEMINI.md
Normal file
55
GEMINI.md
Normal file
@ -0,0 +1,55 @@
|
||||
# BG1EE Voiceover Project Context (v0.3)
|
||||
|
||||
## 1. Project Overview
|
||||
|
||||
**Project Name:** bg1-ee-voiceover
|
||||
**Goal:** Create a robust dual-language (German/English) data foundation and game integration hook for *Baldur's Gate: Enhanced Edition*.
|
||||
|
||||
**Current Scope (v0.3):**
|
||||
* **Focus:** Data Extraction, Parsing, and Logging Hook.
|
||||
* **Excluded:** Active TTS generation and HTTP API (deferred to later phases).
|
||||
* **Objective:** Establish a clean, bilingual `dialogs.json` database and a working `Infinity_Log` trigger from within the game.
|
||||
|
||||
## 2. Architecture (v0.3)
|
||||
|
||||
The system is reduced to three core components:
|
||||
|
||||
1. **Extraction (Near Infinity):**
|
||||
* **Source:** `dialog.tlk` (DE & EN), `*.dlg`, `*.2da`.
|
||||
* **Output:** JSON files in `data/raw/`.
|
||||
2. **Parser (Python):**
|
||||
* **Input:** Raw JSONs (`tlk` and `dlg`).
|
||||
* **Logic:** Match IDs across languages, link dialog nodes, map speakers.
|
||||
* **Output:** `data/processed/dialogs.json`.
|
||||
3. **Lua Hook (Mod):**
|
||||
* **Location:** `lua-hook/bg1ee_tts_hook/`.
|
||||
* **Events:** `OnDialogStart`, `OnDialogNodeChange`.
|
||||
* **Action:** Write ID to `Infinity_Log`.
|
||||
|
||||
## 3. Technology Stack
|
||||
|
||||
* **Extraction:** Near Infinity (Java Tool).
|
||||
* **Processing:** Python 3.10+ (Standard Library + `json`).
|
||||
* **Game Modding:** Lua (embedded in BG1EE).
|
||||
|
||||
## 4. Immediate Roadmap (Phases)
|
||||
|
||||
* **Phase 1: Extract (NOW):**
|
||||
* Export `dialog.tlk` (DE) -> `data/raw/tlk/dialog_de.json`.
|
||||
* Export `dialog.tlk` (EN) -> `data/raw/tlk/dialog_en.json`.
|
||||
* Export all `*.dlg` -> `data/raw/dlg/*.json`.
|
||||
* (Optional) Export `npc.2da` -> `data/mappings/npc_map.json`.
|
||||
* **Phase 2: Parser (NEXT):**
|
||||
* Implement Python parser to merge these inputs into `dialogs.json`.
|
||||
* **Phase 3: Hook (PARALLEL):**
|
||||
* Create `dialog.lua` to log dialog events.
|
||||
* **Phase 4: Offline Rendering Prep (OPTIONAL):**
|
||||
* Define WAV naming convention and folder structure.
|
||||
|
||||
## 5. Directory Structure
|
||||
* `docs/`: detailed specs (Architecture, Extraction, Project Plan).
|
||||
* `data/`:
|
||||
* `raw/`: Raw exports.
|
||||
* `processed/`: Final `dialogs.json`.
|
||||
* `scripts/`: Python ETL scripts.
|
||||
* `lua-hook/`: The game modification files.
|
||||
Reference in New Issue
Block a user