Welcome Wolfenstein: Enemy Territory and Return to Castle Wolfenstein!
Posted on August 12th, 2010 by TimeDoctor
A wonderful thing happened today at QuakeCon. John Carmack announced the release of GPL source code for the Wolfenstein: Enemy Territory and Return to Castle Wolfenstein engines!
Work has already begun on iowolfet and iortcw!
This post will be updated as infrastructure is prepared.
Stop by the irc channels #ioquake3 #iortcw and #iowolfet on irc.freenode.net for more collaboration.
Bugzilla is configured at bugzilla.icculus.org to allow entries for both iowolfet and iortcw.
You can now clone the Mercurial source repositories (Thanks to icculus.org!):
If you’re new to Mercurial please check out this excellent guide.
Thank you id software!
August 13th, 2010 at 9:06 am
Amazing news
Do you know which approach will those projects take? Is the aim to convert rtwc and wolfet into ioquake3 “mods” so they can take advantage of the new features added to ioquake3? Or will they evolve on their own?
Thanks!
August 13th, 2010 at 11:43 am
Does this mean sound for ET on Linux? With no special tricks?
August 13th, 2010 at 1:43 pm
Excellent.
August 13th, 2010 at 4:55 pm
If this means I will be able to use my RTCW windows cd media with a future Linux client then hooray! Another game to join the few that are already there!
I think I own every id game simply because they run on Linux!
August 14th, 2010 at 12:50 am
On behalf of the main competitive Wolf ET community…. how can I/we get involved in ioET
we want to see ET updated but without any change to game play and preferably to still work with existing mods such at ETPro and other public mods
August 14th, 2010 at 10:22 am
[...] [...]
August 14th, 2010 at 10:59 am
@SlickMcRunFast
Try starting the game then changing the sound bitrate to 48000, close the game then restart – you may now have sound.
This is really good news et is one of the best games ever,
August 15th, 2010 at 1:59 am
[...] sviluppatori dietro al motore ioquake3 (derivato dai sorgenti di Quake3) stanno già lavorando ai nuovi progetti iowolfet e [...]
August 15th, 2010 at 10:31 am
Thank you id, thank you Carmack, thank you ioquake community! This will be awesome, no… double awesome!
August 15th, 2010 at 10:59 am
I have a little request: HD Ready / Full HD resolutions
August 15th, 2010 at 10:22 pm
Great ! Enemy Territory is broken on my MacBook (Late 2007) with Intel X3100 graphics card. This can help solve Mac problems
August 16th, 2010 at 4:59 am
[...] http://www.linuxgames.com/archives/15619 http://ioquake3.org/2010/08/12/welco…e-wolfenstein/ [...]
August 16th, 2010 at 5:38 am
Wonderful. I were waiting for this for some time. This means proper 64bit & ALSA support (finally!). And of course the slew of improvements already in ioquake3, such as IPv6 and cmdline code completion. And, last but not least: Security fixes.
Perhaps it is even legally possible to distribute the whole game, due to WolfET game files being free, as in free beer.
August 16th, 2010 at 9:20 am
[...] dient uiteraard wel de gpl-licentie gerespecteerd te worden. Het team achter ioquake3 is inmiddels begonnen met het onderhoud aan de code. Het XreaL-project wil zijn geavanceerdere renderer samenvoegen met [...]
August 17th, 2010 at 5:00 am
[...] id Software à Dallas (Texas), le directeur technique de l’entreprise a annoncé que Return to Castle Wolfenstein et Wolfenstein: Enemy Territory étaient désormais sous licence open source GNU General Public [...]
August 18th, 2010 at 8:19 am
@mcx Ever tried this? http://www.et.qubenet.net/viewtopic.php?f=45&t=1175
Worked for me! (same computer)
August 19th, 2010 at 9:19 am
Main thing I’m looking for is the ability to set the resolution to the widescreen and HD formats so I can play on my laptop and hdtv without being stuck at 1024×768. Also would be nice to get HDR and a built in media player but I’d sacrifice all that for modern sound system support for Linux and 64 bit support. Thanks ID for keeping the Open Source community active with your offerings. We can always count on you
Also thanks to Zakk and Icculus for being Johnny on the Spot with setting up this page.
Also looking forward to some crazy porting it to psp or something. Though that would be one big challenge.
August 22nd, 2010 at 12:33 pm
@texmex: I can’t download attachment autoexec.zip
The selected attachment does not exist anymore.
August 23rd, 2010 at 8:52 am
will rctw and rtcw merged i think is usefull
August 31st, 2010 at 12:48 pm
@RabidWeezle
Set “rmode -1″ and then the resolution you want with “r_customheght” “r_customwidth” and vid_restart after.
My lines for 24 inch are
r_mode -1
r_customwidth 1920
r_customheght 1200
September 10th, 2010 at 7:13 am
I just built a 64 bit version on slackware-current with the Makefile patches in bugzilla (have to add a -O2 -fPIC to the CFLAGS)
http://ompldr.org/vNWk0MA/et64.tar.gz
it runs fine but obviously we can’t use any 64 bit punkbuster, nor 64 bit mods as neither exists yet
September 13th, 2010 at 4:54 pm
Might be worth a shot, including these bugfixes into the etmain sources:
http://games.chruker.dk/enemy_territory/modding_project_bugfix.php
September 14th, 2010 at 5:03 am
Ralph Eastwood is also very active regarding SDL sound backend:
http://bitbucket.org/tcmreastwood/raedwulf-et
September 15th, 2010 at 2:35 pm
Better compatibility with Windows 7 would be fine. It has low fps in some maps due to the bad CPU cores utilization. A better netcode is a good idea too, less dependant of the latency.
October 9th, 2010 at 9:00 am
Has anybody gotten ET Pro to work with the open sourced engine? I tried and got ‘wrong version of ET.exe’, trying to open the ‘Host Game’ tab (all on Windows). I also tried to replace the version strings by the original ones, but no success, already put up a thread on the ET Pro forums, because this could be a big problem for those new engines (plurar as in there are more than this one, look for example at: ET-XreaL this could be a huge thing, together with ioWolf:ET).
October 30th, 2010 at 2:29 pm
Is there a wiki for iortcw? I want to contribute some info, links etc but don’t want to muck up the ioquake3 wiki people want to keep them separate.
December 15th, 2010 at 8:13 pm
Here are some instructions I wrote to compile and run iortcw on 64-bit Ubuntu Linux. These instructions assume that you’re using a 64-bit version of Ubuntu 10.04 (Lucid Lynx), which is no longer the most recent version of Ubuntu. I’m sure that you can compile iortcw on newer versions of Ubuntu with few modifications, but I haven’t tried it. Using these instructions, the game runs great for me on Ubuntu Lucid.
The contents of this post are hereby placed into the public domain. I can’t provide support, so good luck!
How to install iortcw on 64-bit Linux (Ubuntu Lucid)
(1) Install build-time dependencies.
# for 64-bit systems:
sudo apt-get install nasm g++-multilib libstdc++6-4.1-dev libc6-dev-i386 g++ lib32stdc++6 libstdc++6 libxxf86dga-dev libxxf86dga1 libxxf86vm-dev mesa-common-dev libxext-dev
# 32-bit alternate: install the following packages:
# sudo apt-get install nasm g++-multilib g++ libstdc++6 libxxf86dga-dev libxxf86dga1 libxxf86vm-dev mesa-common-dev libxext-dev
(2) Define some build-path variables.
# the location in which you want to keep your installed copy of iortcw
export INSTALLDIR=~/local/iortcw
# a folder in which you will temporarily build iortcw
export STAGING=~/temp/iortcw-staging
mkdir -p ${STAGING}
cd ${STAGING}
(3) Grab the 32-bit versions of certain libraries and extract key files.
# use a command like the following
# in order to find out from where to download the packages:
#
# apt-get -d -y –reinstall –print-uris install libxxf86dga-dev libxxf86dga1 | sed -e ‘s/_amd64.deb/_i386.deb/g’
#
# alternately, you can download these 32-bit libraries using links
# similar to the below:
#
# http://packages.ubuntu.com/lucid/i386/libxxf86dga-dev/download
# http://packages.ubuntu.com/lucid/i386/libxxf86dga1/download
#
# the remainder of this HOWTO assumes that you have saved copies
# of these 32-bit .deb files from the above URLs to $DOWNLOAD
mkdir -p ${STAGING}/libs32
cd ${STAGING}/libs32
dpkg-deb -x ${DOWNLOAD}/libxxf86dga-dev_1.1.1-2_i386.deb .
dpkg-deb -x ${DOWNLOAD}/libxxf86dga1_1.1.1-2_i386.deb .
(4) Grab a copy of the iortcw source.
cd ${STAGING}
hg clone http://hg.ioquake.org/rtcw-sp/
(5) Patch the source to search the 32-bit version of key libraries.
(a) Edit the file Conscript-client:
vi ${STAGING}/rtcw-sp/src/unix/Conscript-client +154
(b) Manually apply the below patch. This changes the library search
path such that we use the special 32-bit libraries that we downloaded
and extracted in a previous step. Note that we’re adding a path
for ${STAGING}/libs32/usr/lib .
In this example, the path to $STAGING is
/home/username/temp/iortcw-staging , but you’ll need to change this.
— Conscript-client.original 2010-11-27 21:17:20.000000000 -0500
+++ Conscript-client 2010-11-27 21:14:32.000000000 -0500
@@ -151,7 +151,7 @@
. $BUILD_DIR . ‘/unix/jpeglib.a ‘
. $BUILD_DIR . ‘/unix/asmlib.a ‘
. $BUILD_DIR . ‘/unix/inlinelib.a ‘
– . ‘-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -ldl -lm’
+ . ‘-L/usr/X11R6/lib -L/home/username/temp/iortcw-staging/libs32/usr/lib -lX11 -lXext -lXxf86dga -lXxf86vm -ldl -lm’
);
@RENDERER_FILES = qw(
(6) Patch the source to work around a fatal string buffer overflow.
The quake3/rtcw source did not anticipate the number/size of the
GL_EXTENSIONS that would be advertised in 2010. In its unpatched state,
rtcw will overflow a buffer while filling a string with the list of
supported GL_EXTENSIONS, causing the game to crash. For our purposes,
we can suppress the list of GL_EXTENSIONS from the string and
avoid the overflow.
(a) Edit the file renderer/tr_init.c:
vi ${STAGING}/rtcw-sp/src/renderer/tr_init.c +847
(b) Manually apply the below patch:
— tr_init.c.original 2010-11-27 16:40:47.000000000 -0500
+++ tr_init.c 2010-11-27 22:44:15.000000000 -0500
@@ -844,7 +844,7 @@
ri.Printf( PRINT_ALL, “\nGL_VENDOR: %s\n”, glConfig.vendor_string );
ri.Printf( PRINT_ALL, “GL_RENDERER: %s\n”, glConfig.renderer_string );
ri.Printf( PRINT_ALL, “GL_VERSION: %s\n”, glConfig.version_string );
- ri.Printf( PRINT_ALL, “GL_EXTENSIONS: %s\n”, glConfig.extensions_string );
+ ri.Printf( PRINT_ALL, “GL_EXTENSIONS: (redacted)\n”, glConfig.extensions_string );
ri.Printf( PRINT_ALL, “GL_MAX_TEXTURE_SIZE: %d\n”, glConfig.maxTextureSize );
ri.Printf( PRINT_ALL, “GL_MAX_ACTIVE_TEXTURES_ARB: %d\n”, glConfig.maxActiveTextures );
ri.Printf( PRINT_ALL, “\nPIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n”, glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits );
(7) Build the iortcw source.
cd ${STAGING}/rtcw-sp/src/unix/
./cons — release
(8) Copy critical libraries into the build directory.
cd ${STAGING}/rtcw-sp/src/unix/release-x86-Linux-2.1/out
cp ${STAGING}/libs32/usr/lib/* .
chmod a+x lib*.*
(9) Create a 32-bit-library-friendly launcher script.
cd ${STAGING}/rtcw-sp/src/unix/release-x86-Linux-2.1/out
touch wolfsp-launcher.sh
chmod u+x wolfsp-launcher.sh
cat > wolfsp-launcher.sh< iortcw << EOF
#!/bin/bash
pushd ${INSTALLDIR}/
./wolfsp-launcher.sh \$@
popd
EOF
February 10th, 2011 at 5:57 am
I created to projects where I ported the ioquake system code to rtcw multiplayer and rtcw singleplayer, the makefile compiles on ubuntu linux 9.10, it also cross compiles windows binaries on the same system. and it compiles on mac os x 10.6.6
http://code.google.com/p/bzzwolfmp/
http://code.google.com/p/bzzwolfsp/
March 28th, 2011 at 2:23 am
Is this still alive?
I can’t see any status change in the bug tracker. -.-
April 1st, 2011 at 1:47 am
I’m a bit stuck with the player animations ..
May 27th, 2011 at 7:48 am
So raedwulf-et seems to be the most promising version? Last change 2011-04-14:
https://bitbucket.org/tcmreastwood/raedwulf-et
June 17th, 2011 at 9:10 pm
I would like to contribute and already downloaded all the hg repository and started peering through sources… but how do I commit my work? Is there a man in charge? A code reviewer or anyone that say what is good and what is bad? A developer team with guidelines and a roadmap?
I saw ioquake3 makes many separate exe for separate tasks, maybe this should be the case here too?
Anyone can tell me how this community is organized?
For now I’m focusing on Win7 64 bit port, since this is is MY system
September 11th, 2011 at 6:37 am
I have the same question: how the new community of enemy-territory is organized ? That would be great to have a dedicated website, we would be able to share our ideas about new features.
Firstly, that would be awesome to have an executable already patched, ready to install and play or even a .deb/.rpm. with sound already fixed. And an extra package for each mod.
Thanks
September 12th, 2011 at 4:09 pm
iortcw and iowolfet are dead. They were doomed to be forgotten right from the start. Too bad, would also have liked to contribute…
November 22nd, 2011 at 8:08 am
thanks to Uncle Squid. I had compiled the sources as the method what you had said and I got a work-fine compiled version of RTCW-SP without crash when facing flame zombie.
April 9th, 2012 at 9:10 am
Will someone by any chance make a modified version of the rtcw sp source code to be able to compile on vs2010 without any incompatiability issues?
July 4th, 2012 at 6:56 am
My tree compiles on vs2010: http://code.google.com/p/bzzwolfsp/source/checkout
single player should work as before, if not contact me
October 3rd, 2012 at 5:06 am
ET:L is based on ioquake3 and Raedwulf-et. Find more information at:
http://www.etlegacy.com or https://github.com/etlegacy
“ET: Legacy is based on the source code of the Wolfenstein: Enemy Territory which was released under the GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible.”
October 4th, 2012 at 3:10 am
Alright, for those who are new or a bit confused about this stuff, here’s what I’ve found out in the last one and a half days investigating the current status quo of wolfet (I have not really looked into rtcw).
It’s Oktober 4′th 2012 at the time of writing, and here’s the deal: Wolfet and quake3 are two very similar codebases as both of them are idTech3. A crucial difference between them though, has nothing to do with it’s code. This difference is the license they have been released under. Quake3 has been released with a GPLv2 license, but wolfet was released with GPLv3 (thank Zenimax for that). Code-wise there’s a lot of work already done for ioquake3 that could be easily integrated into iowolfet, but this would create the very quirky situation of possibly having two licenses onto one codebase (or parts thereof). All of this might be coming with nasty legal situations and what not. This is a risk Icculus did not want to take.
So, because practically nobody likes doing the same thing twice (taking work from ioquake3 would create a license mess) nobody cared about fixing up iowolfet.
At Icculus at least. At numerous other places around the web, projects sprung up. The major ones were wolfet-merge, raedwulf-et, XreaL-ET, openterritory and etlegacy. Most (if not all) of them didn’t really care about mixing GPLv2 and GPLv3 code. Nobody would care anyway and legally it’s most likely fine too. Most likely. Icculus however wants 100% certainty, that’s why work is now done elsewhere.
wolfet-merge was an attempt to move the wolfet-specific stuff into ioquake3, as ioquake3 had a much cleaner codebase already. This proved to be easier said than done. Which led to the next project.
raedwulf-et tried to patch up whatever problem showed up and occasionally borrowed something from ioquake3. This project ran for a while and was forked a few times too, so it was fairly successful. It is now dead, however, and has a few loose ends that need to be tied up.
XreaL-ET is a significant overhaul of wolfet. The engine internals have become a whole lot like idTech4 and bits of the game content have been modified too (think of sharper textures and shiny gimmicks in maps to show off the engine). It’s not very active and kind of kills the nostalgia, but looks nice.
openterritory was a fork of Xreal-ET and was meant to become what openarena is to ioquake3. This project was short lived however as no artists could be found.
etlegacy is a fork of raedwulf-et. At some point in raedwulf-et’s development, Ralph “Raedwulf” Eastwood began replacing SDL in favor of glfw. Not everybody liked this so the codebase was forked and began an another life. It has been under constant development ever since and is still an active project. In fact, it is the most active wolfet project I have come across so far.
To wrap this whole thing up for you: If you want the smoothest but authentic wolfet experience or if you’re eager to join an active project and development team, you should most likely go here: http://www.etlegacy.com/
A good resource for understanding the idTech3 engine can be found here: http://fabiensanglard.net/quake3/index.php (It is about quake3 but gives a good idea of the inner workings of wolfet and rtcw too.)
November 17th, 2012 at 3:38 pm
could someone make a native FreeBSD port. the Linux one is useless without Nvidia hardware, but I think with KMS it could get decent framerates.