diff --git a/.efrocachemap b/.efrocachemap index b13b239e9..18c5784a1 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4103,22 +4103,22 @@ "build/assets/windows/Win32/ucrtbased.dll": "bfd1180c269d3950b76f35a63655e9e1", "build/assets/windows/Win32/vc_redist.x86.exe": "15a5f1f876503885adbdf5b3989b3718", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "aaaf15a8a3968a5f9c99d242f5384857", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "9864117215a88d0434d153e3840323fc", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "6bfaafce85f68dbd631a6bf5d71be6c7", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "1b3a9671e0ec25d4d4f4312939e45f2a", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "85facaa825957bfdb3971220033b77c8", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "3ac89f516eca7a337b351aad780e5fec", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "6b7fa3e1615f004d7db2624174406baf", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "3277dcd7907ae9cdb9d71a6ab55203eb", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "b88dc886212e085e2c3f2c60497b6e9e", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "0ca8ee17ea6c20b955f09e06586dd03e", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "d2e0005fbeb6cfb7029d2587befbd703", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "4badd0d286f63a16886876c161c562be", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "1a7c38b236a5fe16c685c15527f658bd", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "2f4f2de5d326cceed8bef59f7d53eaa9", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "9e555dd5536b24e2f369261022e6301b", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "0875d9be5d271563bee284cbe052aa87", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "ab55374916d20160ba0f75e17478d8e6", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "b575d4be68a1ca4fe1d68254f6ac2df0", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "072feacd0d4a14985ee2338906a1ade7", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "325c1a25e339d1aa64b860777a0aafb7", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "85042e81dcfbf1ad00c092446568d2ec", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "9bef1c2f1e7490cc53eb6788463ff613", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "9de86283276fd1037976cde03f520543", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "6b1e0ea771e2fbc2234fad52ed62d21c", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "62d39162a8803c958e0e5bc59aadd4a3", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "2d3c5d3b8ac89537cc40f2b1884633cb", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "7c3ced766894f47afec4f928554ec807", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "db2634306622d7aa9bf5ef8fd30ee70b", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "00239138eb7bc30bdfd22989debffb3d", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "a50310d650ea4fbf0bc45ead3887bb76", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "eb1aa55288db1db3a481e0e108b88087", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "07c648bdb207f335a390da520d9e76c6", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "33a0ae6f1ea5a0b0c60055ce01478488", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "aad882eaf2230b89973e2cf4f13c9759", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "33a0ae6f1ea5a0b0c60055ce01478488", @@ -4131,14 +4131,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "ae4e3f563892f6b9311c4b7284f28c11", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "01dab862a43d9e7c4ee4e49212442d42", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "ae4e3f563892f6b9311c4b7284f28c11", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "4db5845cd1089bf9591c52f4feca4455", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "38ab6b8b4bfceae47d27c218556d770f", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "8764576e60e3fcd114bdd910736fc972", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "95f6af857196b71243ab71fd6ddc0da5", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "baa253ffc6a9d7be71b64c75b8e17498", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "473ac21b2510149bd46849f21d5f3420", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "1cf5b56cfa597ad908caa117247a031f", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "f51e076eede86d41e3853673dcfa5ea6", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "aa3332e8d5ded2dc0656a09d3ee71527", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "a4897e3727dd3fd71e0d49dac835064c", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "df824c45440b8fcad239975b9ce81e87", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "5814b077e8e82a8b1fe01c3a2e512e97", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "459c49e45d29bea26dfe4af6b7bd275c", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a79f365d2d6e936138ee2d4114f3cd0a", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "aea258c65f7a7851c7809edd7fb85780", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "284e769c092bcc4a5398cb6856b91460", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad", "src/ballistica/base/mgen/pyembed/binding_base.inc": "06042d31df0ff9af96b99477162e2a91", diff --git a/CHANGELOG.md b/CHANGELOG.md index 694920f96..578758a72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22147, api 9, 2024-12-28) +### 1.7.37 (build 22148, api 9, 2024-12-28) - Bumping api version to 9. As you'll see below, there's some UI changes that will require a bit of work for any UI mods to adapt to. If your mods don't touch UI stuff at all you can simply bump your api version and call it a day. diff --git a/src/assets/ba_data/python/baclassic/_appmode.py b/src/assets/ba_data/python/baclassic/_appmode.py index e04890a90..f898c8993 100644 --- a/src/assets/ba_data/python/baclassic/_appmode.py +++ b/src/assets/ba_data/python/baclassic/_appmode.py @@ -303,6 +303,7 @@ def _root_ui_menu_press(self) -> None: ui.clear_main_window() return + # Otherwise push_back_press() def _root_ui_account_press(self) -> None: diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 60905f76e..1279457a9 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -53,7 +53,7 @@ # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22147 +TARGET_BALLISTICA_BUILD = 22148 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py index 74cd78bbf..085e91113 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py @@ -350,7 +350,9 @@ def show_ui(self) -> None: return rootc = self._root_ui = bui.containerwidget( - size=(0, 0), transition='in_right' + size=(0, 0), + transition='in_right', + toolbar_visibility='no_menu_minimal', ) h_offs = 7.0 diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 0a2e9e024..8137cc58b 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -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 = 22147; +const int kEngineBuildNumber = 22148; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9; diff --git a/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc b/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc index a17671054..4ce9db704 100644 --- a/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc +++ b/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc @@ -1370,6 +1370,8 @@ static auto PyContainerWidget(PyObject* self, PyObject* args, PyObject* keywds) val = Widget::ToolbarVisibility::kInherit; } else if (sval == "get_tokens") { val = Widget::ToolbarVisibility::kGetTokens; + } else if (sval == "no_menu_minimal") { + val = Widget::ToolbarVisibility::kNoMenuMinimal; } else { throw Exception("Invalid toolbar_visibility: '" + sval + "'.", PyExcType::kValue); @@ -1432,6 +1434,7 @@ static PyMethodDef PyContainerWidgetDef = { " 'menu_in_game',\n" " 'menu_tokens',\n" " 'get_tokens',\n" + " 'no_menu_minimal',\n" " 'inherit',\n" " ] | None = None,\n" " on_select_call: Callable[[], None] | None = None,\n" diff --git a/src/ballistica/ui_v1/widget/root_widget.cc b/src/ballistica/ui_v1/widget/root_widget.cc index ff3c1b4d1..ff23221db 100644 --- a/src/ballistica/ui_v1/widget/root_widget.cc +++ b/src/ballistica/ui_v1/widget/root_widget.cc @@ -548,14 +548,11 @@ void RootWidget::Setup() { AddMeter_(MeterType_::kLevel, 0.0f, 1.0f, 1.0f, 1.0f, false, ""); AddMeter_(MeterType_::kTrophy, 0.0f, 1.0f, 1.0f, 1.0f, false, ""); - // Menu button (only shows up when we're not in a menu). - // FIXME - this should never be visible on TV or VR UI modes { ButtonDef_ b; b.h_align = 1.0f; b.v_align = VAlign_::kTop; b.width = b.height = 65.0f; - // b.x = -36.0f; b.y = b.height * -0.48f; b.img = "menuButton"; b.call = UIV1Python::ObjID::kRootUIMenuButtonPressCall; @@ -599,7 +596,8 @@ void RootWidget::Setup() { | static_cast(Widget::ToolbarVisibility::kMenuFullNoBack) | static_cast(Widget::ToolbarVisibility::kMenuFullRoot) | static_cast(Widget::ToolbarVisibility::kGetTokens) - | static_cast(Widget::ToolbarVisibility::kMenuTokens)); + | static_cast(Widget::ToolbarVisibility::kMenuTokens) + | static_cast(Widget::ToolbarVisibility::kNoMenuMinimal)); b.pre_buffer = 5.0f; b.enable_sound = false; squad_button_ = AddButton_(b); diff --git a/src/ballistica/ui_v1/widget/widget.h b/src/ballistica/ui_v1/widget/widget.h index 9fb09354f..a7f0ad0a2 100644 --- a/src/ballistica/ui_v1/widget/widget.h +++ b/src/ballistica/ui_v1/widget/widget.h @@ -21,19 +21,20 @@ class Widget : public Object { /// the entire set of visibilities they apply to. enum class ToolbarVisibility : uint16_t { kInherit = 0, // For popups and whatnot - leave toolbar as-is. - kMenuMinimal = 1, // Squad and back buttons. - kMenuMinimalNoBack = 2, // Squad button only. - kMenuStore = 4, // Squad, level, and soft currency buttons. - kMenuStoreNoBack = 8, // Squad, level, and soft currency buttons. - kMenuReduced = 16, // Squad, account, inbox, settings, back. - kMenuReducedNoBack = 32, // Squad, account, inbox, settings. + kMenuMinimal = 1, // Menu, squad, back. + kMenuMinimalNoBack = 2, // Menu, squad. + kMenuStore = 4, // Menu, squad, level, and soft currency. + kMenuStoreNoBack = 8, // Menu, squad, level, and soft currency. + kMenuReduced = 16, // Menu, squad, account, inbox, settings, back. + kMenuReducedNoBack = 32, // Menu, squad, account, inbox, settings. kMenuFull = 64, // Everything. - kMenuFullNoBack = 128, // Everything. + kMenuFullNoBack = 128, // Everything minus back. kMenuFullRoot = 256, // Obsolete. kInGame = 512, // Menu, squad. kGetTokens = 1024, // Squad, tokens without plus. kMenuInGame = 2048, // Squad, settings. - kMenuTokens = 4096 // Squad, tokens. + kMenuTokens = 4096, // Squad, tokens. + kNoMenuMinimal = 8192, // Squad. }; Widget();