Голосование

Как лучше упростить написание конфигов для любых игр?

Добавить возможность писать их на любом языке
4 (11.4%)
Сделать программу для генерации конфига
14 (40%)
Написать документацию, как делать конфиги
17 (48.6%)

Проголосовало пользователей: 26

Голосование закончилось: 23 Декабрь 2018, 01:24:45

Автор Тема: [NES] Редактор уровней Capcom и других NES игр + их хаки.  (Прочитано 433914 раз)

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

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
-----------------------------------------------------------------------------------------------------------------------------
Редактор уровней CadEditor
Редактор уровней для игр NES и SMD.
Версия 5.3
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Поддерживаемые игры:
https://github.com/spiiin/CadEditor/blob/master/CadEditor/cad_editor_supported_games.txt
Также возможно подключение практически любых игр для платформ Nes, Snes или Sega Mega Drive.
-----------------------------------------------------------------------------------------------------------------------------
Хаки, сделанные с помощью редактора:

Darkwing Duck New Levels          http://www.romhacking.net/hacks/1382/
Darkwing Duck New Levels 2        http://www.emu-land.net/forum/index.php/topic,60286.msg1089366.html#msg1089366
Duck Tales Hardcore Revision      http://www.romhacking.net/hacks/1671/
Chip & Dale Lomax Attack (v2)     http://www.romhacking.net/hacks/1374/
Darkwing Duck In Edoropolis       https://www.emu-land.net/forum/index.php/topic,60286.msg1355612.html#msg1355612
Chip & Dale Alternative           http://www.emu-land.net/forum/index.php/topic,66546.0.html
Chip & Dale by VZIP               http://www.emu-land.net/forum/index.php?action=dlattach;topic=60286.0;attach=71489
Chip & Dale 3 by Lomax & Roket    https://www.emu-land.net/forum/index.php/topic,60286.msg1355378.html#msg1355378/52e7c89d%2F16fb8491bcf6a886b507abbee10ff4076da9c98c%2FChip+%27n+Dale+Rescue+Rangers+%28U%29+%5B%21%5D.zip?t=1344959250
Chip & Dale: Tale Spin Levels     https://www.romhacking.net/hacks/4287/
Duck Tales 2 No Gyro Без Винта    http://romhacking.net.ru/load/duck_tales_2/2-1-0-251
Duck Tales New Impressions        http://romhacking.ru/load/duck_tales_2_new_impressions/2-1-0-252
Duck Tales 2 by Dendymask         https://romhacking.ru/load/khak_prikol_duck_tales_2_na_nes_ot_dendymask/2-1-0-268
TaleSpin: Another shitty day      http://www.emu-land.net/forum/index.php?topic=73748.0
Remix of Tiny Toon Adventures     http://www.romhacking.net/hacks/2511/
Contra Super Hard Corps [SMD]     https://www.emu-land.net/forum/index.php/topic,79007.0.html

-----------------------------------------------------------------------------------------------------------------------------
Последняя на данный момент версия здесь:
https://www.emu-land.net/forum/index.php/topic,60286.msg1390753.html#msg1390753
Или здесь:
https://github.com/spiiin/CadEditor/releases/latest
https://spiiin.itch.io/cadeditor

-----------------------------------------------------------------------------------------------------------------------------
Документация по редактору:
http://spiiin.github.io/CadEditor/
Видеопример использования
https://www.youtube.com/watch?v=NfIWeDwu68w
-----------------------------------------------------------------------------------------------------------------------------
Если вы желаете поддержать развитие проекта (и бонусом предложить любую игру для добавления :) ):
WebMoney R122299008919
Bitcoin 12a26G6BxzYqx1D82ZNQvVJuzGSPETnd9r
Patreon https://www.patreon.com/CadEditor
« Последнее редактирование: 30 Январь 2019, 14:56:01 от spiiin »

Оффлайн JAM

  • Пользователь
  • Сообщений: 425
    • Просмотр профиля
Прохладный спрайты человек.  :cool:
Да будет сделано понимать. =)
Write in Engilsh, please. Google translator (EN => RU, RU => EN) sucks.

Оффлайн Lomax

  • Ушел с форума
  • Сообщений: 3191
    • Просмотр профиля
Прохладный спрайты человек.  :cool:
Я тоже очень люблю прохладный Спрайт, особенно летом, когда жарко, даже больше чем пиво :)
"Cool sprites, man!" :) - я думаю, это даже школьник бы понял, который прогуливал уроки английского)

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Прохладная былина боярин!

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
клёво :cool:

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Lomax, да не я уже говорил эту челу писать на английском.
Цитата
Прохладный спрайты человек.  :cool:
DANGER X, не обязательно переводить английские слова. Пиши по-английски как есть. Мы тебя поймём и ответим. :)
Некоторые трансляторы просто плохо переводят на обратный язык.

Better to write in English. We understand what you write.  :)

Добавлено позже:
Цитата
Я тоже очень люблю прохладный Спрайт, особенно летом, когда жарко, даже больше чем пиво
Я предпочитаю летом Спрайту солдатский кипяток. :thumbup:

Оффлайн DANGER X

  • Пользователь
  • Сообщений: 240
  • Пол: Мужской
    • Facebook
    • Youtube
    • Просмотр профиля
Ok,Thanks Roket.

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Разобрал частично базу Ti_ по Kyatto Ninja Teyandee.
Вопросы по списку врагов:
 Что обозначает старший бит координаты X? Враг появляется по какому-то условию?
 Что обозначают младшие биты координаты Y? Вроде бы объект появляется с правой стороны экрана когда там не 0, но точно не знаю.
 Как и где кодируется, из каких экранов составлены комнаты? Это необязательно для редактора врагов, я могу руками вписать номера экранов, как в примере, но удобнее было бы конфиг из рома считать.


Добавлено позже:
(у кого не работает редактор врагов, отсутствует панель с объектами, скопируйте папку obj_sprites в папку с конфигом игры, которую открываете, это баг версии 2.8)  :(

Оффлайн -HammeR-

  • Пользователь
  • Сообщений: 140
  • Пол: Мужской
  • Maps' maker
    • Просмотр профиля
spiiin, как думаешь, в ближайшем будущем можно будет рассчитывать на возможность полноценного и удобного редактирования BTDD?  :blush:

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
-HammeR-
Там переделывать нечего почти, если кардинально код игры не переписывать.

Дизайн уровней можно в редакторе поменять уже и так. Врагов добавить сложно - такой хак уже Ti_ делал, только NES не очень тянет большое кол-во врагов, это на сеге лучше делать.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Разобрал частично базу Ti_ по Kyatto Ninja Teyandee.
Вопросы по списку врагов:
 Что обозначает старший бит координаты X? Враг появляется по какому-то условию?
 Что обозначают младшие биты координаты Y? Вроде бы объект появляется с правой стороны экрана когда там не 0, но точно не знаю.
 Как и где кодируется, из каких экранов составлены комнаты? Это необязательно для редактора врагов, я могу руками вписать номера экранов, как в примере, но удобнее было бы конфиг из рома считать.
Y - вроде бы да. X-точно не помню.
Комнаты кодируются так что для каждой комнаты можно указать следующую, подцепленную к одной из сторон. Ну и плюс скроллинг да.
Тут опять же это всё не слишком детально разбиралось, правилось при необходимости.  (как и номера блоков графики для комнат).
Так есть ещё инфа по строению-тайлов-метайлов и свойств их 'физики'.
причем задается сразу для блока 32x32. ; то есть 2байта. , а не для блоков 16x16.
Хотя столь подробные изменения будут просто так не внесешь. Эти тайлсеты и графика и с заставками объединённую графику имеют.
Может быть завтра гляну адреса какие там.

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Апдейт редактора. Версия 2.8

- Редактор объектов для игр Flintstones Rescue Dino And Hoppy (все уровни, кроме последнего), Ninja Cats (1-й уровень).
- Структуры для игр с маленькими блоками на NES (Chip and Dale 2, New Ghostbusters 2), по 1 уровню.
- Редактор макроблоков картинками для Flintstones Rescue Dino And Hoppy (1-й уровень).
- Опция для экспорта экранов картинками (скриншоты).
- Отображение байт коллизий для Battletoads (1-й уровень).
- Установка объектов с привязкой по сетке в редакторе объектов.
- Мелкие улучшения и исправление багов.

Кто там хотел флинтстоунов - можно редактировать экраны и объекты всех уровней, кроме последнего, можно начинать хак делать.

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
spiiin, и хде сам редактор-то?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
BANK1:AE00  (ром $2E10).
Список поинтеров на конфиги, которые описывают строения комнат и блоки графики.

BANK1:AE6C (ром $2E7C)
Список поинтеров , которые описывают строения комнат и блоки графики - для 1 уровня.
Первый поитер из списка указывает на конфиг, который объясняет номера блоков графики (противников,фона,палитр противников, палитр фон -порядок точно не помню) - по 4 байта.
Остальные поинтеры - на комнаты.
Первый уровень состоит из 8 под-уровней (то есть по участки в 'длину'), и конфигов поэтому 8.
Подуровни составлены из комнат(экранов) и нумеруются у меня как 11,12,21  (что значит 1-1, 1-2, 2-1 и т.д.)
Остальные поинтеры в списке указаывают на конфиги по  9 байт (но используются только 6):
Для каждой комнаты указывается номера следующие за ней комнат. (то есть в 4 строны ) , ещё 1 байт инфо о скролле,
и 6-ой байт: указывает какой набор противников использовать.

то есть движок позволяет такие вещи:
соединять комнаты в любом порядке, в том числе на 'саму себя'.
использовать одних и тех же противников для разных комнат (но есть момент, что при скролле наборы продолжают читаться по формулам. +-4бита - то есть если поставили 31 и 41 наборы, но при плавном скролле, а не переходе следующим за 31 всё равно будет 32, а не 41.)


Добавлено позже:
блоки и метатайлы.
есть по 3 набора
во-первых есть ещё списки который указают на наборы, причем 2.
всё это начинается с rom 0x4010.  (далее поинтеры).

BANK2:8030 (0x4040) - 3набора:
поинтеры на метатайлы. Номера 4 метатайлов из которых составляется блок 32x32.
первый набор - 239 блоков  ( по 4 байта = 956 байт)

BANK2:8036: (0x4046)  -  3 набора.
поинтеры на атрибуты(номера палитр) целого большого блока (первый набор - 239 байт)

BANK2:803C (0x404C) - поинтеры на 3 набора.
физика - опять же для больших блоков по 4бита на каждую 16x16 четвертинку. - то есть 2 байта.
(первый набор 239x2 = 478 байт)

BANK2:935E (536E) - а вот тут 4 набора (но последний мелкий).
Собственно тайлы.  Указывается по 4 номера тайла, которые использует метатайл 16x16.




Добавлено позже:
С палитрами всё достаточно запутанно, лучше не трогать.
Но вообще есть сами палитры: rom 2b10-2c0f - много набор по  по 3 байта.
2c10 - 2caf - индексы для этих палитр, которые составлют набор из 3 палитр.
Далее инфа какие палитры юзать для комнат:  2cb0 - 2d0f.
Одна из палитра постоянная, кроме 1 цвета (она же для статус бара - белый, розовый+ цвет  из таблицы 0x2d48 - таблица в 11байт).

rom 0x299f - инфа о номерах chr-банков для наборов  противников.
rom 0x2390 - инфа о номерах chr-банков фонов.
rom 0x2970  - инфа о таймерах (скорости анимации) фонов.
rom 0x2990 - инфа о chr-банках анимирующихся фонов. ( по 5 x 3 байта)


« Последнее редактирование: 02 Май 2014, 22:18:38 от Ti_ »

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Roket
ссылка на гитхаб в первом посте темы.
конкретно на этот релиз прямая ссылка:
https://github.com/spiiin/CadEditor/blob/master/Release/cad_editor_v28.zip?raw=true

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

Добавлено позже:
Ti_
Пасиб, позже котами дальше думаю займусь, в частности список из комнат сделаю, чтобы считывался. И постараюсь построение блоков честное сделать (не картинками).
А вообще, все фичи движка из самого редактора поддерживать смысла нету, потому что иногда проще поправить в хекс-эдиторе руками что-то, а потом аналогично в конфиге редактора поинтер поправить. Фича редактора объектов только в том, что можно по карте точно установить позицию врага. Хотя при желании можно написать и код перестановки объектов по всем комнатам, с правкой поинтеров.
« Последнее редактирование: 03 Май 2014, 01:47:54 от spiiin »

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
spiiin, да почему. Всё норм. Ты же не всякую фигню выкладываешь а нужные вещи. :)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Просто архив со всеми конфигами уже занимает около 10 мегабайт, лишний раз на форум его грузить не хочется.
Что если редактор отдельно, конфиги отдельно?

По редактору замечен недочет - в подменю BIG BLOCKS нету масштабирования.  Причем в BLOCKS его тоже нету, но там у всего уже X2 Scale.
Также неплохо бы сделать запоминание последнего пути рома и конфиг-файла.

Оффлайн Kinbeas

  • Пользователь
  • Сообщений: 3936
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
С удовольствием поиграю в чей-нибудь хак по Флинстоунам. Если их кто-то делать будет. )

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Что если редактор отдельно, конфиги отдельно?
Лучше не надо, потому что конфиги от новой версии редактора могут не подойти к старой, я иногда новые возможности добавляю туда.
По редактору замечен недочет - в подменю BIG BLOCKS нету масштабирования.  Причем в BLOCKS его тоже нету, но там у всего уже X2 Scale.
Также неплохо бы сделать запоминание последнего пути рома и конфиг-файла.
Сделаю со временем. Пока что если работаешь с одним файлом и конфигом постоянно, можно в файле Config.cs указать пути к нему, тогда они будут открываться.

Оффлайн EXcold

  • Пользователь
  • Сообщений: 61
  • Пол: Мужской
    • Просмотр профиля
В игре про котов можно делать врагов только на 1 уровне, для последующих лвл* враги будут добавлены?
Если да - то когда?

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
EXcold, будут. когда не знаю.
мне помощник бы не помешал для вылепливания конфигов, там после того, как один уровень разобран и добавлен мной, для последующих в основном добавление - чисто механическая работа.

Оффлайн EXcold

  • Пользователь
  • Сообщений: 61
  • Пол: Мужской
    • Просмотр профиля
spiiin, я бы помог, но к конфигам, тегам, скобкам, точкам итд. мне лучше не подходить ближе чем на 200 метров, это я уже усвоил.

Оффлайн Evil Wesker

  • Пользователь
  • Сообщений: 28
    • Просмотр профиля
EXcold, будут. когда не знаю.
мне помощник бы не помешал для вылепливания конфигов, там после того, как один уровень разобран и добавлен мной, для последующих в основном добавление - чисто механическая работа.
А что там надо делать, мот я бы смог я свободен в ближайшем будущем?
Огромное спасибо за редактор конечно, хотелось бы узнать а как же добавлять в игру уровни из других игр? Конкретно как вот "Чёрный плащ в Эдорополесе" был сделан? Ну враги наверное на ассемблере дописаны там ну а сами уровни как перенесли  в редактор то есть в саму игру? Сделал вот пока что первый уровень  одной из моих любимых игр Shatterhand!
Чтобы добраться до босса нужно полететь на телохранителе, заметил что эта фича в игре почти не используется особо :-\

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Evil Wesker, потому что хранителя можно потерять или вообще не добыть и ты хрен потом заберёшься на стену. :?

Добавлено позже:
Не надо делать таких хаков с непреодолеваемыми стенами без должных инструментов.

Оффлайн Evil Wesker

  • Пользователь
  • Сообщений: 28
    • Просмотр профиля
Ну значит надо переигрывать уровень по новой :lol: В Чип и Деил полно таких мест сделали, ошибся не пройдёшь без блока или разобрал ящики где не надо, для того и эмули чтобы отматать назад, спецом по сложнее придумывают что бы интереснее было.

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Evil Wesker
Цитата
Конкретно как вот "Чёрный плащ в Эдорополесе" был сделан?

Уровень состоит из раскладки ("скелета" формы уровня), раскладки состоят из экранов, экраны состоят из макроблоков, макроблоки состоят из блоков, блоки состоят из тайлов видеопамяти. Соответственно переносится банк видеопамяти (в шестнадцатеричном редакторе), из него вылепливаются блоки, из них макроблоки, из них экраны, из них составляется раскладка уровня.

Враги просто расставляются в редакторе (и делаются разные поправки в хекс-редакторе, типа переключаются банки видеопамяти для врагов или палитра).

На ассемблере там только поведение боссов переписано и переключение оружия.

Цитата
А что там надо делать, мот я бы смог я свободен в ближайшем будущем?
по котам ниндзя:
- выписать раскладки уровней - то есть, составить, из каких экранов состоят комнаты уровня (комната - это горизонтальная линия из 3-4 экранов)
- выписать списки врагов для каждой комнаты (это уже полностью сделал Ti_)
- найти соответствие, какой комнате какие враги соответствуют. Я просто в редакторе подбирал подряд варианты - когда натыкаешься на правильный - сразу заметно, в какой комнате враги становятся на свои места, а в какой - нет

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Цитата
В Чип и Деил полно таких мест сделали, ошибся не пройдёшь без блока или разобрал ящики где не надо, для того и эмули чтобы отматать назад, спецом по сложнее придумывают что бы интереснее было.
Я помню как я это исправлял в своём хаке. Уж поверь отвесные стены на которые хрен заберёшься не есть вариант ухаркордить игру.

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

Добавлено позже:
Evil Wesker, делать дальше будешь?

Оффлайн Evil Wesker

  • Пользователь
  • Сообщений: 28
    • Просмотр профиля
Ну смысл лепить из тех же текстур если бы из других игр уровни вставить, но я не умею я даже не разобрался как подргужать другие уровни кроме первого. Можно взять хак Ломакса где не убивают телохранителя  и полетать, наделать таких мест :)

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Evil Wesker, да а толку. Можно хранителя по любому потерять. Умереть герою, не взять хранителя и никакой уже хак ломакса не спасёт. А отвесная стена уж поверь испортит хак в корне. ;)

Добавлено позже:
В шаттерхенде надо найти микроблоки расшифровать их. Затем запихнуть в тайловую бтайлы которые хочешь юзать ты и налепить их из микроблоков. Дай Спину донейт, он тебе сделает. :)

Оффлайн Evil Wesker

  • Пользователь
  • Сообщений: 28
    • Просмотр профиля
Если бы я знал как это всё сделать! :lol:  Я не знаю что такое донейт. :-\

Оффлайн Roket

  • Пользователь
  • Сообщений: 3324
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Evil Wesker, проще говоря заплати ему. :)
Да можно там всё сделать на это просто надо время, силы и деньги. ;)