Вот моё неполное описание формата и не точное но примерное представление оно даёт о структуре файла. Внутри может быть разные форматы текстур картинок.
Тайл это одна картинка, в идеале они всегда имеют одну ширину и высоту например 64 на 64. Их особенность в том тайлов(картинок) идут несколько подряд например их может быть 16 или 64.
Частичное описание файла .SGT
Заголовок файла 4 байта идентификатор 53 47 54 00(SGT ),
4 байта ширина полностью собранной картинки из мелких (Пример 512),
4 байта высота полностью собранной картинки из мелких (Пример 512),
4 байта непонятно ширина тайла ? (Пример 64),
4 байта непонятно высота тайла ? (Пример 64),
4 байта количество тайлов по ширине картинки (Это сколько тайлов ) (Пример 8),
4 байта количество тайлов по высоте картинки (Пример 8),
4 байта количество всех тайлов (Пример 64 тайла).
4 байта идентификатор 54 58 42 50(TXBP),
4 байта количество всех тайлов,
4 байта Непонятно,
20 байта нулей,
Дальше идут повторяющиеся тайлы и их заголовок размером 32 байта.
4 байта размер блока картинки +32 байта заголовок,
4 байта ширина тайла,
4 байта высота тайла,
4 байта формат картинки,
4 байта идентификатор палитры,
2 байта идентификатор Mipmap если внутри несколько картинок которые записаны последовательно,
2 байта Непонятно,
4 байта Непонятно Номер картинки от 0 Странно иногда значение другое,
2 байта Непонятно Значение увеличивается на 1,
2 байта Непонятно,
Дальше идёт палитра и картинка.
##
Как собирается картинка
С начало читаем сколько нужно тайлов по ширине и по высоте, создаём пустую картинку и заносим на неё тайлы.
Сам алгоритм записи тайлов такой слева вниз, слева направо.
Вот визуально как выстраивается картинка 8 тайлов в ширину 8 тайлов высоту, число это номер тайла (картинки) и где она должна находится записана в большой собранной картинки 512 на 512.
01 09 17 25 33 41 49 57
02 10 18 26 34 42 50 58
03 11 19 27 35 43 51 59
04 12 20 28 36 44 52 60
05 13 21 29 37 45 53 61
06 14 22 30 38 46 54 62
07 15 23 31 39 47 55 63
08 16 24 32 40 48 56 64
##
Скрипт делает некое представление как должен собираться картинка а не полноценный алгоритм работы по конвертации текстур, так что часть картинок не будут работать.
Код скрипта написан на Python 3.9.5
https://www.python.org/downloads/windows/ скорей всего он будет работать и в более поздних версиях.
Для работы с текстурами понадобится установить библиотеку pillow сокращённо PIL самый простой способ положить файл "Установка Pillow.bat" в папку Scripts где у тебя установлен Python
пример C:\Users\oooo\AppData\Local\Programs\Python\Python39-32\Scripts
и там его запустить .bat файл он установит Pillow.
Как работает скрипт, рядом со скриптом кладёшь файл с расширением .SGT и запускаешь его, если всё прошло успешно появится папка Unpack и вней картинка в расширением .png
Скрипт сборки картинки вложении.