Code Monkey home page Code Monkey logo

plasmatransfusion's Introduction

PlasmaTransfusion

PlasmaTransfusion facilitates conversion of Ages between Plasma client versions

PlasmaTransfusion is a small, simple command-line script that relies on [libHSPlasma] 1 to assist in the conversion of fan-made worlds (Ages) made for Uru:Complete Chronicles into data compatible with the open-source [Plasma Engine] 2. Conversion between other Plasma versions should be possible but is not as thoroughly tested and relies on the current level of support provided by the libHSPlasma library.

Installation

Very little is needed to run PlasmaTransfusion. Follow the instructions to install [libHSPlasma] 1 for your platform, and be sure to build the Python bindings as well (by using -DDISABLE_PYTHON=OFF in your cmake command).
Place transfusion.py in your path or cwd and you're ready to begin.
Due to being a pre-requisite for libHSPlasma, this guide assumes you also have a working [Python interpreter] 3 installed.
Python 3.x is recommended but Python 2.7 is currently supported. The GUI application requires PyQt5.

Linux

No platform-specific instructions are currently needed.

OSX

No platform-specific instructions are currently needed.

Windows

After building libHSPlasma be sure to install the HSPlasma.dll and PyHSPlasma.pyd files into your Python's library path (typically C:\Python33\DLLs) or the same directory as the one in which you'll be running transfusion.py. If you don't have Python associated for executing Python scripts, you'll need to modify the example commands to invoke it directly, depending on the version and appropriate path for the version of Python you have installed:

py -3 transfusion.py -a MyAgeName or C:\Python33\python.exe transfusion.py -a MyAgeName

As PlasmaTransfusion is currently a command-line script, you will need to open the Windows Command Prompt in order to begin the conversion; if you prefer to avoid that you can create a customized command script to automatically perform a specific conversion (an excellent idea for iterative testing of an in-development Age). To do so, create a text file with the following contents, modified appropriately as mentioned above for your system's Python, the Age you wish to convert, and input/output locations as desired:

py -3 transfusion.py -i indat -o outdat -a MyAgeName
pause

Save the file with any valid name you choose and the cmd extension (e.g. convert.cmd) and you're all set! Of course, you can make as many of these cmd scripts as you like for different projects to streamline your conversion process.

Usage

For the simplest use-case:

./transfusion.py -a MyAgeName

I recommend using separate input and output directories to avoid name collisions:

./transfusion.py -i ./indat -o ./outdat -a MyAgeName

The input and output directory options accept both relative and absolute paths.

Other Options

Note: Use -h or --help to get a complete list of the supported options.

If you find that you need to rename the Age, or change the Sequence Prefix, this can be done using either of the -n and -s options respectively.

./transfusion.py -i ./indat -o ./outdat -a MyAgeName -n MyNewAgeName -s 313

The -q option is available to silence the script's textual output should you desire quiet operations as part of an automated process.

By default the script will convert to the MOUL-compatible [Plasma Engine] 2 format. To specify another version supported by libHSPlasma for output, use the -v option. Notable supported values are EoA, HexIsle, MOUL, PoTS, and Prime. The library should automatically detect the input version and does not need to be specified. Version names are not case-sensitive (e.g. -v EoA and -v eoa are equivalently acceptable).

./transfusion.py -a MyHexIsleLevelName -v HexIsle

License

PlasmaTransfusion was created by Joseph Davies and released under the GPLv3 license. See LICENSE.txt for more information.

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.