Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: H3API by RoseKavalierПример можете привести? Неизвестные поля иногда могут быть выравниванием. Нужно смотреть выравнивание структуры: может, оно не 1.
|
Re: H3API by RoseKavalierAlexSpl писал(а): Тогда понятно, спасибо. Ну, например https://github.com/RoseKavalier/H3API/b ... Square.hpp Цитата: /** @brief [1A] */ // * true if a wide creature is here BOOL8 twoHexMonsterSquare; /** @brief [1C] */ INT32 deadStacksNumber; С 0x1A идет прирост до 0x1С |
Re: H3API by RoseKavalier
Эти три поля + неиспользуемый байт = размер выравнивания (4). 4 - размер выравнивания по умолчанию, не думаю, что программисты NWC "играли" с выравниванием, поэтому некоторые неизвестные поля заведомо мусор. |
|
Re: H3API by RoseKavalierThere are a few classes where alignment is 1, but otherwise everything else has alignment 4.
e.g. Hero, Boat, QuestGuard, SeerHut, Mapitem... You can identify by looking for:
NWC liked to re-use old code (who wouldn't) so some things came from Heroes 2 which was built with even older standards where alignment may have specifically been set. In any case, almost everything has a static_assert to verify alignment e.g.
The moment I compile the library, every relevant struct size is verified, otherwise it fails to compile and lets me know what's the issue. |
|
Re: H3API by RoseKavalierh3api совместим в HOMM3ROE Hd edition? Если да то где найти обучение по нему?
|
Re: H3API by RoseKavalierК сожалению, не совместим.
Вкратце почему. API жёстко привязан к экзешнику, а точнее, статическим адресам указателей, структуре классов и т.д. Даже для "ванильной" версии RoE нужен уже другой API. Единственный более-менее удобный способ вносить изменения в код RoE HD Edition - сделать так, чтобы она подгружала patcher_x86. В этом случае можно уже будет работать с кодом средствами API патчера. Однако в этом случае заново придётся искать адреса всех указателей и размеры, поля и методы основных классов игры. Но не всё так печально: у нас есть база RoE HD Edition для Android-версии игры с дебажными символами, что сильно облегчает задачу написания API для RoE HD. Правда, за это дело вряд ли кто-то возьмётся из-за того, что RoE HD в геройском комьюнити слегка не популярна |
Сейчас этот форум просматривают: Yandex [bot] и гости: 5