Inzarcon / JessiCa-SON

JessiCa: Serpents Obstruct None. A GUI tileset composer (and going to be configurator) for Cataclysm: Dark Days Ahead
Other
1 stars 0 forks source link

JessiCa: Serpents Obstruct None

JessiCa: Serpents Obstruct None is (going to be) a Qt 6-powered tileset configurator for Cataclysm: Dark Days Ahead. Currently, JessiCa is in an early prototyping/alpha stage, but its core GUI wrapper for compose.py is mostly functional. For 64-Bit Windows 10+, JessiCa standalone releases are bundled with everything it needs for tileset composing. Most notably, this includes a minimal Python runtime, libvips, and the tileset composing script itself. No further installations* or setting of environment variables required - just unzip and run JessiCa.bat.

* Except for some optional features, see below.

Currently implemented features:

Installation

Downloads

Standalone Releases: Here

Important Note: Windows Defender may block the JessiCa.bat file due to being unrecognized. Please see release page for details.

Source: Clone this repository or download the Source code zip archive from the releases page.

The embedded Python runtime for the standalone Windows releases is found in the companion repository JessiCa-SON-runtime.

Note that bundled app releases target 64-Bit Windows 10+ only at this time. However, you can use Python to run JessiCa manually, just like running python compose.py as usual. This should work on other platforms as well. See further below for instructions.

Optional Features

Adding json_formatter.exe

Due to the custom CDDA JSON formatter being optional and its filesize, JessiCa does not come with it. If you wish to include it, copy json_formatter.exe from your game files (where cataclysm-tiles.exe is) into Jessica's tools directory. Otherwise, the Python built-in formatter is used. This step is the same for both methods of running the app.

Note that JSON formatting is only relevant if you wish to publish your composed tileset. It is not necessary for just testing your changes in-game.

Symlink support

Some tilesets like AltiCa or Chibi-Ultica use symlinks to reference sprites from other tilesets. Symlinks do not work on Windows machines by default. To fix this, please see the tutorial from the official tileset repository:

How to clone Chibi-Ultica's symlinks on Windows

JessiCa verifies if symlinks are working for relevant tilesets and also shows this message if they are not.

Running with Python manually

The general setup is similar to the one described in the original TILESET.md from the Cataclysm-DDA repository, with additional packages such as the PySide6 Python bindings for Qt 6. In order to install Python itself, you can use the official installer from python.org. Python version 3.11 is recommended; version 3.12 is not compatible with PyQtDarkTheme. On Windows, make sure to enable the installer's 'add Python to PATH' and install with Pip options[^1].

[^1]:This is fine for most users. If you need multiple non-conflicting Python installations, package managers like conda or the much faster mamba are recommended instead.

If you have not done so yet, download libvips from the official releases. The standalone Windows release of JessiCa is bundled with version vips-dev-w64-web-8.15.1.zip. On other platforms, you may need to choose a different release type. To install it, copy at least its bin folder into JessiCa-SON/libvips. Alternatively, the regular method described in the original TILESET.md also still works.

Open a command prompt/terminal (Windows: Searchbar or Win + R. Then type "cmd" and hit Enter). Navigate to the directory where you cloned or downloaded the JessiCa source files. Alternatively, navigate to the directory first using the file explorer, then enter "cmd" into the address bar (if on Windows). Afterwards, type or copy/paste the following command into the console:

pip install -r requirements.txt

Start JessiCa by running:

python main.py

(Depending on your Python configuration, you may need to type python3 instead of python and/or python -m pip instead of pip. This should usually not be the case if you have installed Python as described above.)

Contributing

Pull Requests, Issues and general feedback are welcome. Note that JessiCa is still in an early prototyping stage. Repeated code refactoring and architecture changes are therefore to be expected. This repository is also still under construction.

License

JessiCa: Serpents Obstruct None itself is licensed under the MIT license.

Some components or parts of them included with this project are released under different license terms and have their own license notices. Most notably, this concerns the original compose.py script modified for use in JessiCa, Qt 6 and its Python bindings PySide6, the image processing library libvips, as well as their third-party subcomponents. For details, see LICENSE.md.