diff --git a/.efrocachemap b/.efrocachemap index adfc8f18..7f31780d 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -432,7 +432,7 @@ "build/assets/ba_data/audio/zoeOw.ogg": "b2d705c31c9dcc1efdc71394764c3beb", "build/assets/ba_data/audio/zoePickup01.ogg": "e9366dc2d2b8ab8b0c4e2c14c02d0789", "build/assets/ba_data/audio/zoeScream01.ogg": "903e0e45ee9b3373e9d9ce20c814374e", - "build/assets/ba_data/data/langdata.json": "c2796fecf77ee0bb600e874cc57f5c31", + "build/assets/ba_data/data/langdata.json": "2e943cae780ddba2b1ca27ec3c1a6b2a", "build/assets/ba_data/data/languages/arabic.json": "d95c590f7db91a9e8b7df4b9b58c8529", "build/assets/ba_data/data/languages/belarussian.json": "009b452aa308bf2b2f7e92d9b78ba5ff", "build/assets/ba_data/data/languages/chinese.json": "5363a79f843e6be7ef47a840f47cc17d", @@ -462,7 +462,7 @@ "build/assets/ba_data/data/languages/russian.json": "7164b2e1f9f2c16604a0c6eac968577c", "build/assets/ba_data/data/languages/serbian.json": "623fa4129a1154c2f32ed7867e56ff6a", "build/assets/ba_data/data/languages/slovak.json": "c11c29708b3742cdc2a92b4fa0d6d29f", - "build/assets/ba_data/data/languages/spanish.json": "4b77db2a5342767e5eda24bfff4a7549", + "build/assets/ba_data/data/languages/spanish.json": "db3e3c994d264914a148068084c3587c", "build/assets/ba_data/data/languages/swedish.json": "3b179e7333183c70adb0811246b09959", "build/assets/ba_data/data/languages/tamil.json": "ead39b864228696a9b0d19344bc4b5ec", "build/assets/ba_data/data/languages/thai.json": "383540a1e9c7c131ac579f51afc87471", @@ -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": "0de70d818eafab255fa57163820088ab", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "ab6f08c875c0918a945d5febf8185027", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "558dadd14c1fdb58cb849035b71aaf2e", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "9d34333f3f27cef39c51e44015ff922d", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "ba8e35a3aac7f6f1df24cc7e6485a44f", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "b6cb29e41feab09766268d15addbf485", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "efed7a7cbaadc7bd074d5b80918ab62b", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "35cf7817b577ea0d769c434b44c7839b", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "6eedd99a1118fdd4849b29cf50d9021d", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "de6af8bafb4e0bfa2a49904462aec51a", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "74d5966f46df6d81c1832d96f9675fad", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "726a8ea5d7b6cd9dee01d4c8f56f9877", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "89d30000f756383cd37f908c65064b24", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "102b59cc3fa63256f809cd1e4caa25a5", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "e5855cc2eeb3d582d75841a6e5cb4c15", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "bb84f8c8f0c5ec40101ebae0ce40e784", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "ff6445c9cec679efa3ce701d65e32ad4", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "381d0ede50695aa6bfcabd6c02784328", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "1915debfff28b2067c8d653e216b2816", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "24e82e8becbe0d1132b8f7ceea7e2173", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "ee9d05a24152788cb9b759463455cd3b", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "6adabec38f87e3b481d1f7de77a6f391", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "b98c235ff4ae2943818795f2be341ad1", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "bbc7fb28cc4045bbfdfe5da34484892b", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "3f300e51ea39567eb32846513a40d05d", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "449650cc0b09a7b3297e9cd8db97181f", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "bf2680c6f2682b01717581feb3d9eb3f", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "5eaf3b689c665a703a2911ed6550f02f", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "7563bb784660a69629148ac07ba53ccf", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "e0747c56bbf8fc8a2115fbf0c619c37f", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "fa43b5cffd659de45f4bf0a3694fb2cc", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "c31826c9e8ce27c00d127a6bd1b7298d", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "2ee184af9b80d60afea7f97aba29cb16", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "37c5f795ccbaeffeb5d6ede4fe9f3c19", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "2ee184af9b80d60afea7f97aba29cb16", @@ -4202,14 +4202,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "d258789fd7bdc5092aab87ccb4601921", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "314516411d5ac8e991a6f742f399d4de", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "d258789fd7bdc5092aab87ccb4601921", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "c686172e811ae456b98574a1f9f235b1", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "0f26eb09d4bbe84df6aefad2befebccf", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "ecd1b70e1c0158ae54aa4774b00b72a9", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "9368001f09f1c9458479f83c1e78dac6", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "89744c8ea35463c870702a7e33ef25b0", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "d6c5ea44028135b153d215c9375bb260", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "61410e75d73fe840ea9fc956d6353abc", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "bff59ed9ddaf751a02ad9026092f19a3", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "1653040bcf8a918c03410089609d0fca", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "db68ad522aed3599657bfffc07d36844", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "05ff157096d3e8a99d1b6a41181890b8", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "a312ae2f510d838451f79ec68f9339d0", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "c49e1c02cc41ef90666501e142878404", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "34d963e633901b87848b9811cfaaee7d", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "d010e2a87022b414a6625df508f011c7", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "b2027a4ed6adddc025272fca7cfa4778", "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 89dc486e..1ad22bec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22253, api 9, 2025-01-26) +### 1.7.37 (build 22254, api 9, 2025-01-26) - 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 77809c99..cfc3e7e3 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 = 22253 +TARGET_BALLISTICA_BUILD = 22254 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bauiv1lib/settings/devtools.py b/src/assets/ba_data/python/bauiv1lib/settings/devtools.py index ea817002..93a381b9 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/devtools.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/devtools.py @@ -26,41 +26,53 @@ class DevToolsWindow(bui.MainWindow): assert app.classic is not None uiscale = app.ui_v1.uiscale - self._width = 1000.0 if uiscale is bui.UIScale.SMALL else 670.0 - x_inset = 150 if uiscale is bui.UIScale.SMALL else 0 + self._width = 1200.0 if uiscale is bui.UIScale.SMALL else 670.0 self._height = ( - 370.0 + 800 if uiscale is bui.UIScale.SMALL else 450.0 if uiscale is bui.UIScale.MEDIUM else 520.0 ) - self._spacing = 32 - top_extra = 10 if uiscale is bui.UIScale.SMALL else 0 - self._scroll_width = self._width - (100 + 2 * x_inset) - self._scroll_height = self._height - 115.0 + # Do some fancy math to fill all available screen area up to the + # size of our backing container. This lets us fit to the exact + # screen shape at small ui scale. + screensize = bui.get_virtual_screen_size() + scale = ( + 2.13 + if uiscale is bui.UIScale.SMALL + else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0 + ) + # Calc screen size in our local container space and clamp to a + # bit smaller than our container size. + target_width = min(self._width - 80, screensize[0] / scale) + target_height = min(self._height - 90, screensize[1] / scale) + + # To get top/left coords, go to the center of our window and + # offset by half the width/height of our target area. + yoffs = 0.5 * self._height + 0.5 * target_height + 30.0 + + self._scroll_width = target_width + self._scroll_height = target_height - 35 + self._scroll_bottom = yoffs - 64 - self._scroll_height + self._sub_width = self._scroll_width * 0.95 self._sub_height = 300.0 super().__init__( root_widget=bui.containerwidget( - size=(self._width, self._height + top_extra), + size=(self._width, self._height), toolbar_visibility=( 'menu_minimal' if uiscale is bui.UIScale.SMALL else 'menu_full' ), - scale=( - 2.13 - if uiscale is bui.UIScale.SMALL - else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0 - ), - stack_offset=( - (0, 0) if uiscale is bui.UIScale.SMALL else (0, 0) - ), + scale=scale, ), transition=transition, origin_widget=origin_widget, + # We're affected by screen size only at small ui-scale. + refresh_on_screen_size_changes=uiscale is bui.UIScale.SMALL, ) self._r = 'settingsDevTools' @@ -73,7 +85,7 @@ class DevToolsWindow(bui.MainWindow): else: self._back_button = bui.buttonwidget( parent=self._root_widget, - position=(53 + x_inset, self._height - 60), + position=(53, yoffs - 50), size=(140, 60), scale=0.8, autoselect=True, @@ -89,7 +101,7 @@ class DevToolsWindow(bui.MainWindow): parent=self._root_widget, position=( self._width * 0.5, - self._height - (64 if uiscale is bui.UIScale.SMALL else 48), + yoffs - (60 if uiscale is bui.UIScale.SMALL else 42), ), size=(0, 25), scale=(0.8 if uiscale is bui.UIScale.SMALL else 1.0), @@ -110,11 +122,15 @@ class DevToolsWindow(bui.MainWindow): self._scrollwidget = bui.scrollwidget( parent=self._root_widget, - position=(50 + x_inset, 50), + position=( + self._width * 0.5 - self._scroll_width * 0.5, + self._scroll_bottom, + ), simple_culling_v=20.0, 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/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index f853bcc9..59c4a83a 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 = 22253; +const int kEngineBuildNumber = 22254; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9;