This repo hosts tools and scripts for modding and researching Phantom Dust files. These tools mainly focus on ALR files, but there are also some simple tools for Deck/Arsenal files and SSB script files. You can find more info about the game and file formats on the Phantom Dust Modding Wiki.
This is the main program for this repo, a graphical editor for ALR files. It understands (to varying degrees) textures, meshes, animations, and skeleton data found in ALRs. Polaris is designed to replace normal hex editors for ALR modding, without giving up the flexibility. There are mini hex editors in nearly every window, so you can quickly jump to the data you want (and see only that data).
Support status for .alr files:
| Feature | Viewing | Export | Import |
|---|---|---|---|
| Textures | ✅ | ✅(.dds) |
✅ (.dds, at same resolution & format) |
| Meshes | ✅ | ✅(.obj) |
❌ |
| Animations | ✅ (graph) | ❌ (WIP .anim export) |
❌ |
| Skeleton | ❌ | ✅ (.dae) |
❌ |
Polaris also supports several other Phantom Dust files:
- Stage layout (
.dat) files can be loaded alongside their corresponding ALR, to spawn in, render, and edit dynamic objects like chairs and railings (Surface stages only, no underground stages). - Music (
.stx) files can be generated from.wav,.mp3,.mod,.xm, or.s3mfiles. They can also be exported to.wavand played back directly in Polaris - Sound effect (
.bin) files can be exported to.wav - Quest (
questdata.qdt) files can be edited (though they're not fully understood yet) .mkand.akfiles are bundles of NPC models and animations stored in.alrand related files. Polaris can extract and create these bundles.
Here's the underground bar map rendered in Polaris:

Here's Polaris animating Meister's low-poly model, while editing the quests file and playing back a custom STX file it generated from the FastTracker II song domatron.xm:

Polaris takes a filename as its first argument (which also means you can drag-and-drop
files onto the executable). You can also specify another flag to run a specific
operation in headless mode (no GUI):
polaris [alr filename] [flag]
--dump-textures- Dump all textures to a
texturesfolder in DDS format.
- Dump all textures to a
--dump-materials- Export materials from an ALR file in MTL format (for use with OBJ files)
- The exported OBJ files have material assignment data, but you have to manually write
mtllib [your .mtl file]at the start.
--extract-audio- Export all sound effects from multiple .bin files to a folder, in WAV format
--validate- Run assertions and consistency checks across the whole file. Doesn't guarantee the file will work in the game, just that nothing looks wrong based on our current knowledge of ALRs.
This is a very simple TUI editor for deck/arsenal files. In the style of a simple batch script menu, you select a menu option by number and type in a new value. The menu updates in-place instead of scrolling.
This is a barebones tool, which only prints an SSB's function export table. For better SSB tools, take a look at these repos:
- hantu
- pd-ssb-decomp For more information on the file format, check out the wiki page.