![](https://secure.gravatar.com/avatar/ebd4ea148c73099810c57a139e7520e4?d=https://sonic-world.ru/forum/uploads/monthly_2017_08/59837edbbd649_.png.e8ccfa6607e77d59d0f737e415cd9725.png)
Мимо проходящий
Пользователи-
Публикации
18 -
Зарегистрирован
-
Посещение
Репутация
52 Хорошая репутацияО Мимо проходящий
-
Звание
Новичок
- День рождения 01.11.1988
О себе
-
Пол
Мужской
Посетители профиля
4 149 просмотров профиля
-
EddyTF подписался на Мимо проходящий
-
Мимо проходящий подписался на Other Story Company
-
Other Story Company подписался на Мимо проходящий
-
Отредактируй Objects.cfg: в разделе [objects] произведи замены: 11=[%z,0:"11"] на 11=[%z,0:"11",2:"11"] 50=[%z,4:"50"] на 50=[%z,4:"50",2:"50"]
-
Теоретически мост с шестнадцатью брёвнами можно получить, присвоив объекту подтип $10 (16). Но в S1LE для считывания и редактирования длины моста используются только первые четыре бита подтипа. Открой файл Objects.cfg и перейди к объекту 11. Замени все "%b0123" на "%b01234". Это задействует пятый бит, что позволит увеличить максимальную длину моста с 15 до 31 (в действительности -- до 16, т.к. более длинные мосты генерируются игрой с ошибками).
-
Price5115, у тебя изменены третий и четвёртый тайлы, а также с седьмого по десятый. В S1LE приблизься до любого тайла, кнопками Z/X поменяй номер на 003, приблизься до точек и отредактируй.
-
Попробуй тогда удалить код проверки зоны, первые 5 строк той же самой процедуры. В итоге должно стать так: Sonic_Loops: move.w $C(a0),d0 lsr.w #1,d0 andi.w #$380,d0 move.b 8(a0),d1 и т.д...
-
Dr_Robotnik, к сожалению, программа не работает с файлом SourceCode\misc\loopnums.bin. Тебе придётся отредактировать его вручную. Открой файл любым Hex-редактором. Первые четыре байта отвечают за зону GHZ, вторые четыре - за LZ, третьи четыре - за MZ, и т. д. Структура этих байтов такова: первые два - это номера чанков с петлями, вторые два - номера чанков с туннелями. Например, для первой зоны значения байтов: B5 7F 1F 20 B5 - это 35 чанк (надо отнять 80). При прохождении по 35 чанку вниз головой, этот чанк меняется на СЛЕДУЮЩИЙ, 36-ой, такой же, как 35-ый, только с другими коллизиями. 7F - второй чанк с петлёй не задан. 1F - номер первого чанка с туннелем. 20 - номер второго чанка с туннелем. Кроме того, чтобы добавить петлю в Marble Zone, придётся внести изменения в исходный код. Открой sonic1.asm, перейди к процедуре Sonic_Loops: и добавь в её начало следующее: cmpi.b #2,($FFFFFE10).w ; is level MZ ? beq.s loc_13926 ; if yes, branch Теперь, помимо GHZ и SLZ, на петли и туннели будет проверяться и MZ.
-
Almaz, ты не понял, сеговский процессор не занимается поворотом спрайтов. Спрайты уже сгенерированы и находятся внутри РОМа. Motorola 68K просто подгружает их из РОМа по мере необходимости. Хотя твоя идея хороша. Вначале я так и планировал – каждый кадр поворачивать Соника на определённый угол при помощи подпрограммы – но потом, прикинув, сколько вычислительных операций придётся делать процессору, отказался от этой затеи.
-
Всем известно, что SonED 2, входящий в комплект S1HS, не совсем удобен в работе, а в некоторых случаях даже даёт сбои. Посему предлагаю вам свою альтернативу. S1LE (Sonic 1 Level Editor) - многофункциональный редактор уровней для игры Sonic The Hedgehog (Sega Genesis). Несомненные плюсы редактора: • интуитивный минимизированный интерфейс • полноценный зуминг • отражение изменений в режиме реального времени • поддержка горячих клавиш • запуск уровня в эмуляторе одним нажатием клавиши Программа позволяет: • редактировать чанки, блоки и тайлы (в том числе циклические) • осуществлять расстановку объектов и Соника на уровне • расширять границы камеры и устанавливать уровень воды • редактировать специальные этапы Некоторые известные минусы: S1LE.rar Как установить сиё чудо. Просто кидаете папку S1LE в папку S1HS. Внимание! Лучше устанавливать содержимое поверх ЧИСТОЙ копии S1HS. Продукт распространяется по принципу "как есть", поэтому я не несу ответственности за порчу или потерю любых ваших данных. Надеюсь, моя программа окажется полезной.
-
Как известно, Соник в режиме бега или ходьбы может поворачиваться на углы в 0, 45, 90 и 135 градусов. Мне стало любопытно: что, если увеличить количество углов наклона в несколько раз, добавив промежуточные? Для этого я написал специальную программу, которая загружает спрайты горизонтального бега/ходьбы и поворачивает их на углы, кратные 11,25º. Каждое полученное изображение разбивается на тайлы, последние сохраняются в файл. Одновременно с этим генерируются нужные маппинги и dplc. Наглядная демонстрация работы программы: Результат: Соник стал поворачиваться более плавно на подъёмах, спусках и петлях. Особенно эффект заметен на холмах зоны Marble Zone. Интересно также смотрится, как Соник пытается в воздухе вернуться в вертикальное положение, будучи в горизонтальном. Для этого в первом акте Spring Yard Zone ударьтесь о первую пружину. s1smtd.rar
-
Всему виной колючка с подтипом $13 (обведена окружностью). Замени на $10. Но это ещё не всё: глубоко внизу, за пределами карты уровня, находится ещё одна такая же колючка. SonED'ом её не достать, попробуй воспользоваться Hex-редактором. Рекомендую WinHex. Открой в нём файл "SourceCode\objpos\ghz3.bin", найди значение "0B9015403613", выдели и удали (кнопкой Delete).
-
Мой хак. http://webfile.ru/6546352
-
МП, мне понравилось, что ты довольно таки неплохо разбираешься в ASM, и возможно в самом железе SMD. Таким образом, ты меня заставил тебя уважать, как настоящего РОМхакера.
-
alz610 подписался на Мимо проходящий
-
Мимо проходящий подписался на alz610
-
Интересно. Наверняка работа над просчётом динамически изменяющихся границ отняла немало времени. Чётко сделано.
-
Закомментировать - значит поставить точку с запятой ПЕРЕД нужной командой. Вот так: bsr.w Sonic_Water То есть, теперь это не команда прыжка на Sonic_Water, а просто текст, который компилятор просто проигнорирует и не станет превращать в машинный код. Фактически, комментирование команды аналогично её удалению. А вот следующий код: bsr.w Sonic_Water ;not water in lz ничего не изменит. Комментарием считается текст, начинающийся с ";" и заканчивающийся последним символом строки. Первая часть строки, команда "bsr.w Sonic_Water", будет успешно обработана компилятором и переведена в машинный код, а вот вторая часть, следующая за точкой с запятой, проигнорируется.
-
Открываешь sonic.asm в блокноте, ставишь курсор в начало документа, нажимаешь Ctrl+F, вписываешь "#1,($FFFFFE10).w" в поисковую строку, жмёшь "найти далее". Поисковик перенесёт курсор на инструкцию "cmpi.b #1,($FFFFFE10).w". После неё идёт что-то вроде "bne.s XXX" или "bne.w XXX", где bne - условный переход по ссылке XXX в случае, если уровень не LZ. Меняешь bne.w на jmp. Продолжаешь поиск и проделываешь всё то же самое ещё 7 раз (всего 8 раз). Дальше поиск продолжится в разделе "объекты", его не трогаем. Последнее: переходишь по ссылке "loc_12C7E:" и комментируешь команду "bsr.w Sonic_Water", поставив перед ней точку с запятой. Готово. Воды нет. Правда, движение на уровне LZ становится немного обрывистым; не знаю, с чем это связано, особо не углублялся в эту тему. Но эмпирически оптимальное решение можно всегда найти.
-
Решение задачи с комодом:
-
Сейчас на странице 0 пользователей
Нет пользователей, просматривающих эту страницу