Re: Bug#689824: RFP: yquake2 -- Yamagi Quake II - Enhanced client for Quake II
On 06/10/13 21:59, Jonathan Dowland wrote:
> On Sun, Oct 06, 2013 at 09:37:09PM +0100, Jonathan Dowland wrote:
>> I'm going to look at extending gdp to support the mission packs.
> Erk. More work than I imagined. Still, worthy!
It's complicated, because the Quake II game logic is native code. For
Quake 1 and Quake III Arena, and their mission packs and mods, we use
the proprietary bytecode (which is on the CDs, in the official patches,
in mod downloads etc.) without recompilation, and we can be pretty
confident that our bytecode interpreter is compatible with their compiler.
yquake2 only contains GPL source code for the base game, but the authors
of Yamagi Quake II also have updated versions of the game.so source code
for CTF and the mission packs, as several separate projects on their github.
In theory we could include the CTF game.so source code in yquake2
itself, since it appears to be GPL too. We'd have to either repack the
orig.tar.gz or make use of dpkg-source 3.0 (quilt)'s multiple orig
tarballs feature. I don't have much interest in maintaining
multiplayer-only games, and git-buildpackage can't do multiple orig
tarballs yet (I don't think so, anyway), so I didn't do that.
I did make sure to include the architecture-independent CTF files when
game-data-packager produces quake2-full-data, so if someone wants to
package the CTF game.so, that should be all that's needed.
The two mission packs' source code is available to the public, but it's
under the Quake II "mod SDK" license. That license is non-DFSG
(restricted non-commercial use), and sufficiently long and lawyerbomb'y
that I couldn't immediately decide whether it would be OK for non-free.
I'm not sure that "download, checksum and compile source code from
github" is something g-d-p should be doing, until/unless it's translated
into a language where complex tasks are a bit more maintainable
I don't currently have either of the Q2 mission packs, so I can't play
them myself anyway.