Giter Club home page Giter Club logo

libapt's Introduction

Purpose of this project

This project is aimed at decoding & rendering .apt files that are used by the SAGE engine from EA Games. The .apt file format is heavily based on SWF files (adobe flash). There are a couple differences though, most noticeably in the actionscript bytecode. EA Games did expand this with their own custom Bytecodes, see the bytecode.hpp for reference

Build status

Build Status Build status

How to build

Make sure you clone the repository recursive, since it makes use of a lot of submodules

$ mkdir build && cd build
$ cmake ..
$ cmake --build .

Format specification

Most of the information i got about this format was found in the modding tools "apt2xml" and "xml2apt" that were released by Jonwil on his homepage http://www.cncmods.net ,which is currently offline unfortunaly.

The format is also heavily based on SWF v9. See the specification of that format here: specification

Current status

The parsing works pretty well, but the actionscript part needs much more work. Below I'll add screenshots on how the file should look and how it is looking at the moment. Battle for Middleearth II: Image of Mainmenu

The apt player using libapt: Image of Mainmenu

Notice that the background is not actually part of the Apt file. Most differences are due to missing actionscript support. Text support is on my TODO list aswell.

Contributors

Stephan Vedder - Main tool Tomsons26 - Helped with enums

libapt's People

Contributors

feliwir avatar

Watchers

 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.