Перейти к содержимому

Мимо проходящий

Пользователи
  • Публикации

    18
  • Зарегистрирован

  • Посещение

Репутация

52 Хорошая репутация

3 подписчика

О Мимо проходящий

  • Звание
    Новичок
  • День рождения 01.11.1988

О себе

  • Пол
    Мужской

Посетители профиля

3 957 просмотров профиля
  1. Отредактируй Objects.cfg: в разделе [objects] произведи замены: 11=[%z,0:"11"] на 11=[%z,0:"11",2:"11"] 50=[%z,4:"50"] на 50=[%z,4:"50",2:"50"]
  2. Теоретически мост с шестнадцатью брёвнами можно получить, присвоив объекту подтип $10 (16). Но в S1LE для считывания и редактирования длины моста используются только первые четыре бита подтипа. Открой файл Objects.cfg и перейди к объекту 11. Замени все "%b0123" на "%b01234". Это задействует пятый бит, что позволит увеличить максимальную длину моста с 15 до 31 (в действительности -- до 16, т.к. более длинные мосты генерируются игрой с ошибками).
  3. Price5115, у тебя изменены третий и четвёртый тайлы, а также с седьмого по десятый. В S1LE приблизься до любого тайла, кнопками Z/X поменяй номер на 003, приблизься до точек и отредактируй.
  4. Попробуй тогда удалить код проверки зоны, первые 5 строк той же самой процедуры. В итоге должно стать так: Sonic_Loops: move.w $C(a0),d0 lsr.w #1,d0 andi.w #$380,d0 move.b 8(a0),d1 и т.д...
  5. 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.
  6. Almaz, ты не понял, сеговский процессор не занимается поворотом спрайтов. Спрайты уже сгенерированы и находятся внутри РОМа. Motorola 68K просто подгружает их из РОМа по мере необходимости. Хотя твоя идея хороша. Вначале я так и планировал – каждый кадр поворачивать Соника на определённый угол при помощи подпрограммы – но потом, прикинув, сколько вычислительных операций придётся делать процессору, отказался от этой затеи.
  7. Всем известно, что SonED 2, входящий в комплект S1HS, не совсем удобен в работе, а в некоторых случаях даже даёт сбои. Посему предлагаю вам свою альтернативу. S1LE (Sonic 1 Level Editor) - многофункциональный редактор уровней для игры Sonic The Hedgehog (Sega Genesis). Несомненные плюсы редактора: • интуитивный минимизированный интерфейс • полноценный зуминг • отражение изменений в режиме реального времени • поддержка горячих клавиш • запуск уровня в эмуляторе одним нажатием клавиши Программа позволяет: • редактировать чанки, блоки и тайлы (в том числе циклические) • осуществлять расстановку объектов и Соника на уровне • расширять границы камеры и устанавливать уровень воды • редактировать специальные этапы Некоторые известные минусы: S1LE.rar Как установить сиё чудо. Просто кидаете папку S1LE в папку S1HS. Внимание! Лучше устанавливать содержимое поверх ЧИСТОЙ копии S1HS. Продукт распространяется по принципу "как есть", поэтому я не несу ответственности за порчу или потерю любых ваших данных. Надеюсь, моя программа окажется полезной.
  8. Как известно, Соник в режиме бега или ходьбы может поворачиваться на углы в 0, 45, 90 и 135 градусов. Мне стало любопытно: что, если увеличить количество углов наклона в несколько раз, добавив промежуточные? Для этого я написал специальную программу, которая загружает спрайты горизонтального бега/ходьбы и поворачивает их на углы, кратные 11,25º. Каждое полученное изображение разбивается на тайлы, последние сохраняются в файл. Одновременно с этим генерируются нужные маппинги и dplc. Наглядная демонстрация работы программы: Результат: Соник стал поворачиваться более плавно на подъёмах, спусках и петлях. Особенно эффект заметен на холмах зоны Marble Zone. Интересно также смотрится, как Соник пытается в воздухе вернуться в вертикальное положение, будучи в горизонтальном. Для этого в первом акте Spring Yard Zone ударьтесь о первую пружину. s1smtd.rar
  9. Всему виной колючка с подтипом $13 (обведена окружностью). Замени на $10. Но это ещё не всё: глубоко внизу, за пределами карты уровня, находится ещё одна такая же колючка. SonED'ом её не достать, попробуй воспользоваться Hex-редактором. Рекомендую WinHex. Открой в нём файл "SourceCode\objpos\ghz3.bin", найди значение "0B9015403613", выдели и удали (кнопкой Delete).
  10. Мой хак. http://webfile.ru/6546352
  11. МП, мне понравилось, что ты довольно таки неплохо разбираешься в ASM, и возможно в самом железе SMD. Таким образом, ты меня заставил тебя уважать, как настоящего РОМхакера.

    1. alz610

      alz610

      Какой бред я написал...

  12. Интересно. Наверняка работа над просчётом динамически изменяющихся границ отняла немало времени. Чётко сделано.
  13. Закомментировать - значит поставить точку с запятой ПЕРЕД нужной командой. Вот так: bsr.w Sonic_Water То есть, теперь это не команда прыжка на Sonic_Water, а просто текст, который компилятор просто проигнорирует и не станет превращать в машинный код. Фактически, комментирование команды аналогично её удалению. А вот следующий код: bsr.w Sonic_Water ;not water in lz ничего не изменит. Комментарием считается текст, начинающийся с ";" и заканчивающийся последним символом строки. Первая часть строки, команда "bsr.w Sonic_Water", будет успешно обработана компилятором и переведена в машинный код, а вот вторая часть, следующая за точкой с запятой, проигнорируется.
  14. Открываешь 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 становится немного обрывистым; не знаю, с чем это связано, особо не углублялся в эту тему. Но эмпирически оптимальное решение можно всегда найти.
  15. Решение задачи с комодом:
  • Сейчас на странице   0 пользователей

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

×