+ case "${usergroup_phase}" in
+ local run_cmd
+ run_cmd=run_su
+ shift
+ run_su /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/redeclipse16-1.6.0nb4/work.log
+ su pbulk -c '"$@"' make /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/redeclipse16-1.6.0nb4/work.log
=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Building for redeclipse16-1.6.0nb4
/opt/pkg/bin/gmake -C enet
gmake[1]: Entering directory '/home/pbulk/build/games/redeclipse16/work/redeclipse-1.6.0/src/enet'
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o callbacks.o callbacks.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o compress.o compress.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o host.o host.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o list.o list.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o packet.o packet.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o peer.o peer.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o protocol.o protocol.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o unix.o unix.c
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Iinclude  -DHAS_POLL -DHAS_FCNTL -DHAS_INET_PTON -DHAS_INET_NTOP -DHAS_MSGHDR_FLAGS -DHAS_SOCKLEN_T -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o win32.o win32.c
ar rcs libenet.a callbacks.o compress.o host.o list.o packet.o peer.o protocol.o unix.o win32.o
gmake[1]: Leaving directory '/home/pbulk/build/games/redeclipse16/work/redeclipse-1.6.0/src/enet'
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -x c++-header -o shared/cube.tmp.h.gch shared/cube.h
mv shared/cube.tmp.h.gch shared/cube.h.gch
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/crypto.o shared/crypto.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/geom.o shared/geom.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/glemu.o shared/glemu.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/stream.o shared/stream.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/tools.o shared/tools.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o shared/zip.o shared/zip.cpp
gcc -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -c -o support/sqlite3.o support/sqlite3.c
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -x c++-header -o engine/engine.tmp.h.gch engine/engine.h
mv engine/engine.tmp.h.gch engine/engine.h.gch
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/bih.o engine/bih.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/blend.o engine/blend.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/blob.o engine/blob.cpp
engine/blob.cpp: In member function 'void blobrenderer::init(int)':
engine/blob.cpp:118:15: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct blobinfo'; use assignment or value-initialization instead [-Wclass-memaccess]
  118 |         memset(blobs, 0, maxblobs * sizeof(blobinfo));
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/blob.cpp:20:8: note: 'struct blobinfo' declared here
   20 | struct blobinfo
      |        ^~~~~~~~
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/client.o engine/client.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/command.o engine/command.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/console.o engine/console.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/decal.o engine/decal.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/dynlight.o engine/dynlight.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/glare.o engine/glare.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/grass.o engine/grass.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/irc.o engine/irc.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/lightmap.o engine/lightmap.cpp
engine/lightmap.cpp: In function 'bool generatelightmap(lightmapworker*, float, const lerpvert*, int, vec, const vec&, const vec&, vec, const vec&, const vec&, float, float)':
engine/lightmap.cpp:744:48: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct vec'; use assignment or value-initialization instead [-Wclass-memaccess]
  744 |     if((w->type&LM_TYPE) == LM_BUMPMAP0) memset(w->raydata, 0, (LM_MAXW + 4)*(LM_MAXH + 4)*sizeof(vec));
      |                                          ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from shared/cube.h:67,
                 from engine/engine.h:5:
shared/geom.h:69:8: note: 'struct vec' declared here
   69 | struct vec
      |        ^~~
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/main.o engine/main.cpp
In file included from shared/cube.h:66,
                 from engine/engine.h:5:
engine/main.cpp:280:19: warning: built-in function 'gamma' declared as non-function [-Wbuiltin-declaration-mismatch]
  280 | VARF(IDF_PERSIST, gamma, 30, 100, 300,
      |                   ^~~~~
shared/command.h:381:81: note: in definition of macro '_VARF'
  381 | #define _VARF(name, global, min, cur, max, body, flags)  void var_##name(); int global = variable(#name, min, cur, max, &global, var_##name, flags|IDF_COMPLETE); void var_##name() { body; }
      |                                                                                 ^~~~~~
engine/main.cpp:280:1: note: in expansion of macro 'VARF'
  280 | VARF(IDF_PERSIST, gamma, 30, 100, 300,
      | ^~~~
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/master.o engine/master.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/material.o engine/material.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/menus.o engine/menus.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/movie.o engine/movie.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/normal.o engine/normal.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/octa.o engine/octa.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/octaedit.o engine/octaedit.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/octarender.o engine/octarender.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/physics.o engine/physics.cpp
engine/physics.cpp: In function 'void resetclipplanes()':
engine/physics.cpp:30:15: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct clipplanes'; use assignment or value-initialization instead [-Wclass-memaccess]
   30 |         memset(clipcache, 0, sizeof(clipcache));
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engine/engine.h:89:
engine/octa.h:160:8: note: 'struct clipplanes' declared here
  160 | struct clipplanes
      |        ^~~~~~~~~~
engine/physics.cpp: In function 'void resetshadowraycache(ShadowRayCache*)':
engine/physics.cpp:408:15: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct clipplanes'; use assignment or value-initialization instead [-Wclass-memaccess]
  408 |         memset(cache->clipcache, 0, sizeof(cache->clipcache));
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/octa.h:160:8: note: 'struct clipplanes' declared here
  160 | struct clipplanes
      |        ^~~~~~~~~~
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/pvs.o engine/pvs.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/rendergl.o engine/rendergl.cpp
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/rendermodel.o engine/rendermodel.cpp
In file included from engine/rendermodel.cpp:9:
engine/animmodel.h: In instantiation of 'void animmodel::mesh::smoothnorms(V*, int, T*, int, float, bool) [with V = vertmodel::vert; T = vertmodel::tri]':
engine/vertmodel.h:45:75:   required from here
engine/animmodel.h:351:19: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct vec'; use assignment or value-initialization instead [-Wclass-memaccess]
  351 |             memset(norms, 0, numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from shared/cube.h:67,
                 from engine/engine.h:5:
shared/geom.h:69:8: note: 'struct vec' declared here
   69 | struct vec
      |        ^~~
engine/animmodel.h: In instantiation of 'void animmodel::mesh::smoothnorms(V*, int, T*, int, float, bool) [with V = skelmodel::vert; T = skelmodel::tri]':
engine/skelmodel.h:198:30:   required from here
engine/animmodel.h:351:19: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct vec'; use assignment or value-initialization instead [-Wclass-memaccess]
  351 |             memset(norms, 0, numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shared/geom.h:69:8: note: 'struct vec' declared here
   69 | struct vec
      |        ^~~
engine/animmodel.h: In instantiation of 'void animmodel::mesh::calctangents(B*, V*, TC*, int, T*, int, bool) [with B = skelmodel::bumpvert; V = skelmodel::vert; TC = skelmodel::vert; T = skelmodel::tri]':
engine/skelmodel.h:210:31:   required from here
engine/animmodel.h:423:19: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct vec'; use assignment or value-initialization instead [-Wclass-memaccess]
  423 |             memset(tangent, 0, 2*numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shared/geom.h:69:8: note: 'struct vec' declared here
   69 | struct vec
      |        ^~~
engine/animmodel.h: In instantiation of 'void animmodel::mesh::calctangents(B*, V*, TC*, int, T*, int, bool) [with B = vertmodel::bumpvert; V = vertmodel::vert; TC = vertmodel::tcvert; T = vertmodel::tri]':
engine/animmodel.h:476:42:   required from 'void animmodel::mesh::calctangents(B*, V*, TC*, int, T*, int, bool, int) [with B = vertmodel::bumpvert; V = vertmodel::vert; TC = vertmodel::tcvert; T = vertmodel::tri]'
engine/vertmodel.h:58:31:   required from here
engine/animmodel.h:423:19: warning: 'void* std::memset(void*, int, size_t)' clearing an object of non-trivial type 'struct vec'; use assignment or value-initialization instead [-Wclass-memaccess]
  423 |             memset(tangent, 0, 2*numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shared/geom.h:69:8: note: 'struct vec' declared here
   69 | struct vec
      |        ^~~
engine/animmodel.h: In function 'void animmodel::mesh::smoothnorms(V*, int, T*, int, float, bool) [with V = vertmodel::vert; T = vertmodel::tri]':
engine/animmodel.h:351:19: warning: 'void* std::memset(void*, int, size_t)' specified bound between 18446744047939747840 and 18446744073709551604 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  351 |             memset(norms, 0, numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/animmodel.h:331:19: warning: 'void* std::memset(void*, int, size_t)' specified bound between 18446744065119617024 and 18446744073709551612 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  331 |             memset(next, -1, numverts*sizeof(int));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from shared/cube.h:68:
In member function 'void physent::resetinterp(bool)',
    inlined from 'void physent::reset()' at shared/ents.h:142:20,
    inlined from 'physent::physent()' at shared/ents.h:122:14,
    inlined from 'ragdolldata::collidevert(const vec&, const vec&, float)::vertent::vertent()' at engine/ragdoll.h:253:13,
    inlined from 'static bool ragdolldata::collidevert(const vec&, const vec&, float)' at engine/ragdoll.h:257:11,
    inlined from 'void ragdolldata::tryunstick(float)' at engine/ragdoll.h:389:27:
shared/ents.h:129:21: warning: 'ragdolldata::collidevert::v.ragdolldata::collidevert::vertent::<unnamed>.physent::height' may be used uninitialized [-Wmaybe-uninitialized]
  129 |         newpos.z -= height;
      |                     ^~~~~~
In file included from engine/rendermodel.cpp:8:
engine/ragdoll.h: In member function 'void ragdolldata::tryunstick(float)':
engine/ragdoll.h:257:11: note: 'v' declared here
  257 |         } v;
      |           ^
In member function 'void physent::resetinterp(bool)',
    inlined from 'void physent::reset()' at shared/ents.h:142:20,
    inlined from 'physent::physent()' at shared/ents.h:122:14,
    inlined from 'ragdolldata::collidevert(const vec&, const vec&, float)::vertent::vertent()' at engine/ragdoll.h:253:13,
    inlined from 'static bool ragdolldata::collidevert(const vec&, const vec&, float)' at engine/ragdoll.h:257:11,
    inlined from 'void ragdolldata::updatepos()' at engine/ragdoll.h:440:28:
shared/ents.h:129:21: warning: 'ragdolldata::collidevert::v.ragdolldata::collidevert::vertent::<unnamed>.physent::height' may be used uninitialized [-Wmaybe-uninitialized]
  129 |         newpos.z -= height;
      |                     ^~~~~~
engine/ragdoll.h: In member function 'void ragdolldata::updatepos()':
engine/ragdoll.h:257:11: note: 'v' declared here
  257 |         } v;
      |           ^
In member function 'void physent::resetinterp(bool)',
    inlined from 'void physent::reset()' at shared/ents.h:142:20,
    inlined from 'physent::physent()' at shared/ents.h:122:14,
    inlined from 'ragdolldata::collidevert(const vec&, const vec&, float)::vertent::vertent()' at engine/ragdoll.h:253:13,
    inlined from 'static bool ragdolldata::collidevert(const vec&, const vec&, float)' at engine/ragdoll.h:257:11,
    inlined from 'void ragdolldata::move(dynent*, float)' at engine/ragdoll.h:507:33:
shared/ents.h:129:21: warning: 'ragdolldata::collidevert::v.ragdolldata::collidevert::vertent::<unnamed>.physent::height' may be used uninitialized [-Wmaybe-uninitialized]
  129 |         newpos.z -= height;
      |                     ^~~~~~
engine/ragdoll.h: In member function 'void ragdolldata::move(dynent*, float)':
engine/ragdoll.h:257:11: note: 'v' declared here
  257 |         } v;
      |           ^
In member function 'void animmodel::mesh::smoothnorms(V*, int, T*, int, float, bool) [with V = skelmodel::vert; T = skelmodel::tri]',
    inlined from 'void skelmodel::skelmesh::smoothnorms(float, bool)' at engine/skelmodel.h:198:30,
    inlined from 'bool md5::md5meshgroup::loadmesh(const char*, float)' at engine/md5.h:252:46:
engine/animmodel.h:351:19: warning: 'void* std::memset(void*, int, size_t)' specified bound between 18446744047939747840 and 18446744073709551604 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  351 |             memset(norms, 0, numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/animmodel.h:331:19: warning: 'void* std::memset(void*, int, size_t)' specified bound between 18446744065119617024 and 18446744073709551612 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  331 |             memset(next, -1, numverts*sizeof(int));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engine/rendermodel.cpp:31:
engine/obj.h: In member function 'bool obj::objmeshgroup::load(const char*, float)':
engine/obj.h:62:27: warning: 'void* std::memcpy(void*, const void*, size_t)' writing between 18446744022169944064 and 18446744073709551592 bytes into a region of size 9223372036854775807 [-Wstringop-overflow=]
   62 |                     memcpy(curmesh->verts, verts.getbuf(), verts.length()*sizeof(vert)); \
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/obj.h:154:25: note: in expansion of macro 'FLUSHMESH'
  154 |             if(curmesh) FLUSHMESH;
      |                         ^~~~~~~~~
engine/obj.h:61:61: note: destination object of size 9223372036854775807 allocated by 'operator new []'
   61 |                     curmesh->verts = new vert[verts.length()]; \
      |                                                             ^
engine/obj.h:154:25: note: in expansion of macro 'FLUSHMESH'
  154 |             if(curmesh) FLUSHMESH;
      |                         ^~~~~~~~~
engine/obj.h:62:27: warning: 'void* std::memcpy(void*, const void*, size_t)' writing between 18446744022169944064 and 18446744073709551592 bytes into a region of size 9223372036854775807 [-Wstringop-overflow=]
   62 |                     memcpy(curmesh->verts, verts.getbuf(), verts.length()*sizeof(vert)); \
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/obj.h:102:37: note: in expansion of macro 'FLUSHMESH'
  102 |                         if(curmesh) FLUSHMESH;
      |                                     ^~~~~~~~~
engine/obj.h:61:61: note: destination object of size 9223372036854775807 allocated by 'operator new []'
   61 |                     curmesh->verts = new vert[verts.length()]; \
      |                                                             ^
engine/obj.h:102:37: note: in expansion of macro 'FLUSHMESH'
  102 |                         if(curmesh) FLUSHMESH;
      |                                     ^~~~~~~~~
In member function 'void animmodel::mesh::calctangents(B*, V*, TC*, int, T*, int, bool) [with B = skelmodel::bumpvert; V = skelmodel::vert; TC = skelmodel::vert; T = skelmodel::tri]',
    inlined from 'void skelmodel::skelmesh::calctangents(bool)' at engine/skelmodel.h:210:31,
    inlined from 'void skelmodel::skelmesh::calctangents(bool)' at engine/skelmodel.h:206:14,
    inlined from 'void skelmodel::skelmeshgroup::genvbo(bool, skelmodel::vbocacheentry&)' at engine/skelmodel.h:1181:77:
engine/animmodel.h:423:19: warning: 'void* std::memset(void*, int, size_t)' specified bound between 18446744047939747840 and 18446744073709551604 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  423 |             memset(tangent, 0, 2*numverts*sizeof(vec));
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2 -Wall -fsigned-char -fno-exceptions -fno-rtti -I. -Ishared -Iengine -Igame -Ienet/include -Isupport -I/usr/X11R6/include `sdl2-config --cflags` -I/opt/pkg/include/SDL2 -I/opt/pkg/include -I/opt/pkg/include/libdrm -I/usr/include -I/opt/pkg/include/ncurses -I/opt/pkg/include/freetype2  -c -o engine/renderparticles.o engine/renderparticles.cpp
engine/lensflare.h:60:108: error: expected ',' or '...' before numeric constant
   60 |     void newflare(const vec &o,  const vec &center, uchar r, uchar g, uchar b, float mod, float size, bool sun, int sparkle)
      |                                                                                                            ^~~
engine/lensflare.h:73:78: error: expected ',' or '...' before numeric constant
   73 |     bool generate(const vec &o, vec &flaredir, float &mod, float &size, bool sun, float radius)
      |                                                                              ^~~
engine/lensflare.h:91:65: error: expected ',' or '...' before numeric constant
   91 |     void addflare(const vec &o, uchar r, uchar g, uchar b, bool sun, bool project, int sparkle)
      |                                                                 ^~~
In file included from engine/renderparticles.cpp:160:
engine/lensflare.h: In member function 'void flarerenderer::newflare(const vec&, const vec&, uchar, uchar, uchar, float, float, bool)':
engine/lensflare.h:70:21: error: 'sparkle' was not declared in this scope
   70 |         f.sparkle = sparkle;
      |                     ^~~~~~~
engine/lensflare.h: In member function 'bool flarerenderer::generate(const vec&, vec&, float&, float&, bool)':
engine/lensflare.h:84:22: error: 'radius' was not declared in this scope
   84 |             if(len > radius) return false;
      |                      ^~~~~~
engine/lensflare.h:85:20: error: 'radius' was not declared in this scope
   85 |             mod = (radius-len)/radius;
      |                    ^~~~~~
engine/lensflare.h: In member function 'void flarerenderer::addflare(const vec&, uchar, uchar, uchar, bool)':
engine/lensflare.h:97:52: error: 'project' was not declared in this scope; did you mean 'game::project'?
   97 |         if(generate(o, flaredir, mod, size, sun || project, flarecutoff))
      |                                                    ^~~~~~~
      |                                                    game::project
In file included from shared/cube.h:76,
                 from engine/engine.h:5:
shared/igame.h:114:17: note: 'game::project' declared here
  114 |     extern void project(int w, int h);
      |                 ^~~~~~~
engine/lensflare.h:98:105: error: 'sparkle' was not declared in this scope
   98 |             newflare(o, vec(camdir).mul(flaredir.dot(camdir)).add(camera1->o), r, g, b, mod, size, sun, sparkle);
      |                                                                                                         ^~~~~~~
engine/lensflare.h: In member function 'void flarerenderer::drawflares()':
engine/lensflare.h:116:22: error: expected unqualified-id before numeric constant
  116 |                 bool sun = false, project = false;
      |                      ^~~
engine/lensflare.h:126:61: error: lvalue required as left operand of assignment
  126 |                             if(!e.attrs[0] || e.attrs[4]&1) sun = true;
      |                                                             ^~~
engine/lensflare.h:138:61: error: lvalue required as left operand of assignment
  138 |                             if(!e.attrs[6] || e.attrs[6]&1) sun = true;
      |                                                             ^~~
engine/lensflare.h:144:29: error: 'project' was not declared in this scope; did you mean 'game::project'?
  144 |                             project = true;
      |                             ^~~~~~~
      |                             game::project
shared/igame.h:114:17: note: 'game::project' declared here
  114 |     extern void project(int w, int h);
      |                 ^~~~~~~
engine/lensflare.h:152:51: error: 'project' was not declared in this scope; did you mean 'game::project'?
  152 |                 float mod = 0, size = 0, radius = project ? 0.f : e.attrs[0]*flaresize/100.f;
      |                                                   ^~~~~~~
      |                                                   game::project
shared/igame.h:114:17: note: 'game::project' declared here
  114 |     extern void project(int w, int h);
      |                 ^~~~~~~
engine/lensflare.h:154:29: error: no matching function for call to 'flarerenderer::newflare(vec&, vec&, uchar&, uchar&, uchar&, float&, float, int, int&)'
  154 |                     newflare(o, vec(camdir).mul(flaredir.dot(camdir)).add(camera1->o), r, g, b, mod, size*scale, sun, sparkle);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/lensflare.h:60:10: note: candidate: 'void flarerenderer::newflare(const vec&, const vec&, uchar, uchar, uchar, float, float, bool)'
   60 |     void newflare(const vec &o,  const vec &center, uchar r, uchar g, uchar b, float mod, float size, bool sun, int sparkle)
      |          ^~~~~~~~
engine/lensflare.h:60:10: note:   candidate expects 8 arguments, 9 provided
engine/renderparticles.cpp: In function 'void makeparticle(const vec&, attrvector&)':
engine/renderparticles.cpp:1719:28: error: no matching function for call to 'flarerenderer::addflare(const vec&, int&, int&, int&, bool, bool, int)'
 1719 |             flares.addflare(o, attr[1], attr[2], attr[3], (attr[0]&2)!=0, false, (attr[0]&1)!=0 ? ((attr[0]&2)!=0 ? 1 : 2) : 0);
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
engine/lensflare.h:91:10: note: candidate: 'void flarerenderer::addflare(const vec&, uchar, uchar, uchar, bool)'
   91 |     void addflare(const vec &o, uchar r, uchar g, uchar b, bool sun, bool project, int sparkle)
      |          ^~~~~~~~
engine/lensflare.h:91:10: note:   candidate expects 5 arguments, 7 provided
gmake: *** [<builtin>: engine/renderparticles.o] Error 1
*** Error code 2

Stop.
bmake[1]: stopped in /data/jenkins/workspace/pkgsrc-upstream-bulktest/games/redeclipse16
*** Error code 1

Stop.
bmake: stopped in /data/jenkins/workspace/pkgsrc-upstream-bulktest/games/redeclipse16