Thanks!
But I have 6 parametrs in this function:
- Код: Выделить всё
int __userpurge RMG_SetPosition_532370@<eax>(_RMGMap_ *a1@<ecx>, int a2@<ebx>, _RMGObject_ *a3, int a4, int a5, int a6)
Also, the monster and object calls of this function, have 6-th parameter = 0:
- Код: Выделить всё
RMG_SetPosition_532370(RMG_Map, value, item, v12, v13, 0);//546AC9
......
RMG_SetPosition_532370(v2, (int)v3, (_RMGObject_ *)NewMonster, v47, v80, 0);//5358F0
Its strange, “z” coordinate couldn’t be always = 0.
I need to manage the monster position in the treasury block (5358F0).
Looks like, it`s here (5358F0):
- Код: Выделить всё
sub_0051B3A0((int)&v2[1].mapHeight, (DWORD *)v2[2].VMT, (_RMGObjMonster_ *)&NewMonster);
RMG_SetPosition_532370(v2, (int)v3, (_RMGObject_ *)NewMonster, v47, v80, 0);
How can I get here all objects in the treasury block?
There must be a vector that stores these values.
Looks like, here is the place where object is adding to that vector RMG_SetTreasureObjectsGroup_546A10:
- Код: Выделить всё
AddItemToList(&RMG_Map[1].mapHeight, (void **)RMG_Map[2].VMT, 1u, (void **)&item);
RMG_SetPosition_532370(RMG_Map, value, item, v12, v13, 0);
But how can I get this vector? Decompilation looks wrong , &RMG_Map[1].mapHeight – isn’t vector (list).