Перейти к содержимому
DeidaraNT

Помощь по ромхакингу

Рекомендуемые сообщения

Кто знает как изменить в сонике 1 в GHz босса ,его действия или шар который качается изменить качание...

Поделиться сообщением


Ссылка на сообщение
Object 3D - Eggman (GHZ)

Это я знаю ,я имел ввиду как изменить движение босса или траекторию шара

Поделиться сообщением


Ссылка на сообщение
Это я знаю ,я имел ввиду как изменить движение босса или траекторию шара

Хорошенько поднапрячь мозги (Или я только могу? Может, я одаренный? XD) и выучи АСМ как таблицу умножения, пользуйся переведенными Владиккомпером справочниками - будет очень легко иметь с этим дело, ты даже будешь не нуждаться в гидах, и сможешь смоделировать в мозгу код твоего задуманного босса (если твой мозг достаточно развит), и переписать в исходный код - гарантирую на 100%, если будешь хорошо знать математику (алгебру для всяких вычислении, геометрию, чтобы было легко иметь дело с расположениями, и т.д.\т.п.) и физику (для просчитывания скорости притяжения или силу трения объекта с условием веса, и т.д.\т.п., связанное с природой), и будешь качественно, продуманно (желательно еще быстро, чтобы быстро писать коды) составлять разные алгоритмы-вычисления.

Я бы мог помощь, но у меня не работает комп, где исходник.

Поделиться сообщением


Ссылка на сообщение

А вы знаете какую-нибудь прогу для редактирования SMPS музыки драйвера SMPS68k, ну там... поменять DAC сэмплы? Пожалуйста очень надо...

Поделиться сообщением


Ссылка на сообщение

А зачем для этого прога? Можно ведь руками в хекс-редакторе. Например, через винхекс в Search - Replace Hex Values. Но для этого нужно знать значения DAC сэмплов, посмотри на соникретро, там обширный гайд есть. Помню, что $81 - kick, $82 - snare, $83 - noise, $84 - seeegaaa, и т.д.

Поделиться сообщением


Ссылка на сообщение

Можете мне подсказать, как вычислять адреса палитры в ромах Megadrive? Я помню на GBA баловался с HEX редактором, а наткнулся на палитру.

Поделиться сообщением


Ссылка на сообщение
Можете мне подсказать, как вычислять адреса палитры в ромах Megadrive? Я помню на GBA баловался с HEX редактором, а наткнулся на палитру.

 

Тырк

Поделиться сообщением


Ссылка на сообщение

Подскажите как изменить темп песни через винхекс.

Поделиться сообщением


Ссылка на сообщение

Помогите с анимацией. Я наконец-то вставил себе нормальный... теперь супер пилаут (и спиндэшу место нашлось). Как нужно писать в АСМе чтобы была анимация постепенно переходящая из ходьбы в бег.

move.b	#$21,anim(a0)

-вот это значит анимация "медленная ходьба", а надо анимацию хотя бы бега даже не нашел. Помогите плз. =)

Поделиться сообщением


Ссылка на сообщение
Помогите с анимацией. Я наконец-то вставил себе нормальный... теперь супер пилаут (и спиндэшу место нашлось). Как нужно писать в АСМе чтобы была анимация постепенно переходящая из ходьбы в бег.

move.b	#$21,anim(a0)

-вот это значит анимация "медленная ходьба", а надо анимацию хотя бы бега даже не нашел. Помогите плз. =)

Это значит "использовать анимацию номер $21" и ничто больше. Номер анимации не несет никакой информации о том, что будет в самой анимации.

 

Найди лейбел SonicAniData, это список всех анимаций для обычной формы Соника (для Супер формы смотри SuperSonicAniData чуть ниже). В опрятном дизасембле Соник 2 все даже пронумировано, так что можно легко узнать номер для каждой анимации. Из таблицы видно, что номер $21 у анимации SonAni_LieDown. Это анимация когда Соник встает с земли.

 

SonAni_LieDown:	dc.b   3,  7,$FD,  0

 

Анимация очень коротка и состоит из одного кадра (7). Потом флагом $FD она переключается на анимацию 0. А это анимация ходьбы. Анимация ходьбы - особая, она зависит от скорости, при нулевой скорости она воспроизводится очень медленно. Отсюда и берется медленная ходьба, которую ты видишь.

 

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

SonAni_Walk:	dc.b $FF, $F,$10,$11,$12,$13,$14, $D, $E,$FF
SonAni_Run:	dc.b $FF,$2D,$2E,$2F,$30,$FF,$FF,$FF,$FF,$FF

 

И получить что-нибудь подобное:

 

SonAni_PeelOut:	dc.b 3, $F,$10,$11,$12,$13,$14, $D, $E,$2D,$2E,$2F,$30,$FE,4

 

Это моя грубая прикидка. Чтобы было глаже, может быть, тебе понадобиться продублировать некоторые кадры, а некоторые вырезать.

Добавь сслыку на эту анимацию в конец списка SonicAniData. Ее номер будет $22, так что надо будет исправить move.b #$21,anim(a0) в коде твоего Пил Аута.

Поделиться сообщением


Ссылка на сообщение
Это значит "использовать анимацию номер $21" и ничто больше. Номер анимации не несет никакой информации о том, что будет в самой анимации.

 

Найди лейбел SonicAniData, это список всех анимаций для обычной формы Соника (для Супер формы смотри SuperSonicAniData чуть ниже). В опрятном дизасембле Соник 2 все даже пронумировано, так что можно легко узнать номер для каждой анимации. Из таблицы видно, что номер $21 у анимации SonAni_LieDown. Это анимация когда Соник встает с земли.

 

SonAni_LieDown:	dc.b   3,  7,$FD,  0

 

Анимация очень коротка и состоит из одного кадра (7). Потом флагом $FD она переключается на анимацию 0. А это анимация ходьбы. Анимация ходьбы - особая, она зависит от скорости, при нулевой скорости она воспроизводится очень медленно. Отсюда и берется медленная ходьба, которую ты видишь.

 

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

SonAni_Walk:	dc.b $FF, $F,$10,$11,$12,$13,$14, $D, $E,$FF
SonAni_Run:	dc.b $FF,$2D,$2E,$2F,$30,$FF,$FF,$FF,$FF,$FF

 

И получить что-нибудь подобное:

 

SonAni_PeelOut:	dc.b 3, $F,$10,$11,$12,$13,$14, $D, $E,$2D,$2E,$2F,$30,$FE,4

 

Это моя грубая прикидка. Чтобы было глаже, может быть, тебе понадобиться продублировать некоторые кадры, а некоторые вырезать.

Добавь сслыку на эту анимацию в конец списка SonicAniData. Ее номер будет $22, так что надо будет исправить move.b #$21,anim(a0) в коде твоего Пил Аута.

Спасибо тебе огромное. Все получилосось, а то долго ломал говову над этим175.JPG

Поделиться сообщением


Ссылка на сообщение

Вся музыка из Dangerous Seed. Портировал я. DAC править будет нуждающийся.

DSMusic.zip

Поделиться сообщением


Ссылка на сообщение
Вся музыка из Dangerous Seed. Портировал я. DAC править будет нуждающийся.

DSMusic.zip

Ты очень силен в областе музыки

И я уверен что тебя ждет большое будущее в ромхакинге (ну в музыке)

Поделиться сообщением


Ссылка на сообщение
Ты очень силен в областе музыки

И я уверен что тебя ждет большое будущее в ромхакинге (ну в музыке)

+1 СОГЛАС€Н =/

Поделиться сообщением


Ссылка на сообщение
Ты очень силен в областе музыки

И я уверен что тебя ждет большое будущее в ромхакинге (ну в музыке)

Ты прав, свое будущее я строю на музыке :) Больше не на чем. Я не силен ни в программировании, ни в графике, ни в построении уровней. Но зато неплохо портирую/конвертирую. Я бы хотел быть в каком-либо хаке композитором. Вот например, одна из моих лучших конвертаций: Sonic CD - Palmtree Panic Present японского региона.

scd_pp_jp.mp3

 

Из-за подозрения в ботоводстве мне приходится делать даблпост. Я выкладываю ещё одну свою очень хорошую конвертацию: Megaman X5 - Zero Stage 1 ...которую вы, возможно, где-нибудь еще услышите... mmx5_zero1.mp3

Изменено пользователем S_T_D

Поделиться сообщением


Ссылка на сообщение

Спрашиваю у опытных людей.

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

2.У меня есть код хоуминга для соник 2. Код вроде вставил, сбилдировался, но хоумунга нет. Че делать?

3.Где можно поподробней узнать о формате segapcm? И где его взять?

Поделиться сообщением


Ссылка на сообщение

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

 

Sonic_Something:
   tst.b  (xxx).w	  ; способность уже вызывалась?
   bne.s Sonic_Something_Return	; если да, выход
   <...>
   move.b #1,(xxx).w; задать флаг, чтобы способность больше не вызывалась
   <...>				 ; основной код

Sonic_Something_Return:
   rts

 

Где (xxx).w - какой-нибудь адресс памяти. Его ты должен будешь выбрать сам. Подойдет любой свободный адрес памяти, его можно найти в справочнике по RAM Sonic 2 на Ретро (у меня сейчас к сожалению нет времени его смотреть). Можно воспользоваться каким-нибудь свободным байтом в структуре объекта Соника. Это даже лучше. Тогда адрес будет иметь форму xx(a0), свободные байты тоже можно узнать из справочника.

 

И последний момент - нужно позаботится о восстановлении способности (сбросе флага), чтобы при новом прыжке можно было совершить Джамп Дэш еще раз. В твоем случае это нужно сделать в процедуре Sonic_ResetOnFloor. название из Соник 1, в Соник 2 оно может отличаться (у меня нет сейчас времени уточнить названия). Очищается флаг командой CLR, например.

 

clr.b (xxx).w

 

2. Ты дал слишком мало информации. На основании этого я не могу ничего сказать.

 

3. Звук в формате 8bit PCM 22 kHz (в количестве килогерц могу немного наврать).

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

При конвертировании звука важно лишь следить за параметром "8-bit PCM", количество килогерц можно задать по желанию, этот параметр отвечает за частоту обновления звукового потока. Единственное, если частота нового звука будет отличаться от оригинала, нужно будет трогать код и изменять параметр "pitch" для звука.

Поделиться сообщением


Ссылка на сообщение
1. Чтобы ограничить вызов какой-либо способности, обычно используют флаг в памяти, при активации которого способность более не вызывается. В начале кода ставится условие выхода: "если флаг такой-то установлен, выход". В общем случае это выглядит так:

 

Sonic_Something:
   tst.b  (xxx).w	 ; способность уже вызывалась?
   bne.s Sonic_Something_Return; если да, выход
   <...>
   move.b #1,(xxx).w; задать флаг, чтобы способность больше не вызывалась
   <...>				; основной код

Sonic_Something_Return:
   rts

 

Где (xxx).w - какой-нибудь адресс памяти. Его ты должен будешь выбрать сам. Подойдет любой свободный адрес памяти, его можно найти в справочнике по RAM Sonic 2 на Ретро (у меня сейчас к сожалению нет времени его смотреть). Можно воспользоваться каким-нибудь свободным байтом в структуре объекта Соника. Это даже лучше. Тогда адрес будет иметь форму xx(a0), свободные байты тоже можно узнать из справочника.

 

И последний момент - нужно позаботится о восстановлении способности (сбросе флага), чтобы при новом прыжке можно было совершить Джамп Дэш еще раз. В твоем случае это нужно сделать в процедуре Sonic_ResetOnFloor. название из Соник 1, в Соник 2 оно может отличаться (у меня нет сейчас времени уточнить названия). Очищается флаг командой CLR, например.

 

clr.b (xxx).w

 

2. Ты дал слишком мало информации. На основании этого я не могу ничего сказать.

 

3. Звук в формате 8bit PCM 22 kHz (в количестве килогерц могу немного наврать).

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

При конвертировании звука важно лишь следить за параметром "8-bit PCM", количество килогерц можно задать по желанию, этот параметр отвечает за частоту обновления звукового потока. Единственное, если частота нового звука будет отличаться от оригинала, нужно будет трогать код и изменять параметр "pitch" для звука.

1.Ссылку дай на байты.

2.потом отвечу.

3.Епт. Оказывается все так просто.

Поделиться сообщением


Ссылка на сообщение
3.Епт. Оказывается все так просто.

 

На самом деле все очень просто: качаешь GoldWave и пересохраняешь файл в формате 8 bit unsigned mono. Ну и еще нужно будет указать верное кол-во khz в Edit-Resample (вроде).

Поделиться сообщением


Ссылка на сообщение

Ну и дабы обобщить вышесказанное, выкладываю скриншот с программы GoldWave, которым все сказано.

goldwave.png

Если изображение не загружается, то скачайте здесь:

gw.zip

Изменено пользователем S_T_D

Поделиться сообщением


Ссылка на сообщение

Сначала нужно поставить другой звуковой движок, например, j-man'а. Если у тебя Sonic 2, то нужно ставить Sonic 2 Clone Driver, но я не помню, вроде как гайд по его установке не работает и тут только вариант скачать дизасм с уже установленным (если нужен линк - в личку).

Поделиться сообщением


Ссылка на сообщение

Я имею в виду как менять DAC сэмплы в самой сэмпээске.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×