Vriff Posted 2 hours ago Posted 2 hours ago View File NeoTLK - A Simple Modern TLK Editor Supported TLK families and text encodings NeoTLK opens, edits, and saves these native TLK families without converting the file to another layout: Classic BioWare TLK V3.0 files, including dense StrRef tables with classic sound metadata. Jade Empire TLK V4.0 files, whose compact records use numeric sound IDs. Dragon Age GFF V4.0 / TLK V0.2 files, whose string IDs are sparse and whose records contain text rather than classic TLK sound/language metadata. All text is normalized to UTF-8 while it is being edited. Classic V3.0 files are decoded per entry as UTF-8, Windows-1252, or Windows-1250, including mixed-encoding tables encountered in the field. On save, NeoTLK writes each classic entry back using its detected original encoding. An edit containing a character that cannot be represented by that entry's original Windows code page is rejected rather than silently replaced or corrupted. For Dragon Age V0.2 files, NeoTLK preserves sparse string IDs and the native GFF-backed TLK structure. Language and sound controls that are not represented by that format are disabled. Adding a record prompts for its string ID, and deleting one does not renumber the remaining records. The open dialog accepts both .tlk and uppercase .TLK filenames. Tabular import/export neotlk-cli supports CSV, TSV, XML, and JSON export/import for TLK entries. CSV and TSV are table-style interchange paths and carry StorageFormat, LanguageId, and per-entry TextEncoding metadata alongside the text and sound fields. JSON and XML are complete semantic documents: they retain the native TLK family, language where applicable, sparse StrRefs, flags, text encoding, and all sound metadata supported by that family. XML uses <tlk storageFormat="..." language="..."> with complete <string ...> children. CSV/TSV imports merge rows by StrRef into the current/native table, while XML/JSON imports replace the complete semantic document. Structured XML/JSON export is never filtered, because a partial file could be mistaken for a complete importable TLK. Use CSV or TSV to export the currently visible filtered rows. A Dragon Age GFF-backed TLK can be imported into an already-open native Dragon Age TLK, preserving its backing structure, but NeoTLK will not synthesize that native GFF structure from a standalone interchange document. The GUI provides matching Import and Export menus, filter/search terms, and copy/paste of entry text or pasted table rows. TSLPatcher/HoloPatcher output NeoTLK can generate a tslpatchdata package directly from the active in-memory TLK and a clean original baseline. In the GUI, use: Export -> Export TSLPatcher Package... Export -> Export HoloPatcher Package... The stock TSLPatcher mode is append-only. New entries after the original TLK count are written to append.tlk, and changes.ini receives matching StrRefN=N entries in [TLKList]. Existing-entry edits, deletions, language changes, and truncation are rejected because stock TSLPatcher cannot merge those operations safely. The HoloPatcher mode also supports edits to existing StrRefs. Those entries are written to replace.tlk, with ReplaceFile0=replace.tlk in [TLKList] and an accompanying [replace.tlk] map from destination StrRef to replacement-file index. This replacement extension is HoloPatcher-specific; a package containing replace.tlk is not compatible with the original TSLPatcher executable. Appended entries still use the stock-compatible append.tlk path. Submitter Vriff Submitted 07/26/2026 Category Modding Tools Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.