ASI Plugin SDK || Как получить разрешение экрана

ANZR

Известный
Автор темы
168
105
Думаю по заголовку понятно, что нужно)
 
Решение
Ну если у тебя перехватывается Present в directx9, то создай глобальную переменнную
IDirect3DDevice9* m_cpDevice = nullptr;
В самом пресенте:
C++:
if (m_cpDevice == nullptr) {
    m_cpDevice = pDevice;
}
И уже где тебе нужно:

C++:
D3DVIEWPORT9 viewPort;
m_cpDevice->GetViewport(&viewPort);
std::cout << viewPort.Width << " " << viewPort.Height << std::endl;

Если нет, то вроде был какой-то другой способ через RsGlobalType структуру в гта, сейчас посмотрю

N08I40K

Известный
224
107
Ну если у тебя перехватывается Present в directx9, то создай глобальную переменнную
IDirect3DDevice9* m_cpDevice = nullptr;
В самом пресенте:
C++:
if (m_cpDevice == nullptr) {
    m_cpDevice = pDevice;
}
И уже где тебе нужно:

C++:
D3DVIEWPORT9 viewPort;
m_cpDevice->GetViewport(&viewPort);
std::cout << viewPort.Width << " " << viewPort.Height << std::endl;

Если нет, то вроде был какой-то другой способ через RsGlobalType структуру в гта, сейчас посмотрю
 
  • Нравится
Реакции: ANZR

ANZR

Известный
Автор темы
168
105
Ну если у тебя перехватывается Present в directx9, то создай глобальную переменнную
IDirect3DDevice9* m_cpDevice = nullptr;
В самом пресенте:
C++:
if (m_cpDevice == nullptr) {
    m_cpDevice = pDevice;
}
И уже где тебе нужно:

C++:
D3DVIEWPORT9 viewPort;
imSet.m_cpDevice->GetViewport(&viewPort);
std::cout << viewPort.Width << " " << viewPort.Height << std::endl;

Если нет, то вроде был какой-то другой способ через RsGlobalType структуру в гта, сейчас посмотрю
Что за переменная ImSet?
UPD, сорян, тупанул)