mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-09 09:11:05 +00:00
Merge branch 'master' into wip-trails
This smashes trails, but does bring the branch up to modern QF.
This commit is contained in:
commit
00e69c53b5
1861 changed files with 175692 additions and 135623 deletions
70
.gitignore
vendored
70
.gitignore
vendored
|
@ -5,12 +5,17 @@
|
|||
*.obj
|
||||
*.a
|
||||
*.o
|
||||
*.output
|
||||
*.slc
|
||||
*.dat
|
||||
*.sym
|
||||
*~
|
||||
__pycache__/
|
||||
autom4te.cache/
|
||||
.deps/
|
||||
.libs/
|
||||
.vimrc
|
||||
.dirstamp
|
||||
ChangeLog
|
||||
Makefile
|
||||
Makefile.in
|
||||
|
@ -35,6 +40,7 @@ core
|
|||
/ltmain.sh
|
||||
/missing
|
||||
/mkinstalldirs
|
||||
/py-compile
|
||||
/quakeforge-config
|
||||
/quakeforge.lsm
|
||||
/test-driver
|
||||
|
@ -104,7 +110,7 @@ core
|
|||
/hw/source/*.d
|
||||
/hw/source/*.i
|
||||
/hw/source/*.s
|
||||
/hw/source/hw-master
|
||||
/hw-master
|
||||
|
||||
# /include/
|
||||
/include/config.h.in
|
||||
|
@ -219,16 +225,9 @@ core
|
|||
/nq/source/fbset_modes_l.c
|
||||
/nq/source/fbset_modes_y.c
|
||||
/nq/source/fbset_modes_y.h
|
||||
/nq/source/nq-3dfx
|
||||
/nq/source/nq-fbdev
|
||||
/nq/source/nq-glslx
|
||||
/nq/source/nq-glx
|
||||
/nq/source/nq-sdl
|
||||
/nq/source/nq-sdl32
|
||||
/nq/source/nq-sgl
|
||||
/nq/source/nq-svga
|
||||
/nq/source/nq-x11
|
||||
/nq/source/nq-server
|
||||
/nq-sdl
|
||||
/nq-x11
|
||||
/nq-server
|
||||
|
||||
# /pkg-config/
|
||||
/pkg-config/*.pc
|
||||
|
@ -245,7 +244,7 @@ core
|
|||
/qtv/source/*.d
|
||||
/qtv/source/*.i
|
||||
/qtv/source/*.s
|
||||
/qtv/source/qtv
|
||||
/qtv-server
|
||||
|
||||
# /qw/
|
||||
|
||||
|
@ -262,17 +261,10 @@ core
|
|||
/qw/source/fbset_modes_l.c
|
||||
/qw/source/fbset_modes_y.c
|
||||
/qw/source/fbset_modes_y.h
|
||||
/qw/source/qw-client-3dfx
|
||||
/qw/source/qw-client-fbdev
|
||||
/qw/source/qw-client-glx
|
||||
/qw/source/qw-client-glslx
|
||||
/qw/source/qw-client-sdl
|
||||
/qw/source/qw-client-sdl32
|
||||
/qw/source/qw-client-sgl
|
||||
/qw/source/qw-client-svga
|
||||
/qw/source/qw-client-x11
|
||||
/qw/source/qw-master
|
||||
/qw/source/qw-server
|
||||
/qw-client-sdl
|
||||
/qw-client-x11
|
||||
/qw-master
|
||||
/qw-server
|
||||
|
||||
# /ruamoko/
|
||||
/ruamoko/*.d
|
||||
|
@ -281,6 +273,9 @@ core
|
|||
/ruamoko/*.sym
|
||||
/ruamoko/Doxyfile
|
||||
/ruamoko/doxygen/
|
||||
/ruamoko/qwaq/qwaq-curses
|
||||
/ruamoko/qwaq/qwaq-x11
|
||||
|
||||
|
||||
# /ruamoko/cl_menu/
|
||||
/ruamoko/cl_menu/*.dat
|
||||
|
@ -351,10 +346,10 @@ core
|
|||
/tools/Forge/Bundles/MapEdit/*.app
|
||||
|
||||
# /tools/bsp2img/
|
||||
/tools/bsp2img/bsp2img
|
||||
/bsp2img
|
||||
|
||||
# /tools/carne/
|
||||
/tools/carne/carne
|
||||
/carne
|
||||
|
||||
# /tools/cross/
|
||||
/tools/cross/binutils-i386-mingw32msvc
|
||||
|
@ -370,14 +365,14 @@ core
|
|||
|
||||
# /tools/pak/
|
||||
/tools/pak/*.d
|
||||
/tools/pak/pak
|
||||
/pak
|
||||
|
||||
# /tools/qfbsp/
|
||||
|
||||
# /tools/qfbsp/include/
|
||||
|
||||
# /tools/qfbsp/source/
|
||||
/tools/qfbsp/source/qfbsp
|
||||
/qfbsp
|
||||
|
||||
# /tools/qfcc/
|
||||
/tools/qfcc/aclocal.m4
|
||||
|
@ -403,14 +398,11 @@ core
|
|||
/tools/qfcc/source/qc-lex.c
|
||||
/tools/qfcc/source/qc-parse.c
|
||||
/tools/qfcc/source/qc-parse.h
|
||||
/tools/qfcc/source/qc-parse.output
|
||||
/tools/qfcc/source/qfcc
|
||||
/tools/qfcc/source/qfpc
|
||||
/tools/qfcc/source/qfprogs
|
||||
/qfcc
|
||||
/qfprogs
|
||||
/tools/qfcc/source/qp-lex.c
|
||||
/tools/qfcc/source/qp-parse.c
|
||||
/tools/qfcc/source/qp-parse.h
|
||||
/tools/qfcc/source/qp-parse.output
|
||||
|
||||
# /tools/qfcc/test/
|
||||
/tools/qfcc/test/*.dat
|
||||
|
@ -421,27 +413,27 @@ core
|
|||
# /tools/qflight/include/
|
||||
|
||||
# /tools/qflight/source/
|
||||
/tools/qflight/source/qflight
|
||||
/qflight
|
||||
|
||||
# /tools/qflmp/
|
||||
/tools/qflmp/qflmp
|
||||
/qflmp
|
||||
|
||||
# /tools/qfmodelgen/
|
||||
|
||||
# /tools/qfmodelgen/include/
|
||||
|
||||
# /tools/qfmodelgen/source/
|
||||
/tools/qfmodelgen/source/qfmodelgen
|
||||
/qfmodelgen
|
||||
|
||||
# /tools/qfspritegen/qfspritegen
|
||||
/tools/qfspritegen/qfspritegen
|
||||
/qfspritegen
|
||||
|
||||
# /tools/qfvis/
|
||||
|
||||
# /tools/qfvis/include/
|
||||
|
||||
# /tools/qfvis/source/
|
||||
/tools/qfvis/source/qfvis
|
||||
/qfvis
|
||||
|
||||
# /tools/quaketoascii/
|
||||
/tools/quaketoascii/quaketoascii
|
||||
|
@ -466,8 +458,8 @@ core
|
|||
|
||||
# /tools/wad/
|
||||
/tools/wad/*.d
|
||||
/tools/wad/wad
|
||||
/wad
|
||||
|
||||
# /tools/wav/
|
||||
/tools/wav/*.d
|
||||
/tools/wav/qfwavinfo
|
||||
/qfwavinfo
|
||||
|
|
11
INSTALL
11
INSTALL
|
@ -20,7 +20,7 @@ necessary packages installed.
|
|||
|
||||
\section req-pack Required Packages
|
||||
The following packages are required to build QuakeForge:
|
||||
\li GNU autoconf 2.50 or later
|
||||
\li GNU autoconf 2.71 or later
|
||||
\li GNU automake 1.6 or later
|
||||
\li GNU libtool 1.4 or later
|
||||
\li GNU bison 2.6 or later
|
||||
|
@ -50,14 +50,14 @@ The following is the list of relevant package names in debian.
|
|||
\li git
|
||||
|
||||
\li libasound2-dev
|
||||
\li libjack-dev
|
||||
\li libjack-jackd2-dev
|
||||
|
||||
\li libsamplerate0-dev
|
||||
|
||||
\li libflac-dev
|
||||
\li libogg-dev
|
||||
\li libvorbis-dev
|
||||
\li libpng12-dev
|
||||
\li libpng-dev
|
||||
\li zlib1g-dev
|
||||
|
||||
\li libcurl4-openssl-dev (or libcurl4-gnutls-dev)
|
||||
|
@ -69,6 +69,11 @@ The following is the list of relevant package names in debian.
|
|||
\li libxxf86dga-dev
|
||||
\li libxxf86vm-dev
|
||||
|
||||
\li libvulkan-dev
|
||||
\li vulkan-tools
|
||||
\li vulkan-validationlayers
|
||||
\li glslang-tools
|
||||
|
||||
\section building-and-installing Build and Install Procedure
|
||||
Basic process to build and install QuakeForge:
|
||||
\verbatim
|
||||
|
|
165
Makefile.am
165
Makefile.am
|
@ -1,15 +1,9 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS=desktop pkg-config include @top_dirs@
|
||||
DIST_SUBDIRS=desktop pkg-config include \
|
||||
libs hw nq qtv qw tools ruamoko\
|
||||
RPM debian doc vc2005 vc2008
|
||||
|
||||
## configure.ac needs to be listed here for older autoconfs
|
||||
EXTRA_DIST= ChangeLog configure.ac bootstrap \
|
||||
EXTRA_DIST = \
|
||||
ChangeLog configure.ac bootstrap \
|
||||
$(top_srcdir)/.version \
|
||||
config.d/git-version-gen \
|
||||
tools/cross/droid/cross-configure.sh \
|
||||
|
@ -26,9 +20,161 @@ EXTRA_DIST= ChangeLog configure.ac bootstrap \
|
|||
tools/gas2masm/gas2masm.dsp tools/gas2masm/gas2masm.dsw \
|
||||
tools/gas2masm/gas2masm.mak tools/gas2masm/gas2masm.mdp
|
||||
|
||||
NOCONV_DIST= $(distdir)/include/win32/resources/icon1Vista.ico \
|
||||
NOCONV_DIST= \
|
||||
$(distdir)/include/win32/resources/icon1Vista.ico \
|
||||
$(distdir)/include/win32/resources/icon1XP.ico
|
||||
|
||||
BUILT_SOURCES = $(top_srcdir)/.version
|
||||
#AM_CFLAGS= @PREFER_NON_PIC@
|
||||
AM_CPPFLAGS= -I$(top_srcdir)/include $(PTHREAD_CFLAGS) $(FNM_FLAGS) $(NCURSES_CFLAGS) $(FREETYPE_CFLAGS) $(HARFBUZZ_CFLAGS) $(VULKAN_CPPFLAGS)
|
||||
|
||||
common_ldflags= -export-dynamic @STATIC@ @PTHREAD_LDFLAGS@
|
||||
|
||||
SUFFICES =
|
||||
TESTS =
|
||||
XFAIL_TESTS =
|
||||
bin_PROGRAMS =
|
||||
bin_SCRIPTS =
|
||||
check_PROGRAMS =
|
||||
lib_LTLIBRARIES =
|
||||
man_MANS =
|
||||
noinst_LTLIBRARIES =
|
||||
noinst_LIBRARIES =
|
||||
noinst_PROGRAMS =
|
||||
noinst_HEADERS =
|
||||
noinst_PYTHON =
|
||||
plugin_LTLIBRARIES =
|
||||
|
||||
RANLIB=touch
|
||||
ARFLAGS=cr
|
||||
|
||||
EXTRA_HEADERS =
|
||||
EXTRA_LTLIBRARIES =
|
||||
EXTRA_PROGRAMS =
|
||||
EXTRA_LIBRARIES =
|
||||
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
|
||||
YFLAGS = -v -d -Wno-yacc -Werror
|
||||
PTHREAD_LDFLAGS=@PTHREAD_LDFLAGS@
|
||||
PTHREAD_CFLAGS=@PTHREAD_CFLAGS@
|
||||
|
||||
lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \
|
||||
-rpath $(libdir) -no-undefined
|
||||
plugin_ldflags= @plugin_ldflags@ -avoid-version -module -rpath $(plugindir)
|
||||
plugin_libadd= @plugin_libadd@
|
||||
|
||||
SDL_LIBS= @SDL_LIBS@
|
||||
XMMS_LIBS= @XMMS_LIBS@
|
||||
|
||||
PAK=$(top_builddir)/pak$(EXEEXT)
|
||||
QFCC_DEP=qfcc$(EXEEXT)
|
||||
QFCC=$(top_builddir)/$(QFCC_DEP)
|
||||
QWAQ=$(top_builddir)/ruamoko/qwaq/qwaq-cmd$(EXEEXT)
|
||||
|
||||
GZ=@progs_gz@
|
||||
|
||||
V_QFCC = $(V_QFCC_@AM_V@)
|
||||
V_QFCC_ = $(V_QFCC_@AM_DEFAULT_V@)
|
||||
V_QFCC_0 = @echo " QFCC " $@;
|
||||
V_QFCC_1 =
|
||||
|
||||
V_QFCCLD = $(V_QFCCLD_@AM_V@)
|
||||
V_QFCCLD_ = $(V_QFCCLD_@AM_DEFAULT_V@)
|
||||
V_QFCCLD_0 = @echo " QFCCLD " $@;
|
||||
V_QFCCLD_1 =
|
||||
|
||||
QCSYSTEM=--no-default-paths -I$(top_srcdir) -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
|
||||
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide
|
||||
QCPPFLAGS=$(QCSYSTEM)
|
||||
QCLINKFLAGS=--no-default-paths -Lruamoko/lib
|
||||
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
|
||||
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
am__mv = mv -f
|
||||
|
||||
SUFFIXES=.o .r .pas
|
||||
.r.o:
|
||||
$(V_QFCC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(QCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tqo -c -o $@ $< &&\
|
||||
sed -i -e '1s@:@: $(QFCC_DEP)@' $$depbase.Tqo &&\
|
||||
$(am__mv) $$depbase.Tqo $$depbase.Qo
|
||||
.pas.o:
|
||||
$(V_QFCC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(QCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tqo -c -o $@ $< &&\
|
||||
sed -i -e '1s@:@: $(QFCC_DEP)@' $$depbase.Tqo &&\
|
||||
$(am__mv) $$depbase.Tqo $$depbase.Qo
|
||||
|
||||
qcautodep = $(join $(addsuffix $(DEPDIR)/,$(dir $(basename $(1)))),$(addsuffix .Qo,$(notdir $(basename $(basename $(1))))))
|
||||
r_depfiles_remade=
|
||||
pas_depfiles_remade=
|
||||
|
||||
V_PY = $(V_PY_@AM_V@)
|
||||
V_PY_ = $(V_PY_@AM_DEFAULT_V@)
|
||||
V_PY_0 = @echo " PY " $@;
|
||||
V_PY_1 =
|
||||
|
||||
V_GLSLANG = $(V_GLSLANG_@AM_V@)
|
||||
V_GLSLANG_ = $(V_GLSLANG_@AM_DEFAULT_V@)
|
||||
V_GLSLANG_0 = @echo " GLSLANG " $@;
|
||||
V_GLSLANG_1 =
|
||||
|
||||
V_XXD = $(V_XXD_@AM_V@)
|
||||
V_XXD_ = $(V_XXD_@AM_DEFAULT_V@)
|
||||
V_XXD_0 = @echo " XXD " $@;
|
||||
V_XXD_1 =
|
||||
|
||||
V_SED = $(V_SED_@AM_V@)
|
||||
V_SED_ = $(V_SED_@AM_DEFAULT_V@)
|
||||
V_SED_0 = @echo " SED " $@;
|
||||
V_SED_1 =
|
||||
|
||||
SUFFICES += .plist .plc
|
||||
.plist.plc:
|
||||
$(V_SED)sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' $< > $@.t &&\
|
||||
$(am__mv) $@.t $@
|
||||
|
||||
%.spv: %
|
||||
@$(mkdir_p) $(builddir)/`dirname $@`
|
||||
$(V_GLSLANG)(((($(GLSLANGVALIDATOR) -V $< -o $@; echo $$? >&3) | sed -e '1d' 1>&2) 3>&1) | (read xs; exit $$xs))
|
||||
|
||||
%.spvc: %
|
||||
@$(mkdir_p) $(builddir)/`dirname $@`
|
||||
$(V_GLSLANG)(((($(GLSLANGVALIDATOR) --vn `basename $< | tr . _` -V $< -o $@; echo $$? >&3) | sed -e '1d' 1>&2) 3>&1) | (read xs; exit $$xs))
|
||||
|
||||
shaderdir = @shaderdir@
|
||||
shader_DATA =
|
||||
|
||||
include doc/Makemodule.am
|
||||
include RPM/Makemodule.am
|
||||
include debian/Makemodule.am
|
||||
include desktop/Makemodule.am
|
||||
include pkg-config/Makemodule.am
|
||||
include include/Makemodule.am
|
||||
include libs/Makemodule.am
|
||||
include hw/Makemodule.am
|
||||
include nq/Makemodule.am
|
||||
include qtv/Makemodule.am
|
||||
include qw/Makemodule.am
|
||||
include tools/Makemodule.am
|
||||
include ruamoko/Makemodule.am
|
||||
|
||||
DISTCLEANFILES += $(r_depfiles_remade) $(pas_depfiles_remade)
|
||||
CLEANFILES += $(shader_DATA)
|
||||
|
||||
$(r_depfiles_remade):
|
||||
$(MKDIR_P) $(@D)
|
||||
echo '$@' | sed -e 's@\$(DEPDIR)/@@' -e 's@\(.*\)\.Qo$$@\1.o: $(top_srcdir)/\1.r $(QFCC)@' >$@-t && $(am__mv) $@-t $@
|
||||
|
||||
$(pas_depfiles_remade):
|
||||
$(MKDIR_P) $(@D)
|
||||
echo '$@' | sed -e 's@\$(DEPDIR)/@@' -e 's@\(.*\)\.Qo$$@\1.o: $(top_srcdir)/\1.pas $(QFCC)@' >$@-t && $(am__mv) $@-t $@
|
||||
|
||||
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade) $(pas_depfiles_remade)
|
||||
echo findme $(ruamoko_gui_libgui_a_dep)
|
||||
|
||||
changelog: ChangeLog
|
||||
ChangeLog: FORCE
|
||||
@if test -d "$(top_srcdir)/.git"; then \
|
||||
|
@ -63,7 +209,6 @@ dist-all-local: distdir
|
|||
ZIP="-r9ql" zip $(distdir).zip $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
|
||||
BUILT_SOURCES = $(top_srcdir)/.version
|
||||
$(top_srcdir)/.version:
|
||||
echo $(VERSION) > $@-t && mv $@-t $@
|
||||
dist-hook:
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
This file gives instruction for compiling QF with cygwin to run in MS Windows(R).
|
||||
|
||||
DISCLAIMER: Use at your own risk, NO WARRANTY of any kind. NO GUARANTEE of correctness or usability.
|
||||
|
||||
If you have problems with these instructions please let me know.
|
||||
|
||||
email: wildcode@users.sourceforge.net
|
||||
IRC: irc.xiph.org #quakeforge
|
||||
==========================================================================
|
||||
|
||||
WARNING: This is not intended for inexperienced users, binaries are available on request.
|
||||
|
||||
QuakeForge may take several hours from bootstrap to the completion
|
||||
of make install on some systems
|
||||
|
||||
To build win32(mingw) QuakeForge bins you will need to download and install cygwin, and the Microsoft DirectX SDK. Cygwin can be found at http://www.cygwin.org
|
||||
|
||||
Once cygwin is installed along with the appropriate developement modules, copy dinput.h from the DirectX SDK and place it in /usr/include/w32api/
|
||||
|
||||
If you want to use DirectSound also copy dsound.h to the same spot.
|
||||
|
||||
in the quakeforge source dir, within cygwin, type
|
||||
./bootstrap
|
||||
./configure --host=i386-mingw32 --build=i386-cygwin --target=i386-mingw32 --program-prefix= --with-static-plugins --disable-shared --disable-oss --disable-vorbis --disable-Werror --enable-optimize --enable-asmopt --disable-debug --enable-zlib
|
||||
make
|
||||
make install
|
||||
|
||||
--disable-Werror is needed as some versions of the DX SDK are buggy.
|
||||
|
||||
Go to the /usr/local/bin directory and copy the qw-* and nq-* files to your dos
|
||||
quake dir
|
||||
|
||||
Let us know how it works for you.
|
||||
|
||||
NOTE: At the time of writing qw-server.exe was not working correctly. Please refrain from using it unless you are willing to fix it.
|
||||
|
||||
Special Note: QuakeForge supplies only our own version of the programs for Quake. To get the game data, you still need to have purchased Quake or get the shareware version from Id Software.
|
||||
|
||||
Chris Ison (WildCode) for QuakeForge
|
||||
March 11, 2003
|
59
README.md
Normal file
59
README.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
# QuakeForge
|
||||
|
||||
QuakeForge is descended from the original Quake engine as released by Id
|
||||
Software in December 1999, and can be used to play original Quake and
|
||||
QuakeWorld games and mods (including many modern mods). While this will
|
||||
always be the case, development continues.
|
||||
|
||||
However, QuakeForge is not just a Quake engine, but includes a
|
||||
collection of tools for creating Quake mods, and is progressing towards
|
||||
being a more general game engine.
|
||||
|
||||
## Quake and QuakeWorld
|
||||
|
||||
Support for Quake and QuakeWorld is split into two program sets: nq for
|
||||
Quake and qw-client for QuakeWorld, with the target system as an
|
||||
additional suffix: -x11 For the X Window system (Linux, BSD, etc), -win
|
||||
for MS Windows (plus others that are not currently maintained).
|
||||
|
||||
Both nq and qw-client support multiple renderers: 8-bit software, 32-bit
|
||||
software, OpenGL 2, EGL (mostly, one non-EGL function is used), and
|
||||
Vulkan (very WIP), all within the one executable.
|
||||
|
||||
Dedicated servers for both Quake (nq-server) and QuakeWorld (qw-server)
|
||||
are included, as well as a master server for QuakeWorld (qw-master).
|
||||
|
||||
## Tools
|
||||
|
||||
QuakeForge includes several tools for working with Quake data:
|
||||
- bsp2image produces wireframe images from Quake maps (bsp files)
|
||||
- io_mesh_qfmdl for importing and exporting Quake mdl files to/from
|
||||
Blender
|
||||
- io_qfmap for Quake map source files (WIP Blender addon)
|
||||
- pak create, list and extract Quake pak files. There's also zpak which
|
||||
can be used to compress the contents of pak files using gzip
|
||||
(QuakeForge has transparent support for gzip compressed files)
|
||||
- qfbsp for compiling map files to bsp files, includes support for
|
||||
vis clusters, and can be used to extract data and information from bsp
|
||||
files.
|
||||
- qfcc is QuakeForge's version of qcc, but is significantly more
|
||||
advanced, with support for standard C syntax, including most C types,
|
||||
as well as Objective-C object oriented programming (Ruamoko). Most of
|
||||
the advanced features require the QuakeForge engine, but qfcc can
|
||||
produce progs files compatible with the original Quake engine with
|
||||
limited support for some of the advanced featuers (C syntax, reduced
|
||||
global usage, some additional operators (eg, better bit operators,
|
||||
remainder (%)). Includes qfprogs for inspecting progs files.
|
||||
- qflight creates lightmaps for Quake maps
|
||||
- qfvis for compiling PVS data for Quake maps. One of the faster
|
||||
implementations available.
|
||||
- Plus a few others in various stages of usefulness: qflmp, qfmodelgen,
|
||||
qfspritegen, wad, qfwavinfo
|
||||
|
||||
## Building
|
||||
|
||||
For now, please refer to INSTALL for information on building on Linux.
|
||||
Building for windows is done by cross-compiling using MXE. There are
|
||||
scripts in tools/mingw and tools/mingw64 that automate the process of
|
||||
configuring and building both the tools run on the build-host and the
|
||||
windows targets.
|
|
@ -1,9 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
EXTRA_DIST= build_rpm.in quakeforge.conf.in quakeforge.spec.in
|
||||
|
||||
rpm: build_rpm quakeforge.conf quakeforge.spec
|
||||
./build_rpm
|
||||
|
||||
CLEANFILES = *.rpm
|
6
RPM/Makemodule.am
Normal file
6
RPM/Makemodule.am
Normal file
|
@ -0,0 +1,6 @@
|
|||
EXTRA_DIST += RPM/build_rpm.in RPM/quakeforge.conf.in RPM/quakeforge.spec.in
|
||||
|
||||
rpm: RPM/build_rpm RPM/quakeforge.conf RPM/quakeforge.spec
|
||||
cd RPM && ./build_rpm
|
||||
|
||||
CLEANFILES += rpm/*.rpm
|
14
bootstrap
14
bootstrap
|
@ -18,7 +18,7 @@ if test "$1" = "clean"; then
|
|||
find . -name '*.orig' -type f -print0 | xargs $ARGS rm -f
|
||||
rm -f aclocal.m4 build-stamp changelog-stamp config.cache config.log \
|
||||
config.status configure configure-stamp install-sh libtool missing \
|
||||
mkinstalldirs quakeforge-config quakeforge.lsm
|
||||
mkinstalldirs quakeforge-config quakeforge.lsm test-driver
|
||||
rm -f compile config.guess config.sub depcomp ltmain.sh ylwrap
|
||||
rm -rf autom4te.cache
|
||||
rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
|
||||
|
@ -44,7 +44,7 @@ if test x`uname` = xDarwin ; then
|
|||
else
|
||||
libtoolize=libtoolize
|
||||
fi
|
||||
lt=`which $libtoolize`
|
||||
lt=`command -v $libtoolize --version`
|
||||
if test -n "$lt" ; then
|
||||
if test -x "$lt" ; then
|
||||
LTIZE_VER=`$libtoolize --version | head -1 | sed 's/.* \([1-9][0-9]*\(\.[1-9][0-9]*\)\(\.[1-9][0-9]*\)*\).*/\1/'`
|
||||
|
@ -63,7 +63,7 @@ else
|
|||
fi
|
||||
|
||||
# Check Autoconf version
|
||||
ac=`which autoconf`
|
||||
ac=`command -v autoconf`
|
||||
if test -n "$ac" ; then
|
||||
if test -x "$ac" ; then
|
||||
AC_VER=`autoconf --version | head -1 | sed 's/^[^0-9]*//'`
|
||||
|
@ -71,18 +71,18 @@ if test -n "$ac" ; then
|
|||
AC_VER_MINOR=`echo $AC_VER | cut -f2 -d'.' | sed 's/[^0-9]*$//'`
|
||||
|
||||
if test "$AC_VER_MAJOR" -lt "2" ; then
|
||||
errors="Autoconf 2.61 or greater needed to build configure.\n$errors"
|
||||
errors="Autoconf 2.69 or greater needed to build configure.\n$errors"
|
||||
fi
|
||||
|
||||
if test "$AC_VER_MAJOR" -eq "2" -a "$AC_VER_MINOR" -lt "61" ; then
|
||||
errors="Autoconf 2.61 or greater needed to build configure.\n$errors"
|
||||
if test "$AC_VER_MAJOR" -eq "2" -a "$AC_VER_MINOR" -lt "69" ; then
|
||||
errors="Autoconf 2.69 or greater needed to build configure.\n$errors"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
errors="Autoconf not found. QuakeForge git requires autoconf to bootstrap itself.\n$errors"
|
||||
fi
|
||||
|
||||
am=`which automake`
|
||||
am=`command -v automake`
|
||||
if test -n "$am" ; then
|
||||
if test -x "$am" ; then
|
||||
AM_VER=`automake --version | head -1 | sed -e 's/automake (GNU automake) //' -e 's/\-p.*$//'`
|
||||
|
|
|
@ -1,103 +1,4 @@
|
|||
Makefile
|
||||
|
||||
include/Makefile
|
||||
include/QF/Makefile
|
||||
|
||||
libs/Makefile
|
||||
libs/audio/Makefile
|
||||
libs/audio/targets/Makefile
|
||||
libs/audio/renderer/Makefile
|
||||
libs/audio/test/Makefile
|
||||
libs/console/Makefile
|
||||
libs/client/Makefile
|
||||
libs/gamecode/Makefile
|
||||
libs/gib/Makefile
|
||||
libs/image/Makefile
|
||||
libs/models/Makefile
|
||||
libs/models/alias/Makefile
|
||||
libs/models/brush/Makefile
|
||||
libs/models/iqm/Makefile
|
||||
libs/models/sprite/Makefile
|
||||
libs/models/test/Makefile
|
||||
libs/net/Makefile
|
||||
libs/net/nc/Makefile
|
||||
libs/net/nm/Makefile
|
||||
libs/qw/Makefile
|
||||
libs/ruamoko/Makefile
|
||||
libs/util/Makefile
|
||||
libs/util/test/Makefile
|
||||
libs/video/Makefile
|
||||
libs/video/renderer/Makefile
|
||||
libs/video/renderer/gl/Makefile
|
||||
libs/video/renderer/glsl/Makefile
|
||||
libs/video/renderer/sw/Makefile
|
||||
libs/video/renderer/sw32/Makefile
|
||||
libs/video/targets/Makefile
|
||||
|
||||
hw/Makefile
|
||||
hw/include/Makefile
|
||||
hw/source/Makefile
|
||||
|
||||
nq/Makefile
|
||||
nq/include/Makefile
|
||||
nq/source/Makefile
|
||||
|
||||
qtv/Makefile
|
||||
qtv/include/Makefile
|
||||
qtv/source/Makefile
|
||||
|
||||
qw/Makefile
|
||||
qw/include/Makefile
|
||||
qw/source/Makefile
|
||||
|
||||
tools/Makefile
|
||||
tools/bsp2img/Makefile
|
||||
tools/carne/Makefile
|
||||
tools/pak/Makefile
|
||||
tools/qfbsp/Makefile
|
||||
tools/qfbsp/include/Makefile
|
||||
tools/qfbsp/source/Makefile
|
||||
tools/qfcc/Makefile
|
||||
tools/qfcc/doc/Makefile
|
||||
tools/qfcc/doc/man/Makefile
|
||||
tools/qfcc/include/Makefile
|
||||
tools/qfcc/source/Makefile
|
||||
tools/qfcc/test/Makefile
|
||||
tools/qflight/Makefile
|
||||
tools/qflight/include/Makefile
|
||||
tools/qflight/source/Makefile
|
||||
tools/qflmp/Makefile
|
||||
tools/qfmodelgen/Makefile
|
||||
tools/qfmodelgen/include/Makefile
|
||||
tools/qfmodelgen/source/Makefile
|
||||
tools/qfspritegen/Makefile
|
||||
tools/qfvis/Makefile
|
||||
tools/qfvis/include/Makefile
|
||||
tools/qfvis/source/Makefile
|
||||
tools/qwaq/Makefile
|
||||
tools/qwaq/progs.src
|
||||
tools/wad/Makefile
|
||||
tools/wav/Makefile
|
||||
|
||||
ruamoko/Makefile
|
||||
ruamoko/Doxyfile
|
||||
ruamoko/include/Makefile
|
||||
ruamoko/lib/Makefile
|
||||
ruamoko/game/Makefile
|
||||
ruamoko/gui/Makefile
|
||||
ruamoko/cl_menu/Makefile
|
||||
ruamoko/scheme/Makefile
|
||||
|
||||
pkg-config/Makefile
|
||||
pkg-config/qfcc.pc
|
||||
pkg-config/quakeforge.pc
|
||||
|
||||
doc/Makefile
|
||||
doc/quakeforge.dox.conf
|
||||
doc/man/Makefile
|
||||
|
||||
debian/Makefile
|
||||
desktop/Makefile
|
||||
|
||||
vc2005/Makefile
|
||||
vc2008/Makefile
|
||||
|
|
|
@ -5,9 +5,11 @@ case "${host}" in
|
|||
AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING(to see if we should disable asm optimizations)
|
||||
AC_ARG_ENABLE(asmopt,
|
||||
[ --disable-asmopt disable assembler optimization],
|
||||
AS_HELP_STRING([--disable-asmopt],
|
||||
[disable assembler optimization]),
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_DEFINE(USE_INTEL_ASM, 1, [Define this if you want to use Intel assembly optimizations])
|
||||
AC_DEFINE(USE_INTEL_ASM, 1,
|
||||
[Define this if you want to use Intel assembly optimizations])
|
||||
ASM_ARCH=yes
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
|
@ -17,10 +19,10 @@ esac
|
|||
AM_CONDITIONAL(ASM_ARCH, test "x$ASM_ARCH" = "xyes")
|
||||
|
||||
AC_MSG_CHECKING(for underscore prefix in names)
|
||||
AC_TRY_LINK(
|
||||
[asm(".long _bar");
|
||||
int bar;],
|
||||
[],
|
||||
AC_DEFINE(HAVE_SYM_PREFIX_UNDERSCORE, 1, [Define this if C symbols are prefixed with an underscore]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[asm(".long _bar"); int bar;]], [[]])],
|
||||
[AC_DEFINE(HAVE_SYM_PREFIX_UNDERSCORE, 1,
|
||||
[Define this if C symbols are prefixed with an underscore])
|
||||
AC_MSG_RESULT(yes)],
|
||||
[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
|
|
@ -4,17 +4,17 @@ dnl ==================================================================
|
|||
|
||||
QF_WITH_TARGETS(
|
||||
clients,
|
||||
[ --with-clients=<list> compile clients in <list>:],
|
||||
[fbdev,sdl,svga,x11],dummy
|
||||
[compile clients],
|
||||
[fbdev,sdl,svga,win,x11],dummy
|
||||
)
|
||||
QF_WITH_TARGETS(
|
||||
servers,
|
||||
[ --with-servers=<list> compile dedicated server:],
|
||||
[compile dedicated servers],
|
||||
[master,nq,qw,qtv],dummy
|
||||
)
|
||||
QF_WITH_TARGETS(
|
||||
tools,
|
||||
[ --with-tools=<list> compile qf tools:],
|
||||
[compile qf tools],
|
||||
[bsp2img,carne,gsc,pak,qfbsp,qfcc,qflight,qflmp,qfmodelgen,qfspritegen,qfvis,qwaq,wad,wav],dummy
|
||||
)
|
||||
|
||||
|
@ -27,6 +27,20 @@ QWAQ_TARGETS=""
|
|||
QW_DESKTOP_DATA=""
|
||||
NQ_DESKTOP_DATA=""
|
||||
|
||||
BSP2IMG_TARGETS=""
|
||||
CARNE_TARGETS=""
|
||||
PAK_TARGETS=""
|
||||
QFBSP_TARGETS=""
|
||||
QFCC_TARGETS=""
|
||||
QFLIGHT_TARGETS=""
|
||||
QFLMP_TARGETS=""
|
||||
QFMODELGEN_TARGETS=""
|
||||
QFSPRITEGEN_TARGETS=""
|
||||
QFVIS_TARGETS=""
|
||||
WAD_TARGETS=""
|
||||
WAV_TARGETS=""
|
||||
VKGEN_TARGETS=""
|
||||
|
||||
CD_TARGETS=""
|
||||
SND_TARGETS=""
|
||||
VID_MODEL_TARGETS=""
|
||||
|
@ -39,8 +53,9 @@ if test "x$HAVE_FBDEV" = xyes; then
|
|||
QW_TARGETS="$QW_TARGETS qw-client-fbdev\$(EXEEXT)"
|
||||
NQ_TARGETS="$NQ_TARGETS nq-fbdev\$(EXEEXT)"
|
||||
CL_TARGETS="$CL_TARGETS FBDEV"
|
||||
VID_TARGETS="$VID_TARGETS libQFfbdev.la"
|
||||
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFfbdev.la"
|
||||
QF_NEED(vid_render, [sw])
|
||||
QF_NEED(render, [sw])
|
||||
QF_NEED(models, [sw])
|
||||
QF_NEED(alias, [sw])
|
||||
QF_NEED(brush, [sw])
|
||||
|
@ -66,12 +81,22 @@ if test "x$HAVE_X" = xyes; then
|
|||
if test "x$ENABLE_clients_x11" = xyes; then
|
||||
QW_TARGETS="$QW_TARGETS qw-client-x11\$(EXEEXT)"
|
||||
NQ_TARGETS="$NQ_TARGETS nq-x11\$(EXEEXT)"
|
||||
QWAQ_TARGETS="$QWAQ_TARGETS qwaq-x11\$(EXEEXT)"
|
||||
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-x11.desktop"
|
||||
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-x11.desktop"
|
||||
QWAQ_TARGETS="$QWAQ_TARGETS ruamoko/qwaq/qwaq-x11\$(EXEEXT)"
|
||||
QW_DESKTOP_DATA="$QW_DESKTOP_DATA desktop/quakeforge-qw-x11.desktop"
|
||||
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA desktop/quakeforge-nq-x11.desktop"
|
||||
CL_TARGETS="$CL_TARGETS X11"
|
||||
VID_TARGETS="$VID_TARGETS libQFx11.la"
|
||||
QF_NEED(vid_render, [sw sw32 gl glsl])
|
||||
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFx11.la"
|
||||
if test "$HAVE_VULKAN" = "yes"; then
|
||||
QF_NEED(vid_render, [vulkan])
|
||||
QF_NEED(render, [vulkan])
|
||||
QF_NEED(models, [vulkan])
|
||||
QF_NEED(alias, [vulkan])
|
||||
QF_NEED(brush, [vulkan])
|
||||
QF_NEED(iqm, [vulkan])
|
||||
QF_NEED(sprite, [vulkan])
|
||||
fi
|
||||
QF_NEED(vid_render, [sw gl glsl])
|
||||
QF_NEED(render, [sw gl glsl])
|
||||
QF_NEED(models, [sw gl glsl])
|
||||
QF_NEED(alias, [sw gl glsl])
|
||||
QF_NEED(brush, [sw gl glsl])
|
||||
|
@ -91,11 +116,12 @@ if test "x$HAVE_SDL" = xyes; then
|
|||
if test "x$ENABLE_clients_sdl" = xyes; then
|
||||
QW_TARGETS="$QW_TARGETS qw-client-sdl\$(EXEEXT)"
|
||||
NQ_TARGETS="$NQ_TARGETS nq-sdl\$(EXEEXT)"
|
||||
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-sdl.desktop"
|
||||
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sdl.desktop"
|
||||
QW_DESKTOP_DATA="$QW_DESKTOP_DATA desktop/quakeforge-qw-sdl.desktop"
|
||||
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA desktop/quakeforge-nq-sdl.desktop"
|
||||
CL_TARGETS="$CL_TARGETS SDL"
|
||||
VID_TARGETS="$VID_TARGETS libQFsdl.la"
|
||||
QF_NEED(vid_render, [sw sw32 gl glsl])
|
||||
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFsdl.la"
|
||||
QF_NEED(vid_render, [sw gl glsl])
|
||||
QF_NEED(render, [sw gl glsl])
|
||||
QF_NEED(models, [sw gl glsl])
|
||||
QF_NEED(alias, [sw gl glsl])
|
||||
QF_NEED(brush, [sw gl glsl])
|
||||
|
@ -116,8 +142,9 @@ if test "x$HAVE_SVGA" = xyes; then
|
|||
QW_TARGETS="$QW_TARGETS qw-client-svga\$(EXEEXT)"
|
||||
NQ_TARGETS="$NQ_TARGETS nq-svga\$(EXEEXT)"
|
||||
CL_TARGETS="$CL_TARGETS SVGAlib"
|
||||
VID_TARGETS="$VID_TARGETS libQFsvga.la"
|
||||
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFsvga.la"
|
||||
QF_NEED(vid_render, [sw])
|
||||
QF_NEED(render, [sw])
|
||||
QF_NEED(models, [sw])
|
||||
QF_NEED(alias, [sw])
|
||||
QF_NEED(brush, [sw])
|
||||
|
@ -133,25 +160,37 @@ if test "x$HAVE_SVGA" = xyes; then
|
|||
QF_NEED(libs,[util gamecode ruamoko gib audio image models video console net qw client])
|
||||
fi
|
||||
fi
|
||||
#if test "x$mingw" = xyes; then
|
||||
# if test "x$ENABLE_clients_wgl" = xyes; then
|
||||
# QW_TARGETS="$QW_TARGETS qw-client-wgl\$(EXEEXT)"
|
||||
# NQ_TARGETS="$NQ_TARGETS nq-wgl\$(EXEEXT)"
|
||||
# CL_TARGETS="$CL_TARGETS WGL"
|
||||
# VID_TARGETS="$VID_TARGETS libQFwgl.la"
|
||||
# QF_NEED(vid_render, [gl])
|
||||
# QF_NEED(models, [gl])
|
||||
# QF_NEED(alias, [gl])
|
||||
# QF_NEED(brush, [gl])
|
||||
# QF_NEED(iqm, [gl])
|
||||
# QF_NEED(sprite, [gl])
|
||||
# QF_NEED(vid, [common])
|
||||
# QF_NEED(qw, [client common])
|
||||
# QF_NEED(nq, [client common])
|
||||
# QF_NEED(console, [client])
|
||||
# QF_NEED(libs,[util gamecode ruamoko gib audio image models video console net qw client])
|
||||
# fi
|
||||
#fi
|
||||
if test "x$mingw" = xyes; then
|
||||
if test "x$ENABLE_clients_win" = xyes; then
|
||||
QW_TARGETS="$QW_TARGETS qw-client-win\$(EXEEXT)"
|
||||
NQ_TARGETS="$NQ_TARGETS nq-win\$(EXEEXT)"
|
||||
CL_TARGETS="$CL_TARGETS WIN"
|
||||
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFwin.la"
|
||||
if test "$HAVE_VULKAN" = "yes"; then
|
||||
QF_NEED(vid_render, [vulkan])
|
||||
QF_NEED(render, [vulkan])
|
||||
QF_NEED(models, [vulkan])
|
||||
QF_NEED(alias, [vulkan])
|
||||
QF_NEED(brush, [vulkan])
|
||||
QF_NEED(iqm, [vulkan])
|
||||
QF_NEED(sprite, [vulkan])
|
||||
fi
|
||||
QF_NEED(vid_render, [sw gl glsl])
|
||||
QF_NEED(models, [sw gl glsl])
|
||||
QF_NEED(alias, [sw gl glsl])
|
||||
QF_NEED(brush, [sw gl glsl])
|
||||
QF_NEED(iqm, [sw gl glsl])
|
||||
QF_NEED(sprite, [sw gl glsl])
|
||||
if test "x$ASM_ARCH" = "xyes"; then
|
||||
QF_NEED(swrend, [asm])
|
||||
fi
|
||||
QF_NEED(vid, [common win])
|
||||
QF_NEED(qw, [client common])
|
||||
QF_NEED(nq, [client common])
|
||||
QF_NEED(console, [client])
|
||||
QF_NEED(libs,[util gamecode ruamoko gib audio image models video console net qw client])
|
||||
fi
|
||||
fi
|
||||
|
||||
unset SV_TARGETS
|
||||
if test "x$ENABLE_servers_nq" = xyes; then
|
||||
|
@ -163,8 +202,8 @@ if test "x$ENABLE_servers_nq" = xyes; then
|
|||
QF_NEED(libs,[util gamecode ruamoko gib image models console net])
|
||||
fi
|
||||
if test "x$ENABLE_servers_qtv" = xyes; then
|
||||
QTV_TARGETS="qtv\$(EXEEXT) $QTV_TARGETS"
|
||||
SV_TARGETS="$SV_TARGETS qtv"
|
||||
QTV_TARGETS="qtv-server\$(EXEEXT) $QTV_TARGETS"
|
||||
SV_TARGETS="$SV_TARGETS qtv-server"
|
||||
# QF_NEED(qtv, [common server])
|
||||
QF_NEED(console, [server])
|
||||
QF_NEED(top, [qtv])
|
||||
|
@ -187,98 +226,157 @@ if test "x$ENABLE_servers_qw" = xyes; then
|
|||
fi
|
||||
|
||||
if test "x$ENABLE_tools_bsp2img" = xyes; then
|
||||
BSP2IMG_TARGETS="bsp2img\$(EXEEXT)"
|
||||
QF_NEED(tools,[bsp2img])
|
||||
QF_NEED(libs,[image util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_carne" = xyes; then
|
||||
CARNE_TARGETS="carne\$(EXEEXT)"
|
||||
QF_NEED(tools,[carne])
|
||||
QF_NEED(libs,[gib ruamoko gamecode util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_pak" = xyes; then
|
||||
PAK_TARGETS="pak\$(EXEEXT)"
|
||||
QF_NEED(tools,[pak])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qfbsp" = xyes; then
|
||||
QFBSP_TARGETS="qfbsp\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfbsp])
|
||||
QF_NEED(libs,[models image util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qfcc" = xyes; then
|
||||
QFCC_TARGETS="qfcc\$(EXEEXT) qfprogs\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfcc])
|
||||
QF_NEED(libs,[gamecode util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qflight" = xyes; then
|
||||
QFLIGHT_TARGETS="qflight\$(EXEEXT)"
|
||||
QF_NEED(tools,[qflight])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qflmp" = xyes; then
|
||||
QFLMP_TARGETS="qflmp\$(EXEEXT)"
|
||||
QF_NEED(tools,[qflmp])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qfmodelgen" = xyes; then
|
||||
QFMODELGEN_TARGETS="qfmodelgen\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfmodelgen])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qfspritegen" = xyes; then
|
||||
QFSPRITEGEN_TARGETS="qfspritegen\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfspritegen])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qfvis" = xyes; then
|
||||
QFVIS_TARGETS="qfvis\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfvis])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_qwaq" = xyes; then
|
||||
QF_NEED(tools,[qwaq])
|
||||
if test "x$HAVE_NCURSES" == "xyes" -a "x$HAVE_PANEL" = xyes -a "x$HAVE_PTHREAD" = xyes; then
|
||||
QWAQ_TARGETS="$QWAQ_TARGETS ruamoko/qwaq/qwaq-curses\$(EXEEXT)"
|
||||
dnl FIXME move key code (maybe to ui?)
|
||||
QF_NEED(vid, [common])
|
||||
fi
|
||||
if test "x$HAVE_PTHREAD" = xyes; then
|
||||
QWAQ_TARGETS="$QWAQ_TARGETS ruamoko/qwaq/qwaq-cmd\$(EXEEXT)"
|
||||
fi
|
||||
QF_NEED(tools,[qfcc])
|
||||
QF_NEED(ruamoko,[qwaq])
|
||||
QF_NEED(libs,[ruamoko gamecode util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_wad" = xyes; then
|
||||
WAD_TARGETS="wad\$(EXEEXT)"
|
||||
QF_NEED(tools,[wad])
|
||||
QF_NEED(libs,[image util])
|
||||
fi
|
||||
if test "x$ENABLE_tools_wav" = xyes; then
|
||||
WAV_TARGETS="qfwavinfo\$(EXEEXT)"
|
||||
QF_NEED(tools,[wav])
|
||||
QF_NEED(libs,[util])
|
||||
fi
|
||||
if test "x$render_need_vulkan" = xyes; then
|
||||
VKGEN_TARGETS="vkgen.dat\$(EXEEXT)"
|
||||
QF_NEED(tools,[qfcc pak qwaq])
|
||||
fi
|
||||
|
||||
QF_NEED(top, [libs hw nq qtv qw])
|
||||
|
||||
QF_PROCESS_NEED_DIRS(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfspritegen qfvis qwaq wad wav])
|
||||
QF_PROCESS_NEED_FUNC(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfspritegen qfvis qwaq wad wav], QF_NEED(top,tools))
|
||||
QF_PROCESS_NEED_LIST(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfspritegen qfvis wad wav])
|
||||
QF_PROCESS_NEED_FUNC(tools,[bsp2img carne pak qfbsp qfcc qflight qflmp qfmodelgen qfspritegen qfvis wad wav], QF_NEED(top,tools))
|
||||
|
||||
QF_PROCESS_NEED_DIRS(libs,[util gamecode ruamoko gib audio image models video console net qw client])
|
||||
QF_PROCESS_NEED_LIST(libs,[util gamecode ruamoko gib audio image models video console net qw client])
|
||||
|
||||
QF_PROCESS_NEED_LIST(ruamoko,[qwaq])
|
||||
|
||||
if test "$ENABLE_tools_qfcc" = "yes" -a "$ENABLE_tools_pak" = "yes"; then
|
||||
QF_NEED(top, [ruamoko])
|
||||
qfac_qfcc_include_qf="\$(qfcc_include_qf)"
|
||||
qfac_qfcc_include_qf_input="\$(qfcc_include_qf_input)"
|
||||
qfac_qfcc_include_qf_progs="\$(qfcc_include_qf_progs)"
|
||||
fi
|
||||
QF_SUBST(qfac_qfcc_include_qf)
|
||||
QF_SUBST(qfac_qfcc_include_qf_input)
|
||||
QF_SUBST(qfac_qfcc_include_qf_progs)
|
||||
|
||||
if test x"${top_need_libs}" = xyes; then
|
||||
qfac_include_qf="\$(include_qf)"
|
||||
qfac_include_qf_gl="\$(include_qf_gl)"
|
||||
qfac_include_qf_glsl="\$(include_qf_glsl)"
|
||||
qfac_include_qf_input="\$(include_qf_input)"
|
||||
qfac_include_qf_math="\$(include_qf_math)"
|
||||
qfac_include_qf_plugin="\$(include_qf_plugin)"
|
||||
qfac_include_qf_progs="\$(include_qf_progs)"
|
||||
qfac_include_qf_scene="\$(include_qf_scene)"
|
||||
qfac_include_qf_simd="\$(include_qf_simd)"
|
||||
qfac_include_qf_ui="\$(include_qf_ui)"
|
||||
qfac_include_qf_vulkan="\$(include_qf_vulkan)"
|
||||
fi
|
||||
QF_SUBST(qfac_include_qf)
|
||||
QF_SUBST(qfac_include_qf_gl)
|
||||
QF_SUBST(qfac_include_qf_glsl)
|
||||
QF_SUBST(qfac_include_qf_input)
|
||||
QF_SUBST(qfac_include_qf_math)
|
||||
QF_SUBST(qfac_include_qf_plugin)
|
||||
QF_SUBST(qfac_include_qf_progs)
|
||||
QF_SUBST(qfac_include_qf_scene)
|
||||
QF_SUBST(qfac_include_qf_simd)
|
||||
QF_SUBST(qfac_include_qf_ui)
|
||||
QF_SUBST(qfac_include_qf_vulkan)
|
||||
|
||||
progs_gz=
|
||||
if test "$HAVE_ZLIB" = "yes"; then
|
||||
progs_gz=".gz"
|
||||
fi
|
||||
QF_SUBST(progs_gz)
|
||||
|
||||
QF_PROCESS_NEED_DIRS(top, [libs hw nq qtv qw tools ruamoko])
|
||||
QF_PROCESS_NEED_LIST(top, [libs hw nq qtv qw tools ruamoko])
|
||||
|
||||
QF_PROCESS_NEED_LIBS(swrend, [asm])
|
||||
QF_PROCESS_NEED_DIRS(vid_render, [gl glsl sw sw32])
|
||||
QF_PROCESS_NEED_LIBS(models, [gl glsl sw])
|
||||
QF_PROCESS_NEED_LIBS(alias, [gl glsl sw])
|
||||
QF_PROCESS_NEED_LIBS(brush, [gl glsl sw])
|
||||
QF_PROCESS_NEED_LIBS(iqm, [gl glsl sw])
|
||||
QF_PROCESS_NEED_LIBS(sprite, [gl glsl sw])
|
||||
QF_PROCESS_NEED_LIBS(render, [gl glsl sw vulkan], [libs/video/renderer])
|
||||
QF_PROCESS_NEED_LIST(vid_render, [gl glsl sw vulkan])
|
||||
QF_PROCESS_NEED_LIBS(models, [gl glsl sw vulkan], [libs/models])
|
||||
QF_PROCESS_NEED_LIBS(alias, [gl glsl sw vulkan], [libs/models/alias])
|
||||
QF_PROCESS_NEED_LIBS(brush, [gl glsl sw vulkan], [libs/models/brush])
|
||||
QF_PROCESS_NEED_LIBS(iqm, [gl glsl sw vulkan], [libs/models/iqm])
|
||||
QF_PROCESS_NEED_LIBS(sprite, [gl glsl sw vulkan], [libs/models/sprite])
|
||||
|
||||
QF_PROCESS_NEED_LIBS(vid, [common sdl svga x11])
|
||||
QF_PROCESS_NEED_LIBS(qw, [client common sdl server], a)
|
||||
QF_PROCESS_NEED_LIBS(nq, [client common sdl server], a)
|
||||
QF_PROCESS_NEED_LIBS(input, [evdev], [libs/input])
|
||||
QF_PROCESS_NEED_LIBS(vid, [common sdl svga win x11], [libs/video/targets])
|
||||
QF_PROCESS_NEED_LIBS(qw, [client common sdl win server], [qw/source], a)
|
||||
QF_PROCESS_NEED_LIBS(nq, [client common sdl win server], [nq/source], a)
|
||||
|
||||
if test -n "$CL_TARGETS"; then
|
||||
CD_TARGETS="libQFcd.la"
|
||||
SND_TARGETS="libQFsound.la"
|
||||
AUDIO_TARGETS="testsound\$(EXEEXT)"
|
||||
JOY_TARGETS="libQFjs.la"
|
||||
CD_TARGETS="libs/audio/libQFcd.la"
|
||||
SND_TARGETS="libs/audio/libQFsound.la"
|
||||
AUDIO_TARGETS="libs/audio/test/testsound\$(EXEEXT)"
|
||||
else
|
||||
unset CDTYPE
|
||||
unset SOUND_TYPES
|
||||
CD_TARGETS=""
|
||||
JOY_TARGETS=""
|
||||
SND_TARGETS=""
|
||||
AUDIO_TARGETS=""
|
||||
fi
|
||||
|
@ -300,7 +398,8 @@ QF_SUBST(PREFER_NON_PIC)
|
|||
QF_SUBST(STATIC)
|
||||
|
||||
AC_ARG_WITH(static-plugins,
|
||||
[ --with-static-plugins build plugins into executable rather than separate],
|
||||
AS_HELP_STRING([--with-static-plugins],
|
||||
[build plugins into executable rather than separate]),
|
||||
static_plugins="$withval", static_plugins=auto)
|
||||
if test "x$static_plugins" = xauto; then
|
||||
if test "x$enable_shared" = xno -o "x$SYSTYPE" = xWIN32; then
|
||||
|
@ -308,13 +407,13 @@ if test "x$static_plugins" = xauto; then
|
|||
fi
|
||||
fi
|
||||
if test "x$static_plugins" = xyes; then
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(vid_render, [sw sw32 glsl gl])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(console, [server], [\$(top_builddir)/libs/console], [server])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(console, [client], [\$(top_builddir)/libs/console], [client])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(vid_render, [sw glsl gl vulkan], [libs/video/renderer])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(console, [server], [libs/console], [server])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(console, [client], [libs/console], [client])
|
||||
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(snd_output, [sdl mme sgi sun win dx oss alsa], [targets])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(snd_render, [jack default], [renderer])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(cd, [xmms sdl sgi win linux file])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(snd_output, [sdl mme sgi sun win dx oss jack alsa], [libs/audio/targets])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(snd_render, [default], [libs/audio/renderer])
|
||||
QF_PROCESS_NEED_STATIC_PLUGINS(cd, [xmms sdl sgi win linux file], [libs/audio])
|
||||
AC_DEFINE(STATIC_PLUGINS, 1, [Define this if you are building static plugins])
|
||||
if test -n "$SOUND_TYPES"; then
|
||||
SOUND_TYPES="$SOUND_TYPES (static)"
|
||||
|
@ -323,12 +422,12 @@ if test "x$static_plugins" = xyes; then
|
|||
CDTYPE="$CDTYPE (static)"
|
||||
fi
|
||||
else
|
||||
QF_PROCESS_NEED_PLUGINS(vid_render, [sw sw32 glsl gl])
|
||||
QF_PROCESS_NEED_PLUGINS(console, [server], [server])
|
||||
QF_PROCESS_NEED_PLUGINS(console, [client], [client])
|
||||
QF_PROCESS_NEED_PLUGINS(snd_output, [sdl mme sgi sun win dx oss alsa])
|
||||
QF_PROCESS_NEED_PLUGINS(snd_render, [jack default])
|
||||
QF_PROCESS_NEED_PLUGINS(cd, [xmms sdl sgi win linux file])
|
||||
QF_PROCESS_NEED_PLUGINS(vid_render, [sw glsl gl vulkan], [libs/video/renderer])
|
||||
QF_PROCESS_NEED_PLUGINS(console, [server], [libs/console], [server])
|
||||
QF_PROCESS_NEED_PLUGINS(console, [client], [libs/console], [client])
|
||||
QF_PROCESS_NEED_PLUGINS(snd_output, [sdl mme sgi sun win dx oss jack alsa], [libs/audio/targets])
|
||||
QF_PROCESS_NEED_PLUGINS(snd_render, [default], [libs/audio/renderer])
|
||||
QF_PROCESS_NEED_PLUGINS(cd, [xmms sdl sgi win linux file], [libs/audio])
|
||||
fi
|
||||
|
||||
dnl Do not use -module here, it belongs in makefile.am due to automake
|
||||
|
@ -342,7 +441,6 @@ QF_SUBST(QWAQ_TARGETS)
|
|||
QF_SUBST(QW_TARGETS)
|
||||
QF_SUBST(QW_DESKTOP_DATA)
|
||||
QF_SUBST(CD_TARGETS)
|
||||
QF_SUBST(JOY_TARGETS)
|
||||
QF_SUBST(SND_TARGETS)
|
||||
QF_SUBST(AUDIO_TARGETS)
|
||||
QF_SUBST(VID_MODEL_TARGETS)
|
||||
|
@ -350,6 +448,21 @@ QF_SUBST(VID_REND_TARGETS)
|
|||
QF_SUBST(VID_REND_NOINST_TARGETS)
|
||||
QF_SUBST(VID_TARGETS)
|
||||
|
||||
QF_SUBST(BSP2IMG_TARGETS)
|
||||
QF_SUBST(CARNE_TARGETS)
|
||||
QF_SUBST(PAK_TARGETS)
|
||||
QF_SUBST(QFBSP_TARGETS)
|
||||
QF_SUBST(QFCC_TARGETS)
|
||||
QF_SUBST(QFLIGHT_TARGETS)
|
||||
QF_SUBST(QFLMP_TARGETS)
|
||||
QF_SUBST(QFMODELGEN_TARGETS)
|
||||
QF_SUBST(QFSPRITEGEN_TARGETS)
|
||||
QF_SUBST(QFVIS_TARGETS)
|
||||
QF_SUBST(WAD_TARGETS)
|
||||
QF_SUBST(WAV_TARGETS)
|
||||
|
||||
QF_SUBST(VKGEN_TARGETS)
|
||||
|
||||
QF_DEPS(BSP2IMG,
|
||||
[],
|
||||
[$(top_builddir)/libs/image/libQFimage.la
|
||||
|
@ -372,6 +485,7 @@ QF_DEPS(QFCC,
|
|||
QF_DEPS(QFCC_TEST,
|
||||
[],
|
||||
[$(top_builddir)/libs/ruamoko/libQFruamoko.la
|
||||
$(top_builddir)/libs/gamecode/libQFgamecode.la
|
||||
$(top_builddir)/libs/util/libQFutil.la],
|
||||
[$(WIN32_LIBS)],
|
||||
)
|
||||
|
@ -404,8 +518,9 @@ QF_DEPS(QFVIS,
|
|||
[$(WIN32_LIBS)],
|
||||
)
|
||||
QF_DEPS(QWAQ,
|
||||
[],
|
||||
[-I$(top_srcdir)/ruamoko/qwaq],
|
||||
[$(top_builddir)/libs/ruamoko/libQFruamoko.la
|
||||
$(top_builddir)/libs/gamecode/libQFgamecode.la
|
||||
$(top_builddir)/libs/util/libQFutil.la],
|
||||
[$(WIN32_LIBS)],
|
||||
)
|
||||
|
@ -413,6 +528,7 @@ QF_DEPS(CARNE,
|
|||
[],
|
||||
[$(top_builddir)/libs/gib/libQFgib.la
|
||||
$(top_builddir)/libs/ruamoko/libQFruamoko.la
|
||||
$(top_builddir)/libs/gamecode/libQFgamecode.la
|
||||
$(top_builddir)/libs/util/libQFutil.la],
|
||||
[$(WIN32_LIBS)],
|
||||
)
|
||||
|
@ -432,3 +548,8 @@ QF_DEPS(WAV,
|
|||
[$(top_builddir)/libs/util/libQFutil.la],
|
||||
[$(WIN32_LIBS)],
|
||||
)
|
||||
QF_DEPS(VKGEN,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
)
|
||||
|
|
|
@ -4,7 +4,7 @@ dnl ==================================================================
|
|||
|
||||
dnl XMMS Checks
|
||||
AC_ARG_ENABLE(xmms,
|
||||
[ --enable-xmms enable checking for XMMS],
|
||||
AS_HELP_STRING([--enable-xmms], [enable checking for XMMS])
|
||||
)
|
||||
if test "x$mingw" != xyes -a "x$enable_xmms" == xyes; then
|
||||
AM_PATH_XMMS(0.9.5.1, HAVE_XMMS=yes, HAVE_XMMS=no)
|
||||
|
@ -59,10 +59,12 @@ AC_SUBST(SGI_CD_LIBS)
|
|||
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],
|
||||
[
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <mmsystem.h>
|
||||
#if defined(MCI_SET_DOOR_OPEN)
|
||||
QF_maGiC_VALUE
|
||||
#endif
|
||||
#endif
|
||||
],
|
||||
CDTYPE="$CDTYPE WIN32"
|
||||
|
@ -78,8 +80,8 @@ AC_SUBST(CD_LIBS)
|
|||
|
||||
AC_ARG_WITH([cd-default],
|
||||
AS_HELP_STRING([--with-cd-default=...],
|
||||
[Plugin to use for the default cd driver.]
|
||||
[Defaults to File.]
|
||||
[plugin to use for the default cd driver.]
|
||||
[Defaults to file.]
|
||||
[[file linux xmms sdl sgi win32]]),
|
||||
[cd_default="$withval"]
|
||||
)
|
||||
|
|
|
@ -16,19 +16,19 @@ AC_MSG_RESULT([$leave_cflags_alone])
|
|||
|
||||
AC_MSG_CHECKING(for C99 inline)
|
||||
c99_inline=no
|
||||
AC_TRY_LINK(
|
||||
[inline int foo (int x) { return x * x; }
|
||||
int (*bar) (int) = foo;],
|
||||
[],
|
||||
c99_inline=no
|
||||
AC_MSG_RESULT(no),
|
||||
c99_inline=yes
|
||||
AC_DEFINE(HAVE_C99INLINE, extern, [define this if using c99 inline])
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[inline int foo (int x) { return x * x; }
|
||||
int (*bar) (int) = foo;]],
|
||||
[[]])],
|
||||
[c99_inline=no
|
||||
AC_MSG_RESULT(no)],
|
||||
[c99_inline=yes
|
||||
AC_DEFINE(HAVE_C99INLINE, extern, define this if using c99 inline)
|
||||
AC_MSG_RESULT(yes)]
|
||||
)
|
||||
AH_VERBATIM([HAVE_C99INLINE],
|
||||
[/* Define this if the GCC __attribute__ keyword is available */
|
||||
#undef HAVE_C99INLINE
|
||||
[#undef HAVE_C99INLINE
|
||||
#ifdef HAVE_C99INLINE
|
||||
# define GNU89INLINE
|
||||
#else
|
||||
|
@ -53,7 +53,7 @@ if test "x$GCC" = xyes; then
|
|||
fi
|
||||
|
||||
AC_ARG_ENABLE(debug,
|
||||
[ --disable-debug compile without debugging],
|
||||
AS_HELP_STRING([--disable-debug], [compile without debugging]),
|
||||
debug=$enable_debug
|
||||
)
|
||||
|
||||
|
@ -76,28 +76,83 @@ else
|
|||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(Werror,
|
||||
AS_HELP_STRING([--disable-Werror], [do not treat warnings as errors]))
|
||||
dnl We want warnings, lots of warnings...
|
||||
dnl The help text should be INVERTED before release!
|
||||
dnl when in git, this test defaults to ENABLED.
|
||||
dnl In a release, this test defaults to DISABLED.
|
||||
if test "x$GCC" = "xyes"; then
|
||||
if test "x$enable_Werror" $cvs_def_enabled; then
|
||||
CFLAGS="$CFLAGS -Wall -Werror -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
|
||||
else
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
CFLAGS="$CFLAGS -fno-common"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(optimize,
|
||||
[ --disable-optimize compile without optimizations (for development)],
|
||||
AS_HELP_STRING([--disable-optimize],
|
||||
[compile without optimizations (for development)]),
|
||||
optimize=$enable_optimize,
|
||||
optimize=yes
|
||||
)
|
||||
|
||||
if test "x$host_cpu" = xaarch64; then
|
||||
simd=neon
|
||||
else
|
||||
AC_ARG_ENABLE(simd,
|
||||
AS_HELP_STRING([--enable-simd@<:@=arg@:.@],
|
||||
[enable SIMD support (default auto)]),
|
||||
[],
|
||||
[enable_simd=yes]
|
||||
)
|
||||
|
||||
case "$enable_simd" in
|
||||
no)
|
||||
simd=no
|
||||
;;
|
||||
sse|sse2|avx|avx2)
|
||||
QF_CC_OPTION(-m$enable_simd)
|
||||
simd=$enable_simd
|
||||
;;
|
||||
yes)
|
||||
for simd in avx2 avx sse2 sse; do
|
||||
if lscpu | grep -q -w $simd; then
|
||||
QF_CC_OPTION(-m$simd)
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
case "$simd" in
|
||||
avx*)
|
||||
;;
|
||||
*)
|
||||
QF_CC_OPTION(-Wno-psabi)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for optimization)
|
||||
if test "x$optimize" = xyes -a "x$leave_cflags_alone" != "xyes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
BUILD_TYPE="$BUILD_TYPE Optimize"
|
||||
if test "x$GCC" = xyes; then
|
||||
saved_cflags="$CFLAGS"
|
||||
CFLAGS=""
|
||||
dnl CFLAGS=""
|
||||
QF_CC_OPTION(-frename-registers)
|
||||
if test "$CC_MAJ" -ge 4; then
|
||||
QF_CC_OPTION(-finline-limit=32000 -Winline)
|
||||
fi
|
||||
heavy="-O2 $CFLAGS -ffast-math -fno-unsafe-math-optimizations -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
|
||||
QF_CC_OPTION(-fexpensive-optimizations)
|
||||
dnl if test "$CC_MAJ" -ge 4; then
|
||||
dnl QF_CC_OPTION(-finline-limit=32000 -Winline)
|
||||
dnl fi
|
||||
dnl heavy="-O2 $CFLAGS -ffast-math -fno-unsafe-math-optimizations -funroll-loops -fomit-frame-pointer"
|
||||
heavy="-O2 $CFLAGS -fno-fast-math -funroll-loops -fomit-frame-pointer "
|
||||
CFLAGS="$saved_cflags"
|
||||
light="-O2"
|
||||
AC_ARG_ENABLE(strict-aliasing,
|
||||
[ --enable-strict-aliasing enable the -fstrict-aliasing option of gcc])
|
||||
AS_HELP_STRING([--enable-strict-aliasing],
|
||||
[enable the -fstrict-aliasing option of gcc]))
|
||||
if test "x$enable_strict_aliasing" = "xyes"; then
|
||||
heavy="$heavy -fstrict-aliasing"
|
||||
light="$light -fstrict-aliasing"
|
||||
|
@ -118,7 +173,8 @@ if test "x$optimize" = xyes -a "x$leave_cflags_alone" != "xyes"; then
|
|||
fi
|
||||
AC_MSG_CHECKING(for special compiler settings)
|
||||
AC_ARG_WITH(arch,
|
||||
[ --with-arch=ARCH control compiler architecture directly],
|
||||
AS_HELP_STRING([--with-arch=ARCH],
|
||||
[control compiler architecture directly]),
|
||||
arch="$withval", arch=auto
|
||||
)
|
||||
case "$arch" in
|
||||
|
@ -144,25 +200,17 @@ if test "x$optimize" = xyes -a "x$leave_cflags_alone" != "xyes"; then
|
|||
else
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $MORE_CFLAGS"
|
||||
AC_TRY_COMPILE(
|
||||
[],
|
||||
[],
|
||||
AC_MSG_RESULT(yes),
|
||||
CFLAGS="$save_CFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[AC_MSG_RESULT(yes)],[CFLAGS="$save_CFLAGS"
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
])
|
||||
fi
|
||||
if test $CC_MAJ = 2 -a $CC_MIN = 96; then
|
||||
AC_MSG_CHECKING(if align options work)
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -malign-loops=2 -malign-jumps=2 -malign-functions=2"
|
||||
AC_TRY_COMPILE(
|
||||
[],
|
||||
[],
|
||||
light="$light -malign-loops=2 -malign-jumps=2 -malign-functions=2"
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[light="$light -malign-loops=2 -malign-jumps=2 -malign-functions=2"
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
CFLAGS="$CFLAGS $light"
|
||||
else
|
||||
|
@ -177,7 +225,8 @@ fi
|
|||
|
||||
dnl CFLAGS for release and devel versions
|
||||
AC_ARG_ENABLE(profile,
|
||||
[ --enable-profile compile with profiling (for development)],
|
||||
AS_HELP_STRING([--enable-profile],
|
||||
[compile with profiling (for development)]),
|
||||
profile=$enable_profile
|
||||
)
|
||||
if test "x$profile" = xyes; then
|
||||
|
@ -195,7 +244,7 @@ if test "x$GCC" = xyes; then
|
|||
dnl Check for -pipe vs -save-temps.
|
||||
AC_MSG_CHECKING(for -pipe vs -save-temps)
|
||||
AC_ARG_ENABLE(save-temps,
|
||||
[ --enable-save-temps save temporary files],
|
||||
AS_HELP_STRING([--enable-save-temps], [save temporary files]),
|
||||
AC_MSG_RESULT(-save-temps)
|
||||
CFLAGS="$CFLAGS -save-temps"
|
||||
BUILD_TYPE="$BUILD_TYPE Save-temps"
|
||||
|
@ -213,6 +262,17 @@ if test $CC_MAJ -gt 4 -o $CC_MAJ -eq 4 -a $CC_MIN -ge 5; then
|
|||
fi
|
||||
QF_CC_OPTION(-Wtype-limits)
|
||||
QF_CC_OPTION_TEST([-fvisibility=hidden], [VISIBILITY=-fvisibility=hidden])
|
||||
QF_CC_OPTION(-Wsuggest-attribute=pure)
|
||||
QF_CC_OPTION(-Wsuggest-attribute=const)
|
||||
QF_CC_OPTION(-Wsuggest-attribute=noreturn)
|
||||
QF_CC_OPTION(-Wsuggest-attribute=format)
|
||||
QF_CC_OPTION(-Wformat-nonliteral)
|
||||
|
||||
AC_ARG_ENABLE(coverage,
|
||||
AS_HELP_STRING([--enable-coverage], [enable generation of data for gcov]))
|
||||
if test "x$enable_coverage" = xyes; then
|
||||
QF_CC_OPTION(-fprofile-arcs -ftest-coverage)
|
||||
fi
|
||||
|
||||
dnl QuakeForge uses lots of BCPL-style (//) comments, which can cause problems
|
||||
dnl with many compilers that do not support the latest ISO standards. Well,
|
||||
|
@ -240,22 +300,6 @@ if test "x$GCC" != xyes; then
|
|||
esac
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(Werror,
|
||||
[ --disable-Werror Do not treat warnings as errors]
|
||||
)
|
||||
dnl We want warnings, lots of warnings...
|
||||
dnl The help text should be INVERTED before release!
|
||||
dnl when in git, this test defaults to ENABLED.
|
||||
dnl In a release, this test defaults to DISABLED.
|
||||
if test "x$GCC" = "xyes"; then
|
||||
if test "x$enable_Werror" $cvs_def_enabled; then
|
||||
CFLAGS="$CFLAGS -Wall -Werror -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
|
||||
else
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
CFLAGS="$CFLAGS -fno-common"
|
||||
fi
|
||||
|
||||
AS="$CC"
|
||||
if test "x$SYSTYPE" = "xWIN32"; then
|
||||
ASFLAGS="\$(DEFS) \$(CFLAGS) \$(CPPFLAGS) \$(DEFAULT_INCLUDES) \$(INCLUDES) -D_WIN32"
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
AC_ARG_ENABLE(flac,
|
||||
[ --disable-flac disable flac support],
|
||||
)
|
||||
AC_ARG_ENABLE(flac, AS_HELP_STRING([--disable-flac], [disable flac support]))
|
||||
HAVE_FLAC=no
|
||||
if test "x$enable_flac" != "xno"; then
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
|
@ -15,8 +13,7 @@ fi
|
|||
AM_CONDITIONAL(HAVE_FLAC, test "x$HAVE_FLAC" = "xyes")
|
||||
|
||||
AC_ARG_ENABLE(wildmidi,
|
||||
[ --disable-wildmidi disable libWildMidi support],
|
||||
)
|
||||
AS_HELP_STRING([--disable-wildmidi], disable libWildMidi support]))
|
||||
HAVE_WILDMIDI=no
|
||||
WM_LIBS=
|
||||
if test "x$enable_wildmidi" != "xno"; then
|
||||
|
@ -33,8 +30,7 @@ AC_SUBST(WM_LIBS)
|
|||
AM_CONDITIONAL(HAVE_MIDI, test "x$HAVE_WILDMIDI" = "xyes")
|
||||
|
||||
AC_ARG_ENABLE(vorbis,
|
||||
[ --disable-vorbis disable ogg vorbis support],
|
||||
)
|
||||
AS_HELP_STRING([--disable-vorbis], [disable ogg vorbis support]))
|
||||
HAVE_VORBIS=no
|
||||
if test "x$enable_vorbis" != "xno"; then
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
|
@ -59,7 +55,7 @@ fi
|
|||
AM_CONDITIONAL(HAVE_VORBIS, test "x$HAVE_VORBIS" = "xyes")
|
||||
|
||||
|
||||
AC_ARG_ENABLE(zlib, [ --disable-zlib disable zlib support])
|
||||
AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [disable zlib support]))
|
||||
HAVE_ZLIB=no
|
||||
Z_LIBS=""
|
||||
if test "x$enable_zlib" != "xno"; then
|
||||
|
@ -83,9 +79,7 @@ if test "x$HAVE_ZLIB" = "xyes"; then
|
|||
AC_DEFINE(HAVE_ZLIB, 1, [Define if you have zlib])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(png,
|
||||
[ --disable-png disable png support],
|
||||
)
|
||||
AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable png support]))
|
||||
HAVE_PNG=no
|
||||
PNG_LIBS=""
|
||||
if test "x$enable_png" != "xno"; then
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
if test "x$cross_compiling" = xyes; then
|
||||
AC_MSG_CHECKING(whether byte ordering is bigendian)
|
||||
AC_ARG_WITH(endian,
|
||||
[ --with-endian=TYPE set endian of target system for
|
||||
cross-compiling. TYPE = little or big.],
|
||||
AS_HELP_STRING([--with-endian=TYPE],
|
||||
[set endian of target system for cross-compiling.]
|
||||
[TYPE = little or big.]),
|
||||
endian="$withval",
|
||||
)
|
||||
case "x$endian" in
|
||||
|
|
|
@ -1,19 +1,53 @@
|
|||
AC_ARG_ENABLE(curses,
|
||||
[ --disable-curses disable curses support]
|
||||
)
|
||||
AS_HELP_STRING([--disable-curses], [disable curses support]))
|
||||
if test "x$enable_curses" != "xno"; then
|
||||
AC_CHECK_HEADERS(curses.h)
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
PKG_CHECK_MODULES([NCURSES], [ncurses], HAVE_NCURSES=yes, HAVE_NCURSES=no)
|
||||
else
|
||||
AC_CHECK_HEADER([curses.h], [],
|
||||
[AC_CHECK_HEADER([ncurses/curses.h],
|
||||
[NCURSES_CFLAGS=-I${prefix}/include/ncurses])])
|
||||
AC_CHECK_LIB(ncurses, initscr,
|
||||
CURSES_LIBS=-lncurses,
|
||||
NCURSES_LIBS=-lncurses,
|
||||
AC_CHECK_LIB(pdcurses, initscr,
|
||||
CURSES_LIBS=-lpdcurses,
|
||||
NCURSES_LIBS=-lpdcurses,
|
||||
AC_CHECK_LIB(curses, initscr,
|
||||
CURSES_LIBS=-lcurses,
|
||||
CURSES_LIBS=
|
||||
NCURSES_LIBS=-lcurses,
|
||||
NCURSES_LIBS=
|
||||
)
|
||||
)
|
||||
)
|
||||
if test "x$NCURSES_LIBS" != "x"; then
|
||||
HAVE_NCURSES=yes
|
||||
else
|
||||
HAVE_NCURSES=no
|
||||
fi
|
||||
fi
|
||||
else
|
||||
CURSES_LIBS=
|
||||
HAVE_NCURSES=no
|
||||
NCURSES_LIBS=
|
||||
fi
|
||||
AC_SUBST(CURSES_LIBS)
|
||||
AC_SUBST(NCURSES_LIBS)
|
||||
|
||||
if test "x$HAVE_NCURSES" == "xyes"; then
|
||||
AC_DEFINE(HAVE_NCURSES, 1, [Define if you have the ncurses library])
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
PKG_CHECK_MODULES([PANEL], [panel], HAVE_PANEL=yes, HAVE_PANEL=no)
|
||||
else
|
||||
AC_CHECK_HEADER(panel.h,
|
||||
[AC_CHECK_LIB(panel, new_panel,
|
||||
[AC_DEFINE(HAVE_PANEL, 1,
|
||||
[Define if you have the ncurses panel library])
|
||||
PANEL_LIBS=-lpanel
|
||||
HAVE_PANEL=yes],
|
||||
[HAVE_PANEL=no],
|
||||
$NCURSES_LIBS
|
||||
)],
|
||||
[HAVE_PANEL=no],
|
||||
[$NCURSES_CFLAGS]
|
||||
)
|
||||
fi
|
||||
else
|
||||
PANEL_LIBS=
|
||||
fi
|
||||
AC_SUBST(PANEL_LIBS)
|
||||
|
|
7
config.d/evdev.m4
Normal file
7
config.d/evdev.m4
Normal file
|
@ -0,0 +1,7 @@
|
|||
dnl ==================================================================
|
||||
dnl Checks for evdev
|
||||
dnl ==================================================================
|
||||
|
||||
AC_CHECK_HEADER(linux/input.h,
|
||||
[QF_NEED(input,[evdev])
|
||||
AC_DEFINE([HAVE_EVDEV], [1], [Define if you have evdev])])
|
|
@ -1,7 +1,8 @@
|
|||
dnl Checks for Linux FBDev support
|
||||
AC_ARG_WITH(fbdev,
|
||||
[ --with-fbdev use Linux framebuffer device],
|
||||
HAVE_FBDEV=$withval, HAVE_FBDEV=no)
|
||||
AS_HELP_STRING([--with-fbdev], [use Linux framebuffer device]),
|
||||
HAVE_FBDEV=$withval,
|
||||
HAVE_FBDEV=no)
|
||||
if test "x$HAVE_FBDEV" != xno; then
|
||||
dnl We should still be able to compile it even if
|
||||
dnl there is no fbdev support in the running kernel
|
||||
|
@ -10,27 +11,15 @@ fi
|
|||
|
||||
if test "x$HAVE_FBDEV" = xyes; then
|
||||
AC_MSG_CHECKING(for FB_AUX_VGA_PLANES_VGA4)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "linux/fb.h"],
|
||||
[int foo = FB_AUX_VGA_PLANES_VGA4;],
|
||||
AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_VGA4, 1, [Define this if you have FB_AUX_VGA_PLANES_VGA4])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "linux/fb.h"]], [[int foo = FB_AUX_VGA_PLANES_VGA4;]])],[AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_VGA4, 1, Define this if you have FB_AUX_VGA_PLANES_VGA4)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_MSG_CHECKING(for FB_AUX_VGA_PLANES_CFB4)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "linux/fb.h"],
|
||||
[int foo = FB_AUX_VGA_PLANES_CFB4;],
|
||||
AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_CFB4, 1, [Define this if you have FB_AUX_VGA_PLANES_CFB4])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "linux/fb.h"]], [[int foo = FB_AUX_VGA_PLANES_CFB4;]])],[AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_CFB4, 1, Define this if you have FB_AUX_VGA_PLANES_CFB4)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_MSG_CHECKING(for FB_AUX_VGA_PLANES_CFB8)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "linux/fb.h"],
|
||||
[int foo = FB_AUX_VGA_PLANES_CFB8;],
|
||||
AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_CFB8, 1, [Define this if you have FB_AUX_VGA_PLANES_CFB4])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "linux/fb.h"]], [[int foo = FB_AUX_VGA_PLANES_CFB8;]])],[AC_DEFINE(HAVE_FB_AUX_VGA_PLANES_CFB8, 1, Define this if you have FB_AUX_VGA_PLANES_CFB4)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
fi
|
||||
|
|
32
config.d/freetype.m4
Normal file
32
config.d/freetype.m4
Normal file
|
@ -0,0 +1,32 @@
|
|||
AC_ARG_ENABLE(freetype,
|
||||
AS_HELP_STRING([--disable-freetype], [disable freetype support]))
|
||||
if test "x$enable_freetype" != "xno"; then
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
PKG_CHECK_MODULES([FREETYPE], [freetype2], HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
|
||||
fi
|
||||
else
|
||||
HAVE_FREETYPE=no
|
||||
FREETYPE_LIBS=
|
||||
fi
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
|
||||
if test "x$HAVE_FREETYPE" == "xyes"; then
|
||||
AC_DEFINE(HAVE_FREETYPE, 1, [Define if you have the freetype library])
|
||||
fi
|
||||
|
||||
|
||||
AC_ARG_ENABLE(harfbuzz,
|
||||
AS_HELP_STRING([--disable-harfbuzz], [disable HarfBuzz support]))
|
||||
if test "x$enable_harfbuzz" != "xno"; then
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
PKG_CHECK_MODULES([HARFBUZZ], [harfbuzz], HAVE_HARFBUZZ=yes, HAVE_HARFBUZZ=no)
|
||||
fi
|
||||
else
|
||||
HAVE_HARFBUZZ=no
|
||||
HARFBUZZ_LIBS=
|
||||
fi
|
||||
AC_SUBST(HARFBUZZ_LIBS)
|
||||
|
||||
if test "x$HAVE_HARFBUZZ" == "xyes"; then
|
||||
AC_DEFINE(HAVE_HARFBUZZ, 1, [Define if you have the HarfBuzz library])
|
||||
fi
|
|
@ -3,7 +3,6 @@ dnl Checks for header files.
|
|||
dnl ==================================================================
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_MAJOR
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS(
|
||||
|
@ -12,7 +11,7 @@ AC_CHECK_HEADERS(
|
|||
dmedia/cdaudio.h dpmi.h dsound.h errno.h fcntl.h io.h \
|
||||
ifaddrs.h libc.h limits.h linux/cdrom.h linux/joystick.h \
|
||||
linux/soundcard.h machine/soundcard.h malloc.h math.h mgraph.h _mingw.h \
|
||||
netdb.h net/if.h netinet/in.h process.h pthread.h pwd.h rpc/types.h \
|
||||
netdb.h net/if.h netinet/in.h process.h pthread.h pwd.h \
|
||||
setjmp.h signal.h stdarg.h stdio.h stdlib.h string.h strings.h \
|
||||
sys/asoundlib.h sys/audioio.h sys/filio.h sys/ioctl.h sys/io.h sys/ipc.h \
|
||||
sys/mman.h sys/param.h sys/poll.h sys/select.h sys/shm.h sys/signal.h \
|
||||
|
@ -33,28 +32,21 @@ fi
|
|||
AC_FUNC_ALLOCA
|
||||
|
||||
AC_MSG_CHECKING(for fnmatch in fnmatch.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "fnmatch.h"],
|
||||
[int (*foo)() = fnmatch;],
|
||||
AC_DEFINE(HAVE_FNMATCH_PROTO, 1, [Define this if fnmatch is prototyped in fnmatch.h])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "fnmatch.h"]], [[int (*foo)() = fnmatch;]])],[AC_DEFINE(HAVE_FNMATCH_PROTO, 1, Define this if fnmatch is prototyped in fnmatch.h)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for strnlen in string.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "string.h"],
|
||||
[int (*foo)() = strnlen;],
|
||||
AC_DEFINE(HAVE_STRNLEN_PROTO, 1, [Define this if strnlen is prototyped in string.h])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "string.h"]], [[int (*foo)() = strnlen;]])],[AC_DEFINE(HAVE_STRNLEN_PROTO, 1, Define this if strnlen is prototyped in string.h)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for strndup in string.h)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "string.h"]], [[int (*foo)() = strndup;]])],[AC_DEFINE(HAVE_STRNDUP_PROTO, 1, Define this if strndup is prototyped in string.h)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for strcasestr in string.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include "string.h"],
|
||||
[int (*foo)() = strcasestr;],
|
||||
AC_DEFINE(HAVE_STRCASESTR_PROTO, 1, [Define this if strcasestr is prototyped in string.h])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "string.h"]], [[int (*foo)() = strcasestr;]])],[AC_DEFINE(HAVE_STRCASESTR_PROTO, 1, Define this if strcasestr is prototyped in string.h)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
|
|
@ -5,19 +5,21 @@ dnl ==================================================================
|
|||
AC_FUNC_ALLOCA
|
||||
AC_FUNC_MEMCMP
|
||||
AC_FUNC_MMAP
|
||||
AC_TYPE_SIGNAL
|
||||
|
||||
AC_FUNC_VPRINTF
|
||||
AC_CHECK_FUNCS(
|
||||
access _access connect dlopen execvp fcntl ftime _ftime getaddrinfo \
|
||||
access _access bsearch_r connect dlopen execvp fcntl ftime _ftime \
|
||||
getaddrinfo \
|
||||
gethostbyname gethostname getnameinfo getpagesize gettimeofday getuid \
|
||||
getwd ioctl mkdir _mkdir mprotect putenv select snprintf _snprintf \
|
||||
socket stat strcasestr strerror strnlen strsep strstr vsnprintf \
|
||||
_vsnprintf wait
|
||||
getwd ioctl mkdir _mkdir mprotect putenv qsort_r select sigaction \
|
||||
snprintf _snprintf socket stat strcasestr strerror strerror_r strndup \
|
||||
strnlen \
|
||||
strsep strstr vsnprintf _vsnprintf wait
|
||||
)
|
||||
|
||||
AC_FUNC_VA_COPY
|
||||
AC_FUNC__VA_COPY
|
||||
AH_VERBATIM([DEFINE_VA_COPY],
|
||||
AH_VERBATIM([HAVE__VA_COPY_],
|
||||
[#ifndef HAVE_VA_COPY
|
||||
# ifdef HAVE__VA_COPY
|
||||
# define va_copy(d,s) __va_copy ((d), (s))
|
||||
|
@ -35,6 +37,17 @@ if test "x$ac_cv_func_dlopen" != "xyes"; then
|
|||
fi
|
||||
AC_SUBST(DL_LIBS)
|
||||
|
||||
if test "x$DL_LIBS" != "x"; then
|
||||
AC_MSG_CHECKING([for RTLD_NOW])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <dlfcn.h>]], [[int foo = RTLD_NOW]])],[AC_DEFINE(HAVE_RTLD_NOW, 1, Define if you have RTLD_NOW.)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_MSG_CHECKING([for RTLD_DEEPBIND])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <dlfcn.h>]], [[int foo = RTLD_DEEPBIND]])],[AC_DEFINE(HAVE_RTLD_DEEPBIND, 1, Define if you have RTLD_DEEPBIND.)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
fi
|
||||
|
||||
dnl Checks for stricmp/strcasecmp
|
||||
#AC_CHECK_FUNC(strcasecmp,
|
||||
# ,
|
||||
|
@ -60,36 +73,24 @@ fi
|
|||
AC_CHECK_FUNCS(usleep)
|
||||
|
||||
AC_MSG_CHECKING(for fnmatch)
|
||||
AC_TRY_LINK(
|
||||
[],
|
||||
[fnmatch();],
|
||||
BUILD_FNMATCH=no
|
||||
AC_MSG_RESULT(yes),
|
||||
BUILD_FNMATCH=yes
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[fnmatch();]])],[BUILD_FNMATCH=no
|
||||
AC_MSG_RESULT(yes)],[BUILD_FNMATCH=yes
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
])
|
||||
AM_CONDITIONAL(BUILD_FNMATCH, test "x$BUILD_FNMATCH" = "xyes")
|
||||
|
||||
AC_MSG_CHECKING(for opendir)
|
||||
AC_TRY_LINK(
|
||||
[],
|
||||
[opendir();],
|
||||
BUILD_DIRENT=no
|
||||
AC_MSG_RESULT(yes),
|
||||
BUILD_DIRENT=yes
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[opendir();]])],[BUILD_DIRENT=no
|
||||
AC_MSG_RESULT(yes)],[BUILD_DIRENT=yes
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
])
|
||||
AM_CONDITIONAL(BUILD_DIRENT, test "x$BUILD_DIRENT" = "xyes")
|
||||
|
||||
AC_MSG_CHECKING(for getopt_long)
|
||||
AC_TRY_LINK(
|
||||
[],
|
||||
[getopt_long();],
|
||||
BUILD_GETOPT=no
|
||||
AC_MSG_RESULT(yes),
|
||||
BUILD_GETOPT=yes
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[getopt_long();]])],[BUILD_GETOPT=no
|
||||
AC_MSG_RESULT(yes)],[BUILD_GETOPT=yes
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
])
|
||||
AM_CONDITIONAL(BUILD_GETOPT, test "x$BUILD_GETOPT" = "xyes")
|
||||
|
||||
AC_MSG_CHECKING(for log2f)
|
||||
|
|
|
@ -16,8 +16,8 @@ else
|
|||
fi
|
||||
|
||||
AC_ARG_WITH(ipv6,
|
||||
AS_HELP_STRING([--with-ipv6=DIR],
|
||||
[Enable IPv6 support.]
|
||||
AS_HELP_STRING([--with-ipv6@<:@=DIR@:>@],
|
||||
[enable IPv6 support.]
|
||||
[Optional argument specifies location of inet6 libraries.]),
|
||||
[
|
||||
if test "x$withval" = xno ; then
|
||||
|
@ -60,19 +60,16 @@ fi
|
|||
AC_MSG_CHECKING([for connect in -lwsock32])
|
||||
SAVELIBS="$LIBS"
|
||||
LIBS="$LIBS -lwsock32"
|
||||
AC_TRY_LINK([
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <winsock.h>
|
||||
],
|
||||
[
|
||||
]], [[
|
||||
connect(0, NULL, 42);
|
||||
],
|
||||
NET_LIBS="$NET_LIBS -lwsock32 -lwinmm"
|
||||
]])],[NET_LIBS="$NET_LIBS -lwsock32 -lwinmm"
|
||||
ac_cv_func_connect=yes
|
||||
ac_cv_func_gethostbyname=yes
|
||||
HAVE_WSOCK=yes
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
LIBS="$SAVELIBS"
|
||||
|
||||
AC_MSG_CHECKING(for UDP support)
|
||||
|
@ -87,16 +84,13 @@ if test "x$ac_cv_func_connect" != "xyes"; then
|
|||
AC_MSG_CHECKING([for connect in -lwsock32])
|
||||
SAVELIBS="$LIBS"
|
||||
LIBS="$LIBS -lwsock32"
|
||||
AC_TRY_LINK([
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <winsock.h>
|
||||
],
|
||||
[
|
||||
]], [[
|
||||
connect (0, NULL, 42);
|
||||
],
|
||||
NET_LIBS="$NET_LIBS -lwsock32 -lwinmm"
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
]])],[NET_LIBS="$NET_LIBS -lwsock32 -lwinmm"
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
LIBS="$SAVELIBS"
|
||||
fi
|
||||
AC_SUBST(NET_LIBS)
|
||||
|
@ -104,12 +98,9 @@ AC_SUBST(NET_LIBS)
|
|||
AC_MSG_CHECKING([for getifaddrs])
|
||||
SAVELIBS="$LIBS"
|
||||
LIBS="$LIBS $NET_LIBS"
|
||||
AC_TRY_LINK([],
|
||||
[
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
|
||||
getifaddrs (0);
|
||||
],
|
||||
AC_DEFINE(HAVE_GETIFADDRS, 1, [Define this if you have getifaddrs()])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
]])],[AC_DEFINE(HAVE_GETIFADDRS, 1, Define this if you have getifaddrs())
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
LIBS="$SAVELIBS"
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
dnl Whether to enable XDG support or not
|
||||
AC_ARG_ENABLE(xdg,
|
||||
[ --enable-xdg enable XDG support],
|
||||
AC_ARG_ENABLE(xdg, AS_HELP_STRING([--enable-xdg], [enable XDG support]),
|
||||
xdg=$enable_xdg,
|
||||
xdg=no
|
||||
)
|
||||
xdg=no)
|
||||
if test "x$xdg" != xno; then
|
||||
HAVE_XDG=yes
|
||||
else
|
||||
|
@ -36,10 +34,10 @@ else
|
|||
fi
|
||||
|
||||
AC_ARG_WITH(global-cfg,
|
||||
[ --with-global-cfg=FILE If set will change the name and location of the
|
||||
global config file used by QuakeForge. Defaults to
|
||||
/etc/quakeforge.conf.],
|
||||
globalconf="$withval", globalconf="auto")
|
||||
AS_HELP_STRING([--with-global-cfg=FILE],
|
||||
[if set will change the name and location of the global config file]
|
||||
[used by QuakeForge. Defaults to /etc/quakeforge.conf.]),
|
||||
globalconf="$withval", globalconf="auto")
|
||||
if test "x$globalconf" = "xauto" || test "x$globalconf" = "xyes" || \
|
||||
test "x$globalconf" = "xno"; then dnl yes/no sanity checks
|
||||
globalconf="$default_globalconf"
|
||||
|
@ -47,10 +45,10 @@ fi
|
|||
AC_DEFINE_UNQUOTED(FS_GLOBALCFG, "$globalconf", [Define this to the location of the global config file])
|
||||
|
||||
AC_ARG_WITH(user-cfg,
|
||||
[ --with-user-cfg=FILE If set will change the name and location of the
|
||||
user-specific config file used by QuakeForge.
|
||||
Defaults to ~/.quakeforgerc.],
|
||||
userconf="$withval", userconf="auto")
|
||||
AS_HELP_STRING([--with-user-cfg=FILE],
|
||||
[if set will change the name and location of the user-specific config]
|
||||
[file used by QuakeForge. Defaults to ~/.quakeforgerc.]),
|
||||
userconf="$withval", userconf="auto")
|
||||
if test "x$userconf" = "xauto" || test "x$userconf" = "xyes" || \
|
||||
test "x$userconf" = "xno"; then dnl yes/no sanity checks
|
||||
userconf="$default_userconf"
|
||||
|
@ -58,9 +56,10 @@ fi
|
|||
AC_DEFINE_UNQUOTED(FS_USERCFG, "$userconf", [Define this to the location of the user config file])
|
||||
|
||||
AC_ARG_WITH(sharepath,
|
||||
[ --with-sharepath=DIR Use DIR for shared game data, defaults to
|
||||
'.' or \${datarootdir}/games/quakeforge (if new style)],
|
||||
sharepath=$withval, sharepath="auto")
|
||||
AS_HELP_STRING([--with-sharepath=DIR],
|
||||
[use DIR for shared game data, defaults to '.' or]
|
||||
[${datarootdir}/games/quakeforge (if new style)]),
|
||||
sharepath=$withval, sharepath="auto")
|
||||
if test "x$sharepath" = "xauto" -o "x$sharepath" = "xyes" -o "x$sharepath" = "x"; then
|
||||
sharepath="$default_sharepath"
|
||||
elif test "x$sharepath" = xno; then
|
||||
|
@ -70,9 +69,10 @@ AC_DEFINE_UNQUOTED(FS_SHAREPATH, "$sharepath", [Define this to the shared game d
|
|||
QF_SUBST(sharepath)
|
||||
|
||||
AC_ARG_WITH(userpath,
|
||||
[ --with-userpath=DIR Use DIR for unshared game data, defaults to
|
||||
'.' or ~/.quakeforge (if new style)],
|
||||
userpath=$withval, userpath="auto")
|
||||
AS_HELP_STRING([--with-userpath=DIR],
|
||||
[use DIR for unshared game data, defaults to '.' or ~/.quakeforge]
|
||||
[(if new style)]),
|
||||
userpath=$withval, userpath="auto")
|
||||
if test "x$userpath" = "xauto" -o "x$userpath" = "xyes" -o "x$userpath" = "x"; then
|
||||
userpath="$default_userpath"
|
||||
elif test "x$userpath" = xno; then
|
||||
|
@ -81,9 +81,9 @@ fi
|
|||
AC_DEFINE_UNQUOTED(FS_USERPATH, "$userpath", [Define this to the unshared game directory root])
|
||||
|
||||
AC_ARG_WITH(plugin-path,
|
||||
[ --with-plugin-path=DIR Use DIR for loading plugins, defaults to
|
||||
\${libdir}/quakeforge],
|
||||
plugindir=$withval, plugindir="auto")
|
||||
AS_HELP_STRING([--with-plugin-path=DIR],
|
||||
[use DIR for loading plugins, defaults to ${libdir}/quakeforge]),
|
||||
plugindir=$withval, plugindir="auto")
|
||||
|
||||
PLUGINDIR="\${libdir}/quakeforge/plugins"
|
||||
if test "x$plugindir" = "xauto" -o "x$plugindir" = "xyes" -o "x$plugindir" = "x"; then
|
||||
|
@ -98,8 +98,21 @@ eval expanded_plugindir="$expanded_plugindir"
|
|||
AC_DEFINE_UNQUOTED(FS_PLUGINPATH, "$expanded_plugindir", [Define this to the path from which to load plugins])
|
||||
AC_SUBST(plugindir)
|
||||
|
||||
SHADERDIR="\${libdir}/quakeforge/shaders"
|
||||
if test "x$shaderdir" = "xauto" -o "x$shaderdir" = "xyes" -o "x$shaderdir" = "x"; then
|
||||
shaderdir="$SHADERDIR"
|
||||
elif test "x$shaderdir" = xno; then
|
||||
shaderdir="."
|
||||
else
|
||||
SHADERDIR="$shaderdir"
|
||||
fi
|
||||
eval expanded_shaderdir="$shaderdir"
|
||||
eval expanded_shaderdir="$expanded_shaderdir"
|
||||
AC_DEFINE_UNQUOTED(FS_SHADERPATH, "$expanded_shaderdir", [Define this to the path from which to load shaders])
|
||||
AC_SUBST(plugindir)
|
||||
|
||||
AC_ARG_WITH(gl-driver,
|
||||
[ --with-gl-driver=NAME Name of OpenGL driver DLL/DSO],
|
||||
AS_HELP_STRING([--with-gl-driver=NAME], [name of OpenGL driver DLL/DSO]),
|
||||
gl_driver=$withval,
|
||||
gl_driver=auto
|
||||
)
|
||||
|
|
|
@ -8,6 +8,7 @@ AC_PROG_CPP
|
|||
AC_PROG_LN_S
|
||||
AC_PROG_RANLIB
|
||||
AM_PROG_AS
|
||||
AM_PATH_PYTHON([3])
|
||||
|
||||
PKG_PROG_PKG_CONFIG
|
||||
|
||||
|
@ -32,6 +33,7 @@ AS_VERSION_COMPARE([$BISON_VER], [2.6],
|
|||
AC_MSG_RESULT([yes])
|
||||
)
|
||||
|
||||
AC_PROG_LEX(noyywrap)
|
||||
AM_PROG_LEX
|
||||
if echo $LEX | grep -v flex > /dev/null; then
|
||||
AC_MSG_ERROR(GNU flex is required but was not found)
|
||||
|
|
|
@ -11,22 +11,14 @@ if test "x$ac_cv_header_pthread_h" = "xyes"; then
|
|||
;;
|
||||
*openbsd*)
|
||||
LIBS="$LIBS -pthread"
|
||||
AC_TRY_LINK(
|
||||
[#include <pthread.h>],
|
||||
[pthread_attr_t type;
|
||||
pthread_attr_setstacksize(&type, 0x100000);],
|
||||
[PTHREAD_LDFLAGS=-pthread],
|
||||
[PTHREAD_LDFLAGS=-lpthread]
|
||||
)
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_attr_t type;
|
||||
pthread_attr_setstacksize(&type, 0x100000);]])],[PTHREAD_LDFLAGS=-pthread],[PTHREAD_LDFLAGS=-lpthread
|
||||
])
|
||||
;;
|
||||
*) LIBS="$LIBS -lpthread"
|
||||
AC_TRY_LINK(
|
||||
[#include <pthread.h>],
|
||||
[pthread_attr_t type;
|
||||
pthread_attr_setstacksize(&type, 0x100000);],
|
||||
[PTHREAD_LDFLAGS=-lpthread],
|
||||
[PTHREAD_LDFLAGS=-pthread]
|
||||
)
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_attr_t type;
|
||||
pthread_attr_setstacksize(&type, 0x100000);]])],[PTHREAD_LDFLAGS=-lpthread],[PTHREAD_LDFLAGS=-pthread
|
||||
])
|
||||
;;
|
||||
esac
|
||||
LIBS="$save_LIBS"
|
||||
|
|
|
@ -3,13 +3,12 @@ F77=touch
|
|||
AC_SUBST(F77)
|
||||
|
||||
AC_ARG_WITH(cpp,
|
||||
[ --with-cpp=CPP how qfcc should invoke cpp],
|
||||
cpp_name="$withval", cpp_name=auto
|
||||
)
|
||||
AS_HELP_STRING([--with-cpp=CPP], [how qfcc should invoke cpp]),
|
||||
cpp_name="$withval", cpp_name=auto)
|
||||
if test "x$cpp_name" != xauto; then
|
||||
CPP_NAME="$cpp_name"
|
||||
else
|
||||
CPP_NAME="cpp %d -o %o %i"
|
||||
CPP_NAME="cpp %u %d %s -o %o %i"
|
||||
case "$host_os" in
|
||||
*freebsd*)
|
||||
CPP_NAME="cpp %d %i %o"
|
||||
|
|
|
@ -4,7 +4,7 @@ AC_MSG_RESULT([
|
|||
Build type :$BUILD_TYPE
|
||||
Server support :${SV_TARGETS:- no}
|
||||
Client support :${CL_TARGETS:- no}
|
||||
Tools support :${tools_dirs:- no}
|
||||
Tools support :${tools_list:- no}
|
||||
Sound support :${SOUND_TYPES:- no} ${snd_output_default}
|
||||
CD Audio system :${CDTYPE:- no} ${cd_default}
|
||||
IPv6 networking : $NETTYPE_IPV6
|
||||
|
@ -12,6 +12,7 @@ AC_MSG_RESULT([
|
|||
HTTP support : ${CURL:-no}
|
||||
Compiler version : $CCVER
|
||||
Compiler flags : $CFLAGS
|
||||
SIMD Support : $simd
|
||||
qfcc cpp invocation: $CPP_NAME
|
||||
|
||||
Shared game data directory : $sharepath
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
AC_CONFIG_FILES(RPM/Makefile RPM/quakeforge.conf RPM/quakeforge.spec)
|
||||
AC_CONFIG_FILES(RPM/quakeforge.conf RPM/quakeforge.spec)
|
||||
AC_CONFIG_FILES(RPM/build_rpm, [chmod +x RPM/build_rpm])
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
dnl SDL/SDL-GL checks
|
||||
AC_ARG_ENABLE(sdl,
|
||||
[ --disable-sdl disable checking for SDL],
|
||||
)
|
||||
AC_ARG_ENABLE(sdl, AS_HELP_STRING([--enable-sdl], [enable checking for SDL]))
|
||||
|
||||
if test "x$enable_sdl" != xno; then
|
||||
if test "x$enable_sdl" = xyes; then
|
||||
if test "x$PKG_CONFIG" != "x"; then
|
||||
PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], HAVE_SDL=yes, HAVE_SDL=no)
|
||||
else
|
||||
|
@ -24,8 +22,7 @@ fi
|
|||
|
||||
dnl SDL-AUDIO checks
|
||||
AC_ARG_ENABLE(sdl-audio,
|
||||
[ --disable-sdl-audio disable checking for SDL-AUDIO],
|
||||
)
|
||||
AS_HELP_STRING([ --disable-sdl-audio], [disable checking for SDL-AUDIO]))
|
||||
|
||||
if test "x$enable_sdl_audio" != xno; then
|
||||
if test "x$HAVE_SDL" = "xyes"; then
|
||||
|
@ -35,8 +32,7 @@ fi
|
|||
|
||||
dnl SDL-CD checks
|
||||
AC_ARG_ENABLE(sdl-cd,
|
||||
[ --disable-sdl-cd disable checking for SDL-CD],
|
||||
)
|
||||
AS_HELP_STRING([--disable-sdl-cd], [disable checking for SDL-CD]))
|
||||
if test "x$enable_sdl_cd" != xno; then
|
||||
if test "x$HAVE_SDL" = "xyes"; then
|
||||
HAVE_SDL_CD=yes
|
||||
|
|
|
@ -2,9 +2,6 @@ dnl ==================================================================
|
|||
dnl Checks for sound
|
||||
dnl ==================================================================
|
||||
|
||||
dnl AC_ARG_ENABLE(samplerate,
|
||||
dnl [ --disable-samplerate disable libsamplerate support],
|
||||
dnl )
|
||||
HAVE_SAMPLERATE=no
|
||||
SAMPLERATE_LIBS=""
|
||||
if test "x$enable_samplerate" != "xno"; then
|
||||
|
@ -40,16 +37,16 @@ if test "x$enable_sound" != "xno"; then
|
|||
AC_CHECK_LIB(mme, waveOutOpen, HAVE_LIBMME=yes)
|
||||
|
||||
AC_ARG_ENABLE(alsa,
|
||||
[ --disable-alsa disable checks for ALSA support])
|
||||
AS_HELP_STRING([--disable-alsa], [disable checks for ALSA support]))
|
||||
|
||||
AC_ARG_ENABLE(oss,
|
||||
[ --disable-oss disable checks for OSS support])
|
||||
AS_HELP_STRING([--disable-oss], [disable checks for OSS support]))
|
||||
|
||||
AC_ARG_ENABLE(sun,
|
||||
[ --disable-sun disable checks for Sun audio support])
|
||||
AS_HELP_STRING([--disable-sun], [disable checks for Sun audio support]))
|
||||
|
||||
AC_ARG_ENABLE(sound,
|
||||
[ --disable-sound disable sound outright])
|
||||
AS_HELP_STRING([--disable-sound], [disable sound outright]))
|
||||
|
||||
unset SOUND_TYPES
|
||||
|
||||
|
@ -96,8 +93,7 @@ QF_maGiC_VALUE
|
|||
AC_SUBST(ALSA_LIBS)
|
||||
|
||||
AC_ARG_ENABLE(jack,
|
||||
[ --disable-jack disable jack support],
|
||||
)
|
||||
AS_HELP_STRING([--disable-jack], [disable jack support]))
|
||||
HAVE_JACK=no
|
||||
JACK_LIBS=""
|
||||
if test "x$enable_jack" != "xno"; then
|
||||
|
@ -106,7 +102,8 @@ QF_maGiC_VALUE
|
|||
if test "x$HAVE_JACK" = "xyes"; then
|
||||
AC_DEFINE(HAVE_JACK, 1, [Define if you have libjack])
|
||||
SOUND_TYPES="$SOUND_TYPES JACK"
|
||||
QF_NEED(snd_render, [jack])
|
||||
QF_NEED(snd_output, [jack])
|
||||
QF_NEED(snd_render, [default])
|
||||
fi
|
||||
else
|
||||
AC_CHECK_LIB(jack, jack_client_open, HAVE_JACK=yes, HAVE_JACK=no,
|
||||
|
@ -117,7 +114,8 @@ QF_maGiC_VALUE
|
|||
JACK_LIBS="-ljack"
|
||||
AC_DEFINE(HAVE_JACK, 1, [Define if you have libjack])
|
||||
SOUND_TYPES="$SOUND_TYPES JACK"
|
||||
QF_NEED(snd_render, [jack])
|
||||
QF_NEED(snd_output, [jack])
|
||||
QF_NEED(snd_render, [default])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -240,26 +238,28 @@ QF_maGiC_VALUE
|
|||
fi
|
||||
|
||||
dnl Win32
|
||||
if test "x$ac_cv_header_windows_h" = "xyes"; then
|
||||
SOUND_TYPES="$SOUND_TYPES Win32"
|
||||
QF_NEED(snd_output, [win])
|
||||
QF_NEED(snd_render, [default])
|
||||
WINSND_LIBS="-lwinmm"
|
||||
if test "x$ac_cv_header_dsound_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],
|
||||
[
|
||||
#include <windows.h>
|
||||
#include <dsound.h>
|
||||
#ifdef GMEM_MOVEABLE
|
||||
# ifdef DirectSoundEnumerate
|
||||
QF_maGiC_VALUE
|
||||
# endif
|
||||
#endif
|
||||
],
|
||||
SOUND_TYPES="$SOUND_TYPES DirectX"
|
||||
QF_NEED(snd_output, [dx])
|
||||
if test "x$SYSTYPE" = xWIN32; then
|
||||
if test "x$ac_cv_header_windows_h" = "xyes"; then
|
||||
SOUND_TYPES="$SOUND_TYPES Win32"
|
||||
QF_NEED(snd_output, [win])
|
||||
QF_NEED(snd_render, [default])
|
||||
)
|
||||
WINSND_LIBS="-lwinmm"
|
||||
if test "x$ac_cv_header_dsound_h" = "xyes"; then
|
||||
AC_EGREP_CPP([QF_maGiC_VALUE],
|
||||
[
|
||||
#include <windows.h>
|
||||
#include <dsound.h>
|
||||
#ifdef GMEM_MOVEABLE
|
||||
# ifdef DirectSoundEnumerate
|
||||
QF_maGiC_VALUE
|
||||
# endif
|
||||
#endif
|
||||
],
|
||||
SOUND_TYPES="$SOUND_TYPES DirectX"
|
||||
QF_NEED(snd_output, [dx])
|
||||
QF_NEED(snd_render, [default])
|
||||
)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(WINSND_LIBS)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
dnl Checks for SVGALib support
|
||||
AC_ARG_WITH(svga,
|
||||
[ --with-svga=DIR use SVGALib found in DIR],
|
||||
HAVE_SVGA=$withval, HAVE_SVGA=auto)
|
||||
AS_HELP_STRING([--with-svga@<:@=DIR@:>@], [use SVGALib found in DIR]),
|
||||
HAVE_SVGA=$withval, HAVE_SVGA=auto)
|
||||
if test "x$HAVE_SVGA" != xno -a "x$HAVE_SVGA" != xauto; then
|
||||
if test "x$HAVE_SVGA" != xauto; then
|
||||
SVGA_CFLAGS="$SVGA_CFLAGS -I$withval/include"
|
||||
|
|
|
@ -5,29 +5,19 @@ dnl ==================================================================
|
|||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_TYPE_SIZE_T
|
||||
AC_STRUCT_ST_BLKSIZE
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
|
||||
if test "x$ac_cv_header_unistd_h" = xyes; then
|
||||
AC_MSG_CHECKING(for _SC_PAGESIZE)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <unistd.h>],
|
||||
[int foo = _SC_PAGESIZE;],
|
||||
AC_DEFINE(HAVE__SC_PAGESIZE,1,[Define this if you have _SC_PAGESIZE])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[int foo = _SC_PAGESIZE;]])],[AC_DEFINE(HAVE__SC_PAGESIZE,1,Define this if you have _SC_PAGESIZE)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for __attribute__)
|
||||
AC_TRY_COMPILE(
|
||||
[static __attribute__ ((unused)) const char *foo = "bar";],
|
||||
[],
|
||||
AC_DEFINE(HAVE___ATTRIBUTE__)
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[static __attribute__ ((unused)) const char *foo = "bar";]], [[]])],[AC_DEFINE(HAVE___ATTRIBUTE__)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AH_VERBATIM([HAVE___ATTRIBUTE__],
|
||||
[/* Define this if the GCC __attribute__ keyword is available */
|
||||
#undef HAVE___ATTRIBUTE__
|
||||
|
@ -36,14 +26,10 @@ AH_VERBATIM([HAVE___ATTRIBUTE__],
|
|||
#endif])
|
||||
|
||||
AC_MSG_CHECKING(for __attribute__ ((visibility)))
|
||||
AC_TRY_COMPILE(
|
||||
[void foo (void);
|
||||
__attribute__ ((sivibility ("default"))) void foo (void) {}],
|
||||
[],
|
||||
AC_DEFINE(HAVE___ATTRIBUTE__VISIBILITY)
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[void foo (void);
|
||||
__attribute__ ((sivibility ("default"))) void foo (void) {}]], [[]])],[AC_DEFINE(HAVE___ATTRIBUTE__VISIBILITY)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AH_VERBATIM([HAVE___ATTRIBUTE__VISIBILITY],
|
||||
[/* Define this if the GCC visibility __attribute__ is available */
|
||||
#undef HAVE___ATTRIBUTE__VISIBILITY
|
||||
|
@ -55,14 +41,10 @@ AH_VERBATIM([HAVE___ATTRIBUTE__VISIBILITY],
|
|||
|
||||
if test "x$SYSTYPE" = "xWIN32"; then
|
||||
AC_MSG_CHECKING(for __attribute__ ((gcc_struct)))
|
||||
AC_TRY_COMPILE(
|
||||
[typedef struct { int foo; }
|
||||
__attribute__ ((gcc_struct)) gcc_struct_test;],
|
||||
[],
|
||||
AC_DEFINE(HAVE___ATTRIBUTE__GCC_STRUCT)
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[typedef struct { int foo; }
|
||||
__attribute__ ((gcc_struct)) gcc_struct_test;]], [[]])],[AC_DEFINE(HAVE___ATTRIBUTE__GCC_STRUCT)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
fi
|
||||
AH_VERBATIM([HAVE___ATTRIBUTE__GCC_STRUCT],
|
||||
[/* Define this if the GCC gcc_struct __attribute__ is available */
|
||||
|
@ -74,13 +56,9 @@ AH_VERBATIM([HAVE___ATTRIBUTE__GCC_STRUCT],
|
|||
#endif])
|
||||
|
||||
AC_MSG_CHECKING(for __builtin_expect)
|
||||
AC_TRY_COMPILE(
|
||||
[long (*foo) (long, long) = __builtin_expect;],
|
||||
[],
|
||||
AC_DEFINE(HAVE___BUILTIN_EXPECT)
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[int x;]], [[if (__builtin_expect(!x, 1)) {}]])],[AC_DEFINE(HAVE___BUILTIN_EXPECT)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
AH_VERBATIM([HAVE___BUILTIN_EXPECT],
|
||||
[/* Define this if the GCC __builtin_expect keyword is available */
|
||||
#undef HAVE___BUILTIN_EXPECT
|
||||
|
@ -89,78 +67,47 @@ AH_VERBATIM([HAVE___BUILTIN_EXPECT],
|
|||
#endif])
|
||||
|
||||
AC_MSG_CHECKING(for type of fpos_t)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdio.h>],
|
||||
[fpos_t x = 0],
|
||||
AC_MSG_RESULT(off_t),
|
||||
AC_DEFINE(HAVE_FPOS_T_STRUCT, 1, [Define this if FPOS_T is a struct])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[fpos_t x = 0]])],[AC_MSG_RESULT(off_t)],[AC_DEFINE(HAVE_FPOS_T_STRUCT, 1, Define this if FPOS_T is a struct)
|
||||
AC_MSG_RESULT(struct)
|
||||
)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for socklen_t in sys/types.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>],
|
||||
[ socklen_t x = 0;],
|
||||
AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define this if your system has socklen_t])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[socklen_t x = 0;]])],[AC_DEFINE(HAVE_SOCKLEN_T, 1, Define this if your system has socklen_t)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
dnl FreeBSD 4.0 has it in sys/socket.h
|
||||
AC_MSG_CHECKING(for socklen_t in sys/socket.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/socket.h>],
|
||||
[ socklen_t x = 0;],
|
||||
AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define this if your system has socklen_t]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||
#include <sys/socket.h>]], [[socklen_t x = 0;]])],[AC_DEFINE(HAVE_SOCKLEN_T, 1, Define this if your system has socklen_t)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
if test "x$ac_cv_header_sys_uio_h" = xyes; then
|
||||
AC_MSG_CHECKING(for struct in_pktinfo)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/uio.h>],
|
||||
[struct in_pktinfo x;],
|
||||
AC_DEFINE(HAVE_IN_PKTINFO, 1, [Define this if your system has struct in_pktinfo])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
#include <sys/uio.h>]], [[struct in_pktinfo x;]])],[AC_DEFINE(HAVE_IN_PKTINFO, 1, Define this if your system has struct in_pktinfo)
|
||||
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for size_t in sys/types.h)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>],
|
||||
[ size_t x = 0;],
|
||||
AC_DEFINE(HAVE_SIZE_T, 1, [Define this if your system has size_t]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[ size_t x = 0;]])],[AC_DEFINE(HAVE_SIZE_T, 1, Define this if your system has size_t) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
dnl maybe these two (at least the 2nd) should be checked only if ipv6 is enabled?
|
||||
AC_MSG_CHECKING(for ss_len in struct sockaddr_storage)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/socket.h>],
|
||||
[ void f(void) { struct sockaddr_storage ss; ss.ss_len=0; }],
|
||||
AC_DEFINE(HAVE_SS_LEN, 1, [Define this if you have ss_len member in struct sockaddr_storage (BSD)]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||
#include <sys/socket.h>]], [[ void f(void) { struct sockaddr_storage ss; ss.ss_len=0; }]])],[AC_DEFINE(HAVE_SS_LEN, 1, Define this if you have ss_len member in struct sockaddr_storage (BSD)) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for sin6_len in struct sockaddr_in6)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <netinet/in.h>],
|
||||
[ void f(void) { struct sockaddr_in6 s6; s6.sin6_len=0; }],
|
||||
AC_DEFINE(HAVE_SIN6_LEN, 1, [Define this if you have sin6_len member in struct sockaddr_in6 (BSD)]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||
#include <netinet/in.h>]], [[ void f(void) { struct sockaddr_in6 s6; s6.sin6_len=0; }]])],[AC_DEFINE(HAVE_SIN6_LEN, 1, Define this if you have sin6_len member in struct sockaddr_in6 (BSD)) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for sa_len in struct sockaddr)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <netinet/in.h>],
|
||||
[ void f(void) { struct sockaddr sa; sa.sa_len=0; }],
|
||||
AC_DEFINE(HAVE_SA_LEN, 1, [Define this if you have sa_len member in struct sockaddr (BSD)]) AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||
#include <netinet/in.h>]], [[ void f(void) { struct sockaddr sa; sa.sa_len=0; }]])],[AC_DEFINE(HAVE_SA_LEN, 1, Define this if you have sa_len member in struct sockaddr (BSD)) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
|
|
@ -15,8 +15,9 @@ AC_DEFINE_UNQUOTED(QW_VERSION, "$QW_VERSION",
|
|||
AC_DEFINE_UNQUOTED(QW_QSG_VERSION, "$QW_QSG_VERSION",
|
||||
[Define this to the QSG standard version you support in QuakeWorld])
|
||||
|
||||
AC_ARG_ENABLE([version-info], AC_HELP_STRING([--enable-version-info=CURRENT:REVISION:AGE],
|
||||
[Override the value passed to libtool -version-info.]),
|
||||
AC_ARG_ENABLE([version-info],
|
||||
AS_HELP_STRING([--enable-version-info=CURRENT:REVISION:AGE],
|
||||
[override the value passed to libtool -version-info.]),
|
||||
[], [enable_version_info=1:0:0])
|
||||
QUAKE_LIBRARY_VERSION_INFO=$enable_version_info
|
||||
AC_SUBST([QUAKE_LIBRARY_VERSION_INFO])
|
||||
|
|
34
config.d/vulkan.m4
Normal file
34
config.d/vulkan.m4
Normal file
|
@ -0,0 +1,34 @@
|
|||
dnl Check for vulkan support
|
||||
AC_ARG_ENABLE(vulkan,
|
||||
AS_HELP_STRING([--disable-vulkan], [do not use Vulkan]),
|
||||
HAVE_VULKAN=$enable_vulkan, HAVE_VULKAN=auto)
|
||||
if test "x$HAVE_VULKAN" != xno; then
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
AS_IF([test x"$VULKAN_SDK" != x], [
|
||||
CPPFLAGS="$CPPFLAGS -I$VULKAN_SDK/include"
|
||||
LDFLAGS="$LDFLAGS -L$VULKAN_SDK/lib"
|
||||
glslangvalidator="$VULKAN_SDK/bin/glslangValidator"
|
||||
], [glslangvalidator="glslangValidator"])
|
||||
AC_CHECK_HEADER([vulkan/vulkan.h], [
|
||||
HAVE_VULKAN=yes
|
||||
AS_IF([test x"$VULKAN_SDK" != x], [
|
||||
VULKAN_CPPFLAGS="-I$VULKAN_SDK/include"
|
||||
VULKAN_QCFLAGS="-I$VULKAN_SDK/include"
|
||||
VULKAN_LDFLAGS="-L$VULKAN_SDK/lib"
|
||||
],[
|
||||
VULKAN_QCFLAGS="-I${QCSYSPREFIX-/usr}/include"
|
||||
])
|
||||
], [HAVE_VULKAN=no])
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
fi
|
||||
if test "x$HAVE_VULKAN" = xyes; then
|
||||
AC_DEFINE([HAVE_VULKAN], [1], [Define if yhou have the Vulkan libs])
|
||||
fi
|
||||
AC_SUBST(VULKAN_LIBS)
|
||||
AC_SUBST(VULKAN_CPPFLAGS)
|
||||
AC_SUBST(VULKAN_QCFLAGS)
|
||||
AC_SUBST(GLSLANGVALIDATOR, [$glslangvalidator])
|
||||
|
||||
AM_CONDITIONAL(X11_VULKAN, test "x$HAVE_VULKAN" = "xyes")
|
||||
AM_CONDITIONAL(WIN_VULKAN, test "x$HAVE_VULKAN" = "xyes")
|
||||
AM_CONDITIONAL(TEST_VULKAN, test "x$HAVE_VULKAN" = "xyes")
|
|
@ -1,5 +1,6 @@
|
|||
endian=""
|
||||
FNM_FLAGS=""
|
||||
|
||||
case "$host_os" in
|
||||
mingw32*)
|
||||
mingw=yes
|
||||
|
@ -7,15 +8,18 @@ case "$host_os" in
|
|||
if test "x$host" != "x$build"; then
|
||||
case "$build_os" in
|
||||
cygwin*)
|
||||
CFLAGS="$CFLAGS -mno-cygwin -mconsole"
|
||||
CFLAGS="$CFLAGS -mconsole -D__USE_MINGW_ANSI_STDIO"
|
||||
CPPFLAGS="$CPPFLAGS $CFLAGS"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
SYSTYPE=WIN32
|
||||
AC_DEFINE(NEED_GNUPRINTF)
|
||||
endian="little"
|
||||
;;
|
||||
cygwin*)
|
||||
cygwin=yes
|
||||
AC_DEFINE(NEED_GNUPRINTF)
|
||||
if test "x$host" != "x$build"; then
|
||||
CC="$host_cpu-$host_os-gcc"
|
||||
AS="$CC"
|
||||
|
@ -26,3 +30,12 @@ case "$host_os" in
|
|||
;;
|
||||
esac
|
||||
AC_SUBST(FNM_FLAGS)
|
||||
|
||||
AH_VERBATIM([NEED_GNUPRINTF],
|
||||
[/* Define this if gnu_prinf is needed instead of printf for format attributes*/
|
||||
#undef NEED_GNUPRINTF
|
||||
#ifdef NEED_GNUPRINTF
|
||||
# define PRINTF gnu_printf
|
||||
#else
|
||||
# define PRINTF printf
|
||||
#endif])
|
||||
|
|
|
@ -14,7 +14,8 @@ fi
|
|||
|
||||
dnl Check for XFree86-VidMode support
|
||||
AC_ARG_ENABLE(vidmode,
|
||||
[ --disable-vidmode do not use XFree86 VidMode extension],
|
||||
AS_HELP_STRING([--disable-vidmode],
|
||||
[do not use XFree86 VidMode extension]),
|
||||
HAVE_VIDMODE=$enable_vidmode, HAVE_VIDMODE=auto)
|
||||
if test "x$HAVE_VIDMODE" != xno; then
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
|
@ -33,10 +34,50 @@ if test "x$HAVE_VIDMODE" != xno; then
|
|||
fi
|
||||
AC_SUBST(VIDMODE_LIBS)
|
||||
|
||||
dnl Check for XInput2 support
|
||||
AC_ARG_ENABLE(xi2,
|
||||
AS_HELP_STRING([--disable-xi2], [do not use Xorg XInput2 extension]),
|
||||
HAVE_XI2=$enable_xi2, HAVE_XI2=auto)
|
||||
if test "x$HAVE_XI2" != xno; then
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
|
||||
AC_CHECK_HEADER(X11/extensions/XInput2.h,
|
||||
dnl Make sure the library works
|
||||
[AC_CHECK_LIB(Xi, XIQueryVersion,
|
||||
AC_DEFINE(HAVE_XI2, 1, [Define if you have the Xorg XInput2 extension])
|
||||
XI2_LIBS="-lXi",,
|
||||
[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]
|
||||
)],,
|
||||
[#include <X11/Xlib.h>]
|
||||
)
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
fi
|
||||
AC_SUBST(XI2_LIBS)
|
||||
|
||||
dnl Check for XInput2 support
|
||||
AC_ARG_ENABLE(xfixes,
|
||||
AS_HELP_STRING([--disable-xfixes], [do not use Xorg Xfixes extension]),
|
||||
HAVE_XFIXES=$enable_xfixes, HAVE_XFIXES=auto)
|
||||
if test "x$HAVE_XFIXES" != xno; then
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
|
||||
AC_CHECK_HEADER(X11/extensions/Xfixes.h,
|
||||
dnl Make sure the library works
|
||||
[AC_CHECK_LIB(Xi, XIQueryVersion,
|
||||
AC_DEFINE(HAVE_XFIXES, 1, [Define if you have the Xorg Xfixes extension])
|
||||
XFIXES_LIBS="-lXfixes",,
|
||||
[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]
|
||||
)],,
|
||||
[#include <X11/Xlib.h>]
|
||||
)
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
fi
|
||||
AC_SUBST(XFIXES_LIBS)
|
||||
|
||||
dnl Check for DGA support
|
||||
AC_ARG_ENABLE(dga,
|
||||
[ --disable-dga do not use XFree86 DGA extension],
|
||||
HAVE_DGA=$enable_dga, HAVE_DGA=auto)
|
||||
AS_HELP_STRING([--disable-dga], [do not use XFree86 DGA extension]),
|
||||
HAVE_DGA=$enable_dga, HAVE_DGA=auto)
|
||||
if test "x$HAVE_DGA" != xno; then
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
|
||||
|
|
27
configure.ac
27
configure.ac
|
@ -1,9 +1,9 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.61)
|
||||
AC_PREREQ([2.69])
|
||||
|
||||
dnl This is the only place where the package name and version appear
|
||||
AC_INIT([QuakeForge], m4_esyscmd([config.d/git-version-gen --prefix '' .tarball-version]))
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
AC_INIT([QuakeForge],m4_esyscmd(config.d/git-version-gen --prefix '' .tarball-version))
|
||||
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
||||
|
||||
dnl LT_INIT messes with CFLAGS (evil bastard)
|
||||
if test "x${CFLAGS-unset}" = xunset; then
|
||||
|
@ -11,7 +11,7 @@ if test "x${CFLAGS-unset}" = xunset; then
|
|||
fi
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
dnl LT_INIT([win32-dll])
|
||||
AM_PROG_LIBTOOL
|
||||
LT_INIT
|
||||
CFLAGS="$saved_CFLAGS"
|
||||
|
||||
AC_REVISION([$Revision$]) dnl
|
||||
|
@ -23,7 +23,7 @@ AC_CANONICAL_HOST
|
|||
|
||||
m4_include(config.d/versions.m4)
|
||||
|
||||
AC_LANG_C
|
||||
AC_LANG([C])
|
||||
|
||||
if test "$x{AR-unset}" = xunset; then
|
||||
AR="ar"
|
||||
|
@ -63,19 +63,22 @@ m4_include(config.d/compression.m4)
|
|||
m4_include(config.d/mgl.m4)
|
||||
m4_include(config.d/fbdev.m4)
|
||||
m4_include(config.d/svga.m4)
|
||||
m4_include(config.d/vulkan.m4)
|
||||
m4_include(config.d/x11.m4)
|
||||
m4_include(config.d/sdl.m4)
|
||||
|
||||
m4_include(config.d/curses.m4)
|
||||
m4_include(config.d/freetype.m4)
|
||||
|
||||
dnl ==================================================================
|
||||
dnl Checks for system type
|
||||
dnl ==================================================================
|
||||
|
||||
dnl Checks for which system driver to use
|
||||
|
||||
AC_MSG_CHECKING(for system driver)
|
||||
case "${host}" in
|
||||
i?86-*-mingw32*|x86_64-w64-mingw32)
|
||||
i?86-*-mingw32*|x86_64-w64-mingw32*)
|
||||
SYSTYPE=WIN32
|
||||
AC_MSG_RESULT([Win32 driver])
|
||||
WIN32_LIBS=' $(NET_LIBS)'
|
||||
|
@ -88,8 +91,8 @@ case "${host}" in
|
|||
fi
|
||||
|
||||
;;
|
||||
i?86-*-cygwin*)
|
||||
SYSTYPE=WIN32
|
||||
i?86-*-cygwin*|x86_64-*-cygwin*)
|
||||
#SYSTYPE=WIN32
|
||||
AC_MSG_RESULT([Win32 driver])
|
||||
WIN32_LIBS=' $(NET_LIBS)'
|
||||
;;
|
||||
|
@ -109,6 +112,7 @@ AC_SUBST(WIN32_LIBS)
|
|||
|
||||
m4_include(config.d/sound.m4)
|
||||
m4_include(config.d/joystick.m4)
|
||||
m4_include(config.d/evdev.m4)
|
||||
m4_include(config.d/cdrom.m4)
|
||||
|
||||
m4_include(config.d/networking.m4)
|
||||
|
@ -120,8 +124,8 @@ m4_include(config.d/qfcc.m4)
|
|||
m4_include(config.d/compiling.m4)
|
||||
|
||||
AC_ARG_ENABLE(static-doc,
|
||||
[ --enable-static-doc Enable generation of doxygen docs for static]
|
||||
[ functions.])
|
||||
AS_HELP_STRING([--enable-static-doc],
|
||||
[enable generation of doxygen docs for static functions.]))
|
||||
STATIC_DOC=NO
|
||||
if test "x$enable_static_doc" = xyes; then
|
||||
STATIC_DOC=YES
|
||||
|
@ -129,7 +133,8 @@ fi
|
|||
AC_SUBST(STATIC_DOC)
|
||||
|
||||
AC_ARG_ENABLE(typecheck-progs,
|
||||
[ --enable-typecheck-progs Enable type checking on progs field access])
|
||||
AS_HELP_STRING([--enable-typecheck-progs],
|
||||
[enable type checking on progs field access]))
|
||||
if test "x$enable_typecheck_progs" = xyes; then
|
||||
AC_DEFINE(TYPECHECK_PROGS, 1, [Define this if you want progs typechecking])
|
||||
fi
|
||||
|
|
23
debian/Makefile.am
vendored
23
debian/Makefile.am
vendored
|
@ -1,23 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
# find -type f | sed -e 's:^\./::g' | grep -v Makefile | sort >> Makefile.am
|
||||
|
||||
EXTRA_DIST= \
|
||||
changelog control copyright quakeforge.conf rules source/format \
|
||||
qfcc.install \
|
||||
quakeforge-alsa.install quakeforge-alsa.postinst quakeforge-alsa.prerm \
|
||||
quakeforge-common.install quakeforge-common.postinst \
|
||||
quakeforge-dev.install \
|
||||
quakeforge-gl.install \
|
||||
quakeforge-glsl.install \
|
||||
quakeforge-jack.install \
|
||||
quakeforge-maptools.install \
|
||||
quakeforge-oss.install quakeforge-oss.postinst quakeforge-oss.prerm \
|
||||
quakeforge-sdl.install \
|
||||
quakeforge-servers.install \
|
||||
quakeforge-stub.postinst \
|
||||
quakeforge-sw32.install \
|
||||
quakeforge-sw.install \
|
||||
quakeforge-utils.install \
|
||||
quakeforge-x11.install
|
28
debian/Makemodule.am
vendored
Normal file
28
debian/Makemodule.am
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
EXTRA_DIST += \
|
||||
debian/changelog \
|
||||
debian/control \
|
||||
debian/copyright \
|
||||
debian/quakeforge.conf \
|
||||
debian/rules \
|
||||
debian/source/format \
|
||||
debian/qfcc.install \
|
||||
debian/quakeforge-alsa.install \
|
||||
debian/quakeforge-alsa.postinst \
|
||||
debian/quakeforge-alsa.prerm \
|
||||
debian/quakeforge-common.install \
|
||||
debian/quakeforge-common.postinst \
|
||||
debian/quakeforge-dev.install \
|
||||
debian/quakeforge-gl.install \
|
||||
debian/quakeforge-glsl.install \
|
||||
debian/quakeforge-jack.install \
|
||||
debian/quakeforge-maptools.install \
|
||||
debian/quakeforge-oss.install \
|
||||
debian/quakeforge-oss.postinst \
|
||||
debian/quakeforge-oss.prerm \
|
||||
debian/quakeforge-sdl.install \
|
||||
debian/quakeforge-servers.install \
|
||||
debian/quakeforge-stub.postinst \
|
||||
debian/quakeforge-sw32.install \
|
||||
debian/quakeforge-sw.install \
|
||||
debian/quakeforge-utils.install \
|
||||
debian/quakeforge-x11.install
|
|
@ -1,49 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
#
|
||||
# Makefile.am
|
||||
#
|
||||
# Automake-using build system for QuakeForge
|
||||
#
|
||||
# Copyright (C) 2000 Jeff Teunissen <deek@quakeforge.net>
|
||||
#
|
||||
# This Makefile is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to:
|
||||
#
|
||||
# Free Software Foundation, Inc.
|
||||
# 59 Temple Place - Suite 330
|
||||
# Boston, MA 02111-1307, USA
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
# Stuff that is common to both client and server
|
||||
# Desktop files
|
||||
if HAVE_XDG
|
||||
desktopdir=$(datarootdir)/applications
|
||||
desktop_DATA= @NQ_DESKTOP_DATA@ @QW_DESKTOP_DATA@
|
||||
endif
|
||||
|
||||
# Stuff that doesn't get linked into an executable NEEDS to be mentioned here,
|
||||
# or it won't be distributed with 'make dist'
|
||||
|
||||
EXTRA_DIST= quakeforge-nq-glx.desktop quakeforge-nq-sdl.desktop \
|
||||
quakeforge-nq-sdl32.desktop quakeforge-nq-sgl.desktop \
|
||||
quakeforge-nq-x11.desktop quakeforge-qw-glx.desktop \
|
||||
quakeforge-qw-sdl.desktop quakeforge-qw-sdl32.desktop \
|
||||
quakeforge-qw-sgl.desktop quakeforge-qw-x11.desktop
|
||||
|
||||
# Kill the temp files, hopefully.
|
||||
CLEANFILES = *.i *.s $(YACCLEX_CLEANFILES)
|
10
desktop/Makemodule.am
Normal file
10
desktop/Makemodule.am
Normal file
|
@ -0,0 +1,10 @@
|
|||
if HAVE_XDG
|
||||
desktopdir=$(datarootdir)/applications
|
||||
desktop_DATA = @NQ_DESKTOP_DATA@ @QW_DESKTOP_DATA@
|
||||
endif
|
||||
|
||||
EXTRA_DIST += \
|
||||
desktop/quakeforge-nq-sdl.desktop \
|
||||
desktop/quakeforge-nq-x11.desktop \
|
||||
desktop/quakeforge-qw-sdl.desktop \
|
||||
desktop/quakeforge-qw-x11.desktop
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge (GLX)
|
||||
GenericName=Quake (GLX)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=Game;ActionGame;
|
||||
|
||||
Exec=nq-glx
|
||||
TryExec=nq-glx
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge (SDL32)
|
||||
GenericName=Quake (SDL32)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=SDL;Game;ActionGame;
|
||||
|
||||
Exec=nq-sdl32
|
||||
TryExec=nq-sdl32
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge (SDL GL)
|
||||
GenericName=Quake (SDL GL)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=SDL;Game;ActionGame;
|
||||
|
||||
Exec=nq-sgl
|
||||
TryExec=nq-sgl
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge QuakeWorld (GLX)
|
||||
GenericName=QuakeWorld (GLX)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=Game;ActionGame;
|
||||
|
||||
Exec=qw-client-glx
|
||||
TryExec=qw-client-glx
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge QuakeWorld (SDL32)
|
||||
GenericName=QuakeWorld (SDL32)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=SDL;Game;ActionGame;
|
||||
|
||||
Exec=qw-client-sdl32
|
||||
TryExec=qw-client-sdl32
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,18 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
|
||||
Type=Application
|
||||
|
||||
Name=QuakeForge QuakeWorld (SDL GL)
|
||||
GenericName=QuakeWorld (SDL GL)
|
||||
Comment=A first person shooter game
|
||||
Comment[fr]=Un jeu de tir subjectif
|
||||
Comment[it]=Sparatutto in prima persona
|
||||
Icon=quake
|
||||
|
||||
Categories=SDL;Game;ActionGame;
|
||||
|
||||
Exec=qw-client-sgl
|
||||
TryExec=qw-client-sgl
|
||||
Terminal=false
|
||||
StartupNotify=false
|
|
@ -1,55 +0,0 @@
|
|||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
SUBDIRS= man
|
||||
|
||||
DOX= \
|
||||
bind.dox config.dox connect.dox cshifts.dox dirconf.dox faq.dox \
|
||||
filesystem.dox mapformat.dox property-list.dox qtv.dox quakeforge.dox \
|
||||
qw-cap-spec.dox qw-download-spec.dox sound.dox specifications.dox \
|
||||
surround-sound.dox timestamps.dox
|
||||
|
||||
GIB= \
|
||||
gib/GIB.lyx gib/break.gib gib/continue.gib gib/curly.gib gib/examples.sh \
|
||||
gib/for.gib gib/gib_head.eps gib/if-chain.gib gib/if-else.gib \
|
||||
gib/if-simple.gib gib/while.gib
|
||||
|
||||
PROGS= \
|
||||
progs/vm-exec.c progs/vm-mem.fig
|
||||
|
||||
EXTRA_DIST= qf.ico \
|
||||
\
|
||||
skybox.fig template.c template.h \
|
||||
quakeforge.dox.conf.in \
|
||||
\
|
||||
${DOX} ${GIB} ${PROGS} \
|
||||
\
|
||||
config/glspeed-v1.cfg config/glspeed-v3.cfg config/swspeed.cfg \
|
||||
\
|
||||
config/gib/adjustvolume.gib config/gib/infobot.gib config/gib/ln.gib \
|
||||
config/gib/qfadmin.gib config/gib/sshot.gib config/gib/zoom.gib \
|
||||
\
|
||||
qtv/qwtv.fig
|
||||
|
||||
SUFFIXES=.eps .fig .png
|
||||
.fig.png:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L png $< $@
|
||||
|
||||
.fig.eps:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L ps $< $@
|
||||
|
||||
.fig.svg:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L svg $< $@
|
||||
|
||||
clean-local:
|
||||
-rm -fr doxygen
|
||||
|
||||
progs/vm-mem.svg: progs/vm-mem.fig
|
||||
progs/vm-mem.eps: progs/vm-mem.fig
|
||||
qtv/qwtv.svg: qtv/qwtv.fig
|
||||
qtv/qwtv.eps: qtv/qwtv.fig
|
||||
|
||||
doc: quakeforge.dox.conf progs/vm-mem.svg progs/vm-mem.eps qtv/qwtv.svg qtv/qwtv.eps ${DOX}
|
||||
doxygen quakeforge.dox.conf
|
81
doc/Makemodule.am
Normal file
81
doc/Makemodule.am
Normal file
|
@ -0,0 +1,81 @@
|
|||
man_MANS += doc/man/quakeforge.1
|
||||
|
||||
DOX= \
|
||||
doc/bind.dox \
|
||||
doc/config.dox \
|
||||
doc/connect.dox \
|
||||
doc/cshifts.dox \
|
||||
doc/dirconf.dox \
|
||||
doc/faq.dox \
|
||||
doc/filesystem.dox \
|
||||
doc/mapformat.dox \
|
||||
doc/property-list.dox \
|
||||
doc/qtv.dox \
|
||||
doc/quakeforge.dox \
|
||||
doc/qw-cap-spec.dox \
|
||||
doc/qw-download-spec.dox \
|
||||
doc/sound.dox \
|
||||
doc/specifications.dox \
|
||||
doc/surround-sound.dox \
|
||||
doc/timestamps.dox
|
||||
|
||||
GIB= \
|
||||
doc/gib/GIB.lyx \
|
||||
doc/gib/break.gib \
|
||||
doc/gib/continue.gib \
|
||||
doc/gib/curly.gib \
|
||||
doc/gib/examples.sh \
|
||||
doc/gib/for.gib \
|
||||
doc/gib/gib_head.eps \
|
||||
doc/gib/if-chain.gib \
|
||||
doc/gib/if-else.gib \
|
||||
doc/gib/if-simple.gib \
|
||||
doc/gib/while.gib
|
||||
|
||||
PROGS= \
|
||||
doc/progs/vm-exec.c \
|
||||
doc/progs/vm-mem.fig
|
||||
|
||||
EXTRA_DIST += \
|
||||
${DOX} ${GIB} ${PROGS} \
|
||||
doc/qf.ico \
|
||||
doc/skybox.fig \
|
||||
doc/template.c \
|
||||
doc/template.h \
|
||||
doc/quakeforge.dox.conf.in \
|
||||
doc/config/glspeed-v1.cfg \
|
||||
doc/config/glspeed-v3.cfg \
|
||||
doc/config/swspeed.cfg \
|
||||
doc/config/gib/adjustvolume.gib \
|
||||
doc/config/gib/infobot.gib \
|
||||
doc/config/gib/ln.gib \
|
||||
doc/config/gib/qfadmin.gib \
|
||||
doc/config/gib/sshot.gib \
|
||||
doc/config/gib/zoom.gib \
|
||||
doc/man/quakeforge.1 \
|
||||
doc/qtv/qwtv.fig
|
||||
|
||||
SUFFIXES += .eps .fig .png
|
||||
.fig.png:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L png $< $@
|
||||
|
||||
.fig.eps:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L ps $< $@
|
||||
|
||||
.fig.svg:
|
||||
@mkdir -p `dirname $@`
|
||||
fig2dev -L svg $< $@
|
||||
|
||||
clean-local:
|
||||
-rm -fr doxygen
|
||||
|
||||
doc/progs/vm-mem.svg: doc/progs/vm-mem.fig
|
||||
doc/progs/vm-mem.eps: doc/progs/vm-mem.fig
|
||||
doc/qtv/qwtv.svg: doc/qtv/qwtv.fig
|
||||
doc/qtv/qwtv.eps: doc/qtv/qwtv.fig
|
||||
|
||||
.PHONY: doc
|
||||
doc: doc/quakeforge.dox.conf doc/progs/vm-mem.svg doc/progs/vm-mem.eps doc/qtv/qwtv.svg doc/qtv/qwtv.eps ${DOX}
|
||||
doxygen doc/quakeforge.dox.conf
|
|
@ -28,7 +28,7 @@ whitespace. This allows commands and arguments to contain \c + and \c - so
|
|||
long as the preceeding character is not whitespace, but also prevents
|
||||
command line switches (eg \c -nosound) from becoming part of the console
|
||||
command. Using careful quoting, it is even possible for a command or
|
||||
argument to beging with \c + or \c -.
|
||||
argument to begin with \c + or \c -.
|
||||
|
||||
The following command line will fail to set m_pitch because the -0.022
|
||||
will not be part of the console command. <code>usage: setrom \<cvar\>
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
/**
|
||||
\page connection_sequence QW Connection Sequence
|
||||
\msc
|
||||
Client,Server;
|
||||
Client=>Server [label = "getchallenge\n"];
|
||||
Server=>Client [label = "c[challenge][ext]"];
|
||||
Client=>Server [label = "connect [protover] [qport] [challenge] [userinfo]"];
|
||||
Server=>Client [label = "j"];
|
||||
Client->Server [label = "[clc_stringcmd]new"];
|
||||
Server->Client [label = "[svc_serverdata][data]"];
|
||||
|||;
|
||||
Client->Server [label = "[clc_stringcmd]soundlist [svcount] 0"];
|
||||
--- [label = "soundlist loop start"];
|
||||
Server->Client [label = "[svc_soundlist][data][next]"];
|
||||
Client->Server [label = "[clc_stringcmd]soundlist [svcount] [next]"];
|
||||
--- [label = "soundlist loop end"];
|
||||
Server->Client [label = "[svc_soundlist][data]0"];
|
||||
|||;
|
||||
Client->Server [label = "[clc_stringcmd]modellist [svcount] 0"];
|
||||
--- [label = "modellist list loop start"];
|
||||
Server->Client [label = "[svc_modellist][data][next]"];
|
||||
Client->Server [label = "[clc_stringcmd]modellist [svcount] [next]"];
|
||||
--- [label = "modellist list loop end"];
|
||||
Server->Client [label = "[svc_modellist][data]0"];
|
||||
|||;
|
||||
Client->Server [label = "[clc_stringcmd]prespawn [svcount] [n=0] [wcsum]"];
|
||||
--- [label = "prespawn loop start"];
|
||||
Server->Client [label = "[signon buffer n][stuffcmd]prespawn..."];
|
||||
Client->Server [label = "[clc_stringcmd]prespawn [svcount] [n]"];
|
||||
--- [label = "prespawn loop end"];
|
||||
Server->Client [label = "[signon buffer n][stuffcmd]spawn..."];
|
||||
|||;
|
||||
Client->Server [label = "[clc_stringcmd]spawn [svcount] 0"];
|
||||
Server->Client [label = "[spawn info][stuffcmd]skins"];
|
||||
Client->Server [label = "[clc_stringcmd]begin [svcount]"];
|
||||
#... [label = "in game message sequence"];
|
||||
Client [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black],
|
||||
Server [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client=>Server [label = "getchallenge\n", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server=>Client [label = "c[challenge][ext]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client=>Server [label = "connect [protover] [qport] [challenge] [userinfo]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server=>Client [label = "j", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]new", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[svc_serverdata][data]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
||| [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]soundlist [svcount] 0", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "soundlist loop start", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[svc_soundlist][data][next]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]soundlist [svcount] [next]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "soundlist loop end", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[svc_soundlist][data]0", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
||| [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]modellist [svcount] 0", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "modellist list loop start", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[svc_modellist][data][next]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]modellist [svcount] [next]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "modellist list loop end", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[svc_modellist][data]0", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
||| [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]prespawn [svcount] [n=0] [wcsum]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "prespawn loop start", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[signon buffer n][stuffcmd]prespawn...", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]prespawn [svcount] [n]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
--- [label = "prespawn loop end", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[signon buffer n][stuffcmd]spawn...", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
||| [linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]spawn [svcount] 0", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Server->Client [label = "[spawn info][stuffcmd]skins", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
Client->Server [label = "[clc_stringcmd]begin [svcount]", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
... [label = "in game message sequence", linecolor=white, textcolor=white, arclinecolor=white, arctextcolor=white, textbgcolor=black, arctextbgcolor=black];
|
||||
\endmsc
|
||||
*/
|
||||
|
|
|
@ -98,7 +98,7 @@ Supported attributes are:
|
|||
<code>QF</code>.</dd>
|
||||
</dl>
|
||||
|
||||
Attribute allow variable substitution. Variables can take the form of
|
||||
Attributes allow variable substitution. Variables can take the form of
|
||||
either <code>\$NAME</code> or <code>\${NAME}</code>, where the latter is
|
||||
useful when the end of \c NAME is ambiguous (eg,
|
||||
<code>\${NAME}STUFF</code> vs <code>\$NAME/STUFF</code>).
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
EXTRA_DIST= quakeforge.1
|
|
@ -5,7 +5,7 @@ call_progs_main (progs_t *pr, int argc, const char **argv)
|
|||
{
|
||||
int i;
|
||||
dfunction_t *dfunc;
|
||||
func_t progs_main = 0;
|
||||
pr_func_t progs_main = 0;
|
||||
string_t *pr_argv;
|
||||
|
||||
if ((dfunc = PR_FindFunction (pr, "main"))) {
|
||||
|
@ -23,6 +23,7 @@ call_progs_main (progs_t *pr, int argc, const char **argv)
|
|||
PR_RESET_PARAMS (pr);
|
||||
P_INT (pr, 0) = argc;
|
||||
P_POINTER (pr, 1) = PR_SetPointer (pr, pr_argv);
|
||||
pr->pr_argc = 2;
|
||||
PR_ExecuteProgram (pr, progs_main);
|
||||
PR_PopFrame (pr);
|
||||
PR_Zone_Free (pr, pr_argv);
|
||||
|
|
|
@ -10,7 +10,7 @@ The server is "reserved" for playing clients. Any spectators would be
|
|||
referees and/or admins (however, this is up to the server admin).
|
||||
|
||||
A qtv proxy connects to the server. The proxy may have spectating clients
|
||||
and other even other proxies connecting to it. The proxies can chain to any
|
||||
and even other proxies connecting to it. The proxies can chain to any
|
||||
depth as an upstream proxy will pass on its information to any downstream
|
||||
proxies. With just a few levels of proxies, it should be possible to have
|
||||
very large spectator groups.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Doxyfile 1.8.9.1
|
||||
# Doxyfile 1.8.16
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project.
|
||||
|
@ -17,11 +17,11 @@
|
|||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# This tag specifies the encoding used for all characters in the config file
|
||||
# that follow. The default is UTF-8 which is also the encoding used for all text
|
||||
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
|
||||
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
|
||||
# for the list of possible encodings.
|
||||
# This tag specifies the encoding used for all characters in the configuration
|
||||
# file that follow. The default is UTF-8 which is also the encoding used for all
|
||||
# text before the first occurrence of this tag. Doxygen uses libiconv (or the
|
||||
# iconv built into libc) for the transcoding. See
|
||||
# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
|
||||
# The default value is: UTF-8.
|
||||
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
|
@ -93,6 +93,14 @@ ALLOW_UNICODE_NAMES = NO
|
|||
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
||||
# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
|
||||
# documentation generated by doxygen is written. Doxygen will use this
|
||||
# information to generate all generated output in the proper direction.
|
||||
# Possible values are: None, LTR, RTL and Context.
|
||||
# The default value is: None.
|
||||
|
||||
OUTPUT_TEXT_DIRECTION = None
|
||||
|
||||
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
|
||||
# descriptions after the members that are listed in the file and class
|
||||
# documentation (similar to Javadoc). Set to NO to disable this.
|
||||
|
@ -179,6 +187,16 @@ SHORT_NAMES = NO
|
|||
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
|
||||
# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
|
||||
# such as
|
||||
# /***************
|
||||
# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
|
||||
# Javadoc-style will behave just like regular comments and it will not be
|
||||
# interpreted by doxygen.
|
||||
# The default value is: NO.
|
||||
|
||||
JAVADOC_BANNER = NO
|
||||
|
||||
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
|
||||
# line (until the first dot) of a Qt-style comment as the brief description. If
|
||||
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
|
||||
|
@ -226,16 +244,15 @@ TAB_SIZE = 4
|
|||
# will allow you to put the command \sideeffect (or @sideeffect) in the
|
||||
# documentation, which will result in a user-defined paragraph with heading
|
||||
# "Side Effects:". You can put \n's in the value part of an alias to insert
|
||||
# newlines.
|
||||
# newlines (in the resulting output). You can put ^^ in the value part of an
|
||||
# alias to insert a newline as if a physical newline was in the original file.
|
||||
# When you need a literal { or } or , in the value part of an alias you have to
|
||||
# escape them by means of a backslash (\), this can lead to conflicts with the
|
||||
# commands \{ and \} for these it is advised to use the version @{ and @} or use
|
||||
# a double escape (\\{ and \\})
|
||||
|
||||
ALIASES = QF=QuakeForge
|
||||
|
||||
# This tag can be used to specify a number of word-keyword mappings (TCL only).
|
||||
# A mapping has the form "name=value". For example adding "class=itcl::class"
|
||||
# will allow you to use the command class in the itcl::class meaning.
|
||||
|
||||
TCL_SUBST =
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
|
||||
# only. Doxygen will then generate output that is more tailored for C. For
|
||||
# instance, some of the names that are used will be different. The list of all
|
||||
|
@ -264,17 +281,26 @@ OPTIMIZE_FOR_FORTRAN = NO
|
|||
|
||||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
|
||||
# sources only. Doxygen will then generate output that is more tailored for that
|
||||
# language. For instance, namespaces will be presented as modules, types will be
|
||||
# separated into more groups, etc.
|
||||
# The default value is: NO.
|
||||
|
||||
OPTIMIZE_OUTPUT_SLICE = NO
|
||||
|
||||
# Doxygen selects the parser to use depending on the extension of the files it
|
||||
# parses. With this tag you can assign which parser to use for a given
|
||||
# extension. Doxygen has a built-in mapping, but you can override or extend it
|
||||
# using this tag. The format is ext=language, where ext is a file extension, and
|
||||
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
|
||||
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
|
||||
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
|
||||
# Fortran. In the later case the parser tries to guess whether the code is fixed
|
||||
# or free formatted code, this is the default for Fortran type files), VHDL. For
|
||||
# instance to make doxygen treat .inc files as Fortran files (default is PHP),
|
||||
# and .f files as C (default is Fortran), use: inc=Fortran f=C.
|
||||
# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
|
||||
# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
|
||||
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
|
||||
# tries to guess whether the code is fixed or free formatted code, this is the
|
||||
# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat
|
||||
# .inc files as Fortran files (default is PHP), and .f files as C (default is
|
||||
# Fortran), use: inc=Fortran f=C.
|
||||
#
|
||||
# Note: For files without extension you can use no_extension as a placeholder.
|
||||
#
|
||||
|
@ -285,7 +311,7 @@ EXTENSION_MAPPING = no_extension=C
|
|||
|
||||
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
|
||||
# according to the Markdown format, which allows for more readable
|
||||
# documentation. See http://daringfireball.net/projects/markdown/ for details.
|
||||
# documentation. See https://daringfireball.net/projects/markdown/ for details.
|
||||
# The output of markdown processing is further processed by doxygen, so you can
|
||||
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
|
||||
# case of backward compatibilities issues.
|
||||
|
@ -293,6 +319,15 @@ EXTENSION_MAPPING = no_extension=C
|
|||
|
||||
MARKDOWN_SUPPORT = YES
|
||||
|
||||
# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
|
||||
# to that level are automatically included in the table of contents, even if
|
||||
# they do not have an id attribute.
|
||||
# Note: This feature currently applies only to Markdown headings.
|
||||
# Minimum value: 0, maximum value: 99, default value: 5.
|
||||
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
|
||||
|
||||
TOC_INCLUDE_HEADINGS = 5
|
||||
|
||||
# When enabled doxygen tries to link words that correspond to documented
|
||||
# classes, or namespaces to their corresponding documentation. Such a link can
|
||||
# be prevented in individual cases by putting a % sign in front of the word or
|
||||
|
@ -318,7 +353,7 @@ BUILTIN_STL_SUPPORT = NO
|
|||
CPP_CLI_SUPPORT = NO
|
||||
|
||||
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
|
||||
# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
|
||||
# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
|
||||
# will parse them like normal C++ but will assume all classes use public instead
|
||||
# of private inheritance when no explicit protection keyword is present.
|
||||
# The default value is: NO.
|
||||
|
@ -343,6 +378,13 @@ IDL_PROPERTY_SUPPORT = YES
|
|||
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
|
||||
# If one adds a struct or class to a group and this option is enabled, then also
|
||||
# any nested class or struct is added to the same group. By default this option
|
||||
# is disabled and one has to add nested compounds explicitly via \ingroup.
|
||||
# The default value is: NO.
|
||||
|
||||
GROUP_NESTED_COMPOUNDS = YES
|
||||
|
||||
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
|
||||
# (for instance a group of public functions) to be put as a subgroup of that
|
||||
# type (e.g. under the Public Functions section). Set it to NO to prevent
|
||||
|
@ -417,6 +459,12 @@ EXTRACT_ALL = YES
|
|||
|
||||
EXTRACT_PRIVATE = NO
|
||||
|
||||
# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
|
||||
# methods of a class will be included in the documentation.
|
||||
# The default value is: NO.
|
||||
|
||||
EXTRACT_PRIV_VIRTUAL = NO
|
||||
|
||||
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
|
||||
# scope will be included in the documentation.
|
||||
# The default value is: NO.
|
||||
|
@ -437,7 +485,7 @@ EXTRACT_STATIC = @STATIC_DOC@
|
|||
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
|
||||
# This flag is only useful for Objective-C code. When set to YES, local methods,
|
||||
# This flag is only useful for Objective-C code. If set to YES, local methods,
|
||||
# which are defined in the implementation section but not in the interface are
|
||||
# included in the documentation. If set to NO, only methods in the interface are
|
||||
# included.
|
||||
|
@ -495,7 +543,7 @@ INTERNAL_DOCS = NO
|
|||
# names in lower-case letters. If set to YES, upper-case letters are also
|
||||
# allowed. This is useful if you have classes or files whose names only differ
|
||||
# in case and if your file system supports case sensitive file names. Windows
|
||||
# and Mac users are advised to set this option to NO.
|
||||
# (including Cygwin) ands Mac users are advised to set this option to NO.
|
||||
# The default value is: system dependent.
|
||||
|
||||
CASE_SENSE_NAMES = NO
|
||||
|
@ -682,7 +730,7 @@ LAYOUT_FILE =
|
|||
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
|
||||
# the reference definitions. This must be a list of .bib files. The .bib
|
||||
# extension is automatically appended if omitted. This requires the bibtex tool
|
||||
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
|
||||
# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
|
||||
# For LaTeX the style of the bibliography can be controlled using
|
||||
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
|
||||
# search path. See also \cite for info how to create references.
|
||||
|
@ -727,11 +775,18 @@ WARN_IF_DOC_ERROR = YES
|
|||
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
|
||||
# are documented, but have no documentation for their parameters or return
|
||||
# value. If set to NO, doxygen will only warn about wrong or incomplete
|
||||
# parameter documentation, but not about the absence of documentation.
|
||||
# parameter documentation, but not about the absence of documentation. If
|
||||
# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
|
||||
# The default value is: NO.
|
||||
|
||||
WARN_NO_PARAMDOC = NO
|
||||
|
||||
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
|
||||
# a warning is encountered.
|
||||
# The default value is: NO.
|
||||
|
||||
WARN_AS_ERROR = NO
|
||||
|
||||
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
|
||||
# can produce. The string should contain the $file, $line, and $text tags, which
|
||||
# will be replaced by the file and line number from which the warning originated
|
||||
|
@ -755,7 +810,7 @@ WARN_LOGFILE =
|
|||
# The INPUT tag is used to specify the files and/or directories that contain
|
||||
# documented source files. You may enter file names like myfile.cpp or
|
||||
# directories like /usr/src/myproject. Separate the files or directories with
|
||||
# spaces.
|
||||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = @TOPSRC@/include \
|
||||
|
@ -770,7 +825,7 @@ INPUT = @TOPSRC@/include \
|
|||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
|
||||
# documentation (see: http://www.gnu.org/software/libiconv) for the list of
|
||||
# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
|
||||
# possible encodings.
|
||||
# The default value is: UTF-8.
|
||||
|
||||
|
@ -778,12 +833,17 @@ INPUT_ENCODING = UTF-8
|
|||
|
||||
# If the value of the INPUT tag contains directories, you can use the
|
||||
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
|
||||
# *.h) to filter out the source-files in the directories. If left blank the
|
||||
# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
|
||||
# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
|
||||
# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
|
||||
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
|
||||
# *.qsf, *.as and *.js.
|
||||
# *.h) to filter out the source-files in the directories.
|
||||
#
|
||||
# Note that for custom extensions or not directly supported extensions you also
|
||||
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
|
||||
# read by doxygen.
|
||||
#
|
||||
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
|
||||
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
|
||||
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
|
||||
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
|
||||
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
|
||||
|
||||
FILE_PATTERNS = *.c \
|
||||
*.h \
|
||||
|
@ -871,9 +931,8 @@ EXAMPLE_RECURSIVE = NO
|
|||
# \image command).
|
||||
|
||||
IMAGE_PATH = @TOPSRC@/doc \
|
||||
@builddir@ \
|
||||
@builddir@/progs \
|
||||
@builddir@/qtv
|
||||
@builddir@/doc/progs \
|
||||
@builddir@/doc/qtv
|
||||
|
||||
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||
|
@ -889,6 +948,10 @@ IMAGE_PATH = @TOPSRC@/doc \
|
|||
# Note that the filter must not add or remove lines; it is applied before the
|
||||
# code is scanned, but not when the output code is generated. If lines are added
|
||||
# or removed, the anchors will not be placed correctly.
|
||||
#
|
||||
# Note that for custom extensions or not directly supported extensions you also
|
||||
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
|
||||
# properly processed by doxygen.
|
||||
|
||||
INPUT_FILTER =
|
||||
|
||||
|
@ -898,6 +961,10 @@ INPUT_FILTER =
|
|||
# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
|
||||
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
|
||||
# patterns match the file name, INPUT_FILTER is applied.
|
||||
#
|
||||
# Note that for custom extensions or not directly supported extensions you also
|
||||
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
|
||||
# properly processed by doxygen.
|
||||
|
||||
FILTER_PATTERNS =
|
||||
|
||||
|
@ -950,7 +1017,7 @@ INLINE_SOURCES = NO
|
|||
STRIP_CODE_COMMENTS = YES
|
||||
|
||||
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
|
||||
# function all documented functions referencing it will be listed.
|
||||
# entity all documented functions referencing it will be listed.
|
||||
# The default value is: NO.
|
||||
|
||||
REFERENCED_BY_RELATION = NO
|
||||
|
@ -982,12 +1049,12 @@ SOURCE_TOOLTIPS = YES
|
|||
# If the USE_HTAGS tag is set to YES then the references to source code will
|
||||
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
|
||||
# source browser. The htags tool is part of GNU's global source tagging system
|
||||
# (see http://www.gnu.org/software/global/global.html). You will need version
|
||||
# (see https://www.gnu.org/software/global/global.html). You will need version
|
||||
# 4.8.6 or higher.
|
||||
#
|
||||
# To use it do the following:
|
||||
# - Install the latest version of global
|
||||
# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
|
||||
# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
|
||||
# - Make sure the INPUT points to the root of the source tree
|
||||
# - Run doxygen as normal
|
||||
#
|
||||
|
@ -1015,7 +1082,7 @@ VERBATIM_HEADERS = NO
|
|||
# rich C++ code for which doxygen's built-in parser lacks the necessary type
|
||||
# information.
|
||||
# Note: The availability of this option depends on whether or not doxygen was
|
||||
# compiled with the --with-libclang option.
|
||||
# generated with the -Duse_libclang=ON option for CMake.
|
||||
# The default value is: NO.
|
||||
|
||||
CLANG_ASSISTED_PARSING = NO
|
||||
|
@ -1028,6 +1095,16 @@ CLANG_ASSISTED_PARSING = NO
|
|||
|
||||
CLANG_OPTIONS =
|
||||
|
||||
# If clang assisted parsing is enabled you can provide the clang parser with the
|
||||
# path to the compilation database (see:
|
||||
# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files
|
||||
# were built. This is equivalent to specifying the "-p" option to a clang tool,
|
||||
# such as clang-check. These options will then be passed to the parser.
|
||||
# Note: The availability of this option depends on whether or not doxygen was
|
||||
# generated with the -Duse_libclang=ON option for CMake.
|
||||
|
||||
CLANG_DATABASE_PATH =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -1039,13 +1116,6 @@ CLANG_OPTIONS =
|
|||
|
||||
ALPHABETICAL_INDEX = YES
|
||||
|
||||
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
|
||||
# which the alphabetical index list will be split.
|
||||
# Minimum value: 1, maximum value: 20, default value: 5.
|
||||
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
|
||||
|
||||
COLS_IN_ALPHA_INDEX = 4
|
||||
|
||||
# In case all classes in a project start with a common prefix, all classes will
|
||||
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
|
||||
# can be used to specify a prefix (or a list of prefixes) that should be ignored
|
||||
|
@ -1146,7 +1216,7 @@ HTML_EXTRA_FILES =
|
|||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
||||
# will adjust the colors in the style sheet and background images according to
|
||||
# this color. Hue is specified as an angle on a colorwheel, see
|
||||
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
|
||||
# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
|
||||
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
|
||||
# purple, and 360 is red again.
|
||||
# Minimum value: 0, maximum value: 359, default value: 220.
|
||||
|
@ -1182,6 +1252,17 @@ HTML_COLORSTYLE_GAMMA = 100
|
|||
|
||||
HTML_TIMESTAMP = NO
|
||||
|
||||
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
|
||||
# documentation will contain a main index with vertical navigation menus that
|
||||
# are dynamically created via Javascript. If disabled, the navigation index will
|
||||
# consists of multiple levels of tabs that are statically embedded in every HTML
|
||||
# page. Disable this option to support browsers that do not have Javascript,
|
||||
# like the Qt help browser.
|
||||
# The default value is: YES.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_DYNAMIC_MENUS = YES
|
||||
|
||||
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
||||
# documentation will contain sections that can be hidden and shown after the
|
||||
# page has loaded.
|
||||
|
@ -1205,13 +1286,13 @@ HTML_INDEX_NUM_ENTRIES = 100
|
|||
|
||||
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
|
||||
# generated that can be used as input for Apple's Xcode 3 integrated development
|
||||
# environment (see: http://developer.apple.com/tools/xcode/), introduced with
|
||||
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
|
||||
# environment (see: https://developer.apple.com/xcode/), introduced with OSX
|
||||
# 10.5 (Leopard). To create a documentation set, doxygen will generate a
|
||||
# Makefile in the HTML output directory. Running make will produce the docset in
|
||||
# that directory and running make install will install the docset in
|
||||
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
|
||||
# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
|
||||
# for more information.
|
||||
# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
|
||||
# genXcode/_index.html for more information.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
|
@ -1250,7 +1331,7 @@ DOCSET_PUBLISHER_NAME = Publisher
|
|||
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
|
||||
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
|
||||
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
|
||||
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
|
||||
# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
|
||||
# Windows.
|
||||
#
|
||||
# The HTML Help Workshop contains a compiler that can convert all HTML output
|
||||
|
@ -1326,7 +1407,7 @@ QCH_FILE =
|
|||
|
||||
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
|
||||
# Project output. For more information please see Qt Help Project / Namespace
|
||||
# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
|
||||
# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
|
||||
# The default value is: org.doxygen.Project.
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
|
@ -1334,7 +1415,7 @@ QHP_NAMESPACE = org.doxygen.Project
|
|||
|
||||
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
|
||||
# Help Project output. For more information please see Qt Help Project / Virtual
|
||||
# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
|
||||
# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
|
||||
# folders).
|
||||
# The default value is: doc.
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
@ -1343,7 +1424,7 @@ QHP_VIRTUAL_FOLDER = doc
|
|||
|
||||
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
|
||||
# filter to add. For more information please see Qt Help Project / Custom
|
||||
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
|
||||
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
|
||||
# filters).
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
|
@ -1351,7 +1432,7 @@ QHP_CUST_FILTER_NAME =
|
|||
|
||||
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
|
||||
# custom filter to add. For more information please see Qt Help Project / Custom
|
||||
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
|
||||
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
|
||||
# filters).
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
|
@ -1359,7 +1440,7 @@ QHP_CUST_FILTER_ATTRS =
|
|||
|
||||
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
|
||||
# project's filter section matches. Qt Help Project / Filter Attributes (see:
|
||||
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
|
||||
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
QHP_SECT_FILTER_ATTRS =
|
||||
|
@ -1452,7 +1533,7 @@ EXT_LINKS_IN_WINDOW = NO
|
|||
|
||||
FORMULA_FONTSIZE = 10
|
||||
|
||||
# Use the FORMULA_TRANPARENT tag to determine whether or not the images
|
||||
# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
|
||||
# generated for formulas are transparent PNGs. Transparent PNGs are not
|
||||
# supported properly for IE 6.0, but are supported on all modern browsers.
|
||||
#
|
||||
|
@ -1464,7 +1545,7 @@ FORMULA_FONTSIZE = 10
|
|||
FORMULA_TRANSPARENT = YES
|
||||
|
||||
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
|
||||
# http://www.mathjax.org) which uses client side Javascript for the rendering
|
||||
# https://www.mathjax.org) which uses client side Javascript for the rendering
|
||||
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
|
||||
# installed or if you want to formulas look prettier in the HTML output. When
|
||||
# enabled you may also need to install MathJax separately and configure the path
|
||||
|
@ -1472,7 +1553,7 @@ FORMULA_TRANSPARENT = YES
|
|||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
USE_MATHJAX = NO
|
||||
USE_MATHJAX = YES
|
||||
|
||||
# When MathJax is enabled you can set the default output format to be used for
|
||||
# the MathJax output. See the MathJax site (see:
|
||||
|
@ -1491,8 +1572,8 @@ MATHJAX_FORMAT = HTML-CSS
|
|||
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
|
||||
# Content Delivery Network so you can quickly see the result without installing
|
||||
# MathJax. However, it is strongly recommended to install a local copy of
|
||||
# MathJax from http://www.mathjax.org before deployment.
|
||||
# The default value is: http://cdn.mathjax.org/mathjax/latest.
|
||||
# MathJax from https://www.mathjax.org before deployment.
|
||||
# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.
|
||||
# This tag requires that the tag USE_MATHJAX is set to YES.
|
||||
|
||||
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||
|
@ -1553,7 +1634,7 @@ SERVER_BASED_SEARCH = NO
|
|||
#
|
||||
# Doxygen ships with an example indexer (doxyindexer) and search engine
|
||||
# (doxysearch.cgi) which are based on the open source search engine library
|
||||
# Xapian (see: http://xapian.org/).
|
||||
# Xapian (see: https://xapian.org/).
|
||||
#
|
||||
# See the section "External Indexing and Searching" for details.
|
||||
# The default value is: NO.
|
||||
|
@ -1566,7 +1647,7 @@ EXTERNAL_SEARCH = NO
|
|||
#
|
||||
# Doxygen ships with an example indexer (doxyindexer) and search engine
|
||||
# (doxysearch.cgi) which are based on the open source search engine library
|
||||
# Xapian (see: http://xapian.org/). See the section "External Indexing and
|
||||
# Xapian (see: https://xapian.org/). See the section "External Indexing and
|
||||
# Searching" for details.
|
||||
# This tag requires that the tag SEARCHENGINE is set to YES.
|
||||
|
||||
|
@ -1618,21 +1699,35 @@ LATEX_OUTPUT = latex
|
|||
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
|
||||
# invoked.
|
||||
#
|
||||
# Note that when enabling USE_PDFLATEX this option is only used for generating
|
||||
# bitmaps for formulas in the HTML output, but not in the Makefile that is
|
||||
# written to the output directory.
|
||||
# The default file is: latex.
|
||||
# Note that when not enabling USE_PDFLATEX the default is latex when enabling
|
||||
# USE_PDFLATEX the default is pdflatex and when in the later case latex is
|
||||
# chosen this is overwritten by pdflatex. For specific output languages the
|
||||
# default can have been set differently, this depends on the implementation of
|
||||
# the output language.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
LATEX_CMD_NAME = latex
|
||||
|
||||
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
|
||||
# index for LaTeX.
|
||||
# Note: This tag is used in the Makefile / make.bat.
|
||||
# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
|
||||
# (.tex).
|
||||
# The default file is: makeindex.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
|
||||
# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
|
||||
# generate index for LaTeX. In case there is no backslash (\) as first character
|
||||
# it will be automatically added in the LaTeX code.
|
||||
# Note: This tag is used in the generated output file (.tex).
|
||||
# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
|
||||
# The default value is: makeindex.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
LATEX_MAKEINDEX_CMD = makeindex
|
||||
|
||||
# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
|
||||
# documents. This may be useful for small projects and may help to save some
|
||||
# trees in general.
|
||||
|
@ -1648,12 +1743,15 @@ COMPACT_LATEX = YES
|
|||
# The default value is: a4.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
PAPER_TYPE = a4wide
|
||||
PAPER_TYPE = a4
|
||||
|
||||
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
|
||||
# that should be included in the LaTeX output. To get the times font for
|
||||
# instance you can specify
|
||||
# EXTRA_PACKAGES=times
|
||||
# that should be included in the LaTeX output. The package can be specified just
|
||||
# by its name or with the correct syntax as to be used with the LaTeX
|
||||
# \usepackage command. To get the times font for instance you can specify :
|
||||
# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
|
||||
# To use the option intlimits with the amsmath package you can specify:
|
||||
# EXTRA_PACKAGES=[intlimits]{amsmath}
|
||||
# If left blank no extra packages will be included.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
|
@ -1750,12 +1848,28 @@ LATEX_SOURCE_CODE = NO
|
|||
|
||||
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
|
||||
# bibliography, e.g. plainnat, or ieeetr. See
|
||||
# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
|
||||
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
|
||||
# The default value is: plain.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
LATEX_BIB_STYLE = plain
|
||||
|
||||
# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
|
||||
# page will contain the date and time when the page was generated. Setting this
|
||||
# to NO can help when comparing the output of multiple runs.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
LATEX_TIMESTAMP = NO
|
||||
|
||||
# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# path from which the emoji images will be read. If a relative path is entered,
|
||||
# it will be relative to the LATEX_OUTPUT directory. If left blank the
|
||||
# LATEX_OUTPUT directory will be used.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
LATEX_EMOJI_DIRECTORY =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -1795,9 +1909,9 @@ COMPACT_RTF = NO
|
|||
|
||||
RTF_HYPERLINKS = NO
|
||||
|
||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's config
|
||||
# file, i.e. a series of assignments. You only have to provide replacements,
|
||||
# missing definitions are set to their default value.
|
||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||
# configuration file, i.e. a series of assignments. You only have to provide
|
||||
# replacements, missing definitions are set to their default value.
|
||||
#
|
||||
# See also section "Doxygen usage" for information on how to generate the
|
||||
# default style sheet that doxygen normally uses.
|
||||
|
@ -1806,8 +1920,8 @@ RTF_HYPERLINKS = NO
|
|||
RTF_STYLESHEET_FILE =
|
||||
|
||||
# Set optional variables used in the generation of an RTF document. Syntax is
|
||||
# similar to doxygen's config file. A template extensions file can be generated
|
||||
# using doxygen -e rtf extensionFile.
|
||||
# similar to doxygen's configuration file. A template extensions file can be
|
||||
# generated using doxygen -e rtf extensionFile.
|
||||
# This tag requires that the tag GENERATE_RTF is set to YES.
|
||||
|
||||
RTF_EXTENSIONS_FILE =
|
||||
|
@ -1893,6 +2007,13 @@ XML_OUTPUT = xml
|
|||
|
||||
XML_PROGRAMLISTING = YES
|
||||
|
||||
# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
|
||||
# namespace members in file scope as well, matching the HTML output.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_XML is set to YES.
|
||||
|
||||
XML_NS_MEMB_FILE_SCOPE = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the DOCBOOK output
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -1925,9 +2046,9 @@ DOCBOOK_PROGRAMLISTING = NO
|
|||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
|
||||
# AutoGen Definitions (see http://autogen.sf.net) file that captures the
|
||||
# structure of the code including all documentation. Note that this feature is
|
||||
# still experimental and incomplete at the moment.
|
||||
# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
|
||||
# the structure of the code including all documentation. Note that this feature
|
||||
# is still experimental and incomplete at the moment.
|
||||
# The default value is: NO.
|
||||
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
|
@ -2010,10 +2131,10 @@ SEARCH_INCLUDES = YES
|
|||
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
|
||||
|
||||
INCLUDE_PATH = @TOPSRC@/include \
|
||||
@TOPSRC@/hw/include \
|
||||
@TOPSRC@/nq/include \
|
||||
@TOPSRC@/qw/include \
|
||||
@TOPSRC@/qtv/include
|
||||
@TOPSRC@/qtv/include \
|
||||
@TOPSRC@
|
||||
|
||||
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
|
||||
# patterns (like *.h and *.hpp) to filter out the header-files in the
|
||||
|
@ -2032,6 +2153,7 @@ INCLUDE_FILE_PATTERNS = *.h
|
|||
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
|
||||
|
||||
PREDEFINED = "__attribute__(x)=" \
|
||||
IN_DOXYGEN=1 \
|
||||
VISIBLE=
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
|
@ -2101,12 +2223,6 @@ EXTERNAL_GROUPS = YES
|
|||
|
||||
EXTERNAL_PAGES = YES
|
||||
|
||||
# The PERL_PATH should be the absolute path and name of the perl script
|
||||
# interpreter (i.e. the result of 'which perl').
|
||||
# The default file (with absolute path) is: /usr/bin/perl.
|
||||
|
||||
PERL_PATH = /usr/bin/perl
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -2120,15 +2236,6 @@ PERL_PATH = /usr/bin/perl
|
|||
|
||||
CLASS_DIAGRAMS = YES
|
||||
|
||||
# You can define message sequence charts within doxygen comments using the \msc
|
||||
# command. Doxygen will then run the mscgen tool (see:
|
||||
# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
|
||||
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
|
||||
# the mscgen tool resides. If left empty the tool is assumed to be found in the
|
||||
# default search path.
|
||||
|
||||
MSCGEN_PATH =
|
||||
|
||||
# You can include diagrams made with dia in doxygen documentation. Doxygen will
|
||||
# then run dia to produce the diagram and insert it in the documentation. The
|
||||
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
|
||||
|
@ -2207,7 +2314,7 @@ COLLABORATION_GRAPH = YES
|
|||
# The default value is: YES.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
GROUP_GRAPHS = NO
|
||||
GROUP_GRAPHS = YES
|
||||
|
||||
# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
|
||||
# collaboration diagrams in a style similar to the OMG's Unified Modeling
|
||||
|
@ -2261,7 +2368,8 @@ INCLUDED_BY_GRAPH = YES
|
|||
#
|
||||
# Note that enabling this option will significantly increase the time of a run.
|
||||
# So in most cases it will be better to enable call graphs for selected
|
||||
# functions only using the \callgraph command.
|
||||
# functions only using the \callgraph command. Disabling a call graph can be
|
||||
# accomplished by means of the command \hidecallgraph.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
|
@ -2272,7 +2380,8 @@ CALL_GRAPH = NO
|
|||
#
|
||||
# Note that enabling this option will significantly increase the time of a run.
|
||||
# So in most cases it will be better to enable caller graphs for selected
|
||||
# functions only using the \callergraph command.
|
||||
# functions only using the \callergraph command. Disabling a caller graph can be
|
||||
# accomplished by means of the command \hidecallergraph.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
|
@ -2295,13 +2404,17 @@ GRAPHICAL_HIERARCHY = YES
|
|||
DIRECTORY_GRAPH = NO
|
||||
|
||||
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
||||
# generated by dot.
|
||||
# generated by dot. For an explanation of the image formats see the section
|
||||
# output formats in the documentation of the dot tool (Graphviz (see:
|
||||
# http://www.graphviz.org/)).
|
||||
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
|
||||
# to make the SVG files visible in IE 9+ (other browsers do not have this
|
||||
# requirement).
|
||||
# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
|
||||
# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
|
||||
# gif:cairo:gd, gif:gd, gif:gd:gd and svg.
|
||||
# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,
|
||||
# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
|
||||
# png:gdiplus:gdiplus.
|
||||
# The default value is: png.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
|
@ -2352,6 +2465,11 @@ DIAFILE_DIRS =
|
|||
|
||||
PLANTUML_JAR_PATH =
|
||||
|
||||
# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
|
||||
# configuration file for plantuml.
|
||||
|
||||
PLANTUML_CFG_FILE =
|
||||
|
||||
# When using plantuml, the specified paths are searched for files specified by
|
||||
# the !include statement in a plantuml block.
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
SUBDIRS= include source
|
1
hw/Makemodule.am
Normal file
1
hw/Makemodule.am
Normal file
|
@ -0,0 +1 @@
|
|||
include hw/source/Makemodule.am
|
|
@ -1,4 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
|
||||
EXTRA_DIST =
|
|
@ -27,27 +27,17 @@
|
|||
# $Id$
|
||||
#
|
||||
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
bin_PROGRAMS += @HW_TARGETS@
|
||||
|
||||
# Stuff that is common to both client and server
|
||||
AM_CPPFLAGS= -I$(top_srcdir)/include -I$(top_srcdir)/hw/include
|
||||
SDL_LIBS = @SDL_LIBS@
|
||||
EXTRA_PROGRAMS += hw-master
|
||||
|
||||
bin_PROGRAMS= @HW_TARGETS@
|
||||
|
||||
EXTRA_PROGRAMS= hw-master
|
||||
|
||||
common_ldflags= -export-dynamic
|
||||
hw_master_libs= \
|
||||
$(top_builddir)/libs/net/libnet_chan.la \
|
||||
libs/net/libnet_chan.la \
|
||||
@server_static_plugin_libs@ \
|
||||
$(top_builddir)/libs/console/libQFconsole.la \
|
||||
$(top_builddir)/libs/util/libQFutil.la
|
||||
libs/console/libQFconsole.la \
|
||||
libs/util/libQFutil.la
|
||||
|
||||
hw_master_LDFLAGS= $(common_ldflags)
|
||||
hw_master_LDADD= $(hw_master_libs) $(NET_LIBS)
|
||||
hw_master_DEPENDENCIES= $(hw_master_libs)
|
||||
hw_master_SOURCES= master.c
|
||||
|
||||
# Kill the temp files, hopefully.
|
||||
CLEANFILES = *.i *.s
|
||||
hw_master_SOURCES= hw/source/master.c
|
|
@ -55,13 +55,21 @@ typedef struct server_s {
|
|||
double timeout;
|
||||
} server_t;
|
||||
|
||||
static cvar_t *sv_console_plugin;
|
||||
static char *sv_console_plugin;
|
||||
static cvar_t sv_console_plugin_cvar = {
|
||||
.name = "sv_console_plugin",
|
||||
.description =
|
||||
"Plugin used for the console",
|
||||
.default_value = "server",
|
||||
.flags = CVAR_ROM,
|
||||
.value = { .type = 0, .value = &sv_console_plugin },
|
||||
};
|
||||
SERVER_PLUGIN_PROTOS
|
||||
static plugin_list_t server_plugin_list[] = {
|
||||
SERVER_PLUGIN_LIST
|
||||
};
|
||||
|
||||
qboolean is_server = true;
|
||||
bool is_server = true;
|
||||
|
||||
static cbuf_t *mst_cbuf;
|
||||
|
||||
|
@ -121,7 +129,7 @@ FL_Add (filter_t * filter)
|
|||
filter_list = filter;
|
||||
}
|
||||
|
||||
static filter_t *
|
||||
static __attribute__((pure)) filter_t *
|
||||
FL_Find (netadr_t adr)
|
||||
{
|
||||
filter_t *filter;
|
||||
|
@ -209,7 +217,7 @@ SVL_Add (server_t *sv)
|
|||
sv_list = sv;
|
||||
}
|
||||
|
||||
static server_t *
|
||||
static __attribute__((pure)) server_t *
|
||||
SVL_Find (netadr_t adr)
|
||||
{
|
||||
server_t *sv;
|
||||
|
@ -469,13 +477,10 @@ SV_WriteFilterList (void)
|
|||
}
|
||||
|
||||
static void
|
||||
SV_Shutdown (void)
|
||||
SV_Shutdown (void *data)
|
||||
{
|
||||
NET_Shutdown ();
|
||||
|
||||
// write filter list
|
||||
SV_WriteFilterList ();
|
||||
Con_Shutdown ();
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -525,7 +530,7 @@ main (int argc, const char **argv)
|
|||
|
||||
mst_cbuf = Cbuf_New (&id_interp);
|
||||
|
||||
Sys_RegisterShutdown (SV_Shutdown);
|
||||
Sys_RegisterShutdown (SV_Shutdown, 0);
|
||||
|
||||
Sys_Init ();
|
||||
|
||||
|
@ -538,12 +543,12 @@ main (int argc, const char **argv)
|
|||
|
||||
PI_Init ();
|
||||
|
||||
sv_console_plugin = Cvar_Get ("sv_console_plugin", "server",
|
||||
CVAR_ROM, 0, "Plugin used for the console");
|
||||
Cvar_Register (&sv_console_plugin_cvar, 0, 0);
|
||||
PI_RegisterPlugins (server_plugin_list);
|
||||
Con_Init (sv_console_plugin->string);
|
||||
Con_Load (sv_console_plugin);
|
||||
if (con_module)
|
||||
con_module->data->console->cbuf = mst_cbuf;
|
||||
Con_Init ();
|
||||
con_list_print = Sys_Printf;
|
||||
|
||||
SV_InitNet ();
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
SUBDIRS = QF
|
||||
EXTRA_DIST = \
|
||||
adivtab.h alsa_funcs_list.h anorm_dots.h anorms.h asm_draw.h asm_i386.h \
|
||||
block16.h block8.h buildnum.h clview.h compat.h context_sdl.h \
|
||||
context_x11.h d_iface.h d_ifacea.h d_local.h dga_check.h exp.h fbset.h \
|
||||
garbage.h getopt.h gib_buffer.h gib_builtin.h gib_classes.h \
|
||||
gib_execute.h gib_function.h gib_handle.h gib_object.h gib_parse.h \
|
||||
gib_process.h gib_regex.h gib_semantics.h gib_thread.h gib_tree.h \
|
||||
gib_vars.h gl_warp_sin.h in_win.h logos.h mod_internal.h net_dgrm.h \
|
||||
net_loop.h net_udp.h net_vcr.h net_wins.h netchan.h netmain.h \
|
||||
noisetextures.h old_keys.h ops.h pstdint.h qfalloca.h qstring.h \
|
||||
quakeasm.h r_cvar.h r_dynamic.h r_internal.h r_local.h r_screen.h \
|
||||
r_shared.h regex.h rua_internal.h sbar.h skin_stencil.h snd_internal.h \
|
||||
sv_console.h varrays.h vgamodes.h vid_internal.h vregset.h winquake.h \
|
||||
world.h \
|
||||
\
|
||||
client/entities.h \
|
||||
\
|
||||
qw/bothdefs.h qw/msg_backbuf.h qw/msg_ucmd.h qw/pmove.h qw/protocol.h \
|
||||
\
|
||||
win32/dirent.h win32/fnmatch.h win32/stdint.h \
|
||||
\
|
||||
win32/resources/icon1Vista.ico win32/resources/icon1XP.ico \
|
||||
win32/resources/quakeforge.rc win32/resources/resource.h
|
110
include/Makemodule.am
Normal file
110
include/Makemodule.am
Normal file
|
@ -0,0 +1,110 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
include include/QF/Makemodule.am
|
||||
|
||||
EXTRA_DIST += \
|
||||
include/adivtab.h \
|
||||
include/alsa_funcs_list.h \
|
||||
include/anorm_dots.h \
|
||||
include/anorms.h \
|
||||
include/asm_draw.h \
|
||||
include/asm_i386.h \
|
||||
include/block16.h \
|
||||
include/block8.h \
|
||||
include/bsearch.h \
|
||||
include/buildnum.h \
|
||||
include/compat.h \
|
||||
include/context_sdl.h \
|
||||
include/context_win.h \
|
||||
include/context_x11.h \
|
||||
include/d_iface.h \
|
||||
include/d_ifacea.h \
|
||||
include/d_local.h \
|
||||
include/dga_check.h \
|
||||
include/exp.h \
|
||||
include/fbset.h \
|
||||
include/gamedefs.h \
|
||||
include/garbage.h \
|
||||
include/getopt.h \
|
||||
include/gib_buffer.h \
|
||||
include/gib_builtin.h \
|
||||
include/gib_classes.h \
|
||||
include/gib_execute.h \
|
||||
include/gib_function.h \
|
||||
include/gib_handle.h \
|
||||
include/gib_object.h \
|
||||
include/gib_parse.h \
|
||||
include/gib_process.h \
|
||||
include/gib_regex.h \
|
||||
include/gib_semantics.h \
|
||||
include/gib_thread.h \
|
||||
include/gib_tree.h \
|
||||
include/gib_vars.h \
|
||||
include/gl_warp_sin.h \
|
||||
include/in_win.h \
|
||||
include/in_x11.h \
|
||||
include/logos.h \
|
||||
include/mod_internal.h \
|
||||
include/net_dgrm.h \
|
||||
include/net_loop.h \
|
||||
include/net_udp.h \
|
||||
include/net_vcr.h \
|
||||
include/net_wins.h \
|
||||
include/netchan.h \
|
||||
include/netmain.h \
|
||||
include/noisetextures.h \
|
||||
include/old_keys.h \
|
||||
include/ops.h \
|
||||
include/pstdint.h \
|
||||
include/qfalloca.h \
|
||||
include/qfselect.h \
|
||||
include/qstring.h \
|
||||
include/quakeasm.h \
|
||||
include/quicksort.h \
|
||||
include/r_cvar.h \
|
||||
include/r_dynamic.h \
|
||||
include/r_font.h \
|
||||
include/r_internal.h \
|
||||
include/r_local.h \
|
||||
include/r_scrap.h \
|
||||
include/r_shared.h \
|
||||
include/r_text.h \
|
||||
include/regex.h \
|
||||
include/rua_internal.h \
|
||||
include/skin_stencil.h \
|
||||
include/snd_internal.h \
|
||||
include/sv_console.h \
|
||||
include/varrays.h \
|
||||
include/vgamodes.h \
|
||||
include/vid_gl.h \
|
||||
include/vid_internal.h \
|
||||
include/vid_sw.h \
|
||||
include/vid_vulkan.h \
|
||||
include/vregset.h \
|
||||
include/winquake.h \
|
||||
include/world.h \
|
||||
include/client/chase.h \
|
||||
include/client/effects.h \
|
||||
include/client/entities.h \
|
||||
include/client/hud.h \
|
||||
include/client/input.h \
|
||||
include/client/locs.h \
|
||||
include/client/particles.h \
|
||||
include/client/sbar.h \
|
||||
include/client/screen.h \
|
||||
include/client/state.h \
|
||||
include/client/temp_entities.h \
|
||||
include/client/view.h \
|
||||
include/client/world.h \
|
||||
include/evdev/hotplug.h \
|
||||
include/evdev/inputlib.h \
|
||||
include/qw/bothdefs.h \
|
||||
include/qw/msg_backbuf.h \
|
||||
include/qw/msg_ucmd.h \
|
||||
include/qw/pmove.h \
|
||||
include/qw/protocol.h \
|
||||
include/win32/dirent.h \
|
||||
include/win32/fnmatch.h \
|
||||
include/win32/resources/icon1Vista.ico \
|
||||
include/win32/resources/icon1XP.ico \
|
||||
include/win32/resources/quakeforge.rc \
|
||||
include/win32/resources/resource.h
|
|
@ -830,4 +830,43 @@
|
|||
# define GL_OPERAND1_ALPHA 0x8599
|
||||
# define GL_OPERAND2_ALPHA 0x859A
|
||||
|
||||
/* framebuffer */
|
||||
#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
|
||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||
#define GL_COLOR_ATTACHMENT1 0x8CE1
|
||||
#define GL_COLOR_ATTACHMENT2 0x8CE2
|
||||
#define GL_COLOR_ATTACHMENT3 0x8CE3
|
||||
#define GL_COLOR_ATTACHMENT4 0x8CE4
|
||||
#define GL_COLOR_ATTACHMENT5 0x8CE5
|
||||
#define GL_COLOR_ATTACHMENT6 0x8CE6
|
||||
#define GL_COLOR_ATTACHMENT7 0x8CE7
|
||||
#define GL_COLOR_ATTACHMENT8 0x8CE8
|
||||
#define GL_COLOR_ATTACHMENT9 0x8CE9
|
||||
#define GL_COLOR_ATTACHMENT10 0x8CEA
|
||||
#define GL_COLOR_ATTACHMENT11 0x8CEB
|
||||
#define GL_COLOR_ATTACHMENT12 0x8CEC
|
||||
#define GL_COLOR_ATTACHMENT13 0x8CED
|
||||
#define GL_COLOR_ATTACHMENT14 0x8CEE
|
||||
#define GL_COLOR_ATTACHMENT15 0x8CEF
|
||||
#define GL_COLOR_ATTACHMENT16 0x8CF0
|
||||
#define GL_COLOR_ATTACHMENT17 0x8CF1
|
||||
#define GL_COLOR_ATTACHMENT18 0x8CF2
|
||||
#define GL_COLOR_ATTACHMENT19 0x8CF3
|
||||
#define GL_COLOR_ATTACHMENT20 0x8CF4
|
||||
#define GL_COLOR_ATTACHMENT21 0x8CF5
|
||||
#define GL_COLOR_ATTACHMENT22 0x8CF6
|
||||
#define GL_COLOR_ATTACHMENT23 0x8CF7
|
||||
#define GL_COLOR_ATTACHMENT24 0x8CF8
|
||||
#define GL_COLOR_ATTACHMENT25 0x8CF9
|
||||
#define GL_COLOR_ATTACHMENT26 0x8CFA
|
||||
#define GL_COLOR_ATTACHMENT27 0x8CFB
|
||||
#define GL_COLOR_ATTACHMENT28 0x8CFC
|
||||
#define GL_COLOR_ATTACHMENT29 0x8CFD
|
||||
#define GL_COLOR_ATTACHMENT30 0x8CFE
|
||||
#define GL_COLOR_ATTACHMENT31 0x8CFF
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
|
||||
|
||||
#endif // __gl_defines_h
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
# include <windows.h>
|
||||
# define GLAPIENTRY WINAPI
|
||||
# undef LoadImage
|
||||
# undef E_POINTER
|
||||
# else
|
||||
# ifdef APIENTRY
|
||||
# define GLAPIENTRY APIENTRY
|
||||
|
@ -325,7 +326,7 @@ typedef void *(GLAPIENTRY *QF_glXGetProcAddressARB) (const GLubyte *procName);
|
|||
typedef const GLubyte *(GLAPIENTRY *QF_wglGetExtensionsStringEXT) (void);
|
||||
|
||||
/* QuakeForge extension functions */
|
||||
qboolean QFGL_ExtensionPresent (const char *);
|
||||
bool QFGL_ExtensionPresent (const char *);
|
||||
void *QFGL_ExtensionAddress (const char *);
|
||||
|
||||
#endif // __qfgl_ext_h_
|
||||
|
|
|
@ -42,8 +42,6 @@
|
|||
#undef QFGL_NEED
|
||||
#undef QFGL_WANT
|
||||
|
||||
qboolean GLF_Init (void);
|
||||
qboolean GLF_FindFunctions (void);
|
||||
void *QFGL_ProcAddress (void *handle, const char *name, qboolean);
|
||||
bool GLF_FindFunctions (void);
|
||||
|
||||
#endif // __QF_GL_funcs_h_
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
/*
|
||||
hl_bsp.h
|
||||
qf_alias.h
|
||||
|
||||
Half Life file definitions
|
||||
GL specific alias model stuff
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
Copyright (C) 2012 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2012/1/1
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
@ -24,17 +27,18 @@
|
|||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GL_qf_alias_h
|
||||
#define __QF_GL_qf_alias_h
|
||||
|
||||
#include "QF/GL/types.h"
|
||||
|
||||
#ifndef _HL_BSP_H
|
||||
#define _HL_BSP_H
|
||||
typedef struct aliasvrt_s {
|
||||
GLshort st[2];
|
||||
GLshort normal[3];
|
||||
GLushort vertex[3];
|
||||
} aliasvrt_t;
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
struct entity_s;
|
||||
void gl_R_DrawAliasModel (struct entity_s ent);
|
||||
|
||||
extern void CL_ParseEntityLump(const char *entdata);
|
||||
extern void HL_Mod_LoadLighting (lump_t *l);
|
||||
extern void HL_Mod_LoadTextures (lump_t *l);
|
||||
extern byte *W_GetTexture(const char *name, int matchwidth, int matchheight);
|
||||
extern void W_LoadTextureWadFile (const char *filename, int complain);
|
||||
|
||||
#endif // _HL_BSP_H
|
||||
#endif//__QF_GL_qf_alias_h
|
|
@ -28,8 +28,43 @@
|
|||
#ifndef __gl_draw_h
|
||||
#define __gl_draw_h
|
||||
|
||||
struct qpic_s;
|
||||
struct font_s;
|
||||
struct draw_charbuffer_s;
|
||||
|
||||
void gl_Draw_Init (void);
|
||||
void gl_Draw_Shutdown (void);
|
||||
void gl_Draw_CharBuffer (int x, int y, struct draw_charbuffer_s *buffer);
|
||||
void gl_Draw_SetScale (int scale);
|
||||
void gl_Draw_Character (int x, int y, unsigned ch);
|
||||
void gl_Draw_String (int x, int y, const char *str);
|
||||
void gl_Draw_nString (int x, int y, const char *str, int count);
|
||||
void gl_Draw_AltString (int x, int y, const char *str);
|
||||
void gl_Draw_ConsoleBackground (int lines, byte alpha);
|
||||
void gl_Draw_Crosshair (void);
|
||||
void gl_Draw_CrosshairAt (int ch, int x, int y);
|
||||
void gl_Draw_TileClear (int x, int y, int w, int h);
|
||||
void gl_Draw_Fill (int x, int y, int w, int h, int c);
|
||||
void gl_Draw_Line (int x0, int y0, int x1, int y1, int c);
|
||||
void gl_Draw_TextBox (int x, int y, int width, int lines, byte alpha);
|
||||
void gl_Draw_FadeScreen (void);
|
||||
void gl_Draw_BlendScreen (quat_t color);
|
||||
struct qpic_s *gl_Draw_CachePic (const char *path, bool alpha);
|
||||
void gl_Draw_UncachePic (const char *path);
|
||||
struct qpic_s *gl_Draw_MakePic (int width, int height, const byte *data);
|
||||
void gl_Draw_DestroyPic (struct qpic_s *pic);
|
||||
struct qpic_s *gl_Draw_PicFromWad (const char *name);
|
||||
void gl_Draw_Pic (int x, int y, struct qpic_s *pic);
|
||||
void gl_Draw_FitPic (int x, int y, int width, int height, struct qpic_s *pic);
|
||||
void gl_Draw_Picf (float x, float y, struct qpic_s *pic);
|
||||
void gl_Draw_SubPic(int x, int y, struct qpic_s *pic,
|
||||
int srcx, int srcy, int width, int height);
|
||||
int gl_Draw_AddFont (struct font_s *font);
|
||||
void gl_Draw_Glyph (int x, int y, int fontid, int glyphid, int c);
|
||||
|
||||
void GL_Set2D (void);
|
||||
void GL_Set2DScaled (void);
|
||||
void GL_End2D (void);
|
||||
void GL_DrawReset (void);
|
||||
void GL_FlushText (void);
|
||||
|
||||
|
|
37
include/QF/GL/qf_fisheye.h
Normal file
37
include/QF/GL/qf_fisheye.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
qf_fisheye.h
|
||||
|
||||
GL screen fisheye
|
||||
|
||||
Copyright (C) 2022 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2022/3/25
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GL_qf_fisheye_h
|
||||
#define __QF_GL_qf_fisheye_h
|
||||
|
||||
void gl_InitFisheye (void);
|
||||
struct framebuffer_s;
|
||||
void gl_FisheyeScreen (struct framebuffer_s *fb);
|
||||
|
||||
#endif//__QF_GL_qf_fisheye_h
|
|
@ -154,6 +154,7 @@ QFGL_NEED (void, glFogfv, (GLenum pname, const GLfloat * params))
|
|||
QFGL_NEED (void, glFogi, (GLenum pname, GLint param))
|
||||
QFGL_DONT_NEED (void, glFogiv, (GLenum pname, const GLint * params))
|
||||
QFGL_NEED (void, glFrontFace, (GLenum mode))
|
||||
QFGL_NEED (void, glGenerateMipmap, (GLenum target))
|
||||
QFGL_NEED (void, glFrustum, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val))
|
||||
QFGL_NEED (GLuint, glGenLists, (GLsizei range))
|
||||
QFGL_NEED (void, glGenTextures, (GLsizei n, GLuint * textures))
|
||||
|
@ -416,7 +417,20 @@ QFGL_NEED (void, glVertexPointer, (GLint size, GLenum type, GLsizei stride, cons
|
|||
QFGL_NEED (void, glViewport, (GLint x, GLint y, GLsizei width, GLsizei height))
|
||||
|
||||
// ATI Extensions
|
||||
QFGL_WANT (void, glPNTrianglesiATI, (GLenum pname, GLint param))
|
||||
QFGL_WANT (void, glPNTrianglesiATI, (GLint x, GLint y))
|
||||
|
||||
// frame buffers
|
||||
QFGL_DONT_NEED (GLboolean, glIsFramebuffer, (GLuint framebuffer))
|
||||
QFGL_NEED (void, glBindFramebuffer, (GLenum target, GLuint framebuffer))
|
||||
QFGL_NEED (void, glDeleteFramebuffers, (GLsizei n, const GLuint *framebuffers))
|
||||
QFGL_NEED (void, glGenFramebuffers, (GLsizei n, GLuint *framebuffers))
|
||||
QFGL_DONT_NEED (GLenum, glCheckFramebufferStatus, (GLenum target))
|
||||
QFGL_DONT_NEED (void, glFramebufferTexture1D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level))
|
||||
QFGL_NEED (void, glFramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level))
|
||||
QFGL_DONT_NEED (void, glFramebufferTexture3D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset))
|
||||
QFGL_DONT_NEED (void, glFramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer))
|
||||
QFGL_DONT_NEED (void, glGetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint *params))
|
||||
|
||||
|
||||
#ifdef UNDEF_QFGL_DONT_NEED
|
||||
#undef QFGL_DONT_NEED
|
||||
|
|
|
@ -44,6 +44,7 @@ typedef struct glsliqm_s {
|
|||
iqmvertexarray *color;
|
||||
} gliqm_t;
|
||||
|
||||
void gl_R_DrawIQMModel (entity_t *ent);
|
||||
struct entity_s;
|
||||
void gl_R_DrawIQMModel (struct entity_s ent);
|
||||
|
||||
#endif//__QF_GL_qf_iqm_h
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#ifndef __QF_GL_lightmap_h
|
||||
#define __QF_GL_lightmap_h
|
||||
|
||||
#include "QF/GL/types.h"
|
||||
|
||||
// LordHavoc: since lightmaps are now allocated only as needed, allow a ridiculous number :)
|
||||
#define MAX_LIGHTMAPS 1024
|
||||
#define BLOCK_WIDTH 64
|
||||
|
@ -40,16 +42,20 @@ typedef struct glRect_s {
|
|||
extern int lm_src_blend, lm_dest_blend;
|
||||
extern model_t *gl_currentmodel;
|
||||
|
||||
extern int gl_lightmap_textures;
|
||||
extern qboolean gl_lightmap_modified[MAX_LIGHTMAPS];
|
||||
extern instsurf_t *gl_lightmap_polys[MAX_LIGHTMAPS];
|
||||
extern GLuint gl_lightmap_textures[MAX_LIGHTMAPS];
|
||||
extern bool gl_lightmap_modified[MAX_LIGHTMAPS];
|
||||
extern instsurf_t *gl_lightmap_polys;
|
||||
extern glRect_t gl_lightmap_rectchange[MAX_LIGHTMAPS];
|
||||
|
||||
void GL_BuildSurfaceDisplayList (msurface_t *fa);
|
||||
void gl_lightmap_init (void);
|
||||
void GL_BuildLightmaps (struct model_s **models, int num_models);
|
||||
void R_BlendLightmaps (void);
|
||||
void R_CalcLightmaps (void);
|
||||
extern void (*R_BuildLightMap) (msurface_t *surf);
|
||||
void gl_R_BlendLightmaps (void);
|
||||
void gl_R_CalcLightmaps (void);
|
||||
struct transform_s;
|
||||
extern void (*gl_R_BuildLightMap) (const vec4f_t *transform,
|
||||
mod_brush_t *brush, msurface_t *surf);
|
||||
int gl_R_LightmapTexture (void) __attribute__((pure));
|
||||
void gl_R_FlushLightmaps (void);
|
||||
|
||||
|
||||
#endif // __QF_GL_lightmap_h
|
||||
|
|
46
include/QF/GL/qf_particles.h
Normal file
46
include/QF/GL/qf_particles.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
qf_particles.h
|
||||
|
||||
GL specific particles stuff
|
||||
|
||||
Copyright (C) 2012 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2012/1/15
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GL_qf_particles_h
|
||||
#define __QF_GL_qf_particles_h
|
||||
|
||||
#include "QF/GL/types.h"
|
||||
|
||||
typedef struct {
|
||||
float texcoord[2];
|
||||
float vertex[3];
|
||||
byte color[4];
|
||||
} partvert_t;
|
||||
|
||||
struct psystem_s;
|
||||
void gl_R_DrawParticles (struct psystem_s *pssystem);
|
||||
void gl_R_Particles_Init_Cvars (void);
|
||||
void gl_R_InitParticles (void);
|
||||
|
||||
#endif//__QF_GL_qf_particles_h
|
|
@ -29,6 +29,7 @@
|
|||
#define __QF_GL_rlight_h
|
||||
|
||||
extern float gl_bubble_sintable[], gl_bubble_costable[];
|
||||
void R_RenderDlights (void);
|
||||
void gl_R_RenderDlights (void);
|
||||
void gl_R_InitBubble (void);
|
||||
|
||||
#endif // __QF_GL_rlight_h
|
||||
|
|
|
@ -29,18 +29,30 @@
|
|||
#define __QF_GL_rmain_h
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/cvar.h"
|
||||
#include "QF/simd/types.h"
|
||||
|
||||
struct cvar_s;
|
||||
struct entity_s;
|
||||
|
||||
extern qboolean gl_envmap;
|
||||
extern int c_brush_polys, c_alias_polys;
|
||||
extern float r_world_matrix[16];
|
||||
|
||||
extern float gl_modelalpha;
|
||||
//extern vec3_t shadecolor;
|
||||
|
||||
extern void gl_multitexture_f (cvar_t *var);
|
||||
extern void gl_multitexture_f (void *data, const struct cvar_s *var);
|
||||
|
||||
void glrmain_init (void);
|
||||
void R_RotateForEntity (struct entity_s *e);
|
||||
void gl_R_RotateForEntity (const vec4f_t *mat);
|
||||
|
||||
struct model_s;
|
||||
struct entqueue_s;
|
||||
struct scene_s;
|
||||
void gl_R_NewScene (struct scene_s *scene);
|
||||
void gl_R_RenderView (void);
|
||||
void gl_R_RenderEntities (struct entqueue_s *queue);
|
||||
void gl_R_ClearState (void);
|
||||
void gl_R_ViewChanged (void);
|
||||
void gl_R_LineGraph (int x, int y, int *h_vals, int count, int height);
|
||||
void gl_R_InitGraphTextures (void);
|
||||
|
||||
#endif // __QF_GL_rmain_h
|
||||
|
|
|
@ -28,14 +28,35 @@
|
|||
#ifndef __QF_GL_rsurf_h
|
||||
#define __QF_GL_rsurf_h
|
||||
|
||||
extern int gl_mirrortexturenum; // quake texturenum, not gltexturenum
|
||||
typedef struct gltex_s {
|
||||
struct texture_s *texture;
|
||||
int gl_texturenum;
|
||||
int gl_fb_texturenum;
|
||||
struct instsurf_s *tex_chain;
|
||||
struct instsurf_s **tex_chain_tail;
|
||||
} gltex_t;
|
||||
|
||||
void gl_lightmap_init (void);
|
||||
void GL_BuildLightmaps (struct model_s **models, int num_models);
|
||||
struct model_s;
|
||||
struct entity_s;
|
||||
struct msurface_s;
|
||||
struct mod_brush_s;
|
||||
|
||||
void R_DrawBrushModel (struct entity_s *e);
|
||||
void R_DrawWorld (void);
|
||||
void GL_BuildSurfaceDisplayList (struct mod_brush_s *brush,
|
||||
struct msurface_s *fa);
|
||||
|
||||
void GL_EmitWaterPolys (msurface_t *fa);
|
||||
void gl_R_DrawBrushModel (struct entity_s e);
|
||||
void gl_R_DrawWorld (void);
|
||||
void gl_R_DrawWaterSurfaces (void);
|
||||
|
||||
void GL_EmitWaterPolys (struct msurface_s *fa);
|
||||
void gl_R_LoadSkys (const char *sky);
|
||||
|
||||
struct texture_s;
|
||||
void gl_R_AddTexture (struct texture_s *tx);
|
||||
void gl_R_ClearTextures (void);
|
||||
void gl_R_InitSurfaceChains (struct mod_brush_s *brush);
|
||||
|
||||
struct framebuffer_s;
|
||||
void gl_WarpScreen (struct framebuffer_s *fb);
|
||||
|
||||
#endif // __QF_GL_rsurf_h
|
||||
|
|
|
@ -30,13 +30,20 @@
|
|||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/model.h"
|
||||
#include "QF/GL/types.h"
|
||||
|
||||
#define SKY_TEX 2000 // Quake 2 environment sky
|
||||
|
||||
extern qboolean gl_skyloaded;
|
||||
extern bool gl_skyloaded;
|
||||
extern vec5_t gl_skyvec[6][4];
|
||||
extern GLuint gl_solidskytexture;
|
||||
extern GLuint gl_alphaskytexture;
|
||||
|
||||
void R_DrawSky (void);
|
||||
void R_DrawSkyChain (const instsurf_t *s);
|
||||
struct texture_s;
|
||||
|
||||
void gl_R_InitSky (struct texture_s *mt);
|
||||
void gl_R_DrawSky (void);
|
||||
void gl_R_DrawSkyChain (const instsurf_t *s);
|
||||
void gl_R_LoadSkys (const char *skyname);
|
||||
|
||||
#endif // __QF_GL_sky_h
|
||||
|
|
37
include/QF/GL/qf_sprite.h
Normal file
37
include/QF/GL/qf_sprite.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
qf_sprite.h
|
||||
|
||||
GL specific sprite model stuff
|
||||
|
||||
Copyright (C) 2021 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2021/7/22
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GL_qf_sprite_h
|
||||
#define __QF_GL_qf_sprite_h
|
||||
|
||||
struct entity_s;
|
||||
void gl_R_InitSprites (void);
|
||||
extern void (*gl_R_DrawSpriteModel) (struct entity_s ent);
|
||||
|
||||
#endif//__QF_GL_qf_sprite_h
|
|
@ -29,6 +29,7 @@
|
|||
#define __gl_textures_h
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/GL/types.h"
|
||||
|
||||
#define MAX_GLTEXTURES 2048
|
||||
|
||||
|
@ -37,17 +38,32 @@ extern int gl_solid_format;
|
|||
extern int gl_lightmap_format;
|
||||
extern int gl_filter_min;
|
||||
extern int gl_filter_max;
|
||||
extern qboolean gl_Anisotropy;
|
||||
extern bool gl_Anisotropy;
|
||||
extern float gl_aniso;
|
||||
extern int gl_part_tex;
|
||||
extern GLuint gl_part_tex;
|
||||
struct tex_s;
|
||||
|
||||
void GL_Upload8 (const byte *data, int width, int height, qboolean mipmap, qboolean alpha);
|
||||
void GL_Upload8_EXT (const byte *data, int width, int height, qboolean mipmap, qboolean alpha);
|
||||
int GL_LoadTexture (const char *identifier, int width, int height, const byte *data, qboolean mipmap, qboolean alpha, int bytesperpixel);
|
||||
void GL_Upload8 (const byte *data, int width, int height, bool mipmap, bool alpha);
|
||||
void GL_Upload8_EXT (const byte *data, int width, int height, bool mipmap, bool alpha);
|
||||
int GL_LoadTexture (const char *identifier, int width, int height, const byte *data, bool mipmap, bool alpha, int bytesperpixel);
|
||||
int GL_LoadTex (const char *identifier, int mips, struct tex_s *tex);
|
||||
int GL_FindTexture (const char *identifier);
|
||||
|
||||
void GL_TextureMode_f (void);
|
||||
|
||||
void GL_ReleaseTexture (int tex);
|
||||
void GDT_Init (void);
|
||||
|
||||
void GL_TextureInit (void);
|
||||
|
||||
typedef struct scrap_s scrap_t;
|
||||
|
||||
scrap_t *GL_CreateScrap (int size, int format, int linear);
|
||||
void GL_DestroyScrap (scrap_t *scrap);
|
||||
void GL_ScrapClear (scrap_t *scrap);
|
||||
int GL_ScrapTexture (scrap_t *scrap) __attribute__((pure));
|
||||
struct subpic_s *GL_ScrapSubpic (scrap_t *scrap, int width, int height);
|
||||
void GL_SubpicDelete (struct subpic_s *subpic);
|
||||
void GL_SubpicUpdate (struct subpic_s *subpic, byte *data, int batch);
|
||||
void GL_ScrapFlush (scrap_t *scrap);
|
||||
|
||||
#endif // __gl_textures_h
|
||||
|
|
|
@ -39,14 +39,13 @@ extern QF_glActiveTexture qglActiveTexture;
|
|||
extern QF_glMultiTexCoord2f qglMultiTexCoord2f;
|
||||
extern QF_glMultiTexCoord2fv qglMultiTexCoord2fv;
|
||||
extern int gl_mtex_active_tmus;
|
||||
extern qboolean gl_mtex_capable;
|
||||
extern qboolean gl_mtex_fullbright;
|
||||
extern bool gl_mtex_capable;
|
||||
extern bool gl_mtex_fullbright;
|
||||
extern GLenum gl_mtex_enum;
|
||||
extern qboolean gl_combine_capable;
|
||||
extern bool gl_combine_capable;
|
||||
extern float gl_rgb_scale;
|
||||
extern int gl_texture_number;
|
||||
|
||||
extern qboolean gl_feature_mach64;
|
||||
extern bool gl_feature_mach64;
|
||||
extern float gldepthmin, gldepthmax;
|
||||
extern int gl_use_bgra;
|
||||
extern int gl_tess;
|
||||
|
|
|
@ -43,8 +43,7 @@
|
|||
#undef QFGL_NEED
|
||||
#undef QFGL_WANT
|
||||
|
||||
qboolean EGLF_Init (void);
|
||||
qboolean EGLF_FindFunctions (void);
|
||||
void *QFEGL_ProcAddress (void *handle, const char *name, qboolean);
|
||||
bool EGLF_FindFunctions (void);
|
||||
void *QFEGL_ProcAddress (void *handle, const char *name, bool);
|
||||
|
||||
#endif // __QF_GLSL_funcs_h_
|
||||
|
|
|
@ -39,7 +39,8 @@ typedef struct aliasvrt_s {
|
|||
} aliasvrt_t;
|
||||
|
||||
void glsl_R_InitAlias (void);
|
||||
void glsl_R_DrawAlias (void);
|
||||
struct entity_s;
|
||||
void glsl_R_DrawAlias (struct entity_s ent);
|
||||
void glsl_R_AliasBegin (void);
|
||||
void glsl_R_AliasEnd (void);
|
||||
|
||||
|
|
|
@ -30,8 +30,19 @@
|
|||
#ifndef __QF_GLSL_qf_bsp_h
|
||||
#define __QF_GLSL_qf_bsp_h
|
||||
|
||||
#include "QF/simd/types.h"
|
||||
#include "QF/GLSL/types.h"
|
||||
|
||||
typedef struct glsltex_s {
|
||||
struct texture_s *texture;
|
||||
int gl_texturenum;
|
||||
int sky_tex[2];
|
||||
struct instsurf_s *tex_chain;
|
||||
struct instsurf_s **tex_chain_tail;
|
||||
struct elechain_s *elechain;
|
||||
struct elechain_s **elechain_tail;
|
||||
} glsltex_t;
|
||||
|
||||
typedef struct bspvert_s {
|
||||
quat_t vertex;
|
||||
quat_t tlst;
|
||||
|
@ -47,17 +58,22 @@ typedef struct elements_s {
|
|||
typedef struct elechain_s {
|
||||
struct elechain_s *_next;
|
||||
struct elechain_s *next;
|
||||
int index;
|
||||
int model_index;
|
||||
elements_t *elements;
|
||||
vec_t *transform;
|
||||
vec4f_t *transform;
|
||||
float *color;
|
||||
} elechain_t;
|
||||
|
||||
struct model_s;
|
||||
|
||||
void glsl_R_ClearElements (void);
|
||||
void glsl_R_DrawWorld (void);
|
||||
void glsl_R_DrawSky (void);
|
||||
void glsl_R_RegisterTextures (model_t **models, int num_models);
|
||||
void glsl_R_BuildDisplayLists (model_t **models, int num_models);
|
||||
void glsl_R_DrawWaterSurfaces (void);
|
||||
void glsl_R_RegisterTextures (struct model_s **models, int num_models);
|
||||
void glsl_R_BuildDisplayLists (struct model_s **models, int num_models);
|
||||
void glsl_R_InitBsp (void);
|
||||
void glsl_R_ShutdownBsp (void);
|
||||
void glsl_R_LoadSkys (const char *sky);
|
||||
|
||||
#endif//__QF_GLSL_qf_bsp_h
|
||||
|
|
|
@ -25,8 +25,43 @@
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __gl_draw_h
|
||||
#define __gl_draw_h
|
||||
#ifndef __QF_GLSL_qf_draw_h
|
||||
#define __QF_GLSL_qf_draw_h
|
||||
|
||||
struct qpic_s;
|
||||
struct font_s;
|
||||
struct draw_charbuffer_s;
|
||||
|
||||
void glsl_Draw_Init (void);
|
||||
void glsl_Draw_Shutdown (void);
|
||||
void glsl_Draw_CharBuffer (int x, int y, struct draw_charbuffer_s *buffer);
|
||||
void glsl_Draw_SetScale (int scale);
|
||||
void glsl_Draw_Character (int x, int y, unsigned ch);
|
||||
void glsl_Draw_String (int x, int y, const char *str);
|
||||
void glsl_Draw_nString (int x, int y, const char *str, int count);
|
||||
void glsl_Draw_AltString (int x, int y, const char *str);
|
||||
void glsl_Draw_ConsoleBackground (int lines, byte alpha);
|
||||
void glsl_Draw_Crosshair (void);
|
||||
void glsl_Draw_CrosshairAt (int ch, int x, int y);
|
||||
void glsl_Draw_TileClear (int x, int y, int w, int h);
|
||||
void glsl_Draw_Fill (int x, int y, int w, int h, int c);
|
||||
void glsl_Draw_Line (int x0, int y0, int x1, int y1, int c);
|
||||
void glsl_LineGraph (int x, int y, int *h_vals, int count, int height);
|
||||
void glsl_Draw_TextBox (int x, int y, int width, int lines, byte alpha);
|
||||
void glsl_Draw_FadeScreen (void);
|
||||
void glsl_Draw_BlendScreen (quat_t color);
|
||||
struct qpic_s *glsl_Draw_CachePic (const char *path, bool alpha);
|
||||
void glsl_Draw_UncachePic (const char *path);
|
||||
struct qpic_s *glsl_Draw_MakePic (int width, int height, const byte *data);
|
||||
void glsl_Draw_DestroyPic (struct qpic_s *pic);
|
||||
struct qpic_s *glsl_Draw_PicFromWad (const char *name);
|
||||
void glsl_Draw_Pic (int x, int y, struct qpic_s *pic);
|
||||
void glsl_Draw_FitPic (int x, int y, int width, int height, struct qpic_s *pic);
|
||||
void glsl_Draw_Picf (float x, float y, struct qpic_s *pic);
|
||||
void glsl_Draw_SubPic(int x, int y, struct qpic_s *pic,
|
||||
int srcx, int srcy, int width, int height);
|
||||
int glsl_Draw_AddFont (struct font_s *font);
|
||||
void glsl_Draw_Glyph (int x, int y, int fontid, int glyphid, int c);
|
||||
|
||||
void GLSL_Set2D (void);
|
||||
void GLSL_Set2DScaled (void);
|
||||
|
@ -34,4 +69,4 @@ void GLSL_End2D (void);
|
|||
void GLSL_DrawReset (void);
|
||||
void GLSL_FlushText (void);
|
||||
|
||||
#endif//__gl_draw_h
|
||||
#endif//__QF_GLSL_qf_draw_h
|
||||
|
|
37
include/QF/GLSL/qf_fisheye.h
Normal file
37
include/QF/GLSL/qf_fisheye.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
qf_fisheye.h
|
||||
|
||||
GLSL screen fisheye
|
||||
|
||||
Copyright (C) 2022 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2022/3/25
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GLSL_qf_fisheye_h
|
||||
#define __QF_GLSL_qf_fisheye_h
|
||||
|
||||
void glsl_InitFisheye (void);
|
||||
struct framebuffer_s;
|
||||
void glsl_FisheyeScreen (struct framebuffer_s *fb);
|
||||
|
||||
#endif//__QF_GLSL_qf_fisheye_h
|
|
@ -57,6 +57,8 @@ QFGL_NEED (void, glDepthMask, (GLboolean flag))
|
|||
QFGL_NEED (void, glDepthRangef, (GLclampf zNear, GLclampf zFar))
|
||||
QFGL_NEED (void, glDetachShader, (GLuint program, GLuint shader))
|
||||
QFGL_NEED (void, glDisable, (GLenum cap))
|
||||
QFGL_NEED (void, glCreateVertexArrays, (GLsizei n, GLuint *arrays))
|
||||
QFGL_NEED (void, glBindVertexArray, (GLuint array))
|
||||
QFGL_NEED (void, glDisableVertexAttribArray, (GLuint index))
|
||||
QFGL_NEED (void, glDrawArrays, (GLenum mode, GLint first, GLsizei count))
|
||||
QFGL_NEED (void, glDrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices))
|
||||
|
|
|
@ -40,7 +40,8 @@ typedef struct glsliqm_s {
|
|||
} glsliqm_t;
|
||||
|
||||
void glsl_R_InitIQM (void);
|
||||
void glsl_R_DrawIQM (void);
|
||||
struct entity_s;
|
||||
void glsl_R_DrawIQM (struct entity_s ent);
|
||||
void glsl_R_IQMBegin (void);
|
||||
void glsl_R_IQMEnd (void);
|
||||
|
||||
|
|
|
@ -33,11 +33,13 @@
|
|||
#define BLOCK_WIDTH 64
|
||||
#define BLOCK_HEIGHT 64
|
||||
|
||||
void glsl_lightmap_init (void);
|
||||
void glsl_Lightmap_Shutdown (void);
|
||||
struct transform_s;
|
||||
void glsl_R_BuildLightmaps (struct model_s **models, int num_models);
|
||||
void glsl_R_CalcLightmaps (void);
|
||||
extern void (*glsl_R_BuildLightMap) (msurface_t *surf);
|
||||
int glsl_R_LightmapTexture (void);
|
||||
extern void (*glsl_R_BuildLightMap) (const vec4f_t *transform,
|
||||
mod_brush_t *brush, msurface_t *surf);
|
||||
int glsl_R_LightmapTexture (void) __attribute__((pure));
|
||||
void glsl_R_FlushLightmaps (void);
|
||||
|
||||
#endif//__QF_GLSL_lightmap_h
|
||||
|
|
40
include/QF/GLSL/qf_main.h
Normal file
40
include/QF/GLSL/qf_main.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
qf_main.h
|
||||
|
||||
glsl main stuff from the renderer.
|
||||
|
||||
Copyright (C) 2021 Bill Currie <bill@taniwha.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
|
||||
#ifndef __QF_GLSL_qf_main_h
|
||||
#define __QF_GLSL_qf_main_h
|
||||
|
||||
struct entqueue_s;
|
||||
struct scene_s;
|
||||
|
||||
void glsl_R_NewScene (struct scene_s *scene);
|
||||
void glsl_R_RenderEntities (struct entqueue_s *queue);
|
||||
void glsl_R_RenderView (void);
|
||||
void glsl_R_ClearState (void);
|
||||
void glsl_R_ViewChanged (void);
|
||||
|
||||
#endif//__QF_GLSL_qf_main_h
|
|
@ -27,8 +27,8 @@
|
|||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GLSL_qf_bsp_h
|
||||
#define __QF_GLSL_qf_bsp_h
|
||||
#ifndef __QF_GLSL_qf_particles_h
|
||||
#define __QF_GLSL_qf_particles_h
|
||||
|
||||
#include "QF/GLSL/types.h"
|
||||
|
||||
|
@ -38,4 +38,10 @@ typedef struct {
|
|||
byte color[4];
|
||||
} partvert_t;
|
||||
|
||||
#endif//__QF_GLSL_qf_bsp_h
|
||||
struct psystem_s;
|
||||
void glsl_R_DrawParticles (struct psystem_s *psystem);
|
||||
void glsl_R_Particles_Init_Cvars (void);
|
||||
void glsl_R_InitParticles (void);
|
||||
void glsl_R_ShutdownParticles (void);
|
||||
|
||||
#endif//__QF_GLSL_qf_particles_h
|
||||
|
|
39
include/QF/GLSL/qf_sprite.h
Normal file
39
include/QF/GLSL/qf_sprite.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
qf_sprite.h
|
||||
|
||||
GLSL specific sprite model stuff
|
||||
|
||||
Copyright (C) 2021 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2021/7/22
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GLSL_qf_sprite_h
|
||||
#define __QF_GLSL_qf_sprite_h
|
||||
|
||||
struct entity_s;
|
||||
void glsl_R_DrawSprite (struct entity_s ent);
|
||||
void glsl_R_SpriteBegin (void);
|
||||
void glsl_R_SpriteEnd (void);
|
||||
void glsl_R_InitSprites (void);
|
||||
|
||||
#endif//__QF_GLSL_qf_sprite_h
|
|
@ -31,34 +31,27 @@
|
|||
#include "QF/qtypes.h"
|
||||
|
||||
typedef struct scrap_s scrap_t;
|
||||
typedef struct subpic_s {
|
||||
const struct subpic_s * const next;
|
||||
const scrap_t * const scrap;
|
||||
const struct vrect_s * const rect;
|
||||
const int tnum; ///< texture number
|
||||
const int width; ///< requested width
|
||||
const int height; ///< requested height
|
||||
const float size; ///< size factor for tex coords (mult)
|
||||
} subpic_t;
|
||||
struct tex_s;
|
||||
|
||||
int GLSL_LoadQuakeTexture (const char *identifier, int width, int height,
|
||||
byte *data);
|
||||
const byte *data);
|
||||
struct texture_s;
|
||||
int GLSL_LoadQuakeMipTex (const struct texture_s *tex);
|
||||
int GLSL_LoadRGBTexture (const char *identifier, int width, int height,
|
||||
byte *data);
|
||||
const byte *data);
|
||||
int GLSL_LoadRGBATexture (const char *identifier, int width, int height,
|
||||
byte *data);
|
||||
const byte *data);
|
||||
int GLSL_LoadTex (const char *identifier, int mips, struct tex_s *tex);
|
||||
void GLSL_ReleaseTexture (int tex);
|
||||
void GLSL_TextureInit (void);
|
||||
|
||||
scrap_t *GLSL_CreateScrap (int size, int format, int linear);
|
||||
void GLSL_DestroyScrap (scrap_t *scrap);
|
||||
void GLSL_ScrapClear (scrap_t *scrap);
|
||||
int GLSL_ScrapTexture (scrap_t *scrap);
|
||||
subpic_t *GLSL_ScrapSubpic (scrap_t *scrap, int width, int height); //XXX slow!
|
||||
void GLSL_SubpicDelete (subpic_t *subpic); //XXX slow!
|
||||
void GLSL_SubpicUpdate (subpic_t *subpic, byte *data, int batch);
|
||||
int GLSL_ScrapTexture (scrap_t *scrap) __attribute__((pure));
|
||||
struct subpic_s *GLSL_ScrapSubpic (scrap_t *scrap, int width, int height);
|
||||
void GLSL_SubpicDelete (struct subpic_s *subpic);
|
||||
void GLSL_SubpicUpdate (struct subpic_s *subpic, byte *data, int batch);
|
||||
void GLSL_ScrapFlush (scrap_t *scrap);
|
||||
|
||||
#endif//__QF_GLSL_textures_h
|
||||
|
|
|
@ -38,7 +38,7 @@ typedef struct shader_s {
|
|||
|
||||
typedef struct shaderparam_s {
|
||||
const char *name;
|
||||
qboolean uniform;
|
||||
bool uniform;
|
||||
int location;
|
||||
} shaderparam_t;
|
||||
|
||||
|
@ -46,6 +46,7 @@ extern int glsl_palette;
|
|||
extern int glsl_colormap;
|
||||
|
||||
void GLSL_Init_Common (void);
|
||||
void GLSL_Shutdown_Common (void);
|
||||
|
||||
int GLSL_CompileShader (const char *name, const shader_t *shader, int type);
|
||||
int GLSL_LinkProgram (const char *name, int vert, int frag);
|
||||
|
@ -62,6 +63,7 @@ void GLSL_DumpAttribArrays (void);
|
|||
\return 0 for failure, 1 for success.
|
||||
*/
|
||||
int GLSL_RegisterEffect (const char *name, const char *src);
|
||||
void GLSL_ShaderShutdown (void);
|
||||
|
||||
/* Build a shader program script from a list of effect keys.
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
/*
|
||||
client.h
|
||||
qf_warp.h
|
||||
|
||||
Client definitions
|
||||
GLSL screen warp
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
Copyright (C) 2022 Bill Currie <bill@taniwha.org>
|
||||
|
||||
Author: Bill Currie <bill@taniwha.org>
|
||||
Date: 2022/3/24
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
@ -24,15 +27,11 @@
|
|||
Boston, MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
#ifndef __QF_GLSL_qf_warp_h
|
||||
#define __QF_GLSL_qf_warp_h
|
||||
|
||||
#ifndef _CL_TENT_H
|
||||
#define _CL_TENT_H
|
||||
void glsl_InitWarp (void);
|
||||
struct framebuffer_s;
|
||||
void glsl_WarpScreen (struct framebuffer_s *fb);
|
||||
|
||||
void CL_TEnts_Init (void);
|
||||
void CL_ClearEnts (void);
|
||||
void CL_ClearTEnts (void);
|
||||
void CL_Init_Entity (struct entity_s *ent);
|
||||
void CL_ParseTEnt (void);
|
||||
void CL_UpdateTEnts (void);
|
||||
|
||||
#endif
|
||||
#endif//__QF_GLSL_qf_warp_h
|
|
@ -3,8 +3,8 @@
|
|||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
|
||||
*/
|
||||
|
||||
#ifndef __QFGL_types_h
|
||||
#define __QFGL_types_h
|
||||
#ifndef __QF_GLSL_types_h
|
||||
#define __QF_GLSL_types_h
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
|||
# include <windows.h>
|
||||
# define GLAPIENTRY WINAPI
|
||||
# undef LoadImage
|
||||
# undef E_POINTER
|
||||
# else
|
||||
# ifdef APIENTRY
|
||||
# define GLAPIENTRY APIENTRY
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
pkgincludedir = $(includedir)/QF
|
||||
nobase_pkginclude_HEADERS = \
|
||||
alloc.h bspfile.h cbuf.h cdaudio.h checksum.h clip_hull.h cmd.h \
|
||||
console.h crc.h csqc.h cvar.h dstring.h draw.h gib.h hash.h hl.h \
|
||||
idparse.h image.h in_event.h info.h input.h iqm.h joystick.h keys.h \
|
||||
link.h llist.h locs.h mathlib.h mdfour.h mersenne.h model.h modelgen.h \
|
||||
msg.h object.h pak.h pakfile.h pcx.h png.h plugin.h pr_comp.h pr_debug.h \
|
||||
pr_obj.h progs.h qargs.h qdefs.h qendian.h qfplist.h qtypes.h quakefs.h \
|
||||
quakeio.h render.h riff.h ruamoko.h screen.h script.h segtext.h set.h \
|
||||
sizebuf.h skin.h sound.h spritegn.h sys.h teamplay.h tga.h uint32.h va.h \
|
||||
ver_check.h vid.h vrect.h view.h wad.h wadfile.h winding.h zone.h \
|
||||
\
|
||||
GL/ati.h GL/defines.h GL/extensions.h GL/funcs.h GL/qf_draw.h \
|
||||
GL/qf_explosions.h GL/qf_funcs_list.h GL/qf_iqm.h GL/qf_lightmap.h \
|
||||
GL/qf_rlight.h GL/qf_rmain.h GL/qf_rsurf.h GL/qf_sky.h GL/qf_textures.h \
|
||||
GL/qf_vid.h GL/types.h \
|
||||
\
|
||||
GLSL/defines.h GLSL/funcs.h GLSL/qf_alias.h GLSL/qf_bsp.h GLSL/qf_draw.h \
|
||||
GLSL/qf_funcs_list.h GLSL/qf_iqm.h GLSL/qf_lightmap.h GLSL/qf_particles.h \
|
||||
GLSL/qf_textures.h GLSL/qf_vid.h GLSL/types.h \
|
||||
\
|
||||
math/dual.h math/half.h math/matrix3.h math/matrix4.h math/quaternion.h \
|
||||
math/vector.h \
|
||||
\
|
||||
plugin/cd.h plugin/console.h plugin/general.h plugin/input.h \
|
||||
plugin/snd_output.h plugin/snd_render.h plugin/vid_render.h
|
272
include/QF/Makemodule.am
Normal file
272
include/QF/Makemodule.am
Normal file
|
@ -0,0 +1,272 @@
|
|||
include_qf = \
|
||||
include/QF/alloc.h \
|
||||
include/QF/bspfile.h \
|
||||
include/QF/cbuf.h \
|
||||
include/QF/cdaudio.h \
|
||||
include/QF/cexpr.h \
|
||||
include/QF/checksum.h \
|
||||
include/QF/clip_hull.h \
|
||||
include/QF/cmd.h \
|
||||
include/QF/cmem.h \
|
||||
include/QF/console.h \
|
||||
include/QF/crc.h \
|
||||
include/QF/csqc.h \
|
||||
include/QF/cvar.h \
|
||||
include/QF/darray.h \
|
||||
include/QF/dstring.h \
|
||||
include/QF/draw.h \
|
||||
include/QF/ecs.h \
|
||||
include/QF/fbsearch.h \
|
||||
include/QF/gib.h \
|
||||
include/QF/hash.h \
|
||||
include/QF/heapsort.h \
|
||||
include/QF/idparse.h \
|
||||
include/QF/image.h \
|
||||
include/QF/info.h \
|
||||
include/QF/input.h \
|
||||
include/QF/iqm.h \
|
||||
include/QF/joystick.h \
|
||||
include/QF/keys.h \
|
||||
include/QF/link.h \
|
||||
include/QF/listener.h \
|
||||
include/QF/llist.h \
|
||||
include/QF/mathlib.h \
|
||||
include/QF/mdfour.h \
|
||||
include/QF/mersenne.h \
|
||||
include/QF/model.h \
|
||||
include/QF/modelgen.h \
|
||||
include/QF/msg.h \
|
||||
include/QF/object.h \
|
||||
include/QF/pak.h \
|
||||
include/QF/pakfile.h \
|
||||
include/QF/pcx.h \
|
||||
include/QF/png.h \
|
||||
include/QF/plist.h \
|
||||
include/QF/plugin.h \
|
||||
include/QF/pqueue.h \
|
||||
include/QF/progs.h \
|
||||
include/QF/pvsfile.h \
|
||||
include/QF/qargs.h \
|
||||
include/QF/qdefs.h \
|
||||
include/QF/qendian.h \
|
||||
include/QF/qtypes.h \
|
||||
include/QF/quakefs.h \
|
||||
include/QF/quakeio.h \
|
||||
include/QF/render.h \
|
||||
include/QF/riff.h \
|
||||
include/QF/ringbuffer.h \
|
||||
include/QF/ruamoko.h \
|
||||
include/QF/screen.h \
|
||||
include/QF/script.h \
|
||||
include/QF/segtext.h \
|
||||
include/QF/set.h \
|
||||
include/QF/sizebuf.h \
|
||||
include/QF/skin.h \
|
||||
include/QF/sound.h \
|
||||
include/QF/spritegn.h \
|
||||
include/QF/sys.h \
|
||||
include/QF/sys_developer.h \
|
||||
include/QF/teamplay.h \
|
||||
include/QF/tga.h \
|
||||
include/QF/va.h \
|
||||
include/QF/ver_check.h \
|
||||
include/QF/vid.h \
|
||||
include/QF/wad.h \
|
||||
include/QF/wadfile.h \
|
||||
include/QF/winding.h \
|
||||
include/QF/zone.h
|
||||
|
||||
include_qf_ecs = \
|
||||
include/QF/ecs/component.h \
|
||||
include/QF/ecs/entity.h \
|
||||
include/QF/ecs/hierarchy.h
|
||||
|
||||
include_qf_gl = \
|
||||
include/QF/GL/ati.h \
|
||||
include/QF/GL/defines.h \
|
||||
include/QF/GL/extensions.h \
|
||||
include/QF/GL/funcs.h \
|
||||
include/QF/GL/qf_alias.h \
|
||||
include/QF/GL/qf_draw.h \
|
||||
include/QF/GL/qf_fisheye.h \
|
||||
include/QF/GL/qf_funcs_list.h \
|
||||
include/QF/GL/qf_iqm.h \
|
||||
include/QF/GL/qf_lightmap.h \
|
||||
include/QF/GL/qf_particles.h \
|
||||
include/QF/GL/qf_rlight.h \
|
||||
include/QF/GL/qf_rmain.h \
|
||||
include/QF/GL/qf_rsurf.h \
|
||||
include/QF/GL/qf_sky.h \
|
||||
include/QF/GL/qf_sprite.h \
|
||||
include/QF/GL/qf_textures.h \
|
||||
include/QF/GL/qf_vid.h \
|
||||
include/QF/GL/types.h
|
||||
|
||||
include_qf_glsl = \
|
||||
include/QF/GLSL/defines.h \
|
||||
include/QF/GLSL/funcs.h \
|
||||
include/QF/GLSL/qf_alias.h \
|
||||
include/QF/GLSL/qf_bsp.h \
|
||||
include/QF/GLSL/qf_draw.h \
|
||||
include/QF/GLSL/qf_fisheye.h \
|
||||
include/QF/GLSL/qf_funcs_list.h \
|
||||
include/QF/GLSL/qf_iqm.h \
|
||||
include/QF/GLSL/qf_lightmap.h \
|
||||
include/QF/GLSL/qf_main.h \
|
||||
include/QF/GLSL/qf_particles.h \
|
||||
include/QF/GLSL/qf_sprite.h \
|
||||
include/QF/GLSL/qf_textures.h \
|
||||
include/QF/GLSL/qf_vid.h \
|
||||
include/QF/GLSL/qf_warp.h \
|
||||
include/QF/GLSL/types.h
|
||||
|
||||
include_qf_input = \
|
||||
include/QF/input/binding.h \
|
||||
include/QF/input/event.h \
|
||||
include/QF/input/event_names.h \
|
||||
include/QF/input/imt.h
|
||||
|
||||
include_qf_math = \
|
||||
include/QF/math/bitop.h \
|
||||
include/QF/math/dual.h \
|
||||
include/QF/math/half.h \
|
||||
include/QF/math/matrix3.h \
|
||||
include/QF/math/matrix4.h \
|
||||
include/QF/math/quaternion.h \
|
||||
include/QF/math/vector.h
|
||||
|
||||
include_qf_plugin = \
|
||||
include/QF/plugin/cd.h \
|
||||
include/QF/plugin/console.h \
|
||||
include/QF/plugin/general.h \
|
||||
include/QF/plugin/input.h \
|
||||
include/QF/plugin/snd_output.h \
|
||||
include/QF/plugin/snd_render.h \
|
||||
include/QF/plugin/vid_render.h
|
||||
|
||||
include_qf_progs = \
|
||||
include/QF/progs/pr_comp.h \
|
||||
include/QF/progs/pr_debug.h \
|
||||
include/QF/progs/pr_obj.h \
|
||||
include/QF/progs/pr_type.h \
|
||||
include/QF/progs/pr_type_names.h
|
||||
|
||||
include_qf_scene = \
|
||||
include/QF/scene/camera.h \
|
||||
include/QF/scene/entity.h \
|
||||
include/QF/scene/light.h \
|
||||
include/QF/scene/transform.h \
|
||||
include/QF/scene/scene.h \
|
||||
include/QF/scene/types.h
|
||||
|
||||
include_qf_simd = \
|
||||
include/QF/simd/mat4f.h \
|
||||
include/QF/simd/types.h \
|
||||
include/QF/simd/vec2d.h \
|
||||
include/QF/simd/vec2f.h \
|
||||
include/QF/simd/vec2i.h \
|
||||
include/QF/simd/vec4d.h \
|
||||
include/QF/simd/vec4f.h \
|
||||
include/QF/simd/vec4i.h
|
||||
|
||||
include_qf_ui = \
|
||||
include/QF/ui/canvas.h \
|
||||
include/QF/ui/font.h \
|
||||
include/QF/ui/inputline.h \
|
||||
include/QF/ui/passage.h \
|
||||
include/QF/ui/text.h \
|
||||
include/QF/ui/txtbuffer.h \
|
||||
include/QF/ui/view.h \
|
||||
include/QF/ui/vrect.h
|
||||
|
||||
include_qf_vulkan = \
|
||||
include/QF/Vulkan/barrier.h \
|
||||
include/QF/Vulkan/buffer.h \
|
||||
include/QF/Vulkan/capture.h \
|
||||
include/QF/Vulkan/command.h \
|
||||
include/QF/Vulkan/cvars.h \
|
||||
include/QF/Vulkan/debug.h \
|
||||
include/QF/Vulkan/descriptor.h \
|
||||
include/QF/Vulkan/device.h \
|
||||
include/QF/Vulkan/funclist.h \
|
||||
include/QF/Vulkan/image.h \
|
||||
include/QF/Vulkan/instance.h \
|
||||
include/QF/Vulkan/memory.h \
|
||||
include/QF/Vulkan/pipeline.h \
|
||||
include/QF/Vulkan/projection.h \
|
||||
include/QF/Vulkan/resource.h \
|
||||
include/QF/Vulkan/qf_alias.h \
|
||||
include/QF/Vulkan/qf_bsp.h \
|
||||
include/QF/Vulkan/qf_compose.h \
|
||||
include/QF/Vulkan/qf_draw.h \
|
||||
include/QF/Vulkan/qf_iqm.h \
|
||||
include/QF/Vulkan/qf_lighting.h \
|
||||
include/QF/Vulkan/qf_lightmap.h \
|
||||
include/QF/Vulkan/qf_main.h \
|
||||
include/QF/Vulkan/qf_matrices.h \
|
||||
include/QF/Vulkan/qf_model.h \
|
||||
include/QF/Vulkan/qf_output.h \
|
||||
include/QF/Vulkan/qf_palette.h \
|
||||
include/QF/Vulkan/qf_particles.h \
|
||||
include/QF/Vulkan/qf_scene.h \
|
||||
include/QF/Vulkan/qf_sprite.h \
|
||||
include/QF/Vulkan/qf_texture.h \
|
||||
include/QF/Vulkan/qf_translucent.h \
|
||||
include/QF/Vulkan/qf_vid.h \
|
||||
include/QF/Vulkan/scrap.h \
|
||||
include/QF/Vulkan/shader.h \
|
||||
include/QF/Vulkan/staging.h \
|
||||
include/QF/Vulkan/swapchain.h
|
||||
|
||||
# headers shared with ruamoko
|
||||
qfcc_include_qf = include/QF/input.h
|
||||
qfcc_include_qf_progs = include/QF/progs/pr_type_names.h
|
||||
qfcc_include_qf_input = \
|
||||
include/QF/input/binding.h \
|
||||
include/QF/input/imt.h
|
||||
|
||||
qf_includedir = $(includedir)/QF
|
||||
qf_gl_includedir = $(includedir)/QF/GL
|
||||
qf_glsl_includedir = $(includedir)/QF/GLSL
|
||||
qf_input_includedir = $(includedir)/QF/input
|
||||
qf_math_includedir = $(includedir)/QF/math
|
||||
qf_plugin_includedir = $(includedir)/QF/plugin
|
||||
qf_progs_includedir = $(includedir)/QF/progs
|
||||
qf_scene_includedir = $(includedir)/QF/scene
|
||||
qf_simd_includedir = $(includedir)/QF/simd
|
||||
qf_ui_includedir = $(includedir)/QF/ui
|
||||
qf_vulkan_includedir = $(includedir)/QF/Vulkan
|
||||
qf_include_HEADERS = @qfac_include_qf@
|
||||
qf_gl_include_HEADERS = @qfac_include_qf_gl@
|
||||
qf_glsl_include_HEADERS = @qfac_include_qf_glsl@
|
||||
qf_input_include_HEADERS = @qfac_include_qf_input@
|
||||
qf_math_include_HEADERS = @qfac_include_qf_math@
|
||||
qf_plugin_include_HEADERS = @qfac_include_qf_plugin@
|
||||
qf_progs_include_HEADERS = @qfac_include_qf_progs@
|
||||
qf_scene_include_HEADERS = @qfac_include_qf_scene@
|
||||
qf_simd_include_HEADERS = @qfac_include_qf_simd@
|
||||
qf_ui_include_HEADERS = @qfac_include_qf_ui@
|
||||
qf_vulkan_include_HEADERS = @qfac_include_qf_vulkan@
|
||||
|
||||
ruamoko_qf_includedir = $(ruamoko_includedir)/QF
|
||||
ruamoko_qf_input_includedir = $(ruamoko_includedir)/QF/input
|
||||
ruamoko_qf_progs_includedir = $(ruamoko_includedir)/QF/progs
|
||||
ruamoko_qf_include_HEADERS = @qfac_qfcc_include_qf@
|
||||
ruamoko_qf_input_include_HEADERS = @qfac_qfcc_include_qf_input@
|
||||
ruamoko_qf_progs_include_HEADERS = @qfac_qfcc_include_qf_progs@
|
||||
|
||||
EXTRA_DIST += \
|
||||
$(include_qf) \
|
||||
$(include_qf_ecs) \
|
||||
$(include_qf_gl) \
|
||||
$(include_qf_glsl) \
|
||||
$(include_qf_input) \
|
||||
$(include_qf_math) \
|
||||
$(include_qf_plugin) \
|
||||
$(include_qf_progs) \
|
||||
$(include_qf_scene) \
|
||||
$(include_qf_simd) \
|
||||
$(include_qf_ui) \
|
||||
$(include_qf_vulkan) \
|
||||
$(qfcc_include_qf) \
|
||||
$(qfcc_include_qf_input)
|
52
include/QF/Vulkan/barrier.h
Normal file
52
include/QF/Vulkan/barrier.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
#ifndef __QF_Vulkan_barrier_h
|
||||
#define __QF_Vulkan_barrier_h
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
typedef struct qfv_imagebarrier_s {
|
||||
VkPipelineStageFlags srcStages;
|
||||
VkPipelineStageFlags dstStages;
|
||||
VkImageMemoryBarrier barrier;
|
||||
} qfv_imagebarrier_t;
|
||||
|
||||
typedef struct qfv_bufferbarrier_s {
|
||||
VkPipelineStageFlags srcStages;
|
||||
VkPipelineStageFlags dstStages;
|
||||
VkBufferMemoryBarrier barrier;
|
||||
} qfv_bufferbarrier_t;
|
||||
|
||||
// image layout transitions
|
||||
enum {
|
||||
qfv_LT_Undefined_to_TransferDst,
|
||||
qfv_LT_Undefined_to_General,
|
||||
qfv_LT_TransferDst_to_TransferSrc,
|
||||
qfv_LT_TransferDst_to_General,
|
||||
qfv_LT_TransferDst_to_ShaderReadOnly,
|
||||
qfv_LT_TransferSrc_to_ShaderReadOnly,
|
||||
qfv_LT_ShaderReadOnly_to_TransferDst,
|
||||
qfv_LT_Undefined_to_DepthStencil,
|
||||
qfv_LT_Undefined_to_Color,
|
||||
};
|
||||
|
||||
// buffer barriers
|
||||
enum {
|
||||
qfv_BB_Unknown_to_TransferWrite,
|
||||
qfv_BB_TransferWrite_to_VertexAttrRead,
|
||||
qfv_BB_TransferWrite_to_IndexRead,
|
||||
qfv_BB_TransferWrite_to_UniformRead,
|
||||
qfv_BB_TransferWrite_to_ShaderRW,
|
||||
qfv_BB_ShaderRW_to_ShaderRO,
|
||||
qfv_BB_ShaderRW_to_ShaderRO_VA,
|
||||
qfv_BB_ShaderRO_to_ShaderWrite,
|
||||
qfv_BB_ShaderRO_VA_to_ShaderWrite,
|
||||
qfv_BB_ShaderWrite_to_ShaderRO,
|
||||
qfv_BB_ShaderWrite_to_ShaderRW,
|
||||
};
|
||||
|
||||
extern const qfv_imagebarrier_t imageBarriers[];
|
||||
extern const qfv_bufferbarrier_t bufferBarriers[];
|
||||
|
||||
#endif//__QF_Vulkan_barrier_h
|
57
include/QF/Vulkan/buffer.h
Normal file
57
include/QF/Vulkan/buffer.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
#ifndef __QF_Vulkan_buffer_h
|
||||
#define __QF_Vulkan_buffer_h
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
#include "QF/darray.h"
|
||||
|
||||
typedef struct qfv_buffertransition_s {
|
||||
VkBuffer buffer;
|
||||
VkAccessFlags srcAccess;
|
||||
VkAccessFlags dstAccess;
|
||||
uint32_t srcQueueFamily;
|
||||
uint32_t dstQueueFamily;
|
||||
VkDeviceSize offset;
|
||||
VkDeviceSize size;
|
||||
} qfv_buffertransition_t;
|
||||
|
||||
typedef struct qfv_buffertransitionset_s
|
||||
DARRAY_TYPE (qfv_buffertransition_t) qfv_buffertransitionset_t;
|
||||
typedef struct qfv_bufferbarrierset_s
|
||||
DARRAY_TYPE (VkBufferMemoryBarrier) qfv_bufferbarrierset_t;
|
||||
|
||||
typedef struct qfv_bufferset_s
|
||||
DARRAY_TYPE (VkBuffer) qfv_bufferset_t;
|
||||
#define QFV_AllocBufferSet(num, allocator) \
|
||||
DARRAY_ALLOCFIXED (qfv_bufferset_t, num, allocator)
|
||||
|
||||
struct qfv_device_s;
|
||||
VkBuffer QFV_CreateBuffer (struct qfv_device_s *device,
|
||||
VkDeviceSize size,
|
||||
VkBufferUsageFlags usage);
|
||||
|
||||
VkDeviceMemory QFV_AllocBufferMemory (struct qfv_device_s *device,
|
||||
VkBuffer buffer,
|
||||
VkMemoryPropertyFlags properties,
|
||||
VkDeviceSize size, VkDeviceSize offset);
|
||||
|
||||
int QFV_BindBufferMemory (struct qfv_device_s *device,
|
||||
VkBuffer buffer, VkDeviceMemory object,
|
||||
VkDeviceSize offset);
|
||||
|
||||
qfv_bufferbarrierset_t *
|
||||
QFV_CreateBufferTransitions (qfv_buffertransition_t *transitions,
|
||||
int numTransitions);
|
||||
|
||||
VkBufferView QFV_CreateBufferView (struct qfv_device_s *device,
|
||||
VkBuffer buffer, VkFormat format,
|
||||
VkDeviceSize offset, VkDeviceSize size);
|
||||
|
||||
VkDeviceSize QFV_NextOffset (VkDeviceSize current,
|
||||
const VkMemoryRequirements *requirements)
|
||||
__attribute__((pure));
|
||||
|
||||
#endif//__QF_Vulkan_buffer_h
|
46
include/QF/Vulkan/capture.h
Normal file
46
include/QF/Vulkan/capture.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
#ifndef __QF_Vulkan_capture_h
|
||||
#define __QF_Vulkan_capture_h
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
#include "QF/darray.h"
|
||||
#include "QF/qtypes.h"
|
||||
|
||||
struct vulkan_ctx_s;
|
||||
struct tex_s;
|
||||
typedef void (*capfunc_t) (struct tex_s *screencap, void *data);
|
||||
|
||||
typedef struct qfv_capture_frame_s {
|
||||
VkBuffer buffer;
|
||||
byte *data;
|
||||
|
||||
bool initiated;
|
||||
capfunc_t callback;
|
||||
void *callback_data;
|
||||
} qfv_capture_frame_t;
|
||||
|
||||
typedef struct qfv_capture_frame_set_s
|
||||
DARRAY_TYPE (qfv_capture_frame_t) qfv_capture_frame_set_t;
|
||||
|
||||
typedef struct qfv_capturectx_s {
|
||||
qfv_capture_frame_set_t frames;
|
||||
struct qfv_device_s *device;
|
||||
VkExtent2D extent;
|
||||
size_t imgsize;
|
||||
size_t memsize;
|
||||
byte *data;
|
||||
VkDeviceMemory memory;
|
||||
} qfv_capturectx_t;
|
||||
|
||||
struct vulkan_ctx_s;
|
||||
|
||||
void QFV_Capture_Init (struct vulkan_ctx_s *ctx);
|
||||
void QFV_Capture_Renew (struct vulkan_ctx_s *ctx);
|
||||
void QFV_Capture_Shutdown (struct vulkan_ctx_s *ctx);
|
||||
void QFV_Capture_Screen (struct vulkan_ctx_s *ctx,
|
||||
capfunc_t callback, void *data);
|
||||
|
||||
#endif//__QF_Vulkan_capture_h
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue