Commit Graph

47 Commits

Author SHA1 Message Date
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