diff --git a/.efrocachemap b/.efrocachemap index dbd949f5..1a12bc79 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4174,22 +4174,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": "9e818494845ff5344780b72b5988867f", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "c81da6ba8fa2de1c94da5733a60189fa", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "b01e08a6a59dcd7d808b3a079b5014fb", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "0d5b57e412cbb52204ce3ece08924cb6", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1f5af4f7466cb329ee03d085749e835c", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7a9a11e8fdad56b1aa2cd8654d8574be", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "0c016926940f6bf9e94e452f42e1e588", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "94b0959afc637d9e007614800bf3b827", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "167fac667b73a9f6869a1be3f116aea8", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "f6f5aafab72ed17ce33e17f3d01a1ab6", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "8dd3e8c63d30f96c1852bbb14ed06032", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "e85785c1c69693baa542619e854386b5", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "998debc459647c9e73793706ca782617", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "3b67899b55ef1531b1eed045482a7bd0", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "11bab1183e99bdb735664dea49226c23", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "c054369ec524817de898781fdea1f2f1", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "6a0e7ba71c73e69496220ce36aaa76b1", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "ac0e7cc649bd01ff4fb4030063c88d4b", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "61c38e20c1df867870ed20ad889a3479", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "6865c61539d13b6b15bb9984204a3bd7", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "bc9fb2fb09e767da2ec0292ea1bba49a", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "c36158d2a508fd071ae7f6aa3bd42e42", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "fe8a29a51301cab6378eac9610bcc660", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "2f5b53edbd5b2d50fc6bf5a49ed5b24f", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "329d6ff33a4f7f41cbef0b0bfc0a6736", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "2d9e89f4e2c77f7e435ada2c73e4e477", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "2c4b8c9e8e3c7a1c81e2a9aa66f3e66e", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "13647f95e775e511117135dc71bf1ad2", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "0739c351b408aafd52fae6502a69dbac", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "57e33ff2f29c4126804e82f95056a113", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "4cd1811d7425fbad0a254c6df36cf672", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "b346b354db7e5a2c98041a7e71082f55", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "4d70703c4eba1a402fbc2d997d84aa93", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "bb64e2182b1a533679f93c5997f14584", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "4d70703c4eba1a402fbc2d997d84aa93", @@ -4202,14 +4202,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "116b500c2d57caf06619408b2176e83b", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "e3e9d9c7a94f8cd22939839fd8fbc178", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "116b500c2d57caf06619408b2176e83b", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "a926e1e01b876332520587b836eb4375", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "f1f46c598c6e5bcaa6604661d1700f2b", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "ae2fa87f97d66bf2f352882028abe272", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "ccfea410203fba94a1b24084536f54ca", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "6f839d1b563635adf42feda7f3caa1fc", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "56587738242e082b87d4359eccfd7a43", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "9410860a48dc0d4830a45f1cc88990b7", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "44db1c45b0ca7aeaf7187e5b66554634", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "832f94ea1291e6acc9a7ea198a9f6015", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "4075505def5490d75824e1bdce1b6014", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "ca07673b52035cb267b6637fcba128fd", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "816160843c0ddb8c466243b022d97a9e", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "e8a69aa6ed9f63d393d5b4276c5f81ab", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "cd387294d6939fffa24305d9eec7116d", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "9addbfac3f2719114ddf8599ef1f7bff", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "8de2faf55a4b716ee7b452326d35feed", "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 5837c99d..689cd78d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22233, api 9, 2025-01-22) +### 1.7.37 (build 22234, api 9, 2025-01-22) - 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/baenv.py b/src/assets/ba_data/python/baenv.py index 5e1cf05e..7ea0e281 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -53,7 +53,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22233 +TARGET_BALLISTICA_BUILD = 22234 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py index ed81395f..f3ae593c 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py @@ -120,8 +120,8 @@ class GatherWindow(bui.MainWindow): yoffs = 0.5 * self._height + 0.5 * target_height + 30.0 self._scroll_width = target_width - self._scroll_height = target_height - 57 - self._scroll_bottom = yoffs - 90 - self._scroll_height + self._scroll_height = target_height - 65 + self._scroll_bottom = yoffs - 93 - self._scroll_height self._scroll_left = (self._width - self._scroll_width) * 0.5 super().__init__( @@ -161,20 +161,23 @@ class GatherWindow(bui.MainWindow): bui.textwidget( parent=self._root_widget, position=( - self._width * 0.5, - yoffs - (53 if uiscale is bui.UIScale.SMALL else 4), + ( + self._width * 0.5 + + ( + (self._scroll_width * -0.5 + 170.0) + if uiscale is bui.UIScale.SMALL + else 0.0 + ) + ), + yoffs - (61 if uiscale is bui.UIScale.SMALL else 4), ), size=(0, 0), color=bui.app.ui_v1.title_color, - scale=1.0, + scale=1.2 if uiscale is bui.UIScale.SMALL else 1.0, h_align='center', v_align='center', - text=( - '' - if uiscale is bui.UIScale.SMALL - else bui.Lstr(resource=f'{self._r}.titleText') - ), - maxwidth=320, + text=(bui.Lstr(resource=f'{self._r}.titleText')), + maxwidth=140 if uiscale is bui.UIScale.SMALL else 320, ) # Build up the set of tabs we want. @@ -198,15 +201,17 @@ class GatherWindow(bui.MainWindow): (self.TabID.MANUAL, bui.Lstr(resource=f'{self._r}.manualText')) ) - tab_inset = 100.0 - tab_inset_extra_r = 150 if uiscale is bui.UIScale.SMALL else 0 + tab_inset = 250.0 if uiscale is bui.UIScale.SMALL else 100.0 + # tab_inset_extra_r = 150 if uiscale is bui.UIScale.SMALL else 0 + tab_inset_extra_r = 0 + self._tab_row = TabRow( self._root_widget, tabdefs, size=(self._scroll_width - 2.0 * tab_inset - tab_inset_extra_r, 50), pos=( self._scroll_left + tab_inset, - self._scroll_bottom + self._scroll_height, + self._scroll_bottom + self._scroll_height - 4.0, ), on_select_call=bui.WeakCall(self._set_tab), ) diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/browser.py b/src/assets/ba_data/python/bauiv1lib/playlist/browser.py index 36b9aef9..e41bec1d 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/browser.py @@ -472,7 +472,16 @@ class PlaylistBrowserWindow(bui.MainWindow): ), on_select_call=bui.Call(self._on_playlist_select, name), ) - bui.widget(edit=btn, show_buffer_top=30, show_buffer_bottom=30) + + # Top row biases things up more to show header above it. + if y == 0: + bui.widget( + edit=btn, show_buffer_top=60, show_buffer_bottom=5 + ) + else: + bui.widget( + edit=btn, show_buffer_top=30, show_buffer_bottom=30 + ) if self._selected_playlist == name: bui.containerwidget( diff --git a/src/assets/ba_data/python/bauiv1lib/store/browser.py b/src/assets/ba_data/python/bauiv1lib/store/browser.py index 70b32c74..14ab77d8 100644 --- a/src/assets/ba_data/python/bauiv1lib/store/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/store/browser.py @@ -61,14 +61,18 @@ class StoreBrowserWindow(bui.MainWindow): self._status_textwidget_update_timer = None self._show_tab = show_tab - self._width = 1800 if uiscale is bui.UIScale.SMALL else 1040 + self._width = ( + 1800 + if uiscale is bui.UIScale.SMALL + else 1000 if uiscale is bui.UIScale.MEDIUM else 1120 + ) self._height = ( 1200 if uiscale is bui.UIScale.SMALL - else 645 if uiscale is bui.UIScale.MEDIUM else 800 + else 700 if uiscale is bui.UIScale.MEDIUM else 800 ) self._current_tab: StoreBrowserWindow.TabID | None = None - extra_top = 30 if uiscale is bui.UIScale.SMALL else 0 + # extra_top = 30 if uiscale is bui.UIScale.SMALL else 0 self.request: Any = None self._r = 'store' @@ -94,12 +98,12 @@ class StoreBrowserWindow(bui.MainWindow): yoffs = 0.5 * self._height + 0.5 * target_height + 30.0 self._scroll_width = target_width - self._scroll_height = target_height - 50 - self._scroll_bottom = yoffs - 80 - self._scroll_height + self._scroll_height = target_height - 59 + self._scroll_bottom = yoffs - 87 - self._scroll_height super().__init__( root_widget=bui.containerwidget( - size=(self._width, self._height + extra_top), + size=(self._width, self._height), toolbar_visibility=( 'menu_store' if (uiscale is bui.UIScale.SMALL or minimal_toolbars) @@ -165,11 +169,11 @@ class StoreBrowserWindow(bui.MainWindow): else 0.0 ) ), - yoffs - (48 if uiscale is bui.UIScale.SMALL else -3.0), + yoffs - (58 if uiscale is bui.UIScale.SMALL else -3.0), ), size=(0, 0), color=app.ui_v1.title_color, - scale=1.1 if uiscale is bui.UIScale.SMALL else 1.3, + scale=1.0 if uiscale is bui.UIScale.SMALL else 1.3, h_align='center', v_align='center', text=bui.Lstr(resource='storeText'), @@ -194,12 +198,10 @@ class StoreBrowserWindow(bui.MainWindow): self._tab_row = TabRow( self._root_widget, tabs_def, - # pos=(tab_buffer_h * 0.5, self._height - 130), - # size=(self._width - tab_buffer_h, 50), size=(self._scroll_width - 2.0 * tab_inset, 50), pos=( self._width * 0.5 - self._scroll_width * 0.5 + tab_inset, - self._scroll_bottom + self._scroll_height, + self._scroll_bottom + self._scroll_height - 4.0, ), on_select_call=self._set_tab, ) diff --git a/src/assets/ba_data/python/bauiv1lib/tabs.py b/src/assets/ba_data/python/bauiv1lib/tabs.py index be3a1bab..c5bfef8b 100644 --- a/src/assets/ba_data/python/bauiv1lib/tabs.py +++ b/src/assets/ba_data/python/bauiv1lib/tabs.py @@ -72,12 +72,12 @@ class TabRow(Generic[T]): bui.buttonwidget( edit=tab.button, color=(0.5, 0.4, 0.93), - textcolor=(0.85, 0.75, 0.95), + textcolor=(0.82, 0.72, 0.92), ) # lit else: bui.buttonwidget( edit=tab.button, - color=(0.52, 0.48, 0.63), + color=(0.50, 0.44, 0.63), textcolor=(0.65, 0.6, 0.7), ) # unlit diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index df7b7376..f4daf99f 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 = 22233; +const int kEngineBuildNumber = 22234; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9;