форум группы Chief-Net » » Программирование » MapImage2.0

Страниц (1): [1]
 

1. Mefistotel - 23 Июля, 2015 - 11:50:57 - перейти к сообщению
Если кто не знает, то это программа для конвертирования тайлов, карты и палитры в BMP и наоборот.
Также в архиве модифицированная версия этой программы Маратом, в которой добавлена поддержка тайловых карт СНЕС и PC Engine.
И приложены готовые компоненты для формирования рисунка, вытащенные из рома Uncharted Waters - New Horizons (U) [!].gen.
Всё хотел узнать, Марат, куда подевалось меню Load Map without Header, Tiles and Palette в твоей версии? Оно позволяет сформировать рисунок .bmp с "ручным" указанием его размера.
Если пользоваться простым Load Map, Tiles and Palette, то размер рисунка с двухбайтовой картой надо ставить в самой карте. Это первые 4 байта. Для однобайтовой карты (single), это будет первые два байта.
Руководство по использованию про граммы.
Для того, чтобы программа понимала тайловые карты, вытащенные из оригинальных ромов, необходимо юзать map fixer. В архиве также находится руководство по его использования, и в папке "примеры" образцы тайловых карт (конвертированной, оригинальной, с заголовком и без). Это всё актуально для игры Uncharted Waters - New Horizons (U) [!].gen.

P. S. уже подзабыл, что глючило в проге. Вроде имел место такой момент, что её нужно было заново открывать, чтобы сбросить настройки, иначе она косячила даже с верно заданными параметрами, неверно формирую изображения.
Нужны тестеры.
2. Марат - 12 Октября, 2015 - 08:03:48 - перейти к сообщению
Марат
Цитата:
Всё хотел узнать, Марат, куда подевалось меню Load Map without Header, Tiles and Palette в твоей версии? Оно позволяет сформировать рисунок .bmp с "ручным" указанием его размера.

Не помню про такое меню.
Было ли оно вообще?
3. Марат - 12 Октября, 2015 - 08:04:51 - перейти к сообщению
Марат
Цитата:

Если пользоваться простым Load Map, Tiles and Palette, то размер рисунка с двухбайтовой картой надо ставить в самой карте. Это первые 4 байта. Для однобайтовой карты (single), это будет первые два байта.

Если мне не изменяет память, то для Сеги ширина и высот карты должна быть указана в BigEndian формате, тогда как для остальных в интеловском.
4. Mefistotel - 12 Октября, 2015 - 08:05:19 - перейти к сообщению
Обновил первый пост и архив с прогой. Добавил туда еще одну програмку Джинни map fixer. Она позволяет менять формат тайловых карт в понятный для map image.
5. Mefistotel - 12 Октября, 2015 - 08:05:36 - перейти к сообщению
Маратыч, а у тебя исходники то модификации не остались?
Начать хотелось бы с малого. Сделать так, как в оригинале, чтобы программа, когда ее снова открываешь, запоминала настройки прошлого сенаса и возврата менюшки Load Map without Header, Tiles and Palette. Можно посмотреть в оригинальной версии. Там так.
6. Марат - 12 Октября, 2015 - 08:06:08 - перейти к сообщению
Марат
В тех исходниках, что давал мне Джинн не было такого меню. Это, видимо, он позже добавил. Не зря эта версия называется 2.012.
Исходники у меня есть.
7. Dr. MefistO - 12 Октября, 2015 - 08:06:38 - перейти к сообщению
Dr. MefistO
Кароче, нефига я не разобрался, какого формата ей данные совать (если для сеги). Мап есть, одна строка CRAM есть, но картинка получается "пися енота".

Программа к программе... Нет, чтобы запилить это все в одно, удобное что-то) Тем более, если есть сорсы. Зачем втискивать в первые байты какую-то фигню?, если можно это сделать в красивом интерфейсе, удобном.
8. Mefistotel - 12 Октября, 2015 - 08:06:57 - перейти к сообщению
В аську выходи. Улыбка Поговорим.
9. Dr. MefistO - 12 Октября, 2015 - 08:07:42 - перейти к сообщению
Dr. MefistO
Ужо разобрался)

Проблема была только с палитрой. Ему, видите ли, нужна палитра в формате: 3 байта на цвет. Т.е. сначала вытягиваем R, G, B из двух-байтового цвета сеги:
CODE:
   R := (SMD^[I] and $E) * $10;
   G := (SMD^[I] div $10 and $E) * $10;
   B := (SMD^[I] div $100 and $E) * $10;

И прямо по порядку эти R, G, B пишем. Это получится: 16 цветов в палитре * 2 * 4 * 3 байта = 384 байта. Ну и до 768 байт нужно запилить нулями остальное.

Либо, как мне подсказали, таскать палитру из сейва через GSavestate.
10. Djinn - 12 Октября, 2015 - 08:08:18 - перейти к сообщению
Djinn
Цитата:
Ему, видите ли, нужна палитра в формате: 3 байта на цвет.

Ну ясное ведь дело, что палитра должна быть стандартная RGB. Там же не один сеговский формат графики используется. Настройки формата палитры пока нет.
11. Ti_ - 12 Октября, 2015 - 08:08:54 - перейти к сообщению
Ti_
Ну вот, давай запили.
Сделали б тайловый редактор умеющий открывать pal+map+bin для Sega, ну и для Snes заодно если нету.
Для Nes то есть NesScreenTool.
12. greengh0st - 12 Октября, 2015 - 08:09:18 - перейти к сообщению
greengh0st
Да лучше вообще универсальную сделать, под большинство форматов.
13. Марат - 12 Октября, 2015 - 08:10:12 - перейти к сообщению
Марат
Добавил новый формат тайлов и карт для Sega Master System.
Пофиксены баги в новом формате Sega Master System. Спасибо Гайверу, за тестинг.
Добавил новый формат хранения тайлов 2 bpp game boy color.
-Добавил формат хранения карты тайлов gameboy color.
-Переписал способ хранения карт в памяти. Это облегчит в будущем добавление новых форматов карт.
-Добавил меню About.
-Пофиксил баги.
-Пофиксил баг из-за которого 4 битный BMP файл неправильно конвертировался в 8 битный BMP.
-Пофиксил неправильное определение индекса палитры для формата карт тайлов GameBoy Color
В архив также вложил утилиту для объединения карты тайлов и аттрибуттов тайлов для gameboy color.
14. greengh0st - 13 Октября, 2015 - 23:39:52 - перейти к сообщению
А где скачать?
15. Mefistotel - 13 Октября, 2015 - 23:54:37 - перейти к сообщению
16. Mefistotel - 30 Ноября, 2016 - 09:34:13 - перейти к сообщению
Марат, очень бы хотелось, чтобы ты доработал в программе две вещи:
- доделал поддержку Genesis CRAM(*ram) при загрузке палитры;
- добавил меню Image - loaded map without Header, Tiles and Pallete из версии программы MapImage.v2.0.0.12.

Эта функция позволяет загружать карту и вручную указывать её размеры без необходимости добавления 4 байт в файл .map. Что весьма удобно. Если эти байты не добавлены в текущую версию программы, то будет такая ошибка.

17. Марат - 01 Декабря, 2016 - 19:51:43 - перейти к сообщению
Mefistotel пишет:
- доделал поддержку Genesis CRAM(*ram) при загрузке палитры;

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

Mefistotel пишет:
- добавил меню Image - loaded map without Header, Tiles and Pallete из версии программы MapImage.v2.0.0.12.

Меню добавил.
18. Mefistotel - 02 Декабря, 2016 - 00:41:02 - перейти к сообщению
Цитата:
Я её даже не начинал делать. Я вообще думал, что уже удалил эту надпись в диалоге открытия файлов.

А что так? Неплохая идея. Если ещё добавить загрузку палитры из сейвов для SNES (*zs), то вообще бы было великолепно... Да даже не из сейвов загрузки, а просто, чтобы программа поддерживала родные палитры приставок (м. б. конвертировала автоматом при загрузке в .ACT).
19. Марат - 13 Декабря, 2016 - 19:59:34 - перейти к сообщению
Добавил поддержку загрузки палитры из CRAM Сеги и из сейвов Genesis Save State. Save State из Shell'овского мода не поддерживается. Непоняно как там палиттра хранится.
20. Mefistotel - 14 Декабря, 2016 - 02:52:42 - перейти к сообщению
Марат пишет:
Добавил поддержку загрузки палитры из CRAM Сеги и из сейвов Genesis Save State. Save State из Shell'овского мода не поддерживается. Непоняно как там палиттра хранится.

Круть!
То есть получается, что из любого Gens-а можно взять быстрый/обычный сейв, кроме версии от шелла(r57shell mod).
А CRAM (Color RAM) как получить?
21. Марат - 14 Декабря, 2016 - 04:20:11 - перейти к сообщению
В Gens Trace надо нажать на клавиатуре клавишу с «.»
22. Mefistotel - 16 Марта, 2017 - 15:16:10 - перейти к сообщению
Пока не забыл, нужно написать предлог And в меню с маленькой буквы в соответствии с нормами английского языка. Улыбка Это касается и предлогов From и To в меню Image, но это уже косяки Джинни.

И ещё неплохо бы указать расширения файлов в строке Sega Genesis Save State по аналогии с CRAM и *act. Так и не понял какое расширение должны иметь эти сохранения, чтобы программа их видела.

Также можно дополнить меню Set Map Parameters, указав что данные водятся в десятичной системе исчислении (дописать dec). Ведь можно и в карте вести в вначало эти данные, но уже в шестнадцатиричном исчилении.
23. Arrogant - 16 Марта, 2017 - 16:42:00 - перейти к сообщению
Хм... Что-то я не совсем понял. Палитры nes она не поддерживает? И вот интересно, в утилитах подобных этой можно заменить палитру в тайловой карте на свою, чтобы потом подпихнуть её в переводимый ром?
24. Марат - 16 Марта, 2017 - 22:05:13 - перейти к сообщению
Mefistotel пишет:
И ещё неплохо бы указать расширения файлов в строке Sega Genesis Save State по аналогии с CRAM и *act. Так и не понял какое расширение должны иметь эти сохранения, чтобы программа их видела.

У Genesis Saves State только одно расширение .gs*, где вместо звёздочки используетя цифра от 0 до 9.


Mefistotel пишет:
Также можно дополнить меню Set Map Parameters, указав что данные водятся в десятичной системе исчислении (дописать dec). Ведь можно и в карте вести в вначало эти данные, но уже в шестнадцатиричном исчилении.

Можно и шестнадцатиричной вводить в соответствии с правилами Дельфи, т.е. с указанием символа $, например, $20, $10.

Arrogant пишет:
Хм... Что-то я не совсем понял. Палитры nes она не поддерживает?

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

Arrogant пишет:
И вот интересно, в утилитах подобных этой можно заменить палитру в тайловой карте на свою, чтобы потом подпихнуть её в переводимый ром?

Программа не генерирует палитру. Она может сохранять палитру в формате RGB888.
Может конвертировать изоборажение в тайловую карту и блоки тайлов и обратно.
25. Mefistotel - 16 Марта, 2017 - 22:59:17 - перейти к сообщению
Скоро допишу документацию по работе с прогой. Будут рассмотрены платформы SEGA и NES, а в перспективе и SNES.
Марат, теоретически же можно добавить палитру из сейвов famicom save(.fcs)?
26. Марат - 17 Марта, 2017 - 18:57:27 - перейти к сообщению
Mefistotel пишет:
Марат, теоретически же можно добавить палитру из сейвов famicom save(.fcs)?

Конечно, можно. Можно с любого сейва, но для этого надо точно знать где находятся данные палитры. И чтобы сейв не был запакован, как в случае со snes.
27. Mefistotel - 18 Марта, 2017 - 00:13:43 - перейти к сообщению
Ну ты обновишь программу)? А в случае со SNESом, можно же предварительно распаковать сейв? Или прописать его распаковку, ведь эмуляторы запускают игры в архивах.
28. Марат - 24 Февраля, 2021 - 16:12:55 - перейти к сообщению
Update:
версия 2.3.5
+Добавил в меню загрузку палитры
+Добавил загрузку палитры из CGRAM эмулятора messen для snes
+Добавил в меню загрузку тайлов
+Добавил палитру по умолчанию, такая же как в Джинн Тайл Маппере.
+Переработал интерфейс окна forced tiles
Горячие клавиши в окне Forced Tiles:
ctrl+z - отменить последнее выделение тайлов
ctrl+a - выделить все тайлы
нажатием левой кнпки мыши, выделяем нужные тайлы
зажатие alt + левая кнопка мыши - снимаем выделение с тайлов

29. Марат - 25 Февраля, 2021 - 18:03:00 - перейти к сообщению
Update2:
версия 2.3.6
+Добавил карту формата NES: обычная карта с аттрибутами размером в одну экранную
страницу - 1024 байт.
+Добавил импорт палитры из FCEUX PPU.
30. Mefistotel - 25 Февраля, 2021 - 23:27:16 - перейти к сообщению
Круть!
Надо это дело потестить.

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®