readme update
[xonotic/netradiant.git] / README.md
1 NetRadiant
2 ==========
3
4 ![NetRadiant logo](setup/data/tools/bitmaps/splash.png)
5
6 The open source, cross platform level editor for idtech games (Radiant fork).
7
8 # Getting the Sources
9
10 The latest source is available from the git repository:
11 https://gitlab.com/xonotic/netradiant.git
12
13 The git client can be obtained from the Git website:
14 http://git-scm.org
15
16 To get a copy of the source using the command line git client:
17
18 ```
19 git clone --recursive https://gitlab.com/xonotic/netradiant.git
20 cd netradiant
21 ```
22
23 See also https://gitlab.com/xonotic/netradiant/ for a source browser, issues and more.
24
25 # Dependencies
26
27  * OpenGL
28  * LibXml2
29  * GTK2
30  * GtkGLExt
31  * LibJpeg
32  * LibPng
33  * LibWebp
34  * Minizip
35  * ZLib
36
37 ## msys2
38
39 Under MSYS2, the mingw shell must be used
40
41 ### 32 bit:
42
43 ```
44 pacman -S --needed base-devel mingw-w64-i686-{toolchain,cmake,make,gtk2,gtkglexti,libwebp}
45 ```
46
47 ### 64 bit:
48
49 ```
50 pacman -S --needed base-devel mingw-w64-x86_64-{toolchain,cmake,make,gtk2,gtkglext,libwebp}
51 ```
52
53 ## OS X:
54
55 ```
56 brew install gtkglext
57 brew install webp
58 brew install Caskroom/cask/xquartz
59 brew link --force gettext
60 ```
61
62 # Submodules
63
64  * Crunch (optional, disabled by default, only supported with CMake build)
65
66 If you have not used `--recursive` option at `git clone` time, you can fetch Crunch this way (run it whithin NetRadiant repository):
67
68
69 ```
70 git submodule update --init --recursive
71 ```
72
73 # Compiling
74
75 This project uses the usual CMake workflow:
76
77 ## Debug
78
79 ```
80 cmake -G "Unix Makefiles" -H. -Bbuild && cmake --build build -- -j$(nproc)
81 ```
82
83 ## Release
84
85 ```
86 cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build -- -j$(nproc)
87 ```
88
89 ## More Compilation Details
90
91 options:
92
93  * `DOWNLOAD_GAMEPACKS=ON`  
94    Automatically download the gamepack data during the first compilation
95  * `BUILD_CRUNCH=ON`  
96    Enable crunch support
97  * `RADIANT_ABOUTMSG="Custom build"`  
98    A message shown in the about dialog
99
100 targets:
101
102  * `radiant`    Compiles the radiant core binary
103  * `modules`    Compiles all modules (each module has its own target as well)
104  * `plugins`    Compiles all plugins (each plugin has its own target as well)
105  * `game_packs` Downloads the game pack data
106  * `quake3`     Compiles all the Quake3 tools
107    - `q3map2`     Quake3 map compiler
108    - `q3data`
109
110 ## Note about Crunch
111
112 The crnlib used to decode `.crn` files is the one from [Dæmon](http://github.com/DaemonEngine/Daemon) which is the one by [Unity](https://github.com/Unity-Technologies/crunch/tree/unity) made cross-platform and slightly improved. Since Unity brokes compatibility with [BinomialLLC's legacy tree](https://github.com/BinomialLLC/crunch) it's required to use either the `crunch` tool from Dæmon or the one from Unity to compress textures that have to be read by radiant or q3map2.