/Kozmadeus

Spiral Knights model importer based on Bootshuze

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

banner

Modular 3D model importer for Spiral Knights (Clyde). A direct successor of Bootshuze and Bootshuze-GUI completely revamping the design and codebase, as well as adding numerous QOL improvements along with new options.

It relies on .xml templates that can be imported within Tudey scene viewer (SpiralView).

Features

  • Importing Model Data: Geometries, Texture Mappings, Armatures, Animations (WIP)
  • Graphical and Command Line user interfaces
  • Importing to either Articulated or Static Spiral Knights XML model template
  • Support for various model formats: Collada (.dae), Wavefront (.obj)
  • Importing multiple files at the same time
  • Update checker
  • Restoring template files, in case they are missing
  • Handle both Matrix and Decomposed transforms (Collada)
  • Hotkeys (GUI)
  • Returning geometry data to stdout (CLI)

Limitations

  • Texture and material data have to be edited manually within SpiralView
  • Any imported model edits, such as transformations or scaling have to be done externally, either in model editing software such as Blender (before importing) or in SpiralView, using i.e. compound models (after importing)
  • Kozmadeus cannot compile .xml to .dat

For module-specific limitations see Limitations and Known Issues

Getting Started

For usage instructions, see Usage. For precise documentation on User Interfaces functionality, see Bundled User Interfaces.

Precompiled builds

  1. Download the latest release.
  2. Unzip it.
  3. Run the appropriate executable.

From source

  1. Install Python3 (Python 3.10 is the one that is sure to be working)
  2. Download the source code of the repo, unzip it
  3. Open command line or a terminal emulator in the unzipped folder

Note: It's recommended to create a separate Python virtual environment and enter it with the appropriate script from venv/Scripts folder.

  1. Install requirements from requirements.txt with command:
pip install -r requirements.txt

Running from source

Simply run command

  • Graphical User Interface:
python gui.py
  • Command Line Interface:
python cli.py

Compiling with Nuitka

It simply works better, faster and stronger.

  1. Create a separate Python virtual environment
  2. Enter the venv with the appropriate script from venv/Scripts folder
  3. Install requirements from requirements.txt
  4. Install Nuitka from Nuitka page or through pip:
pip install -U nuitka
  1. Compile it
  • Graphical User Interface:
python -m nuitka --standalone --include-package=modules --windows-icon-from-ico=assets/kozmadeus.ico --enable-plugin=tk-inter --windows-disable-console --output-filename=kozmadeus-gui.exe gui.py
  • Command Line Interface:
python -m nuitka --standalone --include-package=modules --windows-icon-from-ico=assets/kozmadeus.ico --output-filename=kozmadeus-cli.exe cli.py
  1. Copy assets and templates folders into the created gui.dist/cli.dist folder, then within that folder you will find the compiled executable.

About

Contributing

Feel free to contribute by posting Issues or Pull Requests. For Pull Requests, such as another module, feel free to refer to the info on the Wiki.

Credits

  • XanTheDragon - Substantive support, a LOT of substantive support. Without Xan I wouldn't be able to pull this whole thing off.

  • Puzovoz - Author of Bootshuze, some substantive support as well.

  • Kirbeh - Made the current logo.

  • Anyone who supported me during the development - Love y'all!

  • Whoever gave Kozma her name - Enabled me to make that joke~

Third Party Libraries