SGDK. SGDKResCodeGen простое создание .res файлов

Предисловие.

При импорте спрайта в свой SGDK проект, обычно, поступают так:

  1. Закидывают спрайт в папку res/sprites.
  2. Прописывают название ресурса, путь до него, размер в тайлах, уровень компрессии в .res файл.

Многовато действий для 2-го шага, поэтому, я создал программу которая создает .res файлы автоматически и назвал её SGDKResCodeGen.

Как она работает?

Она, проверяет названия файлов в папках gfx, images, sounds и т.д., и на основе этих данных, создает .res файлы. Все что до «» считается названием ресурса, все что после, отвечает за настройки ресурса.

Начинаем работать.

Сперва:

  • Скачайте последнюю версию SGDKResCodeGen.
  • Переместите её в папку res вашего SGDK проекта.
  • Запустите её.

У вас появится несколько папок

Внутрь этих папок, вы будете добавлять нужные вам ресурсы. Например, добавим файл player-3_3_5.png в папку sprites. Скачать player-3_3_5.png с MEGA.

Теперь, снова запустите SGDKResCodeGen, и откройте sprites.res

И что мы видим:

  • Имя ресурса теперь «spr_» + имя файла до ««
  • Путь до ресурса создался автоматически
  • Размер в тайлах по x,y, взят из имени файла (3_3)
  • То же самое и с временем одного кадра в тиках. (5)

Т.е. импорт ресурсов сильно упрощается, потому-что:

  • Вам больше не надо прописывать путь до ресурса
  • Указывать его имя трижды (в названии файла, в названии ресурса, в пути до ресурса)

Спрайты, единственные ресурсы которые требуют подобной настройки, остальные, в большинстве случаев, можно просто закинуть в отведенную ему папку.

Также, если вы не будете указывать настройки (текст после «-«), то размер в тайлах посчитается автоматически, исходя из размера картинки.

За что каждая папка отвечает.

Отвечают они за:

  • gfx — используется для карт (уровней) в формате png, генерирует ресурсы PALETTE, TILESET, MAP, которые связаны друг с другом.
  • images — хранит картинки в формате png, создает ресурсы IMAGE
  • music — используется для музыки в формате vgm и wav, создает ресурсы XGM и WAV в зависимости от типа файла.
  • palette — хранит палитру в формате png или pal, создает ресурсы PALETTE.
  • sound — хранит звуки в формате wav, создает WAV ресурсы.
  • sprites — хранит картинки в формате png, создает SPRITE ресурсы.
  • tilesets — хранит картинки в формате png, создает TILESET ресурсы.

Программа классная но…

У программы открытый исходный код, вы всегда можете изменить её под себя.

А есть пример использования?

Есть, находится здесь.

О создании программы.

Изначально, эта программа была частью другой программы написанной на Flutter. Я хотел создать программу для упрощения разработки, она использовала данные с .ldtk файла, и, на основе их, генерировала код локаций. Также, там можно было выбирать уровень оптимизации, включать/выключать читы. Данная программа была жутко багованная, и по сути, была формой с настройками. Я вырезал код SGDKResCodeGen из той программы и выложил на github.

Позже, я на игровом движке Godot написал PlatformerStudioforSGDK, идея та же, но реализация намного лучше чем у оригинала. Это, все тот же генератор кода, но не требующий .ldtk файла, расстановка врагов, установка карты коллизии, все это делается в самой студии. А еще, эта студия использует SGDKResCodeGen для импорта ресурсов.

Итоговый результат.

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!