User Tag List

Показано с 1 по 10 из 87

Тема: Дизассемблирование игры Batty

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,217
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    1,655
    Поблагодарили
    574 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, засел я конкретно за дизассемблер Batty. Вначале думал, что вот сейчас объединю кодовые блоки и выложу очередной вариант дизассемблера игры, потом ещё что-то, а потом ещё что-то и т.д. А в итоге продвинулся довольно серьёзно, просидев все выходные с утра до вечера. До анализа самого кода я пока ещё не добрался, но структура игры сейчас чётка видна. Графика и данные практически полностью разобраны. Для примера прикладываю все спрайты, которые есть в игре. Чтобы их получить, пришлось написать программу на Python. Это облегчило анализ таблиц графики. Есть ещё небольшой участок (его границы известны) с графикой, которая отвечает за отрисовку поля: обрамления и текстуры раунда.

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

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

    В начале игры то, что я изначально принял за декодирование блока, оказалось инверсией спрайтов (плюс ещё какие-то манипуляции с данными). Почему автор сразу не положил графику в нужном виде, а непосредственно перед запуском инвертирует её, совсем непонятно.

    Сейчас у меня есть листинг, который компилируется обратно в код на 100% совпадающий с исходным. Однако нельзя сказать, что дизассемблер полноценный, так как если изменить адрес компиляции, то игра перестаёт работать. Где-то есть таблицы и данные, которые пока не учтены.

    После каждой правки исходного текста я компилирую программу и обязательно сравниваю с эталонным кодом, чтобы убедиться, что я ничего не сломал и что получаемый код полностью соответствует оригиналу. Как только я достигну момента, что больше не буду знать, что делать дальше, я обязательно выложу результат.
    Вложения Вложения
    • Тип файла: zip batty.zip (16.0 Кб, Просмотров: 283)
    С уважением, Станислав.

    Эти 5 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Barmaley_m(28.06.2020), Evgeny Muchkin(14.06.2020), Oleg N. Cher(14.06.2020), troosh(16.06.2020)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Дизассемблирование спектрумовских игр
    от CityAceE в разделе Утилиты
    Ответов: 4
    Последнее: 13.04.2016, 09:44
  2. ранняя версия Batty
    от goodboy в разделе Игры
    Ответов: 18
    Последнее: 24.10.2009, 03:34
  3. World Shaker - игра от Michael Batty, но на PC
    от Shadow Maker в разделе Игры
    Ответов: 6
    Последнее: 01.01.2009, 22:43
  4. Batty
    от CityAceE в разделе Игры
    Ответов: 1
    Последнее: 14.03.2005, 05:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •