Poor Xgalaga seems to have been abandoned by everyone... except the kind folks at Debian and Fedora who are keeping patches up to date for the packages!
Thanks to Joey Hess <joeyh@debian.org> and Kevin Ryde <user42@zip.com.au> for keepinging this fun little game maintained.
So if you are getting this compile error:
In file included from data.c:19:
data.h:69: error: array type has incomplete element type
data.h:72: error: array type has incomplete element type
Apparently it has something to do with declaration order. See this post:
http://www.mudmagic.com/boards/developer/1/1526/1527
I'm not a C guru, so I don't know how to fix it specifically, but you can just use the patches.
What you need to do is download the attached patches, which are straight from the SRPM. Then:
-----------------------------------------
mkdir xgalaga
cd xgalaga
tar zxvf xgalaga_2.0.34.patches.tar.gz
tar zxvf xgalaga_2.0.34.orig.tar.gz
cd xgalaga-2.0.34
patch -p1 -b --suffix .deb < ../xgalaga_2.0.34-44.diff
patch -p1 -b --suffix .fs < ../xgalaxy-2.0.34-fullscreen.patch
patch -p1 -b --suffix .joy < ../xgalaxy-2.0.34-joy.patch
sed -i s/xgalaga/xgalaxy/g ./Makefile.in ./xgal.6x ./libsprite/makewindow.c ./libsprite/init.c ./libsprite/init.c.deb ./libsprite/data.c ./libsprite/data.c.deb ./libsprite/makewindow.c.fs ./libsprite/makewindow.c.deb ./debian/rules ./debian/changelog ./debian/menu ./debian/README.Debian ./debian/postrm ./debian/copyright ./debian/control ./CHANGES ./README.fedora ./configure.in ./configure ./xgalaga-icon.xpm ./xgal.6x.xgalaxy ./xgal.sndsrv.linux ./title.c.deb ./Makefile.in.deb ./configure.in.deb ./configure.deb ./README.deb
sed -i s/XGalaga/XGalaxy/g ./main.c.xgalaxy ./README.xgalaxy ./INSTALL ./libsprite/README.libsprite ./libsprite/makewindow.c ./libsprite/data.c ./libsprite/data.c.deb ./libsprite/makewindow.c.fs ./libsprite/makewindow.c.deb ./CHANGES ./README ./title.c.deb ./main.c.deb ./README.deb ./main.c ./title.c
export LANG=C
export 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fsigned-char -DXF86VIDMODE'
export LDFLAGS=-lXxf86vm
./configure --libdir=/usr/lib --exec-prefix=/usr/bin --prefix=/usr/share/xgalaxy
make
-----------------------------------------
And you're laughing!
Xgalaga patches to compile under newer gcc