Другое С/С++ Вопрос - Ответ

vasiliy130198

Новичок
27
0
Плюсую ответ книги. Ты делаешь что-то не так. У меня каждый asi плагин рисует минимум по 5 изображений и норм
Тогда если не секрет, как именно рисуется изображение через сам SF? Через другой поток, или в основном -- перед вызовом EndScene() ?
Вот как раз по такому примеру, как вот тут: SA-MP-Plus/CD3D9DeviceProxy.cpp at master · Hual/SA-MP-Plus · GitHub(https://github.com/Hual/SA-MP-Plus/blob/master/Client/Proxy/CD3D9DeviceProxy.cpp#L222)
... нужно делать, чтобы не лагала игра при рендере нескольких изображений? :scratch:
(Интересует где именно нужно инициализировать текстуру, и где рисовать. Инициализировать нужно же каждый раз, и после рисовать, так?)

Главное ответьте пожалуйста насчёт ссылки выше -- там правильная реализация рендера, как говорили выше, или не совсем?
Заранее спасибо) :drink:
 
Последнее редактирование:

SR_team

like pancake
BH Team
4,720
6,373
Тогда если не секрет, как именно рисуется изображение через сам SF? Через другой поток, или в основном -- перед вызовом EndScene() ?
Вот как раз по такому примеру, как вот тут: SA-MP-Plus/CD3D9DeviceProxy.cpp at master · Hual/SA-MP-Plus · GitHub(https://github.com/Hual/SA-MP-Plus/blob/master/Client/Proxy/CD3D9DeviceProxy.cpp#L222)
... нужно делать, чтобы не лагала игра при рендере нескольких изображений? :scratch:
(Интересует где именно нужно инициализировать текстуру, и где рисовать. Инициализировать нужно же каждый раз, и после рисовать, так?)

Главное ответьте пожалуйста насчёт ссылки выше -- там правильная реализация рендера, как говорили выше, или не совсем?
Заранее спасибо) :drink:
Инициализируй текстуру в конструкторе и рисуй в Present
 

vasiliy130198

Новичок
27
0
Можете пожалуйста подсказать названия проектов, в которые встроен рендер текста и изображений? Исходники которых где-то есть, конечно же)
Из всех найденных проектов на данный момент у меня никак не получается красиво вырезать его в свой ;(:wall:
Что еще вообще есть, кроме собейтов, SAMP+ и Asi-Plugin..?

Или может у кого-то завалялся написанный проект с рендером, то можно в его копии удалить всё кроме нужных мне файлов, и поделиться архивчиком.. Буду очень благодарен за это :good:
 

CleanLegend

Известный
Всефорумный модератор
476
930
Можете пожалуйста подсказать названия проектов, в которые встроен рендер текста и изображений? Исходники которых где-то есть, конечно же)
Из всех найденных проектов на данный момент у меня никак не получается красиво вырезать его в свой ;(:wall:
Что еще вообще есть, кроме собейтов, SAMP+ и Asi-Plugin..?

Или может у кого-то завалялся написанный проект с рендером, то можно в его копии удалить всё кроме нужных мне файлов, и поделиться архивчиком.. Буду очень благодарен за это :good:
Найди любой класс d3d9 render в интернете, по изучай их и попытайся подключить.
 

vasiliy130198

Новичок
27
0
Нашел здесь на форуме функцию определения игровых координат для каждого экрана компа:
C++:
int resolution[2];
SF->getGame()->getScreenResolution(&resolution[0], &resolution[1]);
kX = resolution[0] / 640;
kY = resolution[1] / 448;
SF->getRender()->DrawBorderedBox(pos1 * kX, pos2 * kY, size1 * kX, size2 * kY, D3DCOLOR_ARGB(255, 0, 0, 0), 3, D3DCOLOR_ARGB(50, 255, 255, 255));
// 0 <= size1 & pos1 <= 640
// 0 <= size2 & pos2 <= 448

За kX и kY понятно, это int (так же как и resolution[2]).. А откуда именно берётся pos1 и pos2 тогда?

И эта функция определяет одинаково пропорциональные координаты на любом разрешении экрана, так? Тоесть при разрешении 1360х768, и 1024x768 точка будет по центру экрана всегда.
 

CleanLegend

Известный
Всефорумный модератор
476
930
Нашел здесь на форуме функцию определения игровых координат для каждого экрана компа:
C++:
int resolution[2];
SF->getGame()->getScreenResolution(&resolution[0], &resolution[1]);
kX = resolution[0] / 640;
kY = resolution[1] / 448;
SF->getRender()->DrawBorderedBox(pos1 * kX, pos2 * kY, size1 * kX, size2 * kY, D3DCOLOR_ARGB(255, 0, 0, 0), 3, D3DCOLOR_ARGB(50, 255, 255, 255));
// 0 <= size1 & pos1 <= 640
// 0 <= size2 & pos2 <= 448

За kX и kY понятно, это int (так же как и resolution[2]).. А откуда именно берётся pos1 и pos2 тогда?

И эта функция определяет одинаково пропорциональные координаты на любом разрешении экрана, так? Тоесть при разрешении 1360х768, и 1024x768 точка будет по центру экрана всегда.
pos1,2 может быть твоей кординатой или противника. Насчет центра точки, то тут kX,kY не верны.
Центр экрана можно найти kX = resolution[0] / 2, kY = resolution[1] /2;
 

SR_team

like pancake
BH Team
4,720
6,373
Можете пожалуйста подсказать названия проектов, в которые встроен рендер текста и изображений? Исходники которых где-то есть, конечно же)
Из всех найденных проектов на данный момент у меня никак не получается красиво вырезать его в свой ;(:wall:
Что еще вообще есть, кроме собейтов, SAMP+ и Asi-Plugin..?

Или может у кого-то завалялся написанный проект с рендером, то можно в его копии удалить всё кроме нужных мне файлов, и поделиться архивчиком.. Буду очень благодарен за это :good:
Prime-Hack | AsiPlugin(https://dl.prime-hack.net/AsiPlugin/)
 

LUCHARE

Известный
Друг
545
688
Аси уверен, что не кривой?
Тоже так думал, но проблема не исчезла после его переустановки.
Да и другие плагины отлично работают.
И мой работает, но только если его подгружать через СЕ или другие инжекторы