56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# MoonWell DBC Editor
|
|
|
|
A VS Code Custom Editor for World of Warcraft 3.3.5a `WDBC` files, targeting client
|
|
build `12340`.
|
|
|
|
## Features
|
|
|
|
- Opens `.dbc` files as a paged table instead of loading the whole grid into the Webview.
|
|
- Includes 246 build-specific schemas with named and typed columns.
|
|
- Edits signed/unsigned integers, floats, UTF-8 strings, arrays and localized strings.
|
|
- Supports add, duplicate and delete row operations.
|
|
- Integrates with VS Code undo/redo, Save, Save As, Revert and hot-exit backups.
|
|
- Rebuilds and deduplicates the WDBC string block when saving.
|
|
- Creates `<file>.dbc.bak` before an in-place save by default.
|
|
- Falls back to raw 32-bit columns when a schema is missing or its record size differs.
|
|
|
|
The editor intentionally supports `WDBC` only. Later `DB2`, `WDB` and cache formats are
|
|
outside the current build-12340 scope.
|
|
|
|
## Development
|
|
|
|
```powershell
|
|
cd vscode-dbc-editor
|
|
npm install
|
|
npm run check
|
|
```
|
|
|
|
Open this directory in VS Code and press `F5` to launch an Extension Development Host.
|
|
Open any `.dbc` file there; the custom editor is registered as the default editor.
|
|
|
|
To produce an installable VSIX:
|
|
|
|
```powershell
|
|
npm run package
|
|
code --install-extension .\moonwell-dbc-editor-0.1.0.vsix
|
|
```
|
|
|
|
## Editing notes
|
|
|
|
- Click a row number to select it for duplicate/delete operations.
|
|
- Cell values can be edited inline. The lower text area is useful for long strings;
|
|
press `Ctrl+Enter` or click **Apply cell**.
|
|
- Search is performed on the ID plus ordinary, `enUS`, and `ruRU` string columns.
|
|
- An unknown or structurally different table opens in raw mode to avoid applying the
|
|
wrong string offsets or field types.
|
|
- ID edits are rejected when they would create a duplicate key.
|
|
|
|
## Schema provenance
|
|
|
|
The schema bundle is derived from WoWDBDefs under CC BY-SA 4.0. See
|
|
`THIRD_PARTY_NOTICES.md` and `schemas/README.md`.
|
|
|
|
WDBXEditor was used as a behavioral reference only. Its source and XML definitions are
|
|
not redistributed here.
|
|
|