mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 09:49:18 -04:00
Enhaced OpenGL only Quake II engine.
WWW: http://egl.quakedev.com/ Approved by: garga (mentor, implicitly)
This commit is contained in:
parent
42522c183f
commit
9f2d15ac29
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=163386
22 changed files with 1179 additions and 0 deletions
|
@ -148,6 +148,7 @@
|
||||||
SUBDIR += easysok
|
SUBDIR += easysok
|
||||||
SUBDIR += eboard
|
SUBDIR += eboard
|
||||||
SUBDIR += editss
|
SUBDIR += editss
|
||||||
|
SUBDIR += egl
|
||||||
SUBDIR += egoboo
|
SUBDIR += egoboo
|
||||||
SUBDIR += eif
|
SUBDIR += eif
|
||||||
SUBDIR += eights
|
SUBDIR += eights
|
||||||
|
|
63
games/egl/Makefile
Normal file
63
games/egl/Makefile
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# New ports collection makefile for: egl
|
||||||
|
# Date created: 20 May 2006
|
||||||
|
# Whom: alepulver
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
PORTNAME= egl
|
||||||
|
PORTVERSION= 0.2.5
|
||||||
|
CATEGORIES= games
|
||||||
|
MASTER_SITES= http://egl.quakedev.com/files/:src \
|
||||||
|
ftp://ftp.alepulver.com.ar/ports/egl/:data
|
||||||
|
DISTNAME= ${PORTNAME}-v${PORTVERSION}-src
|
||||||
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src \
|
||||||
|
egl.pkz:data
|
||||||
|
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
||||||
|
|
||||||
|
MAINTAINER= alepulver@FreeBSD.org
|
||||||
|
COMMENT= Enhaced OpenGL only Quake II engine
|
||||||
|
|
||||||
|
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
|
||||||
|
png.5:${PORTSDIR}/graphics/png
|
||||||
|
|
||||||
|
USE_ZIP= yes
|
||||||
|
USE_DOS2UNIX= yes
|
||||||
|
USE_GL= yes
|
||||||
|
USE_GMAKE= yes
|
||||||
|
NO_WRKSUBDIR= yes
|
||||||
|
|
||||||
|
OPTIONS= DEDICATED "Build dedicated server" on \
|
||||||
|
OPTIMIZED_CFLAGS "Enable compilation optimizations" on
|
||||||
|
|
||||||
|
MAKEFILE= makefile
|
||||||
|
|
||||||
|
MAKE_ENV= LIBDIR="${LIBDIR}" PTHREAD_LIBS="${PTHREAD_LIBS}"
|
||||||
|
PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
|
||||||
|
LIBDIR= ${PREFIX}/lib/${PORTNAME}
|
||||||
|
|
||||||
|
.include "${.CURDIR}/../quake2-data/Makefile.include"
|
||||||
|
|
||||||
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
|
.if !defined(WITHOUT_DEDICATED)
|
||||||
|
PLIST_SUB+= DEDICATED=""
|
||||||
|
.else
|
||||||
|
MAKE_ENV+= BUILD_DEDICATED=NO
|
||||||
|
PLIST_SUB+= DEDICATED="@comment "
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if defined(WITHOUT_OPTIMIZED_CFLAGS)
|
||||||
|
MAKE_ENV+= WITH_OPT_CFLAGS=NO
|
||||||
|
.endif
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/release/egl ${PREFIX}/bin
|
||||||
|
.if !defined(WITHOUT_DEDICATED)
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/release/eglded ${PREFIX}/bin
|
||||||
|
.endif
|
||||||
|
${MKDIR} ${LIBDIR}/baseq2
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/release/baseq2/*.so ${LIBDIR}/baseq2
|
||||||
|
${INSTALL_DATA} ${DISTDIR}/egl.pkz ${LIBDIR}/baseq2
|
||||||
|
|
||||||
|
.include <bsd.port.post.mk>
|
6
games/egl/distinfo
Normal file
6
games/egl/distinfo
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
MD5 (egl-v0.2.5-src.zip) = 1026746d24837d585015458c38775d46
|
||||||
|
SHA256 (egl-v0.2.5-src.zip) = 3ee9a001cb27b24971221203cc852d5eed8942f70861c0407ca78d5701881c1c
|
||||||
|
SIZE (egl-v0.2.5-src.zip) = 2128931
|
||||||
|
MD5 (egl.pkz) = 491e4c7c784a29c806e0dfd038eb3ddc
|
||||||
|
SHA256 (egl.pkz) = 4b925b38243508aba0c2ecd2a7f9b89ae29e4bfe0c15658295f8313d123341b7
|
||||||
|
SIZE (egl.pkz) = 9299043
|
78
games/egl/files/patch-cgame__menu__m_opts_sound.c
Normal file
78
games/egl/files/patch-cgame__menu__m_opts_sound.c
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
--- ./cgame/menu/m_opts_sound.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./cgame/menu/m_opts_sound.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -60,7 +60,7 @@
|
||||||
|
uiList_t cdtoggle_toggle;
|
||||||
|
|
||||||
|
// openal
|
||||||
|
-/* uiAction_t al_header;
|
||||||
|
+ uiAction_t al_header;
|
||||||
|
|
||||||
|
uiSlider_t dopplerfactor_slider;
|
||||||
|
uiAction_t dopplerfactor_amount;
|
||||||
|
@@ -69,7 +69,7 @@
|
||||||
|
|
||||||
|
uiList_t al_extensions_toggle;
|
||||||
|
uiList_t al_ext_eax_toggle;
|
||||||
|
-*/
|
||||||
|
+
|
||||||
|
// software
|
||||||
|
uiAction_t sw_header;
|
||||||
|
uiList_t sw_quality_list;
|
||||||
|
@@ -94,14 +94,14 @@
|
||||||
|
|
||||||
|
static void ALDopFactorFunc (void *unused)
|
||||||
|
{
|
||||||
|
-// cgi.Cvar_SetValue ("al_dopplerfactor", m_soundMenu.dopplerfactor_slider.curValue * 0.1, qFalse);
|
||||||
|
-// m_soundMenu.dopplerfactor_amount.generic.name = cgi.Cvar_GetStringValue ("al_dopplerfactor");
|
||||||
|
+ cgi.Cvar_SetValue ("al_dopplerfactor", m_soundMenu.dopplerfactor_slider.curValue * 0.1, qFalse);
|
||||||
|
+ m_soundMenu.dopplerfactor_amount.generic.name = cgi.Cvar_GetStringValue ("al_dopplerfactor");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ALDopVelocityFunc (void *unused)
|
||||||
|
{
|
||||||
|
-// cgi.Cvar_SetValue ("al_dopplervelocity", m_soundMenu.dopplervelocity_slider.curValue * 100, qFalse);
|
||||||
|
-// m_soundMenu.dopplervelocity_amount.generic.name = cgi.Cvar_GetStringValue ("al_dopplervelocity");
|
||||||
|
+ cgi.Cvar_SetValue ("al_dopplervelocity", m_soundMenu.dopplervelocity_slider.curValue * 100, qFalse);
|
||||||
|
+ m_soundMenu.dopplervelocity_amount.generic.name = cgi.Cvar_GetStringValue ("al_dopplervelocity");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ALExtensionsFunc (void *unused)
|
||||||
|
@@ -152,8 +152,7 @@
|
||||||
|
*/
|
||||||
|
static void SoundMenu_SetValues (void)
|
||||||
|
{
|
||||||
|
-// cgi.Cvar_SetValue ("s_initSound", clamp (cgi.Cvar_GetIntegerValue ("s_initSound"), 0, 2), qTrue);
|
||||||
|
- cgi.Cvar_SetValue ("s_initSound", clamp (cgi.Cvar_GetIntegerValue ("s_initSound"), 0, 1), qTrue);
|
||||||
|
+ cgi.Cvar_SetValue ("s_initSound", clamp (cgi.Cvar_GetIntegerValue ("s_initSound"), 0, 2), qTrue);
|
||||||
|
m_soundMenu.sound_toggle.curValue = cgi.Cvar_GetIntegerValue ("s_initSound");
|
||||||
|
|
||||||
|
m_soundMenu.sfxvolume_slider.curValue = cgi.Cvar_GetFloatValue ("s_volume") * 20;
|
||||||
|
@@ -207,8 +206,8 @@
|
||||||
|
|
||||||
|
static char *soundinit_items[] = {
|
||||||
|
"off",
|
||||||
|
- "on",
|
||||||
|
-// "OpenAL [ EXPERIMENTAL ]",
|
||||||
|
+ "OSS",
|
||||||
|
+ "OpenAL [UNSTABLE]",
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -256,7 +255,7 @@
|
||||||
|
m_soundMenu.cdtoggle_toggle.generic.statusBar = "Toggle CD Play";
|
||||||
|
|
||||||
|
// openal
|
||||||
|
-/* m_soundMenu.al_header.generic.type = UITYPE_ACTION;
|
||||||
|
+ m_soundMenu.al_header.generic.type = UITYPE_ACTION;
|
||||||
|
m_soundMenu.al_header.generic.flags = UIF_NOSELECT|UIF_CENTERED|UIF_MEDIUM|UIF_SHADOW;
|
||||||
|
m_soundMenu.al_header.generic.name = "OpenAL Sound Settings";
|
||||||
|
|
||||||
|
@@ -289,7 +288,7 @@
|
||||||
|
m_soundMenu.al_ext_eax_toggle.generic.callBack = ALExtEAXFunc;
|
||||||
|
m_soundMenu.al_ext_eax_toggle.itemNames = soundinit_items;
|
||||||
|
m_soundMenu.al_ext_eax_toggle.generic.statusBar = "Toggle the OpenAL extension EAX 2.0";
|
||||||
|
-*/
|
||||||
|
+
|
||||||
|
// software
|
||||||
|
m_soundMenu.sw_header.generic.type = UITYPE_ACTION;
|
||||||
|
m_soundMenu.sw_header.generic.flags = UIF_NOSELECT|UIF_CENTERED|UIF_MEDIUM|UIF_SHADOW;
|
129
games/egl/files/patch-client__snd_main.c
Normal file
129
games/egl/files/patch-client__snd_main.c
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
--- ./client/snd_main.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./client/snd_main.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -25,7 +25,8 @@
|
||||||
|
#include "snd_local.h"
|
||||||
|
|
||||||
|
qBool snd_isActive = qTrue;
|
||||||
|
-qBool snd_isInitialized;
|
||||||
|
+qBool snd_isFirstInit = qTrue;
|
||||||
|
+qBool snd_isInitialized = qFalse;
|
||||||
|
qBool snd_isDMA;
|
||||||
|
qBool snd_isAL;
|
||||||
|
|
||||||
|
@@ -870,7 +871,7 @@
|
||||||
|
int initTime;
|
||||||
|
|
||||||
|
if (snd_isInitialized)
|
||||||
|
- Snd_Shutdown ();
|
||||||
|
+ return;
|
||||||
|
|
||||||
|
Com_Printf (0, "\n--------- Sound Initialization ---------\n");
|
||||||
|
|
||||||
|
@@ -892,27 +893,44 @@
|
||||||
|
s_testsound = Cvar_Register ("s_testsound", "0", 0);
|
||||||
|
s_primary = Cvar_Register ("s_primary", "0", CVAR_ARCHIVE|CVAR_LATCH_AUDIO); // win32 specific
|
||||||
|
|
||||||
|
- al_allowExtensions = Cvar_Register ("al_allowExtensions", "1", CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
- al_device = Cvar_Register ("al_device", "", CVAR_ARCHIVE);
|
||||||
|
- al_dopplerFactor = Cvar_Register ("al_dopplerFactor", "1", CVAR_ARCHIVE);
|
||||||
|
- al_dopplerVelocity = Cvar_Register ("al_dopplerVelocity", "16384", CVAR_ARCHIVE);
|
||||||
|
- al_driver = Cvar_Register ("al_driver", AL_DRIVERNAME, CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
- al_errorCheck = Cvar_Register ("al_errorCheck", "1", CVAR_ARCHIVE);
|
||||||
|
- al_ext_eax2 = Cvar_Register ("al_ext_eax2", "1", CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
- al_gain = Cvar_Register ("al_gain", "5", CVAR_ARCHIVE);
|
||||||
|
- al_minDistance = Cvar_Register ("al_minDistance", "100", CVAR_ARCHIVE);
|
||||||
|
- al_maxDistance = Cvar_Register ("al_maxDistance", "8192", CVAR_ARCHIVE);
|
||||||
|
- al_rollOffFactor = Cvar_Register ("al_rollOffFactor", "0.8", CVAR_ARCHIVE);
|
||||||
|
+ if (s_initSound->integer == 2) {
|
||||||
|
+ al_allowExtensions = Cvar_Register ("al_allowExtensions", "1", CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
+ al_device = Cvar_Register ("al_device", "", CVAR_ARCHIVE);
|
||||||
|
+ al_dopplerFactor = Cvar_Register ("al_dopplerFactor", "1", CVAR_ARCHIVE);
|
||||||
|
+ al_dopplerVelocity = Cvar_Register ("al_dopplerVelocity", "16384", CVAR_ARCHIVE);
|
||||||
|
+ al_driver = Cvar_Register ("al_driver", AL_DRIVERNAME, CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
+ al_errorCheck = Cvar_Register ("al_errorCheck", "1", CVAR_ARCHIVE);
|
||||||
|
+ al_ext_eax2 = Cvar_Register ("al_ext_eax2", "1", CVAR_ARCHIVE|CVAR_LATCH_AUDIO);
|
||||||
|
+ al_gain = Cvar_Register ("al_gain", "5", CVAR_ARCHIVE);
|
||||||
|
+ al_minDistance = Cvar_Register ("al_minDistance", "100", CVAR_ARCHIVE);
|
||||||
|
+ al_maxDistance = Cvar_Register ("al_maxDistance", "8192", CVAR_ARCHIVE);
|
||||||
|
+ al_rollOffFactor = Cvar_Register ("al_rollOffFactor", "0.8", CVAR_ARCHIVE);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * We need to keep the snd_restart command even if the sound subsystem
|
||||||
|
+ * is not started, because there has to be a way to start it.
|
||||||
|
+ */
|
||||||
|
+ if (snd_isFirstInit) {
|
||||||
|
+ cmd_snd_restart = Cmd_AddCommand ("snd_restart", Snd_Restart_f, "Restarts the audio subsystem");
|
||||||
|
+ snd_isFirstInit = qFalse;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- cmd_snd_restart = Cmd_AddCommand ("snd_restart", Snd_Restart_f, "Restarts the audio subsystem");
|
||||||
|
cmd_play = Cmd_AddCommand ("play", Snd_Play_f, "Plays a sound");
|
||||||
|
cmd_stopSound = Cmd_AddCommand ("stopsound", Snd_StopAllSounds, "Stops all currently playing sounds");
|
||||||
|
cmd_soundList = Cmd_AddCommand ("soundlist", Snd_SoundList_f, "Prints out a list of loaded sound files");
|
||||||
|
cmd_soundInfo = Cmd_AddCommand ("soundinfo", Snd_SoundInfo_f, "Prints out information on sound subsystem");
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * Make Snd_Shutdown() abort the startup if necessary (it quits when
|
||||||
|
+ * the subsystem is not initialized, so make it think the opposite).
|
||||||
|
+ */
|
||||||
|
+ snd_isInitialized = qTrue;
|
||||||
|
+
|
||||||
|
if (!s_initSound->value) {
|
||||||
|
Com_Printf (0, "...not initializing\n");
|
||||||
|
Com_Printf (0, "----------------------------------------\n");
|
||||||
|
+ Snd_Shutdown();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -927,13 +945,13 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!snd_isAL) {
|
||||||
|
- if (!DMASnd_Init())
|
||||||
|
+ if (!DMASnd_Init()) {
|
||||||
|
+ Snd_Shutdown();
|
||||||
|
return;
|
||||||
|
+ }
|
||||||
|
snd_isDMA = qTrue;
|
||||||
|
}
|
||||||
|
|
||||||
|
- snd_isInitialized = qTrue;
|
||||||
|
-
|
||||||
|
Snd_StopAllSounds ();
|
||||||
|
|
||||||
|
Com_Printf (0, "----------------------------------------\n");
|
||||||
|
@@ -955,18 +973,19 @@
|
||||||
|
{
|
||||||
|
int size;
|
||||||
|
|
||||||
|
- Cmd_RemoveCommand ("snd_restart", cmd_snd_restart);
|
||||||
|
+ if (!snd_isInitialized)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
Cmd_RemoveCommand ("play", cmd_play);
|
||||||
|
Cmd_RemoveCommand ("stopsound", cmd_stopSound);
|
||||||
|
Cmd_RemoveCommand ("soundlist", cmd_soundList);
|
||||||
|
Cmd_RemoveCommand ("soundinfo", cmd_soundInfo);
|
||||||
|
|
||||||
|
- if (!snd_isInitialized)
|
||||||
|
- return;
|
||||||
|
- snd_isInitialized = qFalse;
|
||||||
|
-
|
||||||
|
Com_Printf (0, "\n------------ Sound Shutdown ------------\n");
|
||||||
|
|
||||||
|
+ // Stop all sounds
|
||||||
|
+ Snd_StopAllSounds();
|
||||||
|
+
|
||||||
|
// Free all sounds
|
||||||
|
Snd_FreeSounds ();
|
||||||
|
|
||||||
|
@@ -984,6 +1003,8 @@
|
||||||
|
ALSnd_Shutdown ();
|
||||||
|
snd_isAL = qFalse;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ snd_isInitialized = qFalse;
|
||||||
|
|
||||||
|
Com_Printf (0, "----------------------------------------\n");
|
||||||
|
}
|
11
games/egl/files/patch-client__snd_openal.c
Normal file
11
games/egl/files/patch-client__snd_openal.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./client/snd_openal.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./client/snd_openal.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -40,7 +40,7 @@
|
||||||
|
# define AL_FREELIB(a) FreeLibrary (a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(__linux__) || defined(__FreeBSD__)
|
||||||
|
+#ifdef __unix__
|
||||||
|
# include <dlfcn.h>
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <sys/types.h>
|
10
games/egl/files/patch-common__common.c
Normal file
10
games/egl/files/patch-common__common.c
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- ./common/common.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./common/common.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -645,6 +645,7 @@
|
||||||
|
Com_InitArgv (argc, argv);
|
||||||
|
|
||||||
|
Cmd_Init ();
|
||||||
|
+ Swap_Init ();
|
||||||
|
Cbuf_Init ();
|
||||||
|
Alias_Init ();
|
||||||
|
Cvar_Init ();
|
75
games/egl/files/patch-common__files.c
Normal file
75
games/egl/files/patch-common__files.c
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
--- ./common/files.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./common/files.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -1169,6 +1169,23 @@
|
||||||
|
return BASE_MODDIRNAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef HOMEDIR
|
||||||
|
+/*
|
||||||
|
+ * FS_AddHomeAsGameDirectory
|
||||||
|
+ * Add a game directory in "~/.egl". It can be used to set the last path, so
|
||||||
|
+ * it will be used for writting.
|
||||||
|
+ */
|
||||||
|
+void FS_AddHomeAsGameDirectory(char *dir)
|
||||||
|
+{
|
||||||
|
+ char gdir[MAX_OSPATH]; /* Game directory. */
|
||||||
|
+ char *homedir; /* Home directory. */
|
||||||
|
+
|
||||||
|
+ if ((homedir = getenv("HOME")) != NULL) {
|
||||||
|
+ Q_snprintfz(gdir, sizeof(gdir), "%s/.egl/%s", homedir, dir);
|
||||||
|
+ FS_AddGameDirectory(gdir, dir);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
================
|
||||||
|
@@ -1220,10 +1237,17 @@
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Cvar_VariableSet (fs_gamedircvar, dir, qTrue);
|
||||||
|
+#ifdef __FreeBSD__
|
||||||
|
+ FS_AddGameDirectory (Q_VarArgs ("%s/%s", DATADIR, dir), dir);
|
||||||
|
+ FS_AddGameDirectory (Q_VarArgs ("%s/%s", LIBDIR, dir), dir);
|
||||||
|
+#endif
|
||||||
|
if (fs_cddir->string[0])
|
||||||
|
FS_AddGameDirectory (Q_VarArgs ("%s/%s", fs_cddir->string, dir), dir);
|
||||||
|
|
||||||
|
FS_AddGameDirectory (Q_VarArgs ("%s/%s", fs_basedir->string, dir), dir);
|
||||||
|
+#ifdef HOMEDIR
|
||||||
|
+ FS_AddHomeAsGameDirectory(dir);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!firstTime) {
|
||||||
|
@@ -1573,16 +1597,30 @@
|
||||||
|
fs_defaultPaks = Cvar_Register ("fs_defaultPaks", "1", CVAR_ARCHIVE);
|
||||||
|
|
||||||
|
// Load pak files
|
||||||
|
+#ifdef __FreeBSD__
|
||||||
|
+ FS_AddGameDirectory (Q_VarArgs ("%s/"BASE_MODDIRNAME, DATADIR), BASE_MODDIRNAME);
|
||||||
|
+ FS_AddGameDirectory (Q_VarArgs ("%s/"BASE_MODDIRNAME, LIBDIR), BASE_MODDIRNAME);
|
||||||
|
+#endif
|
||||||
|
if (fs_cddir->string[0])
|
||||||
|
FS_AddGameDirectory (Q_VarArgs ("%s/"BASE_MODDIRNAME, fs_cddir->string), BASE_MODDIRNAME);
|
||||||
|
|
||||||
|
FS_AddGameDirectory (Q_VarArgs ("%s/"BASE_MODDIRNAME, fs_basedir->string), BASE_MODDIRNAME);
|
||||||
|
+#ifdef HOMEDIR
|
||||||
|
+ FS_AddHomeAsGameDirectory(BASE_MODDIRNAME);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Any set gamedirs will be freed up to here
|
||||||
|
fs_baseSearchPath = fs_searchPaths;
|
||||||
|
|
||||||
|
if (fs_game->string[0])
|
||||||
|
FS_SetGamedir (fs_game->string, qTrue);
|
||||||
|
+
|
||||||
|
+#ifdef HOMEDIR
|
||||||
|
+ /* Create the writable directory if doesn't exist ("~/.egl"). */
|
||||||
|
+ FS_CreatePath(fs_gameDir);
|
||||||
|
+ Sys_Mkdir(fs_gameDir);
|
||||||
|
+ Com_Printf(0, "Using '%s' for writing.\n", fs_gameDir);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Check memory integrity
|
||||||
|
Mem_CheckPoolIntegrity (MEMPOOL_FILESYS);
|
11
games/egl/files/patch-include__zlibpng__zconf.h
Normal file
11
games/egl/files/patch-include__zlibpng__zconf.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./include/zlibpng/zconf.h.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./include/zlibpng/zconf.h Tue May 23 20:06:00 2006
|
||||||
|
@@ -254,7 +254,7 @@
|
||||||
|
#if !defined(__MACTYPES__)
|
||||||
|
typedef unsigned char Byte; /* 8 bits */
|
||||||
|
#endif
|
||||||
|
-#if !defined(__linux__) && !defined(__FreeBSD__)
|
||||||
|
+#ifndef __unix__
|
||||||
|
typedef unsigned int uInt; /* 16 bits or more */
|
||||||
|
typedef unsigned long uLong; /* 32 bits or more */
|
||||||
|
#endif
|
10
games/egl/files/patch-linux__glimp_linux.c
Normal file
10
games/egl/files/patch-linux__glimp_linux.c
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- ./linux/glimp_linux.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/glimp_linux.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -282,6 +282,7 @@
|
||||||
|
glStatic.cDepthBits = X11_GetGLAttribute(GLX_DEPTH_SIZE);
|
||||||
|
glStatic.cStencilBits = X11_GetGLAttribute(GLX_STENCIL_SIZE);
|
||||||
|
|
||||||
|
+ X11_SetKMGrab(qFalse, qTrue);
|
||||||
|
return qTrue;
|
||||||
|
}
|
||||||
|
|
14
games/egl/files/patch-linux__glimp_linux.h
Normal file
14
games/egl/files/patch-linux__glimp_linux.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- ./linux/glimp_linux.h.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/glimp_linux.h Tue May 23 20:06:00 2006
|
||||||
|
@@ -21,9 +21,9 @@
|
||||||
|
// glimp_linux.h
|
||||||
|
//
|
||||||
|
|
||||||
|
-#ifndef __linux__
|
||||||
|
+#ifndef __unix__
|
||||||
|
# error You should not be including this file on this platform
|
||||||
|
-#endif // __linux__
|
||||||
|
+#endif // __unix__
|
||||||
|
|
||||||
|
#ifndef __GLIMP_LINUX_H__
|
||||||
|
#define __GLIMP_LINUX_H__
|
109
games/egl/files/patch-linux__snd_linux.c
Normal file
109
games/egl/files/patch-linux__snd_linux.c
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
--- ./linux/snd_linux.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/snd_linux.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -25,7 +25,11 @@
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
+#ifdef __linux__
|
||||||
|
#include <linux/soundcard.h>
|
||||||
|
+#else
|
||||||
|
+#include <sys/soundcard.h>
|
||||||
|
+#endif
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "../client/snd_local.h"
|
||||||
|
@@ -56,7 +60,7 @@
|
||||||
|
extern uid_t saved_euid;
|
||||||
|
|
||||||
|
if (sndInitialized)
|
||||||
|
- return;
|
||||||
|
+ return 1;
|
||||||
|
|
||||||
|
if (!snddevice) {
|
||||||
|
sndbits = Cvar_Register ("sndbits", "16", CVAR_ARCHIVE);
|
||||||
|
@@ -101,13 +105,6 @@
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (ioctl (audio_fd, SNDCTL_DSP_GETOSPACE, &info) == -1) {
|
||||||
|
- perror ("GETOSPACE");
|
||||||
|
- Com_Printf (0, "Um, can't do GETOSPACE?\n");
|
||||||
|
- close (audio_fd);
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
// set sample bits & speed
|
||||||
|
snd_audioDMA.sampleBits = (int)sndbits->value;
|
||||||
|
if (snd_audioDMA.sampleBits != 16 && snd_audioDMA.sampleBits != 8) {
|
||||||
|
@@ -126,21 +123,6 @@
|
||||||
|
snd_audioDMA.channels = (int)sndchannels->value;
|
||||||
|
if ((snd_audioDMA.channels < 1) || (snd_audioDMA.channels > 2))
|
||||||
|
snd_audioDMA.channels = 2;
|
||||||
|
-
|
||||||
|
- snd_audioDMA.samples = info.fragstotal * info.fragsize / (snd_audioDMA.sampleBits/8);
|
||||||
|
- snd_audioDMA.submissionChunk = 1;
|
||||||
|
-
|
||||||
|
- // memory map the dma buffer
|
||||||
|
- if (!snd_audioDMA.buffer)
|
||||||
|
- snd_audioDMA.buffer = (unsigned char *) mmap(NULL, info.fragstotal
|
||||||
|
- * info.fragsize, PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0);
|
||||||
|
-
|
||||||
|
- if (!snd_audioDMA.buffer) {
|
||||||
|
- perror (snddevice->string);
|
||||||
|
- Com_Printf (0, "Could not mmap %s\n", snddevice->string);
|
||||||
|
- close (audio_fd);
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
|
||||||
|
tmp = 0;
|
||||||
|
if (snd_audioDMA.channels == 2)
|
||||||
|
@@ -157,6 +139,14 @@
|
||||||
|
else
|
||||||
|
snd_audioDMA.channels = 1;
|
||||||
|
|
||||||
|
+ rc = ioctl (audio_fd, SNDCTL_DSP_SPEED, &snd_audioDMA.speed);
|
||||||
|
+ if (rc < 0) {
|
||||||
|
+ perror (snddevice->string);
|
||||||
|
+ Com_Printf (0, "Could not set %s speed to %d", snddevice->string, snd_audioDMA.speed);
|
||||||
|
+ close (audio_fd);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (snd_audioDMA.sampleBits == 16) {
|
||||||
|
rc = AFMT_S16_LE;
|
||||||
|
rc = ioctl (audio_fd, SNDCTL_DSP_SETFMT, &rc);
|
||||||
|
@@ -182,13 +172,29 @@
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- rc = ioctl (audio_fd, SNDCTL_DSP_SPEED, &snd_audioDMA.speed);
|
||||||
|
- if (rc < 0) {
|
||||||
|
- perror (snddevice->string);
|
||||||
|
- Com_Printf (0, "Could not set %s speed to %d", snddevice->string, snd_audioDMA.speed);
|
||||||
|
+ if (ioctl (audio_fd, SNDCTL_DSP_GETOSPACE, &info) == -1) {
|
||||||
|
+ perror ("GETOSPACE");
|
||||||
|
+ Com_Printf (0, "Um, can't do GETOSPACE?\n");
|
||||||
|
close (audio_fd);
|
||||||
|
- return 0;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ snd_audioDMA.samples = info.fragstotal * info.fragsize / (snd_audioDMA.sampleBits/8);
|
||||||
|
+ snd_audioDMA.submissionChunk = 1;
|
||||||
|
+
|
||||||
|
+ // memory map the dma buffer
|
||||||
|
+ if (!snd_audioDMA.buffer)
|
||||||
|
+ snd_audioDMA.buffer = (unsigned char *) mmap(NULL, info.fragstotal
|
||||||
|
+ * info.fragsize, PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0);
|
||||||
|
+
|
||||||
|
+ if (!snd_audioDMA.buffer) {
|
||||||
|
+ perror (snddevice->string);
|
||||||
|
+ Com_Printf (0, "Could not mmap %s\n", snddevice->string);
|
||||||
|
+ close (audio_fd);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
|
||||||
|
// toggle the trigger & start her up
|
||||||
|
tmp = 0;
|
58
games/egl/files/patch-linux__sys_linux.c
Normal file
58
games/egl/files/patch-linux__sys_linux.c
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
--- ./linux/sys_linux.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/sys_linux.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -43,10 +43,6 @@
|
||||||
|
|
||||||
|
#include "../common/common.h"
|
||||||
|
|
||||||
|
-#if defined(__FreeBSD__)
|
||||||
|
-#include <machine/param.h>
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
uint32 sys_frameTime;
|
||||||
|
int sys_currTime;
|
||||||
|
|
||||||
|
@@ -607,7 +603,6 @@
|
||||||
|
void *Sys_LoadLibrary (libType_t libType, void *parms)
|
||||||
|
{
|
||||||
|
char name[MAX_OSPATH];
|
||||||
|
- char cwd[MAX_OSPATH];
|
||||||
|
char *path;
|
||||||
|
void *(*APIfunc) (void *);
|
||||||
|
void **lib;
|
||||||
|
@@ -657,13 +652,13 @@
|
||||||
|
switch (libType) {
|
||||||
|
case LIB_CGAME:
|
||||||
|
lib = &cGameLib;
|
||||||
|
- libname = "eglcgame" ARCH ".so";
|
||||||
|
+ libname = "eglcgame.so";
|
||||||
|
apifuncname = "GetCGameAPI";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LIB_GAME:
|
||||||
|
lib = &gameLib;
|
||||||
|
- libname = "game" ARCH ".so";
|
||||||
|
+ libname = "game.so";
|
||||||
|
apifuncname = "GetGameAPI";
|
||||||
|
break;
|
||||||
|
|
||||||
|
@@ -673,8 +668,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the current debug directory first for development purposes
|
||||||
|
- getcwd (cwd, sizeof(cwd));
|
||||||
|
- Q_snprintfz (name, sizeof(name), "%s/%s/%s", cwd, debugdir, libname);
|
||||||
|
+ Q_snprintfz (name, sizeof(name), "%s/%s", debugdir, libname);
|
||||||
|
*lib = dlopen (name, RTLD_NOW);
|
||||||
|
|
||||||
|
if (*lib) {
|
||||||
|
@@ -697,8 +691,10 @@
|
||||||
|
Com_DevPrintf (0, "dlopen (%s)\n", name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
+#if 0
|
||||||
|
if (!*lib && (error = dlerror()))
|
||||||
|
Com_Printf (PRNT_ERROR, "dlopen (%s): %s\n", name, error);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
11
games/egl/files/patch-linux__x11_linux.h
Normal file
11
games/egl/files/patch-linux__x11_linux.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./linux/x11_linux.h.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/x11_linux.h Tue May 23 20:06:00 2006
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
-#ifndef __linux__
|
||||||
|
+#ifndef __unix__
|
||||||
|
# error You should not be including this file on this platform
|
||||||
|
-#endif // __linux__
|
||||||
|
+#endif // __unix__
|
||||||
|
|
||||||
|
#ifndef __X11_LINUX_H__
|
||||||
|
#define __X11_LINUX_H__
|
11
games/egl/files/patch-linux__x11_main.c
Normal file
11
games/egl/files/patch-linux__x11_main.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./linux/x11_main.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./linux/x11_main.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -147,7 +147,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void X11_SetKMGrab (qBool kg, qBool mg)
|
||||||
|
+void X11_SetKMGrab (qBool kg, qBool mg)
|
||||||
|
{
|
||||||
|
keybd_grabbed = kg;
|
||||||
|
mouse_grabbed = mg;
|
150
games/egl/files/patch-makefile
Normal file
150
games/egl/files/patch-makefile
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
--- ./makefile.orig Tue May 23 20:06:00 2006
|
||||||
|
+++ ./makefile Tue May 23 20:11:46 2006
|
||||||
|
@@ -1,37 +1,64 @@
|
||||||
|
-BUILD_CLIENT=YES # client executable
|
||||||
|
-BUILD_DEDICATED=YES # server executable
|
||||||
|
-BUILD_CGAME=YES # cgame dll
|
||||||
|
-BUILD_GAME=YES # game dll
|
||||||
|
+# GNU Makefile for EGL.
|
||||||
|
+
|
||||||
|
+# Compilation components and options.
|
||||||
|
+BUILD_CLIENT?=YES # Client executable.
|
||||||
|
+BUILD_DEDICATED?=YES # Server executable.
|
||||||
|
+BUILD_CGAME?=YES # cgame shared library.
|
||||||
|
+BUILD_GAME?=YES # game shared library.
|
||||||
|
+WITH_OPT_CFLAGS?=YES # Optimized compiler flags.
|
||||||
|
+WITH_HOMEDIR?=YES # Write files in "~/.egl".
|
||||||
|
|
||||||
|
+# Common variables.
|
||||||
|
+CC?=gcc
|
||||||
|
VERSION=0.0.6
|
||||||
|
+EGL_MAKEFILE=makefile
|
||||||
|
|
||||||
|
+# Compiler flags.
|
||||||
|
+SHARED_FLAGS= $(CFLAGS) -DARCH='\"$(ARCH)\"' \
|
||||||
|
+ -DGAME_NAME='\"$(GAME_NAME)\"' \
|
||||||
|
+ -DEGLCGAME_NAME='\"$(EGLCGAME_NAME)\"'
|
||||||
|
+RELEASE_CFLAGS= -Isource/ -I./ -I../ $(SHARED_FLAGS)
|
||||||
|
+DEBUG_CFLAGS=- g -Isource/ -I./ -I../ $(SHARED_FLAGS) -DC_ONLY
|
||||||
|
|
||||||
|
-CC=gcc
|
||||||
|
-EGL_MAKEFILE=makefile
|
||||||
|
-SHARED_FLAGS:=
|
||||||
|
-RELEASE_CFLAGS=-Isource/ -I./ -I../ $(SHARED_FLAGS) -O2 -fno-strict-aliasing -ffast-math -fexpensive-optimizations
|
||||||
|
-DEBUG_CFLAGS=-g -Isource/ -I./ -I../ $(SHARED_FLAGS) -DC_ONLY
|
||||||
|
-LDFLAGS=-ldl -lm -lz -ljpeg -lpng
|
||||||
|
-DED_LDFLAGS=-ldl -lm -lz
|
||||||
|
-MODULE_LDFLAGS=-ldl -lm
|
||||||
|
-X11_LDFLAGS=-L/usr/X11R6/lib -lX11 -lXext
|
||||||
|
+# Linker flags.
|
||||||
|
+LDFLAGS+=-lm
|
||||||
|
+DED_LDFLAGS=-lz
|
||||||
|
+MODULE_LDFLAGS=
|
||||||
|
+X11_LDFLAGS=-lX11 -lXext -ljpeg -lpng -lz
|
||||||
|
|
||||||
|
+# Compilation commands.
|
||||||
|
|
||||||
|
SHLIBCFLAGS=-fPIC
|
||||||
|
SHLIBLDFLAGS=-shared
|
||||||
|
|
||||||
|
-
|
||||||
|
DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
|
||||||
|
DO_DED_CC=$(CC) $(CFLAGS) -DDEDICATED_ONLY -o $@ -c $<
|
||||||
|
DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
|
-
|
||||||
|
-# this nice line comes from the linux kernel makefile
|
||||||
|
+# This nice line comes from the linux kernel makefile.
|
||||||
|
ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc/ -e s/sparc64/sparc/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/alpha/axp/)
|
||||||
|
SHLIBEXT =so
|
||||||
|
|
||||||
|
-BUILD_DEBUG_DIR=debug$(ARCH)
|
||||||
|
-BUILD_RELEASE_DIR=release$(ARCH)
|
||||||
|
+OSTYPE := $(shell uname -s)
|
||||||
|
+
|
||||||
|
+BUILD_DEBUG_DIR=debug
|
||||||
|
+BUILD_RELEASE_DIR=release
|
||||||
|
+
|
||||||
|
+ifeq ($(OSTYPE),Linux)
|
||||||
|
+LDFLAGS+=-ldl
|
||||||
|
+GAME_NAME= game$(ARCH)
|
||||||
|
+EGLCGAME_NAME= eglcgame$(ARCH)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+ifeq ($(OSTYPE),FreeBSD)
|
||||||
|
+# These variables are defined from the port, and passed by the environment.
|
||||||
|
+SHARED_FLAGS+= -I$(LOCALBASE)/include -I$(X11BASE)/include \
|
||||||
|
+ -DDATADIR='\"$(Q2DIR)\"' -DLIBDIR='\"$(LIBDIR)\"'
|
||||||
|
+LDFLAGS+= -L$(LOCALBASE)/lib -L$(X11BASE)/lib
|
||||||
|
+X11_LDFLAGS+= $(PTHREAD_LIBS)
|
||||||
|
+GAME_NAME= game
|
||||||
|
+EGLCGAME_NAME= eglcgame
|
||||||
|
+endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(BUILD_CLIENT)),YES)
|
||||||
|
TARGETS += $(BUILDDIR)/egl
|
||||||
|
@@ -42,20 +69,27 @@
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(BUILD_CGAME)),YES)
|
||||||
|
- TARGETS += $(BUILDDIR)/baseq2/eglcgame$(ARCH).$(SHLIBEXT)
|
||||||
|
+ TARGETS += $(BUILDDIR)/baseq2/$(EGLCGAME_NAME).$(SHLIBEXT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(BUILD_GAME)),YES)
|
||||||
|
- TARGETS += $(BUILDDIR)/baseq2/game$(ARCH).$(SHLIBEXT)
|
||||||
|
+ TARGETS += $(BUILDDIR)/baseq2/$(GAME_NAME).$(SHLIBEXT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
+ifeq ($(strip $(WITH_OPT_CFLAGS)),YES)
|
||||||
|
+RELEASE_CFLAGS += -O2 -fno-strict-aliasing -ffast-math -fexpensive-optimizations
|
||||||
|
+endif
|
||||||
|
|
||||||
|
-ifeq ($(wildcard /usr/include/X11/extensions/xf86vmode.h),/usr/include/X11/extensions/xf86vmode.h)
|
||||||
|
+ifeq ($(strip $(WITH_HOMEDIR)),YES)
|
||||||
|
+SHARED_FLAGS += -DHOMEDIR
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+ifeq ($(wildcard $(X11BASE)/include/X11/extensions/xf86vmode.h),$(X11BASE)/include/X11/extensions/xf86vmode.h)
|
||||||
|
SHARED_FLAGS += -DXF86VMODE
|
||||||
|
X11_LDFLAGS += -lXxf86vm
|
||||||
|
endif
|
||||||
|
|
||||||
|
-ifeq ($(wildcard /usr/include/X11/extensions/xf86dga.h),/usr/include/X11/extensions/xf86dga.h)
|
||||||
|
+ifeq ($(wildcard $(X11BASE)/include/X11/extensions/xf86dga.h),$(X11BASE)/include/X11/extensions/xf86dga.h)
|
||||||
|
SHARED_FLAGS += -DXF86DGA
|
||||||
|
X11_LDFLAGS += -lXxf86dga
|
||||||
|
endif
|
||||||
|
@@ -527,7 +561,7 @@
|
||||||
|
|
||||||
|
$(BUILDDIR)/eglded: $(OBJS_DEDICATED)
|
||||||
|
@echo Linking eglded;
|
||||||
|
- $(CC) $(CFLAGS) -o $@ $(OBJS_DEDICATED) $(DED_LDFLAGS)
|
||||||
|
+ $(CC) $(CFLAGS) -o $@ $(OBJS_DEDICATED) $(LDFLAGS) $(DED_LDFLAGS)
|
||||||
|
|
||||||
|
$(BUILDDIR)/dedicated/alias.o: $(SOURCEDIR)/common/alias.c
|
||||||
|
$(DO_DED_CC)
|
||||||
|
@@ -738,9 +772,9 @@
|
||||||
|
$(BUILDDIR)/baseq2/cgame/m_flash.o \
|
||||||
|
|
||||||
|
|
||||||
|
-$(BUILDDIR)/baseq2/eglcgame$(ARCH).$(SHLIBEXT): $(OBJS_CGAME)
|
||||||
|
+$(BUILDDIR)/baseq2/$(EGLCGAME_NAME).$(SHLIBEXT): $(OBJS_CGAME)
|
||||||
|
@echo Linking cgame dll;
|
||||||
|
- $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(OBJS_CGAME) $(MODULE_LDFLAGS)
|
||||||
|
+ $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(OBJS_CGAME) $(LDFLAGS) $(MODULE_LDFLAGS)
|
||||||
|
|
||||||
|
$(BUILDDIR)/baseq2/cgame/cg_api.o: $(SOURCEDIR)/cgame/cg_api.c
|
||||||
|
$(DO_SHLIB_CC)
|
||||||
|
@@ -1026,9 +1060,9 @@
|
||||||
|
$(BUILDDIR)/baseq2/game/string.o \
|
||||||
|
|
||||||
|
|
||||||
|
-$(BUILDDIR)/baseq2/game$(ARCH).$(SHLIBEXT): $(OBJS_GAME)
|
||||||
|
+$(BUILDDIR)/baseq2/$(GAME_NAME).$(SHLIBEXT): $(OBJS_GAME)
|
||||||
|
@echo Linking game dll;
|
||||||
|
- $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(OBJS_GAME) $(MODULE_LDFLAGS)
|
||||||
|
+ $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(OBJS_GAME) $(LDFLAGS) $(MODULE_LDFLAGS)
|
||||||
|
|
||||||
|
$(BUILDDIR)/baseq2/game/cg_api.o: $(SOURCEDIR)/cgame/cg_api.c
|
||||||
|
$(DO_SHLIB_CC)
|
20
games/egl/files/patch-renderer__qgl.h
Normal file
20
games/egl/files/patch-renderer__qgl.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- ./renderer/qgl.h.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./renderer/qgl.h Tue May 23 20:06:00 2006
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
|
||||||
|
#include <GL/gl.h>
|
||||||
|
|
||||||
|
-#if defined(__linux__) || defined(__FreeBSD__)
|
||||||
|
+#ifdef __unix__
|
||||||
|
# include <GL/glx.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -431,7 +431,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-#if defined(__linux__) || defined(__FreeBSD__)
|
||||||
|
+#ifdef __unix__
|
||||||
|
|
||||||
|
//
|
||||||
|
// linux
|
10
games/egl/files/patch-renderer__r_init.c
Normal file
10
games/egl/files/patch-renderer__r_init.c
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- ./renderer/r_init.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./renderer/r_init.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -1395,6 +1395,7 @@
|
||||||
|
Com_Printf (0, "----------------------------------------\n");
|
||||||
|
|
||||||
|
// Sub-system init
|
||||||
|
+ Swap_Init();
|
||||||
|
R_ImageInit ();
|
||||||
|
R_ProgramInit ();
|
||||||
|
R_ShaderInit ();
|
115
games/egl/files/patch-shared__shared.c
Normal file
115
games/egl/files/patch-shared__shared.c
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
--- ./shared/shared.c.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./shared/shared.c Tue May 23 20:06:00 2006
|
||||||
|
@@ -539,3 +539,112 @@
|
||||||
|
dest--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+==============================================================================
|
||||||
|
+
|
||||||
|
+ BYTE ORDER FUNCTIONS
|
||||||
|
+
|
||||||
|
+==============================================================================
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+qBool bigendien;
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Can't just use function pointers, or DLL linkage can mess up when qcommon
|
||||||
|
+ * is included in multiple places.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+int16 (*_LittleShort) (int16 l);
|
||||||
|
+int32 (*_LittleLong) (int32 l);
|
||||||
|
+float (*_LittleFloat) (float l);
|
||||||
|
+int16 (*_BigShort) (int16 l);
|
||||||
|
+int32 (*_BigLong) (int32 l);
|
||||||
|
+float (*_BigFloat) (float l);
|
||||||
|
+
|
||||||
|
+int16 LittleShort (int16 l) { return _LittleShort(l); }
|
||||||
|
+int32 LittleLong (int32 l) { return _LittleLong(l); }
|
||||||
|
+float LittleFloat (float l) { return _LittleFloat(l); }
|
||||||
|
+int16 BigShort (int16 l) { return _BigShort(l); }
|
||||||
|
+int32 BigLong (int32 l) { return _BigLong(l); }
|
||||||
|
+float BigFloat (float l) { return _BigFloat(l); }
|
||||||
|
+
|
||||||
|
+int16 ShortNoSwap (int16 l) { return l; }
|
||||||
|
+int32 LongNoSwap (int32 l) { return l; }
|
||||||
|
+float FloatNoSwap (float f) { return f; }
|
||||||
|
+
|
||||||
|
+int16 ShortSwap (int16 s)
|
||||||
|
+{
|
||||||
|
+ union {
|
||||||
|
+ byte b[2];
|
||||||
|
+ int16 s;
|
||||||
|
+ } in, out;
|
||||||
|
+
|
||||||
|
+ in.s = s;
|
||||||
|
+
|
||||||
|
+ out.b[0] = in.b[1];
|
||||||
|
+ out.b[1] = in.b[0];
|
||||||
|
+
|
||||||
|
+ return out.s;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int32 LongSwap (int32 l)
|
||||||
|
+{
|
||||||
|
+ union {
|
||||||
|
+ byte b[4];
|
||||||
|
+ int l;
|
||||||
|
+ } in, out;
|
||||||
|
+
|
||||||
|
+ in.l = l;
|
||||||
|
+
|
||||||
|
+ out.b[0] = in.b[3];
|
||||||
|
+ out.b[1] = in.b[2];
|
||||||
|
+ out.b[2] = in.b[1];
|
||||||
|
+ out.b[3] = in.b[0];
|
||||||
|
+
|
||||||
|
+ return out.l;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+float FloatSwap (float f)
|
||||||
|
+{
|
||||||
|
+ union {
|
||||||
|
+ byte b[4];
|
||||||
|
+ float f;
|
||||||
|
+ } in, out;
|
||||||
|
+
|
||||||
|
+ in.f = f;
|
||||||
|
+
|
||||||
|
+ out.b[0] = in.b[3];
|
||||||
|
+ out.b[1] = in.b[2];
|
||||||
|
+ out.b[2] = in.b[1];
|
||||||
|
+ out.b[3] = in.b[0];
|
||||||
|
+
|
||||||
|
+ return out.f;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Swap_Init
|
||||||
|
+ * Set the byte swapping variables in a portable manner.
|
||||||
|
+ */
|
||||||
|
+void Swap_Init (void)
|
||||||
|
+{
|
||||||
|
+ byte swaptest[2] = {1, 0};
|
||||||
|
+
|
||||||
|
+ if (*(int16 *)swaptest == 1) {
|
||||||
|
+ bigendien = qFalse;
|
||||||
|
+ _LittleShort = ShortNoSwap;
|
||||||
|
+ _LittleLong = LongNoSwap;
|
||||||
|
+ _LittleFloat = FloatNoSwap;
|
||||||
|
+ _BigShort = ShortSwap;
|
||||||
|
+ _BigLong = LongSwap;
|
||||||
|
+ _BigFloat = FloatSwap;
|
||||||
|
+ } else {
|
||||||
|
+ bigendien = qTrue;
|
||||||
|
+ _LittleShort = ShortSwap;
|
||||||
|
+ _LittleLong = LongSwap;
|
||||||
|
+ _LittleFloat = FloatSwap;
|
||||||
|
+ _BigShort = ShortNoSwap;
|
||||||
|
+ _BigLong = LongNoSwap;
|
||||||
|
+ _BigFloat = FloatNoSwap;
|
||||||
|
+ }
|
||||||
|
+}
|
277
games/egl/files/patch-shared__shared.h
Normal file
277
games/egl/files/patch-shared__shared.h
Normal file
|
@ -0,0 +1,277 @@
|
||||||
|
--- ./shared/shared.h.orig Tue May 23 20:05:59 2006
|
||||||
|
+++ ./shared/shared.h Tue May 23 20:06:00 2006
|
||||||
|
@@ -41,6 +41,15 @@
|
||||||
|
//R1Q2 SPECIFC
|
||||||
|
|
||||||
|
// =========================================================================
|
||||||
|
+// Common
|
||||||
|
+//
|
||||||
|
+#ifdef NDEBUG
|
||||||
|
+# define DEBUG_STR ""
|
||||||
|
+#else
|
||||||
|
+# define DEBUG_STR " Debug"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+// =========================================================================
|
||||||
|
// Windows
|
||||||
|
//
|
||||||
|
#ifdef WIN32
|
||||||
|
@@ -68,23 +77,15 @@
|
||||||
|
|
||||||
|
# define BUILDSTRING "Win32"
|
||||||
|
|
||||||
|
-# ifdef NDEBUG
|
||||||
|
-# ifdef _M_IX86
|
||||||
|
-# define CPUSTRING "x86"
|
||||||
|
-# elif defined _M_ALPHA
|
||||||
|
-# define CPUSTRING "AXP"
|
||||||
|
-# endif
|
||||||
|
-# else // NDEBUG
|
||||||
|
-# ifdef _M_IX86
|
||||||
|
-# define CPUSTRING "x86 Debug"
|
||||||
|
-# elif defined _M_ALPHA
|
||||||
|
-# define CPUSTRING "AXP Debug"
|
||||||
|
-# endif
|
||||||
|
-# endif // NDEBUG
|
||||||
|
+# ifdef _M_IX86
|
||||||
|
+# define CPUSTRING "x86"
|
||||||
|
+# elif defined _M_ALPHA
|
||||||
|
+# define CPUSTRING "AXP"
|
||||||
|
+# endif
|
||||||
|
|
||||||
|
-typedef __int16 int16;
|
||||||
|
-typedef __int32 int32;
|
||||||
|
-typedef __int64 int64;
|
||||||
|
+typedef __int16 int16;
|
||||||
|
+typedef __int32 int32;
|
||||||
|
+typedef __int64 int64;
|
||||||
|
typedef unsigned __int16 uint16;
|
||||||
|
typedef unsigned __int32 uint32;
|
||||||
|
typedef unsigned __int64 uint64;
|
||||||
|
@@ -94,49 +95,35 @@
|
||||||
|
# define __declspec_naked __declspec(naked)
|
||||||
|
|
||||||
|
// =========================================================================
|
||||||
|
-// Linux
|
||||||
|
+// Unix in general (Linux, *BSD, etc)
|
||||||
|
//
|
||||||
|
-#elif defined __linux__
|
||||||
|
-# include <stdint.h>
|
||||||
|
-
|
||||||
|
-# define GL_DRIVERNAME "libGL.so.1"
|
||||||
|
-# define AL_DRIVERNAME "libopenal.so.0"
|
||||||
|
-# define GL_FORCEFINISH
|
||||||
|
+#elif defined __unix__
|
||||||
|
|
||||||
|
-# define HAVE_INLINE
|
||||||
|
-# define HAVE_STRCASECMP
|
||||||
|
+// Linux
|
||||||
|
+# if defined(__linux__)
|
||||||
|
+# include <stdint.h>
|
||||||
|
|
||||||
|
-# define BUILDSTRING "Linux"
|
||||||
|
+# define BUILDSTRING "Linux"
|
||||||
|
|
||||||
|
-# ifdef NDEBUG
|
||||||
|
-# ifdef __i386__
|
||||||
|
-# define CPUSTRING "i386"
|
||||||
|
-# elif defined(__alpha__)
|
||||||
|
-# define CPUSTRING "AXP"
|
||||||
|
-# endif
|
||||||
|
-# else // NDEBUG
|
||||||
|
-# ifdef __i386__
|
||||||
|
-# define CPUSTRING "i386 Debug"
|
||||||
|
-# elif defined(__alpha__)
|
||||||
|
-# define CPUSTRING "AXP Debug"
|
||||||
|
+// FreeBSD
|
||||||
|
+# elif defined __FreeBSD__
|
||||||
|
+# include <machine/param.h>
|
||||||
|
+# if __FreeBSD_version < 500000
|
||||||
|
+# include <inttypes.h>
|
||||||
|
+# else
|
||||||
|
+# include <stdint.h>
|
||||||
|
# endif
|
||||||
|
-# endif // NDEBUG
|
||||||
|
|
||||||
|
-typedef int16_t int16;
|
||||||
|
-typedef int32_t int32;
|
||||||
|
-typedef int64_t int64;
|
||||||
|
-typedef uint16_t uint16;
|
||||||
|
-typedef uint32_t uint32;
|
||||||
|
-typedef uint64_t uint64;
|
||||||
|
+# define BUILDSTRING "FreeBSD"
|
||||||
|
|
||||||
|
-# define __declspec
|
||||||
|
-# define __declspec_naked
|
||||||
|
+# else
|
||||||
|
+# include <stdint.h>
|
||||||
|
+# endif
|
||||||
|
|
||||||
|
-// =========================================================================
|
||||||
|
-// FreeBSD
|
||||||
|
-//
|
||||||
|
-#elif defined __FreeBSD__
|
||||||
|
-# include <stdint.h>
|
||||||
|
+// Common
|
||||||
|
+# ifdef ARCH
|
||||||
|
+# define CPUSTRING ARCH
|
||||||
|
+# endif
|
||||||
|
|
||||||
|
# define GL_DRIVERNAME "libGL.so.1"
|
||||||
|
# define AL_DRIVERNAME "libopenal.so.0"
|
||||||
|
@@ -145,22 +132,6 @@
|
||||||
|
# define HAVE_INLINE
|
||||||
|
# define HAVE_STRCASECMP
|
||||||
|
|
||||||
|
-# define BUILDSTRING "FreeBSD"
|
||||||
|
-
|
||||||
|
-# ifdef NDEBUG
|
||||||
|
-# ifdef __i386__
|
||||||
|
-# define CPUSTRING "i386"
|
||||||
|
-# elif defined(__alpha__)
|
||||||
|
-# define CPUSTRING "AXP"
|
||||||
|
-# endif
|
||||||
|
-# else // NDEBUG
|
||||||
|
-# ifdef __i386__
|
||||||
|
-# define CPUSTRING "i386 Debug"
|
||||||
|
-# elif defined(__alpha__)
|
||||||
|
-# define CPUSTRING "AXP Debug"
|
||||||
|
-# endif
|
||||||
|
-# endif // NDEBUG
|
||||||
|
-
|
||||||
|
typedef int16_t int16;
|
||||||
|
typedef int32_t int32;
|
||||||
|
typedef int64_t int64;
|
||||||
|
@@ -225,7 +196,7 @@
|
||||||
|
|
||||||
|
// =========================================================================
|
||||||
|
|
||||||
|
-#if (defined(_M_IX86) || defined(__i386__)) && !defined(C_ONLY) && !defined(__linux__) && !defined(__FreeBSD__) // FIXME: make this work with linux
|
||||||
|
+#if (defined(_M_IX86) || defined(__i386__)) && !defined(C_ONLY) && !defined(__unix__) // FIXME: make this work with linux
|
||||||
|
# define id386
|
||||||
|
#else
|
||||||
|
# ifdef id386
|
||||||
|
@@ -233,14 +204,6 @@
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if !defined(ENDIAN_LITTLE) && !defined(ENDIAN_BIG)
|
||||||
|
-# if defined(__i386__) || defined(__ia64__) || defined(WIN32) || (defined(__alpha__) || defined(__alpha)) || defined(__arm__) || (defined(__mips__) && defined(__MIPSEL__)) || defined(__LITTLE_ENDIAN__)
|
||||||
|
-# define ENDIAN_LITTLE
|
||||||
|
-# else
|
||||||
|
-# define ENDIAN_BIG
|
||||||
|
-# endif
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#ifndef BUILDSTRING
|
||||||
|
# define BUILDSTRING "Unknown"
|
||||||
|
#endif
|
||||||
|
@@ -755,100 +718,17 @@
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
BYTE ORDER FUNCTIONS
|
||||||
|
-
|
||||||
|
-==============================================================================
|
||||||
|
-*/
|
||||||
|
-
|
||||||
|
-#ifdef USE_BYTESWAP
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
-===============
|
||||||
|
-FloatSwap
|
||||||
|
-===============
|
||||||
|
-*/
|
||||||
|
-static inline float FloatSwap (float f)
|
||||||
|
-{
|
||||||
|
- union {
|
||||||
|
- byte b[4];
|
||||||
|
- float f;
|
||||||
|
- } in, out;
|
||||||
|
-
|
||||||
|
- in.f = f;
|
||||||
|
|
||||||
|
- out.b[0] = in.b[3];
|
||||||
|
- out.b[1] = in.b[2];
|
||||||
|
- out.b[2] = in.b[1];
|
||||||
|
- out.b[3] = in.b[0];
|
||||||
|
-
|
||||||
|
- return out.f;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
-===============
|
||||||
|
-LongSwap
|
||||||
|
-===============
|
||||||
|
-*/
|
||||||
|
-static inline int LongSwap (int l)
|
||||||
|
-{
|
||||||
|
- union {
|
||||||
|
- byte b[4];
|
||||||
|
- int l;
|
||||||
|
- } in, out;
|
||||||
|
-
|
||||||
|
- in.l = l;
|
||||||
|
-
|
||||||
|
- out.b[0] = in.b[3];
|
||||||
|
- out.b[1] = in.b[2];
|
||||||
|
- out.b[2] = in.b[1];
|
||||||
|
- out.b[3] = in.b[0];
|
||||||
|
-
|
||||||
|
- return out.l;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
-===============
|
||||||
|
-ShortSwap
|
||||||
|
-===============
|
||||||
|
+==============================================================================
|
||||||
|
*/
|
||||||
|
-static inline int16 ShortSwap (int16 s)
|
||||||
|
-{
|
||||||
|
- union {
|
||||||
|
- byte b[2];
|
||||||
|
- int16 s;
|
||||||
|
- } in, out;
|
||||||
|
-
|
||||||
|
- in.s = s;
|
||||||
|
|
||||||
|
- out.b[0] = in.b[1];
|
||||||
|
- out.b[1] = in.b[0];
|
||||||
|
-
|
||||||
|
- return out.s;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-#if defined(WIN32) || defined(__linux__) || defined(__FreeBSD__)
|
||||||
|
-
|
||||||
|
-#define LittleFloat
|
||||||
|
-#define LittleLong
|
||||||
|
-#define LittleShort
|
||||||
|
-
|
||||||
|
-static inline float BigFloat (float f) { return FloatSwap (f); }
|
||||||
|
-static inline int BigLong (int l) { return LongSwap (l); }
|
||||||
|
-static inline int16 BigShort (int16 s) { return ShortSwap (s); }
|
||||||
|
-
|
||||||
|
-#elif (defined __MACOS__ || defined MACOS_X)
|
||||||
|
-
|
||||||
|
-#define BigFloat
|
||||||
|
-#define BigLong
|
||||||
|
-#define BigShort
|
||||||
|
-
|
||||||
|
-static inline float LittleFloat (float f) { return FloatSwap (f); }
|
||||||
|
-static inline int LittleLong (int l) { return LongSwap (l); }
|
||||||
|
-static inline int16 LittleShort (int16 s) { return ShortSwap (s); }
|
||||||
|
-
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#endif // USE_BYTESWAP
|
||||||
|
+int16 LittleShort (int16 l);
|
||||||
|
+int32 LittleLong (int32 l);
|
||||||
|
+float LittleFloat (float l);
|
||||||
|
+int16 BigShort (int16 l);
|
||||||
|
+int32 BigLong (int32 l);
|
||||||
|
+float BigFloat (float l);
|
||||||
|
+void Swap_Init (void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
==============================================================================
|
3
games/egl/pkg-descr
Normal file
3
games/egl/pkg-descr
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Enhaced OpenGL only Quake II engine.
|
||||||
|
|
||||||
|
WWW: http://egl.quakedev.com/
|
7
games/egl/pkg-plist
Normal file
7
games/egl/pkg-plist
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
bin/egl
|
||||||
|
%%DEDICATED%%bin/eglded
|
||||||
|
%%LIBDIR%%/baseq2/egl.pkz
|
||||||
|
%%LIBDIR%%/baseq2/eglcgame.so
|
||||||
|
%%LIBDIR%%/baseq2/game.so
|
||||||
|
@dirrm %%LIBDIR%%/baseq2
|
||||||
|
@dirrm %%LIBDIR%%
|
Loading…
Add table
Reference in a new issue