Перейти к содержимому
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 пользователей

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

×