Skip to content

About

FreespaceOpen AnimStudio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

110 Commits

Folders and files

Repository files navigation


Logo

Anim Studio

A powerful animation creation and conversion tool for FreeSpace Open formats.

About

AnimStudio is a Qt-based application designed to import, preview, edit, quantize, and export animations compatible with the FreeSpace Open engine. It supports raw image sequences and FreeSpace-native animation formats like .ani, .eff, and .apng (exported as .png due to FSO filename limitations).

AnimStudio can be used interactively via its GUI or in batch mode from the command line for high-speed animation conversion workflows.

AnimStudio uses QT Designer for it's UI development.

Features

  • Load image sequences or animation files (.ani, .eff, .png/.apng)
  • Preview and scrub through frames with frame-by-frame control
  • Apply color quantization with palette customization
  • Import and manage built-in or user-supplied palettes
  • Export to .ani, .eff, .png (APNG) or raw image sequences
  • Supports transparency, keyframes, and format-specific metadata
  • Cross-platform (Windows/Linux) and fast, native performance
  • Command-line batch conversion support

Building

AnimStudio builds with CMake and Qt 6.8.3 (Core, Gui, Widgets, Concurrent, plus the qtimageformats plugins). It builds on Windows (MSVC) and Linux (GCC/Clang); the GitHub Actions workflow builds and packages both.

Requirements

  • CMake 3.21+
  • Qt 6.8.3, including the qtimageformats module
  • A C++17 compiler — MSVC (Visual Studio 2026) on Windows, GCC or Clang on Linux

Visual Studio 2026

Generate the solution against your Qt install, then open it:

cmake -S . -B build/vs2026 -G "Visual Studio 18 2026" -A x64 -DCMAKE_PREFIX_PATH=C:/Qt6/6.8.3/msvc2022_64

Open build\vs2026\AnimStudio.slnx and build/run with F5 (AnimStudio is the default startup project). Alternatively, use File → Open → Folder on the repo root — VS reads CMakePresets.json directly.

Command line (Linux or Windows)

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/to/Qt/6.8.3/gcc_64
cmake --build build

Usage (GUI)

  1. Load Animation Open a .ani, .eff, .apng/.png, or folder of images to begin. Supported image formats include PNG, BMP, JPG, PCX, TGA, DDS. More types may be supported in the future.

  2. Preview and Navigate Use the timeline and frame viewer to step through the animation.

  3. Adjust Metadata Adjust the animation name, FPS, loop point, and keyframe settings.

  4. Quantize (Optional) Reduce color depth with a selected palette, or automatically generate one. Includes built-in palettes for common needs in FreespaceOpen such as Shield, HUD, or Loadout Icons.

  5. Export Use the Export dialog to choose format, image type, and destination.

Usage (Command Line)

AnimStudio can run headless to batch convert animations. Example:

AnimStudio.exe -i path/to/input -o path/to/output -t ani -q -p auto -v 90 -c 256

The above command:

  • Loads an animation from the given input path
  • Exports it as a .ani file to the specified output
  • Enables quantization with an automatically generated palette
  • Sets quantization quality to 90 and color count to 256

Available Options

Short Long Description
-i --in Required. Input animation file or directory
-o --out Required. Output file or folder path
-t --type Required. Export type: ani, eff, apng, or raw
-e --ext For raw export: Image extension (e.g., png, jpg, bmp, pcx, tga, dds)
-n --basename Optional. Override for the base name of exported files
-q --quantize Optional. Enables color quantization (required for .ani)
-p --palette Optional. Palette selection:
– "auto": Auto-generated from source
– Built-in name (quoted if it contains spaces)
– file:<path>: Load a custom palette from a file
-v --quality Optional. Quantization quality (1–100) — higher = better
-c --maxcolors Optional. Max colors (1–256), only used with "auto" palette
-a --no-transparency Optional. Disables transparency in quantization
--list-palettes Prints the names of built-in palettes and exits

Notes on Format Support

  • ANI: Exports as indexed-color .ani with RLE compression. Requires quantization.
  • EFF: Image sequence export with .eff metadata file. Supports PNG, JPG, BMP, PCX, TGA, DDS.
  • APNG: Technically saved as .png due to FSO's 3-letter extension limit, but contains animation data.
  • RAW: Saves all frames to image files in selected format, no metadata.

Known Issues

  • None currently!

Dependencies

AnimStudio is built on a set of powerful open-source libraries to support various image formats, compression methods, and animation standards:

  • libpng – For PNG and APNG image handling
  • zlib – Compression library used by libpng
  • libimagequant (v2.x) – High-quality color quantization
  • apngdisassembler – Used to extract frames from APNG files
  • apngasm – Used to assemble APNG files from individual frames
  • compressonator - Used to allow reading and writing of DDS files

Credits

AnimStudio is developed by Mike Nelson. Based on years of experience working with FreeSpace Open assets and animation formats. Licensed under the GNU GPL v3. See LICENSE.

About

FreespaceOpen AnimStudio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages