The v2.77 was released on 21st March 2021. As of Dec 2022, v2.80.2 is now the latest!
I was abit curious about how compatible this game is with ppc64le. It turns out it is very trivial to make the game compile with system libs on Fedora 33 or newer
Once the Pull Request (
https://github.com/etlegacy/etlegacy/pull/2347) is merged, you could compile the game easily with following options:
git clone https://github.com/etlegacy/etlegacy.git && cd etlegacy
cp <origRTCW>/etmain/pak[0-2].pk3 ./etmain/
./easybuild.sh generate -64 -systemlib # for Fedora 37, I deliberately want to use system libs, remove it if you want to use bundled libs
cd build
make
make install # installed to ~/etlegacy
NOTE: For Fedora 37, the minizip header is installed in `/usr/include/minizip`, therefore you need to patch following file:
diff --git a/src/qcommon/files.c b/src/qcommon/files.c
index b1a86197e..fbf25d521 100644
--- a/src/qcommon/files.c
+++ b/src/qcommon/files.c
@@ -42,10 +42,8 @@
#ifdef BUNDLED_MINIZIP
# include "unzip.h"
-#elif defined(__APPLE__)
-# include <minizip/unzip.h>
#else
-# include <unzip.h>
+# include <minizip/unzip.h>
#endif
The bundled omni-bot x86_64 is not compatible and thus needs to be compiled from scratch. Here is how:
# I assume you use Fedora 37, you can adjust code to your distro
git clone -b stable https://github.com/jswigart/omni-bot.git /tmp/omni-bot
cd /tmp/omni-bot
git submodule init
git submodule update --recursive
sudo dnf install boost-build boost-b2 boost-*
and apply following patches:
diff --git a/0.83/Omnibot/Jamfile b/0.83/Omnibot/Jamfile
index fbdc849e..be43c568 100644
--- a/0.83/Omnibot/Jamfile
+++ b/0.83/Omnibot/Jamfile
@@ -52,7 +52,7 @@ rule tag ( name : type ? : property-set )
{
if [ $(property-set).get <address-model> ] = 64
{
- return $(name).x86_64.so ;
+ return $(name).ppc64le.so ;
}
else
{
diff --git a/0.83/Omnibot/linux/buildbot.sh b/0.83/Omnibot/linux/buildbot.sh
old mode 100644
new mode 100755
index 646bc393..5a993522
--- a/0.83/Omnibot/linux/buildbot.sh
+++ b/0.83/Omnibot/linux/buildbot.sh
@@ -1,9 +1,9 @@
#!/bin/sh
-export BOOST=/boost/boost_1_44_0
-export BOOST_BUILD_PATH=$BOOST/tools/build/v2
-export BOOST_LIB=$BOOST/stage/lib
-export BOOST_SUFFIX=-gcc41-mt-1_44
+export BOOST=/boost/boost_1_78_0
+export BOOST_BUILD_PATH=$BOOST/tools/build
+export BOOST_LIB=/usr/lib64
+export BOOST_SUFFIX=""
-cd /media/sf_omnibot_svn_root/Omnibot
-$BOOST/bjam -q release
+cd /tmp/omni-bot/0.83/Omnibot
+b2 architecture=power toolset=gcc address-model=64 -q release
then run:
cd 0.83/Omnibot/linux/
./buildbot.sh
cp ../build/ET/gcc-12/release/address-model-64/architecture-power/omnibot_et.ppc64le.so ~/etlegacy/legacy/omni-bot/
rm ~/etlegacy/legacy/omni-bot/omni-bot.so
rm ~/etlegacy/legacy/omni-bot/omni-bot.x86_64.so
ln -sf ~/etlegacy/legacy/omni-bot/omnibot_et.ppc64le.so ~/etlegacy/legacy/omni-bot/omni-bot.so
The game plays perfectly. The only downside is lacking support for any game hosted with x86_64 server.
Video gameplay:
https://youtu.be/pCP6a9TsqLc