Chardit/README.md

64 lines
2.0 KiB
Markdown
Raw Normal View History

2023-10-25 01:53:47 +02:00
# Character-Bitmap-Editor
A Character ROM Editor written in Python 3
2023-10-25 01:53:47 +02:00
# Overview
2023-11-01 02:27:41 +01:00
![alt text](https://github.com/0xMAC8205/Character-Bitmap-Editor/assets/55045978/85435fa2-8c8e-4169-ae5d-2cc9a46e5995)
2023-10-25 01:53:47 +02:00
Being written in python, this editor is multi-platform.
2023-11-01 02:22:30 +01:00
It's inspired by this program: https://www.min.at/prinz/o/software/pixelfont,
since it's only available on Windows :(
2023-10-25 01:53:47 +02:00
# Exporting
The program supports, exporting to an assambler include
2023-10-25 01:53:47 +02:00
(for the people whom may desire),
2023-11-01 02:22:30 +01:00
a C byte array or just a raw binary file (recommended).
2023-10-25 01:53:47 +02:00
The converted binary file, will be 2k or 4k in size
2023-10-25 01:53:47 +02:00
(Depending on, if 8x8 or 8x16 mode is used)
2023-11-01 02:22:30 +01:00
# Customisation
You can customise the editor. For example the
draw field size, displaying a grid, allowing cursor dragging
2023-11-01 02:22:30 +01:00
You can configure your color theme in $*RUNPATH*/assets/settings/theme.txt,
2023-11-01 02:22:30 +01:00
or inject your custom add-ons.
This file is sourced at applicatinon startup as a normal python script.
2023-11-01 02:22:30 +01:00
(These changes only apply when opening another instance / restarting)
# Interfacing
2023-10-25 01:53:47 +02:00
2023-11-01 02:22:30 +01:00
**Matrix**:
You select the character to modify, just by clicking the box or you can cursor around the matrix.
Here => settings "cursor wrapping" might be helpfull
2023-11-01 02:22:30 +01:00
**Draw Field**:
You can hold the mousebutton and drag the cursor to draw (depending if cursor drag is enabled)
2023-11-01 02:22:30 +01:00
# .bmf file type
The editor saves it's editable files in the .bmf format.
'.bmf' literally stands for 'Bit Map File'. (I'm not good at naming things)
2023-11-01 02:22:30 +01:00
It holds the drawn characterset as raw bytes.
Different from the "Raw Bytes" output file,
by having a small info header at the start,
but almost identical. (But **Not** Compatible)
# Dependencies
* python3
* tkinter library
* functools library
2023-10-25 01:53:47 +02:00
# Known issues
* Drawn content getting applied, when exiting current cell
* Tooltips are buggy, with multiple instances open
* 8x16 Character exports don't work currently (may deprecate soon)
* UI missalignment and slow performance in MacOS (propably Tkinter's fault)
# ToDo
* Custom export formats (present in /assets/custom_formats, but not implemented)