untangling plus and scene_v1

This commit is contained in:
Eric 2023-06-06 14:04:33 -07:00
parent dbc33a8c07
commit daf0c86de0
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
9 changed files with 102 additions and 47 deletions

88
.efrocachemap generated
View File

@ -4072,50 +4072,50 @@
"build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/c5/09/4f10b8a21ba87aa5509cff7a164b",
"build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/ff/0a/a354984f9c074dab0676ac7e4877",
"build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/2a/1c/9ee5db6d1bceca7fa6638fb8abde",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/6b/9a/6313a4b212c36f53da9cdf32c38b",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/70/b4/8975e0b0a26bf9ced5a34401f1a6",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/32/7c/85b0ff2d37185544834f41820fdc",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/fb/9f/4f01c15d0262ab0501a8f253678f",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/46/f2/2d1f5d7b391dc65d37157910d1b7",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/0b/81/0396d9b854ca8617c6bcc7ff168b",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d9/bc/05432a5b597d79e3e3235f876e39",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/81/6f/ce631321ef56e17894e92546e30b",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/79/48/9931cf04a947980bd2ff5222de3c",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/b1/ab/ae134a5729ef40798494ecdf7920",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/27/54/b0ba89c5e647fea81ba764920875",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/58/fb/a36f01a572e14459ff71c17b14b9",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/9a/d7/507f8d0f9919bdfe281f5fd01bd0",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/bb/24/276541840cfe0a056ba7e50d55a9",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/0f/b6/4f3936ca3d59ecec5104d41cf175",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/0b/88/1febae9b9580d363af9d3d8f8227",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/87/c1/94208864f2693c2246136163c094",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/26/41/007819d0c0e0e4a1146b95362e92",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/97/e6/af19bc7077a7da6fb77b0778e96c",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/e8/8c/9c6829f71380c0cf8832b512887a",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/11/1a/3667710b9386d92c9867f7a70eaf",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d9/f5/ef44ac4c74d42a32c829e17ae0af",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/60/64/3c8138a61d1b3ebe943fe2385f96",
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/51/1b/3205488128538b30306525c5f08c",
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f1/db/431afc311160bde1f89f903b1660",
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a4/7a/0a308d6e411d49bd33cc54274ba9",
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ff/64/92bd8763912c28f2250f7effa2a3",
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a7/18/c957bed67a148f18de6bb222c988",
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f8/10/09b6fb3f3bd16f0fcede8948a6dc",
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4b/18/a198680c2c8ecb25d5f3fb4241c3",
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fd/4a/f0f197715791d07789f487478f90",
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fc/ea/241a8fafc2058049166159d24b63",
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c2/9d/8c5ecfb247c17177444ae9f36066",
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/9e/a2/ebf7b34ed27aa208ace67f41cea4",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f7/3f/385af37f9370f3d78fe95d0ef2a4",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/cb/a7/a441cd41c0ce091553c5d8b7e43a",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/12/17/3fdb8e5b836b53c9a0380de3b4c3",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/24/38/aa1c0b874e1bbf4ef39de365d671",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/f4/d1/437232324bb82dfdd8d25a92befb",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/0c/8d/1f3ad27b14a8c8d2367e40e2bdf3",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/d9/88/23b717cfc87b5f17f4de686794bb",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/ec/91/859a8a531fce018bdc1c6de2f6ce",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/ad/4a/8756ad59a58070171927002dea14",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/38/72/418c7442db80f1bbc5bfbfab4f10",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/04/99/c47163190272477365210ff9eee6",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/5b/6e/618add5bc5a060eede7c7b0cf32b",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/82/21/0fab4e58571186740416a037ff59",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/a8/3d/867c69eb5ce91010a8a44df27dbf",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/ce/b2/b64c1035517e80223c73a4b0519a",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/84/ce/13d9ea8a53d4c6dc9b69006b7b9d",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/62/d6/86b22c5ac23653e5b7f88851de19",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/26/97/c51262aa8486b4e55ddd4dd8356f",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/93/b9/99d319be31de789d7a9ddf869fe4",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/af/aa/98c3c9c570ce1559be90a85ef679",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/51/02/b228bc84231bd2c5ad1c29aaa4f5",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d5/6e/db06edfd67461eb0fa7ec36ecad9",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/f1/47/8b052b5f99623a20a17b5a386a02",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/58/96/c17aaee0cb4e34cddf7c26e343be",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/bc/c2/4fdc00ed8159d07e28205122d911",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1a/d6/0f779e390f3cf2d6dbf02e46817f",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/92/4e/c1afdd4eed5b3bd6f9bd34e7326d",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/fd/33/5d2dd5d29a92bc89b0e0f2ae747a",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/cc/5d/9939b79656bc1c27f426aec865fb",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/dd/25/81229ca25a29b6ae13d5aa12b581",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/af/f2/dddc001c9f901bf96dc2cf6dab3d",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/99/a5/cab0099c2fab04dd4184f47a4b98",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/24/0f/2707e0f7178de0d2004f844511a6",
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2c/54/6d95abc0d57b2f2e885e661f5bfb",
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/78/cc/e3de51af7ad7c79ca4e90b1c55b4",
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/31/c7/8f9eb75e8d9db37555a14372adcd",
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/6b/6fbe0f830b5dcdca7c0c2d6ef020",
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ec/f3/d86a92d6b3a040d3f16fb6d881dc",
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/75/e6/2383026bdc24e21f96d70117677b",
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/96/38/c45d3e41db2c711d728ed7e88754",
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/9d/66/edefaf87b7273f964564688318bb",
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ac/b8/7dde6891d1746dfaae863701121c",
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2a/11/1042aeebe235a6f23765053708f7",
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c4/76/269cb4108fc91861800c7e08a50e",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ac/c4/cab5bbf5d7e977e843a4749c8aea",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8d/58/9ad0751e7428f393005b09399682",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/05/70/de2f00c3f50b2368dff1600d82a0",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/fd/b0/42b1efb0c35570002c6064aa920d",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/95/28/d36f318fce36ead598b674dcccf3",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/c9/5b/42af29d9337b8e79bc8447d354a8",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/82/8a/183737a2e13d6ae02f3847679aa1",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/ae/ae/8fd6ae4349f7ae4755aa201782f6",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/e6/70/286aeeb48f26fa00c74d424f2190",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/f5/40/94e3aa7d2688ed24e3284a3a6789",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa",
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/75/9f/bcf597b362c9f2480cb348188bdd",

View File

@ -1,4 +1,4 @@
### 1.7.20 (build 21051, api 8, 2023-06-06)
### 1.7.20 (build 21052, api 8, 2023-06-06)
- This seems like a good time for a `refactoring` release in anticipation of
changes coming in 1.8. Basically this means that a lot of things will be

View File

@ -28,7 +28,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
TARGET_BALLISTICA_BUILD = 21051
TARGET_BALLISTICA_BUILD = 21052
TARGET_BALLISTICA_VERSION = '1.7.20'
_g_env_config: EnvConfig | None = None

View File

@ -38,6 +38,9 @@ class ClassicSoftInterface {
virtual auto GetV1AccountProductPurchased(const char* item) -> bool = 0;
virtual auto GetV1AccountProductPurchasesState() -> int = 0;
virtual void SetV1DeviceAccount(const std::string& name) = 0;
virtual auto GetClientInfoQueryResponseCall() -> PyObject* = 0;
virtual auto BuildPublicPartyStateVal() -> PyObject* = 0;
virtual auto GetV1AccountDisplayString(bool full) -> std::string = 0;
};
} // namespace ballistica::base

View File

@ -5,12 +5,17 @@
#include "ballistica/classic/python/classic_python.h"
#include "ballistica/classic/support/v1_account.h"
#include "ballistica/core/platform/core_platform.h"
#include "ballistica/scene_v1/python/scene_v1_python.h"
#include "ballistica/scene_v1/scene_v1.h"
#include "ballistica/scene_v1/support/player_spec.h"
#include "ballistica/shared/generic/utils.h"
namespace ballistica::classic {
core::CoreFeatureSet* g_core{};
base::BaseFeatureSet* g_base{};
ClassicFeatureSet* g_classic{};
scene_v1::SceneV1FeatureSet* g_scene_v1{};
void ClassicFeatureSet::OnModuleExec(PyObject* module) {
// Ok, our feature-set's Python module is getting imported.
@ -43,6 +48,9 @@ void ClassicFeatureSet::OnModuleExec(PyObject* module) {
// (save it the trouble of trying to load us if it uses us passively).
g_base->set_classic(g_classic);
assert(g_scene_v1 == nullptr);
g_scene_v1 = scene_v1::SceneV1FeatureSet::Import();
g_core->LifecycleLog("_baclassic exec end");
}
@ -184,4 +192,26 @@ void ClassicFeatureSet::SetV1DeviceAccount(const std::string& name) {
g_core->platform->GetDeviceV1AccountID());
}
auto ClassicFeatureSet::GetClientInfoQueryResponseCall() -> PyObject* {
return g_scene_v1->python->objs()
.Get(scene_v1::SceneV1Python::ObjID::kClientInfoQueryResponseCall)
.Get();
}
auto ClassicFeatureSet::BuildPublicPartyStateVal() -> PyObject* {
return python->BuildPublicPartyStateVal();
}
std::string ClassicFeatureSet::GetV1AccountDisplayString(bool full) {
if (full) {
assert(Utils::IsValidUTF8(
scene_v1::PlayerSpec::GetAccountPlayerSpec().GetDisplayString()));
return scene_v1::PlayerSpec::GetAccountPlayerSpec().GetDisplayString();
} else {
assert(Utils::IsValidUTF8(
scene_v1::PlayerSpec::GetAccountPlayerSpec().GetShortName()));
return scene_v1::PlayerSpec::GetAccountPlayerSpec().GetShortName();
}
}
} // namespace ballistica::classic

View File

@ -19,6 +19,9 @@ class CoreFeatureSet;
namespace ballistica::base {
class BaseFeatureSet;
}
namespace ballistica::scene_v1 {
class SceneV1FeatureSet;
}
namespace ballistica::classic {
@ -55,6 +58,7 @@ enum class V1LoginState {
extern core::CoreFeatureSet* g_core;
extern base::BaseFeatureSet* g_base;
extern ClassicFeatureSet* g_classic;
extern scene_v1::SceneV1FeatureSet* g_scene_v1;
/// Our C++ front-end to our feature set. This is what other C++
/// feature-sets can 'Import' from us.
@ -88,6 +92,9 @@ class ClassicFeatureSet : public FeatureSetNativeComponent,
auto GetV1AccountProductPurchased(const char* item) -> bool override;
auto GetV1AccountProductPurchasesState() -> int override;
void SetV1DeviceAccount(const std::string& name) override;
auto GetClientInfoQueryResponseCall() -> PyObject* override;
auto BuildPublicPartyStateVal() -> PyObject* override;
auto GetV1AccountDisplayString(bool full) -> std::string override;
ClassicPython* const python;
V1Account* const v1_account;

View File

@ -4,6 +4,7 @@
#include "ballistica/base/input/device/input_device.h"
#include "ballistica/classic/python/methods/python_methods_classic.h"
#include "ballistica/scene_v1/support/scene_v1_app_mode.h"
#include "ballistica/shared/python/python_command.h"
#include "ballistica/shared/python/python_module_builder.h"
@ -91,4 +92,17 @@ auto ClassicPython::GetControllerFloatValue(base::InputDevice* device,
return static_cast<float>(PyFloat_AsDouble(ret_val.Get()));
}
auto ClassicPython::BuildPublicPartyStateVal() -> PyObject* {
auto* appmode = scene_v1::SceneV1AppMode::GetActiveOrThrow();
return Py_BuildValue(
"(iiiiisssi)", static_cast<int>(appmode->public_party_enabled()),
appmode->public_party_size(), appmode->public_party_max_size(),
appmode->public_party_player_count(),
appmode->public_party_max_player_count(),
appmode->public_party_name().c_str(),
appmode->public_party_min_league().c_str(),
appmode->public_party_stats_url().c_str(),
static_cast<int>(appmode->public_party_queue_enabled()));
}
} // namespace ballistica::classic

View File

@ -28,6 +28,7 @@ class ClassicPython {
const std::string& value_name) -> int;
auto GetControllerFloatValue(base::InputDevice* device,
const std::string& value_name) -> float;
auto BuildPublicPartyStateVal() -> PyObject*;
const auto& objs() { return objs_; }

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica {
// These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 21051;
const int kEngineBuildNumber = 21052;
const char* kEngineVersion = "1.7.20";
auto MonolithicMain(const core::CoreConfig& core_config) -> int {