https://src.fedoraproject.org/rpms/foobillard/blob/f41/f/pointer-types.patch

--- a/src/billard3d.c	2004-04-23 20:20:49.000000000 -0500
+++ b/src/billard3d.c	2024-02-05 15:51:12.482203297 -0600
@@ -5100,7 +5100,7 @@
 
 #if __BYTE_ORDER == __BIG_ENDIAN
        {
-          char *snd=ball_ball_snd.data;
+          char *snd=(char *)ball_ball_snd.data;
           for(i=0;i<ball_ball_snd.len;i+=2)
           {
              char t=snd[i];
--- a/src/font.c	2003-08-01 17:16:02.000000000 -0500
+++ b/src/font.c	2024-02-05 16:01:02.310962392 -0600
@@ -436,14 +436,14 @@
         struct TessData * tessdata = new_tessdata();
 
         gluTessNormal(tessdata->tobj, 0.0, 0.0, -1.0 );
-        gluTessCallback(tessdata->tobj, GLU_TESS_BEGIN, glBegin);
-        gluTessCallback(tessdata->tobj, GLU_TESS_VERTEX, my_Vertex_cb);
+        gluTessCallback(tessdata->tobj, GLU_TESS_BEGIN, (_GLUfuncptr)glBegin);
+        gluTessCallback(tessdata->tobj, GLU_TESS_VERTEX, (_GLUfuncptr)my_Vertex_cb);
         gluTessCallback(tessdata->tobj, GLU_TESS_END, glEnd);
 
-        funcs.move_to  = cb_tess_move_to;
-        funcs.line_to  = cb_tess_line_to;
-        funcs.conic_to = cb_tess_conic_to;
-        funcs.cubic_to = cb_tess_cubic_to;
+        funcs.move_to  = (FT_Outline_MoveToFunc)cb_tess_move_to;
+        funcs.line_to  = (FT_Outline_LineToFunc)cb_tess_line_to;
+        funcs.conic_to = (FT_Outline_ConicToFunc)cb_tess_conic_to;
+        funcs.cubic_to = (FT_Outline_CubicToFunc)cb_tess_cubic_to;
         funcs.shift    = 0;
         funcs.delta    = 0;
         gluTessBeginPolygon(tessdata->tobj, NULL);