Разработка и ромхакинг > Редакторы для консольных игр

[SMD] ZAMN Editor

<< < (2/2)

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

а второй затык - переносил редактор сэмплов из редактора дюны сюда. перенес то нормально, но шелл сказал, что 10400 частота сэмплов в старых версиях GEMS не очень уж и поддерживается. а запись и конвертация сэмплов как раз происходит в это "топовое" значение по качеству. надо будет думать еще как сделать изменяемым финальный результат записи или конвертации сэмпла.

пока-что архив придется снести. как-нибудь доделаю...

Марат:
А я всё никак не добью редактор. Думаю поменять ресурсы аудио и параметров уровней местами, тогда будет легче редактировать уровни. Ну и останется придумать, как поступить с картами уровней.

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

SeregaZ:
немного переделал, но это все равно не так как я хотел и опять полезли мелкие нюансы. итак максимальное качество сэмплов в этой игре 7300кбс. поэтому запись сэмплов и конвертирование из wav или ogg теперь конвертирует в эти самые 7300. потом хостинг мой прислал письмо, что закрывается. так что теперь список игр будет получать из другого места. тот старый работал лет 10 :) этот запасной со мной всего лет 5. и там опять таки на птичьих правах, поскольку хостинг бесплатный.

сам функционал редактора сэмплов переехал из дюновского редактора. так-же правой кнопкой мышки на каком-либо треке, выбираем редактор сэмплов, а там уже все интуитивно понятно. хотя запись работает только на XP. на всяких 7 и прочих виндах стереомикс не работает, и запись соответственно запишет тишину :) поэтому предусмотрен второй вариант через меню - загрузка ogg или wav файла. то есть подготовленного файл сэмпла в каком либо аудио редакторе. сам размер входящего сэмпла не должен быть больше 200 килобайт. а после конвертации не должен быть больше 65 килобайт.

далее - шеловский сплиттер распаковывает сэмплы из банка, делая по сути копию каждого сэмпла в свою дорожку, то есть папку. в результате кажется ты нашел где нужный сэмпл лежит, который ты хочешь заменить, и вписываешь туда свой сэмпл, собираешь игру, а в результате игра играет старый сэмпл. это потому что в том моменте, где ты тестируешь, используется другой номер дорожки. то есть ты редактировал скажем 65 номер трека, а игра использует в том моменте, где ты слушал - скажем 10 номер. то есть нужно сделать следующее:
1. предположим редактируется 65 номер дорожки. и мы туда вписали новый сэмпл - он назывался скажем sample_05. теперь надо зайти в эту папку 065 (по номеру дорожки), скопировать два файла sample_05.sfx и sample_05.snd.
2. выйти из папки 065 на уровень выше - то есть в папку gems - и сделать поиск "05.sfx" - в результате будут найдены все папки-то есть треки, где используется точно такой-же сэмпл. надо будет зайти в каждую папку и нажать "вставить" - то есть оригинальный сэмпл будет заменен тем новым, что мы переписали в папке 065.

в результате старый сэмпл точно будет выпилен, и во всех местах с тем-же номером сэмпла гарантированно будет находится новый сэмпл. НО! при сборке игры возможно будет проигрывать очень медленно наш сэмпл :) как будто флаг частоты выставлен не правильно. решить эту проблему следует редактируя файл трека. то есть если мы редактируем 065 трек, значит в той-же папке смотрим файл 065.code - открываем его в текстовом редакторе и удаляем оттуда строчку, содержащую слово samplerate.
было:

--- Код: --- SECTION HEADER
 dc.b 1
 dc.t channel_0

 SECTION CODE
channel_0:
 delay 0
 priority 115
 patch patch_06
 sfx
 samplerate 8
 duration 144
 delay 144
 note sample_05
 eos
--- Конец кода ---

стало:

--- Код: --- SECTION HEADER
 dc.b 1
 dc.t channel_0

 SECTION CODE
channel_0:
 delay 0
 priority 115
 patch patch_06
 sfx
 duration 144
 delay 144
 note sample_05
 eos
--- Конец кода ---

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


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

Марат:
Со музыкой разобрался, она теперь всегда в конце рома будет, в независимости от размера конечного файла. Исправил кое-какие косяки в редакторе.
Даже уровень скопировал с хака на snes версию игры.
Осталось решить проблему как поступить с вмещением карты сжатого уровня, размер которого превышает размер оригинала.

Марат:
Почти 3 года прошло. Наконец-то нашёл в себе силы и желание доделать начатое.
Плохо, когда вот так откладываешь в долгий ящик. Пришлось очень долго всё вспоминать. Код без комментариев. Спасибо Nemesis'у,
что расписал формат уровней, легче было вспомнить что и как. Ну, автору (Piranhaplant) редактора отдельное спасибо.
Вроде все функции редактора адаптировал к сеговской версии игры. Пришлось расширить ром и перенести карты тайлов блоков в конец ром, что позволило использовать освободившееся место поду карты уровней. Расставил уровни на одинаковом расстоянии друг от друга. Из расчета, что размер карты может быть 30*30 блоков.  Так что теоретически карта может быть и 30*30 размером. Плюс ко всему она ещё и сжимается, так что можно и больше сделать размером, но лучше не злоупотреблять.
В редакторе есть функция запуска игры с любого уровня.
Для этого модифицируется savestate эмулятора Gens. Там есть один затык - невозможно создать такой сейв, который бы позволял загрузить игру с любого уровня и при этом было бы желаемое количество предметов. Поэтому я оставил только возможность загружать игру с любого уровня.
Другой вариант был начать игру с 1-го уровня с желаемым количество предметов, а уже со следующего уровня вы попадете на уровень выше от желаемого. Т.е. сначала всегда нужно будеть проходить первый уровень. Поэтому оставил первый вариант.
 Добавил функцию импорта уровней из snes версии.
Для этого надо предварительно экспортировать уровни snes версией редактора http://www.romhacking.net/utilities/1178/.
После импорта из snes, могут быть не стыковки в палитре. Но это касается хаков, так как некоторые хаки используют свою палитру и их адреса отличаются и да это было только в одном и кучи хакво на snes.
Архив с редактором в аттаче, также в архив ips патч, который расширяет ром и переносит карты тайлов блоков в конец рома.

Марат:
Микс хак из 5 снесовских хаков. Уровни чередуются. Слишком сложен для прохождения, жертвы мрут как мухи.
Использовался для теста импорта уровней. До конца не пройден. Если у кого-то есть желание пройти, было бы неплохо.
Возможны баги.

Марат:

--- Цитата: Марат от 06 Февраль 2021, 01:00:08 ---Для этого модифицируется savestate эмулятора Gens. Там есть один затык - невозможно создать такой сейв, который бы позволял загрузить игру с любого уровня и при этом было бы желаемое количество предметов. Поэтому я оставил только возможность загружать игру с любого уровня.
Другой вариант был начать игру с 1-го уровня с желаемым количество предметов, а уже со следующего уровня вы попадете на уровень выше от желаемого. Т.е. сначала всегда нужно будеть проходить первый уровень. Поэтому оставил первый вариант.
--- Конец цитаты ---
Победил этот момент. Достаточно было сделать сейв после прохождения первого уровня, на экране Level Complete. Теперь можно запускать игру с любого уровня c полным боекомплектом File->Emulator-Run from level. После запуска игры загружаемся со слота под номером 0. Можно, кстати, в качестве эмулятора выбрать Kega Fusion.

Марат:
Какой-то чувак выложил "мой" редактор на Romhacking.net и выдаёт его за свой o_0
Ну, народ. https://www.romhacking.net/utilities/1585/
Я сначала, подумал, что, наверно, кто-то ещё постарался. Но, если зайти в Хелп-> о программе, то там указано моё имя.



Добавлено позже:
Там даже мой текст с этого форума.

Про Игрок:
МАРАТ:
В техподдержку сайта пиши удалят в тот же день  :cool:

Марат:
Обновление: версия 0.97
+Добавлена возможность изменять размеры уровней.
+Адаптирован генератор паролей
Скачать

-RagmuL-:
Привет.

Можно подробную инструкцию как использовать сиё чудо? спасибо...

Марат:
Привет.Скачиваешь программу, скачиваешь ром с этого сайта "Zombies Ate My Neighbors (U) [c][!].gen" или "Zombies Ate My Neighbors (U) [c][!].bin"
Патчишь ром патчем из архива. Дальше открываешь Ром в программе. Вся остальная инструкция есть в хелпе программы. Жми F1.

Nemesis_c:
Марат, у тебя случайно пакера/анпакера не осталось нигде?

Марат:

--- Цитата: Nemesis_c от 07 Декабрь 2021, 20:11:43 ---Марат, у тебя случайно пакера/анпакера не осталось нигде?

--- Конец цитаты ---
Остался. Но он на Visual Basic'e .net. Если правильно помню там используется LZH. Исходников которого полно в сети.
Прикрепил на basic'e.

Nemesis_c:
Спасибо

DrMefistO:
Вот, если что, исходник на C, для нормальных людей:

Nemesis_c:
Поздравляю всех с наступающим новым годом!

Опробовал редактор, поколдовал немного с музыкой...
По хорошему в редактор нужно внести несколько дополнений и будет просто шикарная вещь!
Собственно цель ставил создать ром болванку с дополнительным контентом (новыми жертвами, врагами, графикой уровней), который потом можно будет скармливать редактору уровней и в нем использовать весь доп.контент без ковыряния в асме.
В принципе заготовка вполне-себе работает, пока-что всё на костылях и из задуманного практически ничего не реализовано, но начало положено =)
В ходе опытов и в преддверии нового года был слеплен малюсенький хак в качестве демонстрации.

 NEW.rar (651.83 КБ - загружено 277 раз.)

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

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