A library for reading and writing TIC-80 .tic cartridge files
Project description
ticfile
A library for reading and writing TIC-80 .tic cartridge files.
See https://github.com/nesbox/TIC-80/wiki/.tic-File-Format for the file format description.
Installation
pip install ticfile
Usage
from ticfile import TICFile, ChunkType
duck_jam = TICFile.open("duckjam.tic")
code_chunks = [chunk for chunk in duck_jam.chunks if chunk.type == ChunkType.CODE]
code_lines = code_chunks[0].data.decode("ascii").split("\n")
print(code_lines[0])
API
The ticfile
module provides the following definitions:
TICFile
Represents a complete .tic file.
Class methods
TICFile(chunks)
- construct aTICFile
from a list ofChunk
objectsTICFile.open(filename)
- open aTICFile
from the given filenameTICFile.from_file(f)
- open aTICFile
from the given file handle
Instance methods / attributes
chunks
- the list ofChunk
objects making up this filesave(filename)
- write this file to the given filename
ChunkType
An enum defining the available chunk types:
ChunkType.TILES = 1
ChunkType.SPRITES = 2
ChunkType.MAP = 4
ChunkType.CODE = 5
ChunkType.FLAGS = 6
ChunkType.SAMPLES = 9
ChunkType.WAVEFORM = 10
ChunkType.PALETTE = 12
ChunkType.MUSIC = 14
ChunkType.PATTERNS = 15
ChunkType.DEFAULT = 17
ChunkType.SCREEN = 18
ChunkType.BINARY = 19
ChunkType.COVER_DEP = 3
ChunkType.PATTERNS_DEP = 13
ChunkType.CODE_ZIP = 16
Chunk
Represents an individual chunk within a .tic file.
Class methods
Chunk(chunk_type, bank, data)
- construct aChunk
object **chunk_type
- one of the enum values defined inChunkType
**bank
- the bank number (0..7) for this chunk **data
- the binary data of this chunk, excluding the header, as abytes
object
Instance methods / attributes
type
- the type of this chunk, given as one of the enum values defined inChunkType
bank
- the bank number (0..7) for this chunkdata
- the binary data of this chunk, excluding the header, as abytes
objectwrite(f)
- write this chunk to the given file handle
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ticfile-0.1.tar.gz
(3.8 kB
view details)
Built Distribution
ticfile-0.1-py3-none-any.whl
(4.0 kB
view details)
File details
Details for the file ticfile-0.1.tar.gz
.
File metadata
- Download URL: ticfile-0.1.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e2a6a52ccfb10187f852c6c508c215d92ed5e718eb823751ea2b995abd9ca75 |
|
MD5 | c7142c369222540619dbc4b311566e63 |
|
BLAKE2b-256 | 9053b1d585bdb1991d9770e67c886c1ab22c4f5dc0bd6b45fa49b8f127b6b6bb |
Provenance
File details
Details for the file ticfile-0.1-py3-none-any.whl
.
File metadata
- Download URL: ticfile-0.1-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ab24577250711bbf272a3fbf426e8e8d6167e67772cd60ea0a6dfedd101c34a |
|
MD5 | c95082fa01d83c801487f78092af7947 |
|
BLAKE2b-256 | 30fed23ab6cfef2a580ce4de7bf0a7e639f00e3ed61cd9980e1b03e66ba3b7c9 |