Разработка и ромхакинг > Редакторы для консольных игр
[SMD] Operation Europe - Path to Victory (1939-1945) редактор состояний, патчи
KDE:
С Новым Годом, товарищи!
Редактор сохранённых состояний игры и частично сценариев ROM. Написан в Microsoft Excel 2003 + VBA (макросы).
Буду обновлять по мере доработки. Тема родилась из основной темы по игре: http://www.emu-land.net/forum/index.php/topic,27971.new.html#new
Настройки системы и Microsoft Office для комфортного запуска:
* Разрешение экрана 1280*1024 или больше
* Excel 2003
* Меню Сервис
* Пункт Параметры
* Вкладка Безопасность
* Кнопка Безопасность макросов
* Выбор пункта Средняя (решение о запуске потенциально опасных макросов принимается пользователем)Возможности:
* Любая дата и время, год=1940...2195 :), ограничения даты от начала года (0,0) до числа и месяца конца битвы (ROM,SAVE), иначе сразу покажут конец войны. На 5м сценарии пока не проверены границы дат. Соответственно дате меняется и погода. Но не меняется карта (цвет белый от снега не будет и зелёный на 5 сценарии в августе тоже не станет).
* Командиры: любые фамилии, параметры; из имеющихся в игре - портреты и национальность; число командиров - до 20 человек на сторону (ROM,SAVE).
* ПолкИ: снабжённость, координаты на карте, приказ, состав по батальонам (до 6 на полк, в т.ч. в инженерию и снабжение) (ROM,SAVE).
* Батальоны: тип войск, годные и повреждённые, мораль, подготовка, усталость (ROM,SAVE).
* Города: названия, укреплённость, припасы, принадлежность сторонам, войска (лимит 6 батальонов), количество годных и повреждённых. Можно добавить населённых пунктов (лимит=21), но на карте у новых будут только рамочки, рисунок местности останется стандартный (лес, холм, дорога и т.п.), в битве тоже будет видна стандартная местность (ROM,SAVE).
* Карта: готовая стандартная из имеющихся. Можно менять расположение войск (ROM,SAVE), мины и мосты (SAVE). Нельзя перерисовать местность, переместить города и поменять задание.Планируемые доработки (? - сомнительно, ! - легко, * - долго):
* редактировать авиацию (количество боевых и транспортных самолётов) (уже пишу)
* погода в данный момент (уже пишу)
* менять у сторон (Axis, Allied) - кто управляет (игрок или компьютер) и действия за кого просматриваем. Всего 8 вариантов. (!, нашёл, но ещё не совсем понятно)
* болезни и ранения командиров (!)
* нумерация батальонов в редакторе (!)
* отображение состава полков на карте, как уже есть у городов (!)
* отображение снабжённости полков и городов в %, как в игре (*)
* менять вызываемые подкрепления по участию сторон в конфликте (?)
* автосохранение и автозагрузка наработанного состояния, чтобы выходы из Excel не портили результаты работы(!)
* Сохранение изменений в тот же файл, из которого читали исходник, НО НАДО ЛИ ЭТО? (!)При желании можно будет поменять описание командиров (ROM) (*). В будущем планируются портреты, чтобы менять произвольно на свои (ROM) (*).Планируется коллекция патчей к игре, которые можно будет накладывать на ROM по одному или по несколько сразу.
Скоро: описание порядка работы в редакторе.
Принимаю вопросы и пожелания для ускорения разработки.
Недоработки и предложения:
При правке ROM контрольная сумма не пересчитывается. Вижу обходные пути:
1) Использовать эмулятор с включённой функцией "Auto Fix CheckSum", например, Gens 2.12 или 2.14 - меню Опции-Разное-Автоисправление контрольной суммы / Options-Misc.-Auto Fix Checksum
2) Применить к поправленному файлу программу для исправления контрольной суммы. Например, отсюда:
http://www.emu-land.net/forum/index.php?topic=72683.0
WinHEX вполне позволяет качественно редактировать ROM и SAVE. Но, по-моему, программой работать удобнее. Пробуйте, задавайте вопросы, пишите пожелания. Работу над программой веду, обычно ночами, поэтому медленно. Днём дела. Нынешняя моя версия программы уже во многом лучше той, что лежит на форуме, но пока что ещё сыровата для выкладывания (в ней может быть больше мешающих работе ошибок, чем в текущей), надо доделать и проверить.
Выложенная тут версия предполагает работу над всеми изменениями сразу, без выхода из программы.
При выходе и отладке возможны большие трудности (сброс наработок :( ), из-за чего мне многократно приходилось переделывать мои "МОД"ы. Разрабатываемая версия сможет сохранять все наработки, можно будет выходить из программы без потерь, заходить снова и продолжать работу.
Если программа при выходе сбрасывает наработки :( - Обход:
1) сделать копию программы с другим именем.
2) запустить эту копию, загрузить в неё исходный ROM.
3) запустить программу с сохранёнными наработками, скопировать нужную таблицу.
4) вставить нужную таблицу в свежую программу с открытым исходником (пункт 2), нажать кнопку сохранить таблицу.
5) повторить шаги 3 и 4 для всех изменённых таблиц.
6) на листе IScCom нажать кнопку SAVE RAW. Убедиться, что УЖЕ ЕСТЬ ROM-файл, который хотите менять (программа не создаёт его "с нуля", а только вносит правки в имеющийся). И сохранить этот ROM.
7) Применить к полученному ROM-файлу исправитель контрольной суммы или правильный эмулятор.
8) Доложить сюда :).И/или ещё вот что:
1) в Windows настроить отображение расширений всех файлов. На XP: Панель управления - Свойства папки - Вкладка Вид - СНЯТЬ ФЛАЖОК "Скрывать расширения для зарегистрированных типов файлов". Сейчас модно использовать седьмые и другие новые, там тоже найдёте где-то, а мне они противны :).
2) Сделать копию исходного ROM с простым названием. Можно даже без расширения. Например, "oeh" или "oemod.gen"
3) Загрузить полученную копию в Excel - выбор файла, выбор блока, чтение таблиц.
4) На всякий случай сразу же нажать SAVE RAW DATA.
5) Поменять параметры начальников (ставить от 20 до 127, больше не надо, а если меньше, то проблемы будут). Число 127 обеспечит всем всегда по 99, независимо от изменения параметров командиров перед битвой. Если меньше 20, то может стать 255 в игре. А если 20 - то от 0 до 57_59.
6) Нажать сохранить таблицу (сверху листа над командирами).
7) На всякий случай нажать сразу после сохранения таблицы кнопку SAVE RAW DATA.
8) Выберите файл для записи - исходный ("oeh", например), или запишите его имя в ячейку. Выберите блок, тот же, что и исходный.
9) Запишите изменения в файл.
10) Выход. Проверка.
11) Запуск программы снова. Нажать сразу LOAD RAW - и можно работать дальше :). Менять города, например. Это достаточно легко.
Сам проверил именно с той версией, которая выложена в теме. Всё получилось.
kvn:
KDE, а такой момент не пробовал - изменить или хотя бы просмотреть состав полка заказанного во время игры? Можно ли сделать так, чтобы можно было заказывать несколько видов юнитов за раз? И ещё один момент - в игре за ход можно сделать только одно дело (заказать полк или технику, изменить командование или место штаба, отправить авиацию или разведку). А хотелось что бы таких дел можно сделать было двое или трое. Глянь, может быть этот момент удастся изменить.
KDE:
Если подкрепление одобрено, то в таблицах появляется полк и его батальоны, все с кодом 8 (обычно 4-5-6-7, или резервные дивизии 32-33). Пока он ещё даже не пришёл (но одобрен), его можно уже менять. В компьютерной версии игры ещё указано время ожидания прибытия. Наверное, оно где-то записано. Заказывать несколько видов - можно, BY RANDOM :), но для этого надо лезть в отладчик. ДОЛГО ИСКАТЬ, пробовать... Несколько дел - тоже можно через отладчик, но мне нравится и так, как есть. Или надо убавлять командарму здоровья за каждое дело, а прибавлять за ход меньше, чем убывает от дел. Чтобы ОТДЫХАЛ иногда :). Это всё на будущее... А пока что работаю над редактором.
Mefistotel:
Ещё бы перевести игру на русский язык с помощью редактора можно было... :)
KDE:
--- Цитата: Mefistotel от 11 Январь 2016, 05:17:15 ---Ещё бы перевести игру на русский язык с помощью редактора можно было... :)
--- Конец цитаты ---
Только названия и имена - как Вам нравится. Хоть переводить, хоть менять.
Работаю и над переводом, но пока мало. Есть наработки. Это отдельная тема. После редактора займусь. Ищу мастеров по дизассемблированию и изучению СТРУКТУРЫ ROM-файла (код, данные, графика, музыка).
KDE:
Новая версия редактора.
Более понятная работа с полками и батальонами, качественное сохранение, работа с файлами на отдельной вкладке (листе), есть авиация, при загрузке данных из ROM есть обработка карты (только города и войска).
Очень приветствую замечания, вопросы, пожелания. Вместе доработаем.
В проекте (уже вычислено в игре): отображение спецназа, подкреплений, десанта, бомбардировок, заказов из штаба, ожиданий.
KDE:
Новая версия (май 2016).
Что добавлено:
Лист "Армии" - сводка всех полков и батальонов обеих армий. Отображает снабжённость в % и позволяет её менять тоже в %. Ранее можно было указывать только абсолютные значения на листе "Полки" (как их видно при операциях снабжения в игре), теперь программа может сосчитать абсолютные значения по нашему указанию с листа "Армии" или "Полки", но процентные значения берёт ТОЛЬКО с листа "Армии", а изменения идут ТОЛЬКО на лист "Полки", для дальнейших расчётов и отображения информации на других листах или для сохранения во внешние игровые файлы - как обычно требуется сохранение таблицы ("Полки") в память. В будущем это нововведение даст возможность на карте отображать состав полков, почти так, как оно уже сделано для населённых пунктов. Чтобы наиболее полно соответствовать информации, получаемой на карте по кнопке "A" в игре :).
На листе "Полки" кнопка сохранения разделена на две: первая просто сохраняет изменения таблицы, а вторая пересчитывает карту (это полезно, если меняли координаты полков). Возможно, пересчёт координат пока что выполнен криво, уже поступали сообщения об этом. Требуются проверки.
KDE:
Новая версия редактора. Получена во время работы над сценарием 5, где воюют итальянцы против французов. http://www.emu-land.net/forum/index.php/topic,27971.msg1232768.html#msg1232768
Исправлена ошибка сохранения параметров батальонов войск союзников (сохраняла им параметры немцев, что приводило к глюкам). Также, мелкая ошибка в сообщении об ошибке с типом войск в батальонах.
Сейчас сохраняет хорошо.
KDE:
Освежу тему редактирования ROM/SRM для Operation Europe. Тема жива. Изучаю игру, но пока что новой версии редактора не имею. Есть планы по внедрению всех команд спецменю (воздух, спецназ, подкрепления). Основные новости в теме игры.
anker:
KDE приветствую!
Спасибо за проделанную работу :drinks:
Есть ли возможность редактировать параметр GR (дальность выстрела) ?
И еще вопрос по редактору. Не полностью парсится карта, отображаются только города и полки. Это у меня версия офиса не совместима или так должно быть?
KDE:
--- Цитата: anker от 13 Декабрь 2016, 15:02:50 ---Есть ли возможность редактировать параметр GR (дальность выстрела) ?
--- Конец цитаты ---
Привет. В нынешней версии нет. И вообще, лично я пока не знаю, ГДЕ это найти. Где-то эти все таблицы упрятаны в ROM-файле. Но у меня есть мысли, как это вычислить. Уже лазил в отладчике и дизассемблере, начал кое-что понимать в коде.
--- Цитата: anker от 13 Декабрь 2016, 15:02:50 ---Не полностью парсится карта, отображаются только города и полки. Это у меня версия офиса не совместима или так должно быть?
--- Конец цитаты ---
Для ROM - так и есть, потому что нет там готовой карты, в том виде, как она есть в сохранении. Если открыть сохранённую игру - карта полная. В ROM хранится карта, но как-то по-другому. Пока не разгадал.
kvn:
Такое ощущение, что разработчики специально всё попрятали, чтобы "специалистам" жизнь максимально усложнить.
anker:
--- Цитата: KDE от 13 Декабрь 2016, 15:30:11 ---Привет. В нынешней версии нет. И вообще, лично я пока не знаю, ГДЕ это найти. Где-то эти все таблицы упрятаны в ROM-файле. Но у меня есть мысли, как это вычислить. Уже лазил в отладчике и дизассемблере, начал кое-что понимать в коде.Для ROM - так и есть, потому что нет там готовой карты, в том виде, как она есть в сохранении. Если открыть сохранённую игру - карта полная. В ROM хранится карта, но как-то по-другому. Пока не разгадал.
--- Конец цитаты ---
Ну тут особо и нечего гадать. Карта состоит из фрагментов, один и тот же фрагмент может использоваться на карте N количество раз. Например горизонтальный учесток дороги.
Скорее всего в ROM карты в таком виде:
1. файл в котором находится мозаика фрагментов.
2. файл в котором прописаны координаты фрагментов. по сути как затайлить экран.
В сейве экран уже затайлен
--- Цитата: kvn от 13 Декабрь 2016, 16:11:25 ---Такое ощущение, что разработчики специально всё попрятали, чтобы "специалистам" жизнь максимально усложнить.
--- Конец цитаты ---
ROM это дамп. В исходном виде там могут быть всем понятные файлы :neznayu:
KDE:
--- Цитата: anker от 13 Декабрь 2016, 16:55:32 ---Скорее всего в ROM карты в таком виде:
1. файл в котором находится мозаика фрагментов.
2. файл в котором прописаны координаты фрагментов. по сути как затайлить экран.
В сейве экран уже затайлен
--- Конец цитаты ---
Соглашусь почти на 100%. Осталось найти, откуда берётся эта мозаика по номеру сценария. Тогда сможем и свои карты делать.
Свежая декабрьская версия редактора с возможностью видеть из ROM-файла названия и параметры войск и менять их (сначала сделал только чтение, но теперь уже работает и запись обратно в ROM).
Добавлены возможности:
1) Вписать своё название любым войскам (до 12 символов будут в первой строке, затем обязательно знак "$", и можно ещё 12 во второй строке). Техническая информация: сохранение названий идёт в свободную область ROM-файла, от адреса 763F0h, на каждое название по 26 байт (12+$+12+"00h"), итого занято 4160 байт - поэтому параметр "адрес названия" при сохранении впишется в ROM автоматически.
2) Менять характеристики войск. На вкус и цвет :).
http://www.emu-land.net/forum/index.php/topic,27971.msg1265930.html#msg1265930 - описание параметров и характеристик
Напишите отзыв, в каком виде удобнее сделать интерфейс работы с файлами. Может, как раз так, как на листе "Коды войск"?
Ser_Otto:
Жаль нет подробной инструкции для таких чайников как я :neznayu:
KDE:
Ser_Otto, задавайте вопросы, сделаю инструкцию.
Какая цель у Вас? Я и расскажу, что и как сделать.
Ser_Otto:
Честно говоря, я настоящий чайник в этом, хотя прекрасно понял, что работа была проведена немалая, когда открыл редактор.
Начав читать вложенную там инструкцию впал в ступор, не понимая о каких блоках идет речь (2пункт).
А то что я хотел, так это урезать войска за которые играю и добавить войскам противника больше полков и батальонов в них; увеличить кол-во авиации и выставить стартовые показатели снабжения в войсках на 100%. Удвоить общее время отведенное на прохождения сценария. Ну может еще пару мостов снести...
KDE:
Ser_Otto, я в отпуске был.
В каком сценарии хотите изменений? Или во всех?
"Блоки" в программе - это и есть сценарии. Более общее название. Думаю, позже сможем менять сценарии в блоках, то есть, вся игра будет, например, из первых сценариев, но разного уровня сложности.
Урезать и добавить войска - это возможно. Общее ограничение на одну сторону - 128 батальонов. Столько же у противника. Не пробовал сделать одной стороне больше, чем 128, но попробовать можно. Труднее всего на данном этапе добавить батальоны, но возможно.
Авиация и снабжение - возможно тоже. Это самое простое.
Время на сценарий - разве что стартануть его раньше. Время окончания пока что не вычислил, где меняется.
Мосты сносить - только в сохранённой игре на данный момент. Всё остальное можете пробовать. Или задайте, что и как поменять, сделаю.
Ser_Otto:
Эхх... мне в отпуск в конце сентября... :(
Ну для начала хотел мой любимый 5-ый сценарий подправить.
Играя против немцев, хочу убрать со своих батальонов пехоту и грузовики с пехотой. Врагу увеличить процентов на 50 кол- войск в отрядах. В имеющихся полках, таких как №31 и №32 добавить по 3 батальона какой-нить техники, а в остальных типа ударных №11,12,21, и т.д. пару видов танков. Номерам 15,25,26,35,45 по батальону арты ближнего боя. Также у немцев есть пустые полки (16,36) с помощью которых они вызывают подкрепу и шлют парашютистов. Их я хотел бы сразу заполнить войсками и выставить на карту. Если правка авиации не проблема, то выставить каждой стороне по 500 бомберов и столько же транспортников.
Точная дата непринципиально, мне главное только само игровое время увеличить.
Насчет мостов, что снести: 31-13, 35-18, 37-21, 36-24, в общем все те, что через реку перед немецкими силами.
И еще вопрос, можно как-то увеличить шанс одобрения вызова подкреплений и припасов как для меня так и для врага?
KDE:
в ячейках S2 и T2 на листе Типы войск надо поменять надписи AT и AP, мелочь, больше ни на что не влияет, но вводит в заблуждение. Накоплю исправлений - выложу версию посвежее. Подробности тут: http://www.emu-land.net/forum/index.php/topic,27971.msg1449181.html#msg1449181
Навигация
Перейти к полной версии