Commit Graph

28 Commits

Author SHA1 Message Date
ajacoutot
f50fdd748e Stop using the daemon class in @newuser.
If we need to make an exception we can do it and properly document the
reason but by default we should just use the default login class.
rc.d uses daemon or the login class provided in login.conf.d so this has
no impact there.

discussed with sthen@, tb@ and robert@

praying that my grep/sed skills did not break anything and still
believing in portbump :-)
2022-11-08 11:14:43 +00:00
naddy
9433d2a35f drop RCS Ids 2022-03-11 19:04:03 +00:00
kmos
aa5d30be36 Switch COMPILER to base-clang ports-gcc to fix build on sparc64
ok sthen
2022-01-05 15:32:28 +00:00
sdk
d078c47b2f Update games/yquake2 7.45 => 8.00
Port changes:
* reintroduce execinfo (it's now in base and not creating trouble)

Libraries are opened with dlopen now. So we have expected portcheck
warnings: Extra: curl.26 openal.4

Quake II 8.00:
* Client side support for the optional Vulkan renderer library.
* Non existent renderer libraries are now skipped over by the menu.
* Fix several bugs when loading autosaves.
* Bump the maximal number of OGG/Vorbis files to 128.
* Several fixes to the Barracuda Shark. (by BjossiAlfreds)
* vid_fullscreen and r_mode are no longer special, they require an
    explicit vid_restart like every other cvar.
* Remove hardcoded map fixes and replace them by optional entity files.
    Add several newly discovered map fixes. (by BjossiAlfreds)
* Send the network protocol version to the server. This can be used by
    the server to support clients with different network protocol
    version. (by Knightmare)
* Force SDL to minimize the window when its focus is lost. This fixes
    several problem under Windows with SDL 2.0.14 and newer.
* Switch the semantics of the vid_fullscreen cvar. 1 is now native
    fullscreen, like it was in Vanilla Quake II. 2 is desktop
    fullscreen.  When desktop fullscreen is selected through the menu,
    r_mode is forced to -2.
* Add g_footsteps to control the generation of footstep sound. This cvar
    is cheat protected. 1 is Vanilla Quake II behavior and the default.
    0 never generates footstep sound, 2 always generates them.
* Support stereo wave files. (by 0lvin)
* Add cl_r1q2_lighstyle. When set to 1 Yamagi Quake II uses the Vanilla
    Quake II light styles (for example yellow light for the
    Hyperblaster) instead of the default r1q2 light styles.
* Add a submenu to configure gamepad and joystick sensitivities. (by
    Larry Davis)
* Ensure that the config file is written before changing the active mod.
    This prevents config changes from getting lost.
* Overhaul the search path logic. Make sure that each directory is added
    only once.
2021-12-15 13:44:11 +00:00
thfr
fa3355ffc2 update to yquake2 7.45
ok jsg@ for an earlier version that included libexecinfo
build without libexecinfo - this approach is fine with sthen@
Maintainer awolk@ is busy but looked at update and no objection
2021-01-07 22:20:25 +00:00
awolk
2707da2c7e Fix CPU spin in games/yquake2 dedicated server
OK fcambus@

Initial diff by Tom Murphy who also helped debugging later iterations.
Thanks!

When daemonized as soon as STDIN goes away q2ded detects that and stops
waiting for input, this causes a CPU spin loop generating high server
loads by frequent calls to clock_gettime.

By adding daemon_flags to the rc.d script we flip the busywait flag
which causes q2ded to use a mechanism based on nanosleep that is
significantly lighter on load and has no noticeable impact on
performance for players.

While here we also set the dedicated flag as there is no point to run
the dedicated server outside of debugging without it.

This diff is tweaked compared to ports@ with gamedir being removed. This
final change has been OK'ed off list also by fcambus@.

The reasoning for that final change is as follows:

We do not need gamedir/datadir as we already set SYSTEMWIDE and
SYSTEMDIR during compilation. This solves pointing the game at the pak
files. Normally however we would still need to cd into the game
directory for dlopen to properly load renderers and game.so.

Upstream however has a backwards compatibility mechanism for game.so (so
older mods work) where all paths where game files are stored is searched
for game.so dlopen.  This includes SYSTEMDIR and that makes q2ded work
without having to cd into the binary directory. Since the server itself
does not need to load any renderers that is enough to have a fully
functioning q2ded.
2020-07-09 21:10:21 +00:00
awolk
4938637d87 games/yquake2: fix build
net/curl is a runtime (dlopen) multiplayer dependency, hosts without
it fail during compilation.

Discovered by ajacoutot@ the hard way.

OK jca@
2020-03-25 21:22:59 +00:00
solene
26e6519e4b Update to yquake-7.43
ok awolk@
2020-03-24 17:58:12 +00:00
sthen
485792605b replace simple PERMIT_PACKAGE_CDROM=Yes with PERMIT_PACKAGE=Yes 2019-07-12 21:02:12 +00:00
ajacoutot
ffaef383a9 Remove empty line at EOF. 2019-04-26 07:29:21 +00:00
espie
f4b7f81318 convert to PKGSTEM 2018-09-04 12:46:09 +00:00
jsg
452c4f0686 update yamagi quake2 to 7.21
ok awolk@
2018-07-29 14:06:38 +00:00
awolk
0fcd7888c8 games/yquake2 7.10 => 7.20
OK abieber@

Submitted by Tom Murphy (thanks!)
2018-03-15 00:33:54 +00:00
awolk
a4e0fd9de6 games/yquake2 quote parameters in the wrapper
as they can contain whitespace as pointed out
by jca@ (thanks!).

OK jca@
2018-02-15 09:56:21 +00:00
awolk
51a98ab6cf games/yquake2 pass arguments in the binary wrapper
OK landry@

Submitted by Tom Murphy, thanks!
2018-02-14 09:30:10 +00:00
rpe
9a8b5ccd06 Change the shebang line from /bin/sh to /bin/ksh in all ports rc.d
daemon scripts and bump subpackages that contain the *.rc scripts.

discussed with and OK aja@
OK tb
2018-01-11 19:27:01 +00:00
awolk
3ba643c0ab games/yquake2 7.02 => 7.10
OK abieber@

Quake 2 was released 20 years ago
and this the anniversary update.

Tested with abieber@, bmercer@ and many others
fragging on an OpenBSD server.

Port changes:
 - reworded README to more
   prominently point at the
   upstream documentation and
   mentioning the 3.20 patch
   which is needed for
   multiplayer

Upstream changelog:

 https://github.com/yquake2/yquake2/blob/master/CHANGELOG
2017-12-10 12:14:36 +00:00
awolk
a40f9c0d3b games/yquake2 7.01 => 7.02
OK abieber@

Port changes:
 - bump version
 - everything now lives under /usr/local/share/yquake2
   this has been asked by upstream and outlined in
   their porting guide that was created after
   I started complaining that they want relative
   paths between the binaries:

   https://github.com/yquake2/yquake2/blob/master/stuff/packaging.md#where-you-should-put-the-executables

 - adding a new wrapper for the quake2 binary
   to cd into the port directory before executing it
   as we provide no way for a binary to get its executable
   directory
 - drop the patch that hardcoded the executable directory
   upstream accounted for us not supporting that feature
   and defaults to returning cwd (./) instead of bailing
   out with an error
 - modified the q2ded rc.d script to account for the need
   of changing the working directory before starting the
   server
 - note I am not providing a separate wrapper for q2ded
   in /usr/bin on purpose - I don't see a need for running
   it outside of the rc.d scripts for any reasons other
   than debugging and that's rare enough that people can
   just cd to the game folder themselves
 - we can drop the Makefile compilation flag diff as
   upstream took our patch

Upstream changelog:

Quake II 7.01 to 7.02:
- Fix several corner cases regarding render library loading. The game
  should now always fall back to the OpenGL 1.4 renderer if the new
  OpenGL 3.2 renderer can't be initialized. Also the game aborts if no
  useable OpenGL implementation exists.
- Refactor the search path code. This should fix several bugs with
  Quake II writing to the wrong directories or being unable to find
  some / all assets.
- Reimplement portable binaries. If called with the -portable command
  line option Quake II saves all data (configs, savegames, screenshorts
  etc.) into it's systemwide installation directory and not users home
  directory. In contrast to the old implementation on Windows stdout.txt
  contains all output, the first lines are no longer missing.
- vid_fullscreen set to 1 now keeps the desktops resolution. Set it to 2
  to change the resolution.
- Instead of a list with precalculated FOV values the video menu now
  shows a slider with possible values from 60 to 120. Horplus is now
  always enabled, set the horplus cvar to 0 to disable it.
- The game is now able to hold the requested framerate (either by the
  vsync or the gl_maxfps cvar) with an accuracy of about +/- 1% as long
  as the hardware is fast enough.  The framecounter was reimplemented
  to be much more precise.
- Fix misspredictions if an original client running on Win32 connects
  to a Yamagi Quake II server running on Linux/i386.
2017-11-09 16:20:31 +00:00
awolk
29cf848130 games/yquake2 6.00 => 7.01
OK abieber@

Port changes:
 - bump version
 - install new ref_gl1 / ref_gl3 shared libraries into
   /usr/local/lib/yquake2
 - patch the Makefile to not pass -Wl,--no-undefined to
   the linker, change already merged upstream:
     https://github.com/yquake2/yquake2/pull/213
 - patch backends/generic/vid.c to dlopen libraries
   from /usr/local/lib/yquake2 instead of relying
   on Sys_GetBinaryDir() that thinks the OS can tell
   it the executable path

Regarding the .so changes, please see the following 2 github links
 - https://github.com/yquake2/yquake2/pull/213
 - https://github.com/yquake2/yquake2/issues/214
especially the second one. In short, it's possible that upstream will
add a way to define /usr/local/lib/yquake2 as a compile time option
which would make this patch obsolete. Note that I did not move the game.so
file on purpose, as upstream mentioned in 213 that mods expect it to be
in that specific spot.

If you want to test the new renderer just execute the game with:
 $ quake2 +vid_renderer gl3

after first run it will be added to your config, or you can add it
yourself by adding:

 set vid_renderer "gl3"

to:

/home/mulander/.yq2/baseq2/config.cfg

Upstream changelog:

Quake II 7.00 to 7.01:
- Fix build of GL3 for platforms without SSE.
- Fix Jennel Jaquays name in credits and quit screen.
- Make Quake II high DPI aware on Window Vista and above.
- Fix some problems with loading dependend librarys on Windows.

Quake II 6.00 to 7.00:
- Remove the broken multitexturing render path from the OpenGL 1.4
  renderer. It was switched off by default in 6.00.
- Reimplement the support for shared renderer libraries. Please note
  the this is an incompatible implementation with an custom API. The
  original renderer libraries will not work!
- Implement an OpenGL 3.2 renderer. This renderer has the same look
  and feel as the old OpenGL 1.4 renderer but makes heavy use of
  modern OpenGL and GPU features. An OpenGL 3.2 capable GPU (Intel
  starting with Ivy Bridge on Windows or Sandy Bridge on Linux, Nvidia
  staring with G80 and AMD starting with R600 / HD2000) is required.
- Fix OpenAL compatibility with modern openal-soft versions.
- Several fixes and optimizations to OpenAL, implement support for
  doppler effects. (by xorw)
2017-07-20 23:33:46 +00:00
ajacoutot
7995708f3c Bring rc_bg back. 2017-05-27 19:57:05 +00:00
ajacoutot
958bb491e0 I forgot the bump commit... 2017-05-27 13:55:58 +00:00
ajacoutot
13730769c8 Cope with recent rc.subr(8) change (removal of rc_bg etc.) 2017-05-27 13:53:06 +00:00
kirby
a01b1fc1cc README tweaks. OK awolk@, MAINTAINER 2017-01-10 23:45:49 +00:00
awolk
cd4a2943eb Update games/yquake2 5.34 => 6.00
OK abieber@

Upstream changelog:

Quake II 5.34 to 6.00:
- Make the client asynchronous. The old behaviour can be forced by
  setting cl_async to 0. Please note that asynchronicity can lead to
  problems if the old SDL 1.2 backend is used and vsync is enabled.
- Implement gl_overbrightbits in the non multitexturing case.  A value
  of 1 just fixes lighting on water surfaces, higher values increase
  the brightness of everything.
- General renderer overhaul for better compatibility with modern GPUs.
  OpenGL 1.4 is now required, older versions are no longer supported.
  Multitexturing was deprecated and will be removed in a future release.
- Fix some longstanding AI problems.
- Several general gameplay fixes.
2016-12-05 21:03:33 +00:00
awolk
bb5b6ae012 Update games/yquake2 5.32 => 5.34
OK abieber@

Changes in the port:
 - taking MAINTAINER, agreed with bmercer@ who provided the initial port
 - added a q2ded rc script in a similar fashion as the games/ioquake3
   port does
 - the existing /usr/local/share/yquake2/q2ded binary from previous
   port did not work as it was searching for games.so from a relative
   path. I found a way to make both quake2 and q2ded work with an
   upstream supported MAKE variable to provide the system wide quake
   data directory. Thanks to this change we can drop the wrapper script
   and use the binaries directly.
 - adding a new _yquake2 user/group plus /var/yquake2 for the dedicated server
   binary
 - updated the port to version 5.34

Additional notes:
 - make port-lib-depends-check complains on:
   Extra:  openal.2 pthread.22

   ktrace tells me that the check is wrong. Openal and pthreads are both
   used.
 - upstream said in their changelog that they are changing their
   platform policy 'Switch from an arch whitelist to an "all archs are
   supported" approach.'. I saw in our tree a change by landry@
   specifically limiting the supported platform to the upstream
   supported versions
   (http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/games/yquake2/Makefile?rev=1.2&content-type=text/x-cvsweb-markup).
   I am not removing this restriction until I get some feedback from
   people able to test other platforms than currently
   listed in ONLY_FOR_ARCHS.

Upstream changelog:

Quake II 5.33 to 5.34:
- Add support for stereo 3D (by Valery Guskov)
- Make gibt solid so they move with conveyor belts.
- Disable gl_ext_multitexturing by default.
- Switch from an arch whitelist to an "all archs are supported"
  approach.
- Add a new README.

Quake II 5.32 to 5.33:
- Add OGG volume slider in settings menu
- Fixed some bugs in volume settings
- Replaced HUD scale option in video menu with generic UI scale
- General UI upscaling improvements
- Better support for keyboards with AZERTY layout
2016-06-28 20:50:22 +00:00
naddy
ef68f42b62 remove SHARED_ONLY from ports that don't use any MODULES 2016-03-16 16:46:31 +00:00
landry
036c87890f ONLY_FOR_ARCHS=i386 amd64 sparc64. Upstream Makefile explicitely
supports only those archs.
2016-02-25 16:02:23 +00:00
bmercer
6920eff853 Import of yquake2. Original port from jsg@. This port will replace the aged and non working quake2 port with something that actually plays. Much feedback and OK from sthen@ abieber@ and jsg@ 2016-01-17 15:18:31 +00:00