Aribeth — TLK/2DA 編集ツール
概要
Aribeth(aribethTool)は、Neverwinter Nights のデータ定義である 2DA(テーブル)と TLK(トークリスト)ファイルを扱うための Windows デスクトップエディタです。WPF を用いたモダンなダーク UI を採用し、列の追加/削除や行のコピー・切り取り・貼り付け、正規表現での検索/置換といった 2DA 編集に必要な操作を提供します。TLK は外部ツール(nwn_tlk.exe)を介した JSON 形式でのラウンドトリップをサポートし、編集の可視化や差分管理が容易です。さらに、2DA 正規化やマージ、問題チェックなどの組み込みツール(nwn-2da.exe 連携)や、元に戻す/やり直す(Undo/Redo)、ホットキー対応など実用的な機能が揃っています。(約300字)
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 2
- ファイル数: 13
- メインの言語: C#
主な特徴
- 2DA エディタ:列の追加・削除、行のコピー/切り取り/貼り付け、正規表現検索/置換、Undo/Redo
- TLK エディタ:JSON ラウンドトリップ(nwn_tlk.exe を経由)で編集の可視化と互換性確保
- 統合ツール群:nwn-2da.exe による 2DA 正規化・マージ・問題チェックをビルトインで実行
- ダークテーマとカスタムタイトルバー、ホットキー対応の使いやすい UI
技術的なポイント
Aribeth は .NET 8 上で動作する WPF アプリケーションとして構成されており、Windows 固有の GUI 技術(WPF)を採用することでネイティブに近い操作感とテーマカスタマイズを実現しています。TLK の編集ワークフローは設計上、内部で直接バイナリをいじるのではなく、外部のコマンドラインツール(nwn_tlk.exe)を呼び出して TLK を一度 JSON に変換し、JSON を編集して再度 TLK に戻す「ラウンドトリップ」方式を採っています。このアプローチにより、TLK のバイナリ互換性を維持しつつ、人間に読みやすい形式で編集できる利点があります。
2DA 処理では、アプリケーション側に正規化(カラム整合性の強制)やマージ機能、問題チェック(フォーマット不整合や欠損検出)を組み込み、nwn-2da.exe との連携で既存ツールのロジックを活用しています。外部ツールは Process 起動で実行し、標準入出力や一時ファイルを介してデータの受け渡しを行う設計になっているため、ツールの存在に依存する一方で、既存エコシステムに対して高い互換性を保てます。
UI 層は MVVM に近い構成でデータバインディングを活用し、Undo/Redo はコマンド履歴や状態スナップショットで実現していると推測されます(WPF の ICommand や ObservableCollection を利用した典型的な実装が想定されます)。ホットキーやカスタムタイトルバーは WPF の入力とウィンドウフレーム操作を組み合わせて実装され、見た目と操作性の両立を図っています。
拡張性の観点では、外部ツールへの依存を明確に分離しているため、将来的にはツール呼び出し部分をプラグイン化して代替実装を差し替えることが可能です。一方で Windows/.NET/WPF 固有の実装であるためクロスプラットフォーム化(Linux/macOS)はそのままでは難しく、必要ならば Avalonia 等への移植が検討課題になります。パフォーマンス面では、大きな 2DA/TLK ファイルを扱う際のメモリ管理や UI の仮想化(行・列の virtualization)が改善点となり得ます。
(約700〜900字相当の技術解説。外部ツール連携、WPF/MVVM、Undo/Redo、拡張性と制約について触れています)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitattributes: file
- .gitignore: file
- App.xaml: file
- App.xaml.cs: file
- AssemblyInfo.cs: file
…他 8 ファイル
(リポジトリは比較的小規模で、エントリーポイントとなる App.xaml とコードビハインド、アセンブリ情報等が含まれます。実行には外部ツール(nwn_tlk.exe, nwn-2da.exe)と .NET 8 SDK が必要です。)
まとめ
NLW のデータ編集を効率化する実用的な WPF ベースのツール。Windows 環境でのローカル編集に最適です。(約50字)
リポジトリ情報:
- 名前: aribethTool
- 説明: WPF editor for Neverwinter Nights 2DA and TLK files with dark theme, JSON TLK round‑trip, and integrated nwn tools.
- スター数: 2
- 言語: C#
- URL: https://github.com/Cavcode/aribethTool
- オーナー: Cavcode
- アバター: https://avatars.githubusercontent.com/u/25558825?v=4
READMEの抜粋:
Aribeth - Tlk and 2da Editor
Desktop editor for Neverwinter Nights 2DA and TLK files with a dark UI and integrated tooling.
Features
- 2DA editor with add/remove columns, copy/cut/paste rows, and regex search/replace
- TLK editor with JSON round-trip via
nwn_tlk.exe - Undo/redo for 2DA and TLK edits
- Hotkeys for common actions
- Built-in tools for 2DA normalize, merge, and issue checks via
nwn-2da.exe - Dark theme with custom title bar
Requirements
- Windows 10/11
- .NET 8 SDK
- …