nuclide/Documentation/Dependencies.md
Marco Cawthorne d41b90c081 Base: Give some love to base/
VGUI-Menu: friendList, chat backend, textview class proto
SurfaceProps: Flesh impacts recognition
PropData: BreakModels now use a bodyque to limit possible physics overhead
PMove: falldamage, liquids can now be configured via external decl
NSWeapon: added alternative punchangle based on springs, 'punchSpring X Y Z' in decl
API: Team class management APIS
NSPhysicsEntity: Optimised, optimised, optimised. New cvar: phys_lowspec. Scraping, impact effects etc have been added.
More polish everywhere else
2025-01-02 18:53:55 -08:00

3.3 KiB

Dependencies

Here we attempt to document the dependencies you may require to build certain aspects yourself, on various different platforms.

Debian / Raspbian

FTEQW

# apt-get install libgl-dev gnutls-dev

SDL2

# apt-get install libsdl2-dev

GLX / X11 (part of libsdl2-dev)

# apt-get install libx11-dev libxcursor-dev libxrender-dev

Plugin: ODE

# apt-get install autoconf automake libtool

Plugin: FFMPEG

# apt-get install libavformat-dev libswscale-dev

OpenBSD

FTE

# pkg_add git

SDL2

# pkg_add sdl2

Plugin: FFMPEG

# pkg_add ffmpeg

Arch Linux

FTE

# pacman -S make gcc Xorg git

Plugin: ODE

# pacman -S zip automake autoconf

Plugin: FFMPEG

@note You will have to manually build this plugin due to FFMPEG breaking ABI between releases and Arch's rolling release nature.

First install the legacy version of ffmpeg:

# pacman -S ffmpeg4.4

Then browse to ThirdParty/fteqw/engine and run this command:

$ make plugins-rel NATIVE_PLUGINS="ffmpeg" AV_BASE=/usr/include/ffmpeg4.4/ AV_LDFLAGS="-l:libavcodec.so.58 -l:libavformat.so.58 -l:libavutil.so.56 -l:libswscale.so.5"

Last, copy over fteplug_ffmpeg_*.so to the root directory where the engine binaries (and other plugins) are.

SDL2

# pacman -S sdl2

WorldSpawn

# pacman -S pkgconf gtk2 gtkglext

OpenSUSE

Nuclide

# zypper in git 

FTE

# zypper in make gcc gcc-c++ mesa-libGL-devel libgnutls-devel alsa-devel libopus-devel speex-devel libvorbis-devel

SDL2

# zypper in libSDL2-devel

GLX / X11

# zypper in libX11-devel libXcursor-devel libXrandr-devel

Plugin: ODE

# zypper in autoconf automake libtool zip

Plugin: FFMPEG

# zypper in ffmpeg-4-libavformat-devel ffmpeg-4-libswscale-devel

Worldspawn

# zypper in make gtkglext-devel libxml2-devel libjpeg8-devel minizip-devel

Fedora

FTE

# dnf install make gcc gcc-c++ mesa-libGL-devel gnutls-devel alsa-devel libopus-devel speex-devel libvorbis-devel

SDL2

# dnf install SDL2-devel

GLX / X11 (part of libsdl2-dev)

# dnf install libX11-devel libXcursor-devel libXrender-devel

Plugin: ODE

# dnf install autoconf automake libtool zip

Plugin: FFMPEG

@note You will have to manually build this plugin due to FFMPEG breaking ABI between releases as well as install a custom repository since Fedora ships only latest versions of FFMPEG.

First, you will need to install the RPM Fusion if you don't have it. We recommend reading their official guide: https://rpmfusion.org/Configuration

Then, you can install the required version of FFMPEG:

# dnf install compat-ffmpeg4-devel

Now to build:

  1. Browse to ThirdParty/fteqw/engine
  2. Run this command:
$ make plugins-rel NATIVE_PLUGINS="ffmpeg" AV_BASE=/usr/include/compat-ffmpeg4 AV_LDFLAGS="-l:libavcodec.so.58 -l:libavformat.so.58 -l:libavutil.so.56 -l:libswscale.so.5"

Last, copy over fteplug_ffmpeg.so to the root directory where the engine binaries (and other plugins) are.

Worldspawn

# dnf install make pkgconf gtkglext-devel libxml2-devel libjpeg-turbo-devel minizip-devel