Берс, можешь объяснить суть триггеров входа в окно героя и выхода из оного?
PROCEDURE Hook_HeroScreen_Enter; ASSEMBLER; {$FRAME-}
ASM
PUSHAD
PUSH ECX
MOV EAX, General.C_FUNC_ZVS_GETHEROPTR
CALL EAX
ADD ESP, 4
MOV DWORD [General.C_VAR_ERM_PTR_CURRHERO], EAX
PUSH General.C_ERA_EVENT_HEROSCREEN_ENTER
CALL General.GenerateCustomErmEvent
POPAD
PUSH EBP
MOV EBP, ESP
PUSH -1
PUSH $4E1A75
END;
PROCEDURE Hook_HeroScreen_Exit; ASSEMBLER; {$FRAME-}
ASM
PUSHAD
PUSH General.C_ERA_EVENT_HEROSCREEN_EXIT
CALL General.GenerateCustomErmEvent
POPAD
MOV ESP, EBP
POP EBP
RET 8
END;
Интересует второй из них. Можешь объяснить, что происходит в строках
Quote:PUSH General.C_ERA_EVENT_HEROSCREEN_EXIT
CALL General.GenerateCustomErmEvent
?
Добавлено:
И как выглядел бы код без обращения к General?
Добавлено:
Поясняю: нужно сделать подобное с
PROCEDURE HOOK_Trigger_TownScreen_Enter; ASSEMBLER; {$FRAME-}
ASM
PUSHAD
PUSH 90001
MOV EAX, $74CE30
CALL EAX
ADD ESP, 4
POPAD
PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH $5C6C75
END;