Giter VIP home page Giter VIP logo

jeff's Introduction

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 = 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;
});

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

jeff's People

Contributors

jsdidierlaurent avatar cainmartin avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.