# The I of the Dragon — fan tools (localization + HD) Reverse-engineering and localization tooling for *The I of the Dragon* (Topware / Primal Software). This repository tracks **only our own tools and documentation**. It does **not** contain the game, its assets, or any cracked distribution — those are regenerated/produced locally from a legit copy. ## Layout ``` tools/ Python tooling (unpack, repack, preprocess, font patch, decoders) docs/ DEVLOG, format specs, patch notes ``` Working data (not tracked): `original/`, `png/`, `report/`, `patch/`, `crack/`. ## Tooling | script | purpose | |---|---| | `tools/res_unpack.py` | extract a `.res` archive (index + raw blobs, 16-byte aligned) | | `tools/res_repack.py` | rebuild a `.res` byte-identically from a directory | | `tools/preprocess.py` | convert textures to PNG + build classification report | | `tools/make_plan.py` | build an HD upscale plan from the report | | `tools/decode_dat.py` | decode/encode the XOR-obfuscated `Fonts.dat` / `*Description.dat` | | `tools/fontparse.py` | parse `Fonts.dat` into font blocks and glyph rects | | `tools/add_section.py` | add an executable section to the game PE | | `tools/apply_cjk.py` | apply the double-byte font-rendering patch | | `tools/build_cjk.py` | build the 2048x1024 UI font atlas + `cjk_glyph`/`cjk_metric` tables | | `tools/cn_strings.py` | simplified-Chinese translation table (`Id` -> text) | | `tools/make_cn_strings.py` | patch the `English` column of `Strings.dat` to GB2312 | | `tools/install_cjk.py` | deploy/restore the whole patch into the game folder | | `tools/xrefs.py` | find call/jmp xrefs in the game executable | See `docs/` for the reverse-engineered formats and addresses. Next steps, ordered by visible benefit and implementation effort: [Chinese tutorial, then a small 2x texture pilot](docs/superpowers/plans/2026-09-20-high-impact-simple-first.md). ## Legal No game data is distributed here. Patches are produced by the user against their own copy.