diff --git a/.efrocachemap b/.efrocachemap index 0d10b9e2..c0d06a83 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4096,50 +4096,50 @@ "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "855a05f0dde692555dcd240456c63397", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "46b1d1929707bd20d50509c53c406f80", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "8f0f4ed6508328a4a75c95450ecae525", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "14d5f4e4cdaa859100b6e247f713f23b", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "586cdec51141ee2c2553450b917ccf13", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "cb68c967d6cc12fb98865bd391b630c7", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "8ba734f236f8b3d76a0f3a634d088ef1", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "59a854138d18b814e0913a4608b7fe87", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "cfa3a2f7ef36c88736a88c8229a7389d", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "27677f0f0d72c4b487070dada1e494dd", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "02124d81c73f4212be27028c97bca2b2", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "81297de9661e18bf6c67c20927a6d6b8", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "99e2c966b4855f712fb383a167ae2bb5", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "fc534000c33ad4db9cc0d7756e171947", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "753846937971a4353045178dacc9fd76", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "6ea4ace6e74840ae2534d7df1ebe4b1c", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "c25040a973dbbbe0c51b51934bd13df9", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "8db99aef1dd403903f6d433314d1ca66", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "af04c5cbfad31760865ae59079ee32a4", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "ec2bd6cc16ae27771271eb250634d6b1", - "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "ad908b297b41c2fdf13582e34c434245", - "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "086a2ce72497e44079ad6b747fc5439f", - "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "ad908b297b41c2fdf13582e34c434245", - "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "086a2ce72497e44079ad6b747fc5439f", - "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "d562f21a435b7a888028689ffdf06d02", - "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "226df279a267c72853b7242fd1507dd1", - "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "d562f21a435b7a888028689ffdf06d02", - "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "226df279a267c72853b7242fd1507dd1", - "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "5a17ee891f9113060a2f462cd9d04dc7", - "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "46f23c6890b06fa29f97604b42113c5e", - "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "5a17ee891f9113060a2f462cd9d04dc7", - "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "46f23c6890b06fa29f97604b42113c5e", - "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "ecb7fec32ddd75652e657c2076ff2b69", - "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "d7a1d4deb51b0792d083737477e6833b", - "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "4c11b81a574aa9af593f54db4d998e61", - "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "d7a1d4deb51b0792d083737477e6833b", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "8eea688090f6d2be7b003c1469afc244", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "9409dfcaf0598768143e06690d33ce65", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "a85fb3ac57086dc5f271b3afea90b489", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "30b60a444fba031a67c96ed9193050da", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "b06998159410ed4b02591ca2998b9c38", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "51553d3162f0af5acfd5e55880e454c9", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "215dbbb47e8def7b1f63448275b4d33b", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "52dd9b73e6d72412ca6b273fb342368e", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "51d7c59e2e4f3900c86593a3b4bc58e4", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "b06acdcb8eeaae7d2057d38c4bae1483", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "0b1a09078dd8fb3355da26bcd712ccc5", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "ae0c974ce5353900a6d4e271851e4e6e", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "8ad0607d24d95c79230c74705ce77653", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "24acf39e9aee8bf121c6805df19105c7", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "741106e84450bb7b77c639b217929806", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "e8ebc038d7d6358e68b7ccf7607d5dce", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "5503f0b09868f947fadb0d1895e80ec8", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "e4412a45302241e72046a2953e5b7941", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "938ea19a8306d78e2a8729f26b545a76", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "757ba15790a8d7d0dbaec3bcd8c19558", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "65e48222cf0bdc9037c8cd612bd6e557", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "47b7a2fdf91039955f9188732860cf40", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "059d4a32feac25a0d3a33bc22cfe5fbd", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "3e40ffa4d7a2adee533aa770e84294fb", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "e8983bd5f1e0d93a20e1bd7bf31ad40e", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "96a3b8424c5a8f544894bd8bd348fec9", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "0ad6d8294e6b0d62c040137d2562ad42", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "344e688d38f9d8340f96503d58622b6c", + "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "0b5f8bdbe8221c4642d9f7f8584645ce", + "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "e94dd06863796f17b9cfcbb5f79edd32", + "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "0b5f8bdbe8221c4642d9f7f8584645ce", + "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "e94dd06863796f17b9cfcbb5f79edd32", + "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "0248b884a4670bd63fc68faeb93db160", + "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "2a5be1c7afca637bab7638d938d1b5b4", + "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "0248b884a4670bd63fc68faeb93db160", + "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "2a5be1c7afca637bab7638d938d1b5b4", + "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "1f25c914affb8b1944a6eb10b4db2947", + "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "b7cc7b32cc752d76d01d802977bd7abb", + "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "1f25c914affb8b1944a6eb10b4db2947", + "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "b7cc7b32cc752d76d01d802977bd7abb", + "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "cc0bf2777f9e63f2917cf43a9f522876", + "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "381953df0ba482ef485e4da3fd8e9e69", + "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "3b706f71d9a4fd3e5e5ecae88c6087ee", + "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "381953df0ba482ef485e4da3fd8e9e69", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "fbc2994f51ffea639be20cd942969532", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "6b8c36a27d2840230f525fc04df8d83a", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "808c0f2a0960827aa8dbbfb900bd496b", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "47db95af998e2b5e578e6cd5c794dd1a", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "c321298e53e3c577eaa3ffb159070bc6", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "feac97f1d09e8861083a5fa0a664d608", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "9677717ab2784b800bc979f780b03fd7", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "198904660f95f083d96d4de4aa02d7d8", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad", "src/ballistica/base/mgen/pyembed/binding_base.inc": "efa61468cf098f77cc6a234461d8b86d", diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index b3d9aa43..8c0e759e 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -3,7 +3,7 @@ name: Deploy Documentation on: push: branches: - - master + - main jobs: build: @@ -46,4 +46,4 @@ jobs: id: deployment uses: actions/deploy-pages@v4 with: - artifact_name: sphinx_html_docs \ No newline at end of file + artifact_name: sphinx_html_docs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 356a19f6..72ddc967 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -222,13 +222,13 @@ jobs: run: | make docker-gui-release make docker-save - - name: Rename the build - run: mv build/docker/bombsquad_gui_release_docker.tar build/docker/bombsquad_docker_gui.tar + - name: Zip the build + run: zip build/docker/bombsquad_docker_gui.tar.zip build/docker/bombsquad_gui_release_docker.tar - name: Upload the build uses: ncipollo/release-action@v1 with: allowUpdates: true - artifacts: build/docker/bombsquad_docker_gui.tar + artifacts: build/docker/bombsquad_docker_gui.tar.zip release_docker_server_image: runs-on: ubuntu-latest @@ -244,13 +244,13 @@ jobs: run: | make docker-server-release make docker-save - - name: Rename the build - run: mv build/docker/bombsquad_server_release_docker.tar build/docker/bombsquad_docker_server.tar + - name: Zip the build + run: zip build/docker/bombsquad_docker_server.tar.zip build/docker/bombsquad_server_release_docker.tar - name: Upload the build uses: ncipollo/release-action@v1 with: allowUpdates: true - artifacts: build/docker/bombsquad_docker_server.tar + artifacts: build/docker/bombsquad_docker_server.tar.zip release_sphinx_docs: runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index b614e532..93654efc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22015, api 9, 2024-09-25) +### 1.7.37 (build 22017, api 9, 2024-09-27) - Bumping api version to 9. As you'll see below, there's some UI changes that will require a bit of work for any UI mods to adapt to. If your mods don't touch UI stuff at all you can simply bump your api version and call it a day. diff --git a/config/docker/Dockerfile b/config/docker/Dockerfile index 93772d9c..c657a236 100644 --- a/config/docker/Dockerfile +++ b/config/docker/Dockerfile @@ -8,7 +8,7 @@ ARG base_image=ubuntu:latest #-------------------------------BUILDER-------------------------------- # Start with the base image -FROM ${base_image} AS builder +FROM --platform=$TARGETPLATFORM ${base_image} AS builder # Renew the args ARG headless_build @@ -23,20 +23,22 @@ ENV CMAKE_BUILD_TYPE=${cmake_build_type} ENV HEADLESS_BUILD=${headless_build} # Install build dependencies -RUN apt-get update -y && \ - apt-get install -y \ - python3.12-dev \ - python3.12-venv \ - python3-pip \ - libsdl2-dev \ +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + build-essential \ + clang \ + clang-format \ + cmake \ + curl \ libglut-dev \ libopenal-dev \ + libsdl2-dev \ libvorbis-dev \ make \ - curl \ - rsync \ - clang-format \ - cmake + python3-pip \ + python3.12-dev \ + python3.12-venv \ + rsync # Copy source code COPY ./ /ballistica @@ -55,13 +57,12 @@ RUN mkdir /ballistica_cmake && \ fi && \ mv build/cmake/*/staged/* /ballistica_cmake - #-------------------------------RUNNER-------------------------------- # Create a new stage for the runtime environment -FROM ${base_image} +FROM --platform=$TARGETPLATFORM ${base_image} as runner # Environment settings -ENV LANG en_US.utf8 +ENV LANG=en_US.utf8 ENV LANGUAGE=en_US ENV LC_ALL=en_US.utf8 ENV DEBIAN_FRONTEND=noninteractive @@ -70,11 +71,10 @@ ENV DEBIAN_FRONTEND=noninteractive ARG headless_build ENV HEADLESS_BUILD=${headless_build} ARG cmake_build_type - LABEL BOMBSQUAD_BUILD_TYPE=${cmake_build_type} # Install runtime dependencies -RUN apt-get update -y && \ +RUN apt-get update && \ apt-get install -y \ python3.12-dev && \ if [ "$HEADLESS_BUILD" = "0" ]; then \ diff --git a/config/docker/Dockerfile_arm64 b/config/docker/Dockerfile_arm64 deleted file mode 100644 index e5a61f95..00000000 --- a/config/docker/Dockerfile_arm64 +++ /dev/null @@ -1,103 +0,0 @@ -# if provided it will make debug build -ARG cmake_build_type=Release -# whether to make GUI or headless build (defaults to headless) -ARG headless_build=1 -# system to start with the build with -# currently will break for other images -ARG base_image=ubuntu:latest - -#-------------------------------BUILDER-------------------------------- -# Start with the base image -FROM --platform=linux/arm64 ${base_image} AS builder - -# Renew the args -ARG headless_build -ARG cmake_build_type - -# Environment settings -ENV LANG=en_US.utf8 -ENV LANGUAGE=en_US -ENV LC_ALL=en_US.utf8 -ENV DEBIAN_FRONTEND=noninteractive -ENV CMAKE_BUILD_TYPE=${cmake_build_type} -ENV HEADLESS_BUILD=${headless_build} - -# Install build dependencies -RUN apt-get install -y --no-install-recommends \ - python3.12-dev \ - python3.12-venv \ - python3-pip \ - libsdl2-dev \ - libglut-dev \ - libopenal-dev \ - make \ - curl \ - rsync \ - clang-format \ - clang \ - cmake \ - libvorbis-dev \ - build-essential - -# Copy source code -COPY ./ /ballistica - -# Set the working directory -WORKDIR /ballistica - -# Compile the application -RUN mkdir /ballistica_cmake && \ - if [ "$HEADLESS_BUILD" != "0" ]; then \ - make cmake-server-build && \ - mv build/cmake/*/ballisticakit_headless build/cmake/*/staged/dist; \ - else \ - make cmake-build && \ - mv build/cmake/*/ballisticakit build/cmake/*/staged/; \ - fi && \ - mv build/cmake/*/staged/* /ballistica_cmake - -#-------------------------------RUNNER-------------------------------- -# Create a new stage for the runtime environment using ARM64 base image -FROM --platform=linux/arm64 ${base_image} - -# Environment settings -ENV LANG en_US.utf8 -ENV LANGUAGE=en_US -ENV LC_ALL=en_US.utf8 -ENV DEBIAN_FRONTEND=noninteractive - -# Renew the args -ARG headless_build -ENV HEADLESS_BUILD=${headless_build} -ARG cmake_build_type -LABEL BOMBSQUAD_BUILD_TYPE=${cmake_build_type} - -# Install runtime dependencies -RUN apt-get update -y && \ - apt-get install -y \ - python3.12-dev && \ - if [ "$HEADLESS_BUILD" = "0" ]; then \ - apt-get install -y \ - libsdl2-dev \ - libvorbis-dev \ - libglut-dev \ - pulseaudio-utils \ - libopenal-dev; \ - fi && \ - rm -rf /var/lib/apt/lists/* && \ - python3.12 -c "import uuid; print(uuid.uuid4())" > /etc/machine-id - -# Copy the compiled application from the builder stage -COPY --from=builder /ballistica_cmake \ - /home/ubuntu/ballistica - -# Set the working directory -WORKDIR /home/ubuntu/ballistica - -RUN ln -s ballisticakit* run - -# Expose the necessary port -EXPOSE 43210/udp - -# Set the default command to run the application -CMD [ "./run" ] diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index ddc1b45d..ebe2c2dc 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -52,7 +52,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22015 +TARGET_BALLISTICA_BUILD = 22017 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bascenev1/_lobby.py b/src/assets/ba_data/python/bascenev1/_lobby.py index 467cbeb8..68a51a63 100644 --- a/src/assets/ba_data/python/bascenev1/_lobby.py +++ b/src/assets/ba_data/python/bascenev1/_lobby.py @@ -588,13 +588,8 @@ class Chooser: # Handle '_edit' as a special case. if profilename == '_edit' and ready: with babase.ContextRef.empty(): - # if bool(True): - # babase.screenmessage('UNDER CONSTRUCTION') - # return - classic.profile_browser_window( - # in_main_menu=False - ) + classic.profile_browser_window() # Give their input-device UI ownership too (prevent # someone else from snatching it in crowded games). diff --git a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py index a35bea08..e1e0040b 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py @@ -1196,11 +1196,12 @@ class Spaz(bs.Actor): if self.node: self.node.delete() elif self.node: - self.node.hurt = 1.0 - if self.play_big_death_sound and not wasdead: - SpazFactory.get().single_player_death_sound.play() - self.node.dead = True - bs.timer(2.0, self.node.delete) + if not wasdead: + self.node.hurt = 1.0 + if self.play_big_death_sound: + SpazFactory.get().single_player_death_sound.play() + self.node.dead = True + bs.timer(2.0, self.node.delete) elif isinstance(msg, bs.OutOfBoundsMessage): # By default we just die here. diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 9a6a509d..a862d8bc 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -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 = 22015; +const int kEngineBuildNumber = 22017; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9; diff --git a/tools/batools/docker.py b/tools/batools/docker.py index 70526764..a75f5b51 100644 --- a/tools/batools/docker.py +++ b/tools/batools/docker.py @@ -72,10 +72,7 @@ def docker_build( headless_build=headless_build, build_type=build_type ) - if platform is not None and 'arm64' in platform: - config_file = 'config/docker/Dockerfile_arm64' - else: - config_file = 'config/docker/Dockerfile' + config_file = 'config/docker/Dockerfile' print( f'Building docker image {image_name} ' diff --git a/tools/batools/docs.py b/tools/batools/docs.py index 6bda55a9..05d80034 100755 --- a/tools/batools/docs.py +++ b/tools/batools/docs.py @@ -267,7 +267,7 @@ def _run_sphinx( 'copyright': copyright_text, 'version': version, 'buildnum': buildnum, - 'ballistica_logo': 'https://camo.githubusercontent.com/25021344ceaa7def6fa6523f79115f7ffada8d26b4768bb9a0cf65fc33304f45/68747470733a2f2f66696c65732e62616c6c6973746963612e6e65742f62616c6c6973746963615f6d656469612f62616c6c6973746963615f6c6f676f5f68616c662e706e67', # pylint: disable=line-too-long + 'ballistica_logo': 'https://files.ballistica.net/ballistica_media/ballistica_logo_half.png', # pylint: disable=line-too-long } )