drawtext dll (рендер текста для длл) // warface c++

atizoff

приобретаю кашель за деньги
Автор темы
Проверенный
1,295
1,178
здрасте, ищу пример как рендерить текст в dll (именно длл, мне уже помогали, но там рендер через инжект, то есть запускается .exe и внедряется в игру, а там рисуется)
спасибо!
 
Решение
1) Создай пространство имен для шрифтов:
Render.cpp
C++:
namespace FontList
{
    LPD3DXFONT MyFontName;
};
Render.h
C++:
namespace FontList
{
    extern LPD3DXFONT MyFontName;
};

2) Перезагружай и воссоздай этот шрифт:
C++:
FontList::MyFontName->Release(); // ReleaseObjects функция
C++:
D3DXCreateFont(MyDevice /* D3Device */, 15, 0, 400, 0, 0, ANSI_CHARSET, 1, 1, 1, "Tahoma", &FontList::MyFontName); // CreateObjects функция

3) Создай функция для отрисовки текста:
C++:
void Text(std::string sT, int tX, int tY, int tO, LPD3DXFONT tFont, D3DCOLOR tD3DCOLOR)
{
    RECT Rect;
    SetRect(&Rect, tX, tY, tX, tY);
    tFont->DrawTextA(NULL, sT.c_str(), -1, &Rect, tO | DT_NOCLIP, tD3DCOLOR);
}

deropleat

Известный
105
56
1) Создай пространство имен для шрифтов:
Render.cpp
C++:
namespace FontList
{
    LPD3DXFONT MyFontName;
};
Render.h
C++:
namespace FontList
{
    extern LPD3DXFONT MyFontName;
};

2) Перезагружай и воссоздай этот шрифт:
C++:
FontList::MyFontName->Release(); // ReleaseObjects функция
C++:
D3DXCreateFont(MyDevice /* D3Device */, 15, 0, 400, 0, 0, ANSI_CHARSET, 1, 1, 1, "Tahoma", &FontList::MyFontName); // CreateObjects функция

3) Создай функция для отрисовки текста:
C++:
void Text(std::string sT, int tX, int tY, int tO, LPD3DXFONT tFont, D3DCOLOR tD3DCOLOR)
{
    RECT Rect;
    SetRect(&Rect, tX, tY, tX, tY);
    tFont->DrawTextA(NULL, sT.c_str(), -1, &Rect, tO | DT_NOCLIP, tD3DCOLOR);
}
 
  • Нравится
Реакции: atizoff

atizoff

приобретаю кашель за деньги
Автор темы
Проверенный
1,295
1,178
1) Создай пространство имен для шрифтов:
Render.cpp
C++:
namespace FontList
{
    LPD3DXFONT MyFontName;
};
Render.h
C++:
namespace FontList
{
    extern LPD3DXFONT MyFontName;
};

2) Перезагружай и воссоздай этот шрифт:
C++:
FontList::MyFontName->Release(); // ReleaseObjects функция
C++:
D3DXCreateFont(MyDevice /* D3Device */, 15, 0, 400, 0, 0, ANSI_CHARSET, 1, 1, 1, "Tahoma", &FontList::MyFontName); // CreateObjects функция

3) Создай функция для отрисовки текста:
C++:
void Text(std::string sT, int tX, int tY, int tO, LPD3DXFONT tFont, D3DCOLOR tD3DCOLOR)
{
    RECT Rect;
    SetRect(&Rect, tX, tY, tX, tY);
    tFont->DrawTextA(NULL, sT.c_str(), -1, &Rect, tO | DT_NOCLIP, tD3DCOLOR);
}
Спасибо, но я уже давно нашёл решение, примерно как у тебя)
Кстати ресет лучше не использовать, а то будет 0 фпс