К слову, относительно загрузки-выгрузки спрайтов для отдельных кадров
Код
//----- (0055D3B0) --------------------------------------------------------
void __thiscall Def_Deref(_Def_ *this)
Код
//----- (0055C9C0) --------------------------------------------------------
_Def_ *__fastcall LoadDEF(char *DefName)
Код
// 63D6B0: using guessed type int (__thiscall *TDef_VTable)(void *, char);
ну и перехватывать лучше не всяческие
Код
int __thiscall DefCadre_DrawType1_interface(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, char NoSpecColorsFromPalette);
int __thiscall DefCadre_DrawType1_combat(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, int selectionColor, char halfTransparent);
int __thiscall DefCadre_DrawType3(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, int flagColor);
int __thiscall DefCadre_DrawType3_HalfTransparent(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, unsigned __int16 flagColor, char mirror);
int __thiscall DefCadre_DrawType3_Shadow(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int a12, char mirror);
int __thiscall DefCadre_DrawType0or2(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirrorX, int mirrorY);
int __thiscall DefCadre_DrawType0or2_Shadow(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirrorX, int mirrorY);
int __thiscall DefCadre_DrawType1_interface_MayHalfTransp(int this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int a8, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, char halfTransparent);
а
Код
int __thiscall Def_Draw_Interface_Group(_Def_ *this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int maxX, int maxY, int scanlineSize, int mirror, char getSpecColorsFromPalette);
signed int __cdecl sub_0047B670();
int __thiscall Def_Draw_Combat(int this, int group, int frame, int srcX, int srcY, int w, int h, int a8, int destX, int destY, int a11, int a12, int a13, int mirror, int a15);
int __thiscall Def_DrawType3_NoFlag(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror); // idb
int __thiscall Def_DrawType3_Flag(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int flagColor, int mirror); // idb
int __thiscall Def_DrawType3_Shadow(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int a7, int a8, int destW, int destH, int a11, char mirror); // idb
int __thiscall Def_Draw_Interface_Whole(_Def_ *this, int cadre, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror); // idb
int __thiscall Def_Draw_Interface(_Def_ *this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror);
int __thiscall Def_DrawType0or2(_Def_ *this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirrorX, int mirrorY);
int __thiscall Def_DrawType0or2_Shadow(int this, int cadre, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14); // idb
int __thiscall Def_DrawType0or2_WithShadow(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirrorX, int mirrorY); // idb
int __thiscall Def_DrawType3_Group(int this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror);
int __thiscall Def_DrawType3_Group_Shadow(int this, int group, int cadre, int a2, int srcY, int w, int h, int drawBuffer, int a7, int a8, int destW, int destH, int a11, char mirror); // idb
int __thiscall Def_DrawType3_Group_HalfTransp(int this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, char mirror); // idb
int __thiscall Def_Draw_Interface_MayHalfTransp(int this, int group, int cadre, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14, char a15); // idb
их чуть больше, но зато там можно ловить отрисовку по имени дефа-группе-кадру, а не по имени кадра