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

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

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

У меня вопрос, который мучает меня очень долго: Как портировать фон например из Marble Garden?

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


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

У меня вопрос, который мучает меня очень долго: Как портировать фон например из Marble Garden?

Перерисовывать попиксельно.

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


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

Перерисовывать попиксельно.

 

Я не могу смотреть в игру и перерисововать фон одновременно. Да и рисую я плохо. Значит не видать мне этого.

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


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

А зачем из Марбл Гарден брать? Нарисуй свой, т.к фон Гардена вроде как есть во многих хаках. Берешь блок 16 на 16, выбираешь Show Block, и начинай рисовать блоки 8 на 8, смотря на получаишийся блок 16 на 16. Ничего сложного если разобраться.

 

/OFFTOP/ Cорри за ошибки и, если есть, за не правильную расстоновку знаков препинания. Пишу с телефона. /OFFTOP/

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

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


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

Я не могу смотреть в игру и перерисововать фон одновременно. Да и рисую я плохо. Значит не видать мне этого.

Включай S1LE, включай Пеинт, загружай в него спрайтшит, включай сетку, перерисовывай из Пеинта в S1LE, ???, PROFIT!

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


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

Экспортируешь в сонеде чанки из соника 3. Фотошоп - клепаешь из них готовые чанки 256х256, удаляешь все, кроме фона. Удаляешь тайлы, чанки и блоки старого фона, импортируешь готовый файл с чанками фона соника 3, скопировав палитру из оригинала. Это самый простой способ.

  • Лайк 3

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


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

Экспортируешь в сонеде чанки из соника 3. Фотошоп - клепаешь из них готовые чанки 256х256, удаляешь все, кроме фона. Удаляешь тайлы, чанки и блоки старого фона, импортируешь готовый файл с чанками фона соника 3, скопировав палитру из оригинала. Это самый простой способ.

 

Спасибо. Попробую сделать.

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


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

Как сделать так, чтобы Соник после пересечения таблички не только не уходил за экран но ещё и показывал знак победы? Такая фича была в S3K, думал сделать такое же в своем хаке, но у меня не получается.

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

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


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

Как сделать так, чтобы Соник после пересечения таблички не только не уходил за экран но ещё и показывал знак победы? Такая фича была в S3K, думал сделать такое же в своем хаке, но у меня не получается.

Точно не скажу, но дам часть кода. Она лежит на предыдущей странице. В ней таки как раз есть то, что тебе нужно, т.е чтобы Соник не уходил за экран. (Еще там есть код так, чтобы не блокировало управление, но это тебе не нужно.) А насчет того, чтобы Соник показывал знак победы нужно написать код, чтобы после пересечения таблички загружались спрайты X и X (Вместо x - номер спрайта), а затем это зациклить. Как это выглядет на русском языке я тебе сказал, а вот как это выглядет на языке АСМа - жди ответа Влада Савватеева.

 

З.Ы Такая фича есть в SWA. Азазаза.

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

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


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

САМЫЙ НУБСКОЙ ВОПРОС!!!: А как удалять то?

Затираешь тайлы прозрачным цветом, о боже.

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


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

 

 

Как сделать так, чтобы Соник после пересечения таблички не только не уходил за экран но ещё и показывал знак победы? Такая фича была в S3K, думал сделать такое же в своем хаке, но у меня не получается.

Делаем всё тоже самое, что делал Джонс.

 

Перейди к локрету Obj0D_Touch и после строки:

        move.w    ($FFFFF72A).w,($FFFFF728).w ; lock screen position

вставь эту:

        jsr        GotThroughAct

Затем найди локрет loc_EC86 и в самый его конец вставь rts.

 

Чтобы не блокировать управление, перейди к локрету Obj0D_SonicRun и удали из него эти строчки:

        move.b    #1,($FFFFF7CC).w    ; lock    controls
        move.w    #(Right)<<8,(SonicControl) ; make Sonic run to the right

НО! В тайлах Соника нет спрайта победы из S3&K! Придётся его добавить самому. А вместе с ним ещё добавить и маппинг, и динамические прогрузки арта, и анимацию. Кстати про анимацию. Когда всё закончишь, перейди к локрету GotThroughAct и после строчки:

        clr.b    ($FFFFFE1E).w    ; stop time counter

вставь это:

        move.b    #$X,($FFFFD01C).w

Вместо X надо будет подставить номер анимации.

 

Вообщем, париться тебе с этой фичей очень долго!

 

Всегда пожалуйста! ^_^

  • Лайк 1

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


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

Делаем всё тоже самое, что делал Джонс.

 

Перейди к локрету Obj0D_Touch и после строки:

        move.w    ($FFFFF72A).w,($FFFFF728).w ; lock screen position

вставь эту:

        jsr        GotThroughAct

Затем найди локрет loc_EC86 и в самый его конец вставь rts.

 

Чтобы не блокировать управление, перейди к локрету Obj0D_SonicRun и удали из него эти строчки:

        move.b    #1,($FFFFF7CC).w    ; lock    controls
        move.w    #(Right)<<8,(SonicControl) ; make Sonic run to the right

НО! В тайлах Соника нет спрайта победы из S3&K! Придётся его добавить самому. А вместе с ним ещё добавить и маппинг, и динамические прогрузки арта, и анимацию. Кстати про анимацию. Когда всё закончишь, перейди к локрету GotThroughAct и после строчки:

        clr.b    ($FFFFFE1E).w    ; stop time counter

вставь это:

        move.b    #$X,($FFFFD01C).w

Вместо X надо будет подставить номер анимации.

 

Вообщем, париться тебе с этой фичей очень долго!

 

Всегда пожалуйста! ^_^

 

Ты и мне помог, мне осталось анимацию сделать и готово! Огромное спасибо. Ты в титрах.

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

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


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

 

 

1Как сделать чтобы во время битвы с боссом МЗ/ЛЗ играла музыка Special Stage/Title screen?
Что и где должно играть? А также какой оффсет у музона, который должен играть?

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


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

 

 

MZ Boss - special stage Lz Boss - title screen WTF is offset?
Оффсет - К примеру, $81 - GHZ. Напиши оффсет. Я просто забыл.

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


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

 

 

Special stage - 95 Title screen - 9B

 

Перейди к локрету loc_70D0 и найди строчки:
 

		move.w	#$9C,d0
		bsr.w	PlaySound	; play boss music

Замени $9C на $95.

 

Далее, перейди к локрету loc_6F4A и найди строчки:

		move.w	#$9C,d0
		bsr.w	PlaySound	; play boss music

Замени $9C на $9B.

 

Всегда пожалуйста ^_^

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

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


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

У меня вопрос, как сделать так, чтобы когда Соник превышает свой лимит скорости, запускалась анимация Peel Out'а? Сам Peel Out уже есть. Мне нужно сделать его совершенным полноценным.

 

=================================

Сделал

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

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


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

Делаем всё тоже самое, что делал Джонс.

 

Перейди к локрету Obj0D_Touch и после строки:

        move.w    ($FFFFF72A).w,($FFFFF728).w ; lock screen position

вставь эту:

        jsr        GotThroughAct

Затем найди локрет loc_EC86 и в самый его конец вставь rts.

 

Чтобы не блокировать управление, перейди к локрету Obj0D_SonicRun и удали из него эти строчки:

        move.b    #1,($FFFFF7CC).w    ; lock    controls
        move.w    #(Right)<<8,(SonicControl) ; make Sonic run to the right

НО! В тайлах Соника нет спрайта победы из S3&K! Придётся его добавить самому. А вместе с ним ещё добавить и маппинг, и динамические прогрузки арта, и анимацию. Кстати про анимацию. Когда всё закончишь, перейди к локрету GotThroughAct и после строчки:

        clr.b    ($FFFFFE1E).w    ; stop time counter

вставь это:

        move.b    #$X,($FFFFD01C).w

Вместо X надо будет подставить номер анимации.

 

Вообщем, париться тебе с этой фичей очень долго!

 

Всегда пожалуйста! ^_^

Да, но при этом еще надо сделать, чтобы анимация Stand не выполнялась.

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


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

Ладно, с Соником разобрался. Теперь как сделать так, чтобы Соник не мог уходить за правую границу чанка с финальной отметкой, как например нельзя вернуться обратно влево. Знаю, заморачиваю идею, т.к можно просто перегородить путь чанком, но я так хочу сделать изменения в движке, что вариант с чанком использовать нехочу! :)

----------

РЕШЕНО: Просто уменьшить границу уровня в S1LE.

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

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


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

У меня вопрос (Последний): Как сделать у соника победную анимацию? Спрайты я портировал, маппинги готовы, мне осталось создать анимацию в файле _anim\Sonic.asm. Можно написать ответ в ЛС.

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

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


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

У меня вопрос (Последний): Как сделать у соника победную анимацию? Спрайты я портировал, маппинги готовы, мне осталось создать анимацию в файле _anim\Sonic.asm. Можно написать ответ в ЛС.

До even вставляй:

SonAni_Victory:    dc.b $F, [кадр 1], [кадр 2], $FE,    1, 0

До SonAni_Walk вставляй:

        dc.w SonAni_Victory-SonicAniData
Изменено пользователем Mr. Cat

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


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

 

До even вставляй:

SonAni_Victory:    dc.b $F, [кадр 1], [кадр 2], $FE,    1, 0

До SonAni_Walk вставляй:

        dc.w SonAni_Victory-SonicAniData

 

Выручил, спасибо огромное.

 

===========================

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

 

Описание ошибки: Error: ILLEGAL ZERO LENGTH SHORT BRANCH

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

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


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

@Price5115: Нашёл ошибку. Когда М68K выполняет бранч (bra, bsr, bne и т.д.) на лейбл, идуший прямо после команды бранча, собственно, компилятор и выдаёт ошибку. Это как сесть в автобус и выйти из него через один метр.

Надо вырезать суброутину GotThroughAct и вставить между bne.s и loc_EC70.

 

Вырежи всё это:

; ---------------------------------------------------------------------------
; Subroutine to	set up bonuses at the end of an	act
; ---------------------------------------------------------------------------

; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||


GotThroughAct:				; XREF: Obj3E_EndAct
		tst.b	($FFFFD5C0).w
		bne.s	locret_ECEE
		move.w	($FFFFF72A).w,($FFFFF728).w
		clr.b	($FFFFFE2D).w	; disable invincibility
		clr.b	($FFFFFE1E).w	; stop time counter
		move.b	#$3A,($FFFFD5C0).w
		moveq	#$10,d0
		jsr	(LoadPLC2).l	; load title card patterns
		move.b	#1,($FFFFF7D6).w
		moveq	#0,d0
		move.b	($FFFFFE23).w,d0
		mulu.w	#60,d0		; convert minutes to seconds
		moveq	#0,d1
		move.b	($FFFFFE24).w,d1
		add.w	d1,d0		; add up your time
		divu.w	#15,d0		; divide by 15
		moveq	#$14,d1
		cmp.w	d1,d0		; is time 5 minutes or higher?
		bcs.s	loc_ECD0	; if not, branch
		move.w	d1,d0		; use minimum time bonus (0)

loc_ECD0:
		add.w	d0,d0
		move.w	TimeBonuses(pc,d0.w),($FFFFF7D2).w ; set time bonus
		move.w	($FFFFFE20).w,d0 ; load	number of rings
		mulu.w	#10,d0		; multiply by 10
		move.w	d0,($FFFFF7D4).w ; set ring bonus
		move.w	#$8E,d0
		jsr	(PlaySound_Special).l ;	play "Sonic got	through" music

locret_ECEE:
		rts	
; End of function GotThroughAct

и вставь между этими строками:

		bne.s	loc_EC70		; if yes, branch


loc_EC70:

,чтобы заполнить пространство. Только после ; End of function GotThroughAct надо вставить:

; ---------------------------------------------------------

 

 

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

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


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

как заменить спрайты Соника на другие в игре Sonic the hedgehog 1?

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


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

как заменить спрайты Соника на другие в игре Sonic the hedgehog 1?

 

 

Извини Teffycom, не удержался.

Изменено пользователем Price5115
  • Лайк 1

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


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

Я начал пользоваться Selbi's Parallax Editor, и код, генерируемый им, не работает. В чем проблема? =)

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


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

 

 

Извини Teffycom, не удержался.

 

спасибо, понял

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


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

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

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


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

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

Прописать в АСМе может быть? Слушай, в интернете куча гайдов по этому поводу, НО! даже при смерти бадник спаунит объект "взрыв." Что, чёрт возьми, мешает найти этот момент, скопировать процедуру спауна, только вместо взрыва прописать кольцо?

  • Лайк 2

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


Ссылка на сообщение
Как сделать так, чтобы из бадников выпадали кольца

 

 

Если у кого еще остался исходник Night Trouble, там реализована эта фича

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


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

как менять  тайл скрин      сначала написал в хакинг туулс 5( 5( 5( 5( 5( 5( 5( 5( 5( 5( 5( 5( 5(

Изменено пользователем son the hutoshik
  • Дизлайк 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

×