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

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

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

Вот у меня возник ещё один вопрос.Играя в Мегамикс,думаю вы замечали,как Соник выбегает из левой границы уровня.Из этой:

post-10002-1299915110_thumb.png

Как сделать такую же фичу?Я уже всё перепробовал...

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

 

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

 

Постараюсь помочь тебе разобраться с этим. Тема, которую ты затронул на самом деле очень сложна. От тебя потребуется глубокое познание движка и хорошие знания АСМа.

 

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

 

Очевидно, чтобы обойти эту ситуацию, нужно сдвигать камеру вначале уровней, чтобы ее позиция была не $0000, а, например, $0040 (64 пикселя правее), тогда Соника можно разместить в самом начале уровня, и это начало будет за левой границей камеры.

 

Другая проблема - наличие самой границы, она же ведь не дает Сонику зайти за пределы камеры, и даже если разместить его левее, граница сработает, и немедленно откинет Соника в пределы камеры. Границу придется временно отключать, когда Соник выбегает слева. Делается это в коде Sonic_LevelBound. Для этого можно сделать какой-нибудь флаг, подобно флагу $FFFFF7AA, который позволяет Сонику заходить за правую границу камеры.

 

Ну и самое главое - заставить Соника, собственно выбегать. Для этого помимо позиции, ему нужно задать скорости. Его стартовое положение задается в LevSz_StartLoc, можно добавить в массив StartLocArray еще и скорости и работать с ними. А заставить Соника бежать совсем просто:

 

Блокируешь управление с джойпада - move.b #1,($FFFFF7CC).w

Имитируешь нажатие требуемых кнопок, если у тебя дизасембл S1HS2 то синтаксис команды будет понятным: move.w #Right<<8,(SonicControl). Только надо не забыть еще потом это управление разблокировать. Это сделать можно миллионами способов, если ты отлично разбираешься в АСМе и смог успешно реализовать все до этого шага, тебе это не составит труда. =Р

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


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

Спасибо.Попробую сделать всё,что в моих силах.Я не думаю,что у меня получится,поскольку я почти не умею работать с камерой.

Изменено пользователем TailsX-Doll

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


Ссылка на сообщение
Есть ли в СонМапЭде разница между некомпресованными тайлами и просто тайлами?

Тайлы они и в Африки, тайлы.Разницы нет.Просто одни тайлы сжаты Nemsis'ом(вроде так пишеться).

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


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

Просто я открыл спрайт как несжатый и мапы-билеберда, просто тайл-всё нормально.

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


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

как добавить воду с лабиринта скажем на марбл и чтоб всегда она находилась на одном уровне(я имею ввиду чтобы не опускалась и не поднималась)?

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


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

это наверно оффтоп но,я хочу сделать 2d игру про соника,какой использовать движок и конструктор?

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


Ссылка на сообщение
это наверно оффтоп но,я хочу сделать 2d игру про соника,какой использовать движок и конструктор?

Тебе сюда

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


Ссылка на сообщение
как добавить воду с лабиринта скажем на марбл и чтоб всегда она находилась на одном уровне(я имею ввиду чтобы не опускалась и не поднималась)?

Есть классный гид на эту тему: http://sonicresearch.org/forums/index.php?showtopic=1783

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


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

смотрите вообщем у меня есть спрайт шедоу(одна большая картинка с разными движениями)и в гм(game maker)спрайт соника(много маленьких картинок)как мне поменять спрайты соника на спрайты шедоу?

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


Ссылка на сообщение
смотрите вообщем у меня есть спрайт шедоу(одна большая картинка с разными движениями)и в гм(game maker)спрайт соника(много маленьких картинок)как мне поменять спрайты соника на спрайты шедоу?

Гкхм, не та тема

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


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

После применения гида по увеличению количества слотов для музыки (перевод от Alexey383 кажется),после воспроизведения мелодии жизни не продолжала играть мелодия уровня,на котором играешь.Гид применял к S1HS2.Я уже заменял это:

		cmpi.b	#$8F,d7	; is "extra life" music	played?
	bne.s	loc_72024; if not, branch

на это:

		cmpi.b	#$1F,d7	; is "extra life" music	played?
	bne.s	loc_72024; if not, branch

и это:

loc_7202C:
	jsr	sub_725CA(pc)
	movea.l	(off_719A0).l,a4
	subi.b	#$81,d7
	move.b	(a4,d7.w),$29(a6)
	movea.l	(Go_MusicIndex).l,a4
	cmpi.b  #$01,($FFFFFFFD).w
	bne.s   CheckSounds00to80
	movea.l	(Go_MusicIndexFF).l,a4
	jmp	 NormalIndexLoad

на это:

loc_7202C:
	jsr	sub_725CA(pc)
	movea.l	(off_719A0).l,a4
	subi.b	#$01,d7
	move.b	(a4,d7.w),$29(a6)
	movea.l	(Go_MusicIndex).l,a4
	cmpi.b  #$01,($FFFFFFFD).w
	bne.s   CheckSounds00to80
	movea.l	(Go_MusicIndexFF).l,a4
	jmp	 NormalIndexLoad

После этой замены музыка перестала играть.

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


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

В коде много проверок на воспроизведение мелодии дополнительной жизни, насколько я знаю. Может ты какую-то не поправил?

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


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

Я только одну проверку нашёл...

  • Дизлайк 1

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


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

кто небуть может дать код хоминг атак и лайтдаш на ASM ? для Sonic 1

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

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


Ссылка на сообщение
кто небуть может дать код хоминг атак и лайтдаш на ASM ?

может.

1230563363_sdelajj-sam-4-1991.gif

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


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

Тебе это никто не даст

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


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

в чем смысл названия темы "помощь по ром хакингу"если не кто не помогает ?

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


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

угу, но если такими кодами расбрасываться направо и налево, то -=вырезано=- будет полон форум, с кривыми уровнями, зато с хоумингом!

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


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

Посты выше очень просят ворнов для своих авторов.

 

Намек, надеюсь, понятен.

 

А для DeidaraNT ворн даже выдан.

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


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

\\А вот и я. Не ждали.\\

 

Sonic Werehog смысл не в том чтобы кто-то давал тебе гиды. А в том чтобы помогали с проблемами в коде.

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

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


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

Sonic Werehog, а достоин ли твой хак хоминга и лайт деша? Покажи свои наработки, если твой хак всех удивит и всем безумно понравится (в чем я сильно сомневаюсь), я с удовольствием презентую тебе код лайт деша.

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


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

Кто-нибудь знает какая прога редактирует уровни в Sonic the Hedgehog 2? Если да, то какая?

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


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

Спасибо!

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


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

Блин, вот откровенно меня поражают разработчики Sonic 2 Clone Driver! Они просто выложили драйвер j-man'a с портированными музыкой и звуками Sonic 2! А о том, как это поставить на Sonic 2 ни словечка! Я поставил драйвер, пофиксил все ошибки и только добился того, что музыка вообще перестала проигрываться!

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


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

Как сделать переход на экран "Sonic Team Presents"?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

×