Skip to content

Commit 9be9748

Browse files
committed
Add bascenev1.Quat rotation class; migrate more built-in strings to the new language-string system; fix a latent builtinassets NameError.
1 parent adf6900 commit 9be9748

22 files changed

Lines changed: 1033 additions & 259 deletions

.efrocachemap

Lines changed: 44 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### 1.8.0 (build 22990, api 9, 2026-08-19)
1+
### 1.8.0 (build 22991, api 9, 2026-08-19)
22
- Fully implemented asset packages (more on this soon)
33
- App-config committing (dirty-tracking, debounced disk writes, and
44
suspend/shutdown flushes) now lives fully in `babase` instead of routing
@@ -102,6 +102,10 @@
102102
- Android text editing has been streamlined - you can send chat messages
103103
directly from the keyboard instead of having to hit 'Done' and then 'Send',
104104
etc.
105+
- Added a `bascenev1.Quat` quaternion class. This can be useful for wrangling
106+
the new rotation value on the prop node. For example, to point a prop in
107+
random heading (rotating around the up axis) you can do:
108+
`"rotate": bs.Quat.from_angles(heading=random.uniform(0.0, 360.0))`
105109

106110
### 1.7.63 (build 22870, api 9, 2026-06-08)
107111
- Fixed mouse-wheel zooming in manual camera mode.

ballisticakit-cmake/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -761,6 +761,8 @@ set(BALLISTICA_SOURCES
761761
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_material.h
762762
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_node.cc
763763
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_node.h
764+
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_quat.cc
765+
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_quat.h
764766
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.h
765767
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_scene_data_asset.cc
766768
${BA_SRC_ROOT}/ballistica/scene_v1/python/class/python_class_scene_data_asset.h

ballisticakit-windows/Generic/BallisticaKitGeneric.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,8 @@
634634
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_material.h" />
635635
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.cc" />
636636
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.h" />
637+
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.cc" />
638+
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.h" />
637639
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_collision_mesh.h" />
638640
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_data_asset.cc" />
639641
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_data_asset.h" />

ballisticakit-windows/Generic/BallisticaKitGeneric.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1330,6 +1330,12 @@
13301330
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.h">
13311331
<Filter>ballistica\scene_v1\python\class</Filter>
13321332
</ClInclude>
1333+
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.cc">
1334+
<Filter>ballistica\scene_v1\python\class</Filter>
1335+
</ClCompile>
1336+
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.h">
1337+
<Filter>ballistica\scene_v1\python\class</Filter>
1338+
</ClInclude>
13331339
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_collision_mesh.h">
13341340
<Filter>ballistica\scene_v1\python\class</Filter>
13351341
</ClInclude>

ballisticakit-windows/Headless/BallisticaKitHeadless.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,8 @@
627627
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_material.h" />
628628
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.cc" />
629629
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.h" />
630+
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.cc" />
631+
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.h" />
630632
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_collision_mesh.h" />
631633
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_data_asset.cc" />
632634
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_data_asset.h" />

ballisticakit-windows/Headless/BallisticaKitHeadless.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1330,6 +1330,12 @@
13301330
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_node.h">
13311331
<Filter>ballistica\scene_v1\python\class</Filter>
13321332
</ClInclude>
1333+
<ClCompile Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.cc">
1334+
<Filter>ballistica\scene_v1\python\class</Filter>
1335+
</ClCompile>
1336+
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_quat.h">
1337+
<Filter>ballistica\scene_v1\python\class</Filter>
1338+
</ClInclude>
13331339
<ClInclude Include="..\..\src\ballistica\scene_v1\python\class\python_class_scene_collision_mesh.h">
13341340
<Filter>ballistica\scene_v1\python\class</Filter>
13351341
</ClInclude>

pconfig/projectconfig.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"assets": "a-0.babuiltinassets.260815",
2+
"assets": "a-0.babuiltinassets.260819",
33
"code_source_dirs": [
44
"src/ballistica"
55
],
@@ -23,7 +23,7 @@
2323
"bauiv1lib": "buil"
2424
},
2525
"efrocache_repository_url": "https://files.ballistica.net/cache/ba1",
26-
"engine_build_number": 22990,
26+
"engine_build_number": 22991,
2727
"name": "BallisticaKit",
2828
"public": true,
2929
"python_paths": [
@@ -43,5 +43,5 @@
4343
"tests",
4444
"config"
4545
],
46-
"version": "1.8.0a95"
46+
"version": "1.8.0a96"
4747
}

src/assets/ba_data/python/babase/builtinassets.py

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# Released under the MIT License. See LICENSE for details.
22
#
33
# Auto-generated; do not edit by hand.
4-
"""Asset-package wrapper for ``a-0.babuiltinassets.260815`` (babase).
4+
"""Asset-package wrapper for ``a-0.babuiltinassets.260819`` (babase).
55
66
Bare minimum assets always bundled with the engine.
77
88
These are loaded at launch and always available in the C++ layer.
99
"""
1010

1111
# ba_meta require api 9
12-
# ba_meta require asset-package a-0.babuiltinassets.260815
12+
# ba_meta require asset-package a-0.babuiltinassets.260819
1313

1414
# pylint: disable=useless-suppression
1515
# pylint: disable=too-many-lines
1616
# pylint: disable=too-few-public-methods, disallowed-name
1717

18-
__asset_package__ = 'a-0.babuiltinassets.260815'
18+
__asset_package__ = 'a-0.babuiltinassets.260819'
1919

2020
from typing import TYPE_CHECKING
2121

@@ -569,6 +569,18 @@ def connected_to_party(self, *, name: str | LangStr) -> LangStr:
569569
#: English: "Connection rejected."
570570
connection_rejected: LangStr
571571

572+
def device_time_incorrect(self, *, hours: str | LangStr) -> LangStr:
573+
"""
574+
::
575+
576+
Warning shown when the device clock differs substantially from
577+
real-world time; the placeholder is how many hours off it is.
578+
579+
English: "Your device's time is incorrect by {hours} hours. This
580+
is likely to cause problems. Please check your time and
581+
time-zone settings."
582+
"""
583+
572584
#: ::
573585
#:
574586
#: Screen-message when connecting fails because the host runs a
@@ -659,6 +671,15 @@ def player_left_party(self, *, name: str | LangStr) -> LangStr:
659671
English: "{name} left the party."
660672
"""
661673

674+
#: ::
675+
#:
676+
#: Screen-message shown when the client cannot establish its secure
677+
#: connection to the cloud.
678+
#:
679+
#: English: "Unable to establish secure cloud connection; network
680+
#: functionality may fail."
681+
secure_connection_failed: LangStr
682+
662683
#: ::
663684
#:
664685
#: Screen-message when connecting to game servers is refused because
@@ -1040,6 +1061,13 @@ def purchase_not_valid(self, *, email: str | LangStr) -> LangStr:
10401061
#: English: "Purchases restored."
10411062
purchases_restored: LangStr
10421063

1064+
#: ::
1065+
#:
1066+
#: Status shown while a purchase is being processed.
1067+
#:
1068+
#: English: "Purchasing..."
1069+
purchasing: LangStr
1070+
10431071
#: ::
10441072
#:
10451073
#: Limited-time offer to remove ads via a token pack.
@@ -1048,6 +1076,14 @@ def purchase_not_valid(self, *, email: str | LangStr) -> LangStr:
10481076
#: IN-GAME ADS."
10491077
remove_ads_token_offer: LangStr
10501078

1079+
#: ::
1080+
#:
1081+
#: Status shown while a free (zero-price) item is being requested;
1082+
#: the counterpart of the purchasing message.
1083+
#:
1084+
#: English: "Requesting..."
1085+
requesting: LangStr
1086+
10511087
#: ::
10521088
#:
10531089
#: Notice that a transaction is already underway.
@@ -1386,8 +1422,8 @@ class StringsGroup:
13861422
#: ``click01``, ``cork_pop``, and 15 more). Full list in source.
13871423
audio: AudioGroup
13881424

1389-
#: The ``strings`` group - 123 strings (``account``, ``assets``, ``audio``,
1390-
#: ``input``, ``net``, and 118 more). Full list in source.
1425+
#: The ``strings`` group - 127 strings (``account``, ``assets``, ``audio``,
1426+
#: ``input``, ``net``, and 122 more). Full list in source.
13911427
strings: StringsGroup
13921428

13931429
_TREE = {
@@ -1468,6 +1504,7 @@ class StringsGroup:
14681504
'connection_failed_party_full': (),
14691505
'connection_failed_version_mismatch': (),
14701506
'connection_rejected': (),
1507+
'device_time_incorrect': ('hours',),
14711508
'incompatible_newer_version_host': (),
14721509
'incompatible_version_host': (),
14731510
'incompatible_version_player': ('name',),
@@ -1477,6 +1514,7 @@ class StringsGroup:
14771514
'left_party': ('name',),
14781515
'player_joined_party': ('name',),
14791516
'player_left_party': ('name',),
1517+
'secure_connection_failed': (),
14801518
'server_unsupported': (),
14811519
'unavailable_no_connection': (),
14821520
},
@@ -1519,7 +1557,9 @@ class StringsGroup:
15191557
'purchase_already_in_progress': (),
15201558
'purchase_not_valid': ('email',),
15211559
'purchases_restored': (),
1560+
'purchasing': (),
15221561
'remove_ads_token_offer': (),
1562+
'requesting': (),
15231563
'transaction_in_progress': (),
15241564
'unavailable': (),
15251565
'unavailable_temporarily': (),

src/assets/ba_data/python/baenv.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555

5656
# Build number and version of the ballistica binary we expect to be
5757
# using.
58-
TARGET_BALLISTICA_BUILD = 22990
59-
TARGET_BALLISTICA_VERSION = '1.8.0a95'
58+
TARGET_BALLISTICA_BUILD = 22991
59+
TARGET_BALLISTICA_VERSION = '1.8.0a96'
6060

6161

6262
@dataclass

0 commit comments

Comments
 (0)