Code Monkey home page Code Monkey logo

freemote's Introduction

FreeMote

Build Status

Managed EMT/PSB tool libs.

Download FreeMote Toolkit

About PSB

FreeMote is a set of tool/libs for M2 Packaged Struct Binary file format. The file header usually starts with PSB/PSZ/mdf, and the file extensions usually are .psb|.psz|.mdf|.pimg|.scn|.mmo|.emtbytes|.mtn|.dpak.

However, there are some other file formats using the same extensions. They are NOT supported:

  • .psb: PlayStation Binary (PS3) | PhotoShop Big (Photoshop)
  • .mdf: Mirror Disc File (Alcohol 120%) | Primary Data File (MSSQL)
  • .mtn: Motion File (Live2D)

Before submitting an issue or asking a question, please check your PSB file header with a hex editor.

Components

FreeMote

Basic functions. Decrypt or encrypt EMT PSB files.

FreeMote SDK

Special API libs for EMT engine, which take pure (unencrypted) PSB files as input.

FreeMote.Psb

Parse PSB format. Draw the EMT model (statically) without EMT engine.

FreeMote.PsBuild

Compile and decompile PSB files. Convert PSB among different platforms. Recover EMT projects.

FreeMote.Plugins

External/Experimental features. Read wiki for usages.

  • Images: TLG encoding/decoding support via FreeMote.Tlg (by Ulysses). (x64)
  • Shells: Compression/decompression support.
  • Audio: Experimental support for audio used in PSB.

FreeMote.Purify (Unreleased)

Infer and calculate the key used by EMT PSB file just from the PSB file (rather than get from engine).

Tools

EmtConvert (FreeMote.Tools.EmtConvert)

Convert EMT PSB files.

PsbDecompile (FreeMote.Tools.PsbDecompile)

Decompile PSB files to json files and resources.

PsBuild (FreeMote.Tools.PsBuild)

Compile PSB json files and resources to PSB.

EmtMake (FreeMote.Tools.EmtMake) (Preview)

Decompile an EMT PSB to MMO project. The output file is always licensed under CC-BY-NC-SA 4.0. No commercial usage allowed!

FreeMote Viewer (FreeMote.Tools.Viewer)

Open and render EMT pure PSB. This tool is powered by FreeMote.NET.

Build

This project requires VS 2019 and .NET 4.7.2 - 4.8 to build.

FreeMote.Plugins / FreeMote.Plugins.x64 require a MyGet feed to get external libs made by us. If you don't need FreeMote Plugins, you can unload Plugins projects and remove them from other projects' reference.

To install our own nuget packages, add this feed to VS:

https://www.myget.org/F/monarchsolutions/api/v3/index.json

Test

Get PSB samples for test and research from FreeMote.Samples.

Thanks for everyone who provided these samples!


by Ulysses ([email protected]) from Project AZUSA

Creative Commons License
FreeMote is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC-BY-NC-SA 4.0).

It's required to attach the text of FreeMote.LICENSE with your release if you're using FreeMote libs.

Some outputs of FreeMote (mmo/psd etc.) are transformed from FreeMote code and are considered as Adapted Material. Therefore they're always licensed under CC-BY-NC-SA 4.0. wiki

Issue Report · Pull Request · Wiki

Support Us

Thanks

freemote's People

Contributors

ulysseswu 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.