Commit graph

48 commits

Author SHA1 Message Date
Bill Currie
86f2df4939 [vulkan] Respect the VULKAN_SDK environment variable
Thanks to Peter for the report and help in getting it working (I hope I
got all the changes right).
2023-03-25 21:21:13 +09:00
Bill Currie
20ee47404f Merge branch 'master' into wip-twod 2022-09-22 10:06:00 +09:00
Bill Currie
ead14d7268 [build] Fix a pile of issues building under cygwin
Many thanks to jdp_ for finding them initially and getting me to take a
look at things.
2022-09-19 13:41:24 +01:00
Bill Currie
935e883d8d [renderer] Switch to using HarfBuzz for glyph positioning
This means that QF should support more exotic fonts without any issue
(once the rest of the text handling system is up to snuff) as HarfBuzz
does all the hard work of handling OpenType, Graphite, etc text shaping,
including kerning (when enabled).

Also, font loading now loads all the glyphs into the atlas (preload is
gone).
2022-09-04 20:56:38 +09:00
Bill Currie
4d5b38f0c9 [renderer] Star work on adding FreeType support
Right now, this just initializes the library and loads a font into
memory, preloading a given set of characters (specified by unicode
values).
2022-08-27 17:53:03 +09:00
Bill Currie
0b92cd3a88 [gamecode] Generate the new opcode table
As I expect to be tweaking things for a while, it's part of the build
process. This will make it a lot easier to adjust mnemonics and argument
formats (tweaking the old table was a pain when conventions changed).

It's not quite done as it still needs arg widths and types.
2022-01-05 19:09:07 +09:00
Bill Currie
d1153be594 [build] Move plist rules to root Makefile
They are globally useful rather than specific to the vulkan renderer.
2021-11-25 20:23:18 +09:00
Bill Currie
ae58a8ba5d [qwaq] Create a commandline-only version of qwaq
qwaq-curses has its place, but its use for running vkgen was really a
placeholder because I didn't feel like sorting out the different
initialization requirements at the time. qwaq-cmd has the (currently
unnecessary) threading power of qwaq-curses, but doesn't include any UI
stuff and thus doesn't need curses. The work also paves the way for
qwaq-x11 to become a proper engine (though sorting out its init will be
taken care of later).

Fixes #15.
2021-07-06 12:25:24 +09:00
Bill Currie
88ff254f42 Get QF cross-compiling using MXE/mingw32
This includes -win clients (no clue if anything actually works yet).
2021-03-27 20:09:37 +09:00
Bill Currie
06d45cff0d [build] Keep error messages from glslangValidator
The tool is horrible as a built tool due to it not being silent when all
is good (it outputs the input file name) and sends its error messages to
stdout instead of stderr. Then filtering causes the error code to be
lost. This uses a solution found on stack-exchange.
2021-01-09 11:36:19 +09:00
Bill Currie
7fb335a215 [vulkan] Add support for building and loading shaders
Shaders can be built as spv files and installed into
$libdir/quakeforge/shaders or as spvc files and compiled into the
engine. Loading supports $builtin/name to access builtin shaders,
$shader/path to access external standard shaders and quake filesystem
access for all other paths.
2020-12-23 14:32:29 +09:00
Bill Currie
12a35f3912 [build] Put that ar warning to rest 2020-06-28 23:32:38 +09:00
Bill Currie
aa8aaaaca9 [build] Support silent rules for qfcc 2020-06-26 10:52:06 +09:00
Bill Currie
6d5ffa9f8e [build] Move to non-recursive make
There's still some cleanup to do, but everything seems to be working
nicely: `make -j` works, `make distcheck` passes. There is probably
plenty of bitrot in the package directories (RPM, debian), though.

The vc project files have been removed since those versions are way out
of date and quakeforge is pretty much dependent on gcc now anyway.

Most of the old Makefile.am files  are now Makemodule.am.  This should
allow for new Makefile.am files that allow local building (to be added
on an as-needed bases).  The current remaining Makefile.am files are for
standalone sub-projects.a

The installable bins are currently built in the top-level build
directory. This may change if the clutter gets to be too much.

While this does make a noticeable difference in build times, the main
reason for the switch was to take care of the growing dependency issues:
now it's possible to build tools for code generation (eg, using qfcc and
ruamoko programs for code-gen).
2020-06-25 11:35:37 +09:00
Bill Currie
45cfae7785 Add the new cross scripts to EXTRA_DIST
And remove the obsolete cross.sh from mingw.
2013-01-23 11:44:01 +09:00
Bill Currie
e4965db5c1 Fix missing files caused by a lost blackslash. 2013-01-10 22:30:47 +09:00
Bill Currie
cc5e0f9957 Use git-version-gen to create meaningful version strings.
git-version-gen is taken from autoconf-2.69 with the change of adding
--tags to the git command line since we don't sign our tags (yet).
2012-12-21 18:43:03 +09:00
Bill Currie
433b3c0b31 make distcheck fixes. 2012-11-29 11:34:34 +09:00
Bill Currie
546a7e7aac Avoid recusing into tools and ruamoko when not needed. 2012-02-12 19:29:31 +09:00
Bill Currie
a2d1e0667c Recurse into non-build subdirectories only when needed.
No point in sending make into directories where it will never do anything
under normal circumstances.
2012-02-09 14:12:13 +09:00
Bill Currie
cc443c42e6 Update the cross-tools locations. 2012-02-08 21:10:43 +09:00
Bill Currie
732745c0ec Get the zip dist targets working.
The icon had changed names and a new icon was added. zip didn't appreciate
that.
2010-12-24 08:32:17 +09:00
Bill Currie
99e8ef69ab Distribute and use bootstrap.
deb building relies on boostrap now (mostly to ensure there's no messy
autoconf files).
2010-12-23 16:48:40 +09:00
Bill Currie
3b0dbd29ca make distcheck fixes 2010-12-06 21:24:49 +09:00
Bill Currie
d8eb3aab36 Move the desktop files into their own directory. 2010-11-29 14:26:33 +09:00
Jeff Teunissen
9bae615577 regularize the changelog rule, make it work for out-of-tree. 2010-08-23 03:43:05 -04:00
Jeff Teunissen
3c76768b01 Clean up 'make changelog'
We need more information in the changelog, and we need some checking to
make sure the .git dir exists before trying to generate it.
2010-08-23 03:21:30 -04:00
Bill Currie
06cbb941f1 "make dist" fixes
Since we're using git now, having a rule to make ChangeLog is reasonable.

Also, forgot the remove mention of qfcc.lsm.in when I nuked the file.
2010-08-21 13:09:53 +09:00
Bill Currie
4f748a0f98 Fix aclocal.m4 rebuild problems.
aclocal needs to always be told where the directory is, not just during
bootstrap.
2010-08-07 07:22:31 +00:00
Bill Currie
b4ff94abdc (initial) pkg-config stuff for the main package 2007-03-07 06:43:21 +00:00
Bill Currie
6ae4b6f8bb get the QWTV (qtv) project going :) 2004-02-18 23:21:11 +00:00
Bill Currie
f8bc0ba9e2 fix a misplaced reference to zpak 2004-02-02 06:15:22 +00:00
Bill Currie
21d8b4f8dc link in hw, move the qw and nq networking code into libs/net and make
hw-master use libnetchan. there are evil include hacks that will need to be
taken care of in net*.[ch]
2003-02-11 22:48:57 +00:00
Bill Currie
72bc818807 use AMTAR instead of TAR 2002-09-30 20:34:16 +00:00
Bill Currie
d663cfbbec make ChangeLog is little easier to read 2002-08-19 03:30:27 +00:00
Bill Currie
300f638647 finalize the move of the menu code 2002-08-16 22:58:44 +00:00
Bill Currie
75ec07705c bugger the dependencies, I want to be able to use this stuff for the menus! 2002-08-15 19:08:44 +00:00
Bill Currie
8a24b28d97 scary, but the only changes qfcc needed to build as part of quakeforge was
to auto-substitued the libs and headers.

 o  unconditionally build qfcc (for now, anyway) when building quakeforge
    (needed for cs-code compilation)
 o  when built as part of quakeforge (qfcc should still be buildable
    independently) always enable cpp
 o  autoconfiscate the client-side code
 o  build the client-side code using the built qfcc
 o  install the client-side code in $(datadir)/quakeforge/id1
2002-01-22 05:48:03 +00:00
Bill Currie
6c8a112cb8 get "make dist" working again 2001-09-04 21:00:08 +00:00
Bill Currie
80c7113447 misc rpm building improvements 2001-08-02 02:49:33 +00:00
Bill Currie
38a9a52290 client and server targets now have their own packages (nq and qw shared) 2001-08-01 20:17:27 +00:00
Bill Currie
c24a6f7d6a make make changelog work in an external buildtree 2001-06-08 00:27:41 +00:00
Bill Currie
a8e1da5d99 make dist and compile fixes for mingw cross building 2001-05-22 19:13:23 +00:00
Bill Currie
c500fd7479 make dist fixups 2001-05-22 17:09:03 +00:00
Bill Currie
b4b27ee13b move the make dist stuff to the top level Makefile.am and get make dist to
work in that make doesn't barf. probably missing lots of files
2001-04-18 07:18:54 +00:00
Bill Currie
95f6db7775 start merging stuff into libs/util and fix the concequences in nq. nq doesn't
build yet though (keys.c, *screen.c and *view.c) due to console fun.
2001-02-21 19:35:06 +00:00
Bill Currie
e3b7ab218e minor fixups 2001-02-20 03:51:04 +00:00
Zephaniah E. Hull
75618f96c9 Working on one common configure which lets nq and qw compile.
There, needs a little clean up though.
2001-02-20 03:10:06 +00:00