Автор Тема: SGDK  (Прочитано 74477 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MASTERMAX

  • Пользователь
  • Сообщений: 569
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #30 : 09 Сентябрь 2015, 17:50:45 »
s1nka, да я же ничего не говорю. issue, к слову, не наш, мы его просто там обнаружили и написали туда  :)

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #31 : 12 Сентябрь 2015, 10:00:43 »
Друзья, как я понял вы собрали gendev? Тестовые примеры собирали? Поделитесь бинарниками. docker мне не по душе, а ковырять почему в новых версия gcc не собираются данные не охота. Пока не охота. Так что вся надежда на вас. :)

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #32 : 13 Сентябрь 2015, 22:48:57 »
ковырять почему в новых версия gcc не собираются данные не охота. Пока не охота
Дело не в версии - я ставил виртуалку с древним убунту - та же проблема.
Цитата
вся надежда на вас
Как только выяснится причина и найдется решение - дам знать. ;)

А пока что мне пришлось самому переключиться на триклятый виндак, чтобы была возможность использовать SGDK.
Так что не сомневайтесь в том, что я сказал ранее - я часто проверяю новости, чтобы ни секунды лишней не просидеть на винде :lol:

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #33 : 14 Сентябрь 2015, 17:48:56 »
worm, Убунте не доверяю. Качаю старенький дебиан.

Оффлайн Mashin

  • Пользователь
  • Сообщений: 85
  • Пол: Мужской
    • Twitter
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #34 : 17 Октябрь 2015, 15:45:46 »
подробная инструкция)
Кто-нибудь запиливал новые версии SGDK под linux? Очень нужно. Да, я пробовал ставить его "адаптацию" Gendev project, но постоянно при компиляции SDK вылетает "ошибка 2" безо всяких объяснений. Пробовал на разных дистрибутивах.

У меня была такая проблема. Попробуй вместо make написать sudo make. Там Makefile странно написан, он компилирует и сразу устанавливает бинарник в /opt. А если нет прав на установку, то дальнейшая компиляция прерывается. Я в issue об этом написал.

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #35 : 11 Ноябрь 2015, 09:23:46 »
s1nka, получилось скомпилировать gendev.
Нужно было поставить эти пакеты...
sudo apt-get install subversion build-essential texinfoИ использовать sudo где только можно :)
Отпишись потом.

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #36 : 11 Ноябрь 2015, 17:16:48 »
Цитата: worm
И использовать sudo где только можно

За это убивать нужно. По сути нужно по make собрать всё, а уже make install ставить, там пусть и требует root права.
з.ы. попробую собрать, если получится, можно попробовать переписать Makefiles для нормальной работы.

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #37 : 11 Ноябрь 2015, 20:26:27 »
Кстати, проект собрать у меня так и не получилось - не может найти .o файл. Там еще очень много возни, к которой мой мозжечок не адаптирован)
« Последнее редактирование: 11 Ноябрь 2015, 20:37:23 от worm »

Оффлайн Doomguard45

  • Пользователь
  • Сообщений: 237
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #38 : 12 Ноябрь 2015, 07:06:09 »

За это убивать нужно. По сути нужно по make собрать всё, а уже make install ставить, там пусть и требует root права.
з.ы. попробую собрать, если получится, можно попробовать переписать Makefiles для нормальной работы.

По-хорошему и make install прописывать так себе идея:
make -j4
./<application>

Нафига в систему ставить то, что собирается с исходниках, только мусорить

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #39 : 12 Ноябрь 2015, 17:10:13 »
Doomguard45, это же SDK. Как его потом как запускать?
А так в /opt/ установить и потом игры собирать через Makefiles спокойно.

worm, я решил не мусорить в своей системе, сейчас виртуалку хочу подготовить и в ней всё собрать.
Были deb-пакеты со старой сборки еще на googlecode. У меня даже сохранился:
> 507df13eda6e02a2841af5d196671446 *gendev_1_all.deb
Его можно использоваться для сборки deb-пакета новой версии.

Оффлайн Doomguard45

  • Пользователь
  • Сообщений: 237
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #40 : 12 Ноябрь 2015, 17:21:27 »
Doomguard45, это же SDK. Как его потом как запускать?
А так в /opt/ установить и потом игры собирать через Makefiles спокойно.

worm, я решил не мусорить в своей системе, сейчас виртуалку хочу подготовить и в ней всё собрать.
Были deb-пакеты со старой сборки еще на googlecode. У меня даже сохранился:
> 507df13eda6e02a2841af5d196671446 *gendev_1_all.deb
Его можно использоваться для сборки deb-пакета новой версии.

Ну на крайняк chmod, раньше я по своей глупости всё инсталил в систему, в итоге упала в один момент, сейчас только так  - никаких проблем

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #41 : 13 Ноябрь 2015, 02:11:18 »
Doomguard45, это же SDK. Как его потом как запускать?
А так в /opt/ установить и потом игры собирать через Makefiles спокойно.

worm, я решил не мусорить в своей системе, сейчас виртуалку хочу подготовить и в ней всё собрать.
Были deb-пакеты со старой сборки еще на googlecode. У меня даже сохранился:
> 507df13eda6e02a2841af5d196671446 *gendev_1_all.deb
Его можно использоваться для сборки deb-пакета новой версии.
Хорошо) я уже во всю проекты пилю :lol:
Единственное, что настораживает, так это...
Цитата: Компилятор
предупреждение: несовместимые типы для внутренней функции «strcmp» [по умолчанию включена]
Хотя лучше такие относительно безобидные предупреждения, чем этот триклятый couldn't allocate heap, от которого спасения нет, на не менее триклятой виндузе.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #42 : 17 Ноябрь 2015, 07:02:18 »
Тут не столько  триклятая виндуза с триклятыми убунтами, сколько триклятая сама СДК с триклятыми спрайтами.

Вот basiegaxorz менее триклятый, вроде. Но туторы на испанском нашёл только.
Как я понял, в data массив перегоняются программой imagenesis.
На практике ещё не осваивал, на днях попробую.
А триклятую sgdk думаю оставить до лучших времён, когда на неё запилят путёвый интерфейс и утилиты конвертации триклятых спрайтов (только сомневаюсь, что это произойдёт когда-нибудь).

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #43 : 17 Ноябрь 2015, 07:38:44 »
ALKOSHA, попробуйте проект violence pingouin от djcc, там все спрайты рисованы в graphics gale.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #44 : 17 Ноябрь 2015, 22:35:28 »
А триклятую sgdk думаю оставить до лучших времён, когда на неё запилят путёвый интерфейс

Настроил код-блокс (под триклятой вендой, конечно же), дАволен. :(
Хоть давно есть руководства по настройке эклипса, но C::B мне роднее.

А что касается васика, с ним есть траблы в плане 6-ти кнопочного контроллера, а так же со скроллингом. Но те траблы выявил не я. Читанул отзывы рэтро-программиздов.

ALKOSHA, попробуйте проект violence pingouin от djcc, там все спрайты рисованы в graphics gale.

яжНЕпрограммист, разбираться в чужом коде из десятков сишных файликов для меня занятие непосильное. Тем паче, как быть если захочу конвертануть из png или bmp...



Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #45 : 18 Ноябрь 2015, 09:54:55 »
Хоть давно есть руководства по настройке эклипса, но C::B мне роднее.
Java зло. Никогда не любил java программы. А гайд по настройке C::B есть давно на сайте sgdk :)
А что касается васика, с ним есть траблы в плане 6-ти кнопочного контроллера, а так же со скроллингом.
Хоть и говорят, что начинать лучше с простого, ЯЩЕТАЮ, что лучше сразу погрузиться в изучение профессионального языка. Бейсик это так, песочница + далеко на нем не уедешь. Мы же с рождения не учили сначала английский язык, потому, что он проще русского, не говоря уже об азиатах) ...хоть и было бы неплохо.
Тем паче, как быть если захочу конвертануть из png или bmp
В sgdk есть genres, там проблем с конвертацией не должно быть) он поддерживает много чего.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #46 : 24 Ноябрь 2015, 00:46:18 »
Ну вот, допустим, начнём с чего попроще.  :neznayu: Не с пингвина того, криво нарисованного в графикс-гейле (в духе нынешних тошнотворных инди-игр), а с того, что поставляется в качестве примера в комплекте с СДК.
Залазим, значит, в gfx.res. Смотрим, шо там такое происходит.
IMAGE bgb_image "bgb.png" -1
IMAGE bga_image "bga.png" -1

Собсно, указаны дэфайны файлов, которые конвертятся в ром в виде набора тайлов. -1 означает (как сказано в мануале)  лучшая компрессия.
Ну, по всей видимости, тут в лучшем случае RLE-алгоритм какой-нибудь.

Дальше интереснее - спрайты Саника.
SPRITE sonic_sprite "sonic.png" 6 6 -1 5

6 6 - Ширина\высота. Это указано количество тайлов 8*8, приходящихся на спрайт? Или шо это ваще?
-1 - степень компрессии.
5 - интервал показа спрайта в анимации, насколько я понимаю.

Короче, мне необходимо для разгона именно раздуплиться с этим базисом. Помогите, пжалуйста.
Хочу понять, как сделать вывод массива спрайтов более 32*32. И в данном примере на бэкграундовые слои наложена сплошная картинка, а как организовать именно массивом тайлов, к примеру, 48*48 пикселей каждый тайл.
С сишными массивами я знаком. Мне бы просто понять нюансы этой сдк в плане спрайтов, тайлов, палитр и прочих заморочек рэтро-графики.
« Последнее редактирование: 24 Ноябрь 2015, 01:49:57 от ALKOSHA »

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #47 : 24 Ноябрь 2015, 07:13:24 »
ALKOSHA, на Вашем месте, я бы не стал ковырять пример соника - он до жути криво написан. Чем больше будет спрайт Вашего персонажа, тем больше будет лагов. Ну, а если для Вас главное - разобраться с самой структурой - тут все просто. Главное, чтобы спрайт был кратным восьми - можете забить spritesheet кубиками 8 на 8 или 16 на 16 и выделить каждую область такого размера, насколько большим должен быть 1 спрайт. Ширина и высота спрайта, как Вы заметили, указывается в .res, остальное в main.c в дефайнах :)

Анимации в spritesheet идут по вертикали и обозначены в исходнике дефайнами для удобства.
#define ANIM_STAND      0
#define ANIM_WAIT       1
#define ANIM_WALK       2
#define ANIM_RUN        3
#define ANIM_BRAKE      4
#define ANIM_UP         5
#define ANIM_CROUNCH    6
#define ANIM_ROLL       7

Вот пример картинки, в .res указать SPRITE sonic_sprite "untitled.png" 8 10 -1 5

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #48 : 24 Ноябрь 2015, 19:27:00 »
Перерисовал спрайт Агрессора (https://youtu.be/iVOKmySBXsU) под 4-ёх битную палитру.



Нормально? Или шляпа получается? (хочу портировать его на сегу)

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #49 : 24 Ноябрь 2015, 19:41:37 »
Нормально? Или шляпа получается? (хочу портировать его на сегу)
Вполне адекватно) "ябиграл" :lol:

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #50 : 24 Ноябрь 2015, 19:56:03 »
на чем он писАлся?

На плюсах (хотя с самого начала ООП не использовал, за что и поплатился, захлебнувшись набором кучи переменных и ф-ций). Для вывода спрайтов и звука юзал библиотеку HGE.

Потом как-нибудь надеюсь полностью двиг под ООП переписать.

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #51 : 24 Ноябрь 2015, 20:02:04 »
Потом как-нибудь надеюсь полностью двиг под ООП переписать.
Если под сегу, лучше остаться на породистых сях, я читал, плюсы дают более слоупочный и жирный код)

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #52 : 25 Ноябрь 2015, 01:25:00 »
Image res/aggressor.png use color index >= 64
IMAGE resource require image with a maximum of 64 colors.
rm res/gfx.s

Цветов в sprite-shit'e  менее шестнадцати штук. Но сохранён он в 8-ми битной палитре (прозрачные пикселы тоже есть. В примере с соником они тоже присутствуют).
Как корректно сохранить png, чтоб компилятор ресурсов не матюкался ? Шоб с учётом прозрачных пикселей.

Добавлено позже:
Надо как-то уменьшить битность индексации палитры.
А то неиспользуемые цвета заполняют все 8 бит.



Добавлено позже:
О, в фотошопе есть Save for web, где можно указать кол-во индексированных цветов.

Добавлено позже:
Мда... транспарент не сохранился. Вместо него пиксели белые.
Да и палитра нарушена.

« Последнее редактирование: 25 Ноябрь 2015, 01:37:47 от ALKOSHA »

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #53 : 25 Ноябрь 2015, 08:13:25 »
Цитата
Как корректно сохранить png, чтоб компилятор ресурсов не матюкался ?
1) Максимум - 16 цветов. В фотошопе image > mode > indexed color.
2) В размерах, картинка должна быть кратной 8ми.
Цитата
- Шоб с учётом прозрачных пикселей.
- Мда... транспарент не сохранился. Вместо него пиксели белые.
Так и думал, что возникнет проблема с фоном - сам возился, помню))
"Фон" спрайта должен быть закрашен первым цветом палитры. Причем не важно, какой это цвет, главное, чтобы он был первым (слева) - первый цвет для сеги всегда прозрачный. :)
Видите, у Вас первым цветом местами закрашен персонаж? В этих местах, он прозрачный)
Цитата
Да и палитра нарушена.
В сеге заложено всего (если ошибаюсь - поправьте) 256 цветов, которые она может отобразить. Если хоть один цвет из Вашей палитры не соответствует ни одному из тех, что заложены в сеге, компилятор подгоняет его под самый "родственный" этому цвету.
Например, если у Вас в палитре есть достаточно темный желто-зеленый цвет, компилятор может преобразовать его в коричневый.
« Последнее редактирование: 25 Ноябрь 2015, 08:25:17 от worm »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #54 : 25 Ноябрь 2015, 14:18:05 »
1) Максимум - 16 цветов. В фотошопе image > mode > indexed color.

Режим в фотожопе с индексированными цветами.
Более того, сохранял из фотошопа как 64-мя индексами, так и с 16-тью - результат один и тот же.


Добавлено позже:
Цитата
Видите, у Вас первым цветом местами закрашен персонаж? В этих местах, он прозрачный)

Точно. Я и забыл уже сей момент.

Добавлено позже:
В сеге заложено всего (если ошибаюсь - поправьте) 256 цветов, которые она может отобразить.

512, вроде.

То есть надо взять дамп сеговской палитры, и ею рисовать? Окей попробую.
Не знаю насколько верная эта палитра, воспользуюсь ею для начала:

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #55 : 25 Ноябрь 2015, 15:25:59 »
512, вроде.
Тьфу, 512. Пардон - голова дырявая)
То есть надо взять дамп сеговской палитры, и ею рисовать?
Для достижения лучшего результата, лучше так и сделать. Но я, лично, не парюсь)

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #56 : 25 Ноябрь 2015, 15:32:55 »
Вот только непонятно, каким образом переместить прозрачный цвет  в таблице индексов на первое место.
« Последнее редактирование: 25 Ноябрь 2015, 15:51:40 от ALKOSHA »

Оффлайн worm

  • Пользователь
  • Сообщений: 1075
  • Пол: Мужской
  • Злой тролляка
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #57 : 25 Ноябрь 2015, 16:02:28 »
Вот только непонятно, каким образом переместить прозрачный цвет  в таблице индексов на первое место.
Первый цвет сделать, к примеру, фиолетовым и залить им фон)

Оффлайн SPOT

  • Пользователь
  • Сообщений: 574
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #58 : 25 Ноябрь 2015, 16:16:12 »
Не знаю насколько верная эта палитра, воспользуюсь ею для начала:
Для понимания процесса советую прочитать "Sega MegaDrive палитра".

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #59 : 25 Ноябрь 2015, 22:04:59 »
Для понимания процесса советую прочитать "Sega MegaDrive палитра".


Та ну. Ковыряться в HEX-значениях муторное занятие.
Компилятор ресурсов и без того вполне нормально компарирует цвет к ближайшим значениям.

Добавлено позже:
Первый цвет сделать, к примеру, фиолетовым и залить им фон)

Хмм... ща попробовал кое-как отсортировать средствами фотошопы таким образом, чтоб сиреневый цвет был первым (сортировка по интенсивности цвета).
В процессе компиляции крашит  :-\
Что странно, графику-то компилит до конца, а крашит в момент компиляции посредством xgmtool.exe (отвечает за музло).

Добавлено позже:


Добавлено позже:
Цитата
--> executing plugin XGM...
Executing E:\sgdk112\bin/xgmtool "res/sonic1.vgm" "res/sonic1.bin" -s
rm res/music.s res/gfx.s
...
Скопировал со слиянием все подкаталоги из sample, только тогда докомпилировало до конца.
Почему-то если удалить то, что XGMtool нагадил во время сборки - крашит. А то, что графическая либа собирает нужно удалять для пересборки, иначе результата не видно будет. Но с либой музыки какая-то муть.

Добавлено позже:
всё-равно шляпа.


Добавлено позже:


Добавлено позже:
Похоже, что transparent  в любом случае 0x00 (чёрный, вне зависимости от расположения в таблице индексов). :?

Добавлено позже:
 0_0

Сделал чёрный цвет - заливкой на прозрачность, а самого чувака чуть-чуть прибавил в сторону серого.
Вроде уже и нормально на первый взгляд...


На второй взгляд...


Само музло играет на своей волне, а вот MC68000 чудит какую-то сатану.
« Последнее редактирование: 25 Ноябрь 2015, 23:20:30 от ALKOSHA »