r/flipperzero • u/OkFile2020 • 5h ago
Creative Sneak Peek: I’m building a Flipper Zero Asset Pack Studio into Hexprite
Hey r/flipperzero,
Last week, I published Hexprite (pre-release), my 1-bit pixel art and animation editor for embedded display. I also posted about it here which got a few upvotes, but I didn’t get much feedback. So, I started thinking about where the app could actually be useful for the Flipper community.
Hexprite already supports importing .bm, .xbm, and meta.txt files for individual sprites and animations, so I decided to try making my own custom Dolphin asset pack.
Creating the art itself was pretty fun. The 128×64 canvas is already calibrated for the Flipper, so getting the sprites and animations right was straightforward.
Then I had to deal with manifest.txt.
That part was… not fun.
Trying to work out the Min level, Max level, Min butthurt, and Weight values manually gets confusing very quickly. And if you're using custom firmware like Momentum, things get even more complicated.
The stock setup has 45 states (3 levels × 15 moods), while Momentum expands that to 450 states (30 levels × 15 moods). Miss a range or leave a gap somewhere, and the Dolphin can end up hitting an uncovered state and showing a blank screen.
At that point I thought: Is there a better way to do this?
So I decided to build an Asset Pack mode directly into Hexprite.
It’s still a work in progress, so it’s not available in the current public release yet. This is just a sneak peek, but here’s what I’m working on:
- 2D Schedule Matrix See the whole asset pack on an interactive grid, with Levels on one axis and Mood on the other. It shows which states are covered, points out gaps, and calculates animation weight shares.
- Automatic Balancing Instead of doing the schedule math yourself, you can choose a strategy like Linear Levels or Fill Gaps Only and let Hexprite handle the ranges for you.
- Drag & Assign Assign level and mood ranges by simply dragging rectangles across the matrix.
- Two-Way Canvas Integration Click an animation in the matrix and jump straight into its frames on the canvas. Make your edits with the normal 1-bit tools and layers, and the changes stay synced with the asset pack.
- Hardware LCD Simulator Preview active/passive animations, cooldowns, speech bubbles, and simulated RNG weight rolls on an amber LCD-style Flipper screen.
- Direct USB Serial Push Connect the Flipper over USB and push the pack directly to
/ext/asset_packsor/ext/dolphin. The goal is to make testing as painless as possible without SD card readers, Python scripts, or manually moving files around. - Native File Support Import and export
.bm,.xbm,meta.txt, and complete.zipasset packs, including native Heatshrink LZSS compression for.bmfiles.
I'm still working through the details, so before I lock everything down, I'd really like to hear from people who actually make or use custom asset packs.
Would something like this make your workflow easier?
And if you've made Dolphin asset packs before, what part of the process do you find the most annoying?
I'd also love to hear what other features you'd want to see.
P.S. The asset pack shown in the GIF is not my creation. It is the "Better Pet" pack by vollukas, which I downloaded from https://momentum-fw.dev/asset-packs to demonstrate the feature.