tic-set-screen
A command line tool for replacing the cover image of a TIC-80 .tic cartridge file
About
As of TIC-80 version 0.90, the cover image for a cartridge is saved as a dump of the screen data. This is displayed using the cartridge's built-in palette, which will be the default Sweetie16 (or DB16) palette if a custom palette has not been explicitly set up through the TIC-80 sprite editor. Notably, poking the palette memory from a running program does not write those palette changes back to the cartridge file.
This is problematic for many size-coded / byte battle / byte jam releases, as they consist only of code and no supporting data - a program that sets a custom palette will end up with a cover image displayed in false colours. Additionally, there's no way to capture scanline-level palette changes performed with SCN or OVR.
In the absence of a "proper" fix, tic-set-screen allows you to supply an arbitrary 16-colour image, and generates a new .tic cartridge file with the screen and palette chunks modified to use that as the cover image.
(Note that, since the cartridge's built-in palette is changed, a program that only pokes some of the palette memory and relies on default values for the rest could end up looking different. If this is a problem, you can still use tic-set-screen to prepare a metadata cart for uploading to tic80.com.)
Installation
With Python 3.7 or above installed, run:
pip install tic-set-screen
(Depending on your Python setup, the command may be pip3 rather than pip. You can also install it into a Python virtual environment, if that's your jam.)
Usage
tic-set-screen input_cart.tic cover_image.png output_cart.tic
The cover image must be 240x136 and use a maximum of 16 colours. It can be PNG, GIF, or any other format recognised by Pillow.
Metadata
Release files for tic-set-screen 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tic-set-screen-0.1.tar.gz | 4.2 kB | Without provenance | Details for tic-set-screen-0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tic_set_screen-0.1-py3-none-any.whl | Python 3 | none | any | Details for tic_set_screen-0.1-py3-none-any.whl |
Total release size: 8.7 kB
Release files / tic-set-screen-0.1.tar.gz
| Download URL | tic-set-screen-0.1.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67a2c134952964b5f36c5de9df31d8a920ff31e28201db90e0a13132d2d60e9c
|
|
BLAKE2b-256 checksum How to use checksums |
2f7809a763d81e1a853cd7ccc094baf666a1a6656691e579e7c4deff6e114148
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|
Release files / tic_set_screen-0.1-py3-none-any.whl
| Download URL | tic_set_screen-0.1-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57cbd0cefdb2a05356bd423dff8ad56731649f363055db0446bc0edb02d92c9d
|
|
BLAKE2b-256 checksum How to use checksums |
82f4008d2c57711daeb86927dd62e70feb2675df6bf9c36e49f497d7f07fc49f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|
Security for tic-set-screen 0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.