Code:
PROCEDURE Hook_Battle_WhoMoves; ASSEMBLER; {$FRAME-}
ASM
// Инициализация дефолтного кода
PUSH EBP
MOV EBP,ESP
PUSH -1
// Генерируем ЕРМ событие
PUSHAD
CALL General.SaveEventParams
MOV EAX, [EBP+$8]
MOV DWORD [General.EventParams], EAX
MOV EAX, [EBP+$C]
MOV DWORD [General.EventParams+4], EAX
PUSH General.C_ERA_EVENT_BATTLE_WHOMOVES
CALL General.GenerateCustomErmEvent
POPAD
// Устанавливаем возращённые из ЕРМ значения
MOV EAX, DWORD [General.EventParams]
MOV [EBP+$8], EAX
MOV EAX, DWORD[General.EventParams+4]
MOV [EBP+$C], EAX
PUSHAD
CALL General.RestoreEventParams
POPAD
PUSH $464F15
// RET
END; // .procedure Hook_Battle_WhoMoves
// Патчим место решения, кто сейчас ходит
General.HookCode(Ptr($464F10), @Hook_Battle_WhoMoves, C_HOOKTYPE_JUMP, 5);
Работает просто. Позволяет подменить номер отряда, который сейчас получит ход.
Может и просто работает, но как-то странно. Флаги отрядов не сохраняются (как минимум флаг ожидания).
И вообще исходники Эры как-то странно организованы. Приведённый тобой код значится как Эра 1.81, в 2.46 он вообще не встречается.
Потому что Эра состоит из двух частей: angel.dll (адаптированная Эра 1.9х) и era.dll (Эра 2.х). Я не стал полностью старый функционал с Virtual Pascal переносить. Новый был организован лучше. Позже и от капса избавился.
А знаете ли вы, что персональные скрипты карт (это которые с тем же именем в папке maps) подгружаются криво и часто не работают? Вот я теперь знаю и всем советую.
Да. В 2.55 уже работают как надо, но в более крутом виде (Maps\MapName\Data\s\полный аналог скриптов обычных). Надеюсь, допилю когда-нибудь.
Помню, где-то был патч для ERA, чтобы она не крашилась обнаружив в Maps'ах HotA'вские карты, да что-то никак не могу найти... Ткнёте носом?
Ага, в Хоту поигрываешь! ))))))))
Алгор, у тебя случаем нет хороших XL-карт симметричных? Пусть рандомок. Мы один и тот же набор уже по сто раз переиграли за 7 лет.
No hota maps.bin
; Applies to = Memory
; Generator = BinMagic
004C415D 2075
00513790 2075
005836DE 2075
00585BD6 2075
0058C167 2075
http://rghost.ru/8RvFrd7fz
Berserker Wrote:Ага, в Хоту поигрываешь! ))))))))
Не, мне без моих опций не прёт уже... Чел один попросил сборку, вот решил и HotA туда добавить - для рекламы, да и вдруг не знаком. Ну и себе заодно, чтоб отдельную папку не держать, а то у меня структура геройских каталогов уже такая, что черт ногу сломит.
Berserker Wrote:Алгор, у тебя случаем нет хороших XL-карт симметричных? Пусть рандомок. Мы один и тот же набор уже по сто раз переиграли за 7 лет.
Если ты про шаблоны (я в обычные не играю), то есть один неопубликованный. Ток я вчера когда сел вспоминать на чем остановилось его вылизывание - обнаружил багу с новым HD. Пока все локализовал и отписал на df2 желание поспать перебороло желание погамать )
Berserker Wrote:http://rghost.ru/8RvFrd7fz
Ага, пасиб. Ты б добавил в первопост еще.
Так умрёт ссылка всё равно. Леново на постоянку грузить. Так рано или поздно обращаются. Чувствуешь себя нужным

Подойдут уже готовые XL-ки, сгенерированные на любых вменяемых шаблонах. Ты же во что-то играешь?
Лучше бы добавил ссылку на последнюю Эру (2.46?) в первопост.
Bersy, I have one more week of holidays, you said that SoD campaigns will probably be compatible with mods in next era, do you have some dll or else to make me test?
Right now, only first scenario works ok, from second, era mods aren't loaded any longer. And we have both SoD mod and AKUHAK's mod bringing original interface + original campaigns, yet not playable.
