From 832ba0937327c893bfd49f1a738812dae1a995a5 Mon Sep 17 00:00:00 2001 From: havoc Date: Tue, 5 Oct 2004 17:44:16 +0000 Subject: [PATCH] now compiles on x86_64 successfully (still a crash regarding progs strings to fix later) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4597 d7cf8633-e32d-0410-b094-e92efae38249 --- gl_rsurf.c | 4 ++-- makefile | 8 ++++++++ makefile.bsd | 2 ++ makefile.inc | 3 ++- progs.h | 2 +- progsvm.h | 4 ++-- r_shadow.c | 4 ++-- sys_sdl.c | 2 +- vid_sdl.c | 2 ++ 9 files changed, 22 insertions(+), 9 deletions(-) diff --git a/gl_rsurf.c b/gl_rsurf.c index 4fbf788f..a456e57d 100644 --- a/gl_rsurf.c +++ b/gl_rsurf.c @@ -1901,7 +1901,7 @@ void R_DrawCollisionBrush(colbrushf_t *brush) memset(&m, 0, sizeof(m)); m.pointer_vertex = brush->points->v; R_Mesh_State(&m); - i = ((int)brush) / sizeof(colbrushf_t); + i = (int)(((size_t)brush) / sizeof(colbrushf_t)); GL_Color((i & 31) * (1.0f / 32.0f), ((i >> 5) & 31) * (1.0f / 32.0f), ((i >> 10) & 31) * (1.0f / 32.0f), 0.2f); GL_LockArrays(0, brush->numpoints); R_Mesh_Draw(brush->numpoints, brush->numtriangles, brush->elements); @@ -1917,7 +1917,7 @@ void R_Q3BSP_DrawCollisionFace(entity_render_t *ent, q3msurface_t *face) memset(&m, 0, sizeof(m)); m.pointer_vertex = face->data_collisionvertex3f; R_Mesh_State(&m); - i = ((int)face) / sizeof(q3msurface_t); + i = (int)(((size_t)face) / sizeof(q3msurface_t)); GL_Color((i & 31) * (1.0f / 32.0f), ((i >> 5) & 31) * (1.0f / 32.0f), ((i >> 10) & 31) * (1.0f / 32.0f), 0.2f); GL_LockArrays(0, face->num_collisionvertices); R_Mesh_Draw(face->num_collisionvertices, face->num_collisiontriangles, face->data_collisionelement3i); diff --git a/makefile b/makefile index 87de6620..bba5e017 100644 --- a/makefile +++ b/makefile @@ -28,6 +28,14 @@ else endif +DP_MACHINE:=$(shell uname -m) +ifeq ($(DP_MACHINE),x86_64) + UNIX_X11LIBPATH:=-L/usr/X11R6/lib64 +else + UNIX_X11LIBPATH:=-L/usr/X11R6/lib +endif + + # Linux configuration ifeq ($(DP_MAKE_TARGET), linux) OBJ_SOUND=$(OBJ_LINUXSOUND) diff --git a/makefile.bsd b/makefile.bsd index f593d835..04821ddb 100644 --- a/makefile.bsd +++ b/makefile.bsd @@ -10,6 +10,8 @@ DP_MAKE_TARGET=bsd # Command used to delete files CMD_RM=$(CMD_UNIXRM) +# FIXME: should support lib64 based on uname -m output +UNIX_X11LIBPATH=-L/usr/X11R6/lib # BSD configuration .if $(DP_MAKE_TARGET) == "bsd" diff --git a/makefile.inc b/makefile.inc index d0cf6b4b..4443fd0f 100644 --- a/makefile.inc +++ b/makefile.inc @@ -133,7 +133,8 @@ LDFLAGS_RELEASE= OBJ_GLX= builddate.c sys_linux.o vid_glx.o $(OBJ_SOUND) $(OBJ_CD) $(OBJ_COMMON) LDFLAGS_UNIXCOMMON=-lm -LDFLAGS_UNIXCL=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND) +#LDFLAGS_UNIXCL=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND) +LDFLAGS_UNIXCL=$(UNIX_X11LIBPATH) -lX11 -lXext -lXxf86dga -lXxf86vm $(LIB_SOUND) LDFLAGS_UNIXSDL=`sdl-config --libs` EXE_UNIXCL=darkplaces-glx EXE_UNIXSV=darkplaces-dedicated diff --git a/progs.h b/progs.h index 6992e5cb..99cf61fc 100644 --- a/progs.h +++ b/progs.h @@ -227,7 +227,7 @@ void ED_PrintEdicts (void); void ED_PrintNum (int ent); #define PR_GetString(num) (pr_strings + num) -#define PR_SetString(s) ((int) (s) ? (s - pr_strings) : 0) +#define PR_SetString(s) ((s) != NULL ? (int) (s - pr_strings) : 0) #endif diff --git a/progsvm.h b/progsvm.h index d461da31..3e64d430 100644 --- a/progsvm.h +++ b/progsvm.h @@ -388,7 +388,7 @@ prvm_edict_t *PRVM_EDICT_NUM_ERROR(int n, char *filename, int fileline); #define PRVM_EDICT_NUM(n) (((n) >= 0 && (n) < prog->max_edicts) ? prog->edicts + (n) : PRVM_EDICT_NUM_ERROR(n, __FILE__, __LINE__)) //int NUM_FOR_EDICT_ERROR(edict_t *e); -#define PRVM_NUM_FOR_EDICT(e) ((prvm_edict_t *)(e) - prog->edicts) +#define PRVM_NUM_FOR_EDICT(e) ((int)((prvm_edict_t *)(e) - prog->edicts)) //int NUM_FOR_EDICT(edict_t *e); #define PRVM_NEXT_EDICT(e) ((e) + 1) @@ -423,7 +423,7 @@ void PRVM_ED_PrintEdicts_f (void); void PRVM_ED_PrintNum (int ent); #define PRVM_GetString(num) (prog->strings + num) -#define PRVM_SetString(s) ((int) (s) ? (s - prog->strings) : 0) +#define PRVM_SetString(s) ((s) != NULL ? (int) (s - prog->strings) : 0) //============================================================================ diff --git a/r_shadow.c b/r_shadow.c index 1c03ec2c..ad071ac8 100644 --- a/r_shadow.c +++ b/r_shadow.c @@ -2487,8 +2487,8 @@ void R_Shadow_DrawLightSprites(void) lighttextures[i] = pic->tex; } - for (light = r_shadow_worldlightchain;light;light = light->next) - R_MeshQueue_AddTransparent(light->origin, R_Shadow_DrawLightSpriteCallback, light, ((int) light) % 5); + for (i = 0, light = r_shadow_worldlightchain;light;i++, light = light->next) + R_MeshQueue_AddTransparent(light->origin, R_Shadow_DrawLightSpriteCallback, light, i % 5); R_MeshQueue_AddTransparent(r_editlights_cursorlocation, R_Shadow_DrawCursorCallback, NULL, 0); } diff --git a/sys_sdl.c b/sys_sdl.c index 3bdbc7e5..97c2cec1 100644 --- a/sys_sdl.c +++ b/sys_sdl.c @@ -209,7 +209,7 @@ char *Sys_GetClipboardData (void) #endif } -int SDL_main (int argc, char *argv[]) +int main (int argc, const char *argv[]) { double frameoldtime, framenewtime; diff --git a/vid_sdl.c b/vid_sdl.c index b3dcd0c2..86af5128 100644 --- a/vid_sdl.c +++ b/vid_sdl.c @@ -281,10 +281,12 @@ void Sys_SendKeyEvents( void ) break; case SDL_ACTIVEEVENT: if( event.active.state == SDL_APPACTIVE ) + { if( event.active.gain ) vid_hidden = false; else vid_hidden = true; + } break; case SDL_MOUSEBUTTONDOWN: if( event.button.button == SDL_BUTTON_MIDDLE ) -- 2.39.2