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

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

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

Кроме того, чтобы добавить петлю в Marble Zone, придётся внести изменения в исходный код.

Открой sonic1.asm, перейди к процедуре Sonic_Loops: и добавь в её начало следующее:

cmpi.b	#2,($FFFFFE10).w ; is level MZ	?
beq.s	loc_13926	; if yes, branch

После добавления этой строки компилятор выдаёт ошибку: "illegal zero length short branch".

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


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

После добавления этой строки компилятор выдаёт ошибку: "illegal zero length short branch".

У бранча .s убери

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


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

Я почти разобрался с петлями,но у меня возник ещё один вопрос.Надеюсь,последний.
Несмотря на то что я сделал всё как нужно,петли в Marble Zone всё равно не заработали.
Но я чисто ради любопытства поэкспериментировал с кодом,и решил заменить строчку

cmpi.b #3,($FFFFFE10).w ; is level SLZ ?
beq.s loc_13926 ; if yes, branch

на следующую:

cmpi.b #2,($FFFFFE10).w ; is level MZ ?
beq.s loc_13926 ; if yes, branch

В итоге петли в Марбле заработали.Но перестали работать в Стар Лайте.Что было немного предсказуемо...

Я не силён в АСМ-коддинге,но как мне всё же сделать рабочие петли хотя бы в трёх зонах вместо двух?

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


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

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

Sonic_Loops:
move.w $C(a0),d0
lsr.w #1,d0
andi.w #$380,d0
move.b 8(a0),d1
и т.д...
Изменено пользователем Мимо проходящий

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


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

 

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

Sonic_Loops:
move.w $C(a0),d0
lsr.w #1,d0
andi.w #$380,d0
move.b 8(a0),d1
и т.д...

Всё заработало.Огромное спасибо,вы мне очень помогли.)

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


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

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

Несмотря на то что я сделал всё как нужно,петли в Marble Zone всё равно не заработали.

Но я чисто ради любопытства поэкспериментировал с кодом,и решил заменить строчку

cmpi.b #3,($FFFFFE10).w ; is level SLZ ?
beq.s loc_13926 ; if yes, branch

на следующую:

cmpi.b #2,($FFFFFE10).w ; is level MZ ?
beq.s loc_13926 ; if yes, branch

В итоге петли в Марбле заработали.Но перестали работать в Стар Лайте.Что было немного предсказуемо...

Я не силён в АСМ-коддинге,но как мне всё же сделать рабочие петли хотя бы в трёх зонах вместо двух?

Sonic_Loops:				; XREF: Obj01_Control
		cmpi.b	#3,($FFFFFE10).w ; is level SLZ	?
		beq.s	loc_13926	; if yes, branch
		cmpi.b	#2,($FFFFFE10).w
		beq		loc_13926
		tst.b	($FFFFFE10).w	; is level GHZ ?
		bne.w	locret_139C2	; if not, branch

Держи! Здесь всё должно работать. Все три зоны! (Опоздал) :D )

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

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


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

Поверь, строчки из кода сами не удалятся! Попробуй снова! Если в компиляторе есть ошибки, пиши какие.

Я нашёл S1HS перестала компилировать файл. после компиляции и сохранения файл sonicbuild становится в 1 кб. в файле написано вот что : яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. 

как исправить компилятор???

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


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

Я нашёл S1HS перестала компилировать файл. после компиляции и сохранения файл sonicbuild становится в 1 кб. в файле написано вот что : яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. 

как исправить компилятор???

Ошибок точно нет? sonic1.asm цел? build.bat цел?

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


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

Ошибок точно нет? sonic1.asm цел? build.bat цел?

1.скорей всего есть...

2.да, если я не напортачил там.

3.а как это проверить ???

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


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

1.скорей всего есть...

2.да, если я не напортачил там.

3.а как это проверить ???

1. Если есть, то их надо обязательно указывать!

2. Этот пункт можно проверить так: возьми и открой sonic1.asm. Если там есть код игры, то всё нормально, если там что-то другое (странной кодировки), то всё плохо

3. Ты можешь просто взять и скачать по новой этот файл!

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


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

Я понял одно.

компилятор просто не находит файлы

31412412.png?_subject_uid=272974414&w=AA

.

Как сделать так чтобы компилятор обнаруживал файлы в SourceCode.

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


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

Ребят, это всё можно и в личку перенести.

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


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

 

 

Ребят, это всё можно и в личку перенести.
[offtop] Они просто забыли о ней! [/offtop]

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


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

Как портировать чанки из Casino Night в Spring Yard?

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


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

Легче уж самому нарисовать.

  • Лайк 2

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


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

 

 

Как портировать чанки из Casino Night в Spring Yard?
Это трудно, ведь в Sonic 2 чанк - 128х128. А в Sonic 1 чанк - 256х256.

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


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

Вопрос: Накосячил с петлями, испортил твёрдость и теперь Соник не хочет выходить из неё. Как исправить?

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


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

Вопрос: Накосячил с петлями, испортил твёрдость и теперь Соник не хочет выходить из неё. Как исправить?

В какой программе ты редактируешь уровни?

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


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

В какой программе ты редактируешь уровни?

 

В S1LE. Я конечно пытался изменить твёрдость через оригинальный уровень, но не выходило.

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

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


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

В S1LE. Я конечно пытался изменить твёрдость через оригинальный уровень, но не выходило.

Вот твёрдость оригинальных петель.Слева - 35 чанк,основной.Справа - 36,дополнительный чанк на который "переключается" Соник как только достигает самой верхней точки петли.

Чёрные блоки - твёрдые со всех сторон.Слабо затемнённые - те что твёрдые только сверху.

А вообще ты можешь скачать чистый исходник,поставить туда S1LE и сделать такую же твёрдость своим петлям как в оригинале,просто сравнив их.

34cfdad67422t.jpg

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


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

Вот твёрдость оригинальных петель.Слева - 35 чанк,основной.Справа - 36,дополнительный чанк на который "переключается" Соник как только достигает самой верхней точки петли.

Чёрные блоки - твёрдые со всех сторон.Слабо затемнённые - те что твёрдые только сверху.

А вообще ты можешь скачать чистый исходник,поставить туда S1LE и сделать такую же твёрдость своим петлям как в оригинале,просто сравнив их.

34cfdad67422t.jpg

 

У меня не вышло. Может это надо в коде что то менять?

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


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

У меня не вышло. Может это надо в коде что то менять?

В коде не надо ничего менять.

А вообще можешь просто попробовать взять в чистом исходнике в папке "collide" файл "GHZ" и заменить его в своем проекте на оригинальный.

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


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

В коде не надо ничего менять.

А вообще можешь просто попробовать взять в чистом исходнике в папке "collide" файл "GHZ" и заменить его в своем проекте на оригинальный.

 

Всё ещё не работает. Чёрт, может вам сразу хак показать? Если да, то вот:

 

Архив WinRAR.rar

 

Исправил.

 

Вот ещё вопрос который я уже задовал:Когда менял палитру Marble Zone столкнулся с проблемой. У объектов, которые связаны с палитрой блоков остались старые тайлы, потом посмотрел на на них в SonMapEd'е, пытался исправить, потом объекты стали прозрачными:post-14222-0-63511100-1401557162.png

 

Как исправить?

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

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


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

Всё ещё не работает. Чёрт, может вам сразу хак показать? Если да, то вот:

 

attachicon.gifАрхив WinRAR.rar

 

Исправил.

 

Вот ещё вопрос который я уже задовал:Когда менял палитру Marble Zone столкнулся с проблемой. У объектов, которые связаны с палитрой блоков остались старые тайлы, потом посмотрел на на них в SonMapEd'е, пытался исправить, потом объекты стали прозрачными:post-14222-0-63511100-1401557162.png

 

Как исправить?

Ну перерисуй тайлы объекта, в чем проблема?

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


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

Ну перерисуй тайлы объекта, в чем проблема?

 

Пытался, не вышло t:|. Он делает всё остальное прозрачным. 

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


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

Что всё остальное?

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


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

Что всё остальное?

 

Первый квадрат из четырёх тайлов стал прозрачным, а из-за этого и почти вся зона.

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


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

Первый квадрат из четырёх тайлов стал прозрачным, а из-за этого и почти вся зона.

SonMapED любит делать всё белое прозрачным. Для нормального редактирования тайлов бери S1LE и не парься больше фигнёй. 

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


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

SonMapED любит делать всё белое прозрачным. Для нормального редактирования тайлов бери S1LE и не парься больше фигнёй. 

 

Это тайлы объекта! Мне нужно его исправить. S1LE не умеет редактировать тайлы объектов.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

×