View | Details | Raw Unified | Return to bug 87181
Collapse All | Expand All

(-)quake2lnx/Makefile (-296 / +146 lines)
Lines 10-40 Link Here
10
PORTREVISION=	1
10
PORTREVISION=	1
11
CATEGORIES=	games
11
CATEGORIES=	games
12
MASTER_SITES=	http://www.icculus.org/quake2/files/:icc \
12
MASTER_SITES=	http://www.icculus.org/quake2/files/:icc \
13
		ftp://ftp.idsoftware.com/idstuff/quake2/:id
13
		ftp://ftp.idsoftware.com/idstuff/quake2/source/:id
14
DISTNAME=	quake2-r${PORTVERSION}
14
DISTNAME=	quake2-r${PORTVERSION}
15
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:icc
15
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:icc
16
.if defined(WITH_EYECANDY)
17
DISTFILES+=	maxpak.pak:icc
18
.endif
19
.if defined(WITH_RETEXTURE)
20
. for i in 10 11 12 13 14 16 17 19
21
DISTFILES+=	pak${i}.pak:icc
22
. endfor
23
.endif
24
.if defined(WITH_SHAREWARE_DATA) || defined(WITH_MANUAL) || defined(WITH_CTF_MAPS)
25
EXTRACT_DEPENDS+=	unzip:${PORTSDIR}/archivers/unzip
26
. if defined(WITH_CTF_MAPS)
27
DISTFILES+=	q2-3.20-x86-full-ctf.exe:id
28
. else
29
DISTFILES+=	q2-314-demo-x86.exe:id
30
. endif
31
.endif
32
.if defined(WITH_XATRIX)
33
DISTFILES+=	source/xatrixsrc320.shar.Z:id
34
.endif
35
.if defined(WITH_ROGUE)
36
DISTFILES+=	source/roguesrc320.shar.Z:id
37
.endif
38
DIST_SUBDIR=	${PORTNAME}
16
DIST_SUBDIR=	${PORTNAME}
39
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
17
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
40
18
Lines 42-119 Link Here
42
COMMENT=	Cleaned up copy of the original Quake II source code
20
COMMENT=	Cleaned up copy of the original Quake II source code
43
21
44
USE_GMAKE=	yes
22
USE_GMAKE=	yes
45
USE_REINPLACE=	yes
46
WANT_SDL=	yes
23
WANT_SDL=	yes
47
24
48
.include <bsd.port.pre.mk>
25
OPTIONS=	AA "Build ASCII software renderer" off \
26
		ARTS "Enable support for aRts sound daemon" off \
27
		CLIENT "Build client executable" on \
28
		CTF "Build Capture The Flag mod" off \
29
		EYECANDY "Build executable with fancier GL graphics" off \
30
		GAME "Build a main game .so file" on \
31
		GLX "Build GLX driver" on \
32
		IPV6 "Enable experimental IPv6 support" off \
33
		JOYSTICK "Enable joystick support" off \
34
		OPTIMIZED_CFLAGS "Enable extra optimization options" off \
35
		REDBLUE "Enable 3D glasses rendering" off \
36
		RETEXTURE "Enable support of retextured graphics" off \
37
		ROGUE "Build Ground Zero (Rogue) mission pack" off \
38
		SDL "Build SDL software driver" off \
39
		SDLCLIENT "Build executable that uses SDL" off \
40
		SDLGL "Build SDL OpenGL driver" off \
41
		SERVER "Build dedicated server executable" on \
42
		SVGA "Build SVGA driver" off \
43
		XATRIX "Build The Reckoning (Xatrix) mission pack" off \
44
		X11 "Build X11 software driver" on \
45
		X86_ASM "Enable use of x86 assembly code" on
49
46
50
###                       #
47
ALL_TARGET=	build_release
51
## CLIENTS AND RENDERERS ##
48
MAKE_ENV=	DATADIR="${DATADIR}" LIBDIR="${LIBDIR}"
52
#                       ###
53
49
54
.if ${ARCH} == "i386" && !defined(WITHOUT_SVGA) \
50
PLIST_SUB+=	LIBDIR="${LIBDIR:S/${PREFIX}\///}"
55
	&& (defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1))
56
LIB_DEPENDS+=	vga.1:${PORTSDIR}/graphics/svgalib
57
MAKE_ARGS+=	BUILD_SVGA=YES
58
REF_TARGETS+=	soft
59
PLIST_SUB+=	SVGA=""
60
.else
61
PLIST_SUB+=	SVGA="@comment "
62
.endif
63
51
64
.if defined(WITH_SDLCLIENT) || defined(WITH_SDL) || defined(WITH_SDLGL) \
52
TGTDIR=		${WRKSRC}/release
65
	|| ${HAVE_SDL:Msdl} != ""
53
LIBDIR=		${PREFIX}/lib/${PORTNAME}
66
. if !(defined(WITHOUT_SDLCLIENT) && defined(WITHOUT_SDL) \
67
	&& defined(WITHOUT_SDLGL))
68
USE_SDL=	sdl
69
. endif
70
. if !defined(WITHOUT_SDLCLIENT)
71
MAKE_ARGS+=	BUILD_SDLQUAKE2=YES
72
EXE_TARGETS+=	sdlquake2
73
PLIST_SUB+=	SDLCLIENT=""
74
. else
75
PLIST_SUB+=	SDLCLIENT="@comment "
76
. endif
77
. if !defined(WITHOUT_SDL)
78
MAKE_ARGS+=	BUILD_SDL=YES
79
REF_TARGETS+=	softsdl
80
PLIST_SUB+=	SDL=""
81
. else
82
PLIST_SUB+=	SDL="@comment "
83
. endif
84
. if !defined(WITHOUT_SDLGL)
85
MAKE_ARGS+=	BUILD_SDLGL=YES
86
REF_TARGETS+=	sdlgl
87
PLIST_SUB+=	SDLGL=""
88
. else
89
PLIST_SUB+=	SDLGL="@comment "
90
. endif
91
.else
92
PLIST_SUB+=	SDLCLIENT="@comment "
93
PLIST_SUB+=	SDL="@comment "
94
PLIST_SUB+=	SDLGL="@comment "
95
.endif
96
54
97
.if !defined(WITHOUT_X11)
55
.include "${.CURDIR}/../quake2-data/Makefile.include"
98
USE_XLIB=	yes
99
MAKE_ARGS+=	BUILD_X11=YES
100
REF_TARGETS+=	softx
101
PLIST_SUB+=	X11=""
102
.else
103
PLIST_SUB+=	X11="@comment "
104
.endif
105
56
106
.if !defined(WITHOUT_GLX) || defined(WITH_EYECANDY)
57
.include <bsd.port.pre.mk>
107
USE_GL=		yes
108
MAKE_ARGS+=	BUILD_GLX=YES
109
REF_TARGETS+=	glx
110
PLIST_SUB+=	GLX=""
111
.else
112
PLIST_SUB+=	GLX="@comment "
113
.endif
114
58
115
.if !defined(WITHOUT_AA) && (defined(WITH_AA) \
59
.if defined(WITH_AA) || exists(${LOCALBASE}/lib/libaa.so.1)
116
	|| exists(${LOCALBASE}/lib/libaa.so.1))
117
LIB_DEPENDS+=	aa.1:${PORTSDIR}/graphics/aalib
60
LIB_DEPENDS+=	aa.1:${PORTSDIR}/graphics/aalib
118
MAKE_ARGS+=	BUILD_AA=YES
61
MAKE_ARGS+=	BUILD_AA=YES
119
REF_TARGETS+=	softaa
62
REF_TARGETS+=	softaa
Lines 122-136 Link Here
122
PLIST_SUB+=	AA="@comment "
65
PLIST_SUB+=	AA="@comment "
123
.endif
66
.endif
124
67
125
.if defined(WITH_EYECANDY)
68
.if defined(WITH_ARTS) || exists (${LOCALBASE}/lib/libartsc.so.0)
126
LIB_DEPENDS+=	jpeg.9:${PORTSDIR}/graphics/jpeg
69
LIB_DEPENDS+=	artsc.0:${PORTSDIR}/audio/arts
127
MAKE_ARGS+=	BUILD_QMAX=YES
70
MAKE_ARGS+=	BUILD_ARTS=YES
128
PLIST_SUB+=	QMAX=""
129
.else
130
PLIST_SUB+=	QMAX="@comment "
131
.endif
71
.endif
132
72
133
.if !defined(WITHOUT_CLIENT)
73
.if defined(WITH_CLIENT)
134
MAKE_ARGS+=	BUILD_CLIENT=YES
74
MAKE_ARGS+=	BUILD_CLIENT=YES
135
EXE_TARGETS+=	quake2
75
EXE_TARGETS+=	quake2
136
PLIST_SUB+=	CLIENT=""
76
PLIST_SUB+=	CLIENT=""
Lines 138-412 Link Here
138
PLIST_SUB+=	CLIENT="@comment "
78
PLIST_SUB+=	CLIENT="@comment "
139
.endif
79
.endif
140
80
141
.if !defined(WITHOUT_SERVER)
81
.if defined(WITH_CTF)
142
MAKE_ARGS+=	BUILD_DEDICATED=YES
82
MAKE_ARGS+=	BUILD_CTFDLL=YES
143
PLIST_SUB+=	SERVER=""
83
PLIST_SUB+=	CTF=""
144
EXE_TARGETS+=	q2ded
145
.else
84
.else
146
PLIST_SUB+=	SERVER="@comment "
85
PLIST_SUB+=	CTF="@comment "
147
.endif
86
.endif
148
87
149
###                                #
88
.if defined(WITH_EYECANDY)
150
## GAME, MISSION ADDONS, AND MODS ##
89
DISTFILES+=	maxpak.pak:icc
151
#                                ###
90
LIB_DEPENDS+=	jpeg.9:${PORTSDIR}/graphics/jpeg
91
MAKE_ARGS+=	BUILD_QMAX=YES
92
PLIST_SUB+=	QMAX=""
93
.else
94
PLIST_SUB+=	QMAX="@comment "
95
.endif
152
96
153
.if !defined(WITHOUT_GAME)
97
.if defined(WITH_GAME)
154
MAKE_ARGS+=	BUILD_GAME=YES
98
MAKE_ARGS+=	BUILD_GAME=YES
155
PLIST_SUB+=	GAME=""
99
PLIST_SUB+=	GAME=""
156
.else
100
.else
157
PLIST_SUB+=	GAME="@comment "
101
PLIST_SUB+=	GAME="@comment "
158
.endif
102
.endif
159
103
160
.if defined(WITH_XATRIX)
104
.if defined(WITH_GLX) || defined(WITH_EYECANDY)
161
MAKE_ARGS+=	BUILD_XATRIX=YES
105
USE_GL=		yes
162
Q2MP+=		xatrix
106
MAKE_ARGS+=	BUILD_GLX=YES
163
IS_INTERACTIVE=	yes
107
REF_TARGETS+=	glx
164
PLIST_SUB+=	XATRIX=""
108
PLIST_SUB+=	GLX=""
165
.else
109
.else
166
PLIST_SUB+=	XATRIX="@comment "
110
PLIST_SUB+=	GLX="@comment "
167
.endif
111
.endif
168
112
169
.if defined(WITH_ROGUE)
113
.if defined(WITH_IPV6)
170
MAKE_ARGS+=	BUILD_ROGUE=YES
114
MAKE_ARGS+=	HAVE_IPV6=YES
171
Q2MP+=		rogue
172
IS_INTERACTIVE=	yes
173
PLIST_SUB+=	ROGUE=""
174
.else
175
PLIST_SUB+=	ROGUE="@comment "
176
.endif
115
.endif
177
116
178
.if defined(WITH_CTF)
117
.if defined(WITH_JOYSTICK)
179
MAKE_ARGS+=	BUILD_CTFDLL=YES
118
MAKE_ARGS+=	BUILD_JOYSTICK=YES
180
PLIST_SUB+=	CTF=""
181
.else
182
PLIST_SUB+=	CTF="@comment "
183
.endif
119
.endif
184
120
185
.if defined(WITH_CTF_MAPS)
121
.if defined(WITH_OPTIMIZED_CFLAGS)
186
PLIST_SUB+=	CTFMAPS=""
122
MAKE_ARGS+=	OPTIMIZED_CFLAGS="-O3 -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
187
.else
188
PLIST_SUB+=	CTFMAPS="@comment "
189
.endif
123
.endif
190
124
191
.if defined(WITH_SHAREWARE_DATA)
125
.if defined(WITH_REDBLUE)
192
PLIST_SUB+=	SHAREWARE=""
126
MAKE_ARGS+=	BUILD_REDBLUE=YES
193
.else
194
PLIST_SUB+=	SHAREWARE="@comment "
195
.endif
127
.endif
196
128
197
###                        #
198
## MISCELLANEOUS TUNABLES ##
199
#                        ###
200
201
.if defined(WITH_RETEXTURE)
129
.if defined(WITH_RETEXTURE)
130
.   for i in 10 11 12 13 14 16 17 19
131
DISTFILES+=	pak${i}.pak:icc
132
.   endfor
202
MAKE_ARGS+=	BUILD_RETEXTURE=YES
133
MAKE_ARGS+=	BUILD_RETEXTURE=YES
203
PLIST_SUB+=	RETEX=""
134
PLIST_SUB+=	RETEX=""
204
.else
135
.else
205
PLIST_SUB+=	RETEX="@comment "
136
PLIST_SUB+=	RETEX="@comment "
206
.endif
137
.endif
207
138
208
.if defined(WITH_REDBLUE)
139
.if defined(WITH_ROGUE)
209
MAKE_ARGS+=	BUILD_REDBLUE=YES
140
DISTFILES+=	roguesrc320.shar.Z:id
141
EXTRA_PATCHES+=	${FILESDIR}/extra-patch-src_rogue_g__local.h \
142
		${FILESDIR}/extra-patch-src_rogue_q__shared.c
143
MAKE_ARGS+=	BUILD_ROGUE=YES
144
Q2MP+=		rogue
145
ROGUE_OFF=	454
146
PLIST_SUB+=	ROGUE=""
147
.else
148
PLIST_SUB+=	ROGUE="@comment "
210
.endif
149
.endif
211
150
212
.if defined(WITH_JOYSTICK)
151
.if defined(WITH_SDL) || ${HAVE_SDL:Msdl} != ""
213
MAKE_ARGS+=	BUILD_JOYSTICK=YES
152
USE_SDL=	sdl
153
MAKE_ARGS+=	BUILD_SDL=YES
154
REF_TARGETS+=	softsdl
155
PLIST_SUB+=	SDL=""
156
.else
157
PLIST_SUB+=	SDL="@comment "
214
.endif
158
.endif
215
159
216
.if !defined(WITHOUT_ARTS) && (defined(WITH_ARTS) \
160
.if defined(WITH_SDLCLIENT) && (defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
217
	|| exists (${LOCALBASE}/lib/libartsc.so.0))
161
MAKE_ARGS+=	BUILD_SDLQUAKE2=YES
218
LIB_DEPENDS+=	artsc.0:${PORTSDIR}/audio/arts
162
EXE_TARGETS+=	sdlquake2
219
MAKE_ARGS+=	BUILD_ARTS=YES
163
PLIST_SUB+=	SDLCLIENT=""
164
.else
165
PLIST_SUB+=	SDLCLIENT="@comment "
220
.endif
166
.endif
221
167
222
.if defined(WITH_IPV6)
168
.if defined(WITH_SDLGL) && (defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
223
MAKE_ARGS+=	HAVE_IPV6=YES
169
MAKE_ARGS+=	BUILD_SDLGL=YES
170
REF_TARGETS+=	sdlgl
171
PLIST_SUB+=	SDLGL=""
172
.else
173
PLIST_SUB+=	SDLGL="@comment "
224
.endif
174
.endif
225
175
226
.if defined(WITH_OPTIMIZED_CFLAGS)
176
.if defined(WITH_SERVER)
227
MAKE_ARGS+=	OPTIMIZED_CFLAGS="-O9 -pipe -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
177
MAKE_ARGS+=	BUILD_DEDICATED=YES
178
PLIST_SUB+=	SERVER=""
179
EXE_TARGETS+=	q2ded
180
.else
181
PLIST_SUB+=	SERVER="@comment "
228
.endif
182
.endif
229
183
230
.if ${ARCH} != "i386" || defined(WITHOUT_X86_ASM)
184
.if defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1)
231
MAKE_ARGS+=	NO_X86_ASM=YES
185
LIB_DEPENDS+=	vga.1:${PORTSDIR}/graphics/svgalib
186
MAKE_ARGS+=	BUILD_SVGA=YES
187
REF_TARGETS+=	soft
188
PLIST_SUB+=	SVGA=""
189
.else
190
PLIST_SUB+=	SVGA="@comment "
232
.endif
191
.endif
233
192
234
.if defined(WITH_MANUAL)
193
.if defined(WITH_XATRIX)
235
PLIST_SUB+=	MANUAL=""
194
DISTFILES+=	xatrixsrc320.shar.Z:id
195
EXTRA_PATCHES+=	${FILESDIR}/extra-patch-src_xatrix_q__shared.c
196
MAKE_ARGS+=	BUILD_XATRIX=YES
197
Q2MP+=		xatrix
198
XATRIX_OFF=	441
199
PLIST_SUB+=	XATRIX=""
236
.else
200
.else
237
PLIST_SUB+=	MANUAL="@comment "
201
PLIST_SUB+=	XATRIX="@comment "
238
.endif
202
.endif
239
203
240
###                            #
204
.if defined(WITH_X11)
241
## END OF CONFIGURATION KNOBS ##
205
USE_XLIB=	yes
242
#                            ###
206
MAKE_ARGS+=	BUILD_X11=YES
243
207
REF_TARGETS+=	softx
244
pre-everything::
208
PLIST_SUB+=	X11=""
245
.if ${ARCH} == "i386" && !(defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1))
209
.else
246
	@${ECHO_MSG} "Define WITH_SVGA to build SVGA driver"
210
PLIST_SUB+=	X11="@comment "
247
.endif
248
.if !(defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
249
	@${ECHO_MSG} "Define WITH_SDL to build SDL software driver"
250
.endif
251
.if !(defined(WITH_SDLGL) || ${HAVE_SDL:Msdl} != "")
252
	@${ECHO_MSG} "Define WITH_SDLGL to build SDL OpenGL driver"
253
.endif
254
.if !(defined(WITH_SDLCLIENT) || ${HAVE_SDL:Msdl} != "")
255
	@${ECHO_MSG} "Define WITH_SDLCLIENT to build executable that uses SDL for CDROM and sound"
256
.endif
257
.if !(defined(WITH_AA) || exists(${LOCALBASE}/lib/libaa.so.1))
258
	@${ECHO_MSG} "Define WITH_AA to build ASCII software renderer"
259
.endif
260
.if !defined(WITHOUT_X11)
261
	@${ECHO_MSG} "Define WITHOUT_X11 to disable building of X11 driver"
262
.endif
263
.if !defined(WITHOUT_GLX)
264
	@${ECHO_MSG} "Define WITHOUT_GLX to disable building of GLX driver"
265
.endif
266
.if !defined(WITH_EYECANDY)
267
	@${ECHO_MSG} "Define WITH_EYECANDY to build executable with fancier GL graphics"
268
.endif
269
.if !defined(WITHOUT_CLIENT)
270
	@${ECHO_MSG} "Define WITHOUT_CLIENT to disable building Quake2 client executable"
271
.endif
272
.if !defined(WITHOUT_SERVER)
273
	@${ECHO_MSG} "Define WITHOUT_SERVER to disable building of dedicated server"
274
.endif
275
.if !defined(WITHOUT_GAME)
276
	@${ECHO_MSG} "Define WITHOUT_GAME to build without main game .so"
277
.endif
278
.if !defined(WITH_CTF)
279
	@${ECHO_MSG} "Define WITH_CTF to build Capture The Flag mod"
280
.endif
281
.if !defined(WITH_CTF_MAPS)
282
	@${ECHO_MSG} "Define WITH_CTF_MAPS to install maps for CTF mod"
283
.endif
284
.if !defined(WITH_XATRIX)
285
	@${ECHO_MSG} "Define WITH_XATRIX to install \"The Reckoning\" (Xatrix) mission pack .so"
286
.endif
287
.if !defined(WITH_ROGUE)
288
	@${ECHO_MSG} "Define WITH_ROGUE to install the \"Ground Zero\" (Rogue) mission pack .so"
289
.endif
290
.if !defined(WITH_SHAREWARE_DATA)
291
	@${ECHO_MSG} "Define WITH_SHAREWARE_DATA to install demo version game data"
292
.endif
293
.if !defined(WITH_MANUAL)
294
	@${ECHO_MSG} "Define WITH_MANUAL to install the official Quake II HTML manual"
295
.endif
296
.if !defined(WITH_RETEXTURE)
297
	@${ECHO_MSG} "Define WITH_RETEXTURE to enable support of retextured graphics"
298
.endif
299
.if !defined(WITH_REDBLUE)
300
	@${ECHO_MSG} "Define WITH_REDBLUE to enable red-blue 3D glasses rendering"
301
.endif
302
.if !defined(WITH_JOYSTICK)
303
	@${ECHO_MSG} "Define WITH_JOYSTICK to enable joystick support"
304
.endif
305
.if !(defined(WITH_ARTS) || exists (${LOCALBASE}/lib/libartsc.so.0))
306
	@${ECHO_MSG} "Define WITH_ARTS to enable support for aRts sound daemon"
307
.endif
308
.if !defined(WITH_IPV6)
309
	@${ECHO_MSG} "Define WITH_IPV6 to enable experimental IPv6 support"
310
.endif
311
.if !defined(WITH_OPTIMIZED_CFLAGS)
312
	@${ECHO_MSG} "Define WITH_OPTIMIZED_CFLAGS to enable extra optimization options"
313
.endif
314
.if ${ARCH} == "i386" && !defined(WITHOUT_X86_ASM)
315
	@${ECHO_MSG} "Define WITHOUT_X86_ASM to disable x86 assembly code"
316
.endif
211
.endif
317
212
318
ALL_TARGET=	build_release
213
.if ${ARCH} != "i386" || defined(WITHOUT_X86_ASM)
319
TGTDIR=		${WRKSRC}/release${ARCH}
214
MAKE_ARGS+=	NO_X86_ASM=YES
215
.endif
320
216
321
post-extract:
217
post-extract:
322
.if defined(WITH_XATRIX) || defined(WITH_ROGUE)
218
.for mp in ${Q2MP}
323
. for mp in ${Q2MP}
324
	@${MKDIR} ${WRKSRC}/src/${mp}
219
	@${MKDIR} ${WRKSRC}/src/${mp}
325
	@(cd ${WRKSRC}/src/${mp} && ${GUNZIP_CMD} -c \
220
	@(cd ${WRKSRC}/src/${mp} && ${GUNZIP_CMD} -c \
326
		${DISTDIR}/${DIST_SUBDIR}/source/${mp}src320.shar.Z > \
221
		${DISTDIR}/${DIST_SUBDIR}/${mp}src320.shar.Z > \
327
		${mp}src320.shar && ${SH} ./${mp}src320.shar)
222
		${mp}src320.shar && \
328
	@${REINPLACE_CMD} -e 's/__ $$/&|| defined __FreeBSD__/' \
223
		${TAIL} +${${mp:U}_OFF} ${mp}src320.shar | ${SH})
329
		${WRKSRC}/src/${mp}/q_shared.c
224
.endfor
330
. endfor
331
.endif
332
.if defined(WITH_ROGUE)
333
	@${REINPLACE_CMD} -e '/^#include <nan.h>/d' ${WRKSRC}/src/rogue/g_local.h
334
.endif
335
	@${REINPLACE_CMD} -e 's|/dev/js|/dev/joy|' ${WRKSRC}/src/linux/joystick.c
336
337
post-patch:
338
	@${REINPLACE_CMD} -e 's|%%%%BASEDIR%%%%|${DATADIR}|' ${WRKSRC}/src/qcommon/files.c
339
340
PLIST_SUB+=	ARCH="${ARCH}"
341
225
342
do-install:
226
do-install:
343
.for tgt in ${EXE_TARGETS}
227
.for tgt in ${EXE_TARGETS}
344
	${INSTALL_PROGRAM} ${TGTDIR}/${tgt} ${PREFIX}/bin
228
	${INSTALL_PROGRAM} ${TGTDIR}/${tgt} ${PREFIX}/bin
345
.endfor
229
.endfor
346
	@${MKDIR} ${DATADIR}/baseq2 ${DATADIR}/ctf
230
	${MKDIR} ${LIBDIR}
347
.for tgt in ${REF_TARGETS}
231
.for tgt in ${REF_TARGETS}
348
	${INSTALL_PROGRAM} ${TGTDIR}/ref_${tgt}.so ${DATADIR}
232
	${INSTALL_PROGRAM} ${TGTDIR}/ref_${tgt}.so ${LIBDIR}
349
.endfor
233
.endfor
350
.if !defined(WITHOUT_GAME)
351
	${INSTALL_PROGRAM} ${TGTDIR}/game${ARCH}.so ${DATADIR}/baseq2
352
.endif
353
.if defined(WITH_XATRIX) || defined(WITH_ROGUE)
354
. for mp in ${Q2MP}
355
	@${MKDIR} ${DATADIR}/${mp}
356
	${INSTALL_PROGRAM} ${TGTDIR}/${mp}/game${ARCH}.so ${DATADIR}/${mp}
357
. endfor
358
.endif
359
.if defined(WITH_CTF)
234
.if defined(WITH_CTF)
360
	${INSTALL_PROGRAM} ${TGTDIR}/ctf/game${ARCH}.so ${DATADIR}/ctf
235
	${MKDIR} ${LIBDIR}/ctf
236
	${INSTALL_PROGRAM} ${TGTDIR}/ctf/game.so ${LIBDIR}/ctf
361
.endif
237
.endif
362
.if defined(WITH_CTF_MAPS)
238
.if defined(WITH_EYECANDY)
363
	${UNZIP_CMD} -oj -d ${DATADIR}/ctf \
239
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/maxpak.pak ${DATADIR}/baseq2
364
		${DISTDIR}/${DIST_SUBDIR}/q2-3.20-x86-full-ctf.exe ctf/pak0.pak
240
.endif
365
.endif
241
.if defined(WITH_GAME)
366
.if defined(WITH_SHAREWARE_DATA)
242
	${MKDIR} ${LIBDIR}/baseq2
367
	@${MKDIR} ${DATADIR}/baseq2/players
243
	${INSTALL_PROGRAM} ${TGTDIR}/game.so ${LIBDIR}/baseq2
368
	${UNZIP_CMD} -oj -d ${DATADIR}/baseq2/players/female \
369
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
370
		Install/Data/baseq2/players/female/\*
371
	${UNZIP_CMD} -oj -d ${DATADIR}/baseq2/players/male \
372
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
373
		Install/Data/baseq2/players/male/\*
374
	${UNZIP_CMD} -oj -d ${DATADIR}/baseq2 \
375
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
376
		Install/Data/baseq2/pak0.pak
377
.endif
244
.endif
378
.if defined(WITH_RETEXTURE)
245
.if defined(WITH_RETEXTURE)
379
. for i in 10 11 12 13 14 16 17 19
246
.   for i in 10 11 12 13 14 16 17 19
380
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/pak${i}.pak ${DATADIR}/baseq2
247
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/pak${i}.pak ${DATADIR}/baseq2
381
. endfor
248
.   endfor
382
.endif
383
.if defined(WITH_EYECANDY)
384
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/maxpak.pak ${DATADIR}/baseq2
385
.endif
249
.endif
250
.for mp in ${Q2MP}
251
	${MKDIR} ${LIBDIR}/${mp}
252
	${INSTALL_PROGRAM} ${TGTDIR}/${mp}/game.so ${LIBDIR}/${mp}
253
.endfor
386
.if !defined(NOPORTDOCS)
254
.if !defined(NOPORTDOCS)
387
	@${MKDIR} ${DOCSDIR}
255
	@${MKDIR} ${DOCSDIR}
388
	${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
256
	${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
389
	${INSTALL_DATA} ${WRKSRC}/src/docs/README ${DOCSDIR}/README.320
257
	${INSTALL_DATA} ${WRKSRC}/src/docs/README ${DOCSDIR}/README.320
390
	${INSTALL_DATA} ${WRKSRC}/src/docs/joystick.txt ${DOCSDIR}
258
	${INSTALL_DATA} ${WRKSRC}/src/docs/joystick.txt ${DOCSDIR}
391
	${INSTALL_DATA} ${WRKSRC}/src/docs/quake2.3dfxgl ${DOCSDIR}
259
	${INSTALL_DATA} ${WRKSRC}/src/docs/quake2.3dfxgl ${DOCSDIR}
392
. if defined(WITH_MANUAL)
260
.endif
393
	${UNZIP_CMD} -oj -d ${DOCSDIR}/quake2_manual \
394
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
395
		Install/Data/DOCS/quake2_manual/\* \
396
		-x Install/Data/DOCS/quake2_manual/images\*
397
	${UNZIP_CMD} -oj -d ${DOCSDIR}/quake2_manual/images \
398
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
399
		Install/Data/DOCS/quake2_manual/images\*
400
	${UNZIP_CMD} -oj -d ${DOCSDIR} \
401
		${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
402
		Install/Data/DOCS/Manual.html
403
. endif
404
.endif
405
406
PKGMESSAGE=	${WRKDIR}/pkg-message
407
408
post-install:
409
	@${SED} -e 's|$${DATADIR}|${DATADIR}|g' ${.CURDIR}/pkg-message >${PKGMESSAGE}
410
	@${CAT} ${PKGMESSAGE}
411
261
412
.include <bsd.port.post.mk>
262
.include <bsd.port.post.mk>
(-)quake2lnx/distinfo (-8 / +4 lines)
Lines 18-28 Link Here
18
SIZE (quake2lnx/pak17.pak) = 1431798
18
SIZE (quake2lnx/pak17.pak) = 1431798
19
MD5 (quake2lnx/pak19.pak) = 070a4d00b93a2a427ca92adee2736000
19
MD5 (quake2lnx/pak19.pak) = 070a4d00b93a2a427ca92adee2736000
20
SIZE (quake2lnx/pak19.pak) = 648896
20
SIZE (quake2lnx/pak19.pak) = 648896
21
MD5 (quake2lnx/q2-314-demo-x86.exe) = 4d1cd4618e80a38db59304132ea0856c
21
MD5 (quake2lnx/roguesrc320.shar.Z) = 7d5e052839c9e629bad0a6570aa70554
22
SIZE (quake2lnx/q2-314-demo-x86.exe) = 39015499
22
SIZE (quake2lnx/roguesrc320.shar.Z) = 626769
23
MD5 (quake2lnx/q2-3.20-x86-full-ctf.exe) = 490557d4a90ff346a175d865a2bade87
23
MD5 (quake2lnx/xatrixsrc320.shar.Z) = 41fc4ecc4f25c068e7d1f488bd4a1e1a
24
SIZE (quake2lnx/q2-3.20-x86-full-ctf.exe) = 19267584
24
SIZE (quake2lnx/xatrixsrc320.shar.Z) = 455917
25
MD5 (quake2lnx/source/xatrixsrc320.shar.Z) = 41fc4ecc4f25c068e7d1f488bd4a1e1a
26
SIZE (quake2lnx/source/xatrixsrc320.shar.Z) = 455917
27
MD5 (quake2lnx/source/roguesrc320.shar.Z) = 7d5e052839c9e629bad0a6570aa70554
28
SIZE (quake2lnx/source/roguesrc320.shar.Z) = 626769
(-)quake2lnx/files/extra-patch-src_rogue_g__local.h (+10 lines)
Line 0 Link Here
1
--- src/rogue/g_local.h.orig	Mon Nov 30 17:53:20 1998
2
+++ src/rogue/g_local.h	Tue Sep 27 20:20:27 2005
3
@@ -22,7 +22,6 @@
4
 //==================================================================
5
 
6
 #ifndef _WIN32
7
-#include <nan.h>
8
 #define min(a,b) ((a) < (b) ? (a) : (b))
9
 #define max(a,b) ((a) > (b) ? (a) : (b))
10
 #ifdef __sun__
(-)quake2lnx/files/extra-patch-src_rogue_q__shared.c (+11 lines)
Line 0 Link Here
1
--- src/rogue/q_shared.c.orig	Mon Nov 30 17:53:34 1998
2
+++ src/rogue/q_shared.c	Tue Sep 27 20:03:24 2005
3
@@ -329,7 +329,7 @@
4
 Returns 1, 2, or 1 + 2
5
 ==================
6
 */
7
-#if !id386 || defined __linux__ 
8
+#if !id386 || defined __linux__ || defined __FreeBSD__
9
 int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
10
 {
11
 	float	dist1, dist2;
(-)quake2lnx/files/extra-patch-src_xatrix_q__shared.c (+11 lines)
Line 0 Link Here
1
--- src/xatrix/q_shared.c.orig	Mon Nov 30 17:55:36 1998
2
+++ src/xatrix/q_shared.c	Tue Sep 27 20:04:53 2005
3
@@ -326,7 +326,7 @@
4
 Returns 1, 2, or 1 + 2
5
 ==================
6
 */
7
-#if !id386 || defined __linux__ 
8
+#if !id386 || defined __linux__ || defined __FreeBSD__
9
 int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
10
 {
11
 	float	dist1, dist2;
(-)quake2lnx/files/patch-Makefile (-11 / +62 lines)
Lines 1-5 Link Here
1
--- Makefile.orig	Thu Oct 10 01:08:21 2002
1
--- Makefile.orig	Fri Sep 24 19:06:52 2004
2
+++ Makefile	Tue Jun 17 22:23:11 2003
2
+++ Makefile	Fri Oct  7 17:37:25 2005
3
@@ -12,30 +12,30 @@
3
@@ -12,30 +12,30 @@
4
 # (Note: not all options are available for all platforms).
4
 # (Note: not all options are available for all platforms).
5
 # quake2 (uses OSS for sound, cdrom ioctls for cd audio) is automatically built.
5
 # quake2 (uses OSS for sound, cdrom ioctls for cd audio) is automatically built.
Lines 51-57 Link Here
51
 
51
 
52
 # (hopefully) end of configurable options
52
 # (hopefully) end of configurable options
53
 
53
 
54
@@ -52,55 +52,11 @@
54
@@ -52,60 +52,16 @@
55
 endif
55
 endif
56
 endif
56
 endif
57
 
57
 
Lines 110-121 Link Here
110
 
110
 
111
 MOUNT_DIR=src
111
 MOUNT_DIR=src
112
 
112
 
113
-BUILD_DEBUG_DIR=debug$(ARCH)
114
-BUILD_RELEASE_DIR=release$(ARCH)
115
+BUILD_DEBUG_DIR=debug
116
+BUILD_RELEASE_DIR=release
117
 CLIENT_DIR=$(MOUNT_DIR)/client
118
 SERVER_DIR=$(MOUNT_DIR)/server
119
 REF_SOFT_DIR=$(MOUNT_DIR)/ref_soft
113
@@ -118,7 +74,7 @@
120
@@ -118,7 +74,7 @@
114
 ROGUE_DIR=$(MOUNT_DIR)/rogue
121
 ROGUE_DIR=$(MOUNT_DIR)/rogue
115
 NULL_DIR=$(MOUNT_DIR)/null
122
 NULL_DIR=$(MOUNT_DIR)/null
116
 
123
 
117
-BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp
124
-BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp
118
+BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp $(CFLAGS)
125
+BASE_CFLAGS=-pipe -Dstricmp=strcasecmp -DDATADIR='\"${DATADIR}\"' -DLIBDIR='\"${LIBDIR}\"' $(CFLAGS)
119
 ifeq ($(HAVE_IPV6),YES)
126
 ifeq ($(HAVE_IPV6),YES)
120
 BASE_CFLAGS+= -DHAVE_IPV6
127
 BASE_CFLAGS+= -DHAVE_IPV6
121
 ifeq ($(OSTYPE),FreeBSD)
128
 ifeq ($(OSTYPE),FreeBSD)
Lines 151-157 Link Here
151
+AALDFLAGS=-L${PREFIX}/lib -laa
158
+AALDFLAGS=-L${PREFIX}/lib -laa
152
 
159
 
153
-SDLCFLAGS=$(shell sdl-config --cflags)
160
-SDLCFLAGS=$(shell sdl-config --cflags)
154
+SDLCFLAGS=$(shell sdl11-config --cflags)
161
+SDLCFLAGS=$(shell ${SDL_CONFIG} --cflags)
155
 ifeq ($(strip $(STATICSDL)),YES)
162
 ifeq ($(strip $(STATICSDL)),YES)
156
-	SDLLDFLAGS += -L/usr/X11R6/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
163
-	SDLLDFLAGS += -L/usr/X11R6/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
157
+	SDLLDFLAGS += -L${X11BASE}/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
164
+	SDLLDFLAGS += -L${X11BASE}/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
Lines 160-166 Link Here
160
 		-lXinerama
167
 		-lXinerama
161
 else
168
 else
162
-	SDLLDFLAGS=$(shell sdl-config --libs)
169
-	SDLLDFLAGS=$(shell sdl-config --libs)
163
+	SDLLDFLAGS=$(shell sdl11-config --libs)
170
+	SDLLDFLAGS=$(shell ${SDL_CONFIG} --libs)
164
 endif
171
 endif
165
 
172
 
166
 ifeq ($(strip $(BUILD_JOYSTICK)),YES)
173
 ifeq ($(strip $(BUILD_JOYSTICK)),YES)
Lines 194-200 Link Here
194
 DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
201
 DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
195
 DO_SHLIB_AS=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
202
 DO_SHLIB_AS=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
196
 
203
 
197
@@ -224,10 +189,42 @@
204
@@ -224,168 +189,54 @@
198
 
205
 
199
 .PHONY : targets build_debug build_release clean clean-debug clean-release clean2
206
 .PHONY : targets build_debug build_release clean clean-debug clean-release clean2
200
 
207
 
Lines 232-245 Link Here
232
 endif
239
 endif
233
+
240
+
234
+ifeq ($(strip $(BUILD_GAME)),YES)
241
+ifeq ($(strip $(BUILD_GAME)),YES)
235
+ TARGETS += $(BUILDDIR)/game$(ARCH).$(SHLIBEXT)
242
+ TARGETS += $(BUILDDIR)/game.$(SHLIBEXT)
236
+endif
243
+endif
237
+
244
+
238
 ifeq ($(strip $(BUILD_CTFDLL)),YES)
245
 ifeq ($(strip $(BUILD_CTFDLL)),YES)
239
  TARGETS += $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
246
- TARGETS += $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
247
+ TARGETS += $(BUILDDIR)/ctf/game.$(SHLIBEXT)
240
 endif
248
 endif
241
@@ -240,152 +237,6 @@
249
 
242
  TARGETS += $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
250
 ifeq ($(strip $(BUILD_XATRIX)),YES)
251
- TARGETS += $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
252
+ TARGETS += $(BUILDDIR)/xatrix/game.$(SHLIBEXT)
253
 endif
254
 
255
 ifeq ($(strip $(BUILD_ROGUE)),YES)
256
- TARGETS += $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
257
+ TARGETS += $(BUILDDIR)/rogue/game.$(SHLIBEXT)
243
 endif
258
 endif
244
 
259
 
245
-ifeq ($(ARCH),axp)
260
-ifeq ($(ARCH),axp)
Lines 404-409 Link Here
404
 endif
419
 endif
405
 
420
 
406
 $(BUILDDIR)/quake2 : $(QUAKE2_OBJS) $(QUAKE2_LNX_OBJS) $(QUAKE2_AS_OBJS)
421
 $(BUILDDIR)/quake2 : $(QUAKE2_OBJS) $(QUAKE2_LNX_OBJS) $(QUAKE2_AS_OBJS)
422
@@ -821,7 +673,7 @@
423
 	$(BUILDDIR)/game/q_shared.o \
424
 	$(BUILDDIR)/game/m_flash.o
425
 
426
-$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
427
+$(BUILDDIR)/game.$(SHLIBEXT) : $(GAME_OBJS)
428
 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
429
 
430
 $(BUILDDIR)/game/g_ai.o :        $(GAME_DIR)/g_ai.c
431
@@ -1000,7 +852,7 @@
432
 	$(BUILDDIR)/ctf/p_weapon.o \
433
 	$(BUILDDIR)/ctf/q_shared.o
434
 
435
-$(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) : $(CTF_OBJS)
436
+$(BUILDDIR)/ctf/game.$(SHLIBEXT) : $(CTF_OBJS)
437
 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(CTF_OBJS)
438
 
439
 $(BUILDDIR)/ctf/g_ai.o :       $(CTF_DIR)/g_ai.c
440
@@ -1139,7 +991,7 @@
441
 	$(BUILDDIR)/xatrix/p_weapon.o \
442
 	$(BUILDDIR)/xatrix/q_shared.o
443
 
444
-$(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) : $(XATRIX_OBJS)
445
+$(BUILDDIR)/xatrix/game.$(SHLIBEXT) : $(XATRIX_OBJS)
446
 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(XATRIX_OBJS)
447
 
448
 $(BUILDDIR)/xatrix/g_ai.o :        $(XATRIX_DIR)/g_ai.c
449
@@ -1367,7 +1219,7 @@
450
 	$(BUILDDIR)/rogue/q_shared.o
451
 
452
 
453
-$(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT) : $(ROGUE_OBJS)
454
+$(BUILDDIR)/rogue/game.$(SHLIBEXT) : $(ROGUE_OBJS)
455
 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(ROGUE_OBJS)
456
 
457
 $(BUILDDIR)/rogue/dm_ball.o :      $(ROGUE_DIR)/dm_ball.c
407
@@ -1588,6 +1440,7 @@
458
@@ -1588,6 +1440,7 @@
408
 endif
459
 endif
409
 
460
 
(-)quake2lnx/files/patch-src::game::g_phys.c (-17 lines)
Lines 1-17 Link Here
1
--- src/game/g_phys.c.orig	Tue Mar 15 22:15:11 2005
2
+++ src/game/g_phys.c	Tue Mar 15 22:16:41 2005
3
@@ -356,7 +356,13 @@
4
 		mask = MASK_SOLID;
5
 
6
 	trace = gi.trace (start, ent->mins, ent->maxs, end, ent, mask);
7
-	
8
+
9
+	if (trace.startsolid || trace.allsolid)
10
+	{
11
+		mask ^= CONTENTS_DEADMONSTER;
12
+		trace = gi.trace (start, ent->mins, ent->maxs, end, ent, mask);
13
+	}
14
+
15
 	VectorCopy (trace.endpos, ent->s.origin);
16
 	gi.linkentity (ent);
17
 
(-)quake2lnx/files/patch-src::linux::gl_glx.c (-100 lines)
Lines 1-100 Link Here
1
--- src/linux/gl_glx.c.orig	Thu Oct 10 01:29:47 2002
2
+++ src/linux/gl_glx.c	Mon Jun 16 23:19:21 2003
3
@@ -475,6 +475,10 @@
4
 	in_state->Key_Event_fp (K_MWHEELUP, 1);
5
       else if (event.xbutton.button == 5)
6
 	in_state->Key_Event_fp (K_MWHEELDOWN, 1);
7
+      else if (event.xbutton.button == 6)
8
+	in_state->Key_Event_fp (K_MOUSE4, 1);
9
+      else if (event.xbutton.button == 7)
10
+	in_state->Key_Event_fp (K_MOUSE5, 1);
11
       if (b>=0 && in_state && in_state->Key_Event_fp)
12
 	in_state->Key_Event_fp (K_MOUSE1 + b, true);
13
       if (b>=0)
14
@@ -493,6 +497,10 @@
15
 	in_state->Key_Event_fp (K_MWHEELUP, 0);
16
       else if (event.xbutton.button == 5)
17
 	in_state->Key_Event_fp (K_MWHEELDOWN, 0);
18
+      else if (event.xbutton.button == 6)
19
+	in_state->Key_Event_fp (K_MOUSE4, 0);
20
+      else if (event.xbutton.button == 7)
21
+	in_state->Key_Event_fp (K_MOUSE5, 0);
22
       if (b>=0 && in_state && in_state->Key_Event_fp)
23
 	in_state->Key_Event_fp (K_MOUSE1 + b, false);
24
       if (b>=0)
25
@@ -1015,7 +1023,7 @@
26
 qboolean OpenJoystick(cvar_t *joy_dev) {
27
   int i, err;
28
   glob_t pglob;
29
-  struct js_event e;
30
+  struct joystick j;
31
 
32
   err = glob(joy_dev->string, 0, NULL, &pglob);
33
 
34
@@ -1030,7 +1038,7 @@
35
     default:
36
       ri.Con_Printf(PRINT_ALL, "Error #%d while looking for joysticks\n",err);
37
     }
38
-    return false;
39
+    goto out;
40
   }  
41
   
42
   for (i=0;i<pglob.gl_pathc;i++) {
43
@@ -1039,38 +1047,36 @@
44
     if (joy_fd == -1) {
45
       ri.Con_Printf(PRINT_ALL, "Error opening joystick dev %s\n", 
46
 		    pglob.gl_pathv[i]);
47
-      return false;
48
+      goto out;
49
     }
50
-    else {
51
-      while (read(joy_fd, &e, sizeof(struct js_event))!=-1 &&
52
-	     (e.type & JS_EVENT_INIT))
53
-	ri.Con_Printf(PRINT_ALL, "Read init event\n");
54
+    else if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
55
       ri.Con_Printf(PRINT_ALL, "Using joystick dev %s\n", pglob.gl_pathv[i]);
56
       return true;
57
     }
58
   }
59
+out:
60
   globfree(&pglob);
61
   return false;
62
 }
63
 
64
 void PlatformJoyCommands(int *axis_vals, int *axis_map) {
65
-  struct js_event e;
66
-  int key_index;
67
+  struct joystick j;
68
   in_state_t *in_state = getState();
69
-  
70
-  while (read(joy_fd, &e, sizeof(struct js_event))!=-1) {
71
-    if (JS_EVENT_BUTTON & e.type) {
72
-      key_index = (e.number < 4) ? K_JOY1 : K_AUX1;
73
-      if (e.value) {
74
-	in_state->Key_Event_fp (key_index + e.number, true);
75
-      }
76
-      else {
77
-	in_state->Key_Event_fp (key_index + e.number, false);
78
-      }
79
-    }
80
-    else if (JS_EVENT_AXIS & e.type) {
81
-      axis_vals[axis_map[e.number]] = e.value;
82
-    }
83
+
84
+  /*
85
+   * FreeBSD does not fully support multi-buttoned joysticks.
86
+   */
87
+  if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
88
+    if (j.b1)
89
+      in_state->Key_Event_fp (K_JOY1, true);
90
+    else
91
+      in_state->Key_Event_fp (K_JOY1, false);
92
+    if (j.b2)
93
+      in_state->Key_Event_fp (K_JOY2, true);
94
+    else
95
+      in_state->Key_Event_fp (K_JOY2, false);
96
+    axis_vals[axis_map[0]] = j.x;
97
+    axis_vals[axis_map[1]] = j.y;
98
   }
99
 }
100
 
(-)quake2lnx/files/patch-src::linux::rw_in_svgalib.c (-55 lines)
Lines 1-55 Link Here
1
--- src/linux/rw_in_svgalib.c.orig	Wed Oct  9 03:54:25 2002
2
+++ src/linux/rw_in_svgalib.c	Mon Jun 16 23:00:10 2003
3
@@ -20,7 +20,9 @@
4
 #include <termios.h>
5
 #include <sys/ioctl.h>
6
 #include <sys/stat.h>
7
+#ifdef __linux__
8
 #include <sys/vt.h>
9
+#endif
10
 #include <stdarg.h>
11
 #include <stdio.h>
12
 #include <signal.h>
13
@@ -145,26 +147,22 @@
14
 	// 84 to 86 not used
15
 	scantokey[ 87] = K_F11;
16
 	scantokey[ 88] = K_F12;
17
-	// 89 to 95 not used
18
-	scantokey[ 96] = K_KP_ENTER; //keypad enter
19
-	scantokey[ 97] = K_CTRL; //right
20
-	scantokey[ 98] = K_KP_SLASH;
21
-	scantokey[ 99] = K_F12; // print screen, bind to screenshot by default
22
-	scantokey[100] = K_ALT; // right
23
-
24
-	scantokey[101] = K_PAUSE; // break
25
-	scantokey[102] = K_HOME;
26
-	scantokey[103] = K_UPARROW;
27
-	scantokey[104] = K_PGUP;
28
-	scantokey[105] = K_LEFTARROW;
29
-	scantokey[106] = K_RIGHTARROW;
30
-	scantokey[107] = K_END;
31
-	scantokey[108] = K_DOWNARROW;
32
-	scantokey[109] = K_PGDN;
33
-	scantokey[110] = K_INS;
34
-	scantokey[111] = K_DEL;
35
-
36
-	scantokey[119] = K_PAUSE;
37
+	scantokey[ 89] = K_KP_ENTER; //keypad enter
38
+	scantokey[ 90] = K_CTRL; //right
39
+	scantokey[ 91] = K_KP_SLASH;
40
+	scantokey[ 92] = K_F12; // print screen, bind to screenshot by default
41
+	scantokey[ 93] = K_ALT; // right
42
+	scantokey[ 94] = K_HOME;
43
+	scantokey[ 95] = K_UPARROW;
44
+	scantokey[ 96] = K_PGUP;
45
+	scantokey[ 97] = K_LEFTARROW;
46
+	scantokey[ 98] = K_RIGHTARROW;
47
+	scantokey[ 99] = K_END;
48
+	scantokey[100] = K_DOWNARROW;
49
+	scantokey[101] = K_PGDN;
50
+	scantokey[102] = K_INS;
51
+	scantokey[103] = K_DEL;
52
+	scantokey[104] = K_PAUSE;
53
 
54
 	if (keyboard_init())
55
 		Sys_Error("keyboard_init() failed");
(-)quake2lnx/files/patch-src::linux::rw_linux.c (-13 lines)
Lines 1-13 Link Here
1
--- src/linux/rw_linux.c.orig	Sun Jan  2 09:46:35 2005
2
+++ src/linux/rw_linux.c	Wed Mar  9 17:40:28 2005
3
@@ -31,6 +31,10 @@
4
 static int mouse_buttonstate;
5
 static int mouse_oldbuttonstate;
6
 
7
+#ifdef OPENGL
8
+static cvar_t *use_stencil;
9
+#endif
10
+
11
 in_state_t *getState() {
12
   return in_state;
13
 }
(-)quake2lnx/files/patch-src::linux::rw_svgalib.c (-12 lines)
Lines 1-12 Link Here
1
--- src/linux/rw_svgalib.c.orig	Thu Jun 12 18:41:01 2003
2
+++ src/linux/rw_svgalib.c	Thu Jun 12 18:41:41 2003
3
@@ -36,7 +36,9 @@
4
 #include <termios.h>
5
 #include <sys/ioctl.h>
6
 #include <sys/stat.h>
7
+#ifdef __linux__
8
 #include <sys/vt.h>
9
+#endif
10
 #include <stdarg.h>
11
 #include <stdio.h>
12
 #include <signal.h>
(-)quake2lnx/files/patch-src::linux::rw_x11.c (-102 lines)
Lines 1-102 Link Here
1
--- src/linux/rw_x11.c.orig	Wed Oct  9 03:54:25 2002
2
+++ src/linux/rw_x11.c	Mon Jun 16 23:19:40 2003
3
@@ -446,7 +446,7 @@
4
 qboolean OpenJoystick(cvar_t *joy_dev) {
5
   int i, err;
6
   glob_t pglob;
7
-  struct js_event e;
8
+  struct joystick j;
9
 
10
   err = glob(joy_dev->string, 0, NULL, &pglob);
11
 
12
@@ -461,7 +461,7 @@
13
     default:
14
       ri.Con_Printf(PRINT_ALL, "Error #%d while looking for joysticks\n",err);
15
     }
16
-    return false;
17
+    goto out;
18
   }  
19
   
20
   for (i=0;i<pglob.gl_pathc;i++) {
21
@@ -470,16 +470,14 @@
22
     if (joy_fd == -1) {
23
       ri.Con_Printf(PRINT_ALL, "Error opening joystick dev %s\n", 
24
 		    pglob.gl_pathv[i]);
25
-      return false;
26
+      goto out;
27
     }
28
-    else {
29
-      while (read(joy_fd, &e, sizeof(struct js_event))!=-1 &&
30
-	     (e.type & JS_EVENT_INIT))
31
-	ri.Con_Printf(PRINT_ALL, "Read init event\n");
32
+    else if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
33
       ri.Con_Printf(PRINT_ALL, "Using joystick dev %s\n", pglob.gl_pathv[i]);
34
       return true;
35
     }
36
   }
37
+out:
38
   globfree(&pglob);
39
   return false;
40
 }
41
@@ -1014,6 +1012,10 @@
42
 	in_state->Key_Event_fp (K_MWHEELUP, 1);
43
       else if (event.xbutton.button == 5)
44
 	in_state->Key_Event_fp (K_MWHEELDOWN, 1);
45
+      else if (event.xbutton.button == 6)
46
+	in_state->Key_Event_fp (K_MOUSE4, 1);
47
+      else if (event.xbutton.button == 7)
48
+	in_state->Key_Event_fp (K_MOUSE5, 1);
49
       if (b>=0)
50
 	mouse_buttonstate |= 1<<b;
51
       break;
52
@@ -1030,6 +1032,10 @@
53
 	in_state->Key_Event_fp (K_MWHEELUP, 0);
54
       else if (event.xbutton.button == 5)
55
 	in_state->Key_Event_fp (K_MWHEELDOWN, 0);
56
+      else if (event.xbutton.button == 6)
57
+	in_state->Key_Event_fp (K_MOUSE4, 0);
58
+      else if (event.xbutton.button == 7)
59
+	in_state->Key_Event_fp (K_MOUSE5, 0);
60
       if (b>=0)
61
 	mouse_buttonstate &= ~(1<<b);
62
       break;
63
@@ -1969,23 +1975,23 @@
64
 
65
 #ifdef Joystick
66
 void PlatformJoyCommands(int *axis_vals, int *axis_map) {
67
-  struct js_event e;
68
-  int key_index;
69
+  struct joystick j;
70
   in_state_t *in_state = getState();
71
-  
72
-  while (read(joy_fd, &e, sizeof(struct js_event))!=-1) {
73
-    if (JS_EVENT_BUTTON & e.type) {
74
-      key_index = (e.number < 4) ? K_JOY1 : K_AUX1;
75
-      if (e.value) {
76
-	in_state->Key_Event_fp (key_index + e.number, true);
77
-      }
78
-      else {
79
-	in_state->Key_Event_fp (key_index + e.number, false);
80
-      }
81
-    }
82
-    else if (JS_EVENT_AXIS & e.type) {
83
-      axis_vals[axis_map[e.number]] = e.value;
84
-    }
85
+
86
+  /*
87
+   * FreeBSD does not fully support multi-buttoned joysticks.
88
+   */
89
+  if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
90
+    if (j.b1)
91
+      in_state->Key_Event_fp (K_JOY1, true);
92
+    else
93
+      in_state->Key_Event_fp (K_JOY1, false);
94
+    if (j.b2)
95
+      in_state->Key_Event_fp (K_JOY2, true);
96
+    else
97
+      in_state->Key_Event_fp (K_JOY2, false);
98
+    axis_vals[axis_map[0]] = j.x;
99
+    axis_vals[axis_map[1]] = j.y;
100
   }
101
 }
102
 #endif
(-)quake2lnx/files/patch-src::linux::sys_linux.c (-22 lines)
Lines 1-22 Link Here
1
--- src/linux/sys_linux.c.orig	Sun Feb  1 19:06:29 2004
2
+++ src/linux/sys_linux.c	Sun Feb  1 19:18:07 2004
3
@@ -217,14 +217,16 @@
4
 	char	*str_p;
5
 #if defined __i386__
6
 	const char *gamename = "gamei386.so";
7
-#elif defined __x86_64__
8
-	const char *gamename = "gamex86_64.so";
9
+#elif defined __amd64__
10
+	const char *gamename = "gameamd64.so";
11
 #elif defined __alpha__
12
-	const char *gamename = "gameaxp.so";
13
+	const char *gamename = "gamealpha.so";
14
 #elif defined __powerpc__
15
 	const char *gamename = "gameppc.so";
16
 #elif defined __sparc__
17
 	const char *gamename = "gamesparc.so";
18
+#elif defined __ia64__
19
+	const char *gamename = "gameia64.so";
20
 #else
21
 #error Unknown arch
22
 #endif
(-)quake2lnx/files/patch-src::qcommon::files.c (-14 lines)
Lines 1-14 Link Here
1
--- src/qcommon/files.c.orig	Wed Oct  9 03:54:25 2002
2
+++ src/qcommon/files.c	Sat Jun 28 12:30:57 2003
3
@@ -898,7 +898,11 @@
4
 	// basedir <path>
5
 	// allows the game to run from outside the data tree
6
 	//
7
+#ifdef DEDICATED_ONLY
8
 	fs_basedir = Cvar_Get ("basedir", ".", CVAR_NOSET);
9
+#else
10
+	fs_basedir = Cvar_Get ("basedir", "%%%%BASEDIR%%%%", CVAR_NOSET);
11
+#endif
12
 
13
 	//
14
 	// cddir <path>
(-)quake2lnx/files/patch-src_game_g__phys.c (+17 lines)
Line 0 Link Here
1
--- src/game/g_phys.c.orig	Tue Mar 15 22:15:11 2005
2
+++ src/game/g_phys.c	Tue Mar 15 22:16:41 2005
3
@@ -356,7 +356,13 @@
4
 		mask = MASK_SOLID;
5
 
6
 	trace = gi.trace (start, ent->mins, ent->maxs, end, ent, mask);
7
-	
8
+
9
+	if (trace.startsolid || trace.allsolid)
10
+	{
11
+		mask ^= CONTENTS_DEADMONSTER;
12
+		trace = gi.trace (start, ent->mins, ent->maxs, end, ent, mask);
13
+	}
14
+
15
 	VectorCopy (trace.endpos, ent->s.origin);
16
 	gi.linkentity (ent);
17
 
(-)quake2lnx/files/patch-src_linux_gl__glx.c (+100 lines)
Line 0 Link Here
1
--- src/linux/gl_glx.c.orig	Thu Oct 10 01:29:47 2002
2
+++ src/linux/gl_glx.c	Mon Jun 16 23:19:21 2003
3
@@ -475,6 +475,10 @@
4
 	in_state->Key_Event_fp (K_MWHEELUP, 1);
5
       else if (event.xbutton.button == 5)
6
 	in_state->Key_Event_fp (K_MWHEELDOWN, 1);
7
+      else if (event.xbutton.button == 6)
8
+	in_state->Key_Event_fp (K_MOUSE4, 1);
9
+      else if (event.xbutton.button == 7)
10
+	in_state->Key_Event_fp (K_MOUSE5, 1);
11
       if (b>=0 && in_state && in_state->Key_Event_fp)
12
 	in_state->Key_Event_fp (K_MOUSE1 + b, true);
13
       if (b>=0)
14
@@ -493,6 +497,10 @@
15
 	in_state->Key_Event_fp (K_MWHEELUP, 0);
16
       else if (event.xbutton.button == 5)
17
 	in_state->Key_Event_fp (K_MWHEELDOWN, 0);
18
+      else if (event.xbutton.button == 6)
19
+	in_state->Key_Event_fp (K_MOUSE4, 0);
20
+      else if (event.xbutton.button == 7)
21
+	in_state->Key_Event_fp (K_MOUSE5, 0);
22
       if (b>=0 && in_state && in_state->Key_Event_fp)
23
 	in_state->Key_Event_fp (K_MOUSE1 + b, false);
24
       if (b>=0)
25
@@ -1015,7 +1023,7 @@
26
 qboolean OpenJoystick(cvar_t *joy_dev) {
27
   int i, err;
28
   glob_t pglob;
29
-  struct js_event e;
30
+  struct joystick j;
31
 
32
   err = glob(joy_dev->string, 0, NULL, &pglob);
33
 
34
@@ -1030,7 +1038,7 @@
35
     default:
36
       ri.Con_Printf(PRINT_ALL, "Error #%d while looking for joysticks\n",err);
37
     }
38
-    return false;
39
+    goto out;
40
   }  
41
   
42
   for (i=0;i<pglob.gl_pathc;i++) {
43
@@ -1039,38 +1047,36 @@
44
     if (joy_fd == -1) {
45
       ri.Con_Printf(PRINT_ALL, "Error opening joystick dev %s\n", 
46
 		    pglob.gl_pathv[i]);
47
-      return false;
48
+      goto out;
49
     }
50
-    else {
51
-      while (read(joy_fd, &e, sizeof(struct js_event))!=-1 &&
52
-	     (e.type & JS_EVENT_INIT))
53
-	ri.Con_Printf(PRINT_ALL, "Read init event\n");
54
+    else if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
55
       ri.Con_Printf(PRINT_ALL, "Using joystick dev %s\n", pglob.gl_pathv[i]);
56
       return true;
57
     }
58
   }
59
+out:
60
   globfree(&pglob);
61
   return false;
62
 }
63
 
64
 void PlatformJoyCommands(int *axis_vals, int *axis_map) {
65
-  struct js_event e;
66
-  int key_index;
67
+  struct joystick j;
68
   in_state_t *in_state = getState();
69
-  
70
-  while (read(joy_fd, &e, sizeof(struct js_event))!=-1) {
71
-    if (JS_EVENT_BUTTON & e.type) {
72
-      key_index = (e.number < 4) ? K_JOY1 : K_AUX1;
73
-      if (e.value) {
74
-	in_state->Key_Event_fp (key_index + e.number, true);
75
-      }
76
-      else {
77
-	in_state->Key_Event_fp (key_index + e.number, false);
78
-      }
79
-    }
80
-    else if (JS_EVENT_AXIS & e.type) {
81
-      axis_vals[axis_map[e.number]] = e.value;
82
-    }
83
+
84
+  /*
85
+   * FreeBSD does not fully support multi-buttoned joysticks.
86
+   */
87
+  if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
88
+    if (j.b1)
89
+      in_state->Key_Event_fp (K_JOY1, true);
90
+    else
91
+      in_state->Key_Event_fp (K_JOY1, false);
92
+    if (j.b2)
93
+      in_state->Key_Event_fp (K_JOY2, true);
94
+    else
95
+      in_state->Key_Event_fp (K_JOY2, false);
96
+    axis_vals[axis_map[0]] = j.x;
97
+    axis_vals[axis_map[1]] = j.y;
98
   }
99
 }
100
 
(-)quake2lnx/files/patch-src_linux_joystick.c (+11 lines)
Line 0 Link Here
1
--- src/linux/joystick.c.orig	Thu Jan 27 19:35:20 2005
2
+++ src/linux/joystick.c	Tue Sep 27 20:21:45 2005
3
@@ -75,7 +75,7 @@
4
   in_joystick = ri.Cvar_Get ("in_joystick", "1", CVAR_ARCHIVE);
5
   if (in_joystick->value) {
6
     joy_name = ri.Cvar_Get ("joy_name", "joystick", 0);
7
-    joy_dev = ri.Cvar_Get ("joy_dev","/dev/js*",CVAR_ARCHIVE);
8
+    joy_dev = ri.Cvar_Get ("joy_dev","/dev/joy*",CVAR_ARCHIVE);
9
     joy_advanced = ri.Cvar_Get ("joy_advanced","0",0);
10
     joy_advaxisx = ri.Cvar_Get ("joy_advaxisx","4",0);
11
     joy_advaxisy = ri.Cvar_Get ("joy_advaxisy","2",0);
(-)quake2lnx/files/patch-src_linux_rw__in__svgalib.c (+55 lines)
Line 0 Link Here
1
--- src/linux/rw_in_svgalib.c.orig	Wed Oct  9 03:54:25 2002
2
+++ src/linux/rw_in_svgalib.c	Mon Jun 16 23:00:10 2003
3
@@ -20,7 +20,9 @@
4
 #include <termios.h>
5
 #include <sys/ioctl.h>
6
 #include <sys/stat.h>
7
+#ifdef __linux__
8
 #include <sys/vt.h>
9
+#endif
10
 #include <stdarg.h>
11
 #include <stdio.h>
12
 #include <signal.h>
13
@@ -145,26 +147,22 @@
14
 	// 84 to 86 not used
15
 	scantokey[ 87] = K_F11;
16
 	scantokey[ 88] = K_F12;
17
-	// 89 to 95 not used
18
-	scantokey[ 96] = K_KP_ENTER; //keypad enter
19
-	scantokey[ 97] = K_CTRL; //right
20
-	scantokey[ 98] = K_KP_SLASH;
21
-	scantokey[ 99] = K_F12; // print screen, bind to screenshot by default
22
-	scantokey[100] = K_ALT; // right
23
-
24
-	scantokey[101] = K_PAUSE; // break
25
-	scantokey[102] = K_HOME;
26
-	scantokey[103] = K_UPARROW;
27
-	scantokey[104] = K_PGUP;
28
-	scantokey[105] = K_LEFTARROW;
29
-	scantokey[106] = K_RIGHTARROW;
30
-	scantokey[107] = K_END;
31
-	scantokey[108] = K_DOWNARROW;
32
-	scantokey[109] = K_PGDN;
33
-	scantokey[110] = K_INS;
34
-	scantokey[111] = K_DEL;
35
-
36
-	scantokey[119] = K_PAUSE;
37
+	scantokey[ 89] = K_KP_ENTER; //keypad enter
38
+	scantokey[ 90] = K_CTRL; //right
39
+	scantokey[ 91] = K_KP_SLASH;
40
+	scantokey[ 92] = K_F12; // print screen, bind to screenshot by default
41
+	scantokey[ 93] = K_ALT; // right
42
+	scantokey[ 94] = K_HOME;
43
+	scantokey[ 95] = K_UPARROW;
44
+	scantokey[ 96] = K_PGUP;
45
+	scantokey[ 97] = K_LEFTARROW;
46
+	scantokey[ 98] = K_RIGHTARROW;
47
+	scantokey[ 99] = K_END;
48
+	scantokey[100] = K_DOWNARROW;
49
+	scantokey[101] = K_PGDN;
50
+	scantokey[102] = K_INS;
51
+	scantokey[103] = K_DEL;
52
+	scantokey[104] = K_PAUSE;
53
 
54
 	if (keyboard_init())
55
 		Sys_Error("keyboard_init() failed");
(-)quake2lnx/files/patch-src_linux_rw__linux.c (+13 lines)
Line 0 Link Here
1
--- src/linux/rw_linux.c.orig	Sun Jan  2 09:46:35 2005
2
+++ src/linux/rw_linux.c	Wed Mar  9 17:40:28 2005
3
@@ -31,6 +31,10 @@
4
 static int mouse_buttonstate;
5
 static int mouse_oldbuttonstate;
6
 
7
+#ifdef OPENGL
8
+static cvar_t *use_stencil;
9
+#endif
10
+
11
 in_state_t *getState() {
12
   return in_state;
13
 }
(-)quake2lnx/files/patch-src_linux_rw__svgalib.c (+12 lines)
Line 0 Link Here
1
--- src/linux/rw_svgalib.c.orig	Thu Jun 12 18:41:01 2003
2
+++ src/linux/rw_svgalib.c	Thu Jun 12 18:41:41 2003
3
@@ -36,7 +36,9 @@
4
 #include <termios.h>
5
 #include <sys/ioctl.h>
6
 #include <sys/stat.h>
7
+#ifdef __linux__
8
 #include <sys/vt.h>
9
+#endif
10
 #include <stdarg.h>
11
 #include <stdio.h>
12
 #include <signal.h>
(-)quake2lnx/files/patch-src_linux_rw__x11.c (+102 lines)
Line 0 Link Here
1
--- src/linux/rw_x11.c.orig	Wed Oct  9 03:54:25 2002
2
+++ src/linux/rw_x11.c	Mon Jun 16 23:19:40 2003
3
@@ -446,7 +446,7 @@
4
 qboolean OpenJoystick(cvar_t *joy_dev) {
5
   int i, err;
6
   glob_t pglob;
7
-  struct js_event e;
8
+  struct joystick j;
9
 
10
   err = glob(joy_dev->string, 0, NULL, &pglob);
11
 
12
@@ -461,7 +461,7 @@
13
     default:
14
       ri.Con_Printf(PRINT_ALL, "Error #%d while looking for joysticks\n",err);
15
     }
16
-    return false;
17
+    goto out;
18
   }  
19
   
20
   for (i=0;i<pglob.gl_pathc;i++) {
21
@@ -470,16 +470,14 @@
22
     if (joy_fd == -1) {
23
       ri.Con_Printf(PRINT_ALL, "Error opening joystick dev %s\n", 
24
 		    pglob.gl_pathv[i]);
25
-      return false;
26
+      goto out;
27
     }
28
-    else {
29
-      while (read(joy_fd, &e, sizeof(struct js_event))!=-1 &&
30
-	     (e.type & JS_EVENT_INIT))
31
-	ri.Con_Printf(PRINT_ALL, "Read init event\n");
32
+    else if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
33
       ri.Con_Printf(PRINT_ALL, "Using joystick dev %s\n", pglob.gl_pathv[i]);
34
       return true;
35
     }
36
   }
37
+out:
38
   globfree(&pglob);
39
   return false;
40
 }
41
@@ -1014,6 +1012,10 @@
42
 	in_state->Key_Event_fp (K_MWHEELUP, 1);
43
       else if (event.xbutton.button == 5)
44
 	in_state->Key_Event_fp (K_MWHEELDOWN, 1);
45
+      else if (event.xbutton.button == 6)
46
+	in_state->Key_Event_fp (K_MOUSE4, 1);
47
+      else if (event.xbutton.button == 7)
48
+	in_state->Key_Event_fp (K_MOUSE5, 1);
49
       if (b>=0)
50
 	mouse_buttonstate |= 1<<b;
51
       break;
52
@@ -1030,6 +1032,10 @@
53
 	in_state->Key_Event_fp (K_MWHEELUP, 0);
54
       else if (event.xbutton.button == 5)
55
 	in_state->Key_Event_fp (K_MWHEELDOWN, 0);
56
+      else if (event.xbutton.button == 6)
57
+	in_state->Key_Event_fp (K_MOUSE4, 0);
58
+      else if (event.xbutton.button == 7)
59
+	in_state->Key_Event_fp (K_MOUSE5, 0);
60
       if (b>=0)
61
 	mouse_buttonstate &= ~(1<<b);
62
       break;
63
@@ -1969,23 +1975,23 @@
64
 
65
 #ifdef Joystick
66
 void PlatformJoyCommands(int *axis_vals, int *axis_map) {
67
-  struct js_event e;
68
-  int key_index;
69
+  struct joystick j;
70
   in_state_t *in_state = getState();
71
-  
72
-  while (read(joy_fd, &e, sizeof(struct js_event))!=-1) {
73
-    if (JS_EVENT_BUTTON & e.type) {
74
-      key_index = (e.number < 4) ? K_JOY1 : K_AUX1;
75
-      if (e.value) {
76
-	in_state->Key_Event_fp (key_index + e.number, true);
77
-      }
78
-      else {
79
-	in_state->Key_Event_fp (key_index + e.number, false);
80
-      }
81
-    }
82
-    else if (JS_EVENT_AXIS & e.type) {
83
-      axis_vals[axis_map[e.number]] = e.value;
84
-    }
85
+
86
+  /*
87
+   * FreeBSD does not fully support multi-buttoned joysticks.
88
+   */
89
+  if (read(joy_fd, &j, sizeof(struct joystick)) != -1) {
90
+    if (j.b1)
91
+      in_state->Key_Event_fp (K_JOY1, true);
92
+    else
93
+      in_state->Key_Event_fp (K_JOY1, false);
94
+    if (j.b2)
95
+      in_state->Key_Event_fp (K_JOY2, true);
96
+    else
97
+      in_state->Key_Event_fp (K_JOY2, false);
98
+    axis_vals[axis_map[0]] = j.x;
99
+    axis_vals[axis_map[1]] = j.y;
100
   }
101
 }
102
 #endif
(-)quake2lnx/files/patch-src_linux_sys__linux.c (+23 lines)
Line 0 Link Here
1
--- src/linux/sys_linux.c.orig	Sun Sep 12 15:26:29 2004
2
+++ src/linux/sys_linux.c	Fri Oct  7 17:32:46 2005
3
@@ -215,19 +215,7 @@
4
 	char	name[MAX_OSPATH];
5
 	char	*path;
6
 	char	*str_p;
7
-#if defined __i386__
8
-	const char *gamename = "gamei386.so";
9
-#elif defined __x86_64__
10
-	const char *gamename = "gamex86_64.so";
11
-#elif defined __alpha__
12
-	const char *gamename = "gameaxp.so";
13
-#elif defined __powerpc__
14
-	const char *gamename = "gameppc.so";
15
-#elif defined __sparc__
16
-	const char *gamename = "gamesparc.so";
17
-#else
18
-#error Unknown arch
19
-#endif
20
+	const char *gamename = "game.so";
21
 
22
 	setreuid(getuid(), getuid());
23
 	setegid(getgid());
(-)quake2lnx/files/patch-src_linux_vid_so.c (+34 lines)
Line 0 Link Here
1
--- src/linux/vid_so.c.orig	Fri Sep 24 19:11:44 2004
2
+++ src/linux/vid_so.c	Tue Sep 27 19:28:29 2005
3
@@ -216,7 +216,6 @@
4
 	refimport_t	ri;
5
 	GetRefAPI_t	GetRefAPI;
6
 	char	fn[MAX_OSPATH];
7
-	char	*path;
8
 	struct stat st;
9
 	extern uid_t saved_euid;
10
 	
11
@@ -237,9 +236,7 @@
12
 	//regain root
13
 	seteuid(saved_euid);
14
 
15
-	path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
16
-
17
-	snprintf (fn, MAX_OSPATH, "%s/%s", path, name );
18
+	snprintf (fn, MAX_OSPATH, LIBDIR"/%s", name );
19
 	
20
 	if (stat(fn, &st) == -1) {
21
 		Com_Printf( "LoadLibrary(\"%s\") failed: %s\n", name, strerror(errno));
22
@@ -490,11 +487,9 @@
23
 qboolean VID_CheckRefExists (const char *ref)
24
 {
25
 	char	fn[MAX_OSPATH];
26
-	char	*path;
27
 	struct stat st;
28
 
29
-	path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
30
-	snprintf (fn, MAX_OSPATH, "%s/ref_%s.so", path, ref );
31
+	snprintf (fn, MAX_OSPATH, LIBDIR"/ref_%s.so", ref );
32
 	
33
 	if (stat(fn, &st) == 0)
34
 		return true;
(-)quake2lnx/files/patch-src_qcommon_files.c (+12 lines)
Line 0 Link Here
1
--- src/qcommon/files.c.orig	Sun Jan  2 00:38:12 2005
2
+++ src/qcommon/files.c	Tue Sep 27 18:25:41 2005
3
@@ -912,7 +912,8 @@
4
 	//
5
 	// add baseq2 to search path
6
 	//
7
-	FS_AddGameDirectory (va("%s/"BASEDIRNAME, fs_basedir->string) );
8
+	FS_AddGameDirectory(LIBDIR"/"BASEDIRNAME);
9
+	FS_AddGameDirectory(DATADIR"/"BASEDIRNAME);
10
 
11
 	//
12
 	// then add a '.quake2/baseq2' directory in home directory by default
(-)quake2lnx/pkg-message (-17 lines)
Lines 1-17 Link Here
1
===================================================
2
3
    Install additional mission paks and mods in
4
    ${DATADIR}/ directory.
5
6
    You must also own full (registered) version
7
    of Quake II, or rebuild the port with "make
8
    -DWITH_SHAREWARE_DATA" to install demo ver-
9
    sion data files.  Note that you do not need
10
    full version to run dedicated server.
11
12
    If you decide to build Xatrix/Rogue mission
13
    packs, you'll need to copy their data files
14
    to ${DATADIR}/xatrix|rogue/
15
    directory from installation CD.
16
17
===================================================
(-)quake2lnx/pkg-plist (-212 / +20 lines)
Lines 1-16 Link Here
1
@comment === EXECUTABLES ===
1
%%SERVER%%bin/q2ded
2
%%CLIENT%%bin/quake2
2
%%CLIENT%%bin/quake2
3
%%SDLCLIENT%%bin/sdlquake2
3
%%SDLCLIENT%%bin/sdlquake2
4
%%SERVER%%bin/q2ded
4
%%GAME%%%%LIBDIR%%/baseq2/game.so
5
@comment === RENDERERS ===
5
%%CTF%%%%LIBDIR%%/ctf/game.so
6
%%SVGA%%%%DATADIR%%/ref_soft.so
6
%%ROGUE%%%%LIBDIR%%/rogue/game.so
7
%%SDL%%%%DATADIR%%/ref_softsdl.so
7
%%XATRIX%%%%LIBDIR%%/xatrix/game.so
8
%%SDLGL%%%%DATADIR%%/ref_sdlgl.so
8
%%GLX%%%%LIBDIR%%/ref_glx.so
9
%%X11%%%%DATADIR%%/ref_softx.so
9
%%SDLGL%%%%LIBDIR%%/ref_sdlgl.so
10
%%GLX%%%%DATADIR%%/ref_glx.so
10
%%SVGA%%%%LIBDIR%%/ref_soft.so
11
%%AA%%%%DATADIR%%/ref_softaa.so
11
%%AA%%%%LIBDIR%%/ref_softaa.so
12
@comment === DATA ===
12
%%SDL%%%%LIBDIR%%/ref_softsdl.so
13
%%GAME%%%%DATADIR%%/baseq2/game%%ARCH%%.so
13
%%X11%%%%LIBDIR%%/ref_softx.so
14
%%PORTDOCS%%%%DOCSDIR%%/README
15
%%PORTDOCS%%%%DOCSDIR%%/README.320
16
%%PORTDOCS%%%%DOCSDIR%%/joystick.txt
17
%%PORTDOCS%%%%DOCSDIR%%/quake2.3dfxgl
14
%%QMAX%%%%DATADIR%%/baseq2/maxpak.pak
18
%%QMAX%%%%DATADIR%%/baseq2/maxpak.pak
15
%%RETEX%%%%DATADIR%%/baseq2/pak10.pak
19
%%RETEX%%%%DATADIR%%/baseq2/pak10.pak
16
%%RETEX%%%%DATADIR%%/baseq2/pak11.pak
20
%%RETEX%%%%DATADIR%%/baseq2/pak11.pak
Lines 20-224 Link Here
20
%%RETEX%%%%DATADIR%%/baseq2/pak16.pak
24
%%RETEX%%%%DATADIR%%/baseq2/pak16.pak
21
%%RETEX%%%%DATADIR%%/baseq2/pak17.pak
25
%%RETEX%%%%DATADIR%%/baseq2/pak17.pak
22
%%RETEX%%%%DATADIR%%/baseq2/pak19.pak
26
%%RETEX%%%%DATADIR%%/baseq2/pak19.pak
23
%%SHAREWARE%%%%DATADIR%%/baseq2/pak0.pak
24
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/athena.pcx
25
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/athena_i.pcx
26
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/brianna.pcx
27
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/brianna_i.pcx
28
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/cobalt.pcx
29
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/cobalt_i.pcx
30
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/doomgal.pcx
31
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/doomgal_i.pcx
32
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/ensign.pcx
33
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/ensign_i.pcx
34
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jezebel.pcx
35
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jezebel_i.pcx
36
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jungle.pcx
37
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jungle_i.pcx
38
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/lotus.pcx
39
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/lotus_i.pcx
40
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/stiletto.pcx
41
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/stiletto_i.pcx
42
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/tris.md2
43
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/venus.pcx
44
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/venus_i.pcx
45
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/voodoo.pcx
46
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/voodoo_i.pcx
47
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/weapon.md2
48
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/weapon.pcx
49
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/cipher.pcx
50
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/cipher_i.pcx
51
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/claymore.pcx
52
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/claymore_i.pcx
53
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/flak.pcx
54
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/flak_i.pcx
55
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/grunt.pcx
56
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/grunt_i.pcx
57
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/howitzer.pcx
58
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/howitzer_i.pcx
59
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/major.pcx
60
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/major_i.pcx
61
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/nightops.pcx
62
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/nightops_i.pcx
63
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/pointman.pcx
64
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/pointman_i.pcx
65
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/psycho.pcx
66
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/psycho_i.pcx
67
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/rampage.pcx
68
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/rampage_i.pcx
69
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/razor.pcx
70
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/razor_i.pcx
71
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/recon.pcx
72
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/recon_i.pcx
73
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/scout.pcx
74
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/scout_i.pcx
75
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/skin.pcx
76
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/sniper.pcx
77
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/sniper_i.pcx
78
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/tris.md2
79
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/viper.pcx
80
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/viper_i.pcx
81
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/weapon.md2
82
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/weapon.pcx
83
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players/male
84
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players/female
85
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players
86
@dirrm %%DATADIR%%/baseq2
87
%%CTF%%%%DATADIR%%/ctf/game%%ARCH%%.so
88
%%CTFMAPS%%%%DATADIR%%/ctf/pak0.pak
89
@dirrm %%DATADIR%%/ctf
90
%%XATRIX%%%%DATADIR%%/xatrix/game%%ARCH%%.so
91
%%XATRIX%%@dirrm %%DATADIR%%/xatrix
92
%%ROGUE%%%%DATADIR%%/rogue/game%%ARCH%%.so
93
%%ROGUE%%@dirrm %%DATADIR%%/rogue
94
@dirrm %%DATADIR%%
95
@comment === DOCS ===
96
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/bottom.html
97
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/credits.html
98
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/customer_support.html
99
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_barracuda_shark.html
100
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_berserker.html
101
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_brains.html
102
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_enforcer.html
103
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_flyer.html
104
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_gladiator.html
105
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_gunner.html
106
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_icarus.html
107
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_iron_maiden.html
108
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_light_guard.html
109
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_machinegun_guard.html
110
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_medic.html
111
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_mutant.html
112
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/adrenaline.gif
113
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/amor_body.gif
114
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_combat.gif
115
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_jacket.gif
116
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_shard.gif
117
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bandoleer.gif
118
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/barracuda_shark.gif
119
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/berserker.gif
120
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bfg.gif
121
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/blaster.gif
122
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bluekey.gif
123
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bottom_id_link_transparent.gif
124
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/brains.gif
125
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/breather.gif
126
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bullets.gif
127
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/buttons.jpg
128
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/cells.gif
129
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/chaingun.gif
130
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/commandant_james.gif
131
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/credits_main.gif
132
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/door.jpg
133
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/elevator_base_exit_sign.jpg
134
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/enemy_groupshot.gif
135
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/energy_armour.gif
136
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/enforcer.gif
137
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/envirosuit.gif
138
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/explosive_barrels.jpg
139
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/first_aid.gif
140
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/flyer.gif
141
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/gladiator.gif
142
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/grenades.gif
143
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/grenade_launcher.gif
144
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/gunner.gif
145
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/hand_grenade.gif
146
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/heavy_pack.gif
147
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/hyper_blaster.gif
148
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/icarus.gif
149
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/invulnerability.gif
150
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/iron_maiden.gif
151
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/lava.jpg
152
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/lever.jpg
153
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/light_guard.gif
154
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/machinegun.gif
155
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/machinegun_guard.gif
156
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/main_cover_image.gif
157
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_back.jpg
158
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_bottom.jpg
159
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_cover_image.jpg
160
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_top.jpg
161
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/medic.gif
162
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/medkit.gif
163
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/mega_health.gif
164
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/menu.gif
165
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_main.jpg
166
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_menu1.gif
167
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_screen1.gif
168
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/mutant.gif
169
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/no_data.jpg
170
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/options_menu.gif
171
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/parasite.gif
172
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/player_properties_screen1.gif
173
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/quad_damage.gif
174
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rail_gun.gif
175
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rockets.gif
176
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rocket_launcher.gif
177
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/secret_door.jpg
178
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shells.gif
179
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shotgun.gif
180
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shotgun_guard.gif
181
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/silencer.gif
182
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/slime.jpg
183
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/start_network_server_screen1.gif
184
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/stimpack.gif
185
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/story_main.jpg
186
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_1.jpg
187
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_2.jpg
188
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_3.jpg
189
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/supershotgun.gif
190
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/tank.gif
191
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/tank_commander.gif
192
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/technician.gif
193
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/top_nav_imagemap.gif
194
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/unit_exit_door.jpg
195
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/water.jpg
196
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_parasite.html
197
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_shotgun_guard.html
198
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_tank.html
199
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_tank_commander.html
200
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_technician.html
201
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief.html
202
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief2.html
203
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief3.html
204
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief4.html
205
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief5.html
206
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief6.html
207
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief7.html
208
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief8.html
209
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief_enemy.html
210
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/main.html
211
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/multiplayer.html
212
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/page_index.html
213
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/story.html
214
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/setup_controls_screenmenus.html
215
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/technical_information.html
216
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/top_nav.html
217
%%PORTDOCS%%%%MANUAL%%@dirrm %%DOCSDIR%%/quake2_manual/images
218
%%PORTDOCS%%%%MANUAL%%@dirrm %%DOCSDIR%%/quake2_manual
219
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/Manual.html
220
%%PORTDOCS%%%%DOCSDIR%%/README
221
%%PORTDOCS%%%%DOCSDIR%%/README.320
222
%%PORTDOCS%%%%DOCSDIR%%/joystick.txt
223
%%PORTDOCS%%%%DOCSDIR%%/quake2.3dfxgl
224
%%PORTDOCS%%@dirrm %%DOCSDIR%%
27
%%PORTDOCS%%@dirrm %%DOCSDIR%%
28
%%CTF%%@dirrm %%LIBDIR%%/ctf
29
%%GAME%%@dirrm %%LIBDIR%%/baseq2
30
%%ROGUE%%@dirrm %%LIBDIR%%/rogue
31
%%XATRIX%%@dirrm %%LIBDIR%%/xatrix
32
@dirrm %%LIBDIR%%

Return to bug 87181