Unvanquished ➤ Development activity

Events from:

Daemon Engine
Daemon Engine
Friday, 16 October 2026
@slipher slipher merged DaemonEngine/breakpad#43 · October 16, 2026 07:53
Squash unnecessary whitespace diffs with upstream #43

While reviewing the upstream merge I used a methodology of diffing the source tree with upstream. I noticed some unnecessary diffs due to whitespac…

+25 -25
1 comment
@slipher slipher merged DaemonEngine/native_client#77 · October 16, 2026 07:44
+24 -15
1 comment
@slipher slipher merged DaemonEngine/Daemon#2009 · October 16, 2026 07:36
+4 -3
1 comment
@illwieckz illwieckz opened DaemonEngine/Daemon#2018 · October 16, 2026 01:31
Rebasing slipher's work on my CMake and VirtualMachine code #2018

So in #1986 I implemented a lot of refactors meant to makes things easier for Saigo and other things (like the ability to fallback on amd64 on box6…

+1,213 -692
6 comments
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 16, 2026 05:33
2 commits to illwieckz/deps
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 16, 2026 05:29
2 commits to illwieckz/deps
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 16, 2026 05:18
2 commits to illwieckz/deps
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 16, 2026 04:29
2 commits to illwieckz/cleanup
@illwieckz illwieckz opened DaemonEngine/Daemon#2017 · October 15, 2026 21:26
Some cleanup and warning silencing #2017

Some cleanup and warning silencing, picked from:

+5 -83
1 comment
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 16, 2026 01:30
2 commits to illwieckz/ci
  • @illwieckz f1ed333
    src/processor/minidump_processor: preserve 64-bit exception addresses
  • @illwieckz f47f74b
    src/client/linux/minidump_writer: make minidump stack-skipping test m…
  • 5 more commits »
@illwieckz illwieckz opened DaemonEngine/breakpad#49 · October 15, 2026 18:27
Make sure pointers and alignments are 64-bits #49

This is very minor and similar to:

Except #46 only focused on what is built in the Dæmon engine.

This makes sure 64-bit pointers and alignmen…

+3 -2
2 comments
Daemon Engine
Daemon Engine
Thursday, 15 October 2026
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 15, 2026 23:14
2 commits to illwieckz/ci
@illwieckz illwieckz opened DaemonEngine/breakpad#47 · October 15, 2026 16:12
deps: disable the lss reference #47

This is now vendored and it is neither a submodule, neither a repository to clone.

That is a part of #39 that is still relevant:

Picked from:

+3 -3
1 comment
@illwieckz illwieckz created a branch in DaemonEngine/breakpad · October 15, 2026 23:11
@illwieckz illwieckz pushed to Unvanquished/release-scripts · October 15, 2026 22:59
1 commit to illwieckz/upgrade
  • @illwieckz 813d6fa
    docker: copy build-release after the dependencies are built to not ha…
@illwieckz illwieckz pushed to Unvanquished/release-scripts · October 15, 2026 22:48
2 commits to illwieckz/upgrade
@illwieckz illwieckz commented on Unvanquished/Unvanquished#3581 · October 15, 2026 15:33
So, we've now bumped the versions (for the engine): - Debian 11 to 12 (Bookworm) - GCC 10 to 12 - Clang 9 to 14 - C++ 14 to 20. The C++ version bum…
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · October 15, 2026 21:06
1 commit to master
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 15, 2026 21:02
1 commit to master
  • @illwieckz c311db1
    cmake: require C++ 20 for the engine, native and Saigo-built games
@illwieckz illwieckz merged DaemonEngine/Daemon#2011 · October 15, 2026 14:02
cmake: require C++ 20 for the engine, native and Saigo-built games #2011

The updated Breakpad requires C++20, so the engine should be built with C++20 when enabling Breakpad.

Since native games (dll, exe) use the same co…

+17 -7
@illwieckz illwieckz deleted branch refs/heads/illwieckz/breakpad in DaemonEngine/Daemon · October 15, 2026 21:01

Updated Oct 15

@illwieckz illwieckz merged DaemonEngine/Daemon#2014 · October 15, 2026 14:01
cmake: build breakpad pe_file because it is now required on Linux #2014

Build breakpad pe_file because it is now required on Linux.

Fix #2013:

Also includes the C++20 bump because I need a reference with this tw…

+2 -0
2 comments
@illwieckz illwieckz pushed to DaemonEngine/Daemon · October 15, 2026 20:34
1 commit to illwieckz/breakpad
  • @illwieckz 8e4d470
    cmake: build breakpad pe_file because it is now required on Linux
@illwieckz illwieckz merged DaemonEngine/breakpad#46 · October 15, 2026 13:31
src/common/memory_allocator: align PageHeader explicitly #46

Align PageHeader to std::max_align_t to ensure the memory following the header is properly aligned on 32-bit targets.

This fixes that static assert…

+1 -1
2 comments
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · October 15, 2026 01:10
2 commits to illwieckz/debian
  • @illwieckz 05bb6f3
    debian: update changelog
  • @illwieckz 94dbf60
    debian: remove obsolete override_dh_gconf
Unvanquished
Unvanquished
Wednesday, 14 October 2026
@illwieckz illwieckz pushed to Unvanquished/release-scripts · October 14, 2026 19:37
2 commits to illwieckz/upgrade
@slipher slipher pushed to Unvanquished/Unvanquished · October 14, 2026 11:49
1 commit to master
  • @slipher b7f2a2a
    Translation: denoise_po_diff.sh accepts absolute path
@slipher slipher merged Unvanquished/Unvanquished#3582 · October 14, 2026 04:49
@illwieckz illwieckz pushed to Unvanquished/release-scripts · October 14, 2026 09:24
2 commits to illwieckz/upgrade
  • @illwieckz 95704e4
    docker: bump Darling's XCode from AppleClang 9.0.0 to 14.0.3
  • @illwieckz 2dade25
    docker: bump the engine Linux baseline from Debian 11 Bullseye to 12 …
  • 8 more commits »
@illwieckz illwieckz opened Unvanquished/release-scripts#46 · October 14, 2026 02:23
WIP: upgrade the release scripts #46
  • Bump Linux baseline from Bullseye to Bookworm
    • Bullseye is archived
    • Bookworm provides C++20
    • Some deps updates require a compiler Bookworm and thin…
+850 -168
3 comments
@illwieckz illwieckz pushed to Unvanquished/release-scripts · October 14, 2026 09:13
1 commit to illwieckz/upgrade
  • @illwieckz bff4d17
    docker: update Linux cmake to 3.31.12
@illwieckz illwieckz created a branch in Unvanquished/release-scripts · October 14, 2026 05:56
Unvanquished
Unvanquished
Tuesday, 13 October 2026
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · October 13, 2026 23:00
1 commit to master
Daemon Engine
Daemon Engine
Monday, 12 October 2026
@illwieckz illwieckz closed DaemonEngine/breakpad#39 · October 12, 2026 00:13
deps: update googletest reference #39

Running ./fetch-externals (required for make check) will now clone a newer version of googletest that is now required. Breakpad requires C++20 and …

+4 -4
6 comments
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 12, 2026 04:29
1 commit to illwieckz/ci
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 12, 2026 04:03
2 commits to illwieckz/ci
@illwieckz illwieckz opened Unvanquished/Unvanquished#3583 · October 11, 2026 20:13
readme: redo the CI badges and reword things a bit #3583

Update the README with new CI badges, also rework the Weblate status and reword some things. Some wording has been unified with the engine:

+21 -8
@slipher slipher opened Unvanquished/Unvanquished#3582 · October 11, 2026 17:21
Unvanquished
Unvanquished
Sunday, 11 October 2026
@weblate weblate opened Unvanquished/Unvanquished#3580 · October 11, 2026 11:51
Translations update from Hosted Weblate for Unvanquished #3580

Translations update from Hosted Weblate for Unvanquished/Unvanquished.

Current translation status:

+4 -4
@illwieckz illwieckz created a branch in DaemonEngine/breakpad · October 11, 2026 18:09
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 17:45
1 commit to master
  • @illwieckz abce4a7
    ci: delete obsolete and unused appveyor and travi CI files
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 06:54
1 commit to illwieckz/ci
@slipher slipher merged Unvanquished/Unvanquished#3578 · October 10, 2026 23:08
Convert CI from Azure Pipelines to Github Actions #3578

Switch the CI for Linux, Mac, and NaCl from Azure Pipelines to Github Actions. Deleting CI badges for now.

Generated first draft with LLM, then cop…

+90 -89
8 comments
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 05:53
1 commit to illwieckz/ci
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 05:34
1 commit to illwieckz/ci
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 01:49
1 commit to illwieckz/ci
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 11, 2026 01:30
2 commits to illwieckz/ci
Daemon Engine
Daemon Engine
Saturday, 10 October 2026
@illwieckz illwieckz created a branch in DaemonEngine/breakpad · October 10, 2026 21:08
@illwieckz illwieckz opened Unvanquished/Unvanquished#3579 · October 10, 2026 13:05
tools/translation: fix pot denoising #3579

Git expects relative file path, not absolute file path.

+4 -3
5 comments
@weblate weblate merged Unvanquished/Unvanquished#3573 · October 10, 2026 11:26
Translations update from Hosted Weblate for Unvanquished #3573

Translations update from Hosted Weblate for Unvanquished/Unvanquished.

Current translation status:

+90 -78
@illwieckz illwieckz created a branch in DaemonEngine/Daemon · October 10, 2026 18:10
@slipher slipher opened Unvanquished/Unvanquished#3578 · October 10, 2026 03:03
Convert CI from Azure Pipelines to Github Actions #3578

Switch the CI for Linux, Mac, and NaCl from Azure Pipelines to Github Actions. Deleting CI badges for now.

Generated first draft with LLM, then cop…

+90 -89
8 comments
Daemon Engine
Daemon Engine
Friday, 09 October 2026
@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 9, 2026 23:53
2 commits to master
@illwieckz illwieckz closed DaemonEngine/breakpad#34 · October 9, 2026 04:00
CI: delete upstream GitHub actions, do not close pull requests #34

We definitely don't want the close-pull-request action.

The build-test-ci and coverity workflows make heavy usage of gclient, we may not do that. I…

3 comments
@slipher slipher merged DaemonEngine/Daemon#2005 · October 9, 2026 03:50
Convert CI from Azure Pipelines to Github Actions #2005

See Unvanquished/Unvanquished#357 Migrate the Linux and Mac CI from one Microsoft service to another. Converted via LLM but with many manual edits …

+152 -139
4 comments

基于 Daemon 引擎、融合竞技射击与基地建设的开源 FPS/RTS 多人游戏。

C++ Updated Oct 15

Daemon Engine
Daemon Engine
Thursday, 08 October 2026
@illwieckz illwieckz reopened DaemonEngine/breakpad#34 · October 7, 2026 17:53
CI: delete upstream GitHub actions, do not close pull requests #34

We definitely don't want the close-pull-request action.

The build-test-ci and coverity workflows make heavy usage of gclient, we may not do that. I…

3 comments
@github-actions github-actions[bot] Bot closed DaemonEngine/breakpad#34 · October 7, 2026 17:20
CI: delete upstream GitHub actions, do not close pull requests #34

We definitely don't want the close-pull-request action.

The build-test-ci and coverity workflows make heavy usage of gclient, we may not do that. I…

3 comments
@illwieckz illwieckz opened DaemonEngine/breakpad#34 · October 7, 2026 17:20
CI: delete upstream GitHub actions, do not close pull requests #34

We definitely don't want the close-pull-request action.

The build-test-ci and coverity workflows make heavy usage of gclient, we may not do that. I…

3 comments
@illwieckz illwieckz created a branch in DaemonEngine/breakpad · October 8, 2026 00:20
@illwieckz illwieckz deleted branch refs/heads/illwieckz/merge-main-9aebd3d in DaemonEngine/breakpad · October 8, 2026 00:11

Updated Oct 8

@illwieckz illwieckz pushed to DaemonEngine/breakpad · October 8, 2026 00:01
2 commits to illwieckz/merge-main-9aebd3d
Unvanquished Assets
Unvanquished Assets
Wednesday, 07 October 2026
@illwieckz illwieckz pushed to UnvanquishedAssets/res-weapons_src.dpkdir · October 7, 2026 22:10
1 commit to illwieckz/knova
  • @illwieckz 4d354a4
    sound: import hive missile (bees) by KNova
@illwieckz illwieckz pushed to UnvanquishedAssets/res-legacy_src.dpkdir · October 7, 2026 22:08
1 commit to illwieckz/knova
  • @illwieckz dcde1df
    sound: delete hive missile (bees)
sound: import hive missile (bees) by KNova #39

Converted to FLAC from:

+2 -0
1 comment
@illwieckz illwieckz pushed to UnvanquishedAssets/res-ambient_src.dpkdir · October 7, 2026 21:05
1 commit to illwieckz/knova
  • @illwieckz 7054ccb
    sound: import fan and electricspark by KNova
@illwieckz illwieckz pushed to UnvanquishedAssets/res-ambient_src.dpkdir · October 7, 2026 21:01
1 commit to illwieckz/knova
  • @illwieckz 43c43a0
    sound: import fan and electrispark by KNova
@illwieckz illwieckz pushed to DaemonEngine/native_client · October 7, 2026 15:54
1 commit to illwieckz/mingw-2
Unvanquished
Unvanquished
Saturday, 26 September 2026
@ekul6547 ekul6547 opened Unvanquished/Unvanquished#3576 · September 26, 2026 14:32
User Friendly UI changes #3576

I really like what I've seen of this game so far, and it's great fun to play.
But I have noticed a few ui issues could be made more noob friendly, …

+13,419 -12,404
10 comments
Unvanquished Assets
Unvanquished Assets
Tuesday, 22 September 2026
@illwieckz illwieckz opened UnvanquishedAssets/tex-common_src.dpkdir#11 · September 22, 2026 08:17
materials: invisible is expected to cast shadows unlike nodraw #11

Fixes Unvanquished/Unvanquished#3575:

While writing common materiall documentation as part of our mapping document…

+1 -2
3 comments
@ekul6547 ekul6547 forked Unvanquished/Unvanquished from ekul6547/Unvanquished · September 22, 2026 06:55

Unvanquished is a free and open source FPS/RTS hybrid game powered by the Daemon game engine. Historically based on Tremulous as a continuation wit…

Updated Sep 26

NetRadiant
NetRadiant
Monday, 14 September 2026

Hi,

Since I'm not knowledgeable about NetRadiant code and C in general, I asked Claude to help trace this — sorry if LLM are not your cup of tea (which I'd understand).

Anyway, Claude seems to confirm what I've observed:

RadSubdivideDiffuseLight() used to take a qboolean original parameter: qtrue only on the initial (un-subdivided) call from RadLightForTriangles()/RadLightForPatch(), and qfalse on every recursive subdivision call. The point backsplash was gated behind if ( original && si->backsplashFraction > 0 ).

Since the function subdivides before reaching that check, any surface exceeding diffuseSubdivide (256 units by default, or q3map_lightSubdivide) in some axis recursed immediately with original == qfalse, so none of its resulting fragments ever got a backsplash — only small, already-fitting surfaces did.

Commit ed4c8c20 (2017-08-02, the one introducing Jelvan's area-light backsplash) dropped this original parameter entirely from the function signature, so backsplash is now created on every subdivided fragment instead of only on the original whole surface. !210 (merged) restored the point-light algorithm but not this original gating, since that logic had been removed from the function itself, not just swapped out.

NetRadiant
NetRadiant
Wednesday, 09 September 2026

Thanks for the report!

It seems that point backsplash was once applied only to small light-emitting surfaces, but is now applied to all surfaces, even large ones.

Was there code to disable backsplash from some surface?

NetRadiant
NetRadiant
Saturday, 05 September 2026

It seems that point backsplash was once applied only to small light-emitting surfaces, but is now applied to all surfaces, even large ones.

For example, we didn't get these artefacts in old builds of Afterslime:
♦

Point light backsplash had been removed in ed4c8c20 in favour of area light backsplash, then later reintroduced in !210 (merged)

But perhaps it was the old behaviour (disabling the backsplash for large surfaces) that was considered a bug?

More examples with the following Xonotic map: test2.map

  • With NetRadiant 20220628 and backsplash: ♦
  • With current NetRadiant and the default backsplash values: ♦
  • With current NetRadiant and -backsplash 0 0 ♦
NetRadiant
NetRadiant
Tuesday, 01 September 2026

Spike29 (0535cebb) at 01 Sep 16:56

Rename "Find brush" to "Find Entity/Brush" in the menu and in the d...

NetRadiant
NetRadiant
Friday, 14 August 2026

rasalgul said it is OpenBSD, not FreeBSD. For now only FreeBSD has been tested.

FreeBSD build error on CRN. Reported by rasalgul on #radiant on QuakeNet:

Script started on Fri Aug 14 23:24:17 2026
localhost$ gmake


[  1%] Built target l_net
[  8%] Built target h2data
[ 15%] Built target q2map
[ 16%] Built target xmllib
[ 17%] Built target mapxml
[ 18%] Built target imagehl
[ 19%] Built target ddslib
[ 19%] Building CXX object libs/crnrgba/CMakeFiles/crnrgba.dir/crn_rgba.cpp.o
c++: warning: argument unused during compilation: '-L/usr/local/lib/babl-0.1' [-Wunused-command-line-argument]
c++: warning: argument unused during compilation: '-L/usr/local/lib' [-Wunused-command-line-argument]
c++: warning: argument unused during compilation: '-L/usr/X11R6/lib' [-Wunused-command-line-argument]
c++: warning: argument unused during compilation: '-L/usr/local/lib/python3.8' [-Wunused-command-line-argument]
In file included from /mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/crn_rgba.cpp:31:
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:8: warning: inline variables are a C++17 extension [-Wc++17-extensions]
static inline uint16_t swap16(uint16_t x) {
       ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:31: error: unexpected type name 'uint16_t': expected expression
static inline uint16_t swap16(uint16_t x) {
                              ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:31: error: unexpected type name 'uint16_t': expected expression
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:31: error: unexpected type name 'uint16_t': expected expression
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:31: error: unexpected type name 'uint16_t': expected expression
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:483:42: error: expected ';' after top level declarator
static inline uint16_t swap16(uint16_t x) {
                                         ^
                                         ;
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:1949:31: error: use of undeclared identifier 'malloc_usable_size'
      *pActual_size = p_new ? malloc_usable_size(p_new) : 0;
                              ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:1981:25: error: no member named 'malloc_usable_size' in the global namespace
      *pActual_size = ::malloc_usable_size(p_final_block);
                      ~~^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:1996:14: error: use of undeclared identifier 'malloc_usable_size'
  return p ? malloc_usable_size(p) : 0;
             ^
In file included from /mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/crn_rgba.cpp:31:
In file included from /mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:16:
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:234:56: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
        return (m_buf[0] << 16U) | (m_buf[1] << 8U) | (m_buf[2]);
                                                       ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:2203:7: note: in instantiation of member function 'crnd::crn_packed_uint<2>::operator unsigned int' requested here
  if (file_header.m_sig != crn_header::cCRNSigValue)
      ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:57: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                                        ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:76: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                                                           ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:232:35: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 8U) | m_buf[1];
                                  ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:2233:8: note: in instantiation of member function 'crnd::crn_packed_uint<1>::operator unsigned int' requested here
  if ((pHeader->m_faces != 1) && (pHeader->m_faces != 6))
       ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:234:37: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 16U) | (m_buf[1] << 8U) | (m_buf[2]);
                                    ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:234:56: warning: array index 2 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 16U) | (m_buf[1] << 8U) | (m_buf[2]);
                                                       ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:37: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                    ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:57: warning: array index 2 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                                        ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:76: warning: array index 3 is past the end of the array (which contains 1 element) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                                                           ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:236:76: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
        return (m_buf[0] << 24U) | (m_buf[1] << 16U) | (m_buf[2] << 8U) | (m_buf[3]);
                                                                           ^     ~
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_decomp.h:2247:40: note: in instantiation of member function 'crnd::crn_packed_uint<3>::operator unsigned int' requested here
    pFile_info->m_total_palette_size = pHeader->m_color_endpoints.m_size + pHeader->m_color_selectors.m_size + pHeader->m_alpha_endpoints.m_size + pHeader->m_alpha_selectors.m_size;
                                       ^
/mnt/924G/DATA/CLIPS/maps/netradiant/libs/crnrgba/../crunch/crn_defs.h:240:3: note: array 'm_buf' declared here
  unsigned char m_buf[N];
  ^
11 warnings and 8 errors generated.
gmake[2]: *** [libs/crnrgba/CMakeFiles/crnrgba.dir/build.make:76: libs/crnrgba/CMakeFiles/crnrgba.dir/crn_rgba.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1254: libs/crnrgba/CMakeFiles/crnrgba.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
localhost$ exit



Script done on Fri Aug 14 23:24:24 2026
NetRadiant
NetRadiant
Thursday, 30 July 2026

Okay, I'll wait for the update.

I'll try to reproduce your error…

Again, the same error. Why it keep looking for a missing gtkglext package? The gtkglext was built-in, yes?

Yes, that's very weird… Also we see the builtin build actually installs the gtkglext-win32-1.0.pc file in the right place, but then in the netradiant build the pkgconfig claims to fail to find it…

I've done a clean build, no remnants or residual files/folders left, but still yield the same result.

♦

Again, the same error. Why it keep looking for a missing gtkglext package? The gtkglext was built-in, yes?

NetRadiant
NetRadiant
Wednesday, 29 July 2026

Yep, I did use the easy-builder script.

Let me see if that directory exists.

Also, in case it remembers something from your previous attempts, make sure to delete the build/ directory before building, if you have not done it first.

Did you use the easy-builder script?

♦

I've got an error at the end. Is it normal?

NetRadiant
NetRadiant
Tuesday, 28 July 2026

Thomas Debesse (087f512e) at 28 Jul 20:10

readme: more generic updates

... and 8 more commits

Thomas Debesse (a8f9ef70) at 28 Jul 14:53

readme: more generic updates

... and 8 more commits

Thomas Debesse (c1593b31) at 28 Jul 14:47

readme: more generic updates

... and 1 more commit

Hi @Overwatch-C-17! Try this illwieckz/windows-gtkglext branch:

  • Rework the MSYS2 build after GtkGLExt MSYS2 removal (build GtkGLExt as a builtin) !247

Follow those instructions (in the URT64 MSYS2 shell):

pacman -S --needed base-devel git subversion unzip autoconf automake libtool \
  mingw-w64-ucrt-$(uname -m)-{ntldd-git,toolchain,cmake,make,gtk2,gtk-doc,libwebp,minizip-git}

git clone gitlab.com/xonotic/netradiant.git
cd netradiant
git fetch origin
git checkout illwieckz/windows-gtkglext
./easy-builder

You should then get a working NetRadiant in netradiant/install/.

More details here:

  • Rework the MSYS2 build after GtkGLExt MSYS2 removal (build GtkGLExt as a builtin) !247

This builds GtkGLExt as a builtin, from the only remaining repository being maintained today (by me):

  • gitlab.gnome.org/illwieckz/gtkglext/-/tree/windows

If you get some garbage displayed at first run, restart NetRadiant. Some drivers can be picky with the very old OpenGL used in NetRadiant. If you get consistent garbage, I can redirect you to some alternate OpenGL libraries for Windows to drop in the NetRadiant folder to get NetRadiant working.