PalWorld-NetCrack/initialize.hpp
NightFyre 9dc8140e59 Project Adjustments
PROJECT SETTINGS
- Additional Options "/bigobj" for debug builds
- Output directory relocated to solution directory "/bin"
- include "ProjDir" as an additional include directory for debug builds

FEATURES
- adjust params for some functions to include default values
- relocate functions from Menu to Features for clarity
- included comments

ISSUES
- SpeedHack is causing a crash if toggled while loading from main menu
- Database Tab is causing a crash due to "Config.Update"
2024-01-28 13:08:50 -05:00

52 lines
1.5 KiB
C++

#pragma once
#include "SDK.hpp"
#include "config.h"
#include "include/helper.h"
#include "include/Console.hpp"
#include "include/Game.hpp"
#include "include/D3D11Window.hpp"
#include "include/Hooking.hpp"
using namespace DX11_Base;
void ClientBGThread()
{
while (g_Running) {
g_Menu->Loops();
std::this_thread::sleep_for(0ms);
std::this_thread::yield();
}
}
DWORD WINAPI MainThread_Initialize()
{
g_Console = std::make_unique<Console>();
#if DEBUG
g_Console->InitializeConsole("Debug Console");
g_Console->printdbg("ImGui Hook - Initializing . . .\n\n", Console::Colors::DEFAULT);
#endif
/// ESTABLISH GAME DATA
g_GameData = std::make_unique<GameData>();
g_GameVariables = std::make_unique<GameVariables>();
/// CREATE WINDOW AND ESTABLISH HOOKS
g_D3D11Window = std::make_unique<D3D11Window>();
g_Hooking = std::make_unique<Hooking>();
g_Menu = std::make_unique<Menu>();
g_Hooking->Hook();
#if DEBUG
g_Console->printdbg("Main::Initialized\nUWorld:\t0x%llX\n", Console::Colors::green, Config.gWorld);
#endif
std::thread WCMUpdate(ClientBGThread); // Initialize Loops Thread
/// RENDER LOOP
g_Running = TRUE;
while (g_Running)
{
if (GetAsyncKeyState(VK_INSERT) & 1) g_GameVariables->m_ShowMenu = !g_GameVariables->m_ShowMenu;
}
/// EXIT
WCMUpdate.join(); // Exit Loops Thread
FreeLibraryAndExitThread(g_hModule, EXIT_SUCCESS);
return EXIT_SUCCESS;
}