Page 1 of 1

New Release: 2.4.24 "Thank you for your input"

Posted: Wed Mar 09, 2022 1:42 am
by blast
We are pleased to announce the release of BZFlag 2.4.24. Platform binaries and the source code are available for download using the following links:

Windows: https://download.bzflag.org/bzflag/wind ... 2.4.24.exe
macOS (Intel): https://download.bzflag.org/bzflag/maco ... x86_64.zip
macOS (Apple Silicon): https://download.bzflag.org/bzflag/maco ... -arm64.zip
Source Code: https://download.bzflag.org/bzflag/source/2.4.24/

This release works around an event polling regression in SDL 2.0.20 that caused our game to appear unresponsive. There's a few other small changes as well.

There's also better support for an Apple silicon build, but I'm not sure if that means it will be a universal binary or if there would be a separate download.

Re: New Release: 2.4.24 "Thank you for your input"

Posted: Sat Mar 19, 2022 11:28 pm
by macsforme
The macOS builds are posted. This marks our first release of a build for the Apple silicon (M1) CPU family. Anyone who was previously having trouble or experiencing bugs with running one of our older builds (for Intel Macs) on an M1 Mac is encouraged to try the new Apple silicon build. For the time being, each architecture has a different build, and we will look later at creating a single universal build.

As usual, we are not yet signing and notarizing the builds, so you will need to right-click (or ctrl-click) on the application and select "Open" from the contextual menu in order to bypass Gatekeeper for the first launch.

For the nerds among us, both builds ship with the following small patch to the included SDL 2.0.20 framework to correct an issue with switching from fullscreen mode to windowed mode:

Code: Select all

diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index cad77f1a8..4c296334b 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -2958,13 +2958,11 @@ SDL_OnWindowResized(SDL_Window * window)
     int display_index = SDL_GetWindowDisplayIndex(window);
     window->surface_valid = SDL_FALSE;
 
-    if (!window->is_destroying) {
-        SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
+    SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
 
-        if (display_index != window->display_index && display_index != -1) {
-            window->display_index = display_index;
-            SDL_SendWindowEvent(window, SDL_WINDOWEVENT_DISPLAY_CHANGED, window->display_index, 0);
-        }
+    if (display_index != window->display_index && display_index != -1) {
+        window->display_index = display_index;
+        SDL_SendWindowEvent(window, SDL_WINDOWEVENT_DISPLAY_CHANGED, window->display_index, 0);
     }
 }