]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - README.md
h2data: declare once, define as extern
[xonotic/netradiant.git] / README.md
index 9592b437acecbafc6bd4a7dec3cc918fd5aa806f..b4444130629debd256212c8e3a47cbeb121ec2e5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,20 +1,27 @@
 NetRadiant
 ==========
 
 NetRadiant
 ==========
 
-![NetRadiant logo](setup/data/tools/bitmaps/splash.png)
+[![NetRadiant logo](setup/data/tools/bitmaps/splash.png)](https://netradiant.gitlab.io)
 
 
-The open source, cross platform level editor for id Tech-derivated games (has lineage to GtkRadiant).
+The open source, cross platform level editor for id Tech-derivated games, heir of GtkRadiant.
+
+Learn more on NetRadiant website: [netradiant.gitlab.io](https://netradiant.gitlab.io).
+
+
+## Download NetRadiant
+
+Prebuilt binaries can be found on the [Download page](https://netradiant.gitlab.io/page/download/).
 
 
 ## Compatibility matrix
 
 
 
 ## Compatibility matrix
 
-|System   |Build    |Bundle    |Run      |Build requirements                   |
-|---------|---------|----------|---------|-------------------------------------|
-|Linux    |**Yes**  |**Yes**   |**Yes**  |_GCC or Clang_                       |
-|FreeBSD  |**Yes**  |_not yet_ |**Yes**  |_GCC_                                |
-|Windows  |**Yes**  |**Yes**   |**Yes**  |_MSYS2/Mingw64 or Mingw32_           |
-|Wine     |-        |-         |**Yes**  |-                                    |
-|macOS    |**Yes**  |_not yet_ |_mostly_ |_Homebrew, GCC and patched GtkGLExt_ |
+|System   |Build    |Bundle    |Run      |Build requirements                            |
+|---------|---------|----------|---------|----------------------------------------------|
+|Linux    |**Yes**  |**Yes**   |**Yes**  |_GCC or Clang_                                |
+|FreeBSD  |**Yes**  |_not yet_ |**Yes**  |_GCC or Clang_                                |
+|Windows  |**Yes**  |**Yes**   |**Yes**  |_MSYS2/Mingw64 or Mingw32_                    |
+|Wine     |-        |-         |**Yes**  |-                                             |
+|macOS    |**Yes**  |_not yet_ |_mostly_ |_Homebrew, GCC or Clang and patched GtkGLExt_ |
 
 NetRadiant is known to build and run properly on Linux, FreeBSD and Windows using MSYS2. NetRadiant is known to build on macOS using Homebrew, but can't display things properly without a modified GtkGLExt which is yet to be upstreamed, and issues are known. Windows build is known to work well on wine, which can be used as a fallback on macOS.
 
 
 NetRadiant is known to build and run properly on Linux, FreeBSD and Windows using MSYS2. NetRadiant is known to build on macOS using Homebrew, but can't display things properly without a modified GtkGLExt which is yet to be upstreamed, and issues are known. Windows build is known to work well on wine, which can be used as a fallback on macOS.
 
@@ -23,11 +30,11 @@ At this time library bundling is only supported on Windows/MSYS2 and Linux. Sinc
 
 ## Getting the sources
 
 
 ## Getting the sources
 
-Source browser, issues and more can be found on the gitlab project: https://gitlab.com/xonotic/netradiant/
+Source browser, issues and more can be found on the gitlab project: [gitlab.com/xonotic/netradiant](https://gitlab.com/xonotic/netradiant)
 
 The latest source is available from the git repository: `https://gitlab.com/xonotic/netradiant.git`
 
 
 The latest source is available from the git repository: `https://gitlab.com/xonotic/netradiant.git`
 
-The `git` client can be obtained from your distribution repository or from the Git website: http://git-scm.org
+The `git` client can be obtained from your distribution repository or from the Git website: [git-scm.org](http://git-scm.org)
 
 A copy of the source tree can be obtained using the command line `git` client this way:
 
 
 A copy of the source tree can be obtained using the command line `git` client this way:
 
@@ -41,7 +48,7 @@ cd netradiant
 
 * OpenGL, LibXml2, GTK2, GtkGLExt, LibJpeg, LibPng, LibWebp, Minizip, ZLib.
 
 
 * OpenGL, LibXml2, GTK2, GtkGLExt, LibJpeg, LibPng, LibWebp, Minizip, ZLib.
 
-To fetch default game packages you'll need Git, Subversion and `unzip`.
+To fetch default game packages you'll need Git, Subversion, Wget and `unzip`.
 
 
 ### Ubuntu:
 
 
 ### Ubuntu:
@@ -64,7 +71,7 @@ Under MSYS2, the mingw shell must be used.
 If you use MSYS2 over SSH, add `mingw64` to the path this way (given you compile for 64 bit Windows, replace with `mingw32` if you target 32 bit Windows instead): 
 
 ```sh
 If you use MSYS2 over SSH, add `mingw64` to the path this way (given you compile for 64 bit Windows, replace with `mingw32` if you target 32 bit Windows instead): 
 
 ```sh
-export PATH="/mingw64/bin:${PATH}"`
+export PATH="/mingw64/bin:${PATH}"
 ```
 
 Install the dependencies this way:
 ```
 
 Install the dependencies this way:
@@ -80,7 +87,7 @@ Explicitely use `mingw-w64-x86_64-` or `mingw-w64-i686-` prefix instead of `ming
 ### macOS:
 
 ```sh
 ### macOS:
 
 ```sh
-brew install gcc cmake gtkglext pkgconfig minizip webp coreutils gnu-sed
+brew install cmake gtkglext pkgconfig minizip webp coreutils gnu-sed wget
 brew link --force gettext
 ```
 
 brew link --force gettext
 ```
 
@@ -98,9 +105,11 @@ git submodule update --init --recursive
 
 ## Simple compilation
 
 
 ## Simple compilation
 
+It is required to first download the sources using `git` (do not use tarballs) and to have dependencies installed, see [Getting the sources](#getting-the-sources) and [Dependencies](#dependencies) above.
+
 ### Easy builder assistant
 
 ### Easy builder assistant
 
-If you have standard needs and use well-known platform and operating system, you may try the provided `easy-builder` script which may be enough for you:
+If you have standard needs and use well-known platform and operating system, you may try the provided `easy-builder` script which may be enough for you, you can run it this way:
 
 ```sh
 ./easy-builder
 
 ```sh
 ./easy-builder
@@ -108,7 +117,7 @@ If you have standard needs and use well-known platform and operating system, you
 
 If everything went right, you'll find your netradiant build in `install/` subdirectory.
 
 
 If everything went right, you'll find your netradiant build in `install/` subdirectory.
 
-If you need to build a debug build (to get help from a developer, for example), you can do it that way:
+If you need to build a debug build (to get help from a developer, for example), you can do it this way:
 
 ```sh
 ./easy-builder --debug
 
 ```sh
 ./easy-builder --debug
@@ -139,19 +148,6 @@ cmake -G "Unix Makefiles" -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
 cmake --build build -- -j$(nproc)
 ```
 
 cmake --build build -- -j$(nproc)
 ```
 
-On macOS you have to add this to the first cmake call:
-
-```sh
--DCMAKE_C_COMPILER=/usr/local/bin/gcc-9 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-9
-```
-
-On FreeBSD you have to add this to the first cmake call:
-
-```sh
--DCMAKE_C_COMPILER=/usr/local/bin/gcc8 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++8
-```
-
-
 ### Subsequent builds
 
 The initial build will download the gamepacks and build NetRadiant and tools. If you frequently recompile you can skip downloading the gamepacks:
 ### Subsequent builds
 
 The initial build will download the gamepacks and build NetRadiant and tools. If you frequently recompile you can skip downloading the gamepacks:
@@ -177,6 +173,8 @@ Options:
   Do not build NetRadiant (default: `ON`, build netradiant graphical editor);
 * `BUILD_TOOLS=OFF`  
   Do not build q3map2 and other tools (default: `ON`, build command line tools);
   Do not build NetRadiant (default: `ON`, build netradiant graphical editor);
 * `BUILD_TOOLS=OFF`  
   Do not build q3map2 and other tools (default: `ON`, build command line tools);
+* `BUILD_DAEMONMAP=OFF`  
+  Do not build daemonmap tool (default: `ON` if submodule is there, buils daemonmap navigation mesh generator);
 * `BUILD_CRUNCH=OFF`  
   Disable crunch support (default: `ON` if submodule is there, enable crunch support);
 * `RADIANT_ABOUTMSG="Custom build by $(whoami)"`  
 * `BUILD_CRUNCH=OFF`  
   Disable crunch support (default: `ON` if submodule is there, enable crunch support);
 * `RADIANT_ABOUTMSG="Custom build by $(whoami)"`  
@@ -184,16 +182,18 @@ Options:
 
 Targets:
 
 
 Targets:
 
-* `binaries`          Compiles all binaries;
-  - `netradiant`      Compiles the netradiant editor;
-  - `modules`         Compiles all modules (each module has its own target as well);
-  - `plugins`         Compiles all plugins (each plugin has its own target as well);
-  - `tools`           Compiles all tools (each tool has its own target as well);
-     * `quake2`       Compiles all the Quake 2 tools: `q2map`, `qdata3`;
-     * `heretic2`     Compiles all the Heretic2 tools: `q2map`, `h2data`;
-     * `quake3`       Compiles all the Quake 3 tools:
-         - `q3map2`   Compiles the quake3 map compiler;
-         - `q3data`   Compiles the q3data tool.
+* `binaries`            Compile all binaries;
+  - `netradiant`        Compile the netradiant editor;
+  - `modules`           Compile all modules (each module has its own target as well);
+  - `plugins`           Compile all plugins (each plugin has its own target as well);
+  - `tools`             Compile all tools (each tool has its own target as well);
+     * `quake2`         Compile all the Quake 2 tools: `q2map`, `qdata3`;
+     * `heretic2`       Compile all the Heretic2 tools: `q2map`, `h2data`;
+     * `quake3`         Compile all the Quake 3 tools:
+         - `q3map2`     Compile the Quake 3 map compiler;
+         - `q3data`     Compile the q3data tool;
+     * `unvanquished`   Compile all the Unvanquished tool: `daemonmap`, `q3map3`, `q4data`;
+         - `daemonmap`  Compile the daemonmap navigation mesh generator.
 
 Type `make help` to get an exhaustive list of targets.
 
 
 Type `make help` to get an exhaustive list of targets.
 
@@ -221,7 +221,7 @@ Run `./gamepacks-manager -h` to know about available licenses and other availabl
 Options:
 
 * `BUNDLE_LIBRARIES=ON`  
 Options:
 
 * `BUNDLE_LIBRARIES=ON`  
-  Bundle libraries, only MSYS2 is supported at this time (default: `OFF`);
+  Bundle libraries, only MSYS2 and Linux are supported at this time (default: `OFF`);
 * `FHS_INSTALL=ON` (available on POSIX systems)  
   Install files following the Filesystem Hierarchy Standard (`bin`, `lib`, `share`, etc.)  
   Also setup XDG mime and application support on Linux-like systems (default: `OFF`, install like in 1999);
 * `FHS_INSTALL=ON` (available on POSIX systems)  
   Install files following the Filesystem Hierarchy Standard (`bin`, `lib`, `share`, etc.)  
   Also setup XDG mime and application support on Linux-like systems (default: `OFF`, install like in 1999);
@@ -233,7 +233,7 @@ Target:
 * `install` Install files.
 
 
 * `install` Install files.
 
 
-## Additonnal notes
+## Additonnal information
 
 ### About Crunch
 
 
 ### About Crunch