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.
For command line usage:
npm install jeff -g
For API usage:
npm install jeff
Command line:
jeff -s mySwf.swf
API:
var jeff = require('jeff');
// Writing extracted data in current folder
var options = {
source: 'mySwf.swf',
outDir: '.'
};
jeff(options);
// Returning extracted data in a callback
var options = {
source: 'mySwf.swf',
returnData: true
};
jeff(options, function (error, stats, extractedData) {
// Uncovering conversion stats
var nbFilesConverted = stats.files;
var nbErrors = stats.errors;
// Fetching extracted data
var imageNames = extractedData.imageNames;
var image = extractedData.images;
var data = extractedData.data;
});
- 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.
For a list of command line options:
jeff -h
- Texts (Static/Dynamic)
- Buttons
- Embedded fonts
- Sounds
- ActionScript
- 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