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

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


Темы - ALXR

Страницы: [1]
1
Картриджи / диски / Дампы от ALXR
« : 20 Июнь 2023, 12:12:50 »
Решил тут вернуться к дампингу. Сдампил в узких кругах легендарный 23в1
265420-0

Увы, из встроенных во fceux не нашёл подходящего маппера. Дописал свой вместо неиспользуемого #81 маппера. Поэтому в архиве ром вместе с эмулятором с поддержкой псевдо-маппера 81.
265423-1
265425-2
265427-3

Из особенностей самого картриджа:
- Титульник в мариве изменён
- Музыка в мариве битая
- В мариве можно уровни в пределах мира выбирать на экране заставки кнопкой А
- Вырезаны копирайты в играх

Почему-то он мне запомнился ещё тем, что там была графика из SMB2J, но нет - графика прежняя.

PS: Может, я и не прав с маппером и уже такой есть. Кому интересно, исправят...
PPS: Промазал с топиком. :-\ Перенесите в Картриджи

2
Всем привет

Пытаюсь сдампить вот такой картридж, но не могу подобрать для него маппер (фотка из инета).
246985-0

Вот с таким набором игр:
246987-1

Вроде похож на Super HIK 4 in 1 (aka #49 маппер) и на #52 маппер, но видимо, ни тот и ни другой. По битам регистров не подходят.
Из примечательного: MK II Special, который в оригинале в 90 маппере, переделан в MMC3 маппер, но дампится с битой графикой (в консоли с графикой порядок).
Figher Hocker, который на самом деле Ike Ike! Nekketsu Hockey Bu, с изменённой заставкой:


Из дампа с меню в регистры верхнего маппера записываются:
Игра 1: #$A3 -> $6801
Игра 2: #$20 -> $6801
Игра 3: #$9A -> $6801
Игра 4: #$97 -> $68B3

Не очень понятно, почему выбраны именно эти адреса, судя по всему, как и в 49 и в 52 мапперах, для записи выбираются нечётные адреса в интервале $6001-$7FFFю
Размер MK2 я так и не понял какой (сдампил его в размере 16PRG+32CHR), но графика всё равно битая. Размер Street Figher 60, как полагается, 16PRG+32CHR, оставшиеся две - стандартного для MMC3 размера.

Вобщем, хочу собрать в цельный ром, но пока смог вытащить только по одной игре.

зы: если требуется, могу приложить дамп с меню и работающим MK2 с битой графикой.

дамп меню во вложении

3
Собственно новый редактор.
Расширяет ROM на 16 PRG-банков + встроенный патч, за счет чего можно сделать до 128 уровней по 120 экранов в каждом (гипотетически).

Помимо редактирования уровней позволяет менять логику некоторых игровых скриптов, а также некоторые диалоги.
Кроме того, можно редактировать множество параметров движка. За счет патча системы переходов можно делать нелинейные пути прохождения уровней. Вобщем, описывать долго.
Вот несколько видео для затравки.


В Help->About есть гайд по хоткеям. Кто захочет всерьез взяться, на вопросы по редактору, отвечу.

В архиве еще генератор паролей.

Скачать

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

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

Итак, игра состоит из 8 уровней по 4 раунда в каждом. Ну и я думаю, что все, кто играл в игру, заметили, что уровни строятся всего на нескольких повторяющихся локациях. Так вот, всего их 11 (на самом деле 12, но последняя 12-я - это обрезок из двух экранов, использующихся в качестве комнаты с боссом). Каждая локация использует 1 из 3 имеющихся CHR-банков (опять же, реально их 4, но 4-й банк используется в комнате босса, титульнике и экране конца игры, так что для построения уровней он подходит чуть более, чем никак).

Технически, конфиг уровня состоит из следующих вещей: номер используемой локации, номер применяемой палитры, номер применяемого модификатора палитры. Скажем, в раунде 1-2 видно, что в начале ГГ бежит по пещере, потом попадает в какие-то ледяные залы, затем бежит опять по пещере. Так вот, модификатор к началу ледяной части уровня меняет палитру, чтобы лед выглядел льдом, а затем меняет опять на цвета пещеры. Т.е., пользуясь модификаторами, можно создавать уровни с весьма широкой цветовой гаммой. Кроме того, конфиг содержит три(!) списка объектов и еще один байт, о котором ниже. Сложно, однако, сказать, зачем для каждого уровня используется три списка объектов. Видно, что разработчики по началу хотели их использовать для усложнения уровней по мере продвижения вперед (т.е. используя списки предыдущих уровней, добавлять к имеющимся объектам новые соседним списком), но в приближении это почти ими самими же и не соблюдается. Впрочем, эта концепция почти строго соблюдается в бонус уровнях.

Далее. Каждая локация содержит в себе описания всех 64 экранов уровня (1 условный экран - это половина реального в ширину и почти 2 в высоту: 44х16 тайлов или 11х4 блока размером 2х2 тайла), номер фоновой музыки, номер используемого CHR и несколько флагов (о которых, опять же, ниже).

Номер CHR-банка является не только номером этого банка, как такового, но и номером набора графики (Graphics Set), который уже в себе содержит графическую составляющую уровня: конфиги блоков и экранов, которые состоят из этих блоков. Этих наборов 3 штуки (хотя банков 4). Комната с боссом использует сет #1, который используется в первом уровне (лес) и во всех уровнях вида X-4 (где в конце босс). Так вот, в уровнях X-4 при достижении "полу"экрана с номером 60, CHR-банк переключается на 4-й и меняется палитра в зависимости от номера уровня. Поэтому, перед входом в комнату с боссом большая пропасть с мостиками, чтобы не было заметно переключения палитры.

Некоторая необычность движка состоит в двух вещах (я не хочу сказать, что это уникальные вещи, которые более нигде не встречаются, но во многих играх все же сделано проще):
Первая необычность в том, что списки объектов и компоненты физики экранов описываются не байтовым массивом, а битовым потоком. Т.е. хекс-редактором их так просто не поправишь. Если компоненты физики (так уж вышло) состоят из трех байт (из которых вытягиваются биты значений каждой компоненты), то со списком объектов все сложнее: там просто из битового потока вытягиваются биты, причем, в зависимости от условий, каждый раз разное количество. Т.е. в списке объектов, пока не пересчитаешь все биты с начала списка, не угадаешь, что может значить определенный байт списка.
Вторая же необычность в том, что графическая составляющая и составляющая "физики" не зависят друг от друга от слова "совсем". Т.е. не смотря на то, что впереди видна прямая поверхность, реально ГГ может свалиться в яму или наоборот упереться в невидимый уступ, как предписано физической компонентой экрана.

Что же касается призов в яйцах, то их содержимое заведомо не определено: оно зависит от наличия оружия, скейта и флагов, определенных в конфиге уровня. Конфиг уровня содержит еще 1 байт, который бьется на 4 части по 2 бита - по 2 бита на каждый чекпоинт.

Ну и наконец в конфиге локаций (Level Set), помимо номера CHR-банка, определены еще: номер конфига спрайтов мостиков, флаг использования альтернативной палитры для объектов (их 2 и отличаются они лишь последним атрибутом, которым рисуются осьминоги в уровнях с водой), ну и флаг, определяющий - будет ли "бултых" при падении в пропасть или нет (Sea Level Flag).

При построении уровня самая интересная - это физическая компонента каждого экрана, которая описана в локациях. Суммарно она составляет 24 бита (3 байта) и содержит в себе:
1. Номер графического конфига экрана из Graphics Set;
2. Изменение траектории камеры (камере двигаться горизонтально, вправо вверх или вправо вниз);
3. Изменение уровня экрана (к примеру: полэкрана будет оставаться на одном уровне с предыдущем, полэкрана приподнятно на 1 блок выше. Или же поднять экран на 2 блока по отношению к предыдущему и т.д.)
4. Изменение уровня поверхности (к примеру: поднять или опустить уровень поверхности на 1 блок, 2 блока по отношению к предыдущему экрану);
5. Характер поверхности: скользкая или обычная;
6. Изменение высоты размещения фруктов (поднимает их на сколько-то тайлов выше)
7. Геометрия поверхности: подъем, склон, яма, ширина ямы и т.д.

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

Собственно, для всего этого и был написан редактор. Ну а поскольку конфиги в игре несколько необычны, то и редактор вышел несколько нестандартным. Т.е. в основном окне нельзя сходу менять блоки или разместить объекты там где хочется (во всяком случае по оси ординат - Y). В основном окне можно менять номера экранов и физические компоненты (ну и добавлять, перемещать, редактировать или удалять объекты, конечно). Все остальное можно найти в соответствующих диалоговых окнах редактора.

По порядку:
* Окно свойств объекта позволяет менять различные параметры объекта. Большинство объектов редактируемых параметров не имеют (некоторые из них, правда, приобретают некоторые свойства в зависимости от того, находятся они на четной позиции или нечетной). Такие же объекты, как Pot bonus, жуки и мостики - имеют дополнительные параметры (они все описаны в этом диалоговом окне). Параметр Handler для мостиков определяет их поведение: двигаться вверх, вниз, циклично, нециклично и т.д.
* Менеджер графики. Содержит в себе функции по импорту/экспорту тайловой таблицы, а также графический редактор, который позволяет менять описания экранов и блоков
* Редактор наборов палитр (ну тут нечего добавить);
* Редактор модификаторов палитр. Ну тут тоже объяснять нечего: модификаторы палитр изменяют любую компоненту палитры в зависимости от номера текущего экрана в игре;
* Редактор прочих палитр: первые две - палитры объектов (основная и альтернативная), и третья - палитра титульника и экрана конца игры;
* Редактор параметров локаций (экраны локации редактируются непосредственно в основном окне): позволяет редактировать различные параметры, свойственные им;
* Настройки уровня. Помимо очевидных, содержит ряд полей вида Top of screen, Top of floor для каждого из 4 чекпоинтов. Top of screen определяет положение по высоте камеры по отношению к экрану, с которого начинается уровень (или чекпоинт). Top of floor - высоту поверхности по отношению к 'Top of screen'. Редактор отображает начальное положение камеры и высоты поверхности, отталкиваясь от этих параметров для чекпоинта #1 (начало уровня). Но есть один нюанс: если поменять направление камеры для 2-го экрана, то редактор отобразит некорректно положение камеры и высоту поверхности.
* Game settings. Ну там все параметры говорят сами за себя (SB speed означает скорость на скейтборде);
* Настройки локации бонус уровней. Так вот, если кто не знал, то бонус-уровни - это часть локации уровня 3-1 (точнее аккурат часть его второй половины). Там можно перенести бонус-уровень в локации любого другого уровня и поменять его размер (в оригинале всего 14 экранов, ну т.е. 7 реальных).

В диалоге выбора уровней можно поставить галку "Бонус-уровень" и тогда в основном окне откроется на редактирование выбранный бонус. Вот правда редактировать там можно только объекты. Экраны и физику надо редактировать в оригинальном уровне.

Редактором можно изменить почти все в игре, но некоторые вещи, все же в него не вошли (и вряд ли войдут):
* Редактирование текста (его в игре и нет почти);
* Редактирование конфигов физики (нет смысла редактировать, ибо параметры затрагивают всю игру, и при изменении любого из них, 99% игры превратится в тыкву);
* Редактирование комнаты босса и ее палитры (некоторые вещи там заскриптованы и позволить редактировать ее - означает позволить сломать игру с вероятностью близкой к 1);
* Музыку (ну тут понятно)

Также редактор поддерживает только европейскую версию (E). Но если кому понадобится, то могу собрать версию под (J) и под (U) версии игры.
Кроме того, редактор переводит игру на рельсы маппера MMC3, а также расширяет возможность движка использовать 8 CHR-банков вместо 4 (реально позволяет редактировать 7). Переключение PRG-банков сделано и не очень безопасно для прерываний, но проблем я не выявил, так что проблем возникнуть не должно. Но если где-то игра внезапно повиснет, то прошу выслать мне сейв этого момента.

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

Ну и сам редактор: * aislanded.7z (243.09 КБ - загружено 392 раз.)
Сам мод из видео (с правильными цветами мостиков) * Hudson's_Adventure_Island_(E)_[!].7z (38.39 КБ - загружено 441 раз.)

Версия для 32-битных ОС: * aislanded_x86.7z (210.24 КБ - загружено 366 раз.)

5
Простейший редактор уровней для русалочки. Можно расставлять объекты и редактировать экраны. Создавался скорее для сугубо личных целей отладки и шлифовки некоторых механизмов редактирования игр. Т.к. РОМ не расширялся и не патчился, то возможности менять раскладку уровня нет, и редактировать блоки нельзя. Также не установлено ограничение на количество добавляемых объектов, но если памяти не хватит, то сохранить игру будет нельзя (произойдет попытка сохранения вне границ банка, но РОМ не испортится - достаточно удалить лишнее). Некоторые объекты слегка смещены от своей оригинальной позиции в игре, но несущественно, поэтому это не исправлялось. Также в некоторых местах фон "подпорчен", но это из-за того, что в некоторых комнатах подгружается своя графика фона, в редакторе это не учитывалось.

За спрайты спасибо Roket'у.

зы: в локальной репе есть еще два редактора на базе этого шаблона, но пока еще не доделаны до логического конца. Возможно, скоро тоже увидят свет.  :)
ззы: управление в редакторе полностью идентично управлению в dt2ed. Тому, кто им пользовался, должно быть привычно.

6
Решив написать простенький и легковесный редактор для себя что-то увлекся и получилось...

Вобщем, выкладываю редактор (на мой взгляд, получившийся весьма продвинутым), который начинал с простой задумки "слегка подредактировать пару мест". Редакторы у spiiin и Ti_ прекрасные, но хотелось чуть реже залезать в РОМ и видеть бОльшую часть в редакторе. И, незаметно, вышел редактор, которым можно перекроить всю игру (за некоторыми исключениями, о них ниже).
Основная функциональность заложена в редактирование UOROM (расширенной) версии ROMа, в который можно конвертнуть прямо из редактора, и включает в себя ( ++ - функциональность доступна как в UNROM, так и в UOROM, -- - только в UOROM):
[++] - изменение раскладки уровня;
[++] - изменение блоков уровня;
[++] - редактирование тайлов (точнее "мини" блоков);
[++] - редактирование кода в Египте и загадки Острова (до двух позиций);
[++] - изменение положение моста в первом уровне (в пределах верхнего этажа);
[++] - изменение объектов (без перемещения, добавления и удаления);
[++] - изменение палитры (для некоторых уровней для редактирования доступны только первые два из 4 блоков палитры фона);
[++] - изменение названия уровней;
[++] - изменение звукового сопровождения уровней;
[++] - просмотр текста и диалогов;
[++] - Редактирование выпадающих из врагов призов, а так же изменение вероятности их выпадения;
[++] - Редактирование количества жизней боссов;
[++] - Редактирование стоимости призов;
[--] - полная функциональность в редактировании блоков уровня (добавление новых/удаление ненужных);
[--] - возможность выделить под блоки конкретного уровня отдельное место (иначе редактирование блоков в одном уровне будет отражаться на другом, т.к. уровни имеют общие блоки между собой);
[--] - редактирование текста персонажей на любых уровнях (кроме уровней Underground и Pirates ship);
[--] - создание полноценного ОТДЕЛЬНОГО уровня вместо Pirates ship на базе любого из первых 6 с выделенным отдельным пространством под все ресурсы уровня;
[--] - создание/удаление объектов;
[--] - Добавление/удаление комнат;
[--] - Добавление/удаление люков, открывающихся по нажатии на кнопки (те, которые в Египте, Замке и Подземелье);
[--] - Изменение количества позиций секрета Острова (до 8 позиций);
[--] - Размещение моста на уровне Водопадов в любом месте уровня;
[--] - Объекты любых уровней можно размещать на любых уровнях. Даже на последнем уровне можно разместить, к примеру, крота из Водопадов;
[--] - Редактирование загрузчиков графики (совмещать можно только совместимые в оригинале объекты);
[--] - Для каждого уровня свой набор скрытых люков. Нет необходимости делить их между уровнями;
[--] - Особая функциональность: переход между этажами можно совершать в любом месте. За это особая благодарность Ti_, т.к. он позволил использовать его идею и код в редакторе. Кроме того, от него же добавлен патч (пока в неизмененном виде) на ускорение работы со спрайтами.

Теперь ограничения. Основная их часть имеется по причине того, что соблюдался принцип минимально править код:
  • Редактор не проверяет доступное пространство под данные в режиме UOROM. Хоть места и достаточно для того, чтобы забить все и вся, все же лучше быть осторожным и сохранять резервные копии;
  • Количество этажей ограничено 6;
  • Нет возможности изменить стоимость товаров в магазине и призов на уровнях;
  • Нет возможности поменять палитру для объектов;
  • Нет возможности поменять количество ударов боссам;
  • Нет возможности редактировать некоторые диалоги в игре (вызвано тем, что они грузятся из отдельного места и списка их как такового нет. Хотя редактор их загружает и сохраняет в незименном виде, но не отображает);
  • Количество объектов на этаж ограничено 40 штуками движком. Однако редактор не ограничивает это количество. Соответственно, при превышении этого числа, могут быть коллизии (например, будут пропадать объекты на других этажах);
  • Нет возможности редактировать графику (доступно только редактирование "мини" блоков и обычных блоков);
  • Можно редактировать только U локализацию. Русская и японская не поддерживаются. Их поддержка планируется, но модуль патчера потребуется вынести в отдельную единицу от редактора;
  • Текстовый редактор не проверяет длину и количество строк в диалогах, поэтому об этом надо заботиться самостоятельно (проверяя в эмуляторе, что текст не "уполз");
  • Максимальное количество комнат - 255. Соответственно можно забить полностью почти целиком 5 уровней. Поэтому если хочется сделать полностью все уровни забитыми до отказа, придется использовать некоторые комнаты по нескольку раз для экономии;
  • Нельзя управлять появлением/исчезновением племянников на уровнях, а так же спрайт лица, от которого ведется диалог (последнее связано с коллизиями тайлов);
  • Нельзя размещать (точнее редактор позволяет, но в игре будет артефакт) скрытые сокровища на уровнях, где они не предусмотрены;
  • Немного глючит редактор блоков: при добавлении нового блока, если тот должен оказаться на новой строке, он не отображается (хотя создается). И наоборот: при удалении последнего блока в строке, он продолжает отображаться (хотя и удален);
  • В редакторе реализована функциональность "вертикального" размещения позиций секрета Острова, но пока скрыта до полной отладки GUI редактора;

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

По "горячим клавишам" редактора (помимо тех, что указаны в меню):
- В режиме редактирования блоков (Tiles layer):
  • Ctrl+Space -запомнить блок;
  • Space - вставить блок;
  • Insert - вставить блок из диалога списка блоков;
  • +/-, PgUp/PgDn - изменить номер блока;
- В режиме редактирования комнат (Rooms layer):
  • Ctrl+Space - запомнить содержимое комнаты;
  • Space - вставить содержимое комнаты в выбранную;
  • Insert - выделить место под новую комнату и вставить в выбранное место;
  • Delete - удалить выбранную комнату;
  • +/-, PgUp/PgDn - изменить номер выбранной комнаты
- В режиме редактирования объектов (Objects layer):
  • Ctrl+Space - запомнить и удалить объект;
  • Space - вставить удаленный ранее объект;
  • Insert - вставить объект из диалога списка объектов;
  • Delete - удалить выбранный объект;
  • +/-, PgUp/PgDn - изменить номер выбранного объекта
- В режиме редактирования моста в уровне Водопадов (Bridge layer):
  • Space - установить мост в выбранную позицию;
  • +/-, PgUp/PgDn - изменить длину моста;
- В режиме редактирования позиций Скруджа (Scrooge/Checkpoint/Boss respawn layers):
  • Установка курсора перемещает соответствующую позицию Скруджа в выбранное место;

- В режиме редактирования люков (Hidden slots layer):
  • Insert - вставить новый люк (или ранее удаленный);
  • Delete - удалить выбранный люк;

- В режиме редактирования загадки Острова (Mu secret layer):
  • Insert - добавить новую позицию;
  • Delete - удалить выбранную позицию;

F5 - запуск эмулятора (если есть ассоциация с файлами *.nes)

С позициями загадки Острова надо быть аккуратнее: плюс/минус пиксель от места попадания объекта (бочки) и ничего не сработает;

В режиме редактирования блоков и тайлов (мини-блоков) также работают кнопки "Ctrl+Space" и "Space", чтобы облегчить копирование редактируемых блоков.
Также в диалоге редактирования блоков и тайлов затенены те, которые не используются в выбранном уровне.

Отдельно расскажу по редактированию секрета Острова, т.к. там неочевидное редактирование.
Во-первых, позиции располагаются всегда на одной линии;
Во-вторых, отображаются только в случае совпадения размещения объекта 0x22 и координат самих позиций. Таким образом, чтобы разместить секрет в другой комнате, надо удалить позиции из имеющейся комнаты, удалить объект 0x22. Затем, добавить объект 0x22 в выбранную комнату, и уже теперь добавлять позиции там же.

Ну и про то, что для каждого набора объектов есть свой набор подгружаемой графики, особо говорить не буду: и так, вроде известно. Т.е. для корректного отображения того или иного объекта нужно разместить "где-то рядом" объект Graphics loader, иначе вместо изображения объекта будет невнятный набор пикселей.

Так как сухим текстом описать все возможности редактора все же сложно, чуть позднее попробую сделать обзорное видео, освещающее все возможности редактора.

Ну и поскольку полностью протестировать все меня не хватило, то возможны какие-нибудь несущественные "глюки" или даже падение программы. Если таковое обнаружится, буду разбираться отдельно.

ps: Редактор рождался почти месяц и имеет почти 100 ревизий в svn... o_0

7
Еще один редактор от меня, который, впрочем, был написан за год до nesprinced. И nesprinced, кстати, был написан в каком-то смысле на базе этого.
Естественно мне известно об уже существующем, но, при всем уважению к автору того редактора, он чрезвычайно неудобен и полноценно им пользоваться невозможно, так как обилие внутрекухонных объектов (типа Skip, Start page и т.д.) вводит пользователя в заблуждение, да и при сохранении файла на выходе получается зачастую совсем не то, что ожидалось.

Так вот о моем редакторе. Структура и формат данных брались из открытых источников и, частично, из исходников означенного существующего редактора (которые читать невозможно). Не сказать, что я его довел до ума, остановившись на версии 0.1beta, но все же, на мой взгляд, работать с ним приятнее, чем с первым.
Перечислю известные проблемы с моим редактором:
* В вертикальных комнатах объекты, которые находятся в самом низу, иногда перемещаются на одну позицию вверх;
* Структуры данных врагов иногда перехлестываются между комнатами и часть врагов из следующей комнаты может оказаться в предыдущей;
* Нет возможности полноценно редактировать комнаты с бонусами: они имеют несколько отличную структуру от других комнат (пример: уровень 1-2, комната, где находится гриб 1up в "кувшине"), поэтому (как и в исходном редакторе) в таких комнатах не отображаются враги;
* Иногда возникают проблемы при редактировании фона (стены, водопады и т.д.): не удается добавить объект или один фон "нахлестывается" на другой;
* Нет возможности "разблокировать" линки комнат, но это не мешает, если не хочется стереть все и построить всю игру с нуля;
* Неправильно рисуются лианы (можно увидеть в комнате 1-1, upwards part);
* Не отображаются некоторые объекты: пирамиды в пустыне, большие порталы и некоторые элементы замка в 7-2.

Перечисленные проблемы, которые возникают при сохранении файла, возникают достаточно редко. Остальные не сильно мешают.


Теперь об особенностях движка:
* В вертикальных комнатах двери можно ставить не на всех страницах. Если поставить дверь не в том месте "нужной" страницы или на "неправильной" странице, то в самом верху или в самом низу движок впадет в dead-lock, так как неправильно отработает прокрутка страниц;
* Двери, соединенные друг с другом,можно размещать только в определенных местах: если первая дверь стоит на позиции N (по оси X) от начала страницы, то ответная дверь должна располагаться в позиции 15-N от начала своей страницы. Например: первая дверь располагается в позиции 5 (начиная с 0), то ответная должна стоять на позиции 15-5 = 10 (начиная с 0) на своей странице. Аналогично и с лианами и прочими штуками, которые позволяют перемещаться;
* Переход в другую комнату через голову Hawkmouth не откроет игру в рулетку, если этот переход в подуровне N-3;
* В вертикальных уровнях использовать Potion нельзя;
* Birdo, в зависимость от позиции, будет иметь свой цвет (будет либо розовый, либо красный, либо серый. Причем, всего одна позиция отвечает за розового, одна позиция за красного, все остальные - отображают серого).

И о возможностях редактора:
* Свободного места в банке с данными уровней и врагов места достаточно, но не бесконечное количество. Т.е. можно довольно свободно добавлять объекты в больших количествах, но без должного энтузиазма (проверки в редакторе на переполнение банка, к сожалению, нет по причине того, что подразумевалось при нехватке отведенного места переносить объекты в свободное место в этом же банке, коего достаточно много);
* Редактор позволяет редактировать не только состав фона (например, кирпичи, из которых строятся стены, можно поменять на любой тайл, доступный в игре), но и их конфигурацию;
* Линейные объекты также можно редактировать, меняя тайлы, из которых они состоят (например, тайлы лестницы можно заменить на опять же любой доступный в игре тайл);
* Изменять палитру уровней. Причем палитры уровней перемешаны с палитрами врагов, так что... возможны сюрпризы :);
* Изменять интерьер уровней, но с некоторыми ограничениями. Часть объектов (спрайтов) жестко привязаны в коде к номеру уровня, поэтому при смене интерьера уровень придется "допиливать напильником";
* Все основные функции находятся в контекстном меню, вызываемым правой кнопкой в поле редактирования.

Редактор остановился в развитии, потому что в процессе его написания стало вылезать столько подводных камней, что мне, дойдя до определенной логической точки, стало уже тяжко пилить его дальше. Впрочем, если кто хочет помочь в развитии, то я готов выслать исходники и продолжить проект.
Если кто решится, то отвечу сразу: Исходники на чистом C++ и чистом WinAPI, т.е. никаких фреймворков не используется. Ну и сам код, конечно, не идеальный. :)

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

8
Редактор уровней nesprinced v1.2.0

Позволяет редактировать PoP для NES. Почему-то для DOS и SNES редакторы существуют, а тут прям упущение.

Что позволяет:
- Редактировать комнаты;
- Редактировать расположение комнат уровня;
- Задавать тип уровня (подземелье/дворец);
- Выбирать палитру уровня из заданных в ROM.

Чего, пожалуй, не добавил - это редактирование стартовой комнаты и комнаты набора пароля (впрочем, там редактировать нечего).
Еще оставил на совести разработчиков появление отражения принца (в 4 и 6 уровнях это, судя по всему, хардкод), комнаты через которые он выходит в 6 и 12 уровнях и не разбирался, почему выход открывается после поражения стражника в 13 уровне. Просто лениво искать было. :-)

Ну и небольшая справка по редактору:
- В поле редактирования уровня справка есть;
- Задать связку между решетками и кнопками: ставим курсор на решетку или кнопку (подсветятся зависимые кнопки/решетки), Ctrl+Левая кнопка мыши на кнопке или решетке - задать действие. Зеленая подсветка - решетка откроется от нажатия на кнопку, красная - закроется;
- Поменять свойства объектов можно кнопками PgUp/PgDn (например: закрытую решетку сделать открытой - 0x24, бутылку с "поправкой здоровья" сделать бутылкой с ядом или с зельем, замедляющим прыжок вниз и т.д).
- Left side room, Top side room - комнаты, правые (или нижние) тайлы которых будут использованы для отрисовки стен комнат. Например у левой верхней комнаты потолок будет рисоваться из тайлов комнаты Top side room, а левая стена из тайлов Left side room.

В диалоге редактирования расположения комнат (Level layout):
- Вверх/вниз/вправо/влево - двигаем курсор;
- Пробел - начать/закончить перемещать комнату;
- +/- создать/удалить комнату.

Некоторые хинты:
- Лучше не располагать много анимированных объектов в одной комнате (две бутылки, несколько решеток, стражников, падающие плиты итд);
- Скрытые кнопки лучше не располагать с краю (лучше между плитами). Работать будут, но прорисовка будет страдать;
- То же касается и разбитых плит.

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

Редактирование палитры, возможно, сделаю позже. Скачать можно в приложении. Написано на чисто винапи, потому никаких фрэймворков или доп. библиотек не нужно будет.

--
Версия 1.0.2:
* Добавлена сетка комнат;
* Добавлена возможность позиционировать курсор мышкой;
* Добавлено редактирование действий в Demo-play;
* Добавлен диалог Advanced;
* Исправлены некоторые проблемы с Level layout при открытии нового файла;
* Исправлено позиционирование курсора при установке зависимостей между дверьми и кнопками.
--
Версия 1.0.3:
* Добавлена возможность выставлять до 15 единиц здоровья (до этого было максимум 5);
* Добавлена возможность выбирать тип врагов для уровня (стражники/скелеты);
* Добавлена возможность выбирать таймаут для открытых дверей (через какое время после нажатия кнопки дверь будет закрыта);
* Добавлена возможность изменять логику входа в уровни в диалоге Advanced.
--
Версия 1.0.5:
* Добавлен редактор палитры;
* Добавлен редактор действий двойника (но ROM перед этим нужно будет пропатчить - редактор сам предложит и сам пропатчит. Mapper изменяется с UNROM на UOROM!);
--
Версия 1.0.5.1:
* Двойник может нажимать на кнопки;
* Добавлена опция ожидания двойником открытия выхода (появляется, только если выход открыт);
*** ВНИМАНИЕ *** Патч версии 1.0.5.1 не совместим 1.0.5!!! При редактировании редактором версии 1.0.5.1 игры с патчем от 1.0.5 ROM потеряет работоспособность!
--
Версия 1.0.7:
* Теперь двойник может ждать не только открытия выхода, но и практически любого игрового события (выпитое зелье, упавшая плита, открывшаяся или закрывшаяся дверь, открытый выход);
* Уровень можно сохранить в bmp;
* Переделаны тайлы: теперь они соответствуют палитре.
--
Версия 1.1.0:
* Множество исправлений в интерфейсе:
** Поправлены легенды в главном окне и диалоге "Level layout";
** Перераспределены пункты меню;
** Исправлен неработающий диалог Mirror behavior в версиях Windows ниже Vista;
** Исправлены цвета в выпадающем списке (все пункты списка были черного цвета в версиях Windows ниже Vista);
** Добавлена обработка двойного щелчка мыши в диалоге "Select level";
** В заголовке главного окна теперь указывается имя редактируемого файла и рядом в скобках локализация файла (U/F/E/G/S).

* Новые фичи:
** Редактор текста. Теперь можно редактировать весь текст, который есть в игре, в любой локализованной версии. В данный момент в код заложена возможность и редактирования самих символов, но GUI пока не сделал (не уверен, что это необходимо);
** Генератор паролей. Генерирует любой возможный пароль из всего множества. Так же там можно дешифровать имеющийся пароль;
** В диалоге Advanced, вкладка Other settings, добавлено поле "Игровое время". Теперь можно редактировать общее время, данное принцу на прохождение игры.

--
Версия 1.2.0:
* Исправления в поведении отражения:
** Упразднена опция Hide mirron at top side. Вместо нее - Hide mirror at right side. Т.е. отражение теперь можно прятать справа;
 ** Исправлено кодирование координат при сохранении событий для поведения отражения (до этого нельзя было установить событие во второй строке комнаты);

* Новое:
** Появилась визуализация действий из списка, где можно эти действия задавать (например: Edit->Advanced->Right oriented start->Action), поэтому размер редактора немного подрос;
** Появилась вкладка Edit->Advanced->Debug settings: в ней можно задавать свои действия на кнопки A и B в игре. Для конечной игры это вряд ли понадобиться, но при редактировании и тестировании мода пригодится (идея взята с форума princed);

* Ну и по традиции кое-какие мелкие внутренние исправления.

Страницы: [1]