** here's some basic instructions for building q2pro/q2proi386 on linux ** setting homedir, libdir, bindir etc is so that q2pro will look for files within subfolders of itself ** modify ~/quake2 to your quake2 install location ** in that location run this: ln -s . q2pro # compiler sudo apt install gcc-multilib g++-multilib meson git cmake # for the server & client: sudo apt install zlib1g-dev libcurl4-gnutls-dev libnghttp2-dev # for the client sudo apt install libogg-dev libvorbis-dev libopenal-dev libpng-dev libjpeg-dev sudo apt install libsdl2-dev libdecor-0-dev libegl-dev # wayland supoort if needed sudo apt install libwayland-dev wayland-protocols - from a terminal/shell: git clone https://github.com/skullernet/q2pro cd q2pro nano -w .ci/x86-linux-gnu.txt ** begin copy: [binaries] c = '/usr/bin/gcc' cpp = '/usr/bin/g++' ar = '/usr/bin/gcc-ar' strip = '/usr/bin/strip' [properties] c_args = '-m32 -mstackrealign' c_link_args = '-m32 -mstackrealign' cpp_args = '-m32 -mstackrealign' cpp_link_args = '-m32 -mstackrealign' [host_machine] system = 'linux' cpu_family = 'x86' cpu = 'i686' endian = 'little' ** end copy. - yes, i686 is correct for i386. - ctrl-x, Y to save, enter to confirm filename # setup # note: do not use prefix or 'x'dir settings for mingw builds meson setup buildx64 meson setup --cross-file .ci/x86-linux-gnu.txt -Dgame-abi-hack=enabled buildi386 - nano -w myopt.sh ** begin copy: #!/bin/sh meson configure -Dprefix='~/quake2' -Dvariable-fps=true $1 meson configure -Dhomedir='.' -Dlibdir='.' -Dbindir='.' -Ddatadir='.' $1 meson configure -Dvid-geometry='1920x1080' -Dvid-modelist='320x240 640x480 800x600 1024x768 1280x1024 1366x768 1600x900 1920x1080 2560x1440' $1 meson configure -Dbuildtype='release' -Ddebug=false $1 meson configure -Dsystem-wide=false $1 meson --reconfigure $1 ** end copy. - ctrl-x, Y to save, enter to confirm - chmod +x myopt.sh - ./myopt.sh buildx64 - ./myopt.sh buildi386 # compiling: meson compile -C buildx64 meson compile -C buildi386 cp buildx64/q2pro ~/quake2 cp buildx64/q2proded ~/quake2 cp buildx64/gamex86_64.so ~/quake2/baseq2 cp buildi386/q2proded ~/quake2/q2prodedi386 cp buildi386/gamei386.so ~/quake2/baseq2 cp buildi386/q2pro ~/quake2/q2proi386 - you should only need this if you want to play an old mod (gamei386.so) locally/offline. it probably won't even build unless you install i386 dev libs for everything. - you just need q2prodedi386 to run a server, then use 64bit client to connect to the old server - in the future just run 'git pull' from q2pro folder to check for updates - then meson --reconfigure buildxyz - meson compile -C buildxyz # windows cross compiling - not currently covered # sudo apt install mingw-w64 nasm # meson setup --cross-file .ci/x86_64/i686-ming...txt -Dwrap_mode=forcefallback buildwin64 # needs a few extra config settings, -Dlibcurl zlib libpng etc etc #