Голосование

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

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

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

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

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

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 »

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3250
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Думаю, модераторы должны позволить тем, кто создавал ветку, редактировать шапку безгранично.
В том и дело что не могут, что это настройка форума - старые сообщения редактировать запрещено.

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Ti_
ок, соберу к след. релизу, пора бы уже, а то вон некоторые только заметили, что Darkwing Duck поддерживается  :lol:
если что, я мини-обзоры хаков в блог выкладываю периодически : http://spiiin.livejournal.com/72253.html , там ссылки на прошлые версии.
ну и вроде на каждый релиз по отдельной теме есть, а мини хаки по паре уровней я уже и сам не найду в теме.

отвечу на вопросы с romhacking.net.ru, там не получается чего-то комментировать  :?
- зачем нужен редактор только задних фонов для сеговских игр?
1. показать, что это возможно и несложно. после этого примера вот выше появился скрин из подключенного ZAMN.
2. кроме функции редактирования, можно просто посмотреть карту уровня, это тоже интересно, особенно когда уровней много, и в них секретные проходы есть (как в тини туне).
3. если делать редактор всего, то всё равно начинать надо с редактора экранов.

- зачем так много игр подключать.
1. интересно было посмотреть, как они все внутри устроены.
2. по отзывам определить, на что именно ромхакеры хотят делать моды (вероятно, доделаю NES Tiny Toon для Ломакса следующим  ;)  ).
3. с каждой игрой с необычным устройством редактор расширяется и способен подключать новые типы игр без переписывания кода.

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

opr
качаешь любой релиз из постов с тегом АПДЕЙТ РЕДАКТОРА, или из первого поста (но там уже старый), разархивируешь, запускаешь exe-файл. разве что ромы для редактирования самому скачать надо, а то их на некоторые сайты нельзя выкладывать.


Оффлайн Lomax

  • Ушел с форума
  • Сообщений: 3192
    • Просмотр профиля
вероятно, доделаю NES Tiny Toon для Ломакса следующим  ;)  ).
+1, всегда мечтал о продолжении этой игры :)

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
+1, всегда мечтал о продолжении этой игры :)
Есть же 6 что ль часть,сделанная пиратами,типа порт с гейм боя на основе движка первого тини туна,и там в имеющимся дампе косяк в поинтере - одно предложение не отображается,может еще не отображается что-то,я просто запустил ром,почуял не ладное,позырил в хексе,даже исправлять не стал и забил на нее. :)
А мне бы хотелось редактор Tiny Toon для сеги. :)

Оффлайн Lomax

  • Ушел с форума
  • Сообщений: 3192
    • Просмотр профиля
Есть же 6 что ль часть,сделанная пиратами,типа порт с гейм боя
Так на геймбое я уже давно прошел обе части, еще задолго до этого порта, еще и раз по 5 наверное ,2ю со всеми секретами) Хочется чего нибудь новенького уже, от создателей я так понял ждать подобного уже не придется.


Оффлайн Еmsi-D

  • Пользователь
  • Сообщений: 555
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Spiiin, нашёл в роме ЧП указатели на палитры блоков врагов для возвратов из бонусов
(помнишь когда первый хак делали, была такая проблема - у изменённого блока врагов,
после смерти/возвращения из бонуса, палитра сбивалась на старую и получались уродливые враги).
С адреса 1E5B2 по 1E5CD лежат указатели на палитры, которые должны выделяться
на блоки врагов после смерти/бонусов. Описание: по 4 байта на уровень (в том порядке,
в каком уровни идут в коде игры - Мост, Город, Канализация, Небоскрёб, Лес, Верфь и Корабль),
для первого уровня - 0E 00 0E 00. Первый байт со значением 0Е -  первый бонус,
00 - палитра для блока врагов по выходу из бонуса, второй байт со значением 0Е -  второй бонус,
00 - палитра. Следующие 4 байта - для второго левела и т.д.
Если есть желание, можешь замутить переключатель блоков врагов для редактора чп,
благо нужные адреса теперь все есть :)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3250
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Spiiin, говоришь нельзя в роме менять через lua. Но если очень хочется, то можно.
Сегодня написал Feos'у и он немного подкрутив, сломал систему.

Вот изменённый эмуль + пример.  Быстрее и без создания тыщ копий рома через питона, а значит лучше. И главное удобней, не надо прописывать имена ромов и сейвов в скрипты.

Инструкция будет позже  :lol:
« Последнее редактирование: 04 Февраль 2014, 00:55:55 от Ti_ »

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Круто! Действительно, меньше действий делать надо. Этот скрипт почти без изменений подойдёт для эмулятора сеги и снеса, только там не по rom байты менять, а по ram. Только инструкцию напиши к нему :)

В эмулятор не так сложно дописать свои фичи - исходники открытые.

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

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3250
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Круто! Действительно, меньше действий делать надо. Этот скрипт почти без изменений подойдёт для эмулятора сеги и снеса, только там не по rom байты менять, а по ram. Только инструкцию напиши к нему :)

В эмулятор не так сложно дописать свои фичи - исходники открытые.

Питон всё равно рекомендую, им групповую обработку картинок делать удобно. Блоки иногда невозможно делать в верхнем левом углу, например, если уровень представлен одним большим экраном, а персонаж стоит где-то посередине, так что иногда всё равно сначала выкусить картинку надо. А вот скрипт поиска и удаления одинаковых скриншотов, пожалуй, надо сделать будет.
Обрезка в любом случае делается из 4 параметров, x,y,xsize,ysize.  Так что не важно где находится блок. А персонажей вообще-то можно отключить , выключив спрайты.  А скрипт твой у меня не заработал, смотри личку.

Инструкция по нарезке такая:
1) Прописываем адрес рома, который отвечает за один из блоков уровня в скрипт.
2) Делаем сейв на первый слот СРАЗУ перед переходом на этот уровень/комнату (в котах это надо даже не на 1 экране, а предыдущем), то есть до момента перехода. Но переход сам должен начинаться. Задержку можно изменить строчками FCEU.frameadvance();
3) Запускаем lua-newlua script window, указываем скрипт и нажимаем - run.

Оффлайн TiberiyLTim

  • Пользователь
  • Сообщений: 340
  • Пол: Мужской
  • -=TLT=-
    • Просмотр профиля
spiiin, там нужно было активировать аккаунт, пройдя тест-антиспам. Я тебя перевел в группу проверенных, чтобы мог комментировать и пр.

Оффлайн Еmsi-D

  • Пользователь
  • Сообщений: 555
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Roket, шо это за чудо-юдо такое??? 0_0 :lol:

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Emsi D, старый ломаксовский хак просматриваешь. :lol:
Я там много ещё бредятины не удалил ещё. Это вообще-то должен быть кот что у меня в подписи пониже. Но в результате неудачного конверта в игру он слегка изуродовался.

Оффлайн Еmsi-D

  • Пользователь
  • Сообщений: 555
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Почему Ломаксовский? Вы же вдвоём пилили :?
Цитата
Это вообще-то должен быть кот что у меня в подписи пониже
А каким боком там главарь из седьмого уровня котов? :)

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Эта мышь в том нашем совместном хаке была боссом уровня B заместо летающей ракеты. Но Ломаксу это не понравилось и я её убрал. Вместо этого сделал её помощницей главного злодея и присобачил на экран вместе с ним. Который в последствии и забыл вообще убрать.

Оффлайн Еmsi-D

  • Пользователь
  • Сообщений: 555
    • ВКонтакте
    • Youtube
    • Просмотр профиля
доделывать-то будете? хотелось бы в финалку порезаться)
полтора года уже ждём)

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Наверное. Но сейчас мы заняты другим - допиливаем мой хак про Ломакса. Я там уже половину врагов заменил и половину препятствий облегчили. Плюс кода дописано в некоторые уровни.
Добавлено позже:
В общем делаем ту версию не только для харкордщиков.

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
АПДЕЙТ РЕДАКТОРА. версия 2.2
- Редактор врагов для игр Tale Spin, Little Mermaid, Tiny Toon Adventures.
- Конфиги для всех уровней игры Ninja Cats (портировано с редактора Ti_).
- Конфиги для 1 уровня игр Zombies Ate My Neighbors (автор Nemesis_c).
- Фикс мелких багов.

Доразбирал оставшиеся системы объектов для капком-игр (для Tale Spin система врагов аналогичная Darkwing Duck, для Little Mermaid аналогичная Duck Tales 1 с небольшими отличиями). Не работает только 2-й уровень русалочки, из-за того, что там невыровненные поинтеры на массивы уровней, это поправлю к след. версии. Мегамэна забил добавлять, на него уже есть редакторы и куча хаков.

Добавил описания врагов для всех уровней Tiny Toon, список объектов думаю несложно будет составить, просто открыв редактор. Там всё просто - объекты описываются подряд тремя байтами, первый - тип врага, второй и третий - X и Y координаты (1 бит = 16 пикселей на экране). Редактор позволяет выставлять координаты с точностью до пикселя, но движок все равно выровняет их до 16, это следует учесть при расстановки объектов.

В след. версии будет возможность описывать списки объектов в конфигах (универсальный редактор объектов).

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
Цитата: spiiin
Tiny Toon для сеги

даешь полный Tiny Toon для сеги!!!

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Попросил модераторов обновить шапку темы, чтобы собрать в ней ссылки на последнюю версию и последние версии хаков. Если там не будет каких-то релизов - пишите мне в личку, добавлю ссылки, а то я их сам уже найти не могу  :neznayu:
Добавлено позже:
babulya
Может, сам этим займёшься?  ;)
« Последнее редактирование: 20 Январь 2014, 22:42:55 от spiiin »

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
babulya
Может, сам этим займёшься?  ;)
Нет,я нуб и лентяй.И еще я очень жадный,вот забубеню себе мегахак Тини Тун с измененным первым уровнем - рыдать от зависти будете.
Добавлено позже:
 Что?!Его еще и распаковывать надо?!Ну нах,короч,ромхакинг - г@вно.
 Шучу.spiiin, ты теперь отбил у меня всякий интерес к хакингу этой игры...

Оффлайн Lomax

  • Ушел с форума
  • Сообщений: 3192
    • Просмотр профиля
Нет,я нуб и лентяй.И еще я очень жадный,вот забубеню себе мегахак Тини Тун с измененным первым уровнем - рыдать от зависти будете.
Добавлено позже:
 Что?!Его еще и распаковывать надо?!Ну нах,короч,ромхакинг - г@вно.
 Шучу.spiiin, ты теперь отбил у меня всякий интерес к хакингу этой игры...
делись травой, у кого берешь?  :)

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
делись травой, у кого берешь?  :)
Все свое,я эту гадость,что сейчас продают - не одобряю.Совсем не то,что у меня из подвальчика...
Ладно,посмотрю завтра что да как в этом редакторе...

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Цитата
Нет,я нуб и лентяй.И еще я очень жадный,вот забубеню себе мегахак Тини Тун с измененным первым уровнем - рыдать от зависти будете.
Добавлено позже:
 Что?!Его еще и распаковывать надо?!Ну нах,короч,ромхакинг - г@вно.
 Шучу.spiiin, ты теперь отбил у меня всякий интерес к хакингу этой игры...
Я давно подозреваю что этот тип чем-то балуется галлюциногенным.  :)
Давай забабуль нам первый мегакрутой уровень. Посмотрим хорошо ли трава в голову ударила. :lol:



Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
Я давно подозреваю что этот тип чем-то балуется галлюциногенным.  :)
Давай забабуль нам первый мегакрутой уровень. Посмотрим хорошо ли трава в голову ударила. :lol:
Из-за тебя все лишились паблик релиза.Буду свой хак на картриджах продавать...

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Цитата
Из-за тебя все лишились паблик релиза.Буду свой хак на картриджах продавать...
Я только за. Раз такая мода то и мы будем свои творения продавать. :)
Не умеешь распаковывать, там же прога нужна на ромхакинг нет. есть ей надо распаковать и сжать обратно. Сжимает кстати лучше.

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
Я только за. Раз такая мода то и мы будем свои творения продавать. :)
Не умеешь распаковывать, там же прога нужна на ромхакинг нет. есть ей надо распаковать и сжать обратно. Сжимает кстати лучше.
o_0,Я вообще то говорил про .zip архив. :lol:

Оффлайн Roket

  • Пользователь
  • Сообщений: 3318
  • Пол: Мужской
  • Злой Котэ
    • Просмотр профиля
Цитата
Я вообще то говорил про .zip архив.
Этого мало. Нужно ещё и графические данные разжать чтобы их редактировать. хотя бы то что уже есть. Дальше уже головотяпство идёт если захочешь вообще всё поменять.

Оффлайн babulya

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

Оффлайн spiiin

  • Модератор
  • Сообщений: 760
    • Просмотр профиля
Я предлагал помочь с нарезкой тайлов для других уровней, кроме первого. инструкция есть, скрипт упрощенный для снятия скриншотов и инструкцию к нему с примером Ti_ выкладывал, для тини-туна я такую версию использовал:
--FF4A00 + 32-48 - second screen 2 lines for layer A
--FF5000 + 28-2F - top line for layer B
startAddr = 0xFF4A00
val = 0x10
savestate.load(1);
for mem = startAddr+0x32,startAddr+0x48-1 ,1 do
  memory.writebyte(mem, val);
  val = val + 1;
end;
--change level
--memory.writebyte(0xFF5028, 78);

Всё, что надо это подготовить сейв в момент, когда уровень уже загружен и 16 раз прогнать скрипт (эмулятор сам его перезагружает, если пересохранить файл скрипта), меняя val от 0x00 до 0xF0, чтобы сделать скриншоты всех блоков уровня:

мне даже достаточно будет просто 16 скринов с блоками уровня (только надо не забыть выключить слой спрайтов и задний фон), дальше я своими скриптами всё сделаю.

Оффлайн babulya

  • Пользователь
  • Сообщений: 1207
  • Пол: Мужской
    • Просмотр профиля
Я предлагал помочь с нарезкой тайлов для других уровней, кроме первого. инструкция есть, скрипт упрощенный для снятия скриншотов и инструкцию к нему с примером Ti_ выкладывал, для тини-туна я такую версию использовал:
--FF4A00 + 32-48 - second screen 2 lines for layer A
--FF5000 + 28-2F - top line for layer B
startAddr = 0xFF4A00
val = 0x10
savestate.load(1);
for mem = startAddr+0x32,startAddr+0x48-1 ,1 do
  memory.writebyte(mem, val);
  val = val + 1;
end;
--change level
--memory.writebyte(0xFF5028, 78);

Всё, что надо это подготовить сейв в момент, когда уровень уже загружен и 16 раз прогнать скрипт (эмулятор сам его перезагружает, если пересохранить файл скрипта), меняя val от 0x00 до 0xF0, чтобы сделать скриншоты всех блоков уровня:

мне даже достаточно будет просто 16 скринов с блоками уровня (только надо не забыть выключить слой спрайтов и задний фон), дальше я своими скриптами всё сделаю.
Ок,будет время - сделаю,я пока даже редактор не скачал. :blush: Залейте кто-нибудь на файлообменник,плиз. :)