он витает в воздухе и у него нет хвостов на месте.
То, что объект не касается земли происходит из-за его неверных характеристик. Каждый объект имеет свой "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'е, значит ты загружаешь не то.