Commit Graph

143 Commits

Author SHA1 Message Date
Zack Middleton b1e6ef1425 Improve AppStream metainfo 2023-08-19 16:40:44 -04:00
rawr51919 d907e4781e
Merge branch 'ioquake:main' into master 2023-08-12 14:34:54 -03:00
Jack Slater e5c688b342 Update org.ioquake3.ioquake3.metainfo.xml
fixed the case of the filename and removed the hotlinked screenshots of original quake 3.
2023-08-07 08:02:39 -07:00
AsciiWolf 5327a21d5f Add AppStream metadata 2023-08-07 15:04:07 +01:00
Zack Middleton 2bca424fce nsis: Only uninstall protocol handler for this installation 2023-07-06 05:03:36 -04:00
Zack Middleton a119e67fb8 nsis: Fix CustomUrlArguments for protocol handler 2023-07-06 05:03:36 -04:00
Zack Middleton 221465f3b4 nsis: Add better descriptions for OpenAL and libcurl 2023-07-06 05:03:36 -04:00
Zack Middleton 5362af3858 nsis: Display ioquake3 version
Display version in the installer and add/remove software.
2023-07-06 05:03:36 -04:00
Zack Middleton 9738176849 nsis: Require installing SDL
It's required to run and unlikely to be installed system wide.
2023-07-06 05:03:36 -04:00
Zack Middleton efd55cab9d nsis: Remove Speex library
The game doesn't support it anymore.
2023-07-06 05:03:36 -04:00
Stefan Sundin 31c6d2f9d5
Add protocol handler support
This lets the user click a link in a web browser to very easily join a Quake 3 multiplayer game. As browser-based matchmaking websites become more popular, this makes it a lot more convenient and simple to play Quake 3 with others.

The links have the following URI format: quake3://connect/example.com:27950. The format has been designed to be flexible to allow more types of links in the future and avoiding having to make a breaking change. At the moment, "connect" is the only supported command.
2023-04-19 13:48:26 +01:00
Jack Slater b7abe57d3b some old URL and doc updates
The installer building docs should probably go somewhere else but they don't need to be in the README
2022-02-08 00:19:05 -10:00
Tom Kidd de055995d0
Merge pull request #482 from tomkidd/vs2019
Upgrade to build and run from VS2019
2021-10-22 16:38:11 -05:00
Tom Kidd 3d06d07516 Addressed PR suggestions 2021-10-22 10:00:20 -05:00
Tom Kidd 5c5a599929 UB2 now signs and notarizes, upgraded to SDL 2.0.16
Also works on Apple Silicon. Specific signing values are in a non-committed file, and the ub2 script only notarizes if a "notarize" flag is passed in on the command line.

NOTE: the SDL dylib currently only has x86_64 and arm64, will need extra work to graft those back in and keep the Notary service happy.
2021-09-18 18:40:12 -05:00
Tom Kidd a1b1c7d5eb Added arm64 to the post-build symlinking step 2021-07-06 17:30:27 -05:00
Tom Kidd eef3a40ed6 Restored original opus sse files, excluded from Xcode
Also added line break in script for consistency, thanks @zturtleman
2021-07-06 17:30:27 -05:00
Tom Kidd 52a43ae1c4 Upgrades to Xcode project and Apple Silicon support
- Reorganized Xcode project
- Added missionpack support to Xcode project
- Incorporated changes from MaddTheSane for Apple Silicon support https://github.com/maddthesane/ioq3
- Built SDL 2.0.14 for Apple Siicon, added to existing SDL dylib
- Built SDLMain for Apple Silicon, added to existing libSDL2main.a
2021-07-06 17:30:27 -05:00
Tom Kidd d82a1cb7b3 Upgrade to build and run from VS2019
- New msvc142 directory (keeping with naming after version of C compiler)
- Added SDL2.lib/SDL2main.lib back in (compiled from SDL 2.0.8 source from libsdl.org)
- Post build step to copy SDL2.dll to debug directory
2021-01-25 21:59:55 -06:00
Tom Kidd a03cb319a2 Figured out method of referencing GLSL generated C files outside of code directory 2020-02-10 17:20:17 -06:00
Tom Kidd a545f81403 Further tweaks to Xcode project
Now works as well as possible in Xcode 11
2019-10-29 00:14:26 -05:00
Tom Kidd b340827153 Updated to latest recommended build settings, increased deployment target to 10.7
One of the settings (CLANG_ENABLE_OBJC_WEAK) doesn't like 10.6 anymore apparently.
2019-10-28 22:30:56 -05:00
Tom Kidd c2025d94c5 Several updates to xcode project files for Xcode 11
A few more things to go
2019-10-26 22:14:14 -05:00
Colton G. Rushton 0549613351 Added .gitignore to msvc folder 2019-08-28 01:13:18 -03:00
Colton G. Rushton 2d3b8b5c27 Added .gitignore to msvc11 folder 2019-08-28 01:13:18 -03:00
Colton G. Rushton 22722f2108 Add .gitignore to msvc10 folder 2019-08-28 01:13:18 -03:00
Colton G. Rushton afb102a8b6 Updated .gitgnore to latest GitHub template 2019-08-28 01:13:18 -03:00
kungfooman b0d2b141e7 Add .gitignore for misc/msvc12 2018-12-14 10:00:58 +00:00
Zack Middleton 1b1d0c55f6 Fix Linux uninstaller redirecting stderr to stdout in preuninstall.sh
Last commit accidently made stderr redirect to stdout tty instead of
/dev/null.

Reported by @illwieckz.
2018-06-03 16:23:46 -05:00
Zack Middleton 466952b320 Fix Linux uninstaller requiring Bash
Linux loki-setup uninstaller is failing on distros that have /bin/sh
linked to Dash instead of Bash. Use standard shell method for
redirecting stdout and stderr instead of a Bash specific method.
2018-06-03 15:47:39 -05:00
Zack Middleton 8611eb421d Rename (already updated) opus-1.1.4 to opus-1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton cb24c59567 Update opus from 1.1.4 to 1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton ad10e6610c Changes to systemd q3a.service
Use an absolute path as required by systemd. Distro packages will need
to change it. (Reported by @andreyv and @zeroxfourc.)
Link to server documentation on the wiki instead of maintaining a subset
in the service file.
2018-02-04 07:51:17 -06:00
Zack Middleton acce0e5452 Fix building msvc12 project
* Don't try to embed manifest (it causes build to fail because it's
  specified in win_resource.rc).
* Fix curl include path.
* Compile sys_autoupdater.c.
* Make quake3 debug link to msvcrtd.lib instead of msvcrt.lib to fix
  unresolved external symbol __imp___CrtDbgReportW.
* Fix q3_ui dll output directory.
* Fix opus path filter.
* Use UseOfMfc false and CharacterSet NotSet.
* Fix header paths and remove non-existent files.
2018-01-30 07:40:09 -06:00
Matt Palmer 14cb72f912 Improvements to the linux build script
In no particular order:

* Use `set -e`, because it prevents accidents, and means we can avoid
  lengthy &&-joined command chains.
* Override defaults by setting env vars; this means people don't have to
  edit the script to change things.
* Use an unpredictable and safely-created tmpdir for building; ain't nobody
  wants to cleanup from a tmpdir race condition attack.
* Test for the presence of `git` and `make` *before* asking questions, and
  only prompt the user about them if they're missing.  No need to bother
  people with unnecessary reading.
* Automatically clean up the build directory after use.
* Tidy up some indenting that had come asunder.
2017-11-21 23:07:54 -06:00
Zack Middleton c2ce1c2f51 Make client for Windows x86_64 use OpenAL64.dll by default
ioquake3.x86_64.exe can't load x86 OpenAL32.dll. Using separate
library names allows shipping OpenAL for both architectures.

Though since the dll name is saved in the config file, using both
clients on the same computer will cause one client arch to always
try to load the wrong OpenAL dll and then fallback to the correct
default OpenAL dll. I guess it could be fixed by using separate
cvar names for s_alDriver.
2017-09-04 20:34:55 -05:00
Zack Middleton 00a5339b27 Update arch in misc/setup for ioq3 changing from i386 to x86 2017-08-07 05:52:13 -05:00
Zack Middleton 67dace6c20 Escape quotes for sv_dlURL in shell so it doesn't become "http:"
q3ded +set sv_dlURL "http://example.org"

The shell removes the quotes but makes the content be a single argument
for progam args. Quake 3 concatenates all the program args and splits
lines at + or newlines. Then Quake 3 parses them using a tokenizer
that skips unquoted C comments beginning with //. This results in
the cvar being set to "http:".

Escape the quotes so they are passed to the program and the tokenizer
knows not to skip C comments.

    q3ded +set sv_dlURL \"http://example.org\"
2017-07-20 23:24:52 -05:00
Zack Middleton ef8ad54421 Rename (already updated) opus-1.1 to opus-1.1.4 2017-05-23 11:47:27 -05:00
Zack Middleton 853110d5d4 Update opus from 1.1 to 1.1.4
Define FLOAT_APPROX in Makefile and misc/msvc12/quake3.vcxproj.
2017-05-23 11:47:26 -05:00
Zack Middleton 1c1e1f61f1 Allow overriding platform in NSIS installer
MSYS2 and some mingw builds use mingw64 instead of mingw32. If you run
`make installer` from the top-level, PLATFORM should be set correctly
when building the installer.
2016-11-01 17:53:25 -05:00
Zachary J. Slater f47aaa2a61 Minor URL change. 2016-08-07 23:53:38 -10:00
Zack Middleton e0b2256043 Include SDL2 dll from repository in NSIS installer
Before it required manually copying SDL 1.2 dll into misc/nsis/ which the
engine no longer uses.
2016-05-27 00:44:13 -05:00
Zack Middleton 80357ff1f2 Remove incorrect documentation from q3a.service
rate, snaps, and cl_maxpackets cvars only affect client.
2016-04-04 12:19:17 -05:00
SmileTheory 275317fefb OpenGL2: Direct state access, part 1: Texture binds 2016-01-18 04:46:01 -08:00
SmileTheory 3089df0398 Add msvc12 project files. 2016-01-15 02:54:34 -08:00
Zachary J. Slater e0b58abf53 Don't quote me. 2015-09-24 11:26:10 -07:00
Zachary J. Slater 45162a395f Fixed the os x path and now both scripts will take arguments 2015-09-24 11:21:18 -07:00
Zachary J. Slater c138659de1 A mac dedicated server script 2015-09-24 11:00:08 -07:00
Zack Middleton 1c628c0fe5 Update headers in VS (10 and 11) projects
So VS doesn't always want to rebuild.

Reported by @shearer12345.
2015-08-19 13:50:39 -05:00