Skip to content

LeagueToolkit/Flint

Repository files navigation

League Modding Tauri Rust React

πŸ”₯ FLINT

League of Legends Asset Extractor & Modding IDE

A powerful, modern tool for extracting and modifying League of Legends champion skins and assets.


What is Flint?

Flint is a desktop application that lets you:

  • Extract champion skins and assets from League of Legends game files
  • Preview 3D models, textures, BIN files, and animations in real-time
  • Edit game property files (BIN) with syntax highlighting
  • Recolor textures with smart filtering and multiple blending modes
  • Export custom mods compatible with popular mod managers (Fantome, Modpkg)
  • Browse the entire game archive without extracting anything

Built with Rust (Tauri 2) backend for performance and React + TypeScript frontend for a modern UI.


✨ Key Features

🎬 Animated Loading Screen Creator

Create custom animated loading screens from video files:

  • Video-to-Spritesheet: Converts MP4/WebM to optimized spritesheets
  • 16k Texture Budget: Automatic grid optimization for WebGL limits
  • Frame Control: Adjustable FPS, trimming, and scaling
  • Live Preview: See your animation before exporting
  • Auto-injection: Automatically patches game UI BIN files

🌐 WAD Explorer

Browse the entire game's WAD archive library in a virtual filesystem. Lazy-load chunks on demand, search with regex, and preview files instantlyβ€”all without extracting to disk.

πŸ–ΌοΈ Asset Preview

  • 3D Models: SKN/SKL meshes with textures, animations (ANM), and skeleton visualization
  • Textures: DDS/TEX decoding with BC1, BC3, ETC format support
  • BIN Editor: VS Code-style syntax highlighting for game property files
  • Hex Viewer: Binary file inspection with offset display

🎨 Texture Recoloring

Batch recolor textures with Hue Shift, Colorize, or Grayscale + Tint modes. Smart filtering automatically skips distortion maps and preserves transparency.

πŸ’Ύ Checkpoint System

Create named snapshots of your project. Restore to any checkpoint instantly or compare changes between versions.

πŸ“€ Mod Export

Export to .fantome (cslol-manager) or .modpkg (League Mod Tools) with:

  • Refathering: Custom asset paths to prevent mod conflicts
  • BIN Concatenation: Merge linked BINs for better compatibility
  • Auto-update support with secure signature verification

πŸ—‚οΈ Multi-Tab Workspace

Work on multiple projects simultaneously. Open project tabs, individual WAD sessions, and the WAD Explorer side-by-side without losing state.

⚑ High-Performance Hash Resolution

  • LMDB Cache: Lightning Memory-Mapped Database stores 4M+ hash mappings
  • 1 GB Virtual Address Space: Memory-mapped for instant lookups (~5-20 MB real RAM)
  • Parallel Processing: Multi-threaded BIN conversion with rayon
  • DataDragon API: Auto-fetches champion/skin metadata from Riot's CDN

πŸ“– See all features in detail


πŸš€ Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/LeagueToolkit/Flint
cd "Flint - Asset Extractor"

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

Building for Production

# Create optimized build with NSIS installer
npm run tauri build

Installer output: src-tauri/target/release/bundle/nsis/Flint_{version}_x64-setup.exe


πŸ› οΈ Tech Stack

Layer Technology
Frontend React 18, TypeScript, Vite 5
State Management Zustand 4 (docs)
Backend Rust, Tauri 2.0
3D Rendering Three.js, React Three Fiber
Hash Resolution LMDB (via heed), memmap2
Parallel Processing rayon, tokio
BIN Parsing ltk_ritobin, ltk_meta
WAD Handling league-toolkit, memmap2
Texture Decoding ltk_texture (DDS/TEX/BC1/BC3)
Mesh Parsing ltk_mesh, ltk_anim
Mod Export ltk_fantome, ltk_modpkg
Champion Data DataDragon/CommunityDragon API

πŸ—οΈ See full architecture


πŸ“š Documentation


βœ… Status

Feature Status
3D Model Preview βœ… Working (SKN/SKL/SCB/SCO)
Animation Preview βœ… Working (ANM)
Animated Loading Screens βœ… Working (Videoβ†’spritesheet)
BIN Editing βœ… Working (Full read/write)
Refathering βœ… Working (Asset path rewriting)
BIN Concatenation βœ… Working (Linked BIN merging)
WAD Explorer βœ… Working (VFS browser)
LMDB Hash Cache βœ… Working (Memory-mapped DB)
Parallel BIN Conversion βœ… Working (Multi-threaded)
Sound Bank Editing πŸ”œ Planned (BNK/WPK)

🎨 Theming

Flint supports custom color themes! Copy src/themes/default.css and modify the CSS variables:

:root {
  --accent-primary: #your-color;
  --accent-secondary: #your-secondary-color;
  /* ... */
}

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“œ License

This project is for educational purposes. League of Legends and all related assets are property of Riot Games.


Made with ❀️ for the League modding community

About

modding ide type shi

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors