From 764c2c5d1953e1d61c49c4048765fb7014cb2302 Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Sat, 11 Jan 2025 22:11:28 -0800 Subject: [PATCH] ui polishing --- .efrocachemap | 72 +++++++++---------- CHANGELOG.md | 2 +- src/assets/ba_data/python/baenv.py | 2 +- .../python/bauiv1lib/account/settings.py | 1 + .../ba_data/python/bauiv1lib/achievements.py | 1 + .../ba_data/python/bauiv1lib/coop/browser.py | 37 ++++++++-- .../ba_data/python/bauiv1lib/credits.py | 1 + .../python/bauiv1lib/gather/__init__.py | 1 + src/assets/ba_data/python/bauiv1lib/help.py | 1 + src/assets/ba_data/python/bauiv1lib/inbox.py | 11 +-- .../python/bauiv1lib/league/rankwindow.py | 1 + src/assets/ba_data/python/bauiv1lib/party.py | 1 + src/assets/ba_data/python/bauiv1lib/popup.py | 1 + .../python/bauiv1lib/settings/advanced.py | 1 + .../ba_data/python/bauiv1lib/store/browser.py | 1 + src/assets/ba_data/python/bauiv1lib/watch.py | 1 + src/ballistica/shared/ballistica.cc | 2 +- .../ui_v1/widget/h_scroll_widget.cc | 2 +- src/ballistica/ui_v1/widget/scroll_widget.cc | 72 ++++++++++--------- 19 files changed, 127 insertions(+), 84 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index 185a47f6..41e2fa74 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -1330,14 +1330,14 @@ "build/assets/ba_data/textures/buttonPunch.ktx": "9de2058679dd2e55a9c180fafa810559", "build/assets/ba_data/textures/buttonPunch.pvr": "7b7ced951fcee4e572988f232d729ad6", "build/assets/ba_data/textures/buttonPunch_preview.png": "e78d05abb78fef5fe18119c4f3fd1dbe", - "build/assets/ba_data/textures/buttonSquare.dds": "8b4091b6fc25d964059673062cc9faa6", - "build/assets/ba_data/textures/buttonSquare.ktx": "21fe9898e50c6d44151e059e0a4b94ea", - "build/assets/ba_data/textures/buttonSquare.pvr": "c454666fa706aed388e4ce366248b34d", + "build/assets/ba_data/textures/buttonSquare.dds": "48e117e4a57a1d99ebf0e38dd414a95b", + "build/assets/ba_data/textures/buttonSquare.ktx": "936f04a43f99f692071c7e9567cc2a3d", + "build/assets/ba_data/textures/buttonSquare.pvr": "b53fe9f1725e0d28bc974f6ef1623fb0", "build/assets/ba_data/textures/buttonSquareWide.dds": "5ab9ff791eae959d49f7ac1018f395a9", "build/assets/ba_data/textures/buttonSquareWide.ktx": "043bbadbe5adff0236d2841fcaeadb87", "build/assets/ba_data/textures/buttonSquareWide.pvr": "ca3773bfeacc8dcf42387a6da6ef0807", "build/assets/ba_data/textures/buttonSquareWide_preview.png": "a5a02ed8a9a0b4d0043fcf21fc0f5f8a", - "build/assets/ba_data/textures/buttonSquare_preview.png": "e5dc8e92b0306b218be7b6c927aa4e06", + "build/assets/ba_data/textures/buttonSquare_preview.png": "a9abe7bbf392caf8141adf81fc63f4f8", "build/assets/ba_data/textures/chTitleChar1.dds": "d8c615a51d900da15b8aba5ce35296bf", "build/assets/ba_data/textures/chTitleChar1.ktx": "44384ea28c9fe01440deb1fc80c7224a", "build/assets/ba_data/textures/chTitleChar1.pvr": "304d7551786a2eca008bd2057996d05e", @@ -1962,10 +1962,10 @@ "build/assets/ba_data/textures/ninjaIconColorMask.pvr": "15a9d7c922affee6041871791a96dc98", "build/assets/ba_data/textures/ninjaIconColorMask_preview.png": "b21a775abb3c4e4dd9a04192ab1e717b", "build/assets/ba_data/textures/ninjaIcon_preview.png": "e88731a4ac740f6613c7da2aad57d64d", - "build/assets/ba_data/textures/nub.dds": "b0de2808476a2fa7db11a895fa6d2b38", - "build/assets/ba_data/textures/nub.ktx": "b24cbef47d8ac5f87557789dab50d401", - "build/assets/ba_data/textures/nub.pvr": "f99208d88cfb93e323234eacd74482dd", - "build/assets/ba_data/textures/nub_preview.png": "1f1dffc38817559cfff57994d8bb282d", + "build/assets/ba_data/textures/nub.dds": "4cdecccb9f80ed13c98739331c5c55cf", + "build/assets/ba_data/textures/nub.ktx": "ce7f9ec87efca24f7617c9eb4a6d44c6", + "build/assets/ba_data/textures/nub.pvr": "a30b9d28e4b8aea3c8e2121d0d89ee08", + "build/assets/ba_data/textures/nub_preview.png": "0b5ef892128c93d75091dffc20972548", "build/assets/ba_data/textures/null.dds": "12f8bd2be70d800719e8bff8cf17c642", "build/assets/ba_data/textures/null.ktx": "a948a0fcadd2c7ff5ade346dc0856b92", "build/assets/ba_data/textures/null.pvr": "d76c281253b3c791b76db8a7bbe03d35", @@ -2522,14 +2522,14 @@ "build/assets/ba_data/textures/tv.ktx": "0a84d64d668df5b258cbd4bc63351f60", "build/assets/ba_data/textures/tv.pvr": "c4de871c547fb02b752658f291234205", "build/assets/ba_data/textures/tv_preview.png": "6ad57c2c33c7eec4842e7b7b74fe88b4", - "build/assets/ba_data/textures/uiAtlas.dds": "76a861c711ea4700ad2f484adb53a837", - "build/assets/ba_data/textures/uiAtlas.ktx": "4bd0550d4297b6b290ceceb0d3dae490", - "build/assets/ba_data/textures/uiAtlas.pvr": "e7601e1d8cb5a03324b7e240a46eb62f", + "build/assets/ba_data/textures/uiAtlas.dds": "06b67a3f00253a745425378fb4ee9b61", + "build/assets/ba_data/textures/uiAtlas.ktx": "55c69a2fa18dc5d7f9f0aec8d86077b5", + "build/assets/ba_data/textures/uiAtlas.pvr": "ee3f1017c1caa32cb3ddb70b3e5d37cf", "build/assets/ba_data/textures/uiAtlas2.dds": "6d4b31087da911fa4fe4ccbd3935cc63", "build/assets/ba_data/textures/uiAtlas2.ktx": "7679ce6fab577500b956973ea10a2697", "build/assets/ba_data/textures/uiAtlas2.pvr": "70383679a25fa1739beb2b2b97f4fbee", "build/assets/ba_data/textures/uiAtlas2_preview.png": "6a48c238db2453ee0333cf554bd68054", - "build/assets/ba_data/textures/uiAtlas_preview.png": "314c4fe9ba75ff03bb5d75d5003c2462", + "build/assets/ba_data/textures/uiAtlas_preview.png": "96b93b43260c7e69b5f73ab5e498d0bb", "build/assets/ba_data/textures/upButton.dds": "96f0df23bb2055a30d0073d146138a8e", "build/assets/ba_data/textures/upButton.ktx": "a5cc08ddb7e67a1b9e5e067d06fbbfcd", "build/assets/ba_data/textures/upButton.pvr": "d40c03b0401fded3b655de12f7e1c34b", @@ -4126,22 +4126,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": "ec6a692435085ca5125fe2b92a689773", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "96ef4effdc8935ec6430ef40b7cf8df5", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "0f926426969841db0c0de9f2400c379a", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "c44d3ce395e1e2ae66c0e6f7edeb5162", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "c3e94110b6b78f048fe851b9237eb318", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7f8a6aaebc005da7fed6938c490583ad", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "befbdbdb24743dac71890d13fd91c9c9", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "b9eeb04d059008274ba3b8a8d43bee43", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "e259caf3538d721a6d98e75eea52232f", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "0301ee44945fdbe37f562b105bcfa637", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0842805a2b7a22bd6611d675a3d5bc8b", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "455e8270255e204ff666d308729d8394", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "be8bdd483cf4076d82187893bcfba98c", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "9fb98b1315ddb8bc3ba0ca44c345deb8", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "4d1b42d4f49f40e3c476c9eed6a67d03", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "a03c4646e60092bb4c1b3554d878c067", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "520f65d1f0c55f6445f2b0eecfd955b3", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "7d43a17ebf6754ab776df42dd0ff427c", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "ffb50fe914c0f3adbddbb96d632fa3ce", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "c5ebbdbd0e36b0c591d79fce53d9fdab", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1e355db92878f4515b3567aa8dfde4e0", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "4e8e6c9c43eebbed3bdb4ff4644743b5", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "b78d0817ea837c82073f0338db00a1a6", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "c48294ee229710c55f656ec8316b90b8", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "1add252d56e0acf9d54c5c17d9bcb626", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "94ef443d4de4e805bf61cac7cb6ccde1", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "17c30c1a162a6320c9fddcfaa53c791b", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "25971a2e72d7743e1fd928a30d2887d4", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "595118946b7031bf49dce4a6adcd9500", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "336a6b02255337df748a9f73a2a011ec", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "d15e84e5d82e4a1e0273cd2fae35a9a5", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "7b2030ffeecbd855edec3f6154933a58", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "1c375e8003442dd3d059bc0baa260e61", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "40daac4bbc8990d5140f97e792bc4fb1", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "1c375e8003442dd3d059bc0baa260e61", @@ -4154,14 +4154,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "36bb6f32ab12e2a46b82155a93b2e527", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "51884d81e2d7bdeb6b59a72f0247c8e1", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "36bb6f32ab12e2a46b82155a93b2e527", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "f629e97c70198ab3688f11ab4a2d1e97", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "a868c0116adf9f48f503b50b50c70cd8", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "04216607232edde485d139e9e96c6612", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "bdc158a2dfd592cd8dcb235a162a82fe", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "4a0340814c6034b39b2c08287935e26a", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "546ccf01f342463d46302b05c0171044", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "67bb2ff991e00433c1abba2044a0d21e", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "8653a52a8fd75c527c976abb9d223e90", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "d05c5a6ce080fa3fc7c428cce5a33355", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "469d83a3e925ca952cc8cf568aa1788c", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "f8029971cd756dcd67ac51e6826eef6b", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "68befbd9239dd04e6d3ef2a7ba7c6e71", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "5b564bbd1bb87c62c590662939a8287a", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "e32ebebff970306cccb7ff3de847a538", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "b00f4040bfd3db8c342e8210a941709a", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "1acc0316367d429a78f4bb1b604a0595", "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 1f1bba31..f0c15214 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22180, api 9, 2025-01-11) +### 1.7.37 (build 22181, api 9, 2025-01-11) - 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 46d8a09d..983538ec 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 = 22180 +TARGET_BALLISTICA_BUILD = 22181 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bauiv1lib/account/settings.py b/src/assets/ba_data/python/bauiv1lib/account/settings.py index 6a4628b9..a996a34c 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/settings.py +++ b/src/assets/ba_data/python/bauiv1lib/account/settings.py @@ -163,6 +163,7 @@ class AccountSettingsWindow(bui.MainWindow): size=(self._scroll_width, self._scroll_height), claims_left_right=True, selection_loops_to_parent=True, + border_opacity=0.4, ) self._subcontainer: bui.Widget | None = None self._refresh() diff --git a/src/assets/ba_data/python/bauiv1lib/achievements.py b/src/assets/ba_data/python/bauiv1lib/achievements.py index 94f17750..c8c0813d 100644 --- a/src/assets/ba_data/python/bauiv1lib/achievements.py +++ b/src/assets/ba_data/python/bauiv1lib/achievements.py @@ -110,6 +110,7 @@ class AchievementsWindow(bui.MainWindow): ), capture_arrows=True, simple_culling_v=10, + border_opacity=0.4, ) bui.widget(edit=self._scrollwidget, autoselect=True) if uiscale is bui.UIScale.SMALL: diff --git a/src/assets/ba_data/python/bauiv1lib/coop/browser.py b/src/assets/ba_data/python/bauiv1lib/coop/browser.py index 7afa111b..4ad85450 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/browser.py @@ -253,7 +253,10 @@ class CoopBrowserWindow(bui.MainWindow): self._scroll_width = self._width - (130 + 2 * x_inset) self._scroll_height = self._height - ( - 219 if uiscale is bui.UIScale.SMALL else 160 + # 219 if uiscale is bui.UIScale.SMALL else 160 + 170 + if uiscale is bui.UIScale.SMALL + else 160 ) self._subcontainerwidth = 800.0 @@ -263,7 +266,8 @@ class CoopBrowserWindow(bui.MainWindow): parent=self._root_widget, highlight=False, position=( - (65 + x_inset, 120) + # (65 + x_inset, 120) + (65 + x_inset, 70) if uiscale is bui.UIScale.SMALL else (65 + x_inset, 70) ), @@ -273,6 +277,29 @@ class CoopBrowserWindow(bui.MainWindow): selection_loops_to_parent=True, border_opacity=0.3 if uiscale is bui.UIScale.SMALL else 1.0, ) + + if uiscale is bui.UIScale.SMALL: + bimg = bui.imagewidget( + parent=self._root_widget, + texture=bui.gettexture('uiAtlas'), + mesh_transparent=bui.getmesh('windowBGBlotch'), + position=(x_inset + 10.0, -20), + size=(500.0, 200.0), + color=(0.4, 0.37, 0.49), + # color=(1, 0, 0), + ) + bui.widget(edit=bimg, depth_range=(0.9, 1.0)) + bimg = bui.imagewidget( + parent=self._root_widget, + texture=bui.gettexture('uiAtlas'), + mesh_transparent=bui.getmesh('windowBGBlotch'), + position=(x_inset + self._scroll_width - 270, -20), + size=(500.0, 200.0), + color=(0.4, 0.37, 0.49), + # color=(1, 0, 0), + ) + bui.widget(edit=bimg, depth_range=(0.9, 1.0)) + self._subcontainer: bui.Widget | None = None # Take note of our account state; we'll refresh later if this changes. @@ -742,7 +769,7 @@ class CoopBrowserWindow(bui.MainWindow): h_scroll = bui.hscrollwidget( parent=w_parent, - size=(self._scroll_width - 10, 205), + size=(self._scroll_width, 205), position=(-5, v), simple_culling_h=70, highlight=False, @@ -836,7 +863,7 @@ class CoopBrowserWindow(bui.MainWindow): for i in range(self._tournament_button_count): tournament_h_scroll = h_scroll = bui.hscrollwidget( parent=w_parent, - size=(self._scroll_width - 10, 205), + size=(self._scroll_width, 205), position=(-5, v), highlight=False, border_opacity=0.0, @@ -918,7 +945,7 @@ class CoopBrowserWindow(bui.MainWindow): self._custom_h_scroll = custom_h_scroll = h_scroll = bui.hscrollwidget( parent=w_parent, - size=(self._scroll_width - 10, 205), + size=(self._scroll_width, 205), position=(-5, v), highlight=False, border_opacity=0.0, diff --git a/src/assets/ba_data/python/bauiv1lib/credits.py b/src/assets/ba_data/python/bauiv1lib/credits.py index e25b6119..7d56d9e4 100644 --- a/src/assets/ba_data/python/bauiv1lib/credits.py +++ b/src/assets/ba_data/python/bauiv1lib/credits.py @@ -107,6 +107,7 @@ class CreditsWindow(bui.MainWindow): height - (160 if uiscale is bui.UIScale.SMALL else 100), ), capture_arrows=True, + border_opacity=0.4, ) bui.widget( diff --git a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py index d80218b3..6e3cbe00 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py @@ -262,6 +262,7 @@ class GatherWindow(bui.MainWindow): ), texture=bui.gettexture('scrollWidget'), mesh_transparent=bui.getmesh('softEdgeOutside'), + opacity=0.4, ) self._tab_container: bui.Widget | None = None diff --git a/src/assets/ba_data/python/bauiv1lib/help.py b/src/assets/ba_data/python/bauiv1lib/help.py index 8117d966..80af0e82 100644 --- a/src/assets/ba_data/python/bauiv1lib/help.py +++ b/src/assets/ba_data/python/bauiv1lib/help.py @@ -89,6 +89,7 @@ class HelpWindow(bui.MainWindow): height - (150 if uiscale is bui.UIScale.SMALL else 120), ), capture_arrows=True, + border_opacity=0.4, ) bui.widget( diff --git a/src/assets/ba_data/python/bauiv1lib/inbox.py b/src/assets/ba_data/python/bauiv1lib/inbox.py index 2783208f..7c5f6227 100644 --- a/src/assets/ba_data/python/bauiv1lib/inbox.py +++ b/src/assets/ba_data/python/bauiv1lib/inbox.py @@ -119,7 +119,7 @@ class InboxWindow(bui.MainWindow): self._width = 800 if uiscale is bui.UIScale.SMALL else 500 self._height = ( - 455 + 485 if uiscale is bui.UIScale.SMALL else 370 if uiscale is bui.UIScale.MEDIUM else 450 ) @@ -132,7 +132,7 @@ class InboxWindow(bui.MainWindow): 'menu_full' if uiscale is bui.UIScale.SMALL else 'menu_full' ), scale=( - 1.7 + 1.74 if uiscale is bui.UIScale.SMALL else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.15 ), @@ -171,7 +171,7 @@ class InboxWindow(bui.MainWindow): position=( self._width * 0.5, self._height - - (24 if uiscale is bui.UIScale.SMALL else 20) + - (45 if uiscale is bui.UIScale.SMALL else 20) + yoffs, ), size=(0, 0), @@ -209,13 +209,14 @@ class InboxWindow(bui.MainWindow): ), position=( 30, - (133 if uiscale is bui.UIScale.SMALL else 30) + yoffs, + (110 if uiscale is bui.UIScale.SMALL else 30) + yoffs, ), capture_arrows=True, simple_culling_v=200, claims_left_right=True, claims_up_down=True, center_small_content_horizontally=True, + border_opacity=0.4, ) bui.widget(edit=self._scrollwidget, autoselect=True) if uiscale is bui.UIScale.SMALL: @@ -466,6 +467,8 @@ class InboxWindow(bui.MainWindow): ) return + bui.scrollwidget(edit=self._scrollwidget, highlight=False) + bui.spinnerwidget(edit=self._loading_spinner, visible=False) bui.textwidget(edit=self._infotext, text='') diff --git a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py index cfa21aef..2fefede4 100644 --- a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py +++ b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py @@ -143,6 +143,7 @@ class LeagueRankWindow(bui.MainWindow): position=(65 + x_inset, 70), size=(self._scroll_width, self._scroll_height), center_small_content=True, + border_opacity=0.4, ) bui.widget(edit=self._scrollwidget, autoselect=True) bui.containerwidget(edit=self._scrollwidget, claims_left_right=True) diff --git a/src/assets/ba_data/python/bauiv1lib/party.py b/src/assets/ba_data/python/bauiv1lib/party.py index c40a6432..23b5f27c 100644 --- a/src/assets/ba_data/python/bauiv1lib/party.py +++ b/src/assets/ba_data/python/bauiv1lib/party.py @@ -126,6 +126,7 @@ class PartyWindow(bui.Window): size=(self._scroll_width, self._height - 200), position=(30, 80), color=(0.4, 0.6, 0.3), + border_opacity=0.6, ) self._columnwidget = bui.columnwidget( parent=self._scrollwidget, border=2, left_border=-200, margin=0 diff --git a/src/assets/ba_data/python/bauiv1lib/popup.py b/src/assets/ba_data/python/bauiv1lib/popup.py index a4acf696..57e371dc 100644 --- a/src/assets/ba_data/python/bauiv1lib/popup.py +++ b/src/assets/ba_data/python/bauiv1lib/popup.py @@ -203,6 +203,7 @@ class PopupMenuWindow(PopupWindow): highlight=False, color=(0.35, 0.55, 0.15), size=(self._width - 40, self._height - 40), + border_opacity=0.5, ) self._columnwidget = bui.columnwidget( parent=self._scrollwidget, border=2, margin=0 diff --git a/src/assets/ba_data/python/bauiv1lib/settings/advanced.py b/src/assets/ba_data/python/bauiv1lib/settings/advanced.py index 096545cd..7cf9cd84 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/advanced.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/advanced.py @@ -162,6 +162,7 @@ class AdvancedSettingsWindow(bui.MainWindow): highlight=False, size=(self._scroll_width, self._scroll_height), selection_loops_to_parent=True, + border_opacity=0.4, ) bui.widget(edit=self._scrollwidget, right_widget=self._scrollwidget) self._subcontainer = 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 ee41bfcf..a2da1db1 100644 --- a/src/assets/ba_data/python/bauiv1lib/store/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/store/browser.py @@ -350,6 +350,7 @@ class StoreBrowserWindow(bui.MainWindow): size=(self._scroll_width, self._scroll_height), claims_left_right=True, selection_loops_to_parent=True, + border_opacity=0.4, ) # NOTE: this stuff is modified by the _Store class. diff --git a/src/assets/ba_data/python/bauiv1lib/watch.py b/src/assets/ba_data/python/bauiv1lib/watch.py index c697e4b3..05948678 100644 --- a/src/assets/ba_data/python/bauiv1lib/watch.py +++ b/src/assets/ba_data/python/bauiv1lib/watch.py @@ -160,6 +160,7 @@ class WatchWindow(bui.MainWindow): ), texture=bui.gettexture('scrollWidget'), mesh_transparent=bui.getmesh('softEdgeOutside'), + opacity=0.4, ) self._tab_container: bui.Widget | None = None diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 5d586f95..3e25c32a 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 = 22180; +const int kEngineBuildNumber = 22181; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9; diff --git a/src/ballistica/ui_v1/widget/h_scroll_widget.cc b/src/ballistica/ui_v1/widget/h_scroll_widget.cc index fcc21557..0234dd11 100644 --- a/src/ballistica/ui_v1/widget/h_scroll_widget.cc +++ b/src/ballistica/ui_v1/widget/h_scroll_widget.cc @@ -725,7 +725,7 @@ void HScrollWidget::Draw(base::RenderPass* pass, bool draw_transparent) { c.ScopedScissor({l + border_width_, b + border_height_ + 1, l + (width()), b + (height() * 0.995f)}); auto xf = c.ScopedTransform(); - c.Translate(thumb_center_x_, thumb_center_y_, 0.8f); + c.Translate(thumb_center_x_, thumb_center_y_, 0.75f); c.Scale(-thumb_width_, thumb_height_, 0.1f); c.FlipCullFace(); c.Rotate(-90, 0, 0, 1); diff --git a/src/ballistica/ui_v1/widget/scroll_widget.cc b/src/ballistica/ui_v1/widget/scroll_widget.cc index dc8dfc9d..ef23e764 100644 --- a/src/ballistica/ui_v1/widget/scroll_widget.cc +++ b/src/ballistica/ui_v1/widget/scroll_widget.cc @@ -683,52 +683,54 @@ void ScrollWidget::Draw(base::RenderPass* pass, bool draw_transparent) { base::EmptyComponent c(pass); c.SetTransparent(draw_transparent); auto scissor = c.ScopedScissor({l + border_width_, b + border_height_ + 1, - l + (width() - border_width_ - 0), + l + (width() - border_width_), b + (height() - border_height_) - 1}); c.Submit(); // Get out of the way for children drawing. set_simple_culling_bottom(b + border_height_ + 1); set_simple_culling_top(b + (height() - border_height_) - 1); + // Scroll trough (depth 0.05 to 0.15). + if (explicit_bool(true)) { + if (draw_transparent) { + if (trough_dirty_) { + float r2 = l + width(); + float l2 = r2 - scroll_bar_width_; + float b2; + float t2; + b2 = b + (border_height_); + t2 = t - (border_height_); + float l_border, r_border, b_border, t_border; + l_border = 3; + r_border = 0; + b_border = height() * 0.006f; + t_border = height() * 0.002f; + trough_width_ = r2 - l2 + l_border + r_border; + trough_height_ = t2 - b2 + b_border + t_border; + trough_center_x_ = l2 - l_border + trough_width_ * 0.5f; + trough_center_y_ = b2 - b_border + trough_height_ * 0.5f; + trough_dirty_ = false; + } + base::SimpleComponent c(pass); + c.SetTransparent(true); + c.SetColor(1.0f, 1.0f, 1.0f, border_opacity_); + c.SetTexture(g_base->assets->SysTexture(base::SysTextureID::kUIAtlas)); + { + auto xf = c.ScopedTransform(); + c.Translate(trough_center_x_, trough_center_y_, 0.05f); + c.Scale(trough_width_, trough_height_, 0.1f); + c.DrawMeshAsset(g_base->assets->SysMesh( + base::SysMeshID::kScrollBarTroughTransparent)); + } + c.Submit(); + } + } + // Draw all our widgets at our z level. DrawChildren(pass, draw_transparent, l + extra_offs_x, b + extra_offs_y, 1.0f); } - // Scroll trough (depth 0.7 to 0.8). - if (draw_transparent) { - if (trough_dirty_) { - float r2 = l + width(); - float l2 = r2 - scroll_bar_width_; - float b2; - float t2; - b2 = b + (border_height_); - t2 = t - (border_height_); - float l_border, r_border, b_border, t_border; - l_border = 3; - r_border = 0; - b_border = height() * 0.006f; - t_border = height() * 0.002f; - trough_width_ = r2 - l2 + l_border + r_border; - trough_height_ = t2 - b2 + b_border + t_border; - trough_center_x_ = l2 - l_border + trough_width_ * 0.5f; - trough_center_y_ = b2 - b_border + trough_height_ * 0.5f; - trough_dirty_ = false; - } - base::SimpleComponent c(pass); - c.SetTransparent(true); - c.SetColor(1, 1, 1, border_opacity_); - c.SetTexture(g_base->assets->SysTexture(base::SysTextureID::kUIAtlas)); - { - auto xf = c.ScopedTransform(); - c.Translate(trough_center_x_, trough_center_y_, 0.7f); - c.Scale(trough_width_, trough_height_, 0.1f); - c.DrawMeshAsset(g_base->assets->SysMesh( - base::SysMeshID::kScrollBarTroughTransparent)); - } - c.Submit(); - } - // Scroll bars. if (amount_visible_ > 0 && amount_visible_ < 1) { // Scroll thumb at depth 0.8 - 0.9.