Правила форума
0 Пользователей и 4 Гостей просматривают эту тему.
Alexandr7, в моем случае было так: мой недоязык программирования работает с RGB. а сеговские цвета были гранатами не той системы... но хорошо товарищи подсказали по какой формуле происходит конвертирование таких сеговских цветов в RGB. хотя точнее наверное надо сказать не сеговские цвета, а значения для цвета, которые были перечислены в сборщике.в моем случае было так:читаем файл gfx\palettes\gamepal.asmи например там был упомянут цвет $ACE (специально чтоб все три значения были разные)вот моя процедура расковыривала эту "цифру" на три A C E и потом уже шло само конвертирование по той таблице:A - это 181C - 219E - 255но там еще есть нюанс - RGB - подразумевает Red Green Blue - однако тут-же помница цвета перепутаны, то есть как BRG Blue Red Green, то есть надо не RGB(A, C, E) - это будет не тот цвет, а RGB(E, C, A), точнее согласно таблице конвертации RGB(255, 219, 181)там-же где были всего два цвета типа $4C, то это то-же самое что $04C, а там где цифры без $... странно. а почему у меня бралось именно это значение, как оно есть? а... понятно например это была 4 - то есь потому что RGB(4, 0, 0) = и будет ровнятся этой самой 4.Добавлено позже:Razor, пойду проверять... в крайнем случае можно будет перезаписать сэмпл с более низкой громкостью. правда не исключено что качество, которое итак не блещет - будет еще больше похерено... хотя у меня вроде есть идея я её тоже перепроверю... а именно брать и каждому байту уменьшать или увеличивать его значение. в теории это понизит громкость тогда потери качества по идее не будет, будет чистое уменьшение громкости...
то есть тебе из RGB надо получить сеговские значения? там не выйдет 1 в 1. будет потеря цветности. сеговская более топорная из-за этого ограничения. если RGB каждый цвет из трех может быть от 0 до 255, то для сеги получается всего 7 возможных значений для одного цвета... 0, 2, 4, 6, 8, 10, 12, 14а по поводу таблицы - я ж предлагал тебе половинить значения там где-то в сообщениях, а ты четко к границам взял. думаю что-то типа такого будет более близко к оригиналу, чем твой вариант:0 - 15 = 016 - 55 = 256 - 87 = 488 - 124 = 6 и так далее. то есть плюс минус 15 где-то от "опорного" значения из таблицы. Ti_ думаю точнее скажет я то французским не владею...
то есть плюс минус 15 где-то от "опорного" значения из таблицы.
Просьба, касающаяся будущей сборки.
Так же прошел L4 Новогодние Заморочки. Могу сказать, что это хороший новогодний хак. Понравилась постановка миссии и новая графика. Прошел несколько раз - было весело.
это с какого раза записываешь ?
Фикс для сборщика r80b_x128 (большие карты) совместимости с Mega Everdrive:
спасибо большоеа в чем проблема была?
Там хоть и 16-битная память, всё равно отдельно 1байт считывать/записывать с четного адреса нельзя (как у 8-битной). Нужно всё вордами (2байта). Хотя я ещё тест делал, и в нём не работали только коды, которые изменяют этот байт, требуя старое значение (типа add,and,bclr), но по факту пришлось всё переделывать.