2023-10-25 01:53:47 +02:00
|
|
|
# Character-Bitmap-Editor
|
2024-07-25 02:18:40 +02:00
|
|
|
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
|
|
|
|
2024-07-25 02:18:40 +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
|
2024-07-25 02:18:40 +02:00
|
|
|
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
|
|
|
|
2024-07-25 02:18:40 +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
|
|
|
|
|
2024-07-25 02:18:40 +02:00
|
|
|
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
|
|
|
|
2024-07-25 02:18:40 +02: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.
|
2024-07-25 02:18:40 +02:00
|
|
|
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**:
|
|
|
|
|
2024-07-25 02:18:40 +02:00
|
|
|
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**:
|
|
|
|
|
2024-07-25 02:18:40 +02:00
|
|
|
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
|
2024-07-25 02:18:40 +02:00
|
|
|
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
|
2024-07-25 02:18:40 +02:00
|
|
|
* 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
|
2024-07-25 02:18:40 +02:00
|
|
|
* 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)
|