Converts images to GameBoy tileset
Project description
img2gb generates GameBoy Tilesets and Tilemaps from standard image (PNG, JPEG,…). It converts the images into the GameBoy image format and generates C code (.c and .h files) that can be used in GameBoy projects.
Documentation: https://flozz.github.io/img2gb/
Dependencies
Python >= 3.8
Pillow >= 5.0
Install
Usage
Hacking
Setup
To work on img2gb first create a virtualenv:
python3 -m venv __env__
and activate it:
source __env__/bin/activate
Then install the project with all dev dependencies:
pip install -e .[dev]
Commands
You can lint the code and check coding style with:
nox -s lint
You can fix coding style using Black with:
nox -s black_fix
You can run test on all supported Python versions or on a specific Python version with:
nox -s test # Run on all Python version nox -s test-3.8 # Run on Python 3.8 nox -s test-3.9 # Run on Python 3.9 nox -s test-3.10 # Run on Python 3.10 nox -s test-3.11 # Run on Python 3.11 nox -s test-3.12 # Run on Python 3.12
And you can build the documentation with (result in build/html/):
nox -s gendoc
Links
Examples of GameBoy programs that uses img2gb for graphics: * https://github.com/flozz/gameboy-examples/tree/master/05-graphics2 * https://github.com/flozz/gameboy-examples/tree/master/06-graphics3-background
Article about the tile encoding and img2gb: https://blog.flozz.fr/2018/11/19/developpement-gameboy-5-creer-des-tilesets/ (French)
Support this project
Want to support this project?
Changelog
[NEXT] (changes on master, but not released yet):
Nothing yet ;)
v1.2.0:
fix: Fixed wrong version displayed (@flozz, #3)
chore: Added Python 3.11 and 3.12 support
chore!: Removed Python 2.7 and 3.7 support
v1.1.0:
Removes arbitrary size limit for tilmaps
Implements offset option (#2)
v1.0.0:
Refacto of the Python API, with new high-level fuction to be easier to use
Refacto of the CLI: now tileset and tilemap are generated separately, this allow more options for both and covers more usecases.
New option to handle alternative palette
New option to handle 8x16px sprites
Documentation
Unit test (everything is not coverd but it is better than nothing :))
v0.10.0: Adds non-RGB image support (indexed images,…)
v0.9.1: Fixes an issue with Python 3
v0.9.0: Initial release (generates tiles, tilesets and tilemaps)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.