From 540e4225cceacaf843a9d4741bfbb11ba19fdd7a Mon Sep 17 00:00:00 2001 From: Svante Signell Date: Sun, 12 May 2013 12:22:20 +0100 Subject: [PATCH 01/17] Add support for the GNU/Hurd architecture [As with GNU/kFreeBSD, it's treated as "Linux": all three use the GNU libc and runtime linker, which is mostly what matters for ioquake3. -smcv] Bug-Debian: http://bugs.debian.org/679330 Reviewed-by: Simon McVittie --- Makefile | 2 +- code/qcommon/q_platform.h | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f7ae1159d5..a86d5e8def 100644 --- a/Makefile +++ b/Makefile @@ -299,7 +299,7 @@ LIB=lib INSTALL=install MKDIR=mkdir -ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu")) +ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) ifeq ($(ARCH),x86_64) LIB=lib64 diff --git a/code/qcommon/q_platform.h b/code/qcommon/q_platform.h index 999dd39aac..9ae85d52de 100644 --- a/code/qcommon/q_platform.h +++ b/code/qcommon/q_platform.h @@ -169,14 +169,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA //================================================================= LINUX === -#if defined(__linux__) || defined(__FreeBSD_kernel__) +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) #include #if defined(__linux__) #define OS_STRING "linux" -#else +#elif defined(__FreeBSD_kernel__) #define OS_STRING "kFreeBSD" +#else +#define OS_STRING "GNU" #endif #define ID_INLINE inline From 61825d8e5f9ad76a2ff03b64b124ee742cfb2593 Mon Sep 17 00:00:00 2001 From: Tim Angus Date: Sun, 28 Jun 2015 18:01:03 +0100 Subject: [PATCH 02/17] Check SDL_GetNumDisplayModes return value for errors --- code/sdl/sdl_glimp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/sdl/sdl_glimp.c b/code/sdl/sdl_glimp.c index 64c7b44bec..7b09e0edde 100644 --- a/code/sdl/sdl_glimp.c +++ b/code/sdl/sdl_glimp.c @@ -130,21 +130,21 @@ static void GLimp_DetectAvailableModes(void) { int i, j; char buf[ MAX_STRING_CHARS ] = { 0 }; - size_t numSDLModes; + int numSDLModes; SDL_Rect *modes; int numModes = 0; int display = SDL_GetWindowDisplayIndex( SDL_window ); + numSDLModes = SDL_GetNumDisplayModes( display ); SDL_DisplayMode windowMode; - if( SDL_GetWindowDisplayMode( SDL_window, &windowMode ) < 0 ) + if( SDL_GetWindowDisplayMode( SDL_window, &windowMode ) < 0 || numSDLModes <= 0 ) { ri.Printf( PRINT_WARNING, "Couldn't get window display mode, no resolutions detected\n" ); return; } - numSDLModes = SDL_GetNumDisplayModes( display ); - modes = SDL_calloc( numSDLModes, sizeof( SDL_Rect ) ); + modes = SDL_calloc( (size_t)numSDLModes, sizeof( SDL_Rect ) ); if ( !modes ) { ri.Error( ERR_FATAL, "Out of memory" ); From da8a74d7349a33d514eb0a556fc351e7f4a8f19b Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 16:29:10 -0500 Subject: [PATCH 03/17] Fix variable declaration for C89 compilers --- code/sdl/sdl_glimp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/sdl/sdl_glimp.c b/code/sdl/sdl_glimp.c index 7b09e0edde..16294a8581 100644 --- a/code/sdl/sdl_glimp.c +++ b/code/sdl/sdl_glimp.c @@ -134,9 +134,9 @@ static void GLimp_DetectAvailableModes(void) SDL_Rect *modes; int numModes = 0; + SDL_DisplayMode windowMode; int display = SDL_GetWindowDisplayIndex( SDL_window ); numSDLModes = SDL_GetNumDisplayModes( display ); - SDL_DisplayMode windowMode; if( SDL_GetWindowDisplayMode( SDL_window, &windowMode ) < 0 || numSDLModes <= 0 ) { From f0c4c185fc48e7f64c1f1ea56f117d4e4d7045a9 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 17:55:25 -0500 Subject: [PATCH 04/17] Remove check for cg_recordSPDemoName.string array address It will always be true. --- code/cgame/cg_servercmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/cgame/cg_servercmds.c b/code/cgame/cg_servercmds.c index cbbed53d81..648353b56b 100644 --- a/code/cgame/cg_servercmds.c +++ b/code/cgame/cg_servercmds.c @@ -480,7 +480,7 @@ static void CG_MapRestart( void ) { #ifdef MISSIONPACK if (cg_singlePlayerActive.integer) { trap_Cvar_Set("ui_matchStartTime", va("%i", cg.time)); - if (cg_recordSPDemo.integer && cg_recordSPDemoName.string && *cg_recordSPDemoName.string) { + if (cg_recordSPDemo.integer && *cg_recordSPDemoName.string) { trap_SendConsoleCommand(va("set g_synchronousclients 1 ; record %s \n", cg_recordSPDemoName.string)); } } From b27e0fbf95ebdc347b375b6c74438f575669dbb1 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 17:55:47 -0500 Subject: [PATCH 05/17] Remove unused function WRITE_1BYTES from cl_avi.c --- code/client/cl_avi.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/code/client/cl_avi.c b/code/client/cl_avi.c index 3b0d7751a3..17fd371f74 100644 --- a/code/client/cl_avi.c +++ b/code/client/cl_avi.c @@ -122,17 +122,6 @@ static ID_INLINE void WRITE_2BYTES( int x ) bufIndex += 2; } -/* -=============== -WRITE_1BYTES -=============== -*/ -static ID_INLINE void WRITE_1BYTES( int x ) -{ - buffer[ bufIndex ] = x; - bufIndex += 1; -} - /* =============== START_CHUNK From 70eb1fa79e226197d68fb58e694f18ab3b24086f Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 18:02:48 -0500 Subject: [PATCH 06/17] Make cinematic times be int like CL_ScaledMilliseconds Cinematic's startTime and lastTime are always set from CL_ScaledMilliseconds which returns int and are converted back and forth to int and unsigned int. This fixes a warning that abs() is used on an unsigned int. --- code/client/cl_cin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/client/cl_cin.c b/code/client/cl_cin.c index d79f3db64d..be4fb1bc40 100644 --- a/code/client/cl_cin.c +++ b/code/client/cl_cin.c @@ -94,8 +94,8 @@ typedef struct { qboolean looping, holdAtEnd, dirty, alterGameState, silent, shader; fileHandle_t iFile; e_status status; - unsigned int startTime; - unsigned int lastTime; + int startTime; + int lastTime; long tfps; long RoQPlayed; long ROQSize; From 1d09a7d5785198a132e4056ced68e19141392ad3 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 18:13:06 -0500 Subject: [PATCH 07/17] Fix abs() being used for long int in l_precomp.c --- code/botlib/l_precomp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/botlib/l_precomp.c b/code/botlib/l_precomp.c index e0438e8957..c0870dbe0e 100644 --- a/code/botlib/l_precomp.c +++ b/code/botlib/l_precomp.c @@ -2445,7 +2445,7 @@ int PC_Directive_eval(source_t *source) token.whitespace_p = source->scriptstack->script_p; token.endwhitespace_p = source->scriptstack->script_p; token.linescrossed = 0; - sprintf(token.string, "%d", abs(value)); + sprintf(token.string, "%ld", labs(value)); token.type = TT_NUMBER; token.subtype = TT_INTEGER|TT_LONG|TT_DECIMAL; PC_UnreadSourceToken(source, &token); @@ -2550,12 +2550,12 @@ int PC_DollarDirective_evalint(source_t *source) token.whitespace_p = source->scriptstack->script_p; token.endwhitespace_p = source->scriptstack->script_p; token.linescrossed = 0; - sprintf(token.string, "%d", abs(value)); + sprintf(token.string, "%ld", labs(value)); token.type = TT_NUMBER; token.subtype = TT_INTEGER|TT_LONG|TT_DECIMAL; #ifdef NUMBERVALUE - token.intvalue = abs(value); + token.intvalue = labs(value); token.floatvalue = token.intvalue; #endif //NUMBERVALUE From 6d62dc36468303594645735d3600f165e4916b10 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sun, 28 Jun 2015 18:24:55 -0500 Subject: [PATCH 08/17] Fix abs() being used for float in cl_input.c --- code/client/cl_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/client/cl_input.c b/code/client/cl_input.c index d35e3c3149..6e19263cb3 100644 --- a/code/client/cl_input.c +++ b/code/client/cl_input.c @@ -604,10 +604,10 @@ usercmd_t CL_CreateCmd( void ) { // draw debug graphs of turning for mouse testing if ( cl_debugMove->integer ) { if ( cl_debugMove->integer == 1 ) { - SCR_DebugGraph( abs(cl.viewangles[YAW] - oldAngles[YAW]) ); + SCR_DebugGraph( fabs(cl.viewangles[YAW] - oldAngles[YAW]) ); } if ( cl_debugMove->integer == 2 ) { - SCR_DebugGraph( abs(cl.viewangles[PITCH] - oldAngles[PITCH]) ); + SCR_DebugGraph( fabs(cl.viewangles[PITCH] - oldAngles[PITCH]) ); } } From ebb69f699cd1392cbe7a865f9f51dbbecdd99b59 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Tue, 30 Jun 2015 14:22:49 -0400 Subject: [PATCH 09/17] Add support for Aarch64 (ARM64) Add support for Aarch64, the 64-bit ARM architecture. --- Makefile | 4 ++++ code/qcommon/q_platform.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 621fc30dfc..47db4bd87a 100644 --- a/Makefile +++ b/Makefile @@ -335,6 +335,10 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu")) else ifeq ($(ARCH),s390x) LIB=lib64 + else + ifeq ($(ARCH),aarch64) + LIB=lib64 + endif endif endif endif diff --git a/code/qcommon/q_platform.h b/code/qcommon/q_platform.h index 999dd39aac..ad606704ee 100644 --- a/code/qcommon/q_platform.h +++ b/code/qcommon/q_platform.h @@ -205,6 +205,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define ARCH_STRING "sparc" #elif defined __arm__ #define ARCH_STRING "arm" +#elif defined __aarch64__ +#define ARCH_STRING "aarch64" #elif defined __cris__ #define ARCH_STRING "cris" #elif defined __hppa__ From 08ac364cd6595b60d32957ad64c577eaedb7723b Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sat, 4 Jul 2015 03:39:39 -0500 Subject: [PATCH 10/17] Fix CG_WaterLevel() checks for waterlevel 2 and 3 CG_WaterLevel() added lerpOrigin to itself instead of adding view height when checking for waterlevel 2 and 3. This did not cause issues because ioq3 only compared the calculated waterlevel to more or equal to 1. --- code/cgame/cg_event.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/code/cgame/cg_event.c b/code/cgame/cg_event.c index ec5f7dcd69..dfde12d1f1 100644 --- a/code/cgame/cg_event.c +++ b/code/cgame/cg_event.c @@ -428,23 +428,28 @@ Returns waterlevel for entity origin int CG_WaterLevel(centity_t *cent) { vec3_t point; int contents, sample1, sample2, anim, waterlevel; + int viewheight; - // get waterlevel, accounting for ducking - waterlevel = 0; - VectorCopy(cent->lerpOrigin, point); - point[2] += MINS_Z + 1; anim = cent->currentState.legsAnim & ~ANIM_TOGGLEBIT; if (anim == LEGS_WALKCR || anim == LEGS_IDLECR) { - point[2] += CROUCH_VIEWHEIGHT; + viewheight = CROUCH_VIEWHEIGHT; } else { - point[2] += DEFAULT_VIEWHEIGHT; + viewheight = DEFAULT_VIEWHEIGHT; } + // + // get waterlevel, accounting for ducking + // + waterlevel = 0; + + point[0] = cent->lerpOrigin[0]; + point[1] = cent->lerpOrigin[1]; + point[2] = cent->lerpOrigin[2] + MINS_Z + 1; contents = CG_PointContents(point, -1); if (contents & MASK_WATER) { - sample2 = point[2] - MINS_Z; + sample2 = viewheight - MINS_Z; sample1 = sample2 / 2; waterlevel = 1; point[2] = cent->lerpOrigin[2] + MINS_Z + sample1; From 386a00fc2b7db166c52bb8af23732d00ef18e676 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sat, 4 Jul 2015 05:40:28 -0500 Subject: [PATCH 11/17] Fix CGame CG_WaterLevel() comparisons My last commit made it so that CGame "waterlevel 1" is feet in water, but before it was erroneously about waist deep in water. The places where it is checked it is suppose to be view position underwater. Change comparisons to use correct value for view position underwater. --- code/cgame/cg_event.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/cgame/cg_event.c b/code/cgame/cg_event.c index dfde12d1f1..131be74217 100644 --- a/code/cgame/cg_event.c +++ b/code/cgame/cg_event.c @@ -494,7 +494,7 @@ void CG_PainEvent( centity_t *cent, int health ) { snd = "*pain100_1.wav"; } // play a gurp sound instead of a normal pain sound - if (CG_WaterLevel(cent) >= 1) { + if (CG_WaterLevel(cent) == 3) { if (rand()&1) { trap_S_StartSound(NULL, cent->currentState.number, CHAN_VOICE, CG_CustomSound(cent->currentState.number, "sound/player/gurp1.wav")); } else { @@ -1169,7 +1169,7 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) { case EV_DEATH3: DEBUGNAME("EV_DEATHx"); - if (CG_WaterLevel(cent) >= 1) { + if (CG_WaterLevel(cent) == 3) { trap_S_StartSound(NULL, es->number, CHAN_VOICE, CG_CustomSound(es->number, "*drown.wav")); } else { trap_S_StartSound(NULL, es->number, CHAN_VOICE, CG_CustomSound(es->number, va("*death%i.wav", event - EV_DEATH1 + 1))); From 5e575ae82e456f4f648f4516f1b71df8f17658cf Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sat, 4 Jul 2015 19:17:58 -0500 Subject: [PATCH 12/17] Apply greyscaling to fog blocks --- code/renderergl1/tr_shader.c | 17 +++++++++++++++++ code/renderergl2/tr_shader.c | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/code/renderergl1/tr_shader.c b/code/renderergl1/tr_shader.c index 525ac3c2b1..c931326fbb 100644 --- a/code/renderergl1/tr_shader.c +++ b/code/renderergl1/tr_shader.c @@ -1568,6 +1568,23 @@ static qboolean ParseShader( char **text ) return qfalse; } + if ( r_greyscale->integer ) + { + float luminance; + + luminance = LUMA( shader.fogParms.color[0], shader.fogParms.color[1], shader.fogParms.color[2] ); + VectorSet( shader.fogParms.color, luminance, luminance, luminance ); + } + else if ( r_greyscale->value ) + { + float luminance; + + luminance = LUMA( shader.fogParms.color[0], shader.fogParms.color[1], shader.fogParms.color[2] ); + shader.fogParms.color[0] = LERP( shader.fogParms.color[0], luminance, r_greyscale->value ); + shader.fogParms.color[1] = LERP( shader.fogParms.color[1], luminance, r_greyscale->value ); + shader.fogParms.color[2] = LERP( shader.fogParms.color[2], luminance, r_greyscale->value ); + } + token = COM_ParseExt( text, qfalse ); if ( !token[0] ) { diff --git a/code/renderergl2/tr_shader.c b/code/renderergl2/tr_shader.c index 8d7ed54058..9bf2ec2013 100644 --- a/code/renderergl2/tr_shader.c +++ b/code/renderergl2/tr_shader.c @@ -1856,6 +1856,23 @@ static qboolean ParseShader( char **text ) return qfalse; } + if ( r_greyscale->integer ) + { + float luminance; + + luminance = LUMA( shader.fogParms.color[0], shader.fogParms.color[1], shader.fogParms.color[2] ); + VectorSet( shader.fogParms.color, luminance, luminance, luminance ); + } + else if ( r_greyscale->value ) + { + float luminance; + + luminance = LUMA( shader.fogParms.color[0], shader.fogParms.color[1], shader.fogParms.color[2] ); + shader.fogParms.color[0] = LERP( shader.fogParms.color[0], luminance, r_greyscale->value ); + shader.fogParms.color[1] = LERP( shader.fogParms.color[1], luminance, r_greyscale->value ); + shader.fogParms.color[2] = LERP( shader.fogParms.color[2], luminance, r_greyscale->value ); + } + token = COM_ParseExt( text, qfalse ); if ( !token[0] ) { From b152cf14239db262fd483c43c49844f76f25636d Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sat, 4 Jul 2015 19:33:28 -0500 Subject: [PATCH 13/17] Don't fog 3D crosshair sprite --- code/renderergl1/tr_main.c | 4 ++++ code/renderergl2/tr_main.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/code/renderergl1/tr_main.c b/code/renderergl1/tr_main.c index 6a2118f169..e33eb952b3 100644 --- a/code/renderergl1/tr_main.c +++ b/code/renderergl1/tr_main.c @@ -1011,6 +1011,10 @@ int R_SpriteFogNum( trRefEntity_t *ent ) { return 0; } + if ( ent->e.renderfx & RF_CROSSHAIR ) { + return 0; + } + for ( i = 1 ; i < tr.world->numfogs ; i++ ) { fog = &tr.world->fogs[i]; for ( j = 0 ; j < 3 ; j++ ) { diff --git a/code/renderergl2/tr_main.c b/code/renderergl2/tr_main.c index a476586d22..6d397c4aad 100644 --- a/code/renderergl2/tr_main.c +++ b/code/renderergl2/tr_main.c @@ -1679,6 +1679,10 @@ int R_SpriteFogNum( trRefEntity_t *ent ) { return 0; } + if ( ent->e.renderfx & RF_CROSSHAIR ) { + return 0; + } + for ( i = 1 ; i < tr.world->numfogs ; i++ ) { fog = &tr.world->fogs[i]; for ( j = 0 ; j < 3 ; j++ ) { From 993b838f2766c49d176793b15d9464a4e51fc9c8 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Sat, 4 Jul 2015 20:42:57 -0500 Subject: [PATCH 14/17] Fix Windows file list extension check Windows' Sys_ListFiles would add files that contain the extension anywhere, not only at the end of the file name. Example: "word.pk3omghacks" use to be loaded as a pk3 file. --- code/sys/sys_win32.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/sys/sys_win32.c b/code/sys/sys_win32.c index 14be13642b..50d1bb4b87 100644 --- a/code/sys/sys_win32.c +++ b/code/sys/sys_win32.c @@ -410,6 +410,7 @@ char **Sys_ListFiles( const char *directory, const char *extension, char *filter intptr_t findhandle; int flag; int i; + int extLen; if (filter) { @@ -443,6 +444,8 @@ char **Sys_ListFiles( const char *directory, const char *extension, char *filter flag = _A_SUBDIR; } + extLen = strlen( extension ); + Com_sprintf( search, sizeof(search), "%s\\*%s", directory, extension ); // search @@ -456,6 +459,14 @@ char **Sys_ListFiles( const char *directory, const char *extension, char *filter do { if ( (!wantsubs && flag ^ ( findinfo.attrib & _A_SUBDIR )) || (wantsubs && findinfo.attrib & _A_SUBDIR) ) { + if (*extension) { + if ( strlen( findinfo.name ) < extLen || + Q_stricmp( + findinfo.name + strlen( findinfo.name ) - extLen, + extension ) ) { + continue; // didn't match + } + } if ( nfiles == MAX_FOUND_FILES - 1 ) { break; } From 2758eebbcced92b605461ed49db9bf4315fd3ec3 Mon Sep 17 00:00:00 2001 From: "Zachary J. Slater" Date: Mon, 6 Jul 2015 17:14:34 -0700 Subject: [PATCH 15/17] server_compile.sh & start_server.sh for Linux ioq3 sysadmins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If your distribution doesn’t include such niceties, these could help a newbie get started with a compiled build of ioquake3 for servers and a short script to get started. --- misc/linux/server_compile.sh | 23 +++++++++++++++++++++++ misc/linux/start_server.sh | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 misc/linux/server_compile.sh create mode 100644 misc/linux/start_server.sh diff --git a/misc/linux/server_compile.sh b/misc/linux/server_compile.sh new file mode 100644 index 0000000000..6b4ae11875 --- /dev/null +++ b/misc/linux/server_compile.sh @@ -0,0 +1,23 @@ +#!/bin/bash +localPATH=`pwd` +export BUILD_CLIENT="0" +export BUILD_SERVER="1" +export USE_CURL="1" +export USE_CODEC_OPUS="1" +export USE_VOIP="1" +export COPYDIR="~/ioquake3" +IOQ3REMOTE="https://github.com/ioquake/ioq3.git" +IOQ3LOCAL="/tmp/ioquake3compile" +JOPTS="-j2" +echo "This process requires you to have the following installed through your distribution: \n make\n git\n and all of the ioquake3 dependencies necessary for an ioquake3 server. \n If you do not have the necessary dependencies this script will bail out. \n Please post a message to http://community.ioquake.org/ asking for help and include whatever error messages you received during the compile phase. \n Please edit this script. Inside you will find a COPYDIR variable you can alter to change where ioquake3 will be installed to." +while true; do + read -p "Are you ready to compile ioquake3 in the $IOQ3LOCAL directory, and have it installed into $COPYDIR?" yn +case $yn in + [Yy]* ) +if [ -x "$(command -v git)" ] && [ -x "$(command -v make)" ] ; then + git clone $IOQ3REMOTE $IOQ3LOCAL && cd $IOQ3LOCAL && make $JOPTS && make copyfiles && cd $localPATH && rm -rf $IOQ3LOCAL +fi ;; + [Nn]* ) exit;; + * ) echo "Please answer yes or no.";; +esac +done \ No newline at end of file diff --git a/misc/linux/start_server.sh b/misc/linux/start_server.sh new file mode 100644 index 0000000000..82d28c03cb --- /dev/null +++ b/misc/linux/start_server.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo "Edit this script to change the path to ioquake3's dedicated server executable and which binary if you aren't on x86_64.\n Set the sv_dlURL setting to a url like http://yoursite.com/ioquake3_path for ioquake3 clients to download extra data" +~/ioquake3/ioq3ded.x86_64 +set dedicated 2 +set sv_allowDownload 1 +set sv_dlURL "" +set com_hunkmegs 64 From e79af0d1a07520b913e14b87efd5356c242439e4 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Mon, 6 Jul 2015 21:24:30 -0500 Subject: [PATCH 16/17] Fix server_compile.sh to exit after completed Also, convert '\n's to real new lines because the literal '\n's were printed. --- misc/linux/server_compile.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/misc/linux/server_compile.sh b/misc/linux/server_compile.sh index 6b4ae11875..ed78be9256 100644 --- a/misc/linux/server_compile.sh +++ b/misc/linux/server_compile.sh @@ -9,15 +9,22 @@ export COPYDIR="~/ioquake3" IOQ3REMOTE="https://github.com/ioquake/ioq3.git" IOQ3LOCAL="/tmp/ioquake3compile" JOPTS="-j2" -echo "This process requires you to have the following installed through your distribution: \n make\n git\n and all of the ioquake3 dependencies necessary for an ioquake3 server. \n If you do not have the necessary dependencies this script will bail out. \n Please post a message to http://community.ioquake.org/ asking for help and include whatever error messages you received during the compile phase. \n Please edit this script. Inside you will find a COPYDIR variable you can alter to change where ioquake3 will be installed to." +echo "This process requires you to have the following installed through your distribution: + make + git + and all of the ioquake3 dependencies necessary for an ioquake3 server. + If you do not have the necessary dependencies this script will bail out. + Please post a message to http://community.ioquake.org/ asking for help and include whatever error messages you received during the compile phase. + Please edit this script. Inside you will find a COPYDIR variable you can alter to change where ioquake3 will be installed to." while true; do - read -p "Are you ready to compile ioquake3 in the $IOQ3LOCAL directory, and have it installed into $COPYDIR?" yn + read -p "Are you ready to compile ioquake3 in the $IOQ3LOCAL directory, and have it installed into $COPYDIR? " yn case $yn in [Yy]* ) if [ -x "$(command -v git)" ] && [ -x "$(command -v make)" ] ; then git clone $IOQ3REMOTE $IOQ3LOCAL && cd $IOQ3LOCAL && make $JOPTS && make copyfiles && cd $localPATH && rm -rf $IOQ3LOCAL -fi ;; +fi + exit;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac -done \ No newline at end of file +done From 5768e2316afb8c0dc49132c57800987b4b82fc31 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Thu, 9 Jul 2015 18:32:25 -0500 Subject: [PATCH 17/17] Remove unused fpucw from snapvector.asm It's usage was removed in commit 8a500d71. --- code/asm/snapvector.asm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/asm/snapvector.asm b/code/asm/snapvector.asm index 2836d4a80c..59949f0f80 100644 --- a/code/asm/snapvector.asm +++ b/code/asm/snapvector.asm @@ -36,10 +36,6 @@ ENDIF ssemask DWORD 0FFFFFFFFh, 0FFFFFFFFh, 0FFFFFFFFh, 00000000h ssecw DWORD 00001F80h -IFNDEF idx64 - fpucw WORD 037Fh -ENDIF - .code IFDEF idx64