mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-05 15:03:33 +08:00
Merge branch 'efroemling:master' into master
This commit is contained in:
commit
f82b5bf1e2
88
.efrocachemap
generated
88
.efrocachemap
generated
@ -4072,50 +4072,50 @@
|
|||||||
"build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/7f/b0/d7426f678c1fee642855e391f1b9",
|
"build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/7f/b0/d7426f678c1fee642855e391f1b9",
|
||||||
"build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/21/26/7a4f7252ef70fdb86c734acacc42",
|
"build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/21/26/7a4f7252ef70fdb86c734acacc42",
|
||||||
"build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/53/0b/df2f7aaaf3cf4d9578c2bc5d4ad9",
|
"build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/53/0b/df2f7aaaf3cf4d9578c2bc5d4ad9",
|
||||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/ea/15/797a4014928f1831fc754c4a731e",
|
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/6d/f5/cd6bb460d8e0bc8fdf8c6dda110f",
|
||||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/3f/c6/9e4f6e9c69e7db138991189390b0",
|
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/c1/51/dd9802222b3ad4ebc705f0b36659",
|
||||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/30/93/5f2376a0f91828337a74092ba296",
|
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d9/61/4c98f45f8bcf76c559044d00e5d2",
|
||||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e3/e3/4a8f6c0d814d9982759ac9b85b84",
|
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/19/0b/4624ea2c9cf509fe023e12040093",
|
||||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/19/e6/d1bbf315e9f070fc7f5aab3cc408",
|
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/c7/52/f883d585cdd9b4a03d3a64ee4351",
|
||||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/1a/b6/9196bf7553c8380ddd37c8aba83f",
|
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/f4/d1/b174c0d0d9baaf10729d56630a20",
|
||||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/24/56/34bbdafa6ed8d8505fa50b40e10a",
|
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/48/40/1c7236c86c4561eefcdb9576d73d",
|
||||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/0c/9b/6dbedf9c32a5591fbc0724a7b050",
|
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/34/21/9a1967294a08c526d8453e06a34d",
|
||||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fe/a7/d303e82374902cf0749fa054aa24",
|
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/48/a6/ffe5d46811507a7a1f0ffa68ba25",
|
||||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/16/3e/5a02a80c844ea71c3ce1f229ff25",
|
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/3f/d4/19a0cdbcdf3e4e34c0b0315410da",
|
||||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/8f/c9/344dfdbe3cf1152ab1507f931cd7",
|
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/6a/f1/2bb0530610fe771fd3195ddf89cf",
|
||||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c3/d0/4fc44285b21e6b3dc4d9b3c30a28",
|
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/52/80/a0e16529e4e327b2d88d6b797570",
|
||||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/19/d2/a655f9788bdf844e34512f5f1ac1",
|
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/25/d4/b0f8815f5d0138c447b80934bb92",
|
||||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/a5/5f/1c69d9dab37d811da0cdde48d09f",
|
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/89/31/d2579d70ded65fdf0ed8095e2048",
|
||||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/06/10/a3622150f460c2d663e847620e71",
|
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ce/ed/64ab1594743b5cf92c36a5a9bb86",
|
||||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b8/3b/b2f787a50ed7a2271b0c65f0ab3e",
|
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e5/71/e5a4679fd6b69431f2d1505d0e0a",
|
||||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/7a/c5/4673ce879e907dd4eece9e4b7720",
|
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/d9/dc/bd256dcaca231459a3fe5ee41868",
|
||||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/31/d3/4f5978fb759009897f57c00bdf7e",
|
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/59/7b/455a35e58b7e09c253b1b016fce2",
|
||||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/07/c1/94c298f6ddbdb11d4a3fb5935137",
|
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/50/10/0ad405f5453d58730d001c993f59",
|
||||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/39/39/a874151a0edd3176eb2d931676cd",
|
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/b9/83/db7c79015a9e1b6917a2c4414b5a",
|
||||||
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8a/39/82acd22444cdde966df4838b3235",
|
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/76/66/8fccb439d7d7eafab460171b232d",
|
||||||
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/82/23/3da9e812f6d9d83e9c4678645792",
|
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4e/48/123b806cbe6ddb3d9a8368bbb4f8",
|
||||||
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8a/39/82acd22444cdde966df4838b3235",
|
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/76/66/8fccb439d7d7eafab460171b232d",
|
||||||
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/82/23/3da9e812f6d9d83e9c4678645792",
|
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4e/48/123b806cbe6ddb3d9a8368bbb4f8",
|
||||||
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/75/99/d4fbdf644fe76b609fe8d0dbdeec",
|
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/50/71/7d2eed15f547e74a439f2d537048",
|
||||||
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b4/77/b699106d5380ce3e93c5242e59be",
|
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/81/01/ce348c68f8ac5db0d3b230fb3dc5",
|
||||||
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/75/99/d4fbdf644fe76b609fe8d0dbdeec",
|
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/50/71/7d2eed15f547e74a439f2d537048",
|
||||||
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b4/77/b699106d5380ce3e93c5242e59be",
|
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/81/01/ce348c68f8ac5db0d3b230fb3dc5",
|
||||||
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/57/51/4b9175c993b186c3f438c3a8adcd",
|
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d0/4c/64ecc2688cc0421828cc305d3677",
|
||||||
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6d/7c/7212f3b2b5edd32d891cb37a8a11",
|
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d9/a8/c1f0ea1acc03b4e24db733eb3f9a",
|
||||||
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/57/51/4b9175c993b186c3f438c3a8adcd",
|
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d0/4c/64ecc2688cc0421828cc305d3677",
|
||||||
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6d/7c/7212f3b2b5edd32d891cb37a8a11",
|
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d9/a8/c1f0ea1acc03b4e24db733eb3f9a",
|
||||||
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/87/56/2528df7fd11bd4117ea453caa523",
|
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/5d/87ab6e915d0723275d7b35913211",
|
||||||
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2b/1d/067ca5d1bc54339f2b8682ef1aed",
|
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/7e/fa/291fd7e935502ced7e99b8c8f7f0",
|
||||||
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/65/49/cdbaca8ea343d79992618514438c",
|
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ba/cb/044a163f7605acda0e3d418403e6",
|
||||||
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2b/1d/067ca5d1bc54339f2b8682ef1aed",
|
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/7e/fa/291fd7e935502ced7e99b8c8f7f0",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/ff/e2/7a224e164ea67e547a3ebfc9277e",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/7c/e4/6be7a99cf12af668ef068f46d50f",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/93/6b/4319656b057a29d72f11066b7cac",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/06/6a/7e0826d9c4387a9144c1de68664c",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/0f/47/df2f3e9fe79c40fffa35d1cb99b3",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/3b/75/b3cfbad84f26eb4544ae7d0bcffc",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/08/12/5d06ad2986260ea7ba6d65bef594",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/f0/ba/663a2dccdd8b80d292c3858d2320",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/f0/6a/b74c7943c8047fb350148bba627b",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/36/8b/a58dd61d3fdc77998e8ff3213fa8",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/12/ce/c687700ec4bde58fcd61e3c072fa",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/f8/9c/4a5c81184069956be3077575f993",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/2c/67/7062227e5beacba0312e52b69b30",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/dd/13/764bb5f910ad0b34425e6dd4f818",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/50/e1/286b4b86905391f985d3ec726283",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/e7/4f/90b78953d062e63f0361f88e43a5",
|
||||||
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/f8/85/fed7f2ed98ff2ba271f9dbe3391c",
|
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/f8/85/fed7f2ed98ff2ba271f9dbe3391c",
|
||||||
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/48/4b/e6974f0a4d14be8213dc00d971c3",
|
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/48/4b/e6974f0a4d14be8213dc00d971c3",
|
||||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/3e/7a/203e2a5d2b5bb42cfe3fd2fe16c2",
|
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/3e/7a/203e2a5d2b5bb42cfe3fd2fe16c2",
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
### 1.7.20 (build 21130, api 8, 2023-06-19)
|
### 1.7.20 (build 21132, api 8, 2023-06-21)
|
||||||
|
|
||||||
- This seems like a good time for a `refactoring` release in anticipation of
|
- This seems like a good time for a `refactoring` release in anticipation of
|
||||||
changes coming in 1.8. Basically this means that a lot of things will be
|
changes coming in 1.8. Basically this means that a lot of things will be
|
||||||
@ -371,6 +371,10 @@
|
|||||||
- (build 20129) Fixed an issue where server builds would not build font assets
|
- (build 20129) Fixed an issue where server builds would not build font assets
|
||||||
(though it would install them if any recent gui builds had built them) which
|
(though it would install them if any recent gui builds had built them) which
|
||||||
could lead to obscure crashing.
|
could lead to obscure crashing.
|
||||||
|
- (build 21131) Fixed a bug where `is_browser_likely_available()` would
|
||||||
|
incorrectly return False on Android, causing certain things such as the v2
|
||||||
|
login screen to merely display URLs onscreen and not offer to open them in a
|
||||||
|
browser.
|
||||||
|
|
||||||
### 1.7.19 (build 20997, api 7, 2023-01-19)
|
### 1.7.19 (build 20997, api 7, 2023-01-19)
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ def is_browser_likely_available() -> bool:
|
|||||||
# assume no browser.
|
# assume no browser.
|
||||||
# FIXME: Might not be the case anymore; should make this definable
|
# FIXME: Might not be the case anymore; should make this definable
|
||||||
# at the platform level.
|
# at the platform level.
|
||||||
if app.vr_mode or (platform == 'android' and hastouchscreen):
|
if app.vr_mode or (platform == 'android' and not hastouchscreen):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Anywhere else assume we've got one.
|
# Anywhere else assume we've got one.
|
||||||
|
|||||||
@ -28,7 +28,7 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
# Build number and version of the ballistica binary we expect to be
|
# Build number and version of the ballistica binary we expect to be
|
||||||
# using.
|
# using.
|
||||||
TARGET_BALLISTICA_BUILD = 21130
|
TARGET_BALLISTICA_BUILD = 21132
|
||||||
TARGET_BALLISTICA_VERSION = '1.7.20'
|
TARGET_BALLISTICA_VERSION = '1.7.20'
|
||||||
|
|
||||||
_g_env_config: EnvConfig | None = None
|
_g_env_config: EnvConfig | None = None
|
||||||
|
|||||||
@ -280,6 +280,8 @@ void Assets::StartLoading() {
|
|||||||
LoadSystemMesh(SysMeshID::kLocatorCircleOutline, "locatorCircleOutline");
|
LoadSystemMesh(SysMeshID::kLocatorCircleOutline, "locatorCircleOutline");
|
||||||
LoadSystemMesh(SysMeshID::kCrossOut, "crossOut");
|
LoadSystemMesh(SysMeshID::kCrossOut, "crossOut");
|
||||||
LoadSystemMesh(SysMeshID::kWing, "wing");
|
LoadSystemMesh(SysMeshID::kWing, "wing");
|
||||||
|
|
||||||
|
sys_assets_loaded_ = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Assets::PrintLoadInfo() {
|
void Assets::PrintLoadInfo() {
|
||||||
@ -1597,30 +1599,47 @@ Assets::AssetListLock::~AssetListLock() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto Assets::SysTexture(SysTextureID id) -> TextureAsset* {
|
auto Assets::SysTexture(SysTextureID id) -> TextureAsset* {
|
||||||
assert(asset_loads_allowed_);
|
assert(asset_loads_allowed_ && sys_assets_loaded_);
|
||||||
assert(g_base->InLogicThread());
|
assert(g_base->InLogicThread());
|
||||||
assert(static_cast<size_t>(id) < system_textures_.size());
|
assert(static_cast<size_t>(id) < system_textures_.size());
|
||||||
|
// TEMP - tracking down some crashes in the wild.
|
||||||
|
if (!sys_assets_loaded_) {
|
||||||
|
FatalError("SysTexture called before sys assets loaded.");
|
||||||
|
}
|
||||||
return system_textures_[static_cast<int>(id)].Get();
|
return system_textures_[static_cast<int>(id)].Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto Assets::SysCubeMapTexture(SysCubeMapTextureID id) -> TextureAsset* {
|
auto Assets::SysCubeMapTexture(SysCubeMapTextureID id) -> TextureAsset* {
|
||||||
assert(asset_loads_allowed_);
|
assert(asset_loads_allowed_ && sys_assets_loaded_);
|
||||||
assert(g_base->InLogicThread());
|
assert(g_base->InLogicThread());
|
||||||
assert(static_cast<size_t>(id) < system_cube_map_textures_.size());
|
assert(static_cast<size_t>(id) < system_cube_map_textures_.size());
|
||||||
|
// TEMP - tracking down some crashes in the wild.
|
||||||
|
if (!sys_assets_loaded_) {
|
||||||
|
FatalError("SysCubeMapTexture called before sys assets loaded.");
|
||||||
|
}
|
||||||
return system_cube_map_textures_[static_cast<int>(id)].Get();
|
return system_cube_map_textures_[static_cast<int>(id)].Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto Assets::SysSound(SysSoundID id) -> SoundAsset* {
|
auto Assets::SysSound(SysSoundID id) -> SoundAsset* {
|
||||||
assert(asset_loads_allowed_);
|
assert(asset_loads_allowed_ && sys_assets_loaded_);
|
||||||
assert(g_base->InLogicThread());
|
assert(g_base->InLogicThread());
|
||||||
assert(static_cast<size_t>(id) < system_sounds_.size());
|
assert(static_cast<size_t>(id) < system_sounds_.size());
|
||||||
|
// TEMP - tracking down some crashes in the wild.
|
||||||
|
if (!sys_assets_loaded_) {
|
||||||
|
FatalError("SysSound called before sys assets loaded.");
|
||||||
|
}
|
||||||
return system_sounds_[static_cast<int>(id)].Get();
|
return system_sounds_[static_cast<int>(id)].Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto Assets::SysMesh(SysMeshID id) -> MeshAsset* {
|
auto Assets::SysMesh(SysMeshID id) -> MeshAsset* {
|
||||||
assert(asset_loads_allowed_);
|
assert(asset_loads_allowed_ && sys_assets_loaded_);
|
||||||
assert(g_base->InLogicThread());
|
assert(g_base->InLogicThread());
|
||||||
assert(static_cast<size_t>(id) < system_meshes_.size());
|
assert(static_cast<size_t>(id) < system_meshes_.size());
|
||||||
|
|
||||||
|
// TEMP - tracking down some crashes in the wild.
|
||||||
|
if (!sys_assets_loaded_) {
|
||||||
|
FatalError("SysMesh called before sys assets loaded.");
|
||||||
|
}
|
||||||
return system_meshes_[static_cast<int>(id)].Get();
|
return system_meshes_[static_cast<int>(id)].Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -113,6 +113,8 @@ class Assets {
|
|||||||
auto CompileResourceString(const std::string& s, const std::string& loc,
|
auto CompileResourceString(const std::string& s, const std::string& loc,
|
||||||
bool* valid = nullptr) -> std::string;
|
bool* valid = nullptr) -> std::string;
|
||||||
|
|
||||||
|
auto sys_assets_loaded() const { return sys_assets_loaded_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void MarkAssetForLoad(Asset* c);
|
static void MarkAssetForLoad(Asset* c);
|
||||||
void LoadSystemTexture(SysTextureID id, const char* name);
|
void LoadSystemTexture(SysTextureID id, const char* name);
|
||||||
@ -145,6 +147,7 @@ class Assets {
|
|||||||
|
|
||||||
// 'hard-wired' internal assets
|
// 'hard-wired' internal assets
|
||||||
bool asset_loads_allowed_{};
|
bool asset_loads_allowed_{};
|
||||||
|
bool sys_assets_loaded_{};
|
||||||
std::vector<Object::Ref<TextureAsset> > system_textures_;
|
std::vector<Object::Ref<TextureAsset> > system_textures_;
|
||||||
std::vector<Object::Ref<TextureAsset> > system_cube_map_textures_;
|
std::vector<Object::Ref<TextureAsset> > system_cube_map_textures_;
|
||||||
std::vector<Object::Ref<SoundAsset> > system_sounds_;
|
std::vector<Object::Ref<SoundAsset> > system_sounds_;
|
||||||
|
|||||||
@ -119,7 +119,14 @@ class InputDevice : public Object {
|
|||||||
|
|
||||||
void UpdateLastInputTime();
|
void UpdateLastInputTime();
|
||||||
|
|
||||||
auto delegate() -> InputDeviceDelegate& { return *delegate_; }
|
auto delegate() -> InputDeviceDelegate& {
|
||||||
|
// TEMP - Tracking down a crash in the wild.
|
||||||
|
// Delegate should always exist any time we're accessing it.
|
||||||
|
if (!delegate_.Exists()) {
|
||||||
|
FatalError("Input-device delegate unexpectedly invalid.");
|
||||||
|
}
|
||||||
|
return *delegate_;
|
||||||
|
}
|
||||||
auto set_delegate(const Object::Ref<InputDeviceDelegate>& delegate) {
|
auto set_delegate(const Object::Ref<InputDeviceDelegate>& delegate) {
|
||||||
delegate_ = delegate;
|
delegate_ = delegate;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -205,7 +205,9 @@ void Input::AnnounceConnects() {
|
|||||||
newly_connected_controllers_.front());
|
newly_connected_controllers_.front());
|
||||||
ScreenMessage(s);
|
ScreenMessage(s);
|
||||||
}
|
}
|
||||||
g_base->audio->PlaySound(g_base->assets->SysSound(SysSoundID::kGunCock));
|
if (g_base->assets->sys_assets_loaded()) {
|
||||||
|
g_base->audio->PlaySound(g_base->assets->SysSound(SysSoundID::kGunCock));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
newly_connected_controllers_.clear();
|
newly_connected_controllers_.clear();
|
||||||
@ -227,7 +229,9 @@ void Input::AnnounceDisconnects() {
|
|||||||
newly_disconnected_controllers_.front());
|
newly_disconnected_controllers_.front());
|
||||||
ScreenMessage(s);
|
ScreenMessage(s);
|
||||||
}
|
}
|
||||||
g_base->audio->PlaySound(g_base->assets->SysSound(SysSoundID::kCorkPop));
|
if (g_base->assets->sys_assets_loaded()) {
|
||||||
|
g_base->audio->PlaySound(g_base->assets->SysSound(SysSoundID::kCorkPop));
|
||||||
|
}
|
||||||
|
|
||||||
newly_disconnected_controllers_.clear();
|
newly_disconnected_controllers_.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,14 +51,13 @@ static auto PyScreenMessage(PyObject* self, PyObject* args, PyObject* keywds)
|
|||||||
bool suppress = (envval && strcmp(envval, "1") == 0);
|
bool suppress = (envval && strcmp(envval, "1") == 0);
|
||||||
if (!suppress) {
|
if (!suppress) {
|
||||||
Log(LogLevel::kWarning,
|
Log(LogLevel::kWarning,
|
||||||
"FIXME! screenmessage() is being called in a gameplay situation.\n"
|
"WARNING! screenmessage() is being called in a gameplay situation.\n"
|
||||||
"The screenmessage call used to send messages to all players but now "
|
"Previously this would send a message to all connected clients,"
|
||||||
"only prints them locally.\n"
|
" but as of 1.7.20 it only shows a message on the local device.\n"
|
||||||
"Please change your code to use bascenev1.broadcastmessage() to get "
|
"To get the old behavior, change your code to use"
|
||||||
"the old behavior.\n"
|
" bascenev1.broadcastmessage() instead.\n"
|
||||||
"You can set env var BA_SUPPRESS_SCREEN_MESSAGE_WARNING=1 to "
|
"You can set env var BA_SUPPRESS_SCREEN_MESSAGE_WARNING=1 to"
|
||||||
"suppress "
|
" suppress this warning.");
|
||||||
"this warning.");
|
|
||||||
g_base->PrintPythonStackTrace();
|
g_base->PrintPythonStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
|
|||||||
namespace ballistica {
|
namespace ballistica {
|
||||||
|
|
||||||
// These are set automatically via script; don't modify them here.
|
// These are set automatically via script; don't modify them here.
|
||||||
const int kEngineBuildNumber = 21130;
|
const int kEngineBuildNumber = 21132;
|
||||||
const char* kEngineVersion = "1.7.20";
|
const char* kEngineVersion = "1.7.20";
|
||||||
|
|
||||||
auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||||
|
|||||||
@ -16,8 +16,12 @@ from typing import TYPE_CHECKING
|
|||||||
|
|
||||||
from efro.error import CleanError
|
from efro.error import CleanError
|
||||||
|
|
||||||
|
# WTF Pylint. This is our package. It goes last.
|
||||||
|
# pylint: disable=useless-suppression, wrong-import-order
|
||||||
from efrotools.filecache import FileCache
|
from efrotools.filecache import FileCache
|
||||||
|
|
||||||
|
# pylint: enable=useless-suppression, wrong-import-order
|
||||||
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|||||||
@ -485,7 +485,7 @@ def _write_cache_file(staging_dir: str, fname: str) -> tuple[str, str]:
|
|||||||
with open(path, 'wb') as outfile:
|
with open(path, 'wb') as outfile:
|
||||||
outfile.write(prefix + zlib.compress(fdataraw))
|
outfile.write(prefix + zlib.compress(fdataraw))
|
||||||
|
|
||||||
return (fname, hashpath)
|
return fname, hashpath
|
||||||
|
|
||||||
|
|
||||||
def _check_warm_start_entry(entry: tuple[str, str]) -> None:
|
def _check_warm_start_entry(entry: tuple[str, str]) -> None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user