Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Программирование » Djinn Tile Mapper


Djinn Tile Mapper

Сообщений 1 страница 20 из 184

1

Скажем Djinn'у огромное спасибо  scenic , за то, что поделился исходниками своей очень полезной программы.

Вчера у меня наконец-то дошли руки и до неё.
Вопреки сомнениям, на добавление в алгоритм relative sеarсh возможности установки интервала у меня ушло менее часа  yess1 . Я дольше провозился с безуспешными попытками запустить отладчик, который так мне и не поддался  slow , пришлось всё пересчитывать в уме.

Следующим этапом будет добавление в программу возможности отображения содержимого рома тайлами отличными от 8х8. В карте тайлов эта возможность уже реализована, а вот на отображение содержимого изменение размеров тайла влияет не так, как хотелось бы.

Если у кого будут идеи, какие полезные функции можно внести в программу - обращайтесь, подумаем вместе.

Отредактировано Mefistotel (2013-01-10 11:50:22)

2

Очень не хватает такой вещи:

В окне "Текст, код и прочий мусор" ширина и высота могут быть максимум до 32, а надо больше, так как иногда прямо в этом окне можно, к примеру, редактировать карту тайлов, которая по ширине может быть 34 или даже больше. Чаще всего не хватает большей ширины, как правило...

Отредактировано Guyver (2012-02-25 10:32:54)

3

Ещё там с палитрами в окне "Тайл" косяк. Если открыть игру, к примеру, на СНЕС, то в палитре будет 4 чёрных цвета, одинаковых, и если что-то нарисовано разными цветами, то всё-равно будет отображаться всё одним чёрным цветом. И при редактировании можно цвета перепутать. Приходится загружать ром и потом загружать или изменять палитру. Надо по-умолчанию сделать все цвета разные. Может такая кака есть и не только для формата СНЕС, не проверял...

4

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

5

Ещё надо при поиске с интервалом сделать возможность ставить цЫфру больше 15, мне встречалось по крайней мере 2 игры, где интервал был больше...

6

Всё вышеперечисленное реализовано. Файл обновить пока нет возможности. На всё про всё ушло 5 часов, полное время, затраченное на работу с проектом - 6 часов за два подхода.
Хочется отметить то, что программа написана в таком стиле, что комментарии вовсе не нужны - всем переменным и объектам даны говорящие имена, что по-началу может смутить, но через несколько минут чтения кода всё становится на свои места. Сразу видно профессионала, не то, что я :-(.
Но я стараюсь сохранить оригинальный стиль.

7

На всё про всё ушло 5 часов, полное время, затраченное на работу с проектом - 6 часов за два подхода.

Сразу видно профессионала, не то, что я :-(.

:blink:

8

Уря! Теперь можно режимов графических подобавлять, да? :rolleyes:

9

Ну, теоретически - да, только вот каких? В программе нет возможности использовать более 16 цветов в палитре.
Если знаешь неподдерживаемые программой режимы 4bpp или ниже - дай описание, попробую сделать.

10

В окне "Текст, код и прочий мусор" ширина и высота могут быть максимум до 32, а надо больше

Да, в это реально нужная штука.

11

Спасибо за такой подарок))))

12

Ещё бы добавить в карту блоки тайлов (примерно как в TileMolester), было бы вообще круто. Например, во втором Сплаттерхаусе карты тайлов состоят из блоков по 4x4 тайла.

Отредактировано TrickZter (2012-02-26 14:35:11)

13

Ну всё. Завелись. То это им, то другое. :)))
Мне, пожалуйста, на иконку поставь динозаврика.  ;)

Отредактировано JurasskPark (2012-02-26 16:34:46)

14

Сразу видно профессионала, не то, что я :-(.

Да ну, ерунда какая. Этой программе почти 8 лет. Меня тогда вряд ли можно было профи назвать. :) Код, по моему мнению, написан ужасно)))

15

Ты мой не видел, там чистая калька с учебника. :wacko:
Если так ты писал 8 лет назад, то я представляю, как твой код сейчас выглядит.  :rolleyes:

Размер 256*256 тайлов устроит? или нужно больше?

Файл обновил, только скролл может немного глючить (прыгать не ровно на страницу, а меньше или больше), так как я его не проверял, но это поправимо.

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

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

Отредактировано alex_231 (2012-02-27 07:43:07)

16

Номер версии не забывай обновлять. :)

17

Ок.

Ну, с блоками разобрался, правда пока только один кодек с ними работает корректно - 2bppnes, теперь нужно остальные кодеки поправить, а вот это немного сложнее, чем всё, что было раньше.
Плюс нужен совет по интерфейсу: при изменении размеров тайлов и блоков, соответственно изменяются и размеры окон (карты тайлов и данных), так вот вся загвоздка в том, какие ставить ограничения на эти самые размеры, монитор-то не у каждого поддерживает разрешение 1920*1080, да и его-то, мягко говоря, не всегда хватает.

18

Ну, с блоками разобрался, правда пока только один кодек с ними работает корректно - 2bppnes

А кодек то причём там? Я говорил про блоки в карте (в окне код, текст и прочий мусор), чтобы они шли не так:

Код:
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40

А, например, вот так (блоки 2х2):

Код:
01 02 05 06 09 10 13 14 17 18 
03 04 07 08 11 12 15 16 19 20
21 22 25 26 29 30 33 34 37 38
23 24 27 28 31 32 35 36 39 40

Отличие лишь в координатах отрисовки тайлов. Если размер блока будет 1х1, то рисоваться будет как обычно.

Отредактировано TrickZter (2012-02-28 08:33:35)

19

Блин, яснее нужно выражаться.
Я понял так:
При изменении размера блока в карте тайлов получившиеся блоки (256 штук) должны ставиться в соответствие таблице кодов.
Т.е. при размере тайла 8*8 и блока 2*2 в окне 'текст, код...' одному байту будет соответствовать картинка из 4-х тайлов. А для того, чтобы карта тайлов строилась корректно нужно, чтобы её размер зависел от размеров тайла и блока, чего на данный момент не предусмотрено.

20

Т.е. при размере тайла 8*8 и блока 2*2 в окне 'текст, код...' одному байту будет соответствовать картинка из 4-х тайлов.

Нет, не так. Одному байту соответствует 1 тайл. Но они сгруппированы по блокам, как я выше показал.

Ну, или вот смотри пример как это реализовано в ТайлМолестере.

Вот тут размер блока равен размеру всей сетки (по умолчанию - 16x16):
[реклама вместо картинки]

Если сделать размер блока 1х1 - будет выглядеть точно так же:
[реклама вместо картинки]

А вот тот же самый файл, но с размером блока 1x2:
[реклама вместо картинки]

нужно, чтобы её размер зависел от размеров тайла и блока

В ТайлМолестере, кстати, размер блока влияет только на координаты тайлов. Правда, отображается при этом кривовато и появляются дубли тайлов :)
[реклама вместо картинки]

Можно реализовать это в нормальном виде, можно сделать и с зависимостью, только зачем?

Отредактировано TrickZter (2012-02-28 13:55:56)


Вы здесь » Chief-NET » Программирование » Djinn Tile Mapper