LeagueToolkit Wiki — What's Over There
Everything Khada depends on for file-format knowledge lives in the upstream LeagueToolkit wiki. This page is a curated index — what each section covers and when we care.
Source: github.com/LeagueToolkit/wiki. The wiki is built with Astro + Starlight and is authored in MDX with Svelte interactive components (hash calculator, binary-structure diagrams, version matrices).
When to go there vs. stay here
| You're looking for… | Go |
|---|---|
| Byte-level spec of a Riot file format | Upstream wiki → Reference → File Formats |
| Hash algorithm details + interactive calculator | Upstream wiki → Reference → Hashing |
| Khada-specific implementation notes, shader profiles, material extras | Stay here |
| LTK Manager / mod manager usage | Upstream wiki → Getting Started / Tools (not relevant to us; keep for context) |
| Rust / C# library API reference | Source code — upstream wiki's library pages are placeholders |
Reference sections on the wiki
File formats
Authoritative per-format binary layouts, version diffs, and implementation references:
- WAD —
RW, xxHash64 chunk paths, v1/v2/v3 signature differences, compression types. - BIN —
PROP/PTCH, 28 property types, FNV-1a property hashes, PTCH data overrides. - Ritobin — text form of BIN,
#PROP_textheader, type annotations. - SKN — skinned mesh, versions 0.1 / 2.1 / 4.1, Basic/Color/Tangent vertex layouts.
- SKL — skeleton, modern vs
r3d2skltlegacy, 100-byte joints, influence list. - ANM — compressed
r3d2canm(Catmull-Rom, jump caches, 48-bit quantized quats) and uncompressedr3d2anmdv3/v4/v5. - TEX —
0x00584554, BGRA8/BC1/BC3/ETC1/ETC2_EAC, mip chain stored smallest→largest. - MapGeo —
OEGMv5–v18, shared vertex/index buffers, scene graph, bucketed geometry. Versions 8/10/16 are unsupported. - WGEO — legacy world geometry (2D bucket grid, no lightmaps).
- SCB/SCO — static meshes (binary + ASCII).
- Legacy — INIBIN, AiMesh, MOB, DSC, LIGHT, MATLIB, FX, Particles.dat, Shader TOC, RST string table, preload, Wwise BNK/WPK.
Hashing
- Algorithms — FNV-1a (parameters: offset basis
0x811c9dc5, prime0x01000193), xxHash64 (seed 0), ELF, SDBM. Includes an interactive hash calculator — fastest way to spot-check a property name hash.
Metaclasses
- Overview — the type system behind BIN class hashes. Names and property schemas are extracted from the game binary via
lol-meta-classes; metaclass dictionaries are what turn0xA1B2C3D4back intoChampionStatData.
Tools ecosystem
Downstream tooling built on the same file-format layer. Useful to be aware of even though Khada doesn't use them directly:
| Tool | Repo | Stack |
|---|---|---|
| LTK Manager | ltk-manager | Tauri v2 — Rust + React. Mod manager; successor to cslol-manager. Windows-only today, macOS Q2/Summer 2026. |
| wadtools | wadtools | Rust CLI for WAD extract / list / diff. Fast; uses the same community hashtables we do. |
| league-toolkit | league-toolkit | Rust library workspace: ltk_wad, ltk_meta, ltk_mesh, ltk_anim, ltk_texture, ltk_mapgeo, ltk_ritobin, ltk_hash, ltk_modpkg, ltk_overlay. |
| LeagueToolkit (C#) | Same | The C# library we vendor into packages/extractor/OfficialLeagueToolkit/. |
| lol-meta-classes | Same | Metaclass extraction toolchain — produces the BIN class/property dictionaries. |
What the wiki says about modding (not relevant to us)
A big chunk of the wiki is about mod creation (LTK Manager's Creator Workshop, .modpkg format, .fantome legacy format, layers, profiles, patcher internals). Khada is a viewer, not a mod manager. Skim these pages if you're curious about the overlay-injection mechanism, but none of them apply to our pipeline.
Community
- Discord: discord.gg/leaguetoolkit
- awesome-league — curated list of League modding tools.
- Mod hosting: Runeforge, DivineSkins.
Version matrix — things Riot changed recently
The wiki tracks these; keep an eye out when a new patch breaks our extractor:
- WAD v3.4+ (current): packed
type_subchunk_packedu32 replaces separatecompression_type / is_duplicated / subchunk_start / subchunk_countfields. - MapGeo: active range is v5–v18; latest additions (v15+) include visibility-controller path hashes and per-sampler texture overrides. Versions 8/10/16 are internal/transitional and unsupported.
- SKN: v4.1 is the current format; we still see v2.1 and v0.1 on older assets.
- ANM:
r3d2canmv3 is the current compressed format; uncompressedr3d2anmdv5 for anything newer.
Contributing upstream
If you discover something the wiki is missing or wrong, the wiki repo accepts PRs at github.com/LeagueToolkit/wiki. Pages live at src/content/docs/**/*.mdx. Authoring conventions are in wiki-authoring (use BinaryStructure for byte layouts, Collapsible for optional detail, Mermaid for diagrams, VersionMatrix for version-feature tables).
Khada-specific findings — shader gotchas, per-champion workarounds, joint-snap baking — belong here, not upstream. The split point is: "would any tool reading this format care?" (upstream) vs. "only our extractor does this?" (local).