Blamite Game Engine - blam!  00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
main.cpp File Reference
#include "core.h"
#include "api/blam_api.h"
#include <thread>
#include <Uxtheme.h>
#include <signal.h>
#include <sdl2/SDL_syswm.h>
#include <Strings/components/utils/converters/converters.h>
#include <Strings/components/utils/io/io.h>
#include <Strings/components/utils/res/res.h>
#include "components/content/fonts/fonts.h"
#include "components/resources/debug_menu/debug_menu.h"
#include "components/resources/cache/cache.h"
#include "components/settings/config/config.h"
#include "components/ui/imgui/debug_colors.h"
#include "components/ui/imgui/debug_ui.h"
#include "components/ui/win32/dialogs.h"
#include "components/resources/engine_definitions/engine_definitions.h"
#include "components/resources/engine_text/engine_text.h"
#include "components/diagnostics/errors/errors.h"
#include "components/diagnostics/logger/logger.h"
#include "components/settings/placeholders/placeholders.h"
#include "components/settings/switches/switches.h"
#include "components/settings/menubar/menubar.h"
#include "components/core/utils/utilities.h"
#include "components/3rdparty/discord/discord_rpc.h"
#include "components/content/blamscript/haloscript.h"
#include "components/core/input/keyboard.h"
#include "components/networking/messages.h"
#include "components/networking/socket.h"
#include "components/rendering/directx11/render_stack/render_stack.h"
#include "components/rendering/directx11/render_stack/stack_types/blam_ui/console.hpp"
#include "components/rendering/directx11/render_stack/stack_types/blam_ui/debug_menu.hpp"
#include "components/rendering/directx11/render_stack/stack_types/blam_ui/fpscounter.hpp"
#include "components/rendering/directx11/render_stack/stack_types/blam_ui/tick_counter.hpp"
#include "components/rendering/rendering.h"
#include "components/diagnostics/crash/crash.h"
#include "version_data.h"
#include "components/3rdparty/imgui/formats/imgui_impl_sdl.h"
#include "components/3rdparty/imgui/formats/imgui_impl_win32.h"
#include "components/3rdparty/imgui/formats/dx11/imgui_impl_dx11.h"
#include "components/3rdparty/imgui/formats/opengl3/imgui_impl_opengl3.h"
#include "components/core/tick/tick.h"
#include "components/content/tags/tags.h"
#include "components/content/tags/classes/bitmap.h"
#include "components/ui/qt/qt.h"
#include "components/ui/imgui/imgui.h"
#include "components/modules/modules.h"
#include "components/core/events/events/NewFrame/NewFrameEvent.h"
#include "res/strings.h"

Macros

#define ENGINE_VERSION   "00296.01.12.21.0102.blamite"
 
#define STR_ERROR_VULKAN_FAIL   "Vulkan failed to initialize during early setup. Please verify that your graphics card drivers are installed and up-to-date. If the error persists, submit a bug report and be sure to include all files in the engine's Reports folder (default is /reports). \r\n\r\nVulkan init result: {0}"
 

Functions

BOOL APIENTRY DllMain (HMODULE module_handle, DWORD reason, LPVOID reserved)
 
BlamResult DirectXMain (SDL_Window *window)
 
int VulkanMain (SDL_Window *window)
 
int OpenGLMain (SDL_Window *window)
 
int BGFXMain (SDL_Window *window)
 

Variables

SDL_Window * engine_window
 Pointer to the window handle that the engine is utilizing. More...
 
HMODULE dll_handle
 The module handle of the Engine library. More...
 
HINSTANCE hInst
 Application instance handle. More...
 
HCURSOR cursor
 Main window cursor. More...
 
const wchar_t * window_name
 Main window name (replaces what used to be called 'ver_conv'). More...
 
UINT8 * socketBuffer
 – TO BE FILLED IN BY VERTIGO – More...
 
Blam::Network::Socket sock
 – TO BE FILLED IN BY VERTIGO – More...
 
Blam::LinearAllocator allocator
 – TO BE FILLED IN BY VERTIGO – More...
 
UINT32 bytesReceived
 – TO BE FILLED IN BY VERTIGO – More...
 
Blam::Endpoint from
 – TO BE FILLED IN BY VERTIGO – More...
 
bool isConnected
 Whether or not the socket is currently connected. More...
 
std::thread render_thread
 The thread used for rendering. More...
 
bool use_separate_render_thread = false
 Whether or not to perform rendering tasks on a separate thread. More...
 
std::thread tick_thread
 The thread used to handle game tick. More...
 

Macro Definition Documentation

◆ ENGINE_VERSION

#define ENGINE_VERSION   "00296.01.12.21.0102.blamite"

◆ STR_ERROR_VULKAN_FAIL

#define STR_ERROR_VULKAN_FAIL   "Vulkan failed to initialize during early setup. Please verify that your graphics card drivers are installed and up-to-date. If the error persists, submit a bug report and be sure to include all files in the engine's Reports folder (default is /reports). \r\n\r\nVulkan init result: {0}"

Function Documentation

◆ BGFXMain()

int BGFXMain ( SDL_Window *  window)

◆ DirectXMain()

BlamResult DirectXMain ( SDL_Window *  window)

◆ DllMain()

BOOL APIENTRY DllMain ( HMODULE  module_handle,
DWORD  reason,
LPVOID  reserved 
)

◆ OpenGLMain()

int OpenGLMain ( SDL_Window *  window)

◆ VulkanMain()

int VulkanMain ( SDL_Window *  window)

Variable Documentation

◆ allocator

– TO BE FILLED IN BY VERTIGO –

◆ bytesReceived

UINT32 bytesReceived

– TO BE FILLED IN BY VERTIGO –

◆ cursor

HCURSOR cursor

Main window cursor.

◆ dll_handle

HMODULE dll_handle

The module handle of the Engine library.

◆ engine_window

SDL_Window* engine_window

Pointer to the window handle that the engine is utilizing.

◆ from

– TO BE FILLED IN BY VERTIGO –

◆ hInst

HINSTANCE hInst

Application instance handle.

◆ isConnected

bool isConnected

Whether or not the socket is currently connected.

◆ render_thread

std::thread render_thread

The thread used for rendering.

◆ sock

– TO BE FILLED IN BY VERTIGO –

◆ socketBuffer

UINT8* socketBuffer

– TO BE FILLED IN BY VERTIGO –

◆ tick_thread

std::thread tick_thread

The thread used to handle game tick.

◆ use_separate_render_thread

bool use_separate_render_thread = false

Whether or not to perform rendering tasks on a separate thread.

◆ window_name

const wchar_t* window_name

Main window name (replaces what used to be called 'ver_conv').