changed red cross to green

This commit is contained in:
Eric 2023-07-08 16:36:17 -07:00
parent c2ae069261
commit daec702d80
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
7 changed files with 60 additions and 41 deletions

64
.efrocachemap generated
View File

@ -2024,10 +2024,10 @@
"build/assets/ba_data/textures/powerupCurse.ktx": "https://files.ballistica.net/cache/ba1/1a/ff/b566a1541cd6b8a205c9f9ce0e0d", "build/assets/ba_data/textures/powerupCurse.ktx": "https://files.ballistica.net/cache/ba1/1a/ff/b566a1541cd6b8a205c9f9ce0e0d",
"build/assets/ba_data/textures/powerupCurse.pvr": "https://files.ballistica.net/cache/ba1/0f/cf/b698996ed2f3d229a749b6a7c69e", "build/assets/ba_data/textures/powerupCurse.pvr": "https://files.ballistica.net/cache/ba1/0f/cf/b698996ed2f3d229a749b6a7c69e",
"build/assets/ba_data/textures/powerupCurse_preview.png": "https://files.ballistica.net/cache/ba1/02/28/6c025525cd062b4628d86c3bc339", "build/assets/ba_data/textures/powerupCurse_preview.png": "https://files.ballistica.net/cache/ba1/02/28/6c025525cd062b4628d86c3bc339",
"build/assets/ba_data/textures/powerupHealth.dds": "https://files.ballistica.net/cache/ba1/6c/bb/41de1ad1769a83daaf9cfa002aaa", "build/assets/ba_data/textures/powerupHealth.dds": "https://files.ballistica.net/cache/ba1/87/34/f39c75cdee5596e0e778df1df99e",
"build/assets/ba_data/textures/powerupHealth.ktx": "https://files.ballistica.net/cache/ba1/be/3e/20cf450dfdf91ec942e670a90e7c", "build/assets/ba_data/textures/powerupHealth.ktx": "https://files.ballistica.net/cache/ba1/63/83/c4a1b9c69522b8bd10a30087953d",
"build/assets/ba_data/textures/powerupHealth.pvr": "https://files.ballistica.net/cache/ba1/96/46/fac09bce61bfc23cc6e4e911925d", "build/assets/ba_data/textures/powerupHealth.pvr": "https://files.ballistica.net/cache/ba1/4a/d6/05bba6256986a257c6c2a19ca641",
"build/assets/ba_data/textures/powerupHealth_preview.png": "https://files.ballistica.net/cache/ba1/78/25/665d072b231467c4afb9e522f294", "build/assets/ba_data/textures/powerupHealth_preview.png": "https://files.ballistica.net/cache/ba1/ab/f8/dcc44e2e3f066fe3829e710f23e1",
"build/assets/ba_data/textures/powerupIceBombs.dds": "https://files.ballistica.net/cache/ba1/fe/b7/9bef011126f00c3c09336cf7bb5e", "build/assets/ba_data/textures/powerupIceBombs.dds": "https://files.ballistica.net/cache/ba1/fe/b7/9bef011126f00c3c09336cf7bb5e",
"build/assets/ba_data/textures/powerupIceBombs.ktx": "https://files.ballistica.net/cache/ba1/a8/95/ba95b76380c6c155ec941e39afe2", "build/assets/ba_data/textures/powerupIceBombs.ktx": "https://files.ballistica.net/cache/ba1/a8/95/ba95b76380c6c155ec941e39afe2",
"build/assets/ba_data/textures/powerupIceBombs.pvr": "https://files.ballistica.net/cache/ba1/14/54/cac99049f66bf3347182aa6e555e", "build/assets/ba_data/textures/powerupIceBombs.pvr": "https://files.ballistica.net/cache/ba1/14/54/cac99049f66bf3347182aa6e555e",
@ -4068,26 +4068,26 @@
"build/assets/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/2d/ef/5335207d41b21b9823f6805997f1", "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/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/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/cc/c6/e6492f9eeb1c6904ad745abe6eee", "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/08/19/389fd56c41b7ecaa5a8ce0030038", "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/2e/36/d7de8b609ed2ac99d1e0d5de0ec3", "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/68/0d/768d03448e5a5d4531dd1a11ebd9", "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/ba/6f/5c4982d5026eb61c97cdd2029b69", "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/5f/b0/3fce5a36c251f4090efa8d5c17f6", "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/41/76/508f80aa2cad4248be0f644ac577", "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/e2/8c/71a04c5829575d085aef4e36a77f", "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/7b/54/9ce0ec8bba97ea1f75cd052b1297", "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/ab/c8/e638cf97e0f18c247c87c453d017", "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/99/45/15b0d8dbbbb3e52cc276648f53d8", "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/60/ff/8ad1713b4fbd20d43b3a791095b3", "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/96/aa/42b3c8920db0dbded8d76d2d6fd8", "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/c2/ed/95e885a5bc785a1e595c74ff76dc", "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/6b/fd/47f2cc5db0f479a4889f5548c8af", "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/6d/ab/bb8b72e8764292d17803fbecfcb0", "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/d3/16/32b28e3f953a28d532cbda4fa0e7", "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/3c/81/bb7118b850cc521415a287021c2e", "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/ae/31/406d6a632a0d4f227de9679f04b8", "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/12/c3/99d9b24b558789690fabaa197a82", "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/93/16/bd9d50566e7f666a07f42ca9ea9a",
"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/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_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", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/be/19/b5458933dfc7371d91ecfcd2e06f",
@ -4104,14 +4104,14 @@
"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_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/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/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/91/4c/b20cd911b2433714a20ba59cad48", "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/af/f0/4c40cb48cca4dea5260eab386c06", "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/14/21/faad84cb65e511ae7bc37d251550", "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/c8/08/9eccb255c73f2741eec30b7f9fe3", "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/57/fa/b7a7684cb6c6acfe6fb2b83baf44", "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/5e/19/bf51579c19796fe240183763a7d8", "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/21/c8/f3e146692272201d04c292298727", "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/66/e3/1759502456fee8c367b316c97c0c", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/5f/91/6c36a3587d3e2682287bc36b4e1f",
"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",

View File

@ -1,8 +1,10 @@
### 1.7.22 (build 21154, api 8, 2023-06-28) ### 1.7.22 (build 21156, api 8, 2023-07-08)
- Fixed a very rare race condition when launching threads or sending synchronous - Fixed a very rare race condition when launching threads or sending synchronous
cross-thread messages. This was manifesting as one out of several thousand cross-thread messages. This was manifesting as one out of several thousand
server launches hanging. 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).
### 1.7.21 (build 21152, api 8, 2023-06-27) ### 1.7.21 (build 21152, api 8, 2023-06-27)

View File

@ -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 = 21154 TARGET_BALLISTICA_BUILD = 21156
TARGET_BALLISTICA_VERSION = '1.7.22' TARGET_BALLISTICA_VERSION = '1.7.22'
_g_env_config: EnvConfig | None = None _g_env_config: EnvConfig | None = None

View File

@ -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 = 21154; const int kEngineBuildNumber = 21156;
const char* kEngineVersion = "1.7.22"; const char* kEngineVersion = "1.7.22";
auto MonolithicMain(const core::CoreConfig& core_config) -> int { auto MonolithicMain(const core::CoreConfig& core_config) -> int {

View File

@ -8,12 +8,10 @@ from __future__ import annotations
import os import os
import logging import logging
import asyncio import asyncio
from typing import TYPE_CHECKING, overload from typing import TYPE_CHECKING, overload, assert_type
from dataclasses import dataclass from dataclasses import dataclass
from typing_extensions import assert_type
import pytest import pytest
from efro.error import CleanError, RemoteError, CommunicationError from efro.error import CleanError, RemoteError, CommunicationError
from efro.dataclassio import ioprepped from efro.dataclassio import ioprepped
from efro.message import ( from efro.message import (

View File

@ -11,7 +11,7 @@ import datetime
import itertools import itertools
from enum import Enum from enum import Enum
from collections import deque from collections import deque
from dataclasses import dataclass from dataclasses import dataclass, field
from typing import TYPE_CHECKING, Annotated from typing import TYPE_CHECKING, Annotated
from threading import Thread, current_thread, Lock from threading import Thread, current_thread, Lock
@ -92,6 +92,14 @@ class LogEntry:
level: Annotated[LogLevel, IOAttrs('l')] level: Annotated[LogLevel, IOAttrs('l')]
time: Annotated[datetime.datetime, IOAttrs('t')] time: Annotated[datetime.datetime, IOAttrs('t')]
# We support arbitrary string labels per log entry which can be
# incorporated into custom log processing. To populate this, our
# LogHandler class looks for a 'labels' dict passed in the optional
# 'extra' dict arg to standard Python log calls.
labels: Annotated[
dict[str, str], IOAttrs('la', store_default=False)
] = field(default_factory=dict)
@ioprepped @ioprepped
@dataclass @dataclass
@ -300,6 +308,7 @@ class LogHandler(logging.Handler):
return False return False
def emit(self, record: logging.LogRecord) -> None: def emit(self, record: logging.LogRecord) -> None:
# pylint: disable=too-many-branches
if __debug__: if __debug__:
starttime = time.monotonic() starttime = time.monotonic()
@ -324,6 +333,12 @@ class LogHandler(logging.Handler):
record.args record.args
) )
# Note: just assuming types are correct here, but they'll be
# checked properly when the resulting LogEntry gets exported.
labels: dict[str, str] | None = getattr(record, 'labels', None)
if labels is None:
labels = {}
if fast_path: if fast_path:
if __debug__: if __debug__:
formattime = echotime = time.monotonic() formattime = echotime = time.monotonic()
@ -334,6 +349,7 @@ class LogHandler(logging.Handler):
record.levelno, record.levelno,
record.created, record.created,
record, record,
labels,
) )
) )
else: else:
@ -366,6 +382,7 @@ class LogHandler(logging.Handler):
record.levelno, record.levelno,
record.created, record.created,
msg, msg,
labels,
) )
) )
@ -408,6 +425,7 @@ class LogHandler(logging.Handler):
levelno: int, levelno: int,
created: float, created: float,
message: str | logging.LogRecord, message: str | logging.LogRecord,
labels: dict[str, str],
) -> None: ) -> None:
try: try:
# If they passed a raw record here, bake it down to a string. # If they passed a raw record here, bake it down to a string.
@ -422,6 +440,7 @@ class LogHandler(logging.Handler):
time=datetime.datetime.fromtimestamp( time=datetime.datetime.fromtimestamp(
created, datetime.timezone.utc created, datetime.timezone.utc
), ),
labels=labels,
) )
) )
except Exception: except Exception:

View File

@ -239,7 +239,7 @@ def get_code_filenames(projroot: Path, include_generated: bool) -> list[str]:
out = sorted(codefilenames) out = sorted(codefilenames)
# Watch for breakage. # Watch for breakage.
if not out: if places and not out:
print( print(
'WARNING: get_code_filename returning no results;' 'WARNING: get_code_filename returning no results;'
' is something broken?', ' is something broken?',
@ -358,7 +358,7 @@ def get_script_filenames(projroot: Path) -> list[str]:
out = sorted(list(f for f in filenames if 'flycheck_' not in f)) out = sorted(list(f for f in filenames if 'flycheck_' not in f))
# Watch for breakage. # Watch for breakage.
if not out: if places and not out:
print( print(
'WARNING: get_script_filename returning no results;' 'WARNING: get_script_filename returning no results;'
' is something broken?', ' is something broken?',