Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Apr 2016 15:04:08 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r412353 - in head/games/zhlt: . files
Message-ID:  <201604011504.u31F48fV088702@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Fri Apr  1 15:04:08 2016
New Revision: 412353
URL: https://svnweb.freebsd.org/changeset/ports/412353

Log:
  Try to unbreak on 64-bit architectures by avoiding casting from pointer to
  a smaller type (int) which loses information.  Also, reduce imperativeness
  of the `files/Makefile' while at it.
  
  Reported by:	pkg-fallout

Added:
  head/games/zhlt/files/patch-64bit-fixes   (contents, props changed)
Modified:
  head/games/zhlt/Makefile
  head/games/zhlt/files/Makefile

Modified: head/games/zhlt/Makefile
==============================================================================
--- head/games/zhlt/Makefile	Fri Apr  1 14:36:15 2016	(r412352)
+++ head/games/zhlt/Makefile	Fri Apr  1 15:04:08 2016	(r412353)
@@ -12,7 +12,12 @@ COMMENT=	Zoner's Half-Life compile tools
 
 USES=		dos2unix zip
 DOS2UNIX_FILES=	common/bspfile.h common/cmdlib.cpp common/mathlib.h \
-		common/win32fix.h hlrad/mathutil.cpp
+		common/threads.cpp common/threads.h common/win32fix.h \
+		hlbsp/qbsp.cpp hlcsg/brush.cpp hlcsg/brushunion.cpp \
+		hlcsg/csg.h hlcsg/qcsg.cpp hlrad/lightmap.cpp \
+		hlrad/mathutil.cpp hlrad/qrad.cpp hlrad/qrad.h \
+		hlrad/sparse.cpp hlrad/vismatrix.cpp hlrad/vismatrixutil.cpp \
+		hlvis/flow.cpp hlvis/vis.cpp hlvis/vis.h
 
 MAKEFILE=	${FILESDIR}/Makefile
 NO_WRKSUBDIR=	yes

Modified: head/games/zhlt/files/Makefile
==============================================================================
--- head/games/zhlt/files/Makefile	Fri Apr  1 14:36:15 2016	(r412352)
+++ head/games/zhlt/files/Makefile	Fri Apr  1 15:04:08 2016	(r412353)
@@ -1,7 +1,10 @@
+CXXFLAGS+=	-Wall -Wextra
 CPPFLAGS+=	-DSYSTEM_POSIX -DSTDC_HEADERS -DHAVE_SYS_RESOURCE_H \
 		-DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H \
 		-DHAVE_FCNTL_H -DHAVE_UNISTD_H -DDOUBLEVEC_T
-CXXFLAGS+=	-Wall -Wextra
+.if $(ARCH:M*64)
+CPPFLAGS+=	-DSIZEOF_CHARP=8
+.endif
 
 common_OBJS=	common/blockmem.o \
 		common/bspfile.o \
@@ -16,7 +19,7 @@ common_OBJS=	common/blockmem.o \
 		common/threads.o \
 		common/winding.o
 
-hlbsp_OBJ=	hlbsp/merge.o \
+hlbsp_OBJS=	hlbsp/merge.o \
 		hlbsp/outside.o \
 		hlbsp/portals.o \
 		hlbsp/qbsp.o \
@@ -57,18 +60,17 @@ hlvis_OBJS=	hlvis/flow.o \
 
 ripent_OBJS=	ripent/ripent.o
 
-PROGS=		hlbsp/hlbsp hlcsg/hlcsg hlrad/hlrad hlvis/hlvis ripent/ripent
-
 .cpp.o:
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $< -Icommon -Itemplate
 
-all: $(PROGS)
+all:	# force default goal
+
+.for p in hlbsp hlcsg hlrad hlvis ripent
+PROGS+=		$(p)/$(p)
+$(p)/$(p): $(common_OBJS) $($(p)_OBJS)
+.endfor
 
-hlbsp/hlbsp: $(common_OBJS) $(hlbsp_OBJ)
-hlcsg/hlcsg: $(common_OBJS) $(hlcsg_OBJS)
-hlrad/hlrad: $(common_OBJS) $(hlrad_OBJS)
-hlvis/hlvis: $(common_OBJS) $(hlvis_OBJS)
-ripent/ripent: $(common_OBJS) $(ripent_OBJS)
+all: $(PROGS)
 
 $(PROGS):
 	$(CXX) $(LDFLAGS) -o $@ $> -lpthread

Added: head/games/zhlt/files/patch-64bit-fixes
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/zhlt/files/patch-64bit-fixes	Fri Apr  1 15:04:08 2016	(r412353)
@@ -0,0 +1,322 @@
+--- common/threads.cpp.orig	2016-04-01 13:18:21 UTC
++++ common/threads.cpp
+@@ -180,7 +180,7 @@ q_threadfunction workfunction;
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-static void     ThreadWorkerFunction(int unused)
++static void     ThreadWorkerFunction(intptr_t unused)
+ {
+     int             work;
+ 
+@@ -499,7 +499,7 @@ q_threadfunction q_entry;
+ 
+ static void*    CDECL ThreadEntryStub(void* pParam)
+ {
+-    q_entry((int)pParam);
++    q_entry((intptr_t)pParam);
+     return NULL;
+ }
+ 
+--- common/threads.h.orig	2016-04-01 13:18:21 UTC
++++ common/threads.h
+@@ -15,7 +15,7 @@ typedef enum
+ }
+ q_threadpriority;
+ 
+-typedef void    (*q_threadfunction) (int);
++typedef void    (*q_threadfunction) (intptr_t);
+ 
+ #ifdef SYSTEM_WIN32
+ #define DEFAULT_NUMTHREADS -1
+--- hlbsp/qbsp.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlbsp/qbsp.cpp
+@@ -833,7 +833,7 @@ static surfchain_t* ReadSurfs(FILE* file
+ //  ProcessModelThreaded
+ // time to compl
+ // =====================================================================================
+-void            ProcessModel(int modelnum)
++void            ProcessModel(intptr_t modelnum)
+ {
+     surfchain_t*    surfs;
+     node_t*         nodes;
+--- hlcsg/brush.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlcsg/brush.cpp
+@@ -1075,7 +1075,7 @@ contents_t      CheckBrushContents(const
+ //  CreateBrush
+ //      makes a brush!
+ // =====================================================================================
+-void CreateBrush(const int brushnum)
++void CreateBrush(const intptr_t brushnum)
+ {
+     brush_t*        b;
+     int             contents;
+--- hlcsg/brushunion.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlcsg/brushunion.cpp
+@@ -252,7 +252,7 @@ static bool     isInvalidHull(const brus
+     return false;
+ }
+ 
+-void            CalculateBrushUnions(const int brushnum)
++void            CalculateBrushUnions(const intptr_t brushnum)
+ {
+     int             bn, hull;
+     brush_t*        b1;
+--- hlcsg/csg.h.orig	2016-04-01 13:18:21 UTC
++++ hlcsg/csg.h
+@@ -190,7 +190,7 @@ extern int      TexinfoForBrushTexture(c
+ extern brush_t* Brush_LoadEntity(entity_t* ent, int hullnum);
+ extern contents_t CheckBrushContents(const brush_t* const b);
+ 
+-extern void     CreateBrush(int brushnum);
++extern void     CreateBrush(intptr_t brushnum);
+ 
+ //=============================================================================
+ // csg.c
+@@ -253,7 +253,7 @@ extern void     HandleWadinclude();
+ 
+ //=============================================================================
+ // brushunion.c
+-void            CalculateBrushUnions(int brushnum);
++void            CalculateBrushUnions(intptr_t brushnum);
+  
+ //============================================================================
+ // hullfile.cpp
+--- hlcsg/qcsg.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlcsg/qcsg.cpp
+@@ -546,7 +546,7 @@ static bface_t* CopyFacesToOutside(brush
+ // =====================================================================================
+ //  CSGBrush
+ // =====================================================================================
+-static void     CSGBrush(int brushnum)
++static void     CSGBrush(intptr_t brushnum)
+ {
+     int             hull;
+     brush_t*        b1;
+@@ -1078,7 +1078,7 @@ static void     ProcessModels()
+ // =====================================================================================
+ //  SetModelCenters
+ // =====================================================================================
+-static void     SetModelCenters(int entitynum)
++static void     SetModelCenters(intptr_t entitynum)
+ {
+     int             i;
+     int             last;
+--- hlrad/lightmap.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlrad/lightmap.cpp
+@@ -1786,7 +1786,7 @@ const vec3_t    s_circuscolors[] = {
+ // =====================================================================================
+ //  BuildFacelights
+ // =====================================================================================
+-void            BuildFacelights(const int facenum)
++void            BuildFacelights(const intptr_t facenum)
+ {
+     dface_t*        f;
+     vec3_t          sampled[MAXLIGHTMAPS];
+@@ -2206,7 +2206,7 @@ void            PrecompLightmapOffsets()
+ //  FinalLightFace
+ //      Add the indirect lighting on top of the direct lighting and save into final map format
+ // =====================================================================================
+-void            FinalLightFace(const int facenum)
++void            FinalLightFace(const intptr_t facenum)
+ {
+     int             i, j, k;
+     vec3_t          lb, v;
+--- hlrad/qrad.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlrad/qrad.cpp
+@@ -1506,7 +1506,7 @@ static void     CollectLight()
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-static void     GatherLight(int threadnum)
++static void     GatherLight(intptr_t threadnum)
+ {
+     int             j;
+     patch_t*        patch;
+@@ -1628,7 +1628,7 @@ static void     GatherLight(int threadnu
+ 
+ // RGB Transfer version
+ #ifdef HLRAD_HULLU
+-static void     GatherRGBLight(int threadnum)
++static void     GatherRGBLight(intptr_t threadnum)
+ {
+     int             j;
+     patch_t*        patch;
+--- hlrad/qrad.h.orig	2016-04-01 13:18:21 UTC
++++ hlrad/qrad.h
+@@ -432,9 +432,9 @@ extern float	g_softlight_hack_distance;
+ 
+ extern void     MakeTnodes(dmodel_t* bm);
+ extern void     PairEdges();
+-extern void     BuildFacelights(int facenum);
++extern void     BuildFacelights(intptr_t facenum);
+ extern void     PrecompLightmapOffsets();
+-extern void     FinalLightFace(int facenum);
++extern void     FinalLightFace(intptr_t facenum);
+ extern int      TestLine(const vec3_t start, const vec3_t stop);
+ extern int      TestLine_r(int node, const vec3_t start, const vec3_t stop);
+ extern void     CreateDirectLights();
+@@ -468,12 +468,12 @@ extern bool     readtransfers(const char
+ extern void     writetransfers(const char* const transferfile, long total_patches);
+ 
+ // vismatrixutil.c (shared between vismatrix.c and sparse.c)
+-extern void     SwapTransfers(int patchnum);
+-extern void     MakeScales(int threadnum);
++extern void     SwapTransfers(intptr_t patchnum);
++extern void     MakeScales(intptr_t threadnum);
+ extern void     DumpTransfersMemoryUsage();
+ #ifdef HLRAD_HULLU
+-extern void     SwapRGBTransfers(int patchnum);
+-extern void     MakeRGBScales(int threadnum);
++extern void     SwapRGBTransfers(intptr_t patchnum);
++extern void     MakeRGBScales(intptr_t threadnum);
+ 
+ // transparency.c (transparency array functions - shared between vismatrix.c and sparse.c)
+ extern void	GetTransparency(const unsigned p1, const unsigned p2, vec3_t &trans, unsigned int &next_index);
+--- hlrad/sparse.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlrad/sparse.cpp
+@@ -339,7 +339,7 @@ static void     BuildVisRow(const int pa
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-static void     BuildVisLeafs(int threadnum)
++static void     BuildVisLeafs(intptr_t threadnum)
+ {
+     int             i;
+     int             lface, facenum, facenum2;
+--- hlrad/vismatrix.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlrad/vismatrix.cpp
+@@ -151,7 +151,7 @@ static void     BuildVisRow(const int pa
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-static void     BuildVisLeafs(int threadnum)
++static void     BuildVisLeafs(intptr_t threadnum)
+ {
+     int             i;
+     int             lface, facenum, facenum2;
+--- hlrad/vismatrixutil.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlrad/vismatrixutil.cpp
+@@ -190,7 +190,7 @@ static transfer_index_t* CompressTransfe
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-void            MakeScales(const int threadnum)
++void            MakeScales(const intptr_t threadnum)
+ {
+     int             i;
+     unsigned        j;
+@@ -391,7 +391,7 @@ void            MakeScales(const int thr
+  * they will actually be rather different.
+  * =============
+  */
+-void            SwapTransfers(const int patchnum)
++void            SwapTransfers(const intptr_t patchnum)
+ {
+     patch_t*        patch = &g_patches[patchnum];
+     transfer_index_t* tIndex = patch->tIndex;
+@@ -456,7 +456,7 @@ void            SwapTransfers(const int 
+ #pragma warning(push)
+ #pragma warning(disable: 4100)                             // unreferenced formal parameter
+ #endif
+-void            MakeRGBScales(const int threadnum)
++void            MakeRGBScales(const intptr_t threadnum)
+ {
+     int             i;
+     unsigned        j;
+@@ -678,7 +678,7 @@ void            MakeRGBScales(const int 
+  * they will actually be rather different.
+  * =============
+  */
+-void            SwapRGBTransfers(const int patchnum)
++void            SwapRGBTransfers(const intptr_t patchnum)
+ {
+     patch_t*        		patch	= &g_patches[patchnum];
+     transfer_index_t*		tIndex	= patch->tIndex;
+--- hlvis/flow.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlvis/flow.cpp
+@@ -678,7 +678,7 @@ static void     SimpleFlood(byte* const 
+ // =====================================================================================
+ //  BlockVis
+ // =====================================================================================
+-void			BlockVis(int unused)
++void			BlockVis(intptr_t unused)
+ {
+ 	int i, j, k, l, m;
+ 	portal_t *p;
+@@ -1156,7 +1156,7 @@ static float		CalcSplitsAndDotProducts(p
+ // =====================================================================================
+ //  BasePortalVis
+ // =====================================================================================
+-void            BasePortalVis(int unused)
++void            BasePortalVis(intptr_t unused)
+ {
+     int             i, j, k;
+     portal_t*       tp;
+@@ -1242,7 +1242,7 @@ void            BasePortalVis(int unused
+ // =====================================================================================
+ //  MaxDistVis
+ // =====================================================================================
+-void	MaxDistVis(int unused)
++void	MaxDistVis(intptr_t unused)
+ {
+ 	int i, j, k, m;
+ 	int a, b, c, d;
+--- hlvis/vis.cpp.orig	2016-04-01 13:18:21 UTC
++++ hlvis/vis.cpp
+@@ -213,14 +213,14 @@ static void     PlaneFromWinding(winding
+ static winding_t* NewWinding(const int points)
+ {
+     winding_t*      w;
+-    int             size;
++    intptr_t        size;
+ 
+     if (points > MAX_POINTS_ON_WINDING)
+     {
+         Error("NewWinding: %i points > MAX_POINTS_ON_WINDING", points);
+     }
+ 
+-    size = (int)((winding_t*)0)->points[points];
++    size = (intptr_t)((winding_t*)0)->points[points];
+     w = (winding_t*)calloc(1, size);
+ 
+     return w;
+@@ -463,7 +463,7 @@ void			CompressAll(void)
+ #endif
+ 
+ #ifndef ZHLT_NETVIS
+-static void     LeafThread(int unused)
++static void     LeafThread(intptr_t unused)
+ {
+     portal_t*       p;
+ 
+@@ -483,7 +483,7 @@ static void     LeafThread(int unused)
+ 
+ #ifdef ZHLT_NETVIS
+ 
+-static void     LeafThread(int unused)
++static void     LeafThread(intptr_t unused)
+ {
+     if (g_vismode == VIS_MODE_CLIENT)
+     {
+--- hlvis/vis.h.orig	2016-04-01 13:18:21 UTC
++++ hlvis/vis.h
+@@ -184,14 +184,14 @@ extern volatile int g_vislocalpercent;
+ 
+ extern Zones*          g_Zones;
+ 
+-extern void     BasePortalVis(int threadnum);
++extern void     BasePortalVis(intptr_t threadnum);
+ 
+ 
+ #ifdef HLVIS_MAXDIST // AJM: MVD
+ extern visblocker_t *GetVisBlock(char *name);
+-extern void		BlockVis(int unused);
+-extern void		MaxDistVis(int threadnum);
+-//extern void		PostMaxDistVis(int threadnum);
++extern void		BlockVis(intptr_t unused);
++extern void		MaxDistVis(intptr_t threadnum);
++//extern void		PostMaxDistVis(intptr_t threadnum);
+ #endif
+ 
+ extern void     PortalFlow(portal_t* p);



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