1{
2 lib,
3 stdenv,
4 fetchzip,
5 requireFile,
6}:
7
8let
9 version = "1.32c";
10in
11stdenv.mkDerivation (finalAttrs: {
12 pname = "quake3arenadata";
13 inherit version;
14
15 src = requireFile rec {
16 name = "pak0.pk3";
17 hash = "sha256-fOizkQYgzVCgnk8RAPQm6MYYD2iJXVifgOa9la9UvK4=";
18 message = ''
19 Quake 3 Arena requires the original ${name} file, from any legal source of the game.
20
21 This could be an old CD-ROM you have lying around or you can try to buy the game.
22
23 To my knowledge the Steam Quake-Collection-Package, is about the last legal way to get it.
24
25 Please note, there are plenty of versions of this file online like:
26
27 - https://github.com/nrempel/q3-server/raw/master/baseq3/pak0.pk3
28 - https://archive.org/details/quake-3-arena
29
30 However, none of these have the blessing of ID-Software and thus do not qualify.
31
32 Once you download a version or checked your old CD-ROM, locate the ${name} file
33 inside the baseq3 folder and then run the following command on it:
34
35 nix-prefetch-url file:///path/to/baseq3/${name}
36 '';
37 };
38
39 buildCommand = ''
40 mkdir -p $out/baseq3
41 echo 'wwwwwwwwwwwwwwww' > $out/baseq3/q3key
42 ln -s $src $out/baseq3/pak0.pk3
43 '';
44
45 preferLocalBuild = true;
46
47 meta = {
48 description = "Quake 3 Arena content";
49 longDescription = ''
50 Quake III Arena and it's demo don't offer current wide screen resolutions in the menu.
51
52 To switch to such a resolution, you will have to enter something like this in the quake console (invoke with ~ by default)
53
54 r_mode -1; r_customwidth 2560; r_customheight 1440; r_fullscreen 1; vid_restart
55
56 Or call the quake commandline with these parameters
57
58 $ quake3 +set r_mode -1 +set r_customwidth 2560 +set r_customheight 1440 +set r_fullscreen 1
59 '';
60 homepage = "https://www.idsoftware.com/";
61 license = lib.licenses.unfreeRedistributable;
62 platforms = lib.platforms.all;
63 maintainers = with lib.maintainers; [ abbradar ];
64 };
65})