Гайд API SF | Урок 5 - Подключение ImGui

Статус
В этой теме нельзя размещать новые ответы.

FYP

Известный
Администратор
1,758
5,722
  • Нравится
Реакции: CleanLegend

CleanLegend

Известный
Автор темы
Всефорумный модератор
476
928
Тут описание подключения старой версии.
Зачем??? Зачем создавать imgui_impl_dx9.cpp imgui_impl_dx9.h если они уже есть в папке с имгуи?
тем более. в этом imgui_impl_dx9 устаревшая реализация, в версии 1.62 был произведён рефакторинг всех рендереров.
лучше обнови гайд, вот: ocornut/imgui(https://github.com/ocornut/imgui/tree/master/examples)
Обновил
 

By_Surse

Известный
310
278
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize
убери
если крашит, надо просто было писать так:

if (bMenuActive)
{
ImGui::Begin("Window", &bMenuActive);
...
ImGui::End();
}
 

Revalto

Известный
532
225
Попытка использовать стили - неудачно!
u_zgfgtZhCY.jpg

P.S. ImGui::CreateContext(); перед стилем решил все
 
Последнее редактирование:

CleanLegend

Известный
Автор темы
Всефорумный модератор
476
928
При выходе с игры, допустим через /q, такая же ошибка!
При выходе не вызывается GameDestructor, нужно перехватывать отправку /q, либо в DLL_PROCESS_DETACH добавить деинициализацию imgui:
C++:
case DLL_PROCESS_DETACH:
ImGui_ImplDX9_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
 
  • Нравится
Реакции: Revalto

Revalto

Известный
532
225
При выходе не вызывается GameDestructor, нужно перехватывать отправку /q, либо в DLL_PROCESS_DETACH добавить деинициализацию imgui:
C++:
case DLL_PROCESS_DETACH:
ImGui_ImplDX9_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
Это надо добавить в мануале, а то мало ли :)
 

holmes0

Известный
29
8
При выходе не вызывается GameDestructor, нужно перехватывать отправку /q, либо в DLL_PROCESS_DETACH добавить деинициализацию imgui:
C++:
case DLL_PROCESS_DETACH:
ImGui_ImplDX9_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
Не помогло, всё равно та же ошибка при /q.
И ещё, что тут не так?
C++:
void CALLBACK cmd_debug_info(std::string param)
{
   int *resX, *resY;
   SF->getGame()->getScreenResolution(resX, resY);
   snprintf(messageBuffer, 128, "ResX - %i, ResY - %i", *resX, *resY);
   SF->getSAMP()->getChat()->AddChatMessage(-1, messageBuffer);
}
 
Статус
В этой теме нельзя размещать новые ответы.