⚡ instant WAD browsing • 🎮 live 3D previews • 🎞 video-to-loadscreen • 🧠 Hematite auto-fix
Flint is a desktop IDE for building League of Legends mods — from pulling raw assets out of the game, to previewing them, editing them, and shipping a finished .fantome / .modpkg. Everything lives in one window. No CLI chains, no folder juggling.
WAD ─▶ Extract ─▶ Preview ─▶ Edit ─▶ Validate ─▶ Export
(game) (project) (3D/2D/BIN) (Monaco) (Hematite) (ship it)
|
Lazy-loaded virtual filesystem over the entire game archive. Browse 4M+ files with instant folder expand and optional background indexing.
Drop a video in, get a working loadscreen out. Auto spritesheet packing, 16k texture budget, FPS trim, live preview, UI BIN auto-patch. Batch hue-shift, colorize, or tint. Skips distortion maps, preserves alpha. |
Plugged into Hematite's rule engine — detects broken references, missing shaders, bad materials, and fixes them in one click. Rules hot-update from GitHub. Git-lite for your project. Snapshot, diff, restore. Survives dev restarts. Ship to Swap the BIN engine to Jade, or hand a texture off to Quartz paint mode. JSON interop, no file juggling. Memory-mapped 4M+ hash DB. ~5-20 MB RAM, instant lookups, bulk resolve for fast WAD extraction. |
# Clone
git clone https://github.com/RitoShark/Flint
cd "Flint/Flint - Asset Extractor"
# Install + run
npm install
npm run tauri dev📦 Prerequisites
| Tool | Version |
|---|---|
| Rust | 1.75+ (rustup) |
| Node | v20+ (nodejs.org) |
| OS | Windows 10 / 11 |
📀 Building a release installer
npm run tauri buildOutput: src-tauri/target/release/bundle/nsis/Flint_{version}_x64-setup.exe
┌─────────────────────────────────────────────────────────────┐
│ React 18 + TypeScript + Vite ←→ Zustand stores │
└─────────────────────────────────────────────────────────────┘
▲
│ Tauri 2 IPC
▼
┌─────────────────────────────────────────────────────────────┐
│ src-tauri/ (binary crate) ─ Tauri commands + state │
│ crates/flint-ltk/ (library) ─ 14 domain modules: │
│ bin · wad · hash · mesh · audio · repath · export │
│ champion · league · validation · project · checkpoint │
│ hud · error │
└─────────────────────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────────────────────┐
│ league-toolkit (Rust) · Hematite v2 · LMDB · rayon │
└─────────────────────────────────────────────────────────────┘
| Layer | Stack |
|---|---|
| Frontend | React 18 · TypeScript · Vite 5 · Zustand 4 |
| 3D | Three.js · React Three Fiber |
| Editor | Monaco (custom Ritobin language) |
| Backend | Rust · Tauri 2 · rayon · tokio |
| LTK core | league-toolkit v0.4 (rev 6137083) |
| Hashing | LMDB via heed + memmap2 |
| Validation | hematite-core · hematite-ltk |
| Export | ltk_fantome · ltk_modpkg · ltk_mod_core |
Flint ships with full CSS-variable theming. Copy src/themes/default.css and override:
:root {
--accent-primary: #EF4444;
--accent-hover: #DC2626;
--accent-secondary: #F87171;
--accent-muted: #991B1B;
}PRs welcome. Keep commits conventional — feat:, fix:, perf:, refactor: — they feed the changelog via git-cliff.
git checkout -b feat/your-feature
# hack hack hack
git commit -m "feat(scope): short imperative message"MIT — do whatever, just don't sue.
League of Legends, all champion art, and all referenced game assets are property of Riot Games, Inc. Flint is an unofficial community tool and is not endorsed by Riot Games.
🔥 Made for the League modding community · Not affiliated with Riot Games