From 81365a665e912536045f7fed99e3a2e8973f6fff Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Sat, 3 Oct 2020 13:45:39 -0500 Subject: [PATCH] More C++ Work --- .efrocachemap | 20 ++++++++++---------- .idea/dictionaries/ericf.xml | 13 +++++++------ src/ballistica/ballistica.cc | 6 ++++-- src/ballistica/ballistica.h | 5 +++++ src/ballistica/core/types.h | 1 + 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index f968205e..b6dd77ac 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -3934,14 +3934,14 @@ "assets/build/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/50/8d/bc2600ac9491f1b14d659709451f", "build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ac/96/c3b9934061393fe09cc90ff24b8d", "build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/38/2b/5641b3b40846f74f232771ac0457", - "build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/fd/10/7681acdbd8feccb27175d6ab8609", - "build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/fd/72/faa94ff6532a95c121fcb5a4f788", - "build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/97/99/5ba65477f8b846beb98d146a1d2c", - "build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/dd/5d/f8c5b24579236bef5209d7089044", - "build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/ba/af/659cd48bd1be9b22ba3006ccb5f9", - "build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/45/1e/cea9badaf52032adb40e6c3b5e21", - "build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/9c/53/c0a2b1c2ee30397db0eb367b688c", - "build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/8b/a1/c3471ecf846cce50d9220f7214c3", - "build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/fa/95/87cc2ad7f0e780b02cd9ac633d3d", - "build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/31/6f/9a29e7100425f8a364208ba40f4f" + "build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/12/0a/ea925f186b90fc6825826a172ff4", + "build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/33/c6/eef5bce22b04b76d250086bf0f8e", + "build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/bf/9c/f478ef45dd97e24820875692febf", + "build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d1/a1/1abc324a112757d413b783b4604f", + "build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/a0/1b/926ca3d53ed7b3a5c915f6cef903", + "build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/e2/1c/b15ca147f7fde42f92c7178bc8b1", + "build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/ec/cd/23e1c5e72dc5ec432f1d4453246c", + "build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/ff/a9/3aac029e7bf8511eb3cf0a40a454", + "build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/a0/04/8274ec50900ee6ba4bc68960f074", + "build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/98/9f/1a878cf5afa75ce59130ecf39d3b" } \ No newline at end of file diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml index a1496dc2..53679d5c 100644 --- a/.idea/dictionaries/ericf.xml +++ b/.idea/dictionaries/ericf.xml @@ -29,8 +29,8 @@ achname achs acinstance - ack ack'ed + ack acked acks acnt @@ -151,8 +151,8 @@ bacommon badguy bafoundation - ballistica ballistica's + ballistica ballisticacore ballisticacorecb bamaster @@ -793,8 +793,8 @@ gamedata gameinstance gamemap - gamepad gamepad's + gamepad gamepadadvanced gamepads gamepadselect @@ -1177,8 +1177,8 @@ lsqlite lssl lstart - lstr lstr's + lstr lstrs lsval ltex @@ -1803,8 +1803,8 @@ sessionname sessionplayer sessionplayers - sessionteam sessionteam's + sessionteam sessionteams sessiontype setactivity @@ -1853,6 +1853,7 @@ snakeshadow sname snode + sockaddr socketmodule socketserver somevar @@ -2134,8 +2135,8 @@ txtw typeargs typecheck - typechecker typechecker's + typechecker typedval typeshed typestr diff --git a/src/ballistica/ballistica.cc b/src/ballistica/ballistica.cc index 3bbb99db..6ffc85c2 100644 --- a/src/ballistica/ballistica.cc +++ b/src/ballistica/ballistica.cc @@ -29,7 +29,7 @@ namespace ballistica { // These are set automatically via script; don't change here. -const int kAppBuildNumber = 20194; +const int kAppBuildNumber = 20195; const char* kAppVersion = "1.5.26"; const char* kBlessingHash = nullptr; @@ -40,6 +40,7 @@ int g_early_log_writes{10}; Thread* g_main_thread{}; AppGlobals* g_app_globals{}; AppConfig* g_app_config{}; +AppInternal* g_app_internal{}; App* g_app{}; Account* g_account{}; Game* g_game{}; @@ -81,7 +82,7 @@ TextGraphics* g_text_graphics{}; auto BallisticaMain(int argc, char** argv) -> int { try { // Even at the absolute start of execution we should be able to - // phone home on errors. Set BA_CRASH_TEST=1 to test this. + // phone home on errors. Set env var BA_CRASH_TEST=1 to test this. if (const char* crashenv = getenv("BA_CRASH_TEST")) { if (!strcmp(crashenv, "1")) { FatalError("Fatal-Error-Test"); @@ -93,6 +94,7 @@ auto BallisticaMain(int argc, char** argv) -> int { // ------------------------------------------------------------------------- g_app_globals = new AppGlobals(argc, argv); + g_app_internal = CreateAppInternal(); g_platform = Platform::Create(); g_platform->PostInit(); g_account = new Account(); diff --git a/src/ballistica/ballistica.h b/src/ballistica/ballistica.h index b615fa98..b8b7a0e7 100644 --- a/src/ballistica/ballistica.h +++ b/src/ballistica/ballistica.h @@ -119,6 +119,7 @@ extern Account* g_account; extern App* g_app; extern AppConfig* g_app_config; extern AppGlobals* g_app_globals; +extern AppInternal* g_app_internal; extern Audio* g_audio; extern AudioServer* g_audio_server; extern BGDynamics* g_bg_dynamics; @@ -151,6 +152,10 @@ auto GetUniqueSessionIdentifier() -> const std::string&; /// Have our main threads/modules all been inited yet? auto IsBootstrapped() -> bool; +/// Create/init our internal (non-public) parts. +auto CreateAppInternal() -> AppInternal*; +auto AppInternalGameThreadInit() -> void; + /// Does it appear that we are a blessed build with no known user-modifications? auto IsUnmodifiedBlessedBuild() -> bool; diff --git a/src/ballistica/core/types.h b/src/ballistica/core/types.h index 3fe73091..0457d6e5 100644 --- a/src/ballistica/core/types.h +++ b/src/ballistica/core/types.h @@ -40,6 +40,7 @@ class Account; class App; class AppConfig; class AppGlobals; +class AppInternal; class AreaOfInterest; class Audio; class AudioServer;