mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-01 12:25:53 +08:00
net-testing window is now screen-size-responsive
This commit is contained in:
parent
ebbee0b429
commit
02e2519f6a
54
.efrocachemap
generated
54
.efrocachemap
generated
@ -432,10 +432,10 @@
|
||||
"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": "2e943cae780ddba2b1ca27ec3c1a6b2a",
|
||||
"build/assets/ba_data/data/langdata.json": "2d45fb57151526c2b175ae4eb3e5e6be",
|
||||
"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",
|
||||
"build/assets/ba_data/data/languages/chinese.json": "7ff14b51d741bb3c8e7c902d85eb8dcd",
|
||||
"build/assets/ba_data/data/languages/chinesetraditional.json": "bea0f9c17324591b8261015cbd80a265",
|
||||
"build/assets/ba_data/data/languages/croatian.json": "f36e1c6f20f2ce0d1fa8adb9c3cbf509",
|
||||
"build/assets/ba_data/data/languages/czech.json": "3418bee44e69be13b7f72996abe96921",
|
||||
@ -467,7 +467,7 @@
|
||||
"build/assets/ba_data/data/languages/tamil.json": "ead39b864228696a9b0d19344bc4b5ec",
|
||||
"build/assets/ba_data/data/languages/thai.json": "383540a1e9c7c131ac579f51afc87471",
|
||||
"build/assets/ba_data/data/languages/turkish.json": "457b05da532950390e19e7e5ce7f1d3f",
|
||||
"build/assets/ba_data/data/languages/ukrainian.json": "0db55824759119aca74d2ee8ffe6daae",
|
||||
"build/assets/ba_data/data/languages/ukrainian.json": "2e6877453e200d91ed5df5bfe6289020",
|
||||
"build/assets/ba_data/data/languages/venetian.json": "acea003316bef657925d776dd460e713",
|
||||
"build/assets/ba_data/data/languages/vietnamese.json": "cc578c670bfb9855f93bbdc51922d267",
|
||||
"build/assets/ba_data/data/maps/big_g.json": "1dd301d490643088a435ce75df971054",
|
||||
@ -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": "361a2a072cd9783816ec073b9d54f576",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "d318e35eff35b758f125dfab317f4573",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "45220e04a0db2fec434fe52c907079f4",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "0b1dca00b854aee3ebab2ab2b0e53476",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1a1c5116969fbfdcfff3bb12fbf0bac1",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "df3aaa767747f59376821e58a9e1c84f",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "84ba732a0f8782ac1c058de7c83923b3",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "b06d290cf6440334fb2f9009956fadce",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "0b1e8820b31f988350d33c23253a516c",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "17d57a302bb261b744bd39aece04e6bb",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "dbdea9264fd2c4aa78bf2147fede4ceb",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "df86bfc9a1d5a49e18d88682c48db5b2",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "80e4c921ddfa5b683cb5cd37873e0778",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "f16aaf99696639ff5347f02f8983ca0e",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "ae97c523b56caf8cb262528e7013ec2a",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "427543084f3948f85c18dfc99ee0d8bd",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "25a987a498d65d0f5ab2c8c9067e86f6",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "2059b78a747f80ee86388133b0e9c592",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "96b3a761ebabc1e000322220e656afd8",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "78363822c8934bf3d7a331ba3fa00416",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "49e5535ea3dbd652a1a5a77d2a57f9a2",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "d062c0b7211747c1c3257c887d3c7692",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "c6db9b6eb6577cb5b601fe4161973c81",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "e78f28148d12dafb3299874d8aa30d24",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "88f308a74316d5501527c1dd59656fc9",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "7f3bb93bc72f78deaa46a2d55242715b",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "035a6eb518b861b0cc5610210430f580",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "916c9df38d54451efb784b391bbbed8e",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "5beb3d60e0208d808eb4bcc2cccf83ba",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "e72f9e84f4671eee445ef83404664673",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "c0c655aa391070d44ccb3c15fd1c9d19",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "1201690dddae30dc112941f260cb37ef",
|
||||
"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": "e921a853645f35ddea3c346e4a08191b",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "dbe77550cafe948486d0c47bae7f1103",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "a156a0dad723eefc972bdc8686be352a",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "d79da22f29268cc0bca185ff73ff2313",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "7de0f6794c804b3ac2deee09b7c73178",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "6ab2bde7ae061ada40fbd4f41bc6ae3a",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "3a2ad0a173eb85ff96bc6c27c379c47e",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "9d4ebc74437edade46380227aa770324",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "300c12423b206062bfce1b5fcf6c2e64",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "5595169d9d757cc1c42548efd3874bdf",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "6975dcc3655b7201df6f2226fc49d085",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "49f142b145c2284bb7c5bd2d2c8e0f8a",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "92916a5d6548c8b9f9f27a2243669fe8",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "b530d8de1a0bf4a8171e8941ecb6debf",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "c6f51447573050163104f546d31f5e05",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "114ff9455657ce2d7a4360f489079360",
|
||||
"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",
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
### 1.7.37 (build 22256, api 9, 2025-01-26)
|
||||
### 1.7.37 (build 22257, 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.
|
||||
|
||||
@ -53,7 +53,7 @@ if TYPE_CHECKING:
|
||||
|
||||
# Build number and version of the ballistica binary we expect to be
|
||||
# using.
|
||||
TARGET_BALLISTICA_BUILD = 22256
|
||||
TARGET_BALLISTICA_BUILD = 22257
|
||||
TARGET_BALLISTICA_VERSION = '1.7.37'
|
||||
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ class AdvancedSettingsWindow(bui.MainWindow):
|
||||
self._height = (
|
||||
490.0
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 450.0 if uiscale is bui.UIScale.MEDIUM else 550.0
|
||||
else 450.0 if uiscale is bui.UIScale.MEDIUM else 600.0
|
||||
)
|
||||
self._lang_status_text: bui.Widget | None = None
|
||||
|
||||
@ -56,7 +56,7 @@ class AdvancedSettingsWindow(bui.MainWindow):
|
||||
scale = (
|
||||
2.2
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
|
||||
else 1.3 if uiscale is bui.UIScale.MEDIUM else 0.9
|
||||
)
|
||||
|
||||
# Calc screen size in our local container space and clamp to a
|
||||
|
||||
@ -31,21 +31,43 @@ class NetTestingWindow(bui.MainWindow):
|
||||
origin_widget: bui.Widget | None = None,
|
||||
):
|
||||
uiscale = bui.app.ui_v1.uiscale
|
||||
self._width = 820
|
||||
self._height = 500 if uiscale is bui.UIScale.SMALL else 500
|
||||
yoffs = -50 if uiscale is bui.UIScale.SMALL else 0
|
||||
self._width = 1200 if uiscale is bui.UIScale.SMALL else 820
|
||||
self._height = (
|
||||
800
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 550 if uiscale is bui.UIScale.MEDIUM else 650
|
||||
)
|
||||
|
||||
self._printed_lines: list[str] = []
|
||||
assert bui.app.classic is not None
|
||||
|
||||
# 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 = (
|
||||
1.75
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 1.0 if uiscale is bui.UIScale.MEDIUM else 0.75
|
||||
)
|
||||
|
||||
# Calc screen size in our local container space and clamp to a
|
||||
# bit smaller than our container size.
|
||||
target_width = min(self._width - 90, 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
|
||||
|
||||
scroll_width = target_width
|
||||
scroll_height = target_height - 52
|
||||
scroll_bottom = yoffs - 82 - scroll_height
|
||||
|
||||
super().__init__(
|
||||
root_widget=bui.containerwidget(
|
||||
size=(self._width, self._height),
|
||||
scale=(
|
||||
1.75
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
else 1.2 if uiscale is bui.UIScale.MEDIUM else 0.8
|
||||
),
|
||||
stack_offset=(0, -4 if uiscale is bui.UIScale.SMALL else 0.0),
|
||||
scale=scale,
|
||||
toolbar_visibility=(
|
||||
'menu_minimal'
|
||||
if uiscale is bui.UIScale.SMALL
|
||||
@ -54,17 +76,19 @@ class NetTestingWindow(bui.MainWindow):
|
||||
),
|
||||
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._done_button: bui.Widget | None
|
||||
self._back_button: bui.Widget | None
|
||||
if uiscale is bui.UIScale.SMALL:
|
||||
bui.containerwidget(
|
||||
edit=self._root_widget, on_cancel_call=self.main_window_back
|
||||
)
|
||||
self._done_button = None
|
||||
self._back_button = None
|
||||
else:
|
||||
self._done_button = bui.buttonwidget(
|
||||
self._back_button = bui.buttonwidget(
|
||||
parent=self._root_widget,
|
||||
position=(46, self._height - 77 + yoffs),
|
||||
position=(46, yoffs - 77),
|
||||
size=(60, 60),
|
||||
scale=0.9,
|
||||
label=bui.charstr(bui.SpecialChar.BACK),
|
||||
@ -73,15 +97,19 @@ class NetTestingWindow(bui.MainWindow):
|
||||
on_activate_call=self.main_window_back,
|
||||
)
|
||||
bui.containerwidget(
|
||||
edit=self._root_widget, cancel_button=self._done_button
|
||||
edit=self._root_widget, cancel_button=self._back_button
|
||||
)
|
||||
|
||||
# Avoid squads button on small mode.
|
||||
xinset = -50 if uiscale is bui.UIScale.SMALL else 0
|
||||
# xinset = -50 if uiscale is bui.UIScale.SMALL else 0
|
||||
|
||||
xextra = -80 if uiscale is bui.UIScale.SMALL else 0
|
||||
self._copy_button = bui.buttonwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width - 200 + xinset, self._height - 77 + yoffs),
|
||||
position=(
|
||||
self._width * 0.5 + scroll_width * 0.5 - 210 + 80 + xextra,
|
||||
yoffs - 79,
|
||||
),
|
||||
size=(100, 60),
|
||||
scale=0.8,
|
||||
autoselect=True,
|
||||
@ -91,7 +119,10 @@ class NetTestingWindow(bui.MainWindow):
|
||||
|
||||
self._settings_button = bui.buttonwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width - 100 + xinset, self._height - 77 + yoffs),
|
||||
position=(
|
||||
self._width * 0.5 + scroll_width * 0.5 - 110 + 80 + xextra,
|
||||
yoffs - 77,
|
||||
),
|
||||
size=(60, 60),
|
||||
scale=0.8,
|
||||
autoselect=True,
|
||||
@ -99,30 +130,24 @@ class NetTestingWindow(bui.MainWindow):
|
||||
on_activate_call=self._show_val_testing,
|
||||
)
|
||||
|
||||
twidth = self._width - 540
|
||||
bui.textwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width * 0.5, self._height - 55 + yoffs),
|
||||
position=(self._width * 0.5, yoffs - 55),
|
||||
size=(0, 0),
|
||||
text=bui.Lstr(resource='settingsWindowAdvanced.netTestingText'),
|
||||
color=(0.8, 0.8, 0.8, 1.0),
|
||||
h_align='center',
|
||||
v_align='center',
|
||||
maxwidth=twidth,
|
||||
maxwidth=250,
|
||||
)
|
||||
|
||||
self._scroll = bui.scrollwidget(
|
||||
parent=self._root_widget,
|
||||
position=(
|
||||
50,
|
||||
(140 if uiscale is bui.UIScale.SMALL else 50) + yoffs,
|
||||
),
|
||||
size=(
|
||||
self._width - 100,
|
||||
self._height - (220 if uiscale is bui.UIScale.SMALL else 140),
|
||||
),
|
||||
size=(scroll_width, scroll_height),
|
||||
position=(self._width * 0.5 - scroll_width * 0.5, scroll_bottom),
|
||||
capture_arrows=True,
|
||||
autoselect=True,
|
||||
border_opacity=0.4,
|
||||
)
|
||||
self._rows = bui.columnwidget(parent=self._scroll)
|
||||
|
||||
|
||||
@ -79,18 +79,12 @@ class TestingWindow(bui.MainWindow):
|
||||
parent=self._root_widget,
|
||||
autoselect=True,
|
||||
position=(35, yoffs - 59),
|
||||
size=(130, 60),
|
||||
size=(60, 60),
|
||||
scale=0.8,
|
||||
text_scale=1.2,
|
||||
label=bui.Lstr(resource='backText'),
|
||||
button_type='back',
|
||||
on_activate_call=self.main_window_back,
|
||||
)
|
||||
bui.buttonwidget(
|
||||
edit=self._back_button,
|
||||
button_type='backSmall',
|
||||
size=(60, 60),
|
||||
label=bui.charstr(bui.SpecialChar.BACK),
|
||||
button_type='backSmall',
|
||||
on_activate_call=self.main_window_back,
|
||||
)
|
||||
bui.containerwidget(edit=self._root_widget, cancel_button=btn)
|
||||
|
||||
|
||||
@ -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 = 22256;
|
||||
const int kEngineBuildNumber = 22257;
|
||||
const char* kEngineVersion = "1.7.37";
|
||||
const int kEngineApiVersion = 9;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user