Автор Тема: tilemolester-палитра  (Прочитано 8324 раз)

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

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
tilemolester-палитра
« : 17 Март 2007, 00:06:03 »
..Давно заметил,что в tilemolester при переходе в режим 8bpp и выше -нельзя поменять палитру,а стандартная палитра совсем не катит...Но,есть возможность загрузить свою палитру...Так вот:-где можно достать разные палитры для режимов 8bpp,16bpp,24bpp..?

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
tilemolester-палитра
« Ответ #1 : 17 Март 2007, 17:03:44 »
Хех, молестер вещь такая... Фиг ты палитру загрузишь из другого файла :(
Приходится пихать в конец рома и грузить из него...

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
tilemolester-палитра
« Ответ #2 : 17 Март 2007, 18:07:04 »
Цитата: HoRRoR
Фиг ты палитру загрузишь из другого файла

Вообще-то я загружал палитру из файлов ZS* (save state,которые Zsnes делает),но это не особо помогло ..
 
Цитата: HoRRoR
Приходится пихать в конец рома и грузить из него

..Это как..? По-подробнее можно..?

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
tilemolester-палитра
« Ответ #3 : 17 Март 2007, 18:41:42 »
Цитата: paul_met
Вообще-то я загружал палитру из файлов ZS* (save state,которые Zsnes делает),но это не особо помогло ..

А, ну да... Есть там такая тупая возможность, загружать палитры из сохранений, но только не из файлов.

Цитата: paul_met
..Это как..? По-подробнее можно..?

Создаёшь палитру в каком-нить формате(GBA'шном например), выбираешь Import From->This file... и указываешь смещение палитры в dec-формате и выбираешь формат палитры.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
tilemolester-палитра
« Ответ #4 : 17 Март 2007, 22:12:15 »
Встречный вопрос:-как создать палитру..?

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
tilemolester-палитра
« Ответ #5 : 18 Март 2007, 01:07:16 »
Цитата: paul_met
Встречный вопрос:-как создать палитру..?

Любым доступным способом. Хоть в фотожопе. Лучше выдрать из игры. Главное потом ручками доправить до стандартного формата(если фотожопом).

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
tilemolester-палитра
« Ответ #6 : 18 Март 2007, 15:20:04 »
HoRRoR,
..А можно как-нить последовательность действий описать,а то я не догоняю..увы..(
Как из игры выдрать палитру,как сохранить и т.д...?

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
tilemolester-палитра
« Ответ #7 : 19 Март 2007, 18:57:07 »
Сперва разбирись в формате палитры...
Сам не помню уже...

Оффлайн тём(А)

  • Пользователь
  • Сообщений: 335
  • Пол: Мужской
    • Просмотр профиля
tilemolester-палитра
« Ответ #8 : 24 Март 2007, 12:18:00 »
ща заметил , что када импортишь палитру из this file, а потом изменишь её цвета, то после закрытия изменения палитры пишутся не в конфигах малестера, а прям файле.

есть еще маза вставить свою палитру: в директории малестера покоится папка resources. туда складываются конфиги всех открываемых молестером файлов и в нихже записаны юзаные палитры. фаил мой_любимый_ром.xml можно открыть для прозырки эксплорером, а модифить блокнотом.
например сегавская палитра из this file выглядит так


name


а собраная вручную так


name
00002200440066008800AA00CC00EE000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0000880848042402440406002202EE0E4606CC0C66064604660620024406EE0E0E0E000022020000EE0E8808440488080C0008000A002600280048026A046C000E0E00002000200040006000A000C000E000660C0406080A6A0E4008600A840C


size - это клво цветов
offset - смещение отчегото в 10ричной
endianness - наверно байт ордер(big - 0BGR; little - GR0B) вроде так
 - тут сами цвета перечислены. по 4 знака на цвет т.е. size*4. если цветов окажется вписано не в соответствии с size, то молестер может ром вообще не открыть.

подобную конструкцию впердолить надо между этих штук  - сюда

Оффлайн Djinn

  • Пользователь
  • Сообщений: 73
    • Просмотр профиля
tilemolester-палитра
« Ответ #9 : 29 Март 2007, 13:52:46 »
Цитата: тём(А);129653
ща заметил , что када импортишь палитру из this file, а потом изменишь её цвета, то после закрытия изменения палитры пишутся не в конфигах малестера, а прям файле.
Чтобы этого избежать, при импорте нужно ставить галочку на "Copy"

Оффлайн тём(А)

  • Пользователь
  • Сообщений: 335
  • Пол: Мужской
    • Просмотр профиля
tilemolester-палитра
« Ответ #10 : 29 Март 2007, 18:35:53 »
я об томже подумал

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #11 : 31 Октябрь 2012, 11:15:02 »
Подыму тему. Задался вдруг вопросом портирования палитры из Молестера в Кристал. Например 4 бит палитра, где цвета кодируются 2-мя байтами. Как такую палитру сконвертировать в act формат (с которым всё ясно)? Нужен просто алгоритм кодирования RGB цвета из 3-х байт в 2-байта. Какой там принцип?
Пример:
3-и байта
40 88 50
-----------
Тоже самое только 2-мя байтами
AA 28
« Последнее редактирование: 31 Октябрь 2012, 11:21:20 от paul_met »

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #12 : 01 Ноябрь 2012, 03:13:36 »
Подыму тему. Задался вдруг вопросом портирования палитры из Молестера в Кристал. Например 4 бит палитра, где цвета кодируются 2-мя байтами. Как такую палитру сконвертировать в act формат (с которым всё ясно)? Нужен просто алгоритм кодирования RGB цвета из 3-х байт в 2-байта. Какой там принцип?
Пример:
3-и байта
40 88 50
-----------
Тоже самое только 2-мя байтами
AA 28
Конвертер. :wow:
Только из духовки, тестируем.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #13 : 01 Ноябрь 2012, 10:32:25 »
Цитата: Mr2
Конвертер. Только из духовки, тестируем.

Прога работает всё-таки не в том направлении, в котором бы хотелось. Она корректно конвертирует палитру из Кристала в формате bin в act. А мне надо сконвертировать pal палитру из Молестера в act (при конвертации не те цвета получаются).
 Параметры pal палитры следующие:
<palettefilter extensions="pal" colorformat="CF00" size="256" offset="0" endianness="big">
А лучше узнать принцип конвертации, написать конвертер и сам смогу.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #14 : 01 Ноябрь 2012, 14:41:39 »

Прога работает всё-таки не в том направлении, в котором бы хотелось. Она корректно конвертирует палитру из Кристала в формате bin в act. А мне надо сконвертировать pal палитру из Молестера в act (при конвертации не те цвета получаются).
 Параметры pal палитры следующие:
<palettefilter extensions="pal" colorformat="CF00" size="256" offset="0" endianness="big">
Зачем тебе молестер, ты полюбому знаешь адрес палитры в файле, вырежи её и сконвертируй. :?
Или ты сам молестер хочешь модифицировать?
А лучше узнать принцип конвертации, написать конвертер и сам смогу.
Если я правильно понял(ответ9), тебе полюбому придётся конверитировать в бин файл.
Или использовать ручной  конвертер.(поиздевался чувак)

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #15 : 01 Ноябрь 2012, 14:41:59 »
Цитата: Mr2
Зачем тебе молестер, ты полюбому знаешь адрес палитры в файле, вырежи его и сконвертируй.

Так некорректно твоя прога конвертирует такую палитру! Её молестер хавает нормально, а Кристал без конвертации - нет.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #16 : 01 Ноябрь 2012, 14:53:46 »

Так некорректно твоя прога конвертирует такую палитру! Её молестер хавает нормально, а Кристал без конвертации - нет.
Чё то я вообще запутался, ты вырезаишь палитру из файла с картинкой и она как надо не конвертится?
Или ты пытаешься конвертить текст из файла мелестера? :lol:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE tmres SYSTEM "tmres.dtd">
<tmres>
 <bookmarks>
 </bookmarks>
 <palettes>
<palette size="256" direct="yes" codec="CF00" endianness="little">
  <description>1</description>
  <data>
000000803903368D418C92A9D19425B5D9A682980A8987C1F291B6C2658808A1C3A0ADB59E9348B9FE8994D68CB11B89208405B1C7
986194A29C66BD32C6C8CDA990DE8A0EA1598439E7168E0E8D7EA307A97D8E5CB3A2A0448889C5FD9A29B16AB5919D659079AACA987D
896E8D218890AD46B907AD7C9AC3A4BC84619012AAA39C95B26194A3983D8FDF93D6DA3C9B7CCF0ECAAB8804ADA7C9FFA3A790559969
BD43880B95CACD87C177922CAD47B505B17BEB53CAC3A0318DE79CB58C3AC33FA30CA1F19D959DFE95A3A0E6A8C4A09DA6AE9D82986E
A97F973D89199E8298F69DE4A4D992998D6BA98ABD7C84BE89DEA275AABEBFF2B13F97AD88418C6294C598E9D5BEAB678C45B929A9979
A6390A7C56C8D3C8E73BEAAC9C4A0C59C38AA02846C9D418CFD8466BD918D959125B1CEAD9F9B1A920BD256847596BDF789C14784B89
5A2A0CEB9A3A0E3A8C3A49E8E9A88319510BE4AA90E95BE922284E4A86C846190A29C198DCD9CFF9AD8B6A78827B1FFAB6BB950A97F9A
25B58298F7DEB5D63F89B1885CA36BB1C3A4A988BFA313AED99A859073CEA498BE91418CC7A007A1AEB12C8935AADF9B46BDC79419CB3
E8EDFB3C3A4C3A4218830A15F8F998E0AA1428C3E967D918298F0B1999A6290FE9267847E9210C6189225B5D8C2A29C7F9B9F9356C241
901492E4A88298359A05B19CEF27B5ABC5A2A062943F9F25B5

</data>
</palette>
 </palettes>
</tmres>

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #17 : 01 Ноябрь 2012, 15:00:37 »
Цитата: Mr2
Чё то я вообще запутался, ты вырезаишь палитру из файла с картинкой и она к

Да причём здесь Молестер? Вырезаю палитру из файла с картинкой. сохраняю её в отдельный файл. Проверяю в Молестере - цвета отображаются корректно. В Кристале, загрузив туже палитру - неверно.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #18 : 01 Ноябрь 2012, 15:07:51 »
Например 4 бит палитра, где цвета кодируются 2-мя байтами. Как такую палитру сконвертировать в act формат (с которым всё ясно)?
Пришли оригинальную палитру.(2байта)
Или проверь сам, если в фотошопе *.act отображается верно, значит дело в кристале.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #19 : 01 Ноябрь 2012, 15:20:12 »
Цитата: Mr2
Пришли оригинальную палитру.(2байта) Или проверь сам, если в фотошопе *.act отображается верно, значит дело в кристале.

Мне проще алгоритм перевода цвета из 3-х байт в 2-а байта узнать! Как это делается?

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #20 : 01 Ноябрь 2012, 16:15:31 »

Да причём здесь Молестер? Вырезаю палитру из файла с картинкой. сохраняю её в отдельный файл. Проверяю в Молестере - цвета отображаются корректно. В Кристале, загрузив туже палитру - неверно.
Сконвертил 2-х байтную палитру в *.act .
Загрузил в кристал палитру в формате *.act всё пучком.
Только не понял какой формат у кристала для 2-х байтовых палитр.


Мне проще алгоритм перевода цвета из 3-х байт в 2-а байта узнать! Как это делается?
Я давно формат разбирал, уже не помню что к чему.




Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #21 : 01 Ноябрь 2012, 16:19:09 »
Цитата: Mr2
Только не понял какой формат у кристала для 2-х байтовых палитр.

В том то и дело.

Цитата: Mr2
Я давно формат разбирал, уже не помню что к чему.

А доков не сохранилось?

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #22 : 01 Ноябрь 2012, 16:59:51 »
Разобрался.
У палитры кристала свой спец формат.
Обходной манёвр:
1. Грузишь(import) свою палитру в формате *.act.
2. Сохраняешь(export) в *.pal
После чего она успешно открывается в кристале.

Обратный процесс:
1. Грузишь(import) палитру в  *.pal.
2. Сохраняешь(export) в *.act
3. Конвертируешь(24 to 15)  в 2-х байтную палитру.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #23 : 01 Ноябрь 2012, 17:07:15 »
Цитата: Mr2
Я не пользовался никогда кристалом,   чем *.act  не угодил?

С Act всё в порядке. Я сейчас спецификацию gbapal глянул, там обратный порядок байт используется. А в моей палитре прямой. Потому твоя прога и не правильно конвертирует его в act.

В общем, прикрепил палитру и файл с картинкой. А так же пикчу, как это должно всё выглядеть в молестере. Попробуй конвертнуть мою палитру в act, чтобы цвета также корректно отображались как и на примере.
« Последнее редактирование: 01 Ноябрь 2012, 17:16:16 от paul_met »

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #24 : 01 Ноябрь 2012, 21:11:30 »
А вот и вторая версия конвертера:wow:
Работает с прямым порядком байт в 15bpp.
Тестируем.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #25 : 01 Ноябрь 2012, 23:14:27 »
А вот и вторая версия конвертера:wow:
Работает с прямым порядком байт в 15bpp.
Тестируем.
Ты мне лучше алгоритм расскажи. А то не люблю консольные проги.

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #26 : 01 Ноябрь 2012, 23:30:20 »
Мне проще алгоритм перевода цвета из 3-х байт в 2-а байта узнать! Как это делается?
http://en.wikipedia.org/wiki/High_Color
Собственно, алгоритм прост — нормализовать цвет (value / 255), умножить на максимальное значение цвета в High Color (2^5-1 или 2^6-1, в зависимости от модели и цвета) и записать биты на их место.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8133
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #27 : 02 Ноябрь 2012, 10:12:30 »
Цитата: HoRRoR
Собственно, алгоритм прост — нормализовать цвет (value / 255), умножить на максимальное значение цвета в High Color (2^5-1 или 2^6-1, в зависимости от модели и цвета) и записать биты на их место.

А можно на конкретном примере? Как из 40 88 50 получить AA 28?

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #28 : 02 Ноябрь 2012, 11:00:50 »
В RGB888 (по байту на цвет) цвета распределены в промежутке [0; 255]. Мы их нормализуем, т.е. сужаем этот промежуток до [0; 1], для чего делим цвета на их максимальное значение. Таким образом, из (64, 136, 80) мы получаем (0.25, 0.53, 0.31).

Далее нам надо «растянуть» нормализованные цвета на промежутки, которые используются в двухбайтовой модели. Для этого мы проводим обратную операцию — умножаем на максимальное значение. Тут всё зависит от модели: если это RGB555, то каждый цвет мы умножаем на 31. Если это RGB565, то зелёный мы умножим не на 31, а на 63.

Получаем:
RGB555(8, 16, 10)
RGB565(8, 33, 10)

Затем упаковываем эти значения в два байта. Тут тоже всё зависит от модели, а ещё от порядка байтов. Если разложить по битам получившиеся значения, будет следующее:
RGB555(01000b, 10000b, 01010b)
RGB565(01000b, 100001b, 01010b)

Значения могут отличаться на единицу или более, поскольку округлял и могла потеряться точность.
А дальше уже разберись, какая модель используется, какой порядок байтов, и куда эти биты записывать.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1640
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: tilemolester-палитра
« Ответ #29 : 02 Ноябрь 2012, 11:06:24 »
А то не люблю консольные проги.
Это как поездил на москвиче, теперь уже хочется ауди!? :lol:
Тебе по делу или перед девками на районе выпендриваться? :)
Можно добавить скрипт(список файлов и формат конвертирования), и будет лучше гуёвой! ^_^