feat: add Python 3 Hatenatools port

* Port PPM and TMB parsing to Python 3
* Port UGO and UGOXML handling
* Port NTFT image encoding and decoding
* Update binary data handling for Python 3 bytes
* Replace Python 2-specific syntax and APIs
* Add Python 3.13-compatible ADPCM decoding
* Preserve existing Flipnote format behavior and CLI utilities
This commit is contained in:
Rekushi authored and GitHub committed 2026-08-31 20:34:06 +01:00
1 parent e4bb0b00ba
commit 1cf5e740de
7 files changed
+2435

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
== Hatenatools ==
== By pbsds ==
== aka Peder Bergebakken Sundt ==
--VERSIONS--
PPM.py: v1.05
UGO.py: v0.92
NTFT.py: v0.72
--DESCRIPTION--
PPM.py can read the metadata, thumbnail, frames and the sound of Flipnote Studio files: .ppm
It can also handle .tmb files.
UGO.py can read and write UGO files, and modify their content. It can also convert UGO files
to and from the XML format
NTFT.py can read ntft image files and convert them to image files
Warning, it's still in a very crude state. Error will occour
These are all tested and written in python 2.7
These are all designed to be usable both as python modules and as stand alone applications.
--DOCUMENTATION--
Documentation on the formats can be found here:
https://github.com/pbsds/hatena-server/wiki
--LICENSE--
This is licensed by AGPL3
See License.txt
--CREDIT--
-Steven for most of the documentation on DSiBrew and his frame decoding example on his talkpage
-Remark for helping me understanding the 8x8 tiling on the preview images.
-JSAfive for supplying .tmb and .ugo files