Автор Тема: [SMD] Sonic 1 hack  (Прочитано 16624 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
[SMD] Sonic 1 hack
« : 21 Июль 2011, 10:07:56 »
Делаю хак на 1 соника, хочу вставить своего персонажа (я эгоист х)) и для этого нужно сначала воткнуть спрайты Тейлза в игру.

К сожалению, Tails in Sonic 1 нормально не дизассемблируется, и вместо Тейлза извлекается каша, а мне его еще и на титульный экран как-то воткнуть надо. Кто занимался этим, помогите плиз.

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #1 : 21 Июль 2011, 10:13:59 »
http://asmtosegagenesis.forumeiros.com/t2-sonic-the-hedgehog-open-source-project-007 - тут есть спрайты и маппинги Тейлза. Только для корректной работы нужно будет обязательно вносить правки в коде.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #2 : 21 Июль 2011, 10:15:57 »
Спасибо. А где правки взять, скажи пожалуйса?

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #3 : 21 Июль 2011, 10:37:24 »
Зачем тебе вообще париться, вставлять Тейлза, а потом его заменять на кого-то. Не лучше ли сразу заменить Соника на твоего персонажа? Я делал подробный видео-гайд по замене спрайтов Соника, можешь посмотреть -


Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #4 : 21 Июль 2011, 10:54:11 »
можно вставить тейлза, а потом ещё одного, которого и переделать под нового перса.
тада и разнообразие будет

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #5 : 21 Июль 2011, 11:15:06 »
Добавлено позже:
можно вставить тейлза, а потом ещё одного, которого и переделать под нового перса.
тада и разнообразие будет

В смысле?
Ты имел ввиду типа в игре два перса?

Добавлено позже:
все таки смог вставить Тейлза вместе с маппингом из STHOSP, но получается все равно какая-то фигня при движении.
« Последнее редактирование: 21 Июль 2011, 11:34:08 от HayaoYokogawa »

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #6 : 21 Июль 2011, 11:38:01 »
Цитата
В смысле?
Ты имел ввиду типа в игре два перса?

Действительно, так будет лучше и разнообразнее. Я, кстати, как-то собирался написать статейку о портировании Тейлза из Open Source Project в Соник 1, но так и не собрался, но скажу одно - это не так-то просто. Помимо стандартных операций добавления нового персонажа нужно еще реализовать подгрузку хвостов Тейлза. Так что тебе, думаю пока стоит ограничиться заменой спрайтов Соника, а потом, как наберешься опыта в соник-хакинге, сможешь его портировать. Как вариант, можешь обратиться к админу asmtosegagenesis - OuricoDoido и попросить его помочь.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #7 : 21 Июль 2011, 11:44:46 »
да какой разнообразнее, мне бы еще с этим разобраться.

жаль блин.

Не в тему: насчет обращения к админу - не поможет он. и вообще не хочу с кем-то левым связываться, все время либо посылают, либо игнорируют, либо ржут. проверено уже на много раз и подтверждено недавно, когда я запарился искать способ запустить Sonic Robo Blast 2 на PSP, спросил везде, везде послали. Еле допер, как сделать.
Лучше на родном форуме спросить. Ну, не родном, но где поймут и уж точно не пошлют, а на самом деле помогут.

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #8 : 21 Июль 2011, 11:52:50 »
Ошибаешься, OuricoDoido мне очень хорошо помогал при разработке хака Sonic Night Trouble. Он-то действительно не пошлет.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #9 : 21 Июль 2011, 12:19:17 »
УРАААААА!!!  :wow: Вставил все таки Тейлза! Я вспомнил, что еще есть информация об анимации
заменил в Tails.asm переменные в соответствии с Sonic.asm и все встало на места  :wow:

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

Еще вопросы:
- насчет SCORE TIME RINGS - после доавления в тайлы и в маппинге буквы А, в игре почему то грузится вместо А - Е (которая лежит в artunc/hud.bin)
- ведь нету ничего зазорного в использовании Sonik Sprite? он очень удобен в плане редактирования спрайтов персонажа.

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

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #10 : 21 Июль 2011, 12:44:41 »
Цитата
Только теперь есть проблема с тайтл скрином.
У меня при загрузке стоит вместо соник тим представляет GAMEPLN надпись (проверял шрифт), спустя секунду в рандомных местах появляются тайлы и сам соник на тайтл скрине тоже отображается через одно место кненчо.

Из-за того, что не добавлен код для корректного подгружения хвостов Тейлза появляются эти графические глюки. Я потом, как у меня будет время, помогу тебе с этим.

Цитата
- насчет SCORE TIME RINGS - после доавления в тайлы и в маппинге буквы А, в игре почему то грузится вместо А - Е (которая лежит в artunc/hud.bin)

В каком смысле "добавление в тайлы"? Ты добавил в графику еще одну букву или перерисовал старую? В первом случае делать этого не следует, поскольку для HUD'а очень мало место в видеопамяти и из-за этого могут быть различные графические глитчи. Поможет только перерисовка старых элементов.

Цитата
- ведь нету ничего зазорного в использовании Sonik Sprite? он очень удобен в плане редактирования спрайтов персонажа.

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

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #11 : 22 Июль 2011, 06:22:37 »
- Насчет глюков с кодом - спасибо заранее, тогда пока не буду трогать вообще спрайты и код. Там еще кстати косяк обнаружился - когда (уже не) Тейлз бежит по наклонной вниз, то он будто бы совсем вниз бежит.
-насчет всего остального - все окей.

Добавлено позже:
ага, разбежался блин. Sonic Sprite показывает белиберду.  <_< придется где-нибудь в TLP редактировать спрайты.

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #12 : 22 Июль 2011, 06:47:50 »
В TLP редактировать спрайты Соника-мазохизм. Зачем я, спрашивается, выкладывал видео-гайд по замене спрайтов Соника? Экспортируй спрайты в .bmp и редактируй в любом графическом редакторе.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #13 : 22 Июль 2011, 10:17:26 »
Да я уж понял, я боялся, что фигово импортируется, а вроде все нормально пока что.

Добавлено позже:
Кстати, как быть с некоторыми спрайтами Тейлза, где у хвостов нет почему-то? Он если двигает - хвосты исчезают, если сттоит - тоже нету. Маппинги поправлять же надо, да?

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #14 : 22 Июль 2011, 10:54:20 »
Хвосты подгружаются отдельно от всех спрайтов Тейлза.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #15 : 22 Июль 2011, 11:03:24 »
ну в общем так дело обстоит

скрин (на хад внимания не обращай, я его обратно на английский поставлю, друггим шрифтом)

щас это уже мой персонаж (вопросы в духе "почему он фиолетовый и почему у него 3 глаза" в личку)

он витает в воздухе и у него нет хвостов на месте. я пока спрайты вставлял, заметил, что хвосты висят в маппинге, то есть на спрайтах хвосты идут отдельно. я думаю, что нужно добавить хвосты к стоячим позам, но они не будут двигаться  <_<
а насчет витает в воздухе, я думаю, что где-то нужно его сместиьть слегка вниз, только где?

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #16 : 22 Июль 2011, 11:08:21 »
я думаю, что нужно добавить хвосты к стоячим позам, но они не будут двигаться  <_<
почему не будут?
там анимацию переделать, как в лужу пернуть(:D)

имхо, твой перс - какашка :D (без обид)
цвет ему поменяй, причу и 2 глаза сделай обратно.
так будет уже что-то ^_^. ИМХО

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #17 : 22 Июль 2011, 11:22:02 »
С хвостами, как я тебе уже сказал, нужно в коде копаться. А на счет висит в воздухе, его маппинги надо немного сдвинуть вниз (выдели спрайт и нажми несколько раз Shift+Down), впрочем я это уже сделал за тебя в своем хаке, но в моих маппингах не исключены глюки. Сейчас кину тебе файлики в ЛС.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #18 : 22 Июль 2011, 12:18:42 »
почему не будут?
там анимацию переделать, как в лужу пернуть(:D)

имхо, твой перс - какашка :D (без обид)
цвет ему поменяй, причу и 2 глаза сделай обратно.
так будет уже что-то ^_^. ИМХО

Я ж сказал - в личку по персонажу  :lol: И потом, 3 глаза - это фича  ;)

Спасибо, Cool-Spot :)
я думал, если сдвинуть маппинги, то ничего не выйдет.

а по поводу кода, я это хотел объяснить Segaman, но опоздал с ответом. Можно, думаю, покопаться в Tails in Sonic 1, если он нормально сдизассемблится  <_<



Добавлено позже:
Смотрю на sonicretro - 34 Title card mapping
В дизассемблах этого файла вообще нет, равно как и End of the level results screen  <_<

Добавлено позже:
исправил косяк с titleson.bin - там почему-то был спрайт соника из S3d  o_0
Попробую щас сделать свой маппинг и тайлы на тайтлскрин

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #19 : 22 Июль 2011, 12:32:01 »
Цитата
Смотрю на sonicretro - 34 Title card mapping
В дизассемблах этого файла вообще нет, равно как и End of the level results screen 

Там походу гайд по SVN-версии дизассембла. Маппинги можешь искать поиском по sonic1.asm, вводишь ключевое слово, ищешь и запоминаешь номер объекта.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #20 : 22 Июль 2011, 12:53:15 »
Цитата
; Vladikcomper: this data was moved to BIN-files, which are updated by S1HS
Obj34_ConData:   incbin   "mapbin\ttlcards_cfg_0.bin"
      incbin   "mapbin\ttlcards_cfg_1.bin"
      incbin   "mapbin\ttlcards_cfg_2.bin"
      incbin   "mapbin\ttlcards_cfg_3.bin"
      incbin   "mapbin\ttlcards_cfg_4.bin"
      incbin   "mapbin\ttlcards_cfg_5.bin"
      incbin   "mapbin\ttlcards_cfg_6.bin"

Блин, а я искал  :lol:

Добавлено позже:
и еще не открывается блин.

Добавлено позже:
Все, что мне надо, нашел. Теперь это надо из Эниггмы превратить в нормальный формат, исправить, и обратно сунуть.

Добавлено позже:
не получилось.

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #21 : 22 Июль 2011, 13:07:11 »
А что тебе именно нужно?

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #22 : 22 Июль 2011, 13:08:07 »
Надо бы маппинги как-то извлечь, или нужно найти *.sep проект  для SonED, чтобы картинку свою поставить. Я анимацию в тайтл скрин вообще убрать хочу.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #23 : 22 Июль 2011, 19:06:43 »
Надо бы маппинги как-то извлечь, или нужно найти *.sep проект  для SonED, чтобы картинку свою поставить. Я анимацию в тайтл скрин вообще убрать хочу.
найди в коде title screen есть вызов титульного соника.
найди этот обьект, найди его анимацию и в ней убери изменение спрайта.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #24 : 22 Июль 2011, 21:11:01 »
Я не нашел такого файла под тайтл скрин.
« Последнее редактирование: 22 Июль 2011, 21:13:50 от HayaoYokogawa »

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #25 : 23 Июль 2011, 06:49:56 »
Значит так, графа Соника на тайтл скрине - artnem/titleson.bin, мапсы - _maps/obj0E.asm, анимация соответственно - _anim/obj0E.asm.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #26 : 23 Июль 2011, 09:07:34 »
Да это я знал, мне нужен не сам Соник, а нужна "рамка", из которой он "вылазит".

То есть маппинги. Еще бы поправить маппинги "SONIC HAS PASSED", но я понятия не имею, как. Они в Энигма компрессии и если их расдекомпрессить, то SonMapEd выдает какую-то хрень, а не маппинг.
« Последнее редактирование: 23 Июль 2011, 09:09:57 от HayaoYokogawa »

Оффлайн Teffycom

  • Пользователь
  • Сообщений: 1701
  • Пол: Мужской
  • Ex-Cool-Spot
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #27 : 23 Июль 2011, 12:00:50 »
Цитата
Да это я знал, мне нужен не сам Соник, а нужна "рамка", из которой он "вылазит".

К сожалению у рамки, о которой ты говоришь, так называемые "плановые" маппинги. Их не отредактируешь сонмапэдом, даже если декомпрессируешь - это да. Редактировать плановые маппинги умеет программа PlaneEd, но работать в ней сложно и неудобно - нужно вручную создавать проект и т.д. В общем, лучше забей на это дело.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2051
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #28 : 23 Июль 2011, 13:11:37 »
А если я рисунок сделаю, поможете переделать плиз? ^^

Оффлайн vladikcomper

  • Пользователь
  • Сообщений: 57
  • Пол: Мужской
    • Просмотр профиля
Re: [SMD] Sonic 1 hack
« Ответ #29 : 23 Июль 2011, 14:05:34 »
Цитата
он витает в воздухе и у него нет хвостов на месте.
То, что объект не касается земли происходит из-за его неверных характеристик. Каждый объект имеет свой "hitbox", условную прямоугольную область, которая задается горизонтальным и вертикальным радиусами. Для границ этой области и просчитываются столкновения, взаимодействие с полом/стенами. Тейлз ниже Соника, и хитбокс и него меньше. А поскольку у твоего объекта остаются все характиристики Соника (ты только заменил спрайт), отсюда и недоставание до пола.

За высоту объекта отвечает байт $16 его структуры. Подробнее про структуры объектов можно прочитать здесь: http://vladikcomper.narod.ru/sonic_reference_view.htm?2
Поищи в самом начале кода Obj01 команду move.b #$13,$16(a0) и измени $13 на $F (это значение я называю по памяти, если не подойдет, попробуй сделать его больше/меньше или посмотреть в Соник 2). Помимо этого, тебе придется найти и заменить такую же команду еще в нескольких местах - значение высоты заново задается после прыжка и спина.

За хвосты отвечает отдельный объект. Зачем? Это сэкономит на количестве спрайтов для самого Тейлза, к тому же у хвостов есть своя физика - например, они меняют свой угол наклона в прыжке, а в Соник 3 хвосты при полете еще и могут нанести урон врагу.
Если хочешь добавить хвосты, придется портировать Obj05 из Соник 2.

Цитата
Все, что мне надо, нашел. Теперь это надо из Эниггмы превратить в нормальный формат, исправить, и обратно сунуть.

Боже, сколько заблуждений по маппингам. Сейчас постараюсь все расставить по своим местам.

То, что ты нашел - Obj34_ConData, вообще не то, что тебе нужно. Это не маппинги, а массив положений Тайтл кардсов на экране.
Все спрайтовые маппинги (если они есть), находятся по лейбелу с названием Map_ObjXX (кроме Соника - Map_Sonic). Нужны маппинги объекта 34? Ищи Map_Obj34.

Но должен предупредить - маппинги Тайтл Кардсов (Obj34), Sonic Has Passed (Obj3A) и Special Stage results (Obj7E) сложны для редактирования в SonMapEd. Дело в том, что в поинтерах (список в самом начале с dc.w, указывает на оффсет маппингов каждого отдельного спрайта) поинтер на спрайт синего овала ссылается на одно и тоже место. То есть, все эти объекты берут спрайт овала из одного места - byte_CB47, что находится внутри Map_Obj34. Если ты вытащищь маппинги Obj7E и Obj3A в отдельный файл, SonMapEd просто не поймет, откуда брать маппинги этого овала. С тайтл кардсами (Obj34) он разберется, но тут поджидает другая беда - при сохранении SonMapEd любит заменять имена всех лейбелов на свои, рандомные. Так что byte_CB47, на который ссылаются другие объекты, станет каким-нибудь SME_c7mzL_192.

Добавлено позже:
То есть маппинги. Еще бы поправить маппинги "SONIC HAS PASSED", но я понятия не имею, как. Они в Энигма компрессии и если их расдекомпрессить, то SonMapEd выдает какую-то хрень, а не маппинг.
Спрайтовые маппинги всегда несжатые. Если они не открываются в SonMapEd'е, значит ты загружаешь не то.