diff --git a/.efrocachemap b/.efrocachemap
index 4fc2d2b2..8f0e8722 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -4003,50 +4003,50 @@
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/1c/77/ac670a5118abdf8a7687af0e159b",
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
- "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/8d/26/6c0bd3ce52765637e83231d6fde1",
- "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/3b/7e/b7ef105fa0357b0d362603f129fc",
- "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/bf/6e/2ca7479c1feebbcd15554bebeea0",
- "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/78/00/bb8ae54341023805cf0f280b9155",
- "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/42/f5/b91d0ec0f98b50673ef913c7bc8e",
- "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/30/fa/9ad8555e93ee445f8154c5330b11",
- "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9e/b9/8d1dede802b852454a3124cae881",
- "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/8b/29/897ddf43f01868170b3a82cd7b90",
- "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/63/ea/a6a99f8bf6de4997d0ee80f5c469",
- "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/4e/9c/e7dca964568c7588765616b7c543",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/85/a3/79df52e6a0487a63305259fa0c1a",
- "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/e1/86/353b3402cd2fee04136b0e679838",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/8c/a7/0e58c80115b868c92d09807ca8cb",
- "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/30/0b/a53e1fd065417789f1d6ab4bbf41",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a1/d0/e93c6de7d8a64b6427a9a9b76d5d",
- "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/f2/64/40913c4d98b3614bf459ecbac060",
- "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/d3/29/70461e83a0f10150b4dec3829f51",
- "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/a8/8b/bdc933ac2015eb3cc259e83c26fa",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/17/8f/6b5134c9c89d09866da1c52a8e20",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/aa/8e/4e97eb4e5f1c20ca52c2b8b255dc",
- "build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2f/98/0f10aa690341351b047d9dc3fe65",
+ "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/08/44/a5f87c9250077aaa171cea27db18",
+ "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/c6/e1/938043bce1342a4166964c55931f",
+ "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/29/dd/0468d50927fc6b2e407328f91956",
+ "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/49/f4/cc2b8ad8725827b569272148f6b7",
+ "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/26/12/e5cb20be2bab9833b1f1d848d9fb",
+ "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f1/bd/c86f032265760dc16606f3778a2d",
+ "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/58/f6/9864b4ab5bbad1f1610d03028f1b",
+ "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fb/a3/d547e96bd36ce3d3d4b8af9b782d",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/af/74/f32e207555fe7a4c24c798aa295d",
+ "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/cb/d4/b160011cc796371010241a38b859",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/2d/05/bd94b7d8854b18bf603823d08589",
+ "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/16/f8/80de6f8f602cac3a65cff1362011",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/30/34/4e940a7f4b569deb69a65e275334",
+ "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/fb/95/e848148af57de2607e4961612a29",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9a/4d/5fe0983397557b61673124ec7237",
+ "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/2b/aa/6c86d675fbd55004e7a494a5d194",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/87/1b/f28c7759ca1664903bcb58f47c48",
+ "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/31/c0/21f4c6d231bd31d38c0015c5949a",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/93/60/22f3159334837527f5349657be51",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/df/2f/a371987b1d72aecf0197de973f8d",
+ "build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/c1/71/ff78dcc2d1079c1befb3909f88b6",
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/14/aa/d9e350323ed97ca2c87667c569bb",
- "build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/64/a9/03eb8d0e32bf35b10941eb8ca082",
+ "build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/c1/cc/f5ed9c6f03949851eaa5d2cd7aeb",
"build/prefab/lib/linux_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/52/2a/31fb94be0f4f5e9ded5a100e298d",
- "build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a0/dc/5479a3f5499236fd0b72cbec5c9b",
+ "build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ee/9f/7287e695504ed86e890d5472935e",
"build/prefab/lib/linux_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/41/6b/175b26bc4b4429aac713d4cc3c20",
- "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/e0/5c/5a5c6cbd883cba37f31d991722fe",
+ "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2e/7b/a1cd21de67736957e7b2f7550b6f",
"build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/81/bb/51740409b1cf442d8beed60f759c",
- "build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a2/7d/c630ea8a7975c3502cbd3ee6716f",
+ "build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/55/87/933974be0293a51749aa38afb90c",
"build/prefab/lib/mac_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/44/66/a2d065477f9677a2b869c5ebc0a9",
- "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/8d/5e/335032c7fc26a8026db29b0bb1f0",
+ "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a8/f7/4bbfc5478309ad97d056ba16f8d0",
"build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/26/94/73a12ae50fe3750547ce218f3857",
- "build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9a/77/a3607ad916ab9d0327cdd61800c5",
+ "build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/b1/ff/d2d2fc01c67baac72281783d38d6",
"build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9d/ac/b2dd3b8a8b231210f19b0ec30299",
- "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a6/cd/4b2cb9cbb7a617e408006f2eba7e",
+ "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/3e/37/1926c5062ca3589cf1d7c49bebff",
"build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9e/f7/cadeae6e408cabe57d9e1cf782d6",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/0a/c3/b0d1aa43e3e66de3c213b7fda5f1",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/3f/39/fb44f0b1907cc8a9def711f90488",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/56/d5/e469a881eacc313ac6ca5e48c450",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/81/f9/ffcebd4dc6f76392516644b04978",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/75/e2/2e4066c5bc8e429723169e8d0ca2",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/9c/b9/1702985e444ba529f8adcb933039",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/76/ab/cb3cfe64a3a8b976fc15166a7878",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/81/c4/b3845fc3fabd2bd3d997685e63f7",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/92/71/0e497882534506d4636784f83e41",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/65/87/f08f5ba3e4e91cc1bba8eb135c08",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/9d/80/5b8bbe6321375a34b2e42a07c603",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/77/2a/84887c5ed3a5b427a3cbd928e5f0",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/15/8b/8b1a60b721c13d693f8beec3c707",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/08/65/feb0f30e3f4bcdfa0576cededab1",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/b9/21/6a24928df840f9881a91469b07cc",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/e0/36/952c3f268d5d2ddb8b1acf83436e",
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/25/77/8093dfffddaa80cd513ddaa61867",
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/2d/4f/f4fe67827f36cd59cd5193333a02",
"src/ballistica/generated/python_embedded/bootstrap_monolithic.inc": "https://files.ballistica.net/cache/ba1/ef/c1/aa5f1aa10af89f5c0b1e616355fd"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c887bc08..48347e44 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-### 1.7.14 (build 20943, api 7, 2022-11-29)
+### 1.7.14 (build 20944, api 7, 2022-11-29)
- Android Google Play logins now provide V2 accounts with access to all V2 features such as a globally-unique account tag, cloud-console, and workspaces. They should still retain their V1 data as well.
- V2 accounts now have a 'Manage Account' button in the app account window which will sign you into a browser with your current account.
- Removed Google App Invite functionality which has been deprecated for a while now. Google Play users can still get tickets by sharing the app via codes (same as other platforms).
diff --git a/assets/src/ba_data/python/._ba_sources_hash b/assets/src/ba_data/python/._ba_sources_hash
index 3c92f5a5..121cc8c6 100644
--- a/assets/src/ba_data/python/._ba_sources_hash
+++ b/assets/src/ba_data/python/._ba_sources_hash
@@ -1 +1 @@
-199621046220623727886241861967391185247
\ No newline at end of file
+313825873705357186590048512620581045590
\ No newline at end of file
diff --git a/assets/src/ba_data/python/ba/_bootstrap.py b/assets/src/ba_data/python/ba/_bootstrap.py
index 5aef6f3c..f877b79c 100644
--- a/assets/src/ba_data/python/ba/_bootstrap.py
+++ b/assets/src/ba_data/python/ba/_bootstrap.py
@@ -47,7 +47,7 @@ def bootstrap() -> None:
# Give a soft warning if we're being used with a different binary
# version than we expect.
- expected_build = 20943
+ expected_build = 20944
running_build: int = env['build_number']
if running_build != expected_build:
print(
diff --git a/ballisticacore-cmake/CMakeLists.txt b/ballisticacore-cmake/CMakeLists.txt
index 77deaf38..4b79cb15 100644
--- a/ballisticacore-cmake/CMakeLists.txt
+++ b/ballisticacore-cmake/CMakeLists.txt
@@ -464,7 +464,6 @@ add_executable(ballisticacore
${BA_SRC_ROOT}/ballistica/logic/connection/connection_to_host.h
${BA_SRC_ROOT}/ballistica/logic/connection/connection_to_host_udp.cc
${BA_SRC_ROOT}/ballistica/logic/connection/connection_to_host_udp.h
- ${BA_SRC_ROOT}/ballistica/logic/friend_score_set.h
${BA_SRC_ROOT}/ballistica/logic/host_activity.cc
${BA_SRC_ROOT}/ballistica/logic/host_activity.h
${BA_SRC_ROOT}/ballistica/logic/logic.cc
diff --git a/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj b/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj
index 8f4b7c5a..18e36464 100644
--- a/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj
+++ b/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj
@@ -455,7 +455,6 @@
-
diff --git a/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj.filters b/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj.filters
index 4430ba75..75bed1a1 100644
--- a/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj.filters
+++ b/ballisticacore-windows/Generic/BallisticaCoreGeneric.vcxproj.filters
@@ -799,9 +799,6 @@
ballistica\logic\connection
-
- ballistica\logic
-
ballistica\logic
diff --git a/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj b/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj
index f1654fcf..78353bdb 100644
--- a/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj
+++ b/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj
@@ -450,7 +450,6 @@
-
diff --git a/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj.filters b/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj.filters
index 4430ba75..75bed1a1 100644
--- a/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj.filters
+++ b/ballisticacore-windows/Headless/BallisticaCoreHeadless.vcxproj.filters
@@ -799,9 +799,6 @@
ballistica\logic\connection
-
- ballistica\logic
-
ballistica\logic
diff --git a/src/ballistica/ballistica.cc b/src/ballistica/ballistica.cc
index d7b1b79c..d524e081 100644
--- a/src/ballistica/ballistica.cc
+++ b/src/ballistica/ballistica.cc
@@ -32,7 +32,7 @@
namespace ballistica {
// These are set automatically via script; don't modify them here.
-const int kAppBuildNumber = 20943;
+const int kAppBuildNumber = 20944;
const char* kAppVersion = "1.7.14";
// Our standalone globals.
diff --git a/src/ballistica/core/types.h b/src/ballistica/core/types.h
index 663d0ad9..956d63f8 100644
--- a/src/ballistica/core/types.h
+++ b/src/ballistica/core/types.h
@@ -80,7 +80,6 @@ class Data;
class DataData;
class Dynamics;
class FrameDef;
-struct FriendScoreSet;
class GLContext;
class GlobalsNode;
class Graphics;
diff --git a/src/ballistica/logic/friend_score_set.h b/src/ballistica/logic/friend_score_set.h
deleted file mode 100644
index e90dd619..00000000
--- a/src/ballistica/logic/friend_score_set.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Released under the MIT License. See LICENSE for details.
-
-#ifndef BALLISTICA_LOGIC_FRIEND_SCORE_SET_H_
-#define BALLISTICA_LOGIC_FRIEND_SCORE_SET_H_
-
-#include
-#include
-#include
-
-namespace ballistica {
-
-// Used by game-center/etc when reporting friend scores to the game.
-struct FriendScoreSet {
- FriendScoreSet(bool success, void* user_data)
- : success(success), user_data(user_data) {}
- struct Entry {
- Entry(int score, std::string name, bool is_me)
- : score(score), name(std::move(name)), is_me(is_me) {}
- int score;
- std::string name;
- bool is_me;
- };
- std::list entries;
- bool success;
- void* user_data;
-};
-
-} // namespace ballistica
-
-#endif // BALLISTICA_LOGIC_FRIEND_SCORE_SET_H_
diff --git a/src/ballistica/logic/logic.cc b/src/ballistica/logic/logic.cc
index 7e43bc65..8ac784af 100644
--- a/src/ballistica/logic/logic.cc
+++ b/src/ballistica/logic/logic.cc
@@ -19,7 +19,6 @@
#include "ballistica/logic/connection/connection_set.h"
#include "ballistica/logic/connection/connection_to_client_udp.h"
#include "ballistica/logic/connection/connection_to_host_udp.h"
-#include "ballistica/logic/friend_score_set.h"
#include "ballistica/logic/host_activity.h"
#include "ballistica/logic/player.h"
#include "ballistica/logic/session/client_session.h"
@@ -1138,11 +1137,6 @@ void Logic::PushPlaySoundCall(SystemSoundID sound) {
[sound] { g_audio->PlaySound(g_assets->GetSound(sound)); });
}
-void Logic::PushFriendScoreSetCall(const FriendScoreSet& score_set) {
- thread()->PushCall(
- [score_set] { g_python->HandleFriendScoresCB(score_set); });
-}
-
void Logic::PushConfirmQuitCall() {
thread()->PushCall([this] {
assert(InLogicThread());
diff --git a/src/ballistica/logic/logic.h b/src/ballistica/logic/logic.h
index 5a5c0bfa..1baa65d0 100644
--- a/src/ballistica/logic/logic.h
+++ b/src/ballistica/logic/logic.h
@@ -88,7 +88,6 @@ class Logic {
auto PushConfirmQuitCall() -> void;
auto PushStringEditSetCall(const std::string& value) -> void;
auto PushStringEditCancelCall() -> void;
- auto PushFriendScoreSetCall(const FriendScoreSet& score_set) -> void;
auto PushShowURLCall(const std::string& url) -> void;
auto PushOnAppResumeCall() -> void;
auto PushFrameDefRequest() -> void;
diff --git a/src/ballistica/platform/platform.cc b/src/ballistica/platform/platform.cc
index 31abfccb..0bdb8a89 100644
--- a/src/ballistica/platform/platform.cc
+++ b/src/ballistica/platform/platform.cc
@@ -28,7 +28,6 @@
#include "ballistica/graphics/mesh/sprite_mesh.h"
#include "ballistica/graphics/vr_graphics.h"
#include "ballistica/input/input.h"
-#include "ballistica/logic/friend_score_set.h"
#include "ballistica/logic/logic.h"
#include "ballistica/networking/networking_sys.h"
#include "ballistica/platform/sdl/sdl_app.h"
diff --git a/src/ballistica/python/python.cc b/src/ballistica/python/python.cc
index 4ca762fe..4d2c57cc 100644
--- a/src/ballistica/python/python.cc
+++ b/src/ballistica/python/python.cc
@@ -14,7 +14,6 @@
#include "ballistica/input/device/joystick.h"
#include "ballistica/input/device/keyboard_input.h"
#include "ballistica/internal/app_internal.h"
-#include "ballistica/logic/friend_score_set.h"
#include "ballistica/logic/host_activity.h"
#include "ballistica/logic/player.h"
#include "ballistica/logic/v1_account.h"
@@ -2144,40 +2143,6 @@ void Python::CaptureKeyboardInput(PyObject* obj) {
}
void Python::ReleaseKeyboardInput() { keyboard_call_.Release(); }
-void Python::HandleFriendScoresCB(const FriendScoreSet& score_set) {
- // This is the initial strong-ref to this pointer
- // so it will be cleaned up properly.
- Object::Ref cb(
- static_cast(score_set.user_data));
-
- // We pass None on error.
- if (!score_set.success) {
- PythonRef args(Py_BuildValue("(O)", Py_None), PythonRef::kSteal);
- cb->Run(args);
- } else {
- // Otherwise convert it to a python list and pass that.
- PyObject* py_list = PyList_New(0);
- std::string icon_str;
-#if BA_USE_GOOGLE_PLAY_GAME_SERVICES
- icon_str = g_logic->CharStr(SpecialChar::kGooglePlayGamesLogo);
-#elif BA_USE_GAME_CIRCLE
- icon_str = g_logic->CharStr(SpecialChar::kGameCircleLogo);
-#elif BA_USE_GAME_CENTER
- icon_str = g_logic->CharStr(SpecialChar::kGameCenterLogo);
-#endif
- for (auto&& i : score_set.entries) {
- PyObject* obj =
- Py_BuildValue("[isi]", i.score, (icon_str + i.name).c_str(),
- static_cast(i.is_me));
- PyList_Append(py_list, obj);
- Py_DECREF(obj);
- }
- PythonRef args(Py_BuildValue("(O)", py_list), PythonRef::kSteal);
- Py_DECREF(py_list);
- cb->Run(args);
- }
-}
-
auto Python::HandleKeyPressEvent(const SDL_Keysym& keysym) -> bool {
assert(InLogicThread());
if (!keyboard_call_.exists()) {
diff --git a/src/ballistica/python/python.h b/src/ballistica/python/python.h
index 284e589f..35df1fe0 100644
--- a/src/ballistica/python/python.h
+++ b/src/ballistica/python/python.h
@@ -114,7 +114,6 @@ class Python {
auto ReleaseGamePadInput() -> void;
auto CaptureKeyboardInput(PyObject* obj) -> void;
auto ReleaseKeyboardInput() -> void;
- auto HandleFriendScoresCB(const FriendScoreSet& ss) -> void;
auto IssueCallInLogicThreadWarning(PyObject* call) -> void;
/// Borrowed from python's source code: used in overriding of objects' dir()
diff --git a/tools/efro/rpc.py b/tools/efro/rpc.py
index c6412bfd..4fe7e639 100644
--- a/tools/efro/rpc.py
+++ b/tools/efro/rpc.py
@@ -628,7 +628,8 @@ class RPCEndpoint:
# Now just sit and handle stuff as it comes in.
while True:
- assert not self._closing
+ if self._closing:
+ return
# Read message type.
mtype = _PacketType(await self._read_int_8())