Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Sep 2020 18:02:22 +0000 (UTC)
From:      Dirk Meyer <dinoex@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r548113 - head/games/xboing/files
Message-ID:  <202009091802.089I2Msl054249@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dinoex
Date: Wed Sep  9 18:02:22 2020
New Revision: 548113
URL: https://svnweb.freebsd.org/changeset/ports/548113

Log:
  - fix build with -fno-common
  - merge patches

Added:
  head/games/xboing/files/patch-demo.c   (contents, props changed)
  head/games/xboing/files/patch-editor.c   (contents, props changed)
  head/games/xboing/files/patch-file.c   (contents, props changed)
  head/games/xboing/files/patch-inst.c   (contents, props changed)
  head/games/xboing/files/patch-intro.c   (contents, props changed)
  head/games/xboing/files/patch-keys.c   (contents, props changed)
  head/games/xboing/files/patch-main.c   (contents, props changed)
  head/games/xboing/files/patch-misc.c   (contents, props changed)
  head/games/xboing/files/patch-presents.c   (contents, props changed)
  head/games/xboing/files/patch-preview.c   (contents, props changed)
Deleted:
  head/games/xboing/files/patch-debian
Modified:
  head/games/xboing/files/patch-Imakefile
  head/games/xboing/files/patch-LINUXaudio.c
  head/games/xboing/files/patch-ball.c
  head/games/xboing/files/patch-bonus.c
  head/games/xboing/files/patch-highscore.c
  head/games/xboing/files/patch-init.c
  head/games/xboing/files/patch-xboing.man

Modified: head/games/xboing/files/patch-Imakefile
==============================================================================
--- head/games/xboing/files/patch-Imakefile	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-Imakefile	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,6 +1,6 @@
---- Imakefile.orig	1996-11-22 02:28:46.000000000 +0100
-+++ Imakefile	2014-03-30 17:51:01.000000000 +0200
-@@ -24,23 +24,28 @@
+--- Imakefile.orig	1996-11-22 01:28:46 UTC
++++ Imakefile
+@@ -24,23 +24,28 @@ XCOMM ================================================
  XCOMM This is the directory where the highscore, level & sound data will be 
  XCOMM placed. Default will be the current directory.
  
@@ -33,7 +33,7 @@
  
  XCOMM Uncomment this if you want to use ANY of the AUDIO sound systems
  #define COMPILE_IN_AUDIO    
-@@ -132,8 +137,8 @@
+@@ -132,8 +137,8 @@ XCOMM hasn't a usleep() function.
          -DLEVEL_INSTALL_DIR=\"$(LEVEL_INSTALL_DIR)\" \
          -DAUDIO_AVAILABLE=\"$(AUDIO_AVAILABLE)\" \
          -DSOUNDS_DIR=\"$(SOUNDS_DIR)\" \
@@ -44,7 +44,7 @@
  XCOMM   -DNEED_USLEEP=\"True\" \
  XCOMM   -DNO_LOCKING=\"True\" 
  
-@@ -182,30 +187,30 @@
+@@ -182,30 +187,30 @@ install:: $(PROGRAMS)
  	@echo "XBoing directory is " $(XBOING_DIR)
  	@:
  	@echo "Creating directory " $(XBOING_DIR)

Modified: head/games/xboing/files/patch-LINUXaudio.c
==============================================================================
--- head/games/xboing/files/patch-LINUXaudio.c	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-LINUXaudio.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,5 +1,5 @@
---- audio/LINUXaudio.c.orig	Fri Nov 22 02:28:33 1996
-+++ audio/LINUXaudio.c	Tue Mar  4 22:06:01 2003
+--- audio/LINUXaudio.c.orig	1996-11-22 01:28:33 UTC
++++ audio/LINUXaudio.c
 @@ -55,7 +55,7 @@
  #include <unistd.h>
  #include <stdio.h>
@@ -9,7 +9,7 @@
  
  #include "include/error.h"
  #include "include/audio.h"
-@@ -78,7 +78,7 @@
+@@ -78,7 +78,7 @@ static int snd_pipes[2];
   */
  
  static char				*Audio_dev = "/dev/audio";
@@ -18,7 +18,7 @@
  /* size should depend on sample_rate */
  static unsigned char   	buf[BUFFER_SIZE];       
  static char 			errorString[255];
-@@ -125,13 +125,14 @@
+@@ -125,13 +125,14 @@ int SetUpAudioSystem(display)
                    if (!strcmp(string, "EXIT"))
  	             {
                       /* Make sure that the audio device is flushed and reset */
@@ -34,7 +34,7 @@
    	          {	
  		         continue;
    	          }
-@@ -185,6 +186,7 @@
+@@ -185,6 +186,7 @@ int SetUpAudioSystem(display)
                  /* Close the sound file */
                  (void) close(ifd);
  		(void) close(Audio_fd);

Modified: head/games/xboing/files/patch-ball.c
==============================================================================
--- head/games/xboing/files/patch-ball.c	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-ball.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,5 +1,5 @@
---- ball.c.old	Mon Sep 23 12:48:00 2002
-+++ ball.c	Mon Sep 23 12:48:09 2002
+--- ball.c.orig	1996-11-22 01:28:46 UTC
++++ ball.c
 @@ -50,7 +50,7 @@
  #include <stdio.h>
  #include <stdlib.h>

Modified: head/games/xboing/files/patch-bonus.c
==============================================================================
--- head/games/xboing/files/patch-bonus.c	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-bonus.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,6 +1,15 @@
---- bonus.c.orig	Thu Nov 20 03:12:56 1997
-+++ bonus.c	Thu Nov 20 03:15:32 1997
-@@ -311,7 +311,7 @@
+--- bonus.c.orig	1996-11-22 01:28:46 UTC
++++ 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);
  
  	SetBonusWait(BONUS_SCORE, frame + 5);
@@ -9,7 +18,7 @@
  
  	DEBUG("set bonus mode to BONUS_SCORE.")
  }
-@@ -326,7 +326,7 @@
+@@ -326,7 +326,7 @@ static void DoScore(display, window)
  {
  	DEBUG("in function DoScore() in bonus.c")
  
@@ -18,7 +27,7 @@
  
  	/* Nice message rewarding you for your efforts */
  	strcpy(string, "Congratulations on finishing this level.");
-@@ -336,7 +336,7 @@
+@@ -336,7 +336,7 @@ static void DoScore(display, window)
  
  	ypos += (35 + GAP);
  	SetBonusWait(BONUS_BONUS, frame + LINE_DELAY);
@@ -27,7 +36,7 @@
  	DEBUG("set bonus mode to BONUS_BONUS.")
  }
  
-@@ -387,7 +387,7 @@
+@@ -387,7 +387,7 @@ static void DoBonuses(display, window)
  			DrawShadowCentredText(display, window, textFont, 
  				string, ypos, blue, TOTAL_WIDTH);
  
@@ -36,7 +45,7 @@
  
  			/* Now skip to the next sequence */
  			SetBonusWait(BONUS_LEVEL, frame + LINE_DELAY);
-@@ -411,7 +411,7 @@
+@@ -411,7 +411,7 @@ static void DoBonuses(display, window)
  			bonusScore += ComputeScore(SUPER_BONUS_SCORE);
  			DisplayScore(display, scoreWindow, bonusScore);
  	
@@ -45,7 +54,7 @@
  
  			/* Now skip to the next sequence */
  			SetBonusWait(BONUS_LEVEL, frame + LINE_DELAY);
-@@ -454,7 +454,7 @@
+@@ -454,7 +454,7 @@ static void DoBonuses(display, window)
  		ypos += (int) (textFont->ascent + GAP * 1.5);
  		firstTime = True;
  
@@ -54,7 +63,7 @@
  	}
  }
  
-@@ -468,7 +468,7 @@
+@@ -468,7 +468,7 @@ static void DoLevel(display, window)
  {
  	int secs, theLevel;
  
@@ -63,7 +72,7 @@
  
  	/* Get the number of seconds left on the clock */
  	secs = GetLevelTimeBonus();
-@@ -533,7 +533,7 @@
+@@ -533,7 +533,7 @@ static void DoBullets(display, window)
  			/* Play the sound for the super bonus */
  			if (noSound == False) playSoundFile("Doh3", 80);
  			
@@ -72,7 +81,7 @@
  
  			/* Get ready for the next sequence */
  			SetBonusWait(BONUS_TIME, frame + LINE_DELAY);
-@@ -569,7 +569,7 @@
+@@ -569,7 +569,7 @@ static void DoBullets(display, window)
  		SetBonusWait(BONUS_TIME, frame + LINE_DELAY);
  		ypos += (textFont->ascent + GAP/2);
  		firstTime = True;
@@ -81,7 +90,7 @@
  	}
  }
  
-@@ -583,7 +583,7 @@
+@@ -583,7 +583,7 @@ static void DoTimeBonus(display, window)
  {
  	int secs = 0;
  
@@ -90,7 +99,7 @@
  
  	/* Get the number of seconds left on the clock */
  	secs = GetLevelTimeBonus();
-@@ -627,7 +627,7 @@
+@@ -627,7 +627,7 @@ static void DoHighScore(display, window)
  	int myrank = 0;
  	char str[5];
  
@@ -99,7 +108,7 @@
  
  	/* Obtain current ranking for this score */
  	myrank = GetHighScoreRanking(score);
-@@ -680,7 +680,7 @@
+@@ -680,7 +680,7 @@ static void DoEndText(display, window)
  {
  	DEBUG("DoEndText in bonus screen.")
  
@@ -108,349 +117,3 @@
  
  	/* Finishing sentence - so you know what level to do */
  	sprintf(string, "Prepare for level %ld", level+1);
---- main.c.orig	Thu Nov 20 03:15:34 1997
-+++ main.c	Thu Nov 20 03:15:54 1997
-@@ -156,7 +156,7 @@
- 
- 	/* Set an entire game speedup or slowdown speed */
- 	temp = (speed / (long) userDelay);
--	userDelay = delay;
-+	userDelay = delay/2 + 3;
- 	speed = (long) (temp * userDelay);
- 	speedLevel = 10 - delay;
- }
---- misc.c.orig	Fri Nov 22 09:28:46 1996
-+++ misc.c	Thu Nov 20 03:18:15 1997
-@@ -89,8 +89,8 @@
- #ifdef SYSV
- #ifdef __clipper__
-     struct timeval tv;
--    tv.tv_sec=((usec)/1000);
--    tv.tv_usec=(((usec)%1000)*1000);
-+    tv.tv_sec=((usec)/1000000);
-+    tv.tv_usec=((usec)%1000000);
-     select(1,NULL,NULL,NULL,&tv);
- #else
-     poll((struct poll *) 0, (size_t) 0, usec / 1000);   /* ms resolution */
-@@ -105,6 +105,68 @@
- #endif
- 
- #if NeedFunctionPrototypes
-+static	int	kudelay(unsigned long count)
-+#else
-+static	int	kudelay(count)
-+unsigned long count;
-+#endif
-+{
-+    unsigned int	bluff = 1;
-+
-+    while( count-- != 0 )	/* this can hardly be "optimised out" */
-+	bluff = (bluff ^ ((bluff & 1) * 0x6110)) >> 1;
-+
-+    return( bluff );
-+}
-+
-+#if NeedFunctionPrototypes
-+static	void kusleep(unsigned long usec)
-+#else
-+static	void kusleep(usec)
-+        unsigned long usec;
-+#endif
-+{
-+    static float	kuliber_time = 0.0;
-+    static float	kuliber_count = 0.0;
-+    static unsigned long	kutimerswap = (1000000 / 15);
-+    struct timeval	st, et;
-+    long		gap;
-+    unsigned long	count;
-+
-+    if( kuliber_time == 0.0 )
-+    {
-+	count = 0x1000;		/* calibrate delay loop */
-+	gettimeofday(&st, NULL);
-+
-+	while( True )
-+	{
-+	    kudelay( count );
-+	    count = (count << 1);
-+	    gettimeofday(&et, NULL);
-+	    gap = (((et.tv_sec - st.tv_sec) * 1000000) +
-+			(et.tv_usec - st.tv_usec) );
-+
-+	    if( gap > 400*1000 )
-+		break;
-+	}
-+
-+	kuliber_time = (float)(gap/4);
-+	kuliber_count = (float)(((count-1)&~0xFFF)>>2);
-+    }
-+
-+    if( usec > kutimerswap )
-+    {
-+	kutimerswap = (1000000 / 30);
-+	usleep( usec );		/* using usleep() for low resolution only */
-+    }
-+    else
-+    {
-+	kutimerswap = (1000000 / 15);
-+	kudelay( (unsigned long)(kuliber_count*((float)usec/kuliber_time)) );
-+    }
-+}
-+
-+#if NeedFunctionPrototypes
- void sleepSync(Display *display, unsigned long ms)
- #else
- void sleepSync(display, ms)
-@@ -112,27 +174,85 @@
-     unsigned long ms;
- #endif
- {
--    struct timeval st, et;
--    long SyncTime;
--    static unsigned long accu;
-+    static long		Expected_time = 0;
-+    static long		Ref_sec = 0;
-+    static long		Ref_usec = 0;
-+    static long		Sleeping_time = 0;
-+    static int		PLL_filter = 0;
-+    struct timeval	st;
-+    long		elapsed;
-+    long		dodelay;
-+    float		x;
- 
--    gettimeofday(&st, NULL);
-     XSync(display, False);
--    gettimeofday(&et, NULL);
- 
--    SyncTime = (((et.tv_sec - st.tv_sec) * 1000) +
--               ((et.tv_usec - st.tv_usec) / 1000) );
-+    gettimeofday(&st, NULL);
-+
-+    if( Ref_sec == 0 )
-+    {
-+	Ref_sec = st.tv_sec;	/* take the initial reference point */
-+	Ref_usec = st.tv_usec;
-+	Sleeping_time = ms * 1000;
-+    }
-+
-+    elapsed = (st.tv_sec - Ref_sec) * 1000000 + (st.tv_usec - Ref_usec);
-+    dodelay = Sleeping_time;
-+
-+    if( PLL_filter > 0 && elapsed != 0 )	/* Phase lock loop */
-+    {
-+	dodelay = Expected_time + Sleeping_time - elapsed;
-+
-+	if( dodelay < 0 )
-+	{
-+	    dodelay = 0; PLL_filter--;
-+	}
-+	else
-+	    if( dodelay > 2*Sleeping_time )
-+	    {
-+		dodelay = 2*Sleeping_time; PLL_filter--;
-+	    }
-+	    else
-+		PLL_filter = 3;
-+
-+	if( elapsed > 40*Sleeping_time && Expected_time > 40*Sleeping_time )
-+	{
-+	    elapsed -= 20*Sleeping_time; /* Ref. point shouldn't be far away*/
-+	    Expected_time -= 20*Sleeping_time;
-+	    Ref_usec += 20*Sleeping_time;
-+	    Ref_sec += Ref_usec/1000000; Ref_usec %= 1000000;
-+	}
-+    }
- 
--/*    if ((ms) > ((1000 / 60) + SyncTime))
--        usleep(ms - SyncTime);
--*/
--    if ((ms + accu) > ((1000 / 30) + SyncTime)) 
-+    if( PLL_filter <= 0 && elapsed > 40000 )	/* Frequency lock loop */
-     {
--        usleep(ms +accu - SyncTime);
--        accu = 0;
-+	/* feedback filter */
-+	x = 0.5 + 0.5 * (float)Expected_time / (float)elapsed;
-+
-+	if( x < 0.966 )	/* Acceleration must be strongly limited */
-+	    x = 0.966;
-+
-+	if( x > 2.0 )
-+	    x = 2.0;
-+
-+	Sleeping_time = (long)((float)Sleeping_time * x);
-+
-+	if( Sleeping_time < 500 )
-+	    Sleeping_time = 500;
-+
-+	if( x > 0.99 && x < 1.01 && Sleeping_time > ms*500 )
-+	    PLL_filter = -1 - 4*PLL_filter; /* locked - it's time to try PLL */
-+	else
-+	    PLL_filter = 0;
-+
-+	Ref_sec = st.tv_sec;
-+	Ref_usec = st.tv_usec;
-+	Expected_time = 0;
-+	dodelay = Sleeping_time;
-     }
--    else if (ms > SyncTime)
--       accu += (ms - SyncTime);
-+
-+    kusleep( dodelay );
-+
-+    Expected_time += ms * 1000;
- }
- 
- #if NeedFunctionPrototypes
---- presents.c.orig	Thu Nov 20 03:18:42 1997
-+++ presents.c	Thu Nov 20 03:21:38 1997
-@@ -287,7 +287,7 @@
- 	}
- #endif
- 
--	SetPresentWait(PRESENT_TEXT1, frame + 800);
-+	SetPresentWait(PRESENT_TEXT1, frame + 200);
- }
- 
- #if NeedFunctionPrototypes
-@@ -309,7 +309,7 @@
- 	RenderShape(display, window, justin, justinM,
- 		x, y, 285, 44, True);
- 
--	SetPresentWait(PRESENT_TEXT2, frame + 300);
-+	SetPresentWait(PRESENT_TEXT2, frame + 100);
- }
- 
- #if NeedFunctionPrototypes
-@@ -331,7 +331,7 @@
- 	RenderShape(display, window, kibell, kibellM,
- 		x, y, 260, 40, True);
- 
--	SetPresentWait(PRESENT_TEXT3, frame + 500);
-+	SetPresentWait(PRESENT_TEXT3, frame + 200);
- }
- 
- #if NeedFunctionPrototypes
-@@ -355,7 +355,7 @@
- 	RenderShape(display, window, presents, presentsM,
- 		x, y, 410, 44, True);
- 
--	SetPresentWait(PRESENT_TEXT_CLEAR, frame + 750);
-+	SetPresentWait(PRESENT_TEXT_CLEAR, frame + 250);
- }
- 
- #if NeedFunctionPrototypes
-@@ -375,7 +375,7 @@
- 
- 	FadeAwayArea(display, window, x, y, 410, 44);
- 
--	SetPresentWait(PRESENT_LETTERS, frame + 10);
-+	SetPresentWait(PRESENT_LETTERS, frame + 5);
- }
- 
- /* The distances for the gap inbetwen blocks */
-@@ -404,7 +404,7 @@
- 		DrawLetter(display, window, i, x, y);
- 		x += 10 + dists[i];
- 
--		SetPresentWait(PRESENT_LETTERS, frame + 300);
-+		SetPresentWait(PRESENT_LETTERS, frame + 100);
- 	}
- 	else
- 	{
-@@ -416,7 +416,7 @@
- 		x += dists[3];
- 		DrawLetter(display, window, 3, x, y);
- 
--		SetPresentWait(PRESENT_SHINE, frame + 200);
-+		SetPresentWait(PRESENT_SHINE, frame + 100);
- 	}
- 
- 	i++;
-@@ -463,7 +463,7 @@
-         if (in == 11)
-         {
-             XCopyArea(display, store, window, gc, 0, 0, 20, 20, x, y);
--			SetPresentWait(PRESENT_SPECIAL_TEXT1, frame + 500);
-+			SetPresentWait(PRESENT_SPECIAL_TEXT1, frame + 100);
-         }
-     }
- }
-@@ -499,7 +499,7 @@
- 		len = strlen(wisdom);
- 		x = ((PLAY_WIDTH + MAIN_WIDTH) / 2) - 
- 			(XTextWidth(dataFont, wisdom, len) / 2);
--		nextFrame = frame + 10;
-+		nextFrame = frame + 5;
- 		first = False;
- 	}
- 
-@@ -508,11 +508,11 @@
- 		if (noSound == False) playSoundFile("key", 60);
- 		DrawText(display, window, x, y, dataFont, red, wisdom, i);
- 
--		nextFrame = frame + 30;
-+		nextFrame = frame + 15;
- 
- 		i++;
- 		if (i > len)
--			SetPresentWait(PRESENT_SPECIAL_TEXT2, frame + 700);
-+			SetPresentWait(PRESENT_SPECIAL_TEXT2, frame + 150);
- 	}
- }
- 
-@@ -542,7 +542,7 @@
- 		len = strlen(wisdom2);
- 		x = ((PLAY_WIDTH + MAIN_WIDTH) / 2) - 
- 			(XTextWidth(dataFont, wisdom2, len) / 2);
--		nextFrame = frame + 10;
-+		nextFrame = frame + 5;
- 		first = False;
- 	}
- 
-@@ -551,11 +551,11 @@
- 		if (noSound == False) playSoundFile("key", 60);
- 		DrawText(display, window, x, y, dataFont, red, wisdom2, i);
- 
--		nextFrame = frame + 30;
-+		nextFrame = frame + 15;
- 
- 		i++;
- 		if (i > len)
--			SetPresentWait(PRESENT_SPECIAL_TEXT3, frame + 700);
-+			SetPresentWait(PRESENT_SPECIAL_TEXT3, frame + 150);
- 	}
- }
- 
-@@ -584,7 +584,7 @@
- 		len = strlen(wisdom3);
- 		x = ((PLAY_WIDTH + MAIN_WIDTH) / 2) - 
- 			(XTextWidth(dataFont, wisdom3, len) / 2);
--		nextFrame = frame + 10;
-+		nextFrame = frame + 5;
- 		first = False;
- 	}
- 
-@@ -593,11 +593,11 @@
- 		if (noSound == False) playSoundFile("key", 60);
- 		DrawText(display, window, x, y, dataFont, red, wisdom3, i);
- 
--		nextFrame = frame + 30;
-+		nextFrame = frame + 15;
- 
- 		i++;
- 		if (i > len)
--			SetPresentWait(PRESENT_CLEAR, frame + 800);
-+			SetPresentWait(PRESENT_CLEAR, frame + 200);
- 	}
- }
- 
-@@ -642,7 +642,7 @@
- 		yb -= 10;
- 
- 		if (yt > ((PLAY_HEIGHT + MAIN_HEIGHT) / 2))
--			SetPresentWait(PRESENT_FINISH, frame + 20);
-+			SetPresentWait(PRESENT_FINISH, frame + 10);
- 
- 		nextFrame = frame + 20;
- 	}

Added: head/games/xboing/files/patch-demo.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-demo.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,20 @@
+--- demo.c.orig	1996-11-22 01:28:46 UTC
++++ 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 */
+     if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
+-        sprintf(levelPath, "%s/demo.data", str);
++        snprintf(levelPath, sizeof(levelPath),"%s/demo.data", str);
+     else
+         sprintf(levelPath, "%s/demo.data", LEVEL_INSTALL_DIR);
+ 

Added: head/games/xboing/files/patch-editor.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-editor.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,44 @@
+--- editor.c.orig	1996-11-22 01:28:46 UTC
++++ 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 */
+     if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
+-        sprintf(levelPath, "%s/editor.data", str);
++        snprintf(levelPath,sizeof(levelPath)-1, "%s/editor.data", str);
+     else
+         sprintf(levelPath, "%s/editor.data", LEVEL_INSTALL_DIR);
+ 
+@@ -958,8 +958,8 @@ static void LoadALevel(display)
+     if ((num > 0) && (num <= MAX_NUM_LEVELS))
+     {
+ 	    /* Construct the Edit level filename */
+-   	 	if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
+-        	sprintf(levelPath, "%s/level%02ld.data", str2, (u_long) num);
++ 	if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
++        	snprintf(levelPath, sizeof(levelPath)-1,"%s/level%02ld.data", str2, (u_long) num);
+     	else
+         	sprintf(levelPath, "%s/level%02ld.data", 
+ 				LEVEL_INSTALL_DIR, (u_long) num);
+@@ -1017,9 +1017,9 @@ static void SaveALevel(display)
+     num = atoi(str);
+     if ((num > 0) && (num <= MAX_NUM_LEVELS))
+     {
+-	    /* Construct the Edit level filename */
+-   	 	if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
+-        	sprintf(levelPath, "%s/level%02ld.data", str2, (u_long) num);
++        /* Construct the Edit level filename */
++ 	if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
++        	snprintf(levelPath, sizeof(levelPath)-1,"%s/level%02ld.data", str2, (u_long) num);
+     	else
+         	sprintf(levelPath, "%s/level%02ld.data", 
+ 				LEVEL_INSTALL_DIR, (u_long) num);

Added: head/games/xboing/files/patch-file.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-file.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,47 @@
+--- file.c.orig	1996-11-22 01:28:46 UTC
++++ file.c
+@@ -139,7 +139,7 @@ void SetupStage(display, window)
+ 
+     /* Construct the level filename */
+     if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
+-        sprintf(levelPath, "%s/level%02ld.data", str, newLevel);
++        snprintf(levelPath,sizeof(levelPath), "%s/level%02ld.data", str, newLevel);
+     else
+         sprintf(levelPath, "%s/level%02ld.data", LEVEL_INSTALL_DIR, newLevel);
+ 
+@@ -177,7 +177,7 @@ int LoadSavedGame(display, window)
+     static int bgrnd = 1;
+ 
+ 	/* Save the file in home directory - construct path */
+-	sprintf(levelPath, "%s/.xboing-saveinfo", GetHomeDir());
++	snprintf(levelPath, sizeof(levelPath)-1, "%s/.xboing-saveinfo", GetHomeDir());
+ 
+     /* Open the save file info for reading */
+     if ((saveFile = fopen(levelPath, "r+")) == NULL)
+@@ -239,7 +239,7 @@ int LoadSavedGame(display, window)
+     DisplayLevelInfo(display, levelWindow, level);
+ 
+ 	/* Load the saved file in home directory - construct path */
+-	sprintf(levelPath, "%s/.xboing-savelevel", GetHomeDir());
++	snprintf(levelPath, sizeof(levelPath)-1, "%s/.xboing-savelevel", GetHomeDir());
+ 
+ 	/* Read in the saved level data */
+     if (ReadNextLevel(display, window, levelPath, True) == False)
+@@ -283,7 +283,7 @@ int SaveCurrentGame(display, window)
+ 	saveGame.numBullets	= GetNumberBullets();
+ 
+ 	/* Save the file in home directory - construct path */
+-	sprintf(levelPath, "%s/.xboing-saveinfo", GetHomeDir());
++	snprintf(levelPath, sizeof(levelPath)-1, "%s/.xboing-saveinfo", GetHomeDir());
+ 
+     /* Open the save file info for writing */
+     if ((saveFile = fopen(levelPath, "w+")) == NULL)
+@@ -309,7 +309,7 @@ int SaveCurrentGame(display, window)
+     	WarningMessage("Cannot close save game info file.");
+ 
+ 	/* Save the file in home directory - construct path */
+-	sprintf(levelPath, "%s/.xboing-savelevel", GetHomeDir());
++	snprintf(levelPath, sizeof(levelPath)-1, "%s/.xboing-savelevel", GetHomeDir());
+ 
+ 	if (SaveLevelDataFile(display, levelPath) == True)
+ 	{

Modified: head/games/xboing/files/patch-highscore.c
==============================================================================
--- head/games/xboing/files/patch-highscore.c	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-highscore.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,5 +1,5 @@
---- highscore.c.orig	Thu Nov 20 03:07:35 1997
-+++ highscore.c	Thu Nov 20 03:12:23 1997
+--- highscore.c.orig	1996-11-22 01:28:46 UTC
++++ highscore.c
 @@ -55,6 +55,7 @@
  #include <time.h>
  #include <file.h>
@@ -8,7 +8,7 @@
  #include <X11/Xlib.h>
  #include <X11/Xutil.h>
  #include <X11/Xos.h>
-@@ -119,7 +120,7 @@
+@@ -119,7 +120,7 @@ static void SetHighScoreWait(enum HighScoreStates newM
  static void InitialiseHighScores(void);
  static void SortHighScores(void);
  static void DeleteScore(int i);
@@ -17,7 +17,16 @@
  #else
  static int LockUnlock();
  static void DeleteScore();
-@@ -844,7 +845,7 @@
+@@ -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 */
  	if (type == GLOBAL)
@@ -26,7 +35,7 @@
  
  	/* Read in the lastest scores */
  	if (ReadHighScoreTable(type) == False)
-@@ -875,8 +876,8 @@
+@@ -875,8 +876,8 @@ int CheckAndAddScoreToHighScore(score, level, gameTime
  				{
  					/* Don't add as score is smaller */
  					if (id != -1) 
@@ -37,7 +46,7 @@
  				}
  			}
  		}	/* for */
-@@ -898,16 +899,17 @@
+@@ -898,16 +899,17 @@ int CheckAndAddScoreToHighScore(score, level, gameTime
  
  				/* Unlock the file now thanks */
  				if (id != -1) 
@@ -57,7 +66,25 @@
  
  		/* Not even a highscore - loser! */
  		return False;
-@@ -1185,10 +1187,10 @@
+@@ -1023,7 +1025,7 @@ int ReadHighScoreTable(type)
+ 	{
+ 		/* Use the environment variable if it exists */
+ 		if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
+-			strcpy(filename, str);
++			strncpy(filename, str, sizeof(filename)-1);
+ 		else
+ 			strcpy(filename, HIGH_SCORE_FILE);
+ 	}
+@@ -1095,7 +1097,7 @@ int WriteHighScoreTable(type)
+ 	{
+ 		/* Use the environment variable if it exists */
+ 		if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
+-			strcpy(filename, str);
++			strncpy(filename, str, sizeof(filename)-1);
+ 		else
+ 			strcpy(filename, HIGH_SCORE_FILE);
+ 	}	
+@@ -1185,10 +1187,10 @@ void ResetHighScore(type)
  }
  
  #if NeedFunctionPrototypes
@@ -70,7 +97,15 @@
  #endif
  {
  	static int 	inter = -1;
-@@ -1225,6 +1227,9 @@
+@@ -1218,13 +1220,16 @@ static int LockUnlock(cmd)
+ 
+ 	/* Use the environment variable if it exists */
+ 	if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
+-		strcpy(filename, str);
++		strncpy(filename, str, sizeof(filename)-1);
+ 	else
+ 		strcpy(filename, HIGH_SCORE_FILE);
+ 
  	/* Open the highscore file for both read & write */
  	if (cmd == LOCK_FILE)
  		inter = open(filename, O_CREAT | O_RDWR, 0666);

Modified: head/games/xboing/files/patch-init.c
==============================================================================
--- head/games/xboing/files/patch-init.c	Wed Sep  9 17:56:21 2020	(r548112)
+++ head/games/xboing/files/patch-init.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -1,6 +1,6 @@
---- init.c.orig	1996-11-22 02:28:46.000000000 +0100
-+++ init.c	2014-03-30 18:05:40.000000000 +0200
-@@ -438,7 +438,7 @@
+--- init.c.orig	1996-11-22 01:28:46 UTC
++++ init.c
+@@ -438,7 +438,7 @@ static void HandleDisplayErrors(displayName)
  		WarningMessage("Your X Window system display variable is not set.");
  	else
  	{
@@ -9,7 +9,7 @@
  		WarningMessage(string);
  	}
  }
-@@ -471,10 +471,10 @@
+@@ -471,10 +471,10 @@ static void PrintUsage()
  		"Usage: XBoing [-version] [-usage] [-help] [-sync] ",
  		"[-display <displayName>]\n"); 
      fprintf(stdout, "%s%s\n%s%s\n%s\n",
@@ -22,7 +22,7 @@
  		"              [-nickname <name>] [-noicon]");
  
  	/* Exit now */
-@@ -548,10 +548,11 @@
+@@ -548,10 +548,11 @@ static void PrintHelp()
          "    -scores                 - Print out the current highscores.\n",
          "    -keys                   - Use keys instead of mouse control.\n",
          "    -sound                  - Turn audio ON for game.\n",
@@ -35,7 +35,7 @@
  		"    -nickname <name>        - Use nickname instead of real name.\n",
          "    -noicon                 - Do not create a custom icon.\n",
          "    -display <display>      - Set the display for the game.\n");
-@@ -599,13 +600,13 @@
+@@ -599,13 +600,13 @@ static void InitialiseSettings()
  	syncOn = False;
  	debug = False;
  	grabPointer = False;
@@ -52,7 +52,7 @@
  	noicon 	= False;
  
  	/* So the audio code will use system default */
-@@ -687,6 +688,13 @@
+@@ -687,6 +688,13 @@ static void ParseCommandLine(argv, argc)
  			/* Print out the version information and quit */
  			PrintVersion();
  
@@ -66,17 +66,17 @@
  		} else if (!compareArgument(argv[i], "-sound", 5))
  		{
  			/* Enable the sound in the game */
-@@ -751,6 +759,13 @@
+@@ -750,6 +758,13 @@ static void ParseCommandLine(argv, argc)
+ 			useDefaultColourmap = True;
  
  			DEBUG("Using default colourmap please.")
- 
++
 +		} else if (!compareArgument(argv[i], "-no-usedefcmap", 13))
 +		{
 +			/* Try to use the default colourmap */
 +			useDefaultColourmap = False;
 +
 +			DEBUG("Not using default colourmap.")
-+
+ 
  		} else if (!compareArgument(argv[i], "-speed", 5))
  		{
- 			/* Set the speed for the game */

Added: head/games/xboing/files/patch-inst.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-inst.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,11 @@
+--- inst.c.orig	1996-11-22 01:28:46 UTC
++++ 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)

Added: head/games/xboing/files/patch-intro.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-intro.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,11 @@
+--- intro.c.orig	1996-11-22 01:28:46 UTC
++++ 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)

Added: head/games/xboing/files/patch-keys.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-keys.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,11 @@
+--- keys.c.orig	1996-11-22 01:28:46 UTC
++++ 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;
+ 

Added: head/games/xboing/files/patch-main.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-main.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,11 @@
+--- main.c.orig	1996-11-22 01:28:46 UTC
++++ main.c
+@@ -156,7 +156,7 @@ void SetUserSpeed(delay)
+ 
+ 	/* Set an entire game speedup or slowdown speed */
+ 	temp = (speed / (long) userDelay);
+-	userDelay = delay;
++	userDelay = delay/2 + 3;
+ 	speed = (long) (temp * userDelay);
+ 	speedLevel = 10 - delay;
+ }

Added: head/games/xboing/files/patch-misc.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/xboing/files/patch-misc.c	Wed Sep  9 18:02:22 2020	(r548113)
@@ -0,0 +1,201 @@
+--- misc.c.orig	1996-11-22 01:28:46 UTC
++++ misc.c
+@@ -89,8 +89,8 @@ void usleep(usec)
+ #ifdef SYSV
+ #ifdef __clipper__
+     struct timeval tv;
+-    tv.tv_sec=((usec)/1000);
+-    tv.tv_usec=(((usec)%1000)*1000);
++    tv.tv_sec=((usec)/1000000);
++    tv.tv_usec=((usec)%1000000);
+     select(1,NULL,NULL,NULL,&tv);
+ #else
+     poll((struct poll *) 0, (size_t) 0, usec / 1000);   /* ms resolution */
+@@ -105,6 +105,68 @@ void usleep(usec)
+ #endif
+ 
+ #if NeedFunctionPrototypes
++static	int	kudelay(unsigned long count)
++#else
++static	int	kudelay(count)
++unsigned long count;
++#endif
++{
++    unsigned int	bluff = 1;
++
++    while( count-- != 0 )	/* this can hardly be "optimised out" */
++	bluff = (bluff ^ ((bluff & 1) * 0x6110)) >> 1;
++
++    return( bluff );
++}
++
++#if NeedFunctionPrototypes
++static	void kusleep(unsigned long usec)
++#else
++static	void kusleep(usec)
++        unsigned long usec;
++#endif
++{
++    static float	kuliber_time = 0.0;
++    static float	kuliber_count = 0.0;
++    static unsigned long	kutimerswap = (1000000 / 15);
++    struct timeval	st, et;
++    long		gap;
++    unsigned long	count;
++
++    if( kuliber_time == 0.0 )
++    {
++	count = 0x1000;		/* calibrate delay loop */
++	gettimeofday(&st, NULL);
++
++	while( True )
++	{
++	    kudelay( count );
++	    count = (count << 1);
++	    gettimeofday(&et, NULL);
++	    gap = (((et.tv_sec - st.tv_sec) * 1000000) +
++			(et.tv_usec - st.tv_usec) );
++
++	    if( gap > 400*1000 )
++		break;
++	}
++
++	kuliber_time = (float)(gap/4);
++	kuliber_count = (float)(((count-1)&~0xFFF)>>2);
++    }
++
++    if( usec > kutimerswap )
++    {
++	kutimerswap = (1000000 / 30);
++	usleep( usec );		/* using usleep() for low resolution only */
++    }
++    else
++    {
++	kutimerswap = (1000000 / 15);
++	kudelay( (unsigned long)(kuliber_count*((float)usec/kuliber_time)) );
++    }
++}
++
++#if NeedFunctionPrototypes
+ void sleepSync(Display *display, unsigned long ms)
+ #else
+ void sleepSync(display, ms)
+@@ -112,27 +174,85 @@ void sleepSync(display, ms)
+     unsigned long ms;
+ #endif
+ {
+-    struct timeval st, et;
+-    long SyncTime;
+-    static unsigned long accu;
++    static long		Expected_time = 0;
++    static long		Ref_sec = 0;
++    static long		Ref_usec = 0;
++    static long		Sleeping_time = 0;
++    static int		PLL_filter = 0;
++    struct timeval	st;
++    long		elapsed;
++    long		dodelay;
++    float		x;
+ 
+-    gettimeofday(&st, NULL);
+     XSync(display, False);
+-    gettimeofday(&et, NULL);
+ 
+-    SyncTime = (((et.tv_sec - st.tv_sec) * 1000) +
+-               ((et.tv_usec - st.tv_usec) / 1000) );

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009091802.089I2Msl054249>