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

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


Сообщения - spiiin

Страницы: Назад 1 ... 10 11 12 13 [14] 15 16 17 18 ... 26 Далее
391
да вполне нормальная документация, по ней можно продолжить работу над проектом.
даже виден ход рабочего процесса. у меня обычно на выходе текстовик строк на 200 с основными метками.

я бы рекомендовал тебе разобрать метод сборки рома с ассемблированием отдельных кусков кода и вставкой в ром, так у тебя код будет в текстовом, а не бинарном виде держаться небольшими кусочками, а не всё в основном роме храниться.
http://spiiin.livejournal.com/69940.html

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

392
---------------------------------------
Апдейт редактора v2.4
---------------------------------------
- Конфиги для игр (портировано с редактора Ti_):
  Tom & Jerry (уровни 2,3,4),
  Ninja Cats (уровень 11),
  Little Nemo (все уровни).
- Конфиги для редактора объектов:
  Flintstones - The Surprise at Dinosaur Peak! (уровень 1),
  Zombies Ate My Neighbors (уровень 1).
  Tom & Jerry (уровень 1-1, 1-2).
- Улучшения редактора объектов:
  перемещение объектов мышью,
  поддержка до 6 дополнительных полей объектов.
- Общие улучшения:
  настройки блоков из главного редактора передаются в дополнительные,
  файл глобальных настроек (настойки имени файла и глобальной палитры nes),
  редактор экранов - правой кнопкой выделение блока под курсором, отображение номера выбранного блока,
  исправление ошибок.
- Конфиги для раскладок для игр (автор teremochek):
  Argos No Senshi (все уровни)
  Fist of The Nortstar (3 уровня)
- Поддержка одновременной загрузки рома и дампа памяти (для редактора объектов сега игр).
- Возможность редактировать номер субпалитры для блоков Duck Tales 2.
- Конфиги игр разложены по отдельным папкам.

Пока что последняя версия редактора. Серьёзных обновлений в ближайшее время не планируется, разве что буду фиксить найденные ошибки.
По форматам объектов - для Tom & Jerry Roket выше расписывал, для Flintstones аналогично первой части (по байту на номер и координату X и Y), по ZAMN - редактор жертв по информации от Nemesis_c - http://elektropage.ru/forum/10-127-1.

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

393
Roket
вот собранный конфиг для уровня 1-2.
посмотри изменения с предыдущей версией и сможешь для дальнейших уровней сам собирать.

нужно заменить строку:
public IList<LevelRec> getLevelRecs() { return null; }на 4 строки:
  public IList<LevelRec> getLevelRecs()    { return levelRecs; }
  public GetObjectsFunc getObjectsFunc()   { return getObjects;  }
  public SetObjectsFunc setObjectsFunc()   { return setObjects;  }
  public GetLayoutFunc getLayoutFunc()     { return getLayout;   }

и скопировать из моего конфига код самих 4 функции levelRecs, getObjects, setObjects и getLayout.

первая описывает запись об уровнях, в ней надо изменить начальный адрес первого объекта уровня в роме и количество объектов.
new LevelRec(0x825B, 37, 1, 1, 0x0), //0x825B - адрес первого объекта в роме, 37 - число объектоввторая и третья описывают, как именно сохранять объекты в ром и считывать из него, они одинаковые на всю игру, поэтому их нужно просто скопировать без изменений.
четвёртая функция описывает раскладку уровня, она для Том и Джерри простая - вся раскладка состоит из одного экрана. её тоже достаточно скопировать без изменений из второго конфига.

394
да можно прямо рядом с иконкой номер ляпнуть, чтобы было видно, что это другой немного объект.
ок, может займусь сам нарезкой иконок.

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

396
23 уже на прошлой странице. ща попрошу изменить текст в шапке :)

397
а, понял. сделаю, это тоже легко.

398
Насчёт фич не понял. Куда добавил? И какие нужны.  :)
В CadEditor :) все, которые посчитаешь нужными. У него же исходники открыты. Писать можно на на любом из языков C++,C#,VB (можно луа или python прикрутить ещё).

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

Ну а в перспективе неплохо бы сделать ещё много чего (в зависимости от того, нужно ли это кому-то и будет ли на это время):
- менеджер игровых архивов например, с возможностью вставки их в игру или пережатия на лету более эффективными архиваторами (видеопамять Duck Tales 2 например, редактировать).
- возможность загружать хитро описанные типы игровых экранов (как в супер марио или контре первой, там Rle-сжатие экранов).
- хекс редактор допилить (чтобы, например, в утиных историях 2 можно было легко указатели на врагов править, хотя это можно и кодом описать в конфиге уже сейчас).
- визуальный редактор конфигов, чтобы можно было тестировать их (например, проверять, как загружается видеопамять и потом ей блоки отрисовывать, хотя на самом деле, имхо, достаточно предзаготовленные картинки просто использовать, как у тебя в редакторе).
- сохранение данных в какой-нибудь текстовый формат, чтобы можно было из одной игры в другую их легче конвертировать или в своих играх использовать, например.

Добавлено позже:
Цитата
Самое главное неудобство в том, что каждый раз при редактирование больших блоков или малых нужно устанавливать графику палитру и.т.д. заново. Если бы все последние позиции и настройки запоминались это сэкономило бы половину времени как раз.
Не обращал внимания может эта функция уже есть, но было бы хорошо загружать свой вариант НЕС палитры, а то цвета какие-то не те.

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

Про установку nes палитры - в конфигах есть 2 варианта изменения её:
можно поправить адрес, откуда будут читаться палитры - функция getPalOffset, или же написать свою функцию getPalFunc, которая будет устанавливать любую нужную тебе палитру (при этом из рома ничего читаться и писаться не будет, для примера посмотри любой конфиг TinyToon, там я руками вбивал нужные мне палитры).

399
у меня всё работает  :neznayu:
проверь, что у тебя конфиг и картинка из архива действительно. (размеры 3 299 байт и 14 158 байт). по виду твоей ошибки похоже, что там неправильный конфиг какой-то суёшь или версия редактора неправильная у тебя.

400
Roket
ты архив сначала распакуй в папку с редактором. картинки же в архиве есть все нужные.
и первый работает. если проблемы - в личку напиши скрин ошибки

401
1) В dt2 не правильно отображает палитру + она не меняется. Но при этом визуально блоки показывает в правильной палитре.
да вроде правильно %) проверю.
2) Редактор противоречит сам себе. В каждом меню - своё название для блоков. Например в blocks editor , tileset это тоже что block в главном меню.  В макро blocks editor ,  которые также явлются также big blocks, а tileset это blocks 16x16. А blocks 16x16 это уже small blocks. Или как-то так.
Видео Блок это тоже что , просто видео. Во view type предалагается также Tiles (которые на самом деле big blocks) , Obj (которые вовсе не объекты - а кажется маски свойсти блока), и Obj Nubmers (которые на самом деле номера big blocks).
Во view video  и edit enemies, названия вроде совпадают с главным меню. Но тоже неясно, big blocks почему то 3, а blocks 5. А должно ведь быть наоборот? В DT2 точно 5 наборов именно больших блоков. - 5 уровней.
Предлагаю такие варианты (во всех меню одинаково):
Вариант1) 8x8 - tile, 16x16 - metatile, 32x32 - block.
Вариант2) 8x8 - tile, 16x16 - block, 32x32 - macroblock.
вместо tileset для (8x8) можно использовать chrbank, чтобы не было путаницы.
Ну я вроде вариант 2 и пытался использовать (Разве что Big Block а не макроблок решил называть в определённый момент. Вообще, конечно путаница с названиями русскими/английскими небольшая, я свои просто выдумывал в тот момент, когда первую игру разбирал, потому что никакими доками не пользовался, просто комментировал дизассемблированный код, постараюсь использовать 2-й вариант названий, их уже использует несколько человек по отношению к другим играм, после того, как редактором пользовались. Хочешь, пиши в личке, обсудим терминологию :) ).
Про Tiles/Obj/Obj Numbers - переименую, действительно, не очень интуитивно выходит. Остальное проверю, возможно, где-то и перепуталось.
3) На все кнопки мыши - одно действие. Для сравнения в моём можно выбрать блок из под курсора правой кнопкой. А установить левой.
Я вообще собирался навесить на правую режим рисования тайлами как кисточкой, но возможно, лучше сделать и твой вариант, либо список инструментов, как в редакторе объектов.

4) Окно выбора тайлов. При выборе scale-x2 - видно мало блоков.  То есть чтобы поставить блок - надо скроллить каждый раз + просто не видно сразу целиком, что мы вообще имеем. Не знаю может это настраивается в редакторе, тогда надо сделать в длину не 4, а 8. (Также как и при 1x).
Растяни окно вниз, будет видно больше объектов. Подумаю, как можно сделать удобнее.

5) Неплохо бы ini файл добавить, где запоминает последний открытый ром и настройки. А то всегда вылезает Дарквинг Дак, где-то это прописано, но среди сотни файлов - искать лень.

Неплохо. А пока можно создать командый файл и вызывать редактор командой CadEditor.exe имя_рома.nes имя_файла_настроек.cs, тогда не надо будет выбирать их вручную.

6) Не показывает номер активного блока. И ещё спросите зачем это надо? Внешне одинаковых блоков с разными свойстами не бывает?  :lol:

но можно переключиться в режим obj numbers и посмотреть, он для этого и был добавлен. сделаю, чтобы показывался еще и номер, это легко.

Но, мне это не надо если что - уровни не клепаю, редактор не юзаю  :) 
Мне сторонние замечания нужны, а то уже глаз замылился, очевидных проблем в гуи могу не замечать.

Добавлено позже:
Ti_, мы по сути одинаковые редакторы делаем. Разобрался бы немного с одним из языков программирования и добавил бы сам фичи нужные :)

402
Конфиги для 1-4 уровня Tom & Jerry (портировано с редактора Ti_), редактор объектов для уровня 1-1.

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

Roket можешь для просмотра сам в конфиге поправить кол-во объектов:
new LevelRec(0x0, 52, 1, 1, 0x0)и стартовый адрес с 0x81E3 на 0x8153.

а я к след. релизу напишу функцию сохранения и выложу, когда потестирую, как список объектов работает (нужна ли какая-то сортировка по порядку или движок позволяет как угодно по уровню расставить объекты).

404
Цитата
Морер У. - Язык Ассемблера для персональных компьютеров ЭПЛ
кому надо:
http://dl.dropbox.com/u/852723/Books/%D0%9C%D0%BE%D1%80%D0%B5%D1%80%20%D0%A3.%20-%20%D0%AF%D0%B7%D1%8B%D0%BA%20%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2%20%D0%AD%D0%9F%D0%9B%20%281987%2C%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%29.djvu

В книге есть главы, посвященные Apple Disk Operating System и ассемблеру LISA, они интереса не представляют, в отличие от разделов собственно о программировании и процессоре (статьи 1-32, 50-64, 67-68, 74-80).

405
Roket, набросал по быстрому по твоей инфе загрузчик объектов, для демонстрации, как в редактор добавлять списки объектов. Там видимо кроме глобальных объектов ещё есть какие-то, пауки например не загрузились. Вообщем, надо будет потом нормально разобрать, сколько там объектов и по каким адресам  :)

Цитата
0081E3 - 08 2D 03 01 - первый объект в игре - челюсти
08 2D - координаты
03 - высота объекта
01 - тип объекта
за ним следующие

406
Emsi D, вообще действительно, не помешала бы дифференциация одинаковых на вид объектов

407
Апдейт редактора v2.3
- Обобщенный редактор объектов (новые опции для описания в конфигах).
- Редакторы объектов для Jungle Book (уровень 1), Chip & Dale 2 (уровень 1-1) и Flintstones : Rescue of Dino & Hoppy (1 уровень).
- Конфиги для 1 уровня игр Sega QuackShot.
- Иконки объектов для Duck Tales (автор Emsi D)

По формату объектов:
- Для Jungle Book чтобы движок правильно обрабатывал список объектов, они должны быть расставлены слева направо снизу вверх, для автоматической расстановки в таком порядке можно нажать кнопку autosort objects. Поле data используется для указания бит высоты объекта и типа бонуса, который выпадет из врага (или для самого типа бонуса).
- Для Flintstones поле Data используется для сортировки списка объектов слева направо, если поменять пару объектов местами, надо вручную выставить правильное значение для поля. Какое именно значение будет выставлено неважно (вроде).

По конфигам - теперь можно кодов задать, как именно будет считываться и записываться в ром список объектов, можно писать свой код. Поля sx и sy кодируют координаты экранов, на которых будет выставлен враг (0 для игр, в которых на уровень 1 экран), x и y - координаты врага на экране, дополнительно можно завести любое количество своих полей. В редакторе будет отображаться только первое поле из добавленных. В следующей версии сделаю, чтобы отображались все дополнительные поля, а также добавлю необходимых фич, вроде таскания объектов мышью и настройки масштаба.

409
Тестировал редактор объектов для Jungle Book, собрал хак первого уровня, в котором перепрятаны кристаллы (сам уровень практически без изменений). Если кому-то будет интересно, продолжу с другими уровнями.

410
можно и циклом за 4-8 раз сделать, на одном экране 64 блоков всего умещается

411
Я предлагал помочь с нарезкой тайлов для других уровней, кроме первого. инструкция есть, скрипт упрощенный для снятия скриншотов и инструкцию к нему с примером 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 скринов с блоками уровня (только надо не забыть выключить слой спрайтов и задний фон), дальше я своими скриптами всё сделаю.

412
Попросил модераторов обновить шапку темы, чтобы собрать в ней ссылки на последнюю версию и последние версии хаков. Если там не будет каких-то релизов - пишите мне в личку, добавлю ссылки, а то я их сам уже найти не могу  :neznayu:
Добавлено позже:
babulya
Может, сам этим займёшься?  ;)

413
АПДЕЙТ РЕДАКТОРА. версия 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, это следует учесть при расстановки объектов.

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

414
10-е (вроде) прохождение. игра не перестаёт удивлять.

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

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

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

416
Блин, так это еще выходит недалеко совсем, там дальше жесть только начинается.
Дай угадаю, делал под впечатлением от NES Remix?

Вот бы все эти режимы в оригинальный ром засунуть.

417
после третьего прохождения игра при входе на карту неправильно стартовые уровни отображает - 1-й как пройденный, 2-й ведёт к бушруту.

418
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-файл. разве что ромы для редактирования самому скачать надо, а то их на некоторые сайты нельзя выкладывать.


419
public int getScreenDataStride()      { return 2;}вот так. данные просто будут считываться через байт.
этого достаточно будет или там есть блоки, у которых первый байт ворда ненулевой?

Roket ну и сохранение врагов для чипа и дейла пофиксил

420
Lomax, мне в личке писал, что часов на 10 будет адовый босс-раш "буквально за час"  :lol:
Здоровское дополнение.

по дизайну - ну не надо палитры делать по цвету похожие на боссов!!

Страницы: Назад 1 ... 10 11 12 13 [14] 15 16 17 18 ... 26 Далее