Перейти к содержимому
Форум sonic-world.ru
DeidaraNT

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

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

У меня два вопроса:

1.Как в SonEd можно добавить новые чанки?(а то мне не хватает)

2.Как в асм сделать чтобы остановаилась музыка?

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


Ссылка на сообщение
2.Как в асм сделать чтобы остановаилась музыка?

Вбей в поиск по дизассемблу Stop music =)

Гид по фиксу левел селкта в норме, я сам по нему все делал

Ну хз, значит это я накосячил 5(

Кстати, в меню левел селекта соник 2 перепутаны Star Light и Spring Yard 8)

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


Ссылка на сообщение
После изменения палитры с помощью SonED 2 в Labyrinth zone, на всех уровнях получается "эффект ветра" - соник с трудом идёт вправо, но легко идёт влево. Если прыгнуть на месте, то соника "сдует ветром".

Никак не могу решить эту проблему.

Хех, знакомый глюк.

 

"Эффект ветра" - интересное название, но на самом деле он происходит из-за порчи файлов в папке collide, в результате игра считает ровные поверхности наклонными, поэтому Сонику трудно разогнаться, а при прыжке его отбрасывает назад. Так что тут дело сугубо в коллизиях =)

 

Исправить это просто - достаточно заменить файлы в папке collide, как сказал Look-Tops. Но, увы, при следующей правке лабиринта в SonEd'е файлы снова испортятся.

 

Этот глюк постоянно происходит в SonED'е из S1HS, связанно это с неверно настроенными файлами lz*.sep. Совсем недавно, после долгих поисков, я нашел решение проблеммы. Баг был очень коварным и незаметным. Вот часть кода из этих файлов:

 

Palettes-

Number of files: 2

 Palette 1-

  Start index:		0
  Number of entries: 16
  File:			  ..\SourceCode\pallet\sonic.bin

 Palette 2-

  Start index:	   16
  Number of entries: 48
  File:			  ..\SourceCode\pallet\lz.bin

 Palette 3-

  Start index:	   64
  Number of entries: 64
  File:			  ..\SourceCode\pallet\lz_uw.bin

 

При составлении кода файлов я допустил огромную ошибку, написал "Number of files: 2", в то время как файлов палитр описано три. В результате, все сбивалось, SonEd2 погружал не те файлы и портил их содержимое.

 

Чтобы исправить ужасный баг, достаточно заменить "Number of files: 2" на "Number of files: 3" в lz1.sep, lz2.sep и lz3.sep (они лежат в папке с SonEd'ом)

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


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

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

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


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

Вообще, объект создается так:

	  bsr.w  SingleObjLoad
  bne.s  XXXXXX; переход, если загрузка не удалась

После этого адресс нового объекта будет загружен в a1. Тогда можно установить тип объекта, и, например, его координаты, скорость.

 

При этом объект будет создан всего один раз. Вероятно, у тебя объект создается многократно, потому что код, который его создает выполняется много раз. Где у тебя расположен код, создающий новый объект?

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


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

ну у меня вот так:

bsr.w SingleObjLoad

move.b #$X,0(a1) ; загрузить объект Х

move.w #$1550,8(a1) ;X координата

move.w #$100,$C(a1) ;Y координата

сделал так:

bsr.w SingleObjLoad

bne.w locret_XXXX; переход, если загрузка не удалась

move.b #$X,0(a1) ; загрузить объект Х

move.w #$1550,8(a1) ;X координата

move.w #$100,$C(a1) ;Y координата

Всё равно не работает и объект грузится много раз.

А до (bsr.w SingleObjLoad ) у меня условия при которых загружается объект.

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

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


Ссылка на сообщение
Всё равно не работает и объект грузится много раз.

А до (bsr.w SingleObjLoad ) у меня условия при которых загружается объект.

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

Самый простой способ профиксить это - сделать так:

		tst.b (xxxxx).w
	bne.s  SkipObjCreate
	move.b #1,(xxxxx).w
	<...>; твой код

SkipObjCreate:

 

Где xxxxx- используй свободный адрес памяти. Это как бы универсальный способ, если этот код, например, находится в коде какого-то объекта, было бы разумнее использовать счетчик роутин. Так что многое зависит от того, где расположен твой код.

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

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


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

Плз подскажите что делать?Я отредактировал маппинги в сонмапеде.Компилю.Выдает два безумных бранча.Look-Tops (Cool-spot) сказал нужно все названия в маппингах поменять на оригинальные.Я поменял но всё равно выдает бранчи.Что делать?

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


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

Всем привет! Я с хитрым вопросом. Я "хакаю" 1 соника. Как сделать так, чтобы в 1 акте была одна палитра, а во 2 акте другая, и в 3 тоже другая. Как это осуществить? Пользуюсь прогой vladikcompera sonic 1 hacking studio. Ответьте плиз )

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


Ссылка на сообщение
Всем привет! Я с хитрым вопросом. Я "хакаю" 1 соника. Как сделать так, чтобы в 1 акте была одна палитра, а во 2 акте другая, и в 3 тоже другая. Как это осуществить? Пользуюсь прогой vladikcompera sonic 1 hacking studio. Ответьте плиз )

 

Не рановато-ли???Это слишком сложно. =)

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


Ссылка на сообщение
Всем привет! Я с хитрым вопросом. Я "хакаю" 1 соника. Как сделать так, чтобы в 1 акте была одна палитра, а во 2 акте другая, и в 3 тоже другая. Как это осуществить? Пользуюсь прогой vladikcompera sonic 1 hacking studio. Ответьте плиз )

лол, что то ты загнул, вынь да положь

Может тебе еще на блюдечке дать код, чтобы в одном и том же акте палитра разная была как в С2Лонг???

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


Ссылка на сообщение
Плз подскажите что делать?Я отредактировал маппинги в сонмапеде.Компилю.Выдает два безумных бранча.Look-Tops (Cool-spot) сказал нужно все названия в маппингах поменять на оригинальные.Я поменял но всё равно выдает бранчи.Что делать?

Что за ошибка? Если это Branch offset out of range, то нужно пойти к строчке, на которой произошла ошибка и заменить:

b**.s на b**.w

bra.w на jmp

bsr.w на jsr

 

Менять названия в Маппингах на оригинальные имеет смысл, если ты вытащил из sonic1.asm маппинги таких объектов, как Sonic Has Passed, Title Cards или Special Stage (Chaos Emerald) и отредактировал их в СонМапЭде.

 

Всем привет! Я с хитрым вопросом. Я "хакаю" 1 соника. Как сделать так, чтобы в 1 акте была одна палитра, а во 2 акте другая, и в 3 тоже другая. Как это осуществить? Пользуюсь прогой vladikcompera sonic 1 hacking studio. Ответьте плиз )

Несколько месяцев назад я написал по этому делу небольшой гид. Он не очень-то совершенен, но максимально прост и понятен. Поищи его в темке "Ваши хаки", он в одном из моих постов, если ты сильно хочешь разнообразные палитры, ты обязательно его найдешь =)

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


Ссылка на сообщение
Что за ошибка? Если это Branch offset out of range, то нужно пойти к строчке, на которой произошла ошибка и заменить:

b**.s на b**.w

bra.w на jmp

bsr.w на jsr

Менять названия в Маппингах на оригинальные имеет смысл, если ты вытащил из sonic1.asm маппинги таких объектов, как Sonic Has Passed, Title Cards или Special Stage (Chaos Emerald) и отредактировал их в СонМапЭде.

Branch (32782 bytes) is out of range

Branch (32772 bytes) is out of range

Вот что он мне выдает если поменять мапппигнги обратно все компилиться.Но будет илиган инструкшин.

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


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

LexPest, http://sonicresearch.org/tuts?tut=Sonic%20..._Palletes_in_S1

 

KameKAgZZe, перейди на строки, которые компилятор указывает ошибочными и замени:

b**.s на b**.w
bra.w на jmp
bsr.w на jsr

как сказал vladikcomper.

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


Ссылка на сообщение
KameKAgZZe, перейди на строки, которые компилятор указывает ошибочными и замени:

b**.s на b**.w
bra.w на jmp
bsr.w на jsr

как сказал vladikcomper.

В том то и дело что он не указывает строки.

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


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

Еще как указывает. Сделай скрин ошибки и я тебе строки в пеинте обведу sh:rolleyes:.

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


Ссылка на сообщение
Еще как указывает. Сделай скрин ошибки и я тебе строки в пеинте обведу sh:rolleyes:.

 

SN 68k version 2.53

 

C:\═ютр  яряър (2)\SOURCECODE\SONIC1.ASM(25786) : Error : Branch (32782 bytes) i

s out of range

C:\═ютр  яряър (2)\SOURCECODE\SONIC1.ASM(25788) : Error : Branch (32772 bytes) i

s out of range

 

Assembly completed.

2 error(s) from 51284 lines in 0.5 seconds

Lightning's ROM Padder

 

Reported Size: 0 Reported Checksum: 0

Size applied: 7F Checksum Applied: 0

Скопировано файлов: 1.

Для продолжения нажмите любую клавишу . . .

СКРИН НЕ МОГ ПРИСЛАТЬ НО ПРИСЛАЛ ВЕСЬ ТЕКСТ.

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

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


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

Жирным выделены номера строк.

C:\═ютр яряър (2)\SOURCECODE\SONIC1.ASM(25786) : Error : Branch (32782 bytes) i

s out of range

C:\═ютр яряър (2)\SOURCECODE\SONIC1.ASM(25788) : Error : Branch (32772 bytes) i

s out of range

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


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

Спасибо большое, vladikcomper и look-tops. Всё работает! Скоро выложу свой хак в теме "Ваши хаки"...

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


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

у меня вопрос

в сонеде есть файл формата bin. и нужно сделать его без формата

но я могу изменить только имя но не могу изменить тип файла как сделать его без формата

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


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

Во-первых, в сонеде никакие файлы менять не нужно. Во-вторых, чтобы менять разрешения, нужно убратьгалочку в Панели управления-Свойства папок - Вид - Скрывать разрешения для зарегестрированных типов файлов.

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


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

ПОМОГИТЕ, пожалуйста! :)

Где в асм идет загрузка первого этапа??

А то я хочу первый сделать не GHZ.

Заранее спасибо.

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


Ссылка на сообщение
ПОМОГИТЕ, пожалуйста! :)

Где в асм идет загрузка первого этапа??

А то я хочу первый сделать не GHZ.

Заранее спасибо.

Единственный случай когда я говорю эту фразу:

Юзай ESE II!!

Портером потом портируй порядок уровней

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


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

Там такая ситуация что ESE не поможет.

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


Ссылка на сообщение
Там такая ситуация что ESE не поможет.

Поподробнее плз

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

×