Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - spiiin

Страницы: Назад 1 2 3 [4] 5 6 7 8 ... 26 Далее
91
Griever, вот вообще всё не так как ты написал.
1. Хороший мувик, пробегающийся по всей игре практически обеспечит валидацию. Критерий хорошего мувика простой - Code-Data Logger засекает максимальное количество данных.
2. Сделать такой мувик самому быстрее и прогнать намного быстрее, чем сделать дизасм. Тебе не нужно "обычное" прохождение, нужен заход во все места игры.
3. Отслеживать надо не зависание игры, а наличие рассинхронизации просто.
4. Даже обычное тас прохождение рассинхронизируется из-за поломки генератора случайных чисел. То же самое с балансом, поведением AI, действием/ценой предметов и размерами хитбокса - это всё приведёт к рассинхрону в мувике.
5. С обычными хаками колбеками те же вопросы возникают - если авторы используют какую-то область RAM, думаю, что игра её не использует, где гарантия, что горе-ромхакеры проверили, что игра не использует её в какой-нибудь редкой сцене?

92
Ну, не совсем лично, я их за тобой иногда правлю всё же для исправления мелких недочётов, доработки и приведения в аккуратный вид. Но всё равно отличная работа. :lol:

Добавлено позже:
блин, сначала подумал, что в Shadow Of The Ninja с палитрой, что-то не то, потом проверил - а там реально зелёный дождь и кислотный зелёный и жёлтый пол и синие стены.

93
Цитата
в результате вся игра как на ладони лежит и не надо через замочную скважину путем корраптов и прочих извращений узнавать, как она работает
Для реверса мозги нужны, а коррапт можно и без них делать :lol:

94
RELEASE v4.9
https://github.com/spiiin/CadEditor/releases/tag/v4.9

- Плагин запуска пользовательских скриптов:
  Скрипт поиска неиспользуемых блоков
  Скрипт поиска адресов CHR-дампов и палитр в ROM-файле
- Мелкие фиксы редактора врагов (возвращено отслеживание максимального кол-ва объектов перед сохранением)
- Фильтр по типу файла в окне выбора конфига для открытия
- Немного изменён способ изменения размеров панелей в главном редакторе
- Конфиги экранов/блоков, все уровни [NES]:
  Teenage Mutant Ninja Turtles
  Dragon Fighter
  Cheetahmen 2
  Captain America
  Mickey Mousecapade
  Jackie Chan Action Kung Fu
  Gun Smoke
  Batman
  Monster in My Pocket
  Super C / Super Contra
  Captain Planet
  Mitsume ga Tooru
  Alien 3
  Terminator 2

- Редактор типов физики блоков для Flintstones Rescue Dino & Hoppy

Отдельная благодарность lancuster'у за написание почти 250 конфигов для уровней из 12 игр.

Статистика по играм:
[NES]
12 игр - редакторы экранов, блоков и объектов; все уровни
33 игры - редакторы экранов и блоков , без редактора объектов; все уровни
25 игры - редакторы экранов и объектов, без редактора объектов; по 1 демо уровню
13 игр - редакторы экранов картинками, формат блоков не разобран.
[SEGA]
10 игр - редакторы экранов и блоков
5 игр - редакторы экранов картинками
[GBA]
1 игра - редактор экранов картинками, все уровни
Всего
760 конфигов разных уровней для 99 игр.

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

96
Скоро будут конфиги для Mitsume ga Tooru, Ланкастер добрался и до них.

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

Изображение на экранах смещено на полблока (2 тайла), поэтому все блоки экрана с боссом дублированы со смещением на полблока. Эффект виден, если воткнуть тестовый блок на оба экрана в редакторе:

97
spiiin, я использовал японский ром Super Contra.
Не знал, что они отличаются. :neznayu:
Первый же уровень в обеих версиях нормально отобразился, как же так-то? :neznayu:

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

98
lancuster, какой ты ром используешь для открытия super c?
открываю 2-й уровень с твоими настройками, получаю мусор, как и с другими уровнями (3,4,7,8).
Приложи ром, который используешь, если это не стандартный Super C (U) [!].nes, и скрин, который у тебя получается при открытии уровня.

99
lancuster

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

Адреса блоков и экранов твои оставил, только второй уровень поправил. Остались 3,4,7,8 уровни, надо их поправить.

100
Надо использовать эмулятор, который spiiin,  модифицировал

Я все свои добавленные lua-функции отправляю в репозиторий fceux (https://sourceforge.net/p/fceultra/code/3327/ - вот функции ppu.readbyte/ppu.readbyterange, чтобы делать дамп видеопамяти из скриптов). Просто в версии 2.2.3 их ещё нет, это версия ещё от июня 2016.

Самая свежая версия эмулятора выкладывается тут:
https://ci.appveyor.com/project/zeromus/fceux/build/artifacts

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

Super C у тебя пока не готова.
А вот за Jackie Chan и Monster in My Pocket спасибо  :thumbup: Там больше 100 конфигов.

Их потом ещё мне немного модифицировать надо будет, чтобы была возможность цельный уровень отобразить, а то сейчас склеить вместе экраны 8x8 и 8x6 для редактора врагов нельзя пока что.

101
Проверил Mickey Mouse 1, формат блоков там точно такой же, как и Mickey Mouse 3. А вот набор блоков и "экран" вообще один для всех уровней. Просто переключая банки памяти и палитры, можно увидеть отображение всех уровней.

102
lancuster,
- Насчёт читаменов 1 - я не очень представляю, как распространять конфиги для хаков, правильное наверное было бы с редактором распространять ips-патч и накладывать его на оригинальный ром перед редактированием (а то и всё редактирование карты в редакторе тоже в виде ips-патча хранить, а не ром менять), такого пока не поддерживается. Если добавлю такую фичу - добавлю и конфиги эти, возможно пригодится для хаков (у меня ещё для duck tales 2 deluxe есть конфиги карты без врагов :) )
- Контру, супер контру, читаменов 2 и драгон файтера проверю.

Добавлено позже:
Напиши в личку, выдам тебе на интернет за конфиги из фонда пожертвований на CadEditor. Только Санчезу не говори :lol:

103
lancuster, твои поправленные конфиги для cheetahmen 2, в 1-м уровне блоки отображаются верно, во 2-м и дальше - с неверными атрибутами

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

104
lancuster
Спасибо. Конфиги годные. Полноту не проверял, но экраны отображают верно.
Добавлю в след. релиз и поправлю по мелочам.
tmnt - добавил, посмотрю, что там со списком врагов и призов, может и их добавим.
dragon fighter - поправил отображение палитры и блоков, это у меня мелкая неточность в базовом конфиге была.
captain america - всё ок, титульник убрал пока.
mickey mouse - добавлю сам пример уровня 1 по твоим данным
contra - не трогай пока, я для игр со сжатыми уровнями (даже обычным rle), добавляю дампы, чтобы редактор менял файл дампа, а запаковать обратно уже задача пользователя, как ему удобнее.
super contra - можешь попробовать.
chettahmen 2 - там у тебя адреса аттрибутов были не правильные, сейчас выложу версию конфигов тебе твоих поправленных по ним, глянешь адреса getPalBytesAddr, ты там вроде какие-то адреса указывал, но они неверные.

105
RELEASE v4.8
https://github.com/spiiin/CadEditor/releases/tag/v4.8

- Фиксы конфигов:
  Chip & Dale (редактор раскладок, врагов, группы для отображения вида уровней)
  Duck Tales 2, Chip & Dale 2 (правильное отображение атрибутов блоков)
  Jungle Book (отображение уровней 7-8)
  Flintstones: Rescue of Dino and Hoppy (U-версия рома, фикс редактора объектов)
  Chip & Dale 2 (группы отображения уровней и подуровней)
- Конфиги уровней
  Adventure in the Magic Kingdoom (карта и экраны/блоки основных уровней).
  Mission Impossible [NES] - экраны/блоки 1 уровня.
  Captain America [NES] - экраны/блоки 2 уровня. (барабанная дробь, от lancuster'а  :lol:)
- Редактор врагов:
  Правая кнопка переключает режим на выделение объектов
  Клавиша delete удаляет выбранные объекты
  Включение/выключение сетки для блоков и экранов
  Переключение отображения вида группами, если они описаны + автоматическое переключение группы после переключения уровня.
  Мелкие фиксы

Релиз в основном посвящён мелким улучшениях в редакторе врагов и фиксам в конфиге Chip & Dale 1, вроде основные вещи (список объектов, раскладки, параметры уровней и дверей) снова нормально редактируются.

Добавлено позже:
Ещё бонусом lua-скрипт для выделения эффектов горизонтального скролла в любых играх:
https://github.com/spiiin/CadEditor/blob/master/Stuff/nes_lua/mesen_logParallax.lua
и статья с гифками-примерами этих эффектов:
https://spiiin.dreamwidth.org/115714.html

106
Банки и так переключаются, но ведь для этой игры нужно подгружать память извне, так ведь?

Необязательно, я дампы просто скриптом делаю, не заморачиваясь поиском адресов
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, к редактору отношения не имеет).

107
С количеством блоков тоже всё просто - ставишь 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 в примере) тоже можно выбрать большим - потом просмотреть их до тех пор, пока не начнёт идти мусор и уменьшить до правильного (при этом помнить, что номера экранов редактор тоже показывает в шестнадцатеричном виде)

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

108
lancuster
у тебя синтаксическая ошибка одна в конфиге просто, о чём тебе редактор и говорит, когда его скомпилировать пытается.
адреса в шестнадцатиричном виде в C# пишутся начиная с 0x.
т.е. в 7 строчке просто поправь адрес на c 2a60 на 0x2a60 - получается такая карта из твоего конфига.

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


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

109
spiiin, я это как-то сразу понял. Адреса менял, банку графики для уровня вырезал, палитру отдельным файлом - но не фурычит, вообще.
Ну как я угадать должен, что ты там написал в конфиге? Пришли аттач с конфиг и дампом памяти и палитры, чтобы я мог его попробовать открыть и посмотреть, что там за "куча ошибок".

110
По Капитану Америки есть вопрос. Я попробовал сделать свои настройки для уровня Колумбия, но программа при запуске данного уровня выдала кучу ошибок, хотя я и банк графики вырезал и переименовал, и палитру уровня отдельным файлом, как надо, сделал. Может, там адреса неправильные, а может, код конфига чуть поправить нужно.
В конфиге для первого уровня адреса для блоков и экранов первого уровня. Для другого уровня будут другие адреса.

111
lancuster,
Можно. Но лучше добавить настройки оставшихся уровней для тех игр, для которых уже 1 уровень готов, для них и примеры конфигов как раз есть. Таких игр 39 штук для NES осталось.

112
+Kinbeas+,
вот список ромов, которые я из GoodNes беру.
https://github.com/spiiin/CadEditor/blob/master/CadEditor/ROMS/copySupportedRomsFromGoodROM.py
На эму-ленде версии оттуда же, я просто предположил, что ты левые какие-то открывать пытаешься. Из той информации, что ты мне дал, невозможно определить, из-за чего именно у тебя не открываются эти игры именно.

По Jurassic Park - там вообще надо открывать дамп уровня dump1.bin, а не ROM, лучше его не трогать пока.

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

113
+Kinbeas+,
Контру Форс не открывает. Что не так опять?
Да вроде открывает без проблем. Проверь, что ROM (U) версии из GoodNES. Другие игры открываются?

Добавлено позже:
Классная задумка. Быстро нашел параметры Сцены 1-2 уровня в Бэтмане. Причём даже не пришлось ждать завершения, так как уже на третьем скриншоте стало ясно, где лежит карта на макроблоки. А уже на 20-30 картинке было понятно где лежат сами макроблоки. Вот только долго разбирался, как работать с инструментом. Оказывается надо сделать сейв в первый слот перед входом в следующий уровень, а при отображении следующего уровня сделать сейв во второй слот. Это стало ясно только, когда посмотрел скрипт.
Я давно ещё описывал принцип работы его в статье.
https://habrahabr.ru/post/259483/

Его ещё есть куда развивать, можно так же отлавливать данные о спрайтах, и нужные сейвы сделать автоматом, например, по событию выключения рендера фона в PPU, а включать после нескольких записей в экранную страницу. К сожалению во fceux луа не поддерживает часть из нужных функций, я из-за этого хочу портировать скрипты на эмулятор Mesen, там намного больше с помощью скриптов можно сделать.

114
То есть, сделать японку как американку.
А смысл? У них радикальных отличий нет, просто куча мелочей различается. Неужто японка в детстве была и ностальгии хочется?


Он потом ещё задач придумает, когда ему это сделают, чтобы отличались :lol:

116
Можно её изменить уже давно в отдельном редакторе слоя палитры, и я тебе уже писал про это. Правой кнопкой в редакторе Map Editor.

117
Разработка игр / NESmaker
« : 22 Февраль 2018, 17:38:32 »
итак. индивизибл для денди. "игра" проходится за 3.5 минуты лол два босса и три локации. не больше, чем демка и не претендует на что-то большее. еще "игры" есть? или я как всегда прав?
Ты, как всегда, прав только в рамках тех условий, которые сам описал для своего утверждения.

Ты сравниваешь выходящие сейчас игры от инди-разработчиков с лучшими играми эпохи рассвета платформы, а не со средними, причём только по одним тебе известным критериям. Где был критерий, что в игре должно быть больше 3 локаций и 2 боссов? Тебе другую хорошую игру найди, ты и к ней придерёшься, что в ней нет чего-либо ещё.

118
Разработка игр / NESmaker
« : 13 Февраль 2018, 14:17:59 »
скажу даже больше... на денди со времен китайского клоностроительства ни разу никто не сделал ничего нового, отличающегося от путешествия кубика по лабиринту из кубиков.

Вот тебе свеженькая и красивая.
https://kasumi.itch.io/indivisible

119
не RLE там.
1. при сжатии RLE в файле не бывает длинных (>2) последовательностей идущих подряд одинаковых байт
2. после сжатия не остаётся выровненных на 16 байт фреймов, которые видны во всех файлах при просмотре в heх-виде.

120
За донэйт он может допилить поддержку.
Схема с донейтами работает не так. Если тебе нравится программа - показываешь автору, что она тебе нравится. Автор ничего не должен. Это одна из схем обратной связи - можно написать "классная программа", а можно пожертвовать какую-либо небольшую сумму, чтобы сказать автору, что программа нравится.

Чтобы сделать редактор для игры, которой вам хочется, а автору нет - надо нанять себе программиста и оплатить его работу, это не донейт. Или же научиться писать код  и сделать самому. То же самое с компрессорами, то же самое с любыми другими программами - никто не обязан выполнять чужие хотелки просто так. Это всё равно что подойти на улице к человеку и сказать "Слушай, ты сильный, разгрузи мне фуру, ты же умеешь, а мне некогда разбираться самому, как это делается, я хочу чтобы содержимое фуры оказалось вон в том складе, а дальше я уже сам разберусь, а глядишь, разгрузишь мне пять машин, и там я и сам научусь, как это делать".



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

Страницы: Назад 1 2 3 [4] 5 6 7 8 ... 26 Далее