Loji DEX

Age of History 2

Описание мода «Loji DEX»

Loji DEX улучшает геймплей Age of History 2 путем правки игрового кода, цель проекта — создать базу для создания модификаций на системе Android. За основу был взят изначальный код  The New Order.

Список вносимых изменений:

  • Поддержка GIF-анимаций для главного меню, лидеров, событий и HOG.
  • Можно переименновывать города.
  • Улучшения альянсов/фракций.
  • Система группировки подразделений.
  • Система волонтеров.
  • Ядерное оружие / Ядерная система.
  • Шпаргалка по определению размера провинции.
  • Обновленные читы.
  • Извлечение данных в документы.
  • Шаблоны TNO / TFR / RF
  • Улучшен пользовательский интерфейс для копирования, вставки и многого другого.
Описание обновлений

16.07.26:
+ можно переименовывать города для получения результатов событий.
+ улучшен пользовательский интерфейс для копирования, вставки и многого другого.

18.07.26:
+ Суперсобитие отделено от событий.
+ Мир только с одной страной.
+ Исправление для клавиатуры.

21.08.26:
+ Шаблоны TFR/TNO.
+ Главное меню.
+ Экран загрузки.

Релиз (11.09.26):
+ Поддержка GIF-анимаций для главного меню, лидеров, событий и HOG.
+ 3× очка передвижения.
+ Улучшения альянсов/фракций:
Переименовать альянсы,
Изменить цвета альянса,
Вновь созданные фракции автоматически наследуют цвет лидера фракции.
+ Система группировки подразделений.
+ Система волонтеров.
+ Ядерное оружие / Ядерная система.
+ Шпаргалка по определению размера провинции.
+ Обновленные читы.
+ Извлечение данных в документы — спасибо @Noiru

Мини обновление (15.09.26):
+ В меню «Аудио» теперь есть строка поиска, и вы можете выбирать музыку напрямую.
+ В разделе «Редактирование провинций» и «Подключения» теперь больше кнопок, что упрощает редактирование карт.
+ Улучшена работа с альянсами. Теперь вместо названий стран будет отображаться название альянса.
+ Функция «Белый мир» была восстановлена. «Белый мир» теперь представляет собой отдельный результат, называемый «Peace All».
+ Система добровольцев исправлена. Подразделения больше не исчезают.
+ Исправлена ​​проблема утечки/сбоя событий.
+ Сделан мод The Bozo Rises с кодом Loji DEX.

16.09.26: пользователь B𝚘𝚌𝚔𝚟𝚘𝚗 сделал мод The New Order с кодом Loji DEX.

29.09.26:

  • Звуки юнитов:
    — Как и в HOI4, у войск/дивизий теперь могут быть голосовые реплики, специфичные для каждой страны.
    — Поддерживаются как базовые, так и TFR-пакеты голосовых команд.
    — Вы также можете настроить собственные звуки юнитов с помощью Editor → Game Editor → Unit Sound Editor.
  • Управление событиями:
    Теперь событиями можно свободно управлять во время игры, а также создавать новые результаты.
    — Сменить флаг — цивилизация не требуется.
    — Переменить лидера — Гражданские лица не требуются
    — Формируемую цивилизацию, в которой может быть до 6 цивилизаций.
    — Очистить войска.
  • Обновление информации о ядерной системе:
    — Максимальное количество ядерного оружия: увеличено с 5 до 20.
    — Максимальное количество реакторов: увеличено с 2 до 5.
    — Теперь ИИ может располагать до 10 ядерными боеголовками.
  • Режим карты реактора:
    Добавлен новый режим карты, значительно упрощающий поиск ядерных реакторов.
  • Обновление режима карты «Разделение»:
    Теперь вы можете видеть свои подразделения на территории цивилизаций, куда вы отправляли добровольцев!
  • Кривая названий альянсов:
    Графики названий альянсов были немного улучшены и теперь должны лучше отображаться на карте.
  • Также добавлены шаблоны экранов загрузки и событий Red Flood!

30.09.26:
— The Bozo Rises и The New Order перезалиты с новой версией Loji DEX.
— Добавлены еще 2 мода для быстрой установки: Red Flood и Brave New World.

Внимание: сначала запускайте тестовый сценарий, чтобы избежать ошибок.

5.10.26: в моде Brave New World для суперсобытий (не всех) добавили пользовательский интерфейс SE.

Руководство для модеров (ENG)

Loji Classes and Files Guideline

Installing event features with MT Manager on Android

This guide is based on the following donor APK:

D:\Gameapk\Input\The Millennium Shift_0.1.apk
SHA-256: 5D7E7C905FEA4CD4515BA53F0B38370F9308AEB2AF8AA24C642141CC615C35C3

The APK contains two DEX files:

classes.dex   = game code and every feature covered by this guide
classes2.dex  = MTDataFilesProvider and MTDataFilesWakeUpActivity

classes2.dex is an MT Manager integration component. It does not contain the game features described below.

Covered features:

  1. Rename City.
  2. Update Leader and Head of Government.
  3. Animated GIF leaders.
  4. National and base ideology titles, descriptions, and pictures.
  5. Peace out with one country.
  6. Android native UI keyboard.
  7. Separate Super Event renderer.
  8. Normal Event and Super Event selection.
  9. Unrestricted Trigger Another Event selection.

1. Prepare the files on Android

Install MT Manager and create a working directory:

/storage/emulated/0/LojiDexWork/

Put these files in it:

donor.apk          = The Millennium Shift_0.1.apk containing the features
target.apk         = the APK that will receive the features
target-backup.apk  = an untouched backup

Use MT Manager in dual-panel mode:

  1. Open target.apk in the left panel.
  2. Open donor.apk in the right panel.
  3. Open classes.dex and choose Dex Editor++.
  4. Use class search to locate each class listed in this guide.

The game package is:

age.of.civilizations2.jakowski.lukasz

The corresponding Smali descriptor is:

Lage/of/civilizations2/jakowski/lukasz/ClassName;

Example:

Java name:  Event_Outcome_RenameCity
Smali name: Lage/of/civilizations2/jakowski/lukasz/Event_Outcome_RenameCity;

Option A: replace the complete classes.dex

Use this option only when the target uses the same engine/base and should receive every donor feature.

  1. Extract classes.dex from donor.apk.
  2. Open target.apk as an archive.
  3. Replace the target classes.dex.
  4. Copy the required assets listed in this guide.
  5. Sign the APK.

This method overwrites every custom code change already present in the target DEX.

Option B: import and merge selected classes

Use this option when the target has its own code changes.

  1. Extract the donor classes.dex.
  2. Open the target classes.dex in Dex Editor++.
  3. Choose Add, Import classes from dex, or the equivalent command.
  4. Select the donor DEX.
  5. Import new classes.
  6. Back up existing classes before merging modified methods into them.

Do not replace central classes such as CFG, MenuManager, EventsManager, or Keyboard with versions from an unrelated engine fork. Merge the required blocks instead.


2. Dependency map

FeatureNew or primary classesExisting classes that require merging
Rename CityEvent_Outcome_RenameCity, Menu_CreateScenario_Events_Out_RenameCity, Menu_CreateScenario_Events_SelectCityMenu_CreateScenario_Events_AddNewOutcome, EventsManager, MenuManager
Head of GovernmentHeadOfGovernmentSupportEvent_Outcome_Leader, leader selection menus, EventsManager, MenuManager, Menu_InGame_CivInfo$2, Ideologies_Manager, Event_Outcome_ChangeIdeology
Animated GIF leaderGifLeaderSupport, GifLeaderSupport$GifStateCFG, Menu_InGame_CivInfo_Stats, Menu_Civilization_Info_Stats, MenuElement_Hover_v2_Element_Type_Leader
Ideology contentHeadOfGovernmentSupportIdeologies_Manager, Bundle.properties, assets/game/hog/
White PeaceEvent_Outcome_WhitePeace, Menu_CreateScenario_Events_Out_WhitePeaceMenu_CreateScenario_Events_AddNewOutcome, MenuManager
Native keyboardNativeKeyboardBridge and its six inner classesKeyboard.setVisible(Z)
Separate Super EventMenu_InGame_Event_Super, $1, $2Event_GameData, MenuManager, assets/UI/events/
Normal/Super pickeruses the Super Event classesEvent_GameData, Menu_CreateScenario_Events_Edit, MenuManager
Trigger Another Eventtrigger outcome and event selection menusMenu_CreateScenario_Events_AddNewOutcome, MenuManager

3. Rename City

3.1 Import the classes

Import:

Lage/of/civilizations2/jakowski/lukasz/Event_Outcome_RenameCity;
Lage/of/civilizations2/jakowski/lukasz/Menu_CreateScenario_Events_Out_RenameCity;
Lage/of/civilizations2/jakowski/lukasz/Menu_CreateScenario_Events_SelectCity;

Merge the compatible blocks from:

Menu_CreateScenario_Events_AddNewOutcome
EventsManager
MenuManager

3.2 Required outcome fields

Event_Outcome_RenameCity must contain:

.field private applied:Z
.field private cityIndex:I
.field private newName: