jeff
Jeff converts Flash™ SWFs into a JSON/PNG format for high performance usage in HTML/JavaScript. The extracted content could be used to integrate Flash™ Animations in your game using your favorite HTML Game Engine.
Contains a variety of options to allow you to get performance where you need it:
Optimised speed performance:
- Asset rasterisation (faster than vectorial drawing)
- Image Atlas creation (to enable batch sprite rendering in WebGL)
- Extracting images with power of 2 dimensions (to enable mipmapping)
Optimised memory performance:
- Image compression (lossy and loss-less compressions)
- Animation Scaling (to rasterise images at the exact size needed)
Optimised ease of use:
- Gathering several animations in a single output: Reduced number of assets to manage
- Frame by Frame rasterisation: for easy integration in your game
Very good scalability: from both the command line as well as through the API, it can be used to do batch extraction on multiple SWFs.
Made at Wizcorp.
Install
For command line usage:
npm install jeff -g
For API usage:
npm install jeff
Usage
Command line:
jeff -s mySwf.swf
API:
var jeff = ; // Writing extracted data in current foldervar options = source: 'mySwf.swf' outDir: '.'; ; // Returning extracted data in a callbackvar options = source: 'mySwf.swf' returnData: true; ;
Operation
- Will parse the input directory to find SWF files corresponding to the given source file pattern.
- Will sequentially parse and process the SWF files.
- Will export JSON meta-data and images corresponding to the SWF files.
Roadmap for unsupported features
- Texts (Static/Dynamic)
- Buttons
- Embedded fonts
- Sounds
- ActionScript
Roadmap for extract options
- Option to extract shapes under vectorial format
- Option to extract meta-data under keyframe based format (as opposed to per frame transformation matrix)
For contributors, see SWF File Format Specifications