Разработка и ромхакинг > Редакторы для консольных игр
Пользовательские конфиги для CaD Editor
<< < (3/13) > >>
spiiin:
lancuster,
Можно. Но лучше добавить настройки оставшихся уровней для тех игр, для которых уже 1 уровень готов, для них и примеры конфигов как раз есть. Таких игр 39 штук для NES осталось.
lancuster:
Я попробую для начала Черепашек. Пропатчил ром toon хаком, поменял кое-что.
Те скрипты, что на Питоне, я почти не юзал. Да и неудобно ими что-то искать. На XP, кстати, не все скрипты работали, на 7 (что сейчас) - не пробовал.
По Капитану Америки есть вопрос. Я попробовал сделать свои настройки для уровня Колумбия, но программа при запуске данного уровня выдала кучу ошибок, хотя я и банк графики вырезал и переименовал, и палитру уровня отдельным файлом, как надо, сделал. Может, там адреса неправильные, а может, код конфига чуть поправить нужно.
spiiin:

--- Цитата: lancuster от 23 Март 2018, 14:29:50 ---По Капитану Америки есть вопрос. Я попробовал сделать свои настройки для уровня Колумбия, но программа при запуске данного уровня выдала кучу ошибок, хотя я и банк графики вырезал и переименовал, и палитру уровня отдельным файлом, как надо, сделал. Может, там адреса неправильные, а может, код конфига чуть поправить нужно.

--- Конец цитаты ---
В конфиге для первого уровня адреса для блоков и экранов первого уровня. Для другого уровня будут другие адреса.
lancuster:
spiiin, я это как-то сразу понял. Адреса менял, банку графики для уровня вырезал, палитру отдельным файлом - но не фурычит, вообще.
spiiin:

--- Цитата: lancuster от 23 Март 2018, 18:56:47 ---spiiin, я это как-то сразу понял. Адреса менял, банку графики для уровня вырезал, палитру отдельным файлом - но не фурычит, вообще.

--- Конец цитаты ---
Ну как я угадать должен, что ты там написал в конфиге? Пришли аттач с конфиг и дампом памяти и палитры, чтобы я мог его попробовать открыть и посмотреть, что там за "куча ошибок".
lancuster:

--- Цитата: spiiin от 23 Март 2018, 19:00:49 ---Ну как я угадать должен, что ты там написал в конфиге? Пришли аттач с конфиг и дампом памяти и палитры, чтобы я мог его попробовать открыть и посмотреть, что там за "куча ошибок".

--- Конец цитаты ---
Куча ошибок при запуске конфига,ещё до появления окошка редактора. В общем, вот:

Добавлено позже:
К слову. Почему нельзя сделать карту, как в Чип и Дейле? Там ведь все экраны подряд идут, а потом уже всё остальное.
Или это связано с особенностью игры?
spiiin:
lancuster
у тебя синтаксическая ошибка одна в конфиге просто, о чём тебе редактор и говорит, когда его скомпилировать пытается.
адреса в шестнадцатиричном виде в C# пишутся начиная с 0x.
т.е. в 7 строчке просто поправь адрес на c 2a60 на 0x2a60 - получается такая карта из твоего конфига.

В ней ещё надо указать правильное число блоков - "дырки" - это блоки с большими номерами, чем ты указал в конфиге (77), и указать правильный адрес начала атрибутов блоков (getPalBytesAddr), чтобы блоки покрасились в правильный цвет.


Добавлено позже:
Смотри, c помощью этого частично готового конфига ты уже можешь упростить поиск следующих данных, можно поставить нужный тебе блок в нужное место экрана, чтобы проще было искать начало массива аттрибутов (например блок 1, так как 0 блок будет всегда чёрным, какие бы ему аттрибуты не ставить). Я на скрине поставил первый блок и корраптером сразу же нашёл адрес его аттрибутов (и физических свойств) - 0x50D1, значит, массив начинается с 0x50D0.
spiiin:
С количеством блоков тоже всё просто - ставишь 256, перезагружаешь конфиг (можно прямо в редакторе нажать на кнопку Reload, не закрывая его), дальше проматываешь список блоков и смотришь номер первого блока, с которого начинается явный мусор (я выделил на скрине). Единственное, что надо помнить про то, что это номер шестнадцатеричный, поэтому его надо или записать как 0x8A (прибавляем к номеру 1, потому что блоки нумеруются с 0 - 0,1,2,3,...,0x89 - всего 0x8A блоков), либо перевести в десятичную систему - 138 блоков. После этого вписываешь в конфиг правильное число и снова его перезагружаешь (можно и 256 оставить, если не смущают мусорные блоки).

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

Добавлено позже:
Ну и последний штрих - стоит проверить количество экранов, а также то, не "прячутся" ли перед первым экраном ещё несколько. Это можно сделать так, чтобы не считать точный адрес экрана перед первым:

--- Код: ---public OffsetRec getScreensOffset()  { return new OffsetRec(0x2a60 - 16*15*4, 27 , 16*15);   }
--- Конец кода ---
(отступаем на 4 экрана назад от того, который был первым (16*15 - размер одного экрана, 4 - количество экранов).

Количество экранов (27 в примере) тоже можно выбрать большим - потом просмотреть их до тех пор, пока не начнёт идти мусор и уменьшить до правильного (при этом помнить, что номера экранов редактор тоже показывает в шестнадцатеричном виде)

Итоговый конфиг не выкладываю пока, думаю, будет интересно в качестве упражнения добить его самому.
lancuster:
Банки и так переключаются, но ведь для этой игры нужно подгружать память извне, так ведь?
Я поправил конфиг, и ещё сделал для Чарльзстона и похожих уровней, потом за Филадельфию, Нью-Йорк и последний уровень возьмусь. Там работает повторение кадров, так что не нужно кромсать уровни. И палитра там не так важна, достаточно одну для всех похожих уровней юзать. С конфигами врагов будет сложнее, из-за повторений, но так как примера всё равно нет - надо хотя бы экраны добить до конца.
spiiin:

--- Цитата: lancuster от 24 Март 2018, 00:29:40 ---Банки и так переключаются, но ведь для этой игры нужно подгружать память извне, так ведь?

--- Конец цитаты ---

Необязательно, я дампы просто скриптом делаю, не заморачиваясь поиском адресов
https://github.com/spiiin/CadEditor/tree/master/Stuff/nes_lua/dump_chr_and_pal
Запускаешь из эмулятора луа скрипт и он в папку рядом со скриптом сразу сохраняет содержимое обоих chr-банков и палитр
dump_chr_and_pal.lua

Второй вариант скрипта dump_animated_chr.lua, запускаешь и играешь - он дампит все неповторяющиеся варианты содержимого первого CHR-банка, которые загружались за время игры (это если надо анимированные банки сдампить для игр с CHR-RAM, к редактору отношения не имеет).
lancuster:
spiiin, ну, я и к Читаменам 2 тоже сделал конфиги, ко всем уровням. Осталось лишь сделать правильное отображение врагов, да к первой части уже конфиг замутить. ;)
Насчёт конфигов. Вот, держи ещё настроек для игр с одним уровнем. Зря ты с релизом поспешил - вон я уже сколько наваял (архив в аттаче)
.
Капитан Америка - добавлены все уровни, все арены с боссами, титульник (осторожно, там уже идёт rle, но с использованием блоков), сама карта Америки и арены из файтинга. В TNMT добавлены все уровни и наземные карты (ого!). Также добавлены арены с боссами. Есть лишь одна ошибка: не найдена/не выделилась палитра для арены с Крысоловом. Так что ты её как-нибудь поправь, хорошо?
Также в архиве лежат адреса для конфига Mickey Mousecapade и первый уровень Dragon Fighter (которого не было в сборке). Единственный минус - там проблема с палитрой (не знаю, как её исправить), и некоторые блоки неправильно отображаются. Это тоже нужно как-то исправить.
Просьба тех, кто заходит в тему - проверить полноту конфигов. В Капитане Америки всё гуд, а вот Черепашек я не проходил, для меня это дремучая и очень скучная игра, да и нечестная к тому же.
P. S.: в планах имею намерения добавить также все уровни к Контре и Супер Контре. Конфигов к первой части нет вообще, но если конфиг из второй подойдёт - можно будет сделать.
Сейчас у меня финансовые трудности, так что на связь придётся выходить пореже.
spiiin:
lancuster
Спасибо. Конфиги годные. Полноту не проверял, но экраны отображают верно.
Добавлю в след. релиз и поправлю по мелочам.
tmnt - добавил, посмотрю, что там со списком врагов и призов, может и их добавим.
dragon fighter - поправил отображение палитры и блоков, это у меня мелкая неточность в базовом конфиге была.
captain america - всё ок, титульник убрал пока.
mickey mouse - добавлю сам пример уровня 1 по твоим данным
contra - не трогай пока, я для игр со сжатыми уровнями (даже обычным rle), добавляю дампы, чтобы редактор менял файл дампа, а запаковать обратно уже задача пользователя, как ему удобнее.
super contra - можешь попробовать.
chettahmen 2 - там у тебя адреса аттрибутов были не правильные, сейчас выложу версию конфигов тебе твоих поправленных по ним, глянешь адреса getPalBytesAddr, ты там вроде какие-то адреса указывал, но они неверные.
spiiin:
lancuster, твои поправленные конфиги для cheetahmen 2, в 1-м уровне блоки отображаются верно, во 2-м и дальше - с неверными атрибутами

Добавлено позже:

--- Цитата: Марат от 26 Март 2018, 17:39:53 ---Там используется LZHuf от Haruyasu.Yoshizaki http://mf.grsu.by/UchProc/livak/po/comprsite/pract_lzh.html
Пытаюсь переделать редактор уровней игры ZAMN Editor для снес версии. И тут выяснилось, что алгоритмы сжатия у них разные. В снес версии обычный LZSS, а в сеговской LZH. А редактор написан на Basic .net, который я никогда не изучал. Придётся теперь по изучать.

--- Конец цитаты ---
Ок, попробую плагин перепаковки тем пакером сделать, по аналогии с контрой хард корпс, если он подходит действительно.
lancuster:
spiiin, запоздалая информация. Я ведь ещё тогда сам всё поправил, вложил в архив. Продублировал, сравни. Там по-любому враги не отображаются.
В архиве так же лежит первая часть, в неё добавил все-все экраны, включая интро. Также там лежит порт под MMC1 от моего знакомого, прошу затестить (и доработать отображение врагов на карте). :)
Также в архиве лежит весь Dragon Fighter (с теми же косяками, сам исправишь) и Super C (там та же проблема с банками). Ещё я поправил твой конфиг для Карманных Монстров, плюс добил конфиги до полноценных двух уровней, с босс-аренами. Потом все экраны целиком выложу, если дадут зайти в интернет.
Да, к слову. Заметил, что именно в этой игре ребята из Конами решили повыпендриваться и засунуть разные типы экранов в каждый уровень, и чередовали их: 8x8, 8x6, 8x8, 8x6 и т.д. Арены с боссами урезал до 8х6, т.к. нижние 2 строки всё равно перекрыты HUD.
lancuster:
Вот ещё для Контры конфиг. Если будет время - напишешь пакер, у меня там всё верно указано, но карта перемешана и отображается кусками.
Вообще, я сейчас на мели, и занимаюсь этим исключительно на голом энтузиазме.
P. S.: скоро я доделаю ещё один конфиг одной известной игры. Кто видел мой ТПВ - догадается по эпизоду с Филиновым. :)
spiiin:
lancuster,
- Насчёт читаменов 1 - я не очень представляю, как распространять конфиги для хаков, правильное наверное было бы с редактором распространять ips-патч и накладывать его на оригинальный ром перед редактированием (а то и всё редактирование карты в редакторе тоже в виде ips-патча хранить, а не ром менять), такого пока не поддерживается. Если добавлю такую фичу - добавлю и конфиги эти, возможно пригодится для хаков (у меня ещё для duck tales 2 deluxe есть конфиги карты без врагов :) )
- Контру, супер контру, читаменов 2 и драгон файтера проверю.

Добавлено позже:
Напиши в личку, выдам тебе на интернет за конфиги из фонда пожертвований на CadEditor. Только Санчезу не говори :lol:
spiiin:
Проверил Mickey Mouse 1, формат блоков там точно такой же, как и Mickey Mouse 3. А вот набор блоков и "экран" вообще один для всех уровней. Просто переключая банки памяти и палитры, можно увидеть отображение всех уровней.
lancuster:
spiiin, по поводу Читаменов я так скажу. Первый Читамен - это оригинал и есть, из него же вторую часть и слепили. Только разница в том, что второй отдельно всё-таки вышел, а первый так и оставался в сборнике. Первая часть - это рип со сборника, а вторая - как раз хак первой, пусть и выходил отдельно. Кстати, я к нему дополнил настройки интро и титульного экрана, так что теперь кто угодно может его редактировать. В Супер Контре просто есть замутка с переключением банок (как и в Dragon Fighter), а эти дампы видеопамяти я вручную делал (не знаю, почему эти lua скрипты не фурычат, я включал - ничего не появляется).
За донат напишу отдельно в личке. Заранее спасибо. :cool:
... Вижу, что никто мою пасхалку в фильме не разгадал. Ладно, я говорил про игру Batman. :)
Также я поправил и добил до конца игры: Monster in my pocket,  Jackie Chan's Action Kung Fu (не хватает лишь бонус-уровней и пары катсцен) и Gun. Smoke. Итого получается, что на сегодняшний день я добавил уже 10 игр:
1. Batman
2. Captain America and The Avengers
3. Cheetahmen
4. Cheetahmen 2
5. Dragon Fighter
6. Gun. Smoke
7. Jackie Chan's Action Kung Fu
8. Monster In My Pocket
9. Super C
10. Teenage Mutant Ninja Turtles
Также в архив вложил пояснения для конфигов к Circus Caper и Ikari Warriors. Если будет более-менее с интернетом - скачаю ещё Ghost'n Goblins, а то на него ни одного нормального редактора нет, только на dos есть для первого уровня, очень неудобный.
P. S.: также прикрепил тестовый ром Battle Kid. Это для тех, кто будет писать просьбы типа "добавь обе части Battle Kid-а". Игра юзает RLE, но блоки там 2х2. В роме показано то, что можно сделать вручную. :cool:
spiiin:
lancuster

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

Адреса блоков и экранов твои оставил, только второй уровень поправил. Остались 3,4,7,8 уровни, надо их поправить.
lancuster:
spiiin, на втором уровне не нужно было трогать адреса. Ты указал явно что-то левое, поэтому конфиги и поехали. :cool:
Попробую поправить конфиги для этой игры и, думаю, надо будет сделать перерыв. :cool:
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии