mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-27 09:23:12 +08:00
v1.7.22
This commit is contained in:
parent
daec702d80
commit
f59e3b7241
88
.efrocachemap
generated
88
.efrocachemap
generated
@ -421,10 +421,10 @@
|
||||
"build/assets/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/74/be/fe45a8417e95b6a2233c51992a26",
|
||||
"build/assets/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/48/ab/8cddfcde36a750856f3f81dd20c8",
|
||||
"build/assets/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/2b/46/8aedfa8741090247f04eb9e6df55",
|
||||
"build/assets/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/7a/57/60b86e6ab02f04afe4af903cf6cb",
|
||||
"build/assets/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/a1/f9/645b8c7e1e99dd11446bc77005da",
|
||||
"build/assets/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/83/87/06fc7255ebf8a895ad37d2dfa13d",
|
||||
"build/assets/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/57/68/d03a19b9035cfae7cdc5377d889a",
|
||||
"build/assets/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/25/f1/d88c72fbeeb121340244bc935df4",
|
||||
"build/assets/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/b6/00/924583b899165757f412eef0dd01",
|
||||
"build/assets/ba_data/data/languages/chinesetraditional.json": "https://files.ballistica.net/cache/ba1/50/4c/4fb39f065b1a2f0320026a2e1b92",
|
||||
"build/assets/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/76/65/32c67af5bd0144c2d63cab0516fa",
|
||||
"build/assets/ba_data/data/languages/czech.json": "https://files.ballistica.net/cache/ba1/f3/ce/219840946cb8f9aa6d3e25927ab3",
|
||||
@ -434,30 +434,30 @@
|
||||
"build/assets/ba_data/data/languages/esperanto.json": "https://files.ballistica.net/cache/ba1/0e/39/7cfa5f3fb8cef5f4a64f21cda880",
|
||||
"build/assets/ba_data/data/languages/filipino.json": "https://files.ballistica.net/cache/ba1/cb/49/1739273c68c82cebca0aee16d6c9",
|
||||
"build/assets/ba_data/data/languages/french.json": "https://files.ballistica.net/cache/ba1/51/89/e01389f8153497b56fbf0fa069c2",
|
||||
"build/assets/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/22/a4/452043a401252ca66b703ce5d4aa",
|
||||
"build/assets/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/54/97/54d2a530d825200c6126be56df5c",
|
||||
"build/assets/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/23/6f/8547ba09722b7c7f5b8333986984",
|
||||
"build/assets/ba_data/data/languages/greek.json": "https://files.ballistica.net/cache/ba1/a6/5d/78f912e9a89f98de004405167a6a",
|
||||
"build/assets/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/88/ee/0cda537bab9ac827def5e236fe1a",
|
||||
"build/assets/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/00/ba/cf1b8bb9f7914f64647d4665b0a8",
|
||||
"build/assets/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/0d/59/18149137b31721efe131d89689c6",
|
||||
"build/assets/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/ac/03/2e4a2322a96e3d6d5e2aa3ae327d",
|
||||
"build/assets/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/58/3b/ae1ecc04375cee089a82359110b7",
|
||||
"build/assets/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/67/44/40ada7b8e76adceb2129d7668df6",
|
||||
"build/assets/ba_data/data/languages/korean.json": "https://files.ballistica.net/cache/ba1/bd/c1/3f8632adda5517059323d928f192",
|
||||
"build/assets/ba_data/data/languages/malay.json": "https://files.ballistica.net/cache/ba1/83/25/62ce997fc70704b9234c95fb2e38",
|
||||
"build/assets/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/f4/1d/3524c00d2e8e8c4613ebdf1493b4",
|
||||
"build/assets/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/0e/46/0cb71876e02d361e11db64640831",
|
||||
"build/assets/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/a6/a7/4a9a289fa1b97847c9a2578c112b",
|
||||
"build/assets/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/99/b2/7c598c90fd522132af3536aef0ee",
|
||||
"build/assets/ba_data/data/languages/romanian.json": "https://files.ballistica.net/cache/ba1/ae/eb/dd54f65939c2facc6ac50c117826",
|
||||
"build/assets/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/9a/c0/a2ff20e53f7d22037a9c8211a362",
|
||||
"build/assets/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/aa/99/f9f597787fe4e09c8ab53fe2e081",
|
||||
"build/assets/ba_data/data/languages/serbian.json": "https://files.ballistica.net/cache/ba1/d7/45/2dd72ac0e51680cb39b5ebaa1c69",
|
||||
"build/assets/ba_data/data/languages/slovak.json": "https://files.ballistica.net/cache/ba1/27/96/2d53dc3f7dd4e877cd40faafeeef",
|
||||
"build/assets/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/f2/7a/b0eb0a0b68e25d3a3fb1ec436645",
|
||||
"build/assets/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/bd/5e/80c74f96bb50d270396d437d6750",
|
||||
"build/assets/ba_data/data/languages/swedish.json": "https://files.ballistica.net/cache/ba1/77/d6/71f10613291ebf9c71da66f18a18",
|
||||
"build/assets/ba_data/data/languages/tamil.json": "https://files.ballistica.net/cache/ba1/c7/fc/5ed7bd686839ec1a867763248cf9",
|
||||
"build/assets/ba_data/data/languages/thai.json": "https://files.ballistica.net/cache/ba1/33/f6/3753c9af9a5b238d229a0bf23fbc",
|
||||
"build/assets/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/e2/6a/07fa9a25878ee89807ce9962edf9",
|
||||
"build/assets/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/0a/97/f1f948f6587ea7d40b639aba67ce",
|
||||
"build/assets/ba_data/data/languages/ukrainian.json": "https://files.ballistica.net/cache/ba1/97/4a/399422e3061fdd82f66591283397",
|
||||
"build/assets/ba_data/data/languages/venetian.json": "https://files.ballistica.net/cache/ba1/e4/74/5c85bc56487bb715712c8b90a1eb",
|
||||
"build/assets/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/54/44/fd36756645564c42bb597de6377e",
|
||||
"build/assets/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/92/1c/d1e50f60fe3e101f246e172750ba",
|
||||
"build/assets/ba_data/data/maps/big_g.json": "https://files.ballistica.net/cache/ba1/1d/d3/01d490643088a435ce75df971054",
|
||||
"build/assets/ba_data/data/maps/bridgit.json": "https://files.ballistica.net/cache/ba1/6a/ea/74805f4880cc11237c5734a24422",
|
||||
"build/assets/ba_data/data/maps/courtyard.json": "https://files.ballistica.net/cache/ba1/4b/83/6554c8949bcd2ae382f5e3c1a9cc",
|
||||
@ -950,7 +950,7 @@
|
||||
"build/assets/ba_data/python-site-packages/certifi/__main__.py": "https://files.ballistica.net/cache/ba1/ef/02/e73f8581609df189a9f61aca365b",
|
||||
"build/assets/ba_data/python-site-packages/certifi/cacert.pem": "https://files.ballistica.net/cache/ba1/6a/c2/9a6bccca11cd2ed7e16e27dfccec",
|
||||
"build/assets/ba_data/python-site-packages/certifi/core.py": "https://files.ballistica.net/cache/ba1/1b/50/5388f1475fabd1b60031f985271c",
|
||||
"build/assets/ba_data/python-site-packages/typing_extensions.py": "https://files.ballistica.net/cache/ba1/11/61/88cec81052958f4f98239d4bf3ca",
|
||||
"build/assets/ba_data/python-site-packages/typing_extensions.py": "https://files.ballistica.net/cache/ba1/08/4d/93bb609d798a3930dfb5e25eba59",
|
||||
"build/assets/ba_data/python-site-packages/yaml/__init__.py": "https://files.ballistica.net/cache/ba1/55/7c/37ea8dbd4fa4d6dac97f399b6fdd",
|
||||
"build/assets/ba_data/python-site-packages/yaml/composer.py": "https://files.ballistica.net/cache/ba1/ce/f8/71e1f5f99ba2a7c44941b70afb06",
|
||||
"build/assets/ba_data/python-site-packages/yaml/constructor.py": "https://files.ballistica.net/cache/ba1/8a/15/e361e34b79491c81553bb3534062",
|
||||
@ -1535,10 +1535,10 @@
|
||||
"build/assets/ba_data/textures/fontExtras.dds": "https://files.ballistica.net/cache/ba1/7a/b1/1df1b3a3daa651dfad34219b89f5",
|
||||
"build/assets/ba_data/textures/fontExtras.ktx": "https://files.ballistica.net/cache/ba1/30/c3/c8ca2cdf1209ff177017bb10f0a8",
|
||||
"build/assets/ba_data/textures/fontExtras.pvr": "https://files.ballistica.net/cache/ba1/fd/3b/0bd902c30e4b7aa5fe00e1eec4be",
|
||||
"build/assets/ba_data/textures/fontExtras2.dds": "https://files.ballistica.net/cache/ba1/82/c4/9af5f739a4be74084c8b98a892b0",
|
||||
"build/assets/ba_data/textures/fontExtras2.ktx": "https://files.ballistica.net/cache/ba1/77/f7/55e108b8b910890c14cd58445d73",
|
||||
"build/assets/ba_data/textures/fontExtras2.pvr": "https://files.ballistica.net/cache/ba1/f7/ea/f0f444e39269dbe1f2af1bff310b",
|
||||
"build/assets/ba_data/textures/fontExtras2_preview.png": "https://files.ballistica.net/cache/ba1/f2/7c/50b10075a47e994651f71362c31c",
|
||||
"build/assets/ba_data/textures/fontExtras2.dds": "https://files.ballistica.net/cache/ba1/18/06/3a12912dadc9528afd90d1cf2369",
|
||||
"build/assets/ba_data/textures/fontExtras2.ktx": "https://files.ballistica.net/cache/ba1/36/da/7f6cfbfb8d32fb14371de0a8f660",
|
||||
"build/assets/ba_data/textures/fontExtras2.pvr": "https://files.ballistica.net/cache/ba1/7a/4e/8e64ac05313b1782fb5b958150d0",
|
||||
"build/assets/ba_data/textures/fontExtras2_preview.png": "https://files.ballistica.net/cache/ba1/f5/bc/05c8c34cb3ff7284e9edab7b8bcd",
|
||||
"build/assets/ba_data/textures/fontExtras3.dds": "https://files.ballistica.net/cache/ba1/4f/ce/73998583207fd7692a816e3d86b0",
|
||||
"build/assets/ba_data/textures/fontExtras3.ktx": "https://files.ballistica.net/cache/ba1/13/d6/1e663088bc97c1fa906a46ed5955",
|
||||
"build/assets/ba_data/textures/fontExtras3.pvr": "https://files.ballistica.net/cache/ba1/56/ba/c0d5f8672f36e1408a1e57cdd3d3",
|
||||
@ -4068,26 +4068,26 @@
|
||||
"build/assets/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/2d/ef/5335207d41b21b9823f6805997f1",
|
||||
"build/assets/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/b0/8a/55e2e77623fe657bea24f223a3ae",
|
||||
"build/assets/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/86/5b/2af4d1e26a1a8073c89acb06e599",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/d3/9c/74d2e9a1b887acd46f621272efa3",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/7d/41/d4590a21449f3b210a706ceb381a",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/11/f3/83f0fba3740203bae12c710ad8ff",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/47/d5/0a6181c67777beef34a67fb36ba6",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/50/be/3b2dc25c0768e711a482d132a3ba",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/91/c2/9d5d5278575f0bd6d3a056fb8160",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/34/6a/5cd3c0ab5a433ea77b7c9a047ae4",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/5f/da/617750d459fe6218dc3f7f860cff",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/95/48/47d550a802e5712719b7c5cda899",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/39/a3/c0c54265ea7c9debb317efc782a4",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/bc/1d/a15d7691a7c52b37b8ac3cebd4be",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/58/22/9552473e93773ba12a8ba0e33ac8",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/47/62/078ec6167c01d3b767a2babb0b73",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e0/eb/dabceff6aed25203fd9e973b29b7",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/98/ac/f5b5872699c4e04a6d6a97077d53",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/3c/ef/49bb8c6f2f1bf9114ab0c42e700c",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/25/7e/795d70e09b4fa86df5a9e0c55c1f",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/cf/97/df4d783c76f152c2ea2153a2b36c",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/d3/8a/8188e90299eec825be4ad76c6a9a",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/93/16/bd9d50566e7f666a07f42ca9ea9a",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/59/35/c9ba716b720aedc7d54e9c83fdc4",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/f8/58/e1200d725edb25877ddb03beb5ea",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/7b/2f/61d28afa0a9675add2c51e6dfd00",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/41/b8/6b4a0592bcf8c92aa2d1412a7288",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/0f/62/44f31d9bc7547754a8c79ec17141",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/85/b3dd2968bd85c2e0c449fe036111",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/60/89/7d935c2046c494e588ce6761125e",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/06/e4/4a46b2659ff56e018190240de396",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/c4/0d/50883b77f756641fbd80092d35b7",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/34/2f/a6deb8563e4cd29dff8f11c788bb",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e7/cc/431b21630eb325f068d472dad763",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b9/b9/33463ca1f078854d2e015df65b66",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/e9/80/b1483328b1ae0876fa63dbde529b",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/9f/19/9ed55ca8ed416273415024a58191",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d6/08/e08e3380f18c5dd476ad0bf082f3",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e4/6a/525b520d455f042bff170f663319",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/bb/22/2f948b1a6b5aac27e91f40ee6f06",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/4e/8c/f9b308b586a926bf855dba2e2509",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/4f/22/3a06c12dac1628f0761afb421122",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/b9/3a/e6a05acad4ea2325df5eae6c3fc8",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/be/19/b5458933dfc7371d91ecfcd2e06f",
|
||||
"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/be/19/b5458933dfc7371d91ecfcd2e06f",
|
||||
@ -4104,16 +4104,16 @@
|
||||
"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/e1/cb/7e8440699e59e8646da25aa5782b",
|
||||
"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/1f/12/f5811bdd6c1b81af2c79d14aac0f",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/70/05/940d32b8f297caac70e5edd23247",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/7d/3e/5022438c01db4b47cc8f2c5d8cfd",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/f0/c4/d6ea86c3dba824a5e03b4cbd7d43",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/4c/06/8a43c496f1e0e8c44b85e581fa55",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/af/06/51d246eb5b5c4a677155edd00cce",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/05/c1/ca3bce6340742a8bdb526b440df5",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/5f/91/6c36a3587d3e2682287bc36b4e1f",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/de/7c/be80b73558c5ce768b0084926910",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/e5/a1/644901f5d239aeab9fb976f79ffd",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/33/6e/5d5eb648ccb1646eaef4c626caa8",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/7a/1f/24348f323cfe76d907ef9d4b554e",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/95/0b/2bd52e8669d06f0a6729f1c2d8e0",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/a2/41/48a2c40099e3a27f283b3de9d5b5",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/e7/af/912d52ca415fe16b893eb4b92e70",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/d4/63/45858118d88aca3ed4f3bfec9cca",
|
||||
"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/f8/cd/3af311ac63147882590123b78318",
|
||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/3e/7a/203e2a5d2b5bb42cfe3fd2fe16c2",
|
||||
"src/ballistica/base/mgen/pyembed/binding_base_app.inc": "https://files.ballistica.net/cache/ba1/c2/f2/cb8d052d76a1f4abe163cab2276e",
|
||||
"src/ballistica/classic/mgen/pyembed/binding_classic.inc": "https://files.ballistica.net/cache/ba1/3c/eb/412513963f0818ab39c58bf292e3",
|
||||
|
||||
6
.idea/dictionaries/ericf.xml
generated
6
.idea/dictionaries/ericf.xml
generated
@ -422,6 +422,7 @@
|
||||
<w>cbresults</w>
|
||||
<w>cbtn</w>
|
||||
<w>cbtnoffs</w>
|
||||
<w>cbuf</w>
|
||||
<w>ccfgs</w>
|
||||
<w>ccind</w>
|
||||
<w>ccode</w>
|
||||
@ -939,6 +940,7 @@
|
||||
<w>expectedsig</w>
|
||||
<w>explodable</w>
|
||||
<w>explodey</w>
|
||||
<w>explodinary</w>
|
||||
<w>exportlist</w>
|
||||
<w>exportoptions</w>
|
||||
<w>exportoptionspath</w>
|
||||
@ -1861,6 +1863,7 @@
|
||||
<w>namecap</w>
|
||||
<w>namedarg</w>
|
||||
<w>namel</w>
|
||||
<w>namepre</w>
|
||||
<w>nametext</w>
|
||||
<w>nameu</w>
|
||||
<w>nameval</w>
|
||||
@ -2867,6 +2870,7 @@
|
||||
<w>termcolors</w>
|
||||
<w>termios</w>
|
||||
<w>testbuffer</w>
|
||||
<w>testbuild</w>
|
||||
<w>testcall</w>
|
||||
<w>testcallable</w>
|
||||
<w>testcapi</w>
|
||||
@ -3190,6 +3194,7 @@
|
||||
<w>wintdir</w>
|
||||
<w>wintype</w>
|
||||
<w>wmsbe</w>
|
||||
<w>wonkiness</w>
|
||||
<w>wonkypaths</w>
|
||||
<w>wonkysuffix</w>
|
||||
<w>woohoo</w>
|
||||
@ -3201,6 +3206,7 @@
|
||||
<w>woutdir</w>
|
||||
<w>wpath</w>
|
||||
<w>wprjp</w>
|
||||
<w>wreadlink</w>
|
||||
<w>wref</w>
|
||||
<w>writeauxiliaryfile</w>
|
||||
<w>writeclasses</w>
|
||||
|
||||
@ -1,10 +1,16 @@
|
||||
### 1.7.22 (build 21156, api 8, 2023-07-08)
|
||||
### 1.7.22 (build 21159, api 8, 2023-07-10)
|
||||
|
||||
- Fixed a very rare race condition when launching threads or sending synchronous
|
||||
cross-thread messages. This was manifesting as one out of several thousand
|
||||
server launches hanging.
|
||||
- Changed health box from a red cross to a green cross (turns out games aren't
|
||||
supposed to use red crosses for health for legal reasons).
|
||||
- Cleaned up how Android sets up its OpenGL context; it should be more flexible
|
||||
with the config formats it allows may might fix rare cases of graphics setup
|
||||
failing (such as with latest Android emulator for me). Please holler if you
|
||||
see any graphics wonkiness with this update.
|
||||
- Added SoK's explodinary icon to the game's custom text drawing because SoK is
|
||||
awesome.
|
||||
|
||||
### 1.7.21 (build 21152, api 8, 2023-06-27)
|
||||
|
||||
|
||||
5
ballisticakit-cmake/.idea/dictionaries/ericf.xml
generated
5
ballisticakit-cmake/.idea/dictionaries/ericf.xml
generated
@ -277,6 +277,7 @@
|
||||
<w>cbgn</w>
|
||||
<w>cbresults</w>
|
||||
<w>cbtnoffs</w>
|
||||
<w>cbuf</w>
|
||||
<w>ccdd</w>
|
||||
<w>ccind</w>
|
||||
<w>ccontext</w>
|
||||
@ -562,6 +563,7 @@
|
||||
<w>expbool</w>
|
||||
<w>expectedsig</w>
|
||||
<w>expl</w>
|
||||
<w>explodinary</w>
|
||||
<w>exportlist</w>
|
||||
<w>exporttypestr</w>
|
||||
<w>expsrc</w>
|
||||
@ -1071,6 +1073,7 @@
|
||||
<w>mywidget</w>
|
||||
<w>namecap</w>
|
||||
<w>namel</w>
|
||||
<w>namepre</w>
|
||||
<w>nameu</w>
|
||||
<w>nameval</w>
|
||||
<w>nbuffer</w>
|
||||
@ -1648,6 +1651,7 @@
|
||||
<w>templatefs</w>
|
||||
<w>tempvec</w>
|
||||
<w>tenum</w>
|
||||
<w>testbuild</w>
|
||||
<w>testclinic</w>
|
||||
<w>testint</w>
|
||||
<w>testinternalcapi</w>
|
||||
@ -1841,6 +1845,7 @@
|
||||
<w>worldspace</w>
|
||||
<w>woutdir</w>
|
||||
<w>wprjp</w>
|
||||
<w>wreadlink</w>
|
||||
<w>writeauxiliaryfile</w>
|
||||
<w>wspath</w>
|
||||
<w>wsroot</w>
|
||||
|
||||
@ -28,7 +28,7 @@ if TYPE_CHECKING:
|
||||
|
||||
# Build number and version of the ballistica binary we expect to be
|
||||
# using.
|
||||
TARGET_BALLISTICA_BUILD = 21156
|
||||
TARGET_BALLISTICA_BUILD = 21159
|
||||
TARGET_BALLISTICA_VERSION = '1.7.22'
|
||||
|
||||
_g_env_config: EnvConfig | None = None
|
||||
|
||||
@ -525,9 +525,9 @@ class EditProfileWindow(bui.Window):
|
||||
bui.SpecialChar.GAME_CIRCLE_LOGO,
|
||||
bui.SpecialChar.OUYA_LOGO,
|
||||
bui.SpecialChar.LOCAL_ACCOUNT,
|
||||
bui.SpecialChar.ALIBABA_LOGO,
|
||||
bui.SpecialChar.OCULUS_LOGO,
|
||||
bui.SpecialChar.NVIDIA_LOGO,
|
||||
bui.SpecialChar.V2_LOGO,
|
||||
]
|
||||
]
|
||||
)
|
||||
|
||||
@ -1259,7 +1259,7 @@ void Assets::InitSpecialChars() {
|
||||
special_char_strings_[SpecialChar::kTrophy0b] = "\xee\x80\xAE";
|
||||
special_char_strings_[SpecialChar::kTrophy4] = "\xee\x80\xAF";
|
||||
special_char_strings_[SpecialChar::kLocalAccount] = "\xee\x80\xB0";
|
||||
special_char_strings_[SpecialChar::kAlibabaLogo] = "\xee\x80\xB1";
|
||||
special_char_strings_[SpecialChar::kExplodinaryLogo] = "\xee\x80\xB1";
|
||||
|
||||
special_char_strings_[SpecialChar::kFlagUnitedStates] = "\xee\x80\xB2";
|
||||
special_char_strings_[SpecialChar::kFlagMexico] = "\xee\x80\xB3";
|
||||
|
||||
@ -56,18 +56,30 @@ void InputDevice::RequestPlayer() {
|
||||
last_input_time_millisecs_ =
|
||||
static_cast<millisecs_t>(g_base->logic->display_time() * 1000.0);
|
||||
|
||||
// Tracking down a bug.
|
||||
BA_PRECONDITION_FATAL(delegate_.Exists());
|
||||
delegate_->RequestPlayer();
|
||||
}
|
||||
|
||||
// If we're attached to a remote player, ship completed packets every now and
|
||||
// then.
|
||||
void InputDevice::Update() { delegate_->Update(); }
|
||||
void InputDevice::Update() {
|
||||
// Tracking down a bug.
|
||||
BA_PRECONDITION_FATAL(delegate_.Exists());
|
||||
delegate_->Update();
|
||||
}
|
||||
|
||||
auto InputDevice::AttachedToPlayer() const -> bool {
|
||||
// Tracking down a bug.
|
||||
BA_PRECONDITION_FATAL(delegate_.Exists());
|
||||
return delegate_->AttachedToPlayer();
|
||||
}
|
||||
|
||||
void InputDevice::DetachFromPlayer() { delegate_->DetachFromPlayer(); }
|
||||
void InputDevice::DetachFromPlayer() {
|
||||
// Tracking down a bug.
|
||||
BA_PRECONDITION_FATAL(delegate_.Exists());
|
||||
delegate_->DetachFromPlayer();
|
||||
}
|
||||
|
||||
void InputDevice::UpdateLastInputTime() {
|
||||
// Keep our own individual time, and also let
|
||||
@ -83,6 +95,8 @@ void InputDevice::InputCommand(InputType type, float value) {
|
||||
// Make note that we're being used in some way.
|
||||
UpdateLastInputTime();
|
||||
|
||||
// Tracking down a bug.
|
||||
BA_PRECONDITION_FATAL(delegate_.Exists());
|
||||
delegate_->InputCommand(type, value);
|
||||
}
|
||||
|
||||
|
||||
@ -44,7 +44,10 @@ class InputDeviceDelegate : public Object {
|
||||
/// An input-device-delegate should never outlive its input_device;
|
||||
/// our accessor returns a reference to show this does not need
|
||||
/// to be checked.
|
||||
auto input_device() const -> InputDevice& { return *input_device_; }
|
||||
auto input_device() const -> InputDevice& {
|
||||
BA_PRECONDITION_FATAL(input_device_.Exists());
|
||||
return *input_device_;
|
||||
}
|
||||
void set_input_device(InputDevice* device);
|
||||
auto InputDeviceExists() const -> bool { return input_device_.Exists(); }
|
||||
|
||||
|
||||
@ -83,6 +83,15 @@
|
||||
#error no BA_PLATFORM_CLASS defined for this platform
|
||||
#endif
|
||||
|
||||
// A call that can be used by custom built native libraries (Python, etc.)
|
||||
// to forward along debug messages to us.
|
||||
// FIXME: Reconcile this with our existing C++ version. This one does not
|
||||
// require the engine to be spun up so it better suited for things like
|
||||
// debugging native libs.
|
||||
extern "C" {
|
||||
void BallisticaLowLevelDebugLog(const char* msg) {}
|
||||
}
|
||||
|
||||
namespace ballistica::core {
|
||||
|
||||
auto CorePlatform::Create() -> CorePlatform* {
|
||||
|
||||
@ -10,6 +10,11 @@
|
||||
|
||||
namespace ballistica::core {
|
||||
|
||||
static void LowLevelPythonDebugLog(const char* msg) {
|
||||
assert(g_core);
|
||||
g_core->platform->DebugLog(msg);
|
||||
}
|
||||
|
||||
void CorePython::ApplyBaEnvConfig() {
|
||||
// Fetch the env-config (creates it if need be).
|
||||
auto envcfg = objs().Get(core::CorePython::ObjID::kBaEnvGetConfigCall).Call();
|
||||
@ -21,6 +26,11 @@ void CorePython::InitPython() {
|
||||
assert(g_core->InMainThread());
|
||||
assert(g_buildconfig.monolithic_build());
|
||||
|
||||
// Install our low level logger in our custom Python builds.
|
||||
#ifdef PY_HAVE_BALLISTICA_LOW_LEVEL_DEBUG_LOG
|
||||
Py_BallisticaLowLevelDebugLog = LowLevelPythonDebugLog;
|
||||
#endif
|
||||
|
||||
// Flip on some extra runtime debugging options in debug builds.
|
||||
// https://docs.python.org/3/library/devmode.html#devmode
|
||||
int dev_mode{g_buildconfig.debug_build()};
|
||||
|
||||
@ -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 = 21156;
|
||||
const int kEngineBuildNumber = 21159;
|
||||
const char* kEngineVersion = "1.7.22";
|
||||
|
||||
auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
@ -63,6 +63,9 @@ auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
// import it first thing even if we don't explicitly use it.
|
||||
l_core = core::CoreFeatureSet::Import(&core_config);
|
||||
|
||||
// TEMP - bug hunting.
|
||||
l_core->platform->DebugLog("mm1");
|
||||
|
||||
// If a command was passed, simply run it and exit. We want to act
|
||||
// simply as a Python interpreter in that case; we don't do any
|
||||
// environment setup (aside from the bits core does automatically such
|
||||
@ -75,6 +78,9 @@ auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
exit(success ? 0 : 1);
|
||||
}
|
||||
|
||||
// TEMP - bug hunting.
|
||||
l_core->platform->DebugLog("mm2");
|
||||
|
||||
// Ok, looks like we're doing a standard monolithic-mode app run.
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
@ -87,6 +93,9 @@ auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
// those modules get loaded from in the first place.
|
||||
l_core->python->MonolithicModeBaEnvConfigure();
|
||||
|
||||
// TEMP - bug hunting.
|
||||
l_core->platform->DebugLog("mm3");
|
||||
|
||||
// We need the base feature-set to run a full app but we don't have a hard
|
||||
// dependency to it. Let's see if it's available.
|
||||
l_base = l_core->SoftImportBase();
|
||||
@ -98,6 +107,9 @@ auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
// Phase 2: "The pieces are moving."
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
// TEMP - bug hunting.
|
||||
l_core->platform->DebugLog("mm4");
|
||||
|
||||
// Spin up all app machinery such as threads and subsystems. This gets
|
||||
// things ready to rock, but there's no actual rocking quite yet.
|
||||
l_base->StartApp();
|
||||
@ -106,6 +118,9 @@ auto MonolithicMain(const core::CoreConfig& core_config) -> int {
|
||||
// Phase 3: "We come to it at last; the great battle of our time."
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
// TEMP - bug hunting.
|
||||
l_core->platform->DebugLog("mm5");
|
||||
|
||||
// At this point we unleash the beast and then simply process events
|
||||
// until the app exits (or we return from this function and let the
|
||||
// environment do that part).
|
||||
|
||||
@ -212,7 +212,7 @@ enum class SpecialChar {
|
||||
kTrophy0b,
|
||||
kTrophy4,
|
||||
kLocalAccount,
|
||||
kAlibabaLogo,
|
||||
kExplodinaryLogo,
|
||||
kFlagUnitedStates,
|
||||
kFlagMexico,
|
||||
kFlagGermany,
|
||||
|
||||
@ -314,8 +314,7 @@ class LogHandler(logging.Handler):
|
||||
|
||||
# Called by logging to send us records.
|
||||
|
||||
# Special case: filter out this common extra-chatty category.
|
||||
# TODO - perhaps should use a standard logging.Filter for this.
|
||||
# TODO - kill this.
|
||||
if (
|
||||
self._suppress_non_root_debug
|
||||
and record.name != 'root'
|
||||
@ -366,10 +365,14 @@ class LogHandler(logging.Handler):
|
||||
# make tight debugging harder.
|
||||
if self._echofile is not None:
|
||||
ends = LEVELNO_COLOR_CODES.get(record.levelno)
|
||||
namepre = (
|
||||
f'{TerminalColor.WHITE.value}{record.name}:'
|
||||
f'{TerminalColor.RESET.value} '
|
||||
)
|
||||
if ends is not None:
|
||||
self._echofile.write(f'{ends[0]}{msg}{ends[1]}\n')
|
||||
self._echofile.write(f'{namepre}{ends[0]}{msg}{ends[1]}\n')
|
||||
else:
|
||||
self._echofile.write(f'{msg}\n')
|
||||
self._echofile.write(f'{namepre}{msg}\n')
|
||||
self._echofile.flush()
|
||||
|
||||
if __debug__:
|
||||
@ -659,6 +662,9 @@ def setup_logging(
|
||||
had_previous_handlers = bool(logging.root.handlers)
|
||||
logging.basicConfig(
|
||||
level=lmap[level],
|
||||
# format='%(name)s: %(message)s',
|
||||
# We dump *only* the message here. We pass various log record bits
|
||||
# around and format things fancier where they end up.
|
||||
format='%(message)s',
|
||||
handlers=[loghandler],
|
||||
force=True,
|
||||
|
||||
@ -646,7 +646,13 @@ def patch_modules_setup(python_dir: str, baseplatform: str) -> None:
|
||||
def android_patch() -> None:
|
||||
"""Run necessary patches on an android archive before building."""
|
||||
patch_modules_setup('.', 'android')
|
||||
# _patch_setup_file('android', '?', '?')
|
||||
|
||||
# Add our low level debug call.
|
||||
_patch_py_h()
|
||||
|
||||
# Use that call...
|
||||
_patch_py_wreadlink_test()
|
||||
|
||||
# _patch_py_ssl()
|
||||
|
||||
|
||||
@ -704,6 +710,51 @@ def android_patch_ssl() -> None:
|
||||
writefile(fname, txt)
|
||||
|
||||
|
||||
def _patch_py_wreadlink_test() -> None:
|
||||
fname = 'Python/fileutils.c'
|
||||
txt = readfile(fname)
|
||||
txt = replace_exact(
|
||||
txt,
|
||||
" cbuf[res] = '\\0'; /* buf will be null terminated */",
|
||||
(
|
||||
' char dlog[256];\n'
|
||||
' snprintf(dlog, sizeof(dlog), "hello world res=%d mpl=%d",'
|
||||
' (int)res, (int)MAXPATHLEN);\n'
|
||||
' Py_BallisticaLowLevelDebugLog(dlog);\n'
|
||||
" cbuf[res] = '\\0'; /* buf will be null terminated */"
|
||||
),
|
||||
)
|
||||
writefile(fname, txt)
|
||||
|
||||
|
||||
def _patch_py_h() -> None:
|
||||
fname = 'Include/fileutils.h'
|
||||
txt = readfile(fname)
|
||||
txt = replace_exact(
|
||||
txt,
|
||||
'\n#ifdef __cplusplus\n}\n',
|
||||
(
|
||||
'\n'
|
||||
'/* ericf hack for debugging */\n'
|
||||
'#define PY_HAVE_BALLISTICA_LOW_LEVEL_DEBUG_LOG\n'
|
||||
'extern void (*Py_BallisticaLowLevelDebugLog)(const char* msg);\n'
|
||||
'\n'
|
||||
'#ifdef __cplusplus\n}\n'
|
||||
),
|
||||
)
|
||||
writefile(fname, txt)
|
||||
|
||||
fname = 'Python/fileutils.c'
|
||||
txt = readfile(fname)
|
||||
txt = replace_exact(
|
||||
txt,
|
||||
' _Py_END_SUPPRESS_IPH\n}',
|
||||
' _Py_END_SUPPRESS_IPH\n}\n\n'
|
||||
'void (*Py_BallisticaLowLevelDebugLog)(const char* msg) = NULL;\n',
|
||||
)
|
||||
writefile(fname, txt)
|
||||
|
||||
|
||||
def _patch_py_ssl() -> None:
|
||||
# UPDATE: this is now included in Python as of 3.10.6; woohoo!
|
||||
if bool(True):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user