1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
VOID Design::TextHook(INT X, INT Y, DWORD Color, BOOL Automap, INT Font, INT Center, LPSTR Text, ...)
{
POINT nPos = {X, Y};
DWORD dwOldSize, wWidth, dwFileNo;
if (Automap)
{
if (!*p_D2CLIENT_AutomapOn)
return;
ScreenToAutomap(&nPos, X * 32, Y * 32);
}
CHAR szBuffer[800] = "";
va_list Args;
va_start(Args, Text);
vsprintf_s(szBuffer, Text, Args);
va_end(Args);
WCHAR wBuffer[0x130];
MultiByteToWideChar(0, 1, szBuffer, 100, wBuffer, 100);
dwOldSize = D2WIN_SetTextSize(Font);
if (Center != -1)
{
D2WIN_GetTextWidthFileNo(wBuffer, &wWidth, &dwFileNo);
nPos.x -= (wWidth >> Center);
}
D2WIN_DrawText(wBuffer, nPos.x, nPos.y, Color, -1);
D2WIN_SetTextSize(dwOldSize);
}
| |