Разработка и ромхакинг > Ромхакинг и программирование
SGDK
<< < (36/40) > >>
rep-stosw:

--- Цитата: ALKOSHA от 30 Ноябрь 2021, 10:23:46 ---А ты точно заСЕГер... то есть, сегоид?
--- Конец цитаты ---

 :) Сегоид - человек, интересущийся программированием под Сегу. Может быть как начинающим, так и опытным.  :cool:

Играть в чужие игры он не обязан.  Играют гей-меры  :lol:


--- Цитата: ALKOSHA от 30 Ноябрь 2021, 10:23:46 ---Что мешает задать отдельные слоты на отдельные тайлы?
Палитра/приоритет/flipH/flipV задаются индивидуально на тайл же, а не на весь слой.

--- Конец цитаты ---

Опа!  0_0  Я думал, что на плейн только один слот палитры.  А он оказывается,  задаётся вместе с тайлом.   Спасибо!

Я подзабыл уже всё.  10 лет назад немного  с сегой возился, сейчас решил вплотную заняться через SDK.
ALKOSHA:

--- Цитата: rep-stosw от 30 Ноябрь 2021, 11:06:12 ---Я подзабыл уже всё.  10 лет назад немного  с сегой возился, сейчас решил вплотную заняться через SDK.
--- Конец цитаты ---
Да я и сам давно не расчехлял сегушу именно для прогинга.
Но насколько мне запомнился сей момент, я вроде рисовал на одном плейне разными слотами, и даже palette shifting мутил по этому поводу.


Могу, конечно, ошибаться.

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

--- Цитата: rep-stosw от 30 Ноябрь 2021, 11:06:12 ---Играть в чужие игры он не обязан.  Играют гей-меры 

--- Конец цитаты ---
Для меня игра это в первую очередь графоновая экспертиза (не только на сеге, а и на любой другой ретро-платформе), всегда  интересна техническая реализация.
SPOT:
Кто подскажет как использовать kdebug.h ?
Использую эмулятор Gens v2.12a KMod 0.7c
В коде:

--- Код: ---KDebug_AlertNumber (2);
KDebug_Alert ("yigh");
--- Конец кода ---

Где в эмуляторе должны появится эти сообщения?
Если в Debug Message то их там нет.
Werton:

--- Цитата: SPOT от 01 Декабрь 2021, 11:57:41 ---Кто подскажет как использовать kdebug.h ?
Использую эмулятор Gens v2.12a KMod 0.7c
В коде:

--- Код: ---KDebug_AlertNumber (2);
KDebug_Alert ("yigh");
--- Конец кода ---

Где в эмуляторе должны появится эти сообщения?
Если в Debug Message то их там нет.

--- Конец цитаты ---
Да в Debug Messages.
Включи опцию Menu>Debug>Activate Development Features.
Еще, кстати, в tools.h есть расширенный список вспомогательных функций для логгирования - KLog.
SPOT:
Werton, благодарю за помощь)
rep-stosw:
Запускаю воспроизведение VGM трека через SGDK:


--- Код: --- XGM_setLoopNumber(-1);
 XGM_startPlay(level_music);

--- Конец кода ---

Воспроизведение играет до конца, затем останавливается и не играет сначала.  А должно.

VGM трек заканчивается нормально, тихой ваты нет.  Смотрел в Foobar.

Что я делаю не так?
rep-stosw:

--- Цитата: rep-stosw от 04 Декабрь 2021, 15:18:49 ---Воспроизведение играет до конца, затем останавливается и не играет сначала.  А должно.

VGM трек заканчивается нормально, тихой ваты нет.  Смотрел в Foobar.

Что я делаю не так?
--- Конец цитаты ---

Точка зацикливания была в конце результата экспорта. Из-за этого не скруглялось в начало.

Пришлось курить формат VGM.  4 байта с адреса 0x1C  нужно заменить на 0x40 0x00 0x00 0x00 - это скругление на начало трека - с 64-го байта пойдут данные.  Размер VGM-хедера  64 байта.

Всё отлично работает и закругляется.  :)

Причём таким образом дорабатывать приходится  треки с Deflemask и с VST GennyFL   :lol:

Кстати, подумываю взять плагин круче, чем GennyFL. Потому что GennyFL довольно кривой.  То велосити слетает, из-за чего часть инструментов проглатывается,  то наоборот вылезают.

С Deflemask таких проблем нет, но я не трекерщик  :blush:
rep-stosw:
Можно ли создать маленькое окно в левом верхнем углу плоскости А,  да ктому же ещё и прозрачное? (чтобы цвет 0 был прозрачным и сквозь него проглядывала плоскость А) ?

ALKOSHA:
Кстать, напомните эмуль/сборку Gens'a или ещё какой, где можно просматривать плейны по-отдельности в полный их размер. У меня был, да где-то затерялся, давно сегизмом не занимался.
Ogr:
gensKMod
rep-stosw:

--- Цитата: rep-stosw от 05 Декабрь 2021, 08:32:18 ---Можно ли создать маленькое окно в левом верхнем углу плоскости А,  да ктому же ещё и прозрачное? (чтобы цвет 0 был прозрачным и сквозь него проглядывала плоскость А) ?
--- Конец цитаты ---

Отвечу сам себе(уже который раз) - нет!  Придётся делать спрайтами с высоким приоритетом отрисовки, как это сделано в X-Men2.  Печально конечно, ну а что делать...  Спрайты - сильно дорогой ресурс. Надеюсь, мне их хватит.

Ещё покопал этот Window, как выяснилось, это часть от Plane A, которая не подвергается скроллу.   Лучше бы ещё третью плоскость добавили, как в Capcom PS1/2/3. Чем это сраное окно.  :D



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

--- Цитата: Ogr от 08 Декабрь 2021, 00:27:22 ---gensKMod
--- Конец цитаты ---

Который кроме отладки более ни чем не полезен, ибо тормозит у меня он жутко (дёрганная анимация) и жрёт одно ядро (50%) в свёрнутом виде.

Ещё Gens меня бесит, что он не ставит фокус на своё окно.   Я его вызов добавил после сборки РОМ'а в SDGK(чтобы построенный РОМ в эмуле запускался после сборки), приходится тыкать по нему мышью, чтоб дать управление эмулятору.   

Философия "делаем всё в 1 клик" называется :)


--- Код: ---@echo off

@SET GDK=C:\SGDK
@SET GDK_WIN=C:\SGDK
@SET PATH=C:\SGDK\bin;%PATH%

goto BUILD

echo =================== CLEANING... ====================
if exist out rmdir out /s /q
if exist src\boot rmdir src\boot /s /q
if exist res\*.h del res\*.h
if exist res\*.s del res\*.s

:BUILD

echo =================== BUILDING... ===================
%GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen

echo ==================== DONE! ======================

pause

copy out\rom.bin  ..\GensKMod\rom.bin

copy out\rom.bin  ..\Fusion364\rom.bin

:: ..\GensKMod\gens.exe rom.bin

cd  ..\Fusion364
Fusion.exe rom.bin -gen

::pause

--- Конец кода ---

Fusion идёт отлично!
Werton:

--- Цитата: rep-stosw от 08 Декабрь 2021, 07:38:04 --- Лучше бы ещё третью плоскость добавили, как в Capcom PS1/2/3. Чем это сраное окно. 
--- Конец цитаты ---
Ага, а заодно бы добавили спрайтов, альфа канал им, вращение, масштабирование как в snes, еще что-нибудь из 3d там как  на psx :lol: Им бы для этого аппаратную часть пришлось бы менять, а она и так в доску урезанная для удешевления, а window это просто костыль, который немного упрощает рисования hud'а, и то, только при условии, что он будет занимать целиком горизонтальную или вертикальную полосу экрана.


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

--- Цитата: rep-stosw от 08 Декабрь 2021, 07:38:04 ---Ещё Gens меня бесит, что он не ставит фокус на своё окно.   Я его вызов добавил после сборки РОМ'а в SDGK(чтобы построенный РОМ в эмуле запускался после сборки), приходится тыкать по нему мышью, чтоб дать управление эмулятору.   

Философия "делаем всё в 1 клик" называется
--- Конец цитаты ---
Ну и дай этому окну фокус после запуска, раз уже взялся лесопеды писать, на встроенном vbs например.
rep-stosw:

--- Цитата: Werton от 08 Декабрь 2021, 09:35:35 ---вращение, масштабирование как в snes
--- Конец цитаты ---

А вот это лишнее.   От SNES-овского, GBA-шного вращения и скейлинга меня подташнивает



P.S.  А SPC700 в SNES - это отрыжка инженера  :lol:  Ибо звук глухой, как-будто на ухо наступили и не более чем микшер на 8 семплов.
ALKOSHA:

--- Цитата: Werton от 08 Декабрь 2021, 09:35:35 ---добавили спрайтов, альфа канал им, вращение, масштабирование как в snes
--- Конец цитаты ---
Но ведь снюс не могёт ни вращать, ни масштабировать спрайты, лишь слой. Да и альфаканала у спрайтов нет (всё те же 4bpp, как у сиги). Ну а полупрозрачность умеет и сежка, но на слой. Та и по количеству спрайтов в рамсах сега vs снюс не всё так однозначно.


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

--- Цитата: rep-stosw от 08 Декабрь 2021, 10:11:27 ---Ибо звук глухой
--- Конец цитаты ---

Просто чаще всего юзали дефолтный набор банков, как в ранних играх на сиге дефолтный набор пресетов синта.
Но бывали и довольно качественные семплы в редких случаях, разве что интерполятор всё равно режет высокие, и при всём жылании не выжать оные как на сежке.

Чем СНЮС однозначно круче сеги - эт около-VGA палитра. Но такой простор зачастую сказывался негативно на результате - криворукие художники подбирали цвета от балды, и получалось то мыльно блекло, то чрезмерно кислотно (кстати, рисоваки на аркадных автоматах конца 80-ых рубежа 80-90ых тем же грешат, лишь к середине 90-ых исправились). На сеге тож полно халтуры, но поменьше. На СНЮС прям аж каждая вторая игра - мыловарня.
Werton:

--- Цитата: ALKOSHA от 08 Декабрь 2021, 20:02:12 ---Но ведь снюс не могёт ни вращать, ни масштабировать спрайты, лишь слой. Да и альфаканала у спрайтов нет (всё те же 4bpp, как у сиги).
--- Конец цитаты ---
Афигеть, кто бы знал, а я думал там полные 16 бит :lol: не шарю за snes совсем, но верю на слово :)


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

--- Цитата: ALKOSHA от 08 Декабрь 2021, 20:02:12 ---Ну а полупрозрачность умеет и сежка, но на слой.
--- Конец цитаты ---
Если ты про shadow & highlight, то это ни разу не полупрозрачность.
ALKOSHA:

--- Цитата ---Если ты про shadow & highlight, то это ни разу не полупрозрачность.

--- Конец цитаты ---

Нет, я про трушную недокументированную полупрозрачность. (Смотри внимательнее демку Overdrive2)

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


Не похоже на  хигхлигхт. Обычно хигхлихт ярче подсвечивает.
Ну и в обсуждении на Pouet упоминалось, дескать, трушная полупрозрачность.

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

--- Цитата ---: when we realised what we had found in the Mega Drive hardware (a register which enabled layer blending that noone else knew about), we had a choice: make a forum post about it, or make a demo about it. We also knew that someone would discover it at some point. But this awesome opportunity doesn't come every day. So we decided at that moment to do the right thing - exploit this feature and make the best demo that we could to release at a demoparty as soon as possible.

We were also lucky because the hardware we happened to be testing with was one of the MD1s that the feature works correctly on. That was in 2013, and it was only quite a bit later that we realised that some versions of the VDP didn't behave the same - but in my opinion that wasn't a reason to cancel our demo or research. We were close to releasing at Evoke 2016 but finally managed to complete in time for the compo at Revision - see if you recognise the building in the unused scene below :)
--- Конец цитаты ---
Werton:

--- Цитата: ALKOSHA от 09 Декабрь 2021, 12:35:51 ---Не похоже на  хигхлигхт. Обычно хигхлихт ярче подсвечивает.
--- Конец цитаты ---
Да, это полупрозрачность, но дело не в яркости, а что есть смешение цветов спрайта и задника, у хайлайта просто однородно увеличивается яркость задника по области спрайта на фиксированное значение, вне зависимости от того, что там на спрайте нарисовано. Так к примеру, с этим можно сделать эффект персонажа (спрайта) ходящего за стеклом, а с хайлайтом такого не добиться. Но вот оговорка, что эффект работает не на всех видах vdp, по мне ставит крест на этом эффекте, с точки зрения применения его в играх.
ALKOSHA:

--- Цитата: Werton от 09 Декабрь 2021, 14:23:32 ---ходящего за стеклом, а с хайлайтом такого не добиться.
--- Конец цитаты ---

Почему же? дизайнерскими решениями можно добиться нужной иллюзии. Блики стекла можно прорисовать в другом индексе. Пусть они не будут полупрозрачными, но кто там будет вглядываться в каждый пиксел? Для дилетантов гэймиров даже не самые сложные эффекты в Бэтман и Робине кажутся чем-то запредельным по меркам сеги, а просто потому что художники хорошо поработали.
rep-stosw:
Гружу  карту уровня таким кодом:


--- Код: --- int idx2=ind;
 ind+=BG1_Map.tileset->numTile;

 VDP_loadTileSet(&BG1_Tileset,idx2,DMA);
 BG1=MAP_create(&BG1_Map,BG_A,TILE_ATTR_FULL(PAL1,FALSE,FALSE,FALSE,idx2));
 VDP_setPalette(PAL1,BG1_Map.palette->data);

--- Конец кода ---

Вопрос,  как повысить приоритет отдельным тайлам - платформам в уровне - в пределах одного плейна?   Второй плейн отдан под фон.

Проще говоря, хочется задавать разный приоритет тайлам в пределах одной плоскости, как на картинках ниже:



rep-stosw:

--- Цитата: rep-stosw от 11 Декабрь 2021, 11:36:42 ---Вопрос,  как повысить приоритет отдельным тайлам - платформам в уровне - в пределах одного плейна?   Второй плейн отдан под фон.

--- Конец цитаты ---

Внезапно,  нашёл решение, проверил - работает:



Ещё раз убеждаюсь в том, что Стеф - гений!  :cool:

Правда, пока приходится перетасовывать индексы ручками.  Надо бы сгородить скрипт специальный.

Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии