In plugin I simply call 0x417380 (redraws everything on adventure map) after dialog is closed, it updates with no issues.
I don't know if you can call a function from ERM with arguments but it's basically:
Code:
__thiscall([0x6992B8], 1, 0) ~~~
__asm{
MOV ECX, DWORD PTR DS : [0x6992B8]
PUSH 0
PUSH 1
MOV EAX, 0x417380
CALL EAX
}
I guess it may be the same function... ERM noobie
EDIT: according to WoG source, it's partial use of 0x417380 function so it may be missing something.
Code:
void RedrawMap(void)
{
#include "templ.h"
__asm{
mov ecx,0x6992B8
mov ecx,[ecx]
// ïåðåðèñîâûâàåò ýêðàí advanture
// ecx -> advManager
mov ecx,[ecx+0x44]
// âûëåòàåò, åñëè íóëü
or ecx,ecx
je l_not
push ecx
push 1
push 1
push 0xFFFFFFFF
mov eax,0x4032E0
call eax
pop ecx
push 1
push 1
push 0xFFFFFFFF
mov eax,0x403420
call eax
// ïåðåðèñîâûâàåò ïðàâîå íèæíåå îêíî êàðòû
mov ecx,0x6992B8
mov ecx,[ecx]
// mov ecx, -> advManager
push 1
push 1
push 1
mov eax,0x415D40
call eax
}
l_not:;
RETURNV
}