A high-performance GGPK and PoE 2 Bundle explorer written in Rust.
- Hybrid Support: Seamlessly browse PoE 1 GGPK files and PoE 2 Bundle formats.
- CDN Fallback: Automatically fetches missing bundles from the official CDN when not found locally.
- Advanced Search:
- Fast, background-threaded search.
- Category filtering (Texture, Audio, Text, Data, etc.).
- Smart result expansion with "Load More" for large datasets.
- DAT Viewer:
- Full schema support for PoE 1 & 2.
- Cross-referencing and foreign key resolution.
- JSON export.
- Code & Text:
- Syntax highlighting for Shaders (
.hlsl,.fx,.vshader,.pshader). - Auto-detection for standard text formats (
.txt,.xml,.ini,.csv).
- Syntax highlighting for Shaders (
- Media:
- Textures: DDS support with Zoom/Pan controls.
- Audio: Built-in OGG player with volume control.
- Data Formats:
- CSD: Specialized viewer for Client String Data with language filtering and JSON export.
- PSG: Tree-view visualization for PSG files.
- JSON: Interactive, collapsible tree viewer.
- Hex Viewer: Responsive, adaptive layout for raw binary inspection.
- Multilingual Support: Built-in font fallback for CJK (Chinese, Japanese, Korean) and Thai characters.
- Export Tools: Right-click to export individual files or entire folders to disk.
- Theme: Dark, VSCode-like aesthetic.
This project uses Oodle for decompression, which requires the ooz library.
- Clone the repository with submodules:
Or if already cloned:
git clone --recursive https://github.com/juddisjudd/ggpk-explorer.git
git submodule update --init --recursive
- Build and Run:
cargo run --release
This project utilizes logic and resources from the community:
- ooz: For Oodle decompression support.
- dat-schema: Source for community-maintained DAT schemas.
- poe-dat-viewer: Inspiration for DAT file structure and viewing logic.
- LibGGPK3: Reference for GGPK file format handling.