Автор Тема: ZAMN Editor Sega Genesis  (Прочитано 8755 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« : 06 Апрель 2018, 19:57:35 »
Представляю вашему вниманию редактор уровней Zombies ate my neighbors, в оригинале написанный Piranhaplant и модифицированный мною для редактирования версии игры для Sega Genesis. Начал я переделку в прошлом месяце. На данном этапе почти всё удалось адаптировать. Единственное что пока не доработано, так это возможность безбоязненно редактировать все уровни игры. Дело в том, что в версии игры для SNES все данные уровней находятся в последнем банке и есть возможность как уменьшать размер рома, так и увеличивать. В Сеге же данные находятся между кодом игры и менять размер нет возможности. Пока я ещё не придумал как обойти этот момент. Возможно придется увеличить ром и перенести все данные уровней в новое место. Либо запаковать карты метаблоков. В SNES, к слову, они запакованы, но все остальные ресурсы нет. В Сеге же наоборот, все ресурсы запакованы кроме палитры и карт метаблоков. Так же пока не разбирал генератор паролей для игры. В общем, можете пока поиграться с редактором в таком виде, каком он есть.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #1 : 06 Апрель 2018, 20:07:48 »
к сеговской версии еще расковыряй GEMS, в смысле чтоб можно было менять мелодии, в смысле измененные банки не портили код, который будет идти после этих банков.

адреса, оставленные неким товарищем Megaplex, который где-то сгинул в просторах тырнета :(
Цитата
Zombies Ate My Neighbors (U) [c][!]
EAB00 pat
EBF1C mod
EBF24 seq
F0D18 dac

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

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #2 : 07 Апрель 2018, 16:51:41 »
C аудио не приходилось работать. Поэтому даже не имею представления как и что там работает.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #3 : 07 Апрель 2018, 17:46:24 »
и не парься :) главное все что после аудио не потерялось. типа скажем:
0 начало рома, заголовок
10 графика
20 звук
30 какой-то еще код

типа мы изменили звук - скажем какой-то сэмпл стал длиннее. то есть стало
20 звук
34 какой-то еще код.

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

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

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

Добавлено позже:
перечитал твой первый пост, и сижу теперь огорченный. я писал свой пост про перенос банков в конец рома - думая что меня осенило :) оказывается я просто по диагонали прочитал твой тот раз, не асилил, но это отложилось в памяти, а потом подумал что придумал это сам :))) у меня батя так делает. ему чего посоветуешь, он забудет. потом вспомнит, но будет думать что это он сам придумал :)
« Последнее редактирование: 07 Апрель 2018, 18:01:37 от SeregaZ »

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #4 : 09 Апрель 2018, 16:21:16 »
Да с музыкой проблем нет. Достаточно указать номер нужной мелодии в шапке уровня и всё.

Вопрос с местом для настроек уровня решён. Осталось придумать куда деть перепакованные карты уровня.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #5 : 09 Апрель 2018, 16:46:45 »
это ты в смысле подмена мелодий внутри игры? так я ж про импорт мелодий из других GEMS игр в эту игру. под подмену то да, размеры и физическое нахождение в роме мелодий остаются неизменные. другое дело ежели там втулить игре какую-то большую по весу мелодию :) или сэмплы какие-то подменить скажем.

Добавлено позже:
что-то комбайн оказывается с ошибкой распаковал... пишет что типа 3 сэмпл размером куда больше, чем типа банк сэмпла вмещает. по идее такое может быть. типа игру когда собирали, выяснилось что она чуть больше 1 мегабайта и взяли тупо обрезали сэмпл. физических обрезали в конце файла, а в заголовке не правили. однако тут вроде бы ошибки нет и смещение и размер вполне вписывается в этот 1 мегабайт рома и сэмплы идут по порядку:
Offset      0  1  2  3  4  5  6  7   8  9  A  B 

00000000   47 9C 00 00 00 00 13 10  00 00 00 00   0
           4A AF 10 00 00 00 32 1E  00 00 00 00   1
           49 E1 2E 00 00 00 A4 0B  00 00 00 00   2
           5A 85 3A 00 00 00 08 0F  88 02 FF FF   3
00000030   4A 8C 49 00 00 00 11 0F  00 00 00 00   4
           57 9D 58 00 00 00 27 1E  81 0F 00 00   5
           4A C4 76 00 00 00 7B 1A  00 00 00 00   6
           48 3F 91 00 00 00 48 1B  00 00 00 00   7
00000060   48 87 AC 00 00 00 BD 1B  00 00 00 00   8
           47 44 C8 00 00 00 F6 12  00 00 00 00   9
           49 3A DB 00 00 00 83 0F  00 00 00 00   A
           00 00 00 00 00 00 00 00  00 00 00 00   B
00000090   4A BD EA 00 00 00 18 08  00 00 00 00   C


           5A                - метка частоты сэмпла
              85 3A 00       - смещение
                       00 00
                             08 0F - по идее размер 
                                    88 02
                                          FF FF

мля... придется идти в этот сраный дискорд назад, спрашивать у товарища раздолбая шелла чо за затык... мож у меня комбайн старый или чего.
« Последнее редактирование: 09 Апрель 2018, 18:20:08 от SeregaZ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #6 : 12 Апрель 2018, 13:01:54 »
шелл этот блудит где-то в творческом запое :( чтоб ему икалось.

так вот тут значит две загвоздки:

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

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


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



так что вопрос - а ты сможешь найти этот самый драйвер вручную? чтоб не надеяться на эту горе-софтину, которая сама банки найти не может. находит только драйвер. в моем случае это USA версия игры. берем файл рома и мышкой перетаскиваем на этот GEMSScan - он должен родить рядышком с ромом файл 7 килобайт чтоль... с таким-же названием, как у рома, с припиской driver. вот я сомневаюсь что она правильно его находит. в этом файле должны быть смещения на такие адреса в роме:
EAB00 pat
EBF1C mod
EBF24 seq
F0D18 dac

хотя это адреса по отношению к началу рома. в драйвере видимо должно быть что-то типа:
EAB00 pat - адрес драйвера = настоящее значение


Добавлено позже:
зря проклинал шелла. заявился :) подсказал чо поправить. один затык решился. так-же проконсультировал он и по второму. я правда ничего не понял, но кажется адреса все-таки нашлись. попробую подменить какую-то мелодию.
« Последнее редактирование: 12 Апрель 2018, 15:48:15 от SeregaZ »

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #7 : 12 Апрель 2018, 16:05:01 »
А где можно почитать доки по этой теме?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #8 : 12 Апрель 2018, 16:11:09 »
я наверное видео запишу... или по крайней мере пост зафигачу с подробными объяснениями :) и поскольку я нифига не ромхакер - то объяснения будут на пальцах :) и видимо архив приложу со всеми нужными бубнами, с которыми потом танцевать надо будет.

Добавлено позже:
угу... или не напишу :) сыпется после сборки. зараза :) первую ноту из мелодии логотипа конами проигрывает и все. звук зависает.
« Последнее редактирование: 12 Апрель 2018, 18:46:02 от SeregaZ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #9 : 13 Апрель 2018, 16:15:47 »
свершилось! и друг спас друга! кароче заработало... товарищу r57shell'у было прокомпосированно кучу мозга, и оно после этого заработало. теперь надо это дело все оформить в более понятную программу и написать пост как этим пользоваться.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #10 : 13 Апрель 2018, 19:14:39 »
Нашёл интересный материал. Кое-что проясняется. В доке, кстати, написано, что 128 инструментов. И по первому поинтеру это тоже становится ясно.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #11 : 13 Апрель 2018, 19:31:18 »
не торопись :) я почти доделал. из дюновского редактора все чо хотел перенес. это будет шедевр... опять :) точнее он итак шедевр, только теперь будет еще и для зомбей.

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

материал в основном тут: http://elektropage.ru/publ/o_prekrasnom/articles/gems_sound_driver/2-1-0-71
но несколько туманно. лови в дискорде шелла :) я ему эти два дня мозги компосировал. он все знает и пояснил чо нужно доделать в этом зомби-случае. каждый случай можно сказать уникальный :)

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #12 : 13 Апрель 2018, 20:39:09 »
Ну да, сразу в игру сохраняешь. Там как бы есть возможность эскпорт/импорт уровней. Можно сохранять в виде текста.

Добавлено позже:
Ну, все теперь более менее понятно. Выдернул музыку и проиграл треки с помощью GemsPlay. Стало понятно почему номера треков музыки не по порядку. Они в ресурсах так и идут вперемешку со звуками.

Добавлено позже:
Место, кстати под настройки уровней нашлось аж 2 кб. Осталось найти место под перепакованные карты уровней. Думаю, сжать карты блоков и тогда должно места освободиться прилично. 5 наборов блоков по 32 килобайта. Если все это сжать, то, думаю, килобайта 32 освободиться. Просто надо будет редактор с хакнутым ромом распространять или патчить ром и сделать какую-то проверку, чтоб программа знала ром уже хакнутый или нет.
« Последнее редактирование: 13 Апрель 2018, 21:16:18 от Марат »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #13 : 13 Апрель 2018, 21:59:27 »
пока ютуб заливается :) краткий инструктаж:

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

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

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #14 : 13 Апрель 2018, 22:16:50 »
Там же вроде как в заголовке сэмпла указывается, смещение на следующую мелодию относительно текущей. Не все ведь мелодии одинаковой длины.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #15 : 13 Апрель 2018, 22:30:24 »
так она ж работает как:
играй это. ожидаю, что играть будешь 3 минуты.
3 минуты прошло. играй вот то. ожидаю 3 минуты...

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

еще несколько минут. думаю скоро до конвертируется :)

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #16 : 13 Апрель 2018, 22:51:25 »

на виндовсях 7 и выше не тестировалось. возможно понадобится запуск от администратора.

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

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

архив пришлось снести. надеюсь доделаю и будет в последнем сообщении выложен.
« Последнее редактирование: 22 Апрель 2018, 13:11:50 от SeregaZ »

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #17 : 14 Апрель 2018, 04:23:41 »
Интересно. Вечером посмотрю. А новые мелодии в игру добавить можно? Т. е. не просто замена, а чтоб дополнительно к существующим?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #18 : 14 Апрель 2018, 07:37:31 »
вопрос конечно интересный... однако это нужен будет дополнительный код, эти новые мелодии или спецэффеты задействующие. сам GEMS по идее может быть больше. они просто не будут использоваться.

зайти в папку gems, создать новую папку 085 или скок там... +1 по отношению к последней. зайти в неё и создать файл 085.cfg. а в файле game.cfg добавить строчку sequence '085\085.cfg'
после в эту папку уже докидывать нужную мелодию через программу. посмотрим, может надо будет добавить такую возможность в редакторе. так-же может быть надо будет туда добавить из дюновского редактора всякие дополнительные мелкие редакторы - типа редактор сэмплов, редактор FM и PSG инструментов, редактор модуляций... запасные части от GEMS треккера :) без него самого.
но это только будут банки gems. в игру добавлять - нужен код, использующий правильный номер мелодии. причем с этими номерами тоже не все так однозначно :) например в дюне не напрямую обращается, дескать проиграй мне номер 085. там идет запрос к таблице. проиграй мне из таблицы номер 5. а уже в этой таблице, в ячейке номер 5 - лежит значение 085. поэтому тот номер мелодии в шапке уровня в зомбях - не обязательно сразу порядковый номер в GEMS :) возможно тебе придется искать и эту таблицу... если она тут применяется. со спецэффектами - всякими выстрелами и криками зомбей, тут вовсе темный лес. где их искать в коде и как добавлять новые события - тут я вобще не представляю.

ты еще как Ti сделай :) в смысле для рокенролрейсинга он добавлял AI-игрока, который играет на стороне игрока - вот чтоб второй игрок в зомбях был AI, бегал за живым игроком и постреливал туда суда :)

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #19 : 14 Апрель 2018, 12:21:10 »
Ну,  я вообщето планировал только редактор переписать под сегу и всё.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #20 : 22 Апрель 2018, 13:10:18 »
хостинг скончался. 10 лет нормально работал, тут пишут что мы больше не можем его поддерживать. вот засада... надо будет переделывать под запасной.

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

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

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #21 : 22 Апрель 2018, 19:57:47 »
А я всё никак не добью редактор. Думаю поменять ресурсы аудио и параметров уровней местами, тогда будет легче редактировать уровни. Ну и останется придумать, как поступить с картами уровней.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #22 : 22 Апрель 2018, 20:27:26 »
так звук можно закидывать как удобно далеко. игра даж не замечает, когда звука вовсе нет :) просто звуков нет, а так все играет замечательно :) в моем случае болванка рома вообще без банков GEMS используется, и только после того как пользователь выбрал все звуки и мелодии чего ему надо - пораспихал по папкам - собирается шеловским комбайном и вписывается в ром, в то место где начинались оригинальные банки. правда есть момент, если меняя уровни - сместится место, где вписаны 4 адреса смещений до банков GEMS - то вписаться корректно новые банки не смогут.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2505
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #23 : 01 Май 2018, 15:48:38 »
немного переделал, но это все равно не так как я хотел и опять полезли мелкие нюансы. итак максимальное качество сэмплов в этой игре 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 удалить при переносе. и надо еще переделать, чтоб сэмплы редактировались в одном месте, чтоб не надо было бы скакать по папкам. чтоб было более удобно, а не как сейчас через задний проход :)
« Последнее редактирование: 01 Май 2018, 18:43:35 от SeregaZ »

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #24 : 09 Май 2018, 20:58:01 »
Со музыкой разобрался, она теперь всегда в конце рома будет, в независимости от размера конечного файла. Исправил кое-какие косяки в редакторе.
Даже уровень скопировал с хака на snes версию игры.
Осталось решить проблему как поступить с вмещением карты сжатого уровня, размер которого превышает размер оригинала.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #25 : 06 Февраль 2021, 01:00:08 »
Почти 3 года прошло. Наконец-то нашёл в себе силы и желание доделать начатое.
Плохо, когда вот так откладываешь в долгий ящик. Пришлось очень долго всё вспоминать. Код без комментариев. Спасибо Nemesis'у,
что расписал формат уровней, легче было вспомнить что и как. Ну, автору (Piranhaplant) редактора отдельное спасибо.
Вроде все функции редактора адаптировал к сеговской версии игры. Пришлось расширить ром и перенести карты тайлов блоков в конец ром, что позволило использовать освободившееся место поду карты уровней. Расставил уровни на одинаковом расстоянии друг от друга. Из расчета, что размер карты может быть 30*30 блоков.  Так что теоретически карта может быть и 30*30 размером. Плюс ко всему она ещё и сжимается, так что можно и больше сделать размером, но лучше не злоупотреблять.
В редакторе есть функция запуска игры с любого уровня.
Для этого модифицируется savestate эмулятора Gens. Там есть один затык - невозможно создать такой сейв, который бы позволял загрузить игру с любого уровня и при этом было бы желаемое количество предметов. Поэтому я оставил только возможность загружать игру с любого уровня.
Другой вариант был начать игру с 1-го уровня с желаемым количество предметов, а уже со следующего уровня вы попадете на уровень выше от желаемого. Т.е. сначала всегда нужно будеть проходить первый уровень. Поэтому оставил первый вариант.
 Добавил функцию импорта уровней из snes версии.
Для этого надо предварительно экспортировать уровни snes версией редактора http://www.romhacking.net/utilities/1178/.
После импорта из snes, могут быть не стыковки в палитре. Но это касается хаков, так как некоторые хаки используют свою палитру и их адреса отличаются и да это было только в одном и кучи хакво на snes.
Архив с редактором в аттаче, также в архив ips патч, который расширяет ром и переносит карты тайлов блоков в конец рома.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: ZAMN Editor Sega Genesis
« Ответ #26 : 06 Февраль 2021, 01:13:19 »
Микс хак из 5 снесовских хаков. Уровни чередуются. Слишком сложен для прохождения, жертвы мрут как мухи.
Использовался для теста импорта уровней. До конца не пройден. Если у кого-то есть желание пройти, было бы неплохо.
Возможны баги.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #27 : 07 Февраль 2021, 21:24:32 »
Для этого модифицируется savestate эмулятора Gens. Там есть один затык - невозможно создать такой сейв, который бы позволял загрузить игру с любого уровня и при этом было бы желаемое количество предметов. Поэтому я оставил только возможность загружать игру с любого уровня.
Другой вариант был начать игру с 1-го уровня с желаемым количество предметов, а уже со следующего уровня вы попадете на уровень выше от желаемого. Т.е. сначала всегда нужно будеть проходить первый уровень. Поэтому оставил первый вариант.
Победил этот момент. Достаточно было сделать сейв после прохождения первого уровня, на экране Level Complete. Теперь можно запускать игру с любого уровня c полным боекомплектом File->Emulator-Run from level. После запуска игры загружаемся со слота под номером 0. Можно, кстати, в качестве эмулятора выбрать Kega Fusion.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #28 : 28 Февраль 2021, 18:11:22 »
Какой-то чувак выложил "мой" редактор на Romhacking.net и выдаёт его за свой o_0
Ну, народ. https://www.romhacking.net/utilities/1585/
Я сначала, подумал, что, наверно, кто-то ещё постарался. Но, если зайти в Хелп-> о программе, то там указано моё имя.



Добавлено позже:
Там даже мой текст с этого форума.
« Последнее редактирование: 28 Февраль 2021, 18:20:33 от Марат »

Оффлайн Про Игрок

  • Пользователь
  • Сообщений: 1870
  • "А ты...знаешь что такое Red Sky Project!?"
    • ВКонтакте
    • Youtube
    • Просмотр профиля
ZAMN Editor Sega Genesis
« Ответ #29 : 28 Февраль 2021, 18:30:23 »
МАРАТ:
В техподдержку сайта пиши удалят в тот же день  :cool: