S1 Hacking Studio — программа для создания хаков игры Sonic the Hedgehog 1. Хаки создаются на основе дизассемблированного кода оригинальной игры (дизасембла). Программа позволяет изменять некоторые компоненты игры через свой интерфейс и применяет изменения, редактируя файлы или код в дизасембле. S1 Hacking Studio включает в себя несколько редакторов и утилит, которые также редактируют игру, изменяя файлы в дизасембле. После редактирования дизасембле игры, ее можно откомпилировать в РОМ и запустить в эмуляторе.
Программы, входящие в состав S1HS
SonED 2 v.1.03 — многофункциональный редактор уровней, их арта, палитр и многого другого.
SonMapEd v.1.05 — редактор спрайтов игры.
S1HS: Creditor v.1.0 — редактор экранов "SONIC TEAM PRESENTS" и Credits.
S1HS: Porter v.2.0 — небольшая утилита, позволяющая портировать данные из РОМов.
Дизасембл S1 Hacking Studio
Дизасембл в S1 Hacking Studio основан на Hivebrain's 2005 Disassembly. Он был частично отредактирован для того, чтобы программа могла изменять некоторые его компоненты. Помимо этого, во второй версии S1HS, дизасембл усовершенствовался новыми макросами, добавлено много новых комментариев, множество лейбелов были названы смысловыми именами.
Установка и настройка программы
Распакуйте программу из архива.
Перед работой с S1 Hacking Studio желательно сразу настроить путь к РОМу, в который будет компилироваться ваш хак. Для этого запустите S1HS и зайдите во вкладку Компиляция, в поле "Путь к РОМу" нажмите "Обзор..." и задайте путь и имя для будущего РОМа. Будьте осторожны, если такой РОМ уже существует, он будет безжалостно переписан.
Когда вы настроили путь к РОМу, нажмите в программе Сохранить, затем Компиляция. Появится окно компилятора. Если все прошло успешно, то в окне среди прочего текста вы увидите:
Assembly completed.
0 error(s) from XXXXX lines in X.XX seconds
Затем проверьте, что в указанном вами пути появился РОМ с заданным именем. При запуске РОМа в эмуляторе вы получите Соник 1, почти полностью похожий на оригинальный.
Нововведения в S1 Hacking Studio 2
- Дизасембл в S1HS был существенно переработан, его устройство претерпело некоторые изменения.
Если раньше весь изменяемый код был выделен в отдельные файлы и включался в sonic1.asm директивой include, то теперь конфигурация хака описывается в одном файле config.asm, а в sonic1.asm с помощью директив if указывается, какой код использовать в зависимости от конфигурации.
Помимо этого, дизасембл был усовершенствован, о чем уже упоминалось выше.
- S1 Hacking Studio стала намного гибче, теперь можно некоторые возможности можно отключать. Например, Твикинг и изменение названий зон. Это полезно в случае, если вы хотите редактировать их вручную.
- Усовершенствована вкладка Твикинг. Добавлена возможность убирать Spike Bug, Speed Cap и включать в игре режим отладки. Также теперь можно настраивать количество жизней для каждого отдельного босса, и отключать замену арта, если вы хотите перерисовать его самостоятельно. Jump Dash стал намного лучше.
- Добавлена возможность изменять порядок уровней.
- Во вкладку Музыка добавлен Менеджер песен, теперь можно добавлять собственные группы музыки и песни в них, после чего ставить эти песни в любые уровни игры.
- Усовершенствован редактор меню Выбора уровней, теперь он может редактировать строки "SPECIAL STAGE" и "SOUND TEST".
- Во вкладку Тексты > Названия зон добавлена возможность изменять текст "SONIC HAS PASSED", а также показывать номер акта для FINAL ZONE и скрывать его для SONIC HAS PASSED.
Все тексты названий зон теперь бережно выравниваются по центру экрана:

Пример длинного имени в MZ, слева хак от S1HS1, справа — от S1HS2.
- В пакет программ S1 Hacking Studio добавились SonMapEd, Creditor и более новая версия SonED2. Обновилась утилита Porter.
- Множество мелких дополнений.
Исправленые баги
- Решена проблема с длинными путями к компилятору, теперь программа использует обновленный компилятор, исправленный Nemesis'ом, который поддерживает работу с длинными путями.
- Исправлена серьезная ошибка с конфигурацией файлов проектов Labyrinth Zone в SonED2. Из-за ошибки после редактирования любого уровня LZ, сбивалась подводная палитра и коллизии во всей игре. Также исправлен проект SBZ3, добавлена поддержка подводной палитры.
- Исправлена проблема с артом GHZ, в старых версиях программы изменения арта GHZ в SonED2 никак не отображались в игре.
- Исправлен баг с редактором меню выбора уровней, приводивший к падению S1HS.
- Исправлен баг в исходном коде, из-за которого не воспроизводилась мелодия $9F в меню выбора уровней.
- Исправлено множество мелких багов.
Бета-тестеры
- Jet (aka Lomaster)
- MAXXX-309
Копирайты
- S1 Hacking Studio program and design © by Vladikcomper, 2009-2010
- S1HS: Porter © Vladikcomper, 2009-2010
- S1HS: Creditor © Vladikcomper, 2010
- SonEd2 © Stealth, 2009
- SonMapEd © Xenowhirl, 2007
- Game's Disassembly is based on Sonic 1 Hivebrain's 2005 Disassembly