>From FreeBSD, a bit hard to follow as their commit (re)touched the original patches
https://svnweb.freebsd.org/ports?view=revision&revision=548113 Once this builds, the game doesn't seem very playable. Seems like it might be running /way/ too fast on modern systems. Tried stock fvwm with no fancy stuff to see if compositing was problematic, no improvement. Does this work for anyone else? Should it get booted? Index: Makefile =================================================================== RCS file: /cvs/ports/games/xboing/Makefile,v retrieving revision 1.31 diff -u -p -r1.31 Makefile --- Makefile 12 Jul 2019 20:46:27 -0000 1.31 +++ Makefile 13 Feb 2021 00:30:05 -0000 @@ -5,7 +5,7 @@ COMMENT= blockout style game for X11 V= 2.4 DISTNAME= xboing${V} PKGNAME= xboing-${V} -REVISION= 4 +REVISION= 5 CATEGORIES= games Index: patches/patch-bonus_c =================================================================== RCS file: /cvs/ports/games/xboing/patches/patch-bonus_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-bonus_c --- patches/patch-bonus_c 8 Jul 2011 11:42:09 -0000 1.1 +++ patches/patch-bonus_c 13 Feb 2021 00:30:05 -0000 @@ -1,6 +1,19 @@ $OpenBSD: patch-bonus_c,v 1.1 2011/07/08 11:42:09 jasper Exp $ ---- bonus.c.orig Fri Nov 22 02:28:46 1996 -+++ bonus.c Fri Jul 8 13:37:55 2011 + +fix -fno-common, from FreeBSD + +Index: bonus.c +--- bonus.c.orig ++++ bonus.c +@@ -120,7 +120,7 @@ enum BonusStates BonusState; + static Pixmap titlePixmap, titlePixmapM; + static int ypos; + static int waitingFrame; +-enum BonusStates waitMode; ++extern enum BonusStates waitMode; + static char string[80]; + static u_long bonusScore; + static int firstTime = True; @@ -311,7 +311,7 @@ void DrawTitleText(display, window) XFlush(display); Index: patches/patch-demo_c =================================================================== RCS file: /cvs/ports/games/xboing/patches/patch-demo_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-demo_c --- patches/patch-demo_c 6 Mar 2004 02:41:00 -0000 1.1 +++ patches/patch-demo_c 13 Feb 2021 00:30:05 -0000 @@ -1,6 +1,19 @@ $OpenBSD: patch-demo_c,v 1.1 2004/03/06 02:41:00 naddy Exp $ ---- demo.c.orig 2004-03-06 01:50:10.000000000 +0100 -+++ demo.c 2004-03-06 01:51:28.000000000 +0100 + +now includes -fno-common fix, from FreeBSD + +Index: demo.c +--- demo.c.orig ++++ demo.c +@@ -107,7 +107,7 @@ static int endFrame = 0; + static int startFrame = 0; + enum DemoStates DemoState; + static int waitingFrame; +-enum DemoStates waitMode; ++extern enum DemoStates waitMode; + + #if NeedFunctionPrototypes + void SetUpDemonstration(Display *display, Window window, Colormap colormap) @@ -154,7 +154,7 @@ static void DoBlocks(display, window) /* Construct the demo level filename */ Index: patches/patch-editor_c =================================================================== RCS file: /cvs/ports/games/xboing/patches/patch-editor_c,v retrieving revision 1.2 diff -u -p -r1.2 patch-editor_c --- patches/patch-editor_c 6 Mar 2004 02:41:00 -0000 1.2 +++ patches/patch-editor_c 13 Feb 2021 00:30:05 -0000 @@ -1,6 +1,19 @@ $OpenBSD: patch-editor_c,v 1.2 2004/03/06 02:41:00 naddy Exp $ ---- editor.c.orig 1996-11-22 02:28:46.000000000 +0100 -+++ editor.c 2004-03-06 01:55:49.000000000 +0100 + +now includes -fno-common fix, from FreeBSD + +Index: editor.c +--- editor.c.orig ++++ editor.c +@@ -121,7 +121,7 @@ void DoEditWait(); + enum EditStates EditState; + enum EditStates oldEditState; + static int waitingFrame; +-enum EditStates waitMode; ++extern enum EditStates waitMode; + static int oldWidth, oldHeight; + static int curBlockType; + static int drawAction = ED_NOP; @@ -213,7 +213,7 @@ static void DoLoadLevel(display, window) /* Construct the Edit level filename */ Index: patches/patch-highscore_c =================================================================== RCS file: /cvs/ports/games/xboing/patches/patch-highscore_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-highscore_c --- patches/patch-highscore_c 8 Jul 2011 11:42:09 -0000 1.1 +++ patches/patch-highscore_c 13 Feb 2021 00:30:05 -0000 @@ -1,6 +1,10 @@ $OpenBSD: patch-highscore_c,v 1.1 2011/07/08 11:42:09 jasper Exp $ ---- highscore.c.orig Fri Nov 22 02:28:46 1996 -+++ highscore.c Fri Jul 8 13:37:55 2011 + +now includes -fno-common fix, from FreeBSD + +Index: highscore.c +--- highscore.c.orig ++++ highscore.c @@ -55,6 +55,7 @@ #include <time.h> #include <file.h> @@ -18,6 +22,15 @@ $OpenBSD: patch-highscore_c,v 1.1 2011/0 #else static int LockUnlock(); static void DeleteScore(); +@@ -137,7 +138,7 @@ static int endFrame = 0; + enum HighScoreStates HighScoreState; + static Pixmap titlePixmap, titlePixmapM; + static int waitingFrame; +-enum HighScoreStates waitMode; ++extern enum HighScoreStates waitMode; + static int sparkley = 0; + static int sindex = 0; + static int si = 0; @@ -844,7 +845,7 @@ int CheckAndAddScoreToHighScore(score, level, gameTime /* Lock the file for me only */ Index: patches/patch-inst_c =================================================================== RCS file: patches/patch-inst_c diff -N patches/patch-inst_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-inst_c 13 Feb 2021 00:30:05 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +fix -fno-common, from FreeBSD + +Index: inst.c +--- inst.c.orig ++++ inst.c +@@ -107,7 +107,7 @@ static int endFrame = 0; + static int nextFrame = 0; + enum InstructStates InstructState; + static int waitingFrame; +-enum InstructStates waitMode; ++extern enum InstructStates waitMode; + + #if NeedFunctionPrototypes + void SetUpInstructions(Display *display, Window window, Colormap colormap) Index: patches/patch-intro_c =================================================================== RCS file: patches/patch-intro_c diff -N patches/patch-intro_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-intro_c 13 Feb 2021 00:30:05 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +fix -fno-common, from FreeBSD + +Index: intro.c +--- intro.c.orig ++++ intro.c +@@ -120,7 +120,7 @@ enum IntroStates IntroState; + Pixmap bigtitlePixmap, bigtitlePixmapM; + Pixmap stars[12], starsM[12]; + static int waitingFrame; +-enum IntroStates waitMode; ++extern enum IntroStates waitMode; + + #if NeedFunctionPrototypes + void SetUpIntroduction(Display *display, Window window, Colormap colormap) Index: patches/patch-keys_c =================================================================== RCS file: patches/patch-keys_c diff -N patches/patch-keys_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-keys_c 13 Feb 2021 00:30:05 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +fix -fno-common, from FreeBSD + +Index: keys.c +--- keys.c.orig ++++ keys.c +@@ -105,7 +105,7 @@ static int endFrame = 0; + static int startFrame = 0; + enum KeysStates KeysState; + static int waitingFrame; +-enum KeysStates waitMode; ++extern enum KeysStates waitMode; + Pixmap mouse, leftarrow, rightarrow; + Pixmap mouseM, leftarrowM, rightarrowM; + Index: patches/patch-preview_c =================================================================== RCS file: /cvs/ports/games/xboing/patches/patch-preview_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-preview_c --- patches/patch-preview_c 6 Mar 2004 02:41:00 -0000 1.1 +++ patches/patch-preview_c 13 Feb 2021 00:30:05 -0000 @@ -1,6 +1,19 @@ $OpenBSD: patch-preview_c,v 1.1 2004/03/06 02:41:00 naddy Exp $ ---- preview.c.orig 2004-03-06 02:03:41.000000000 +0100 -+++ preview.c 2004-03-06 02:04:07.000000000 +0100 + +now includes -fno-common fix, from FreeBSD + +Index: preview.c +--- preview.c.orig ++++ preview.c +@@ -102,7 +102,7 @@ void DoPreviewWait(); + + enum PreviewStates PreviewState; + static int waitingFrame; +-enum PreviewStates waitMode; ++extern enum PreviewStates waitMode; + + #if NeedFunctionPrototypes + void SetUpPreviewLevel(Display *display, Window window, Colormap colormap) @@ -139,7 +139,7 @@ static void DoLoadLevel(display, window) /* Construct the Preview level filename */