readme update
[xonotic/netradiant.git] / README.md
index 8bd40e2..90059ac 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
 NetRadiant
 ==========
 
-The open source, cross platform level editor for idtech games (Radiant fork)
+![NetRadiant logo](setup/data/tools/bitmaps/splash.png)
+
+The open source, cross platform level editor for idtech games (Radiant fork).
 
 # Getting the Sources
 
@@ -11,9 +13,10 @@ https://gitlab.com/xonotic/netradiant.git
 The git client can be obtained from the Git website:
 http://git-scm.org
 
-To get a copy of the source using the commandline git client:
+To get a copy of the source using the command line git client:
+
 ```
-git clone https://gitlab.com/xonotic/netradiant.git
+git clone --recursive https://gitlab.com/xonotic/netradiant.git
 cd netradiant
 ```
 
@@ -27,56 +30,75 @@ See also https://gitlab.com/xonotic/netradiant/ for a source browser, issues and
  * GtkGLExt
  * LibJpeg
  * LibPng
+ * LibWebp
+ * Minizip
  * ZLib
 
-# Compiling
-
-This project uses the usual CMake workflow:
-
-`cmake -H. -Bbuild && cmake --build build -- -j$(nproc)``
-
-## linux
-
-```
-cmake -H. -Bbuild -G "Unix Makefiles"
-```
-
 ## msys2
 
-`pacman -S --needed base-devel`
+Under MSYS2, the mingw shell must be used
 
 ### 32 bit:
 
 ```
-pacman -S --needed mingw-w64-i686-{toolchain,cmake,gtk2,gtkglext}
-cmake -H. -Bbuild -G "MSYS Makefiles" -DGTK2_GLIBCONFIG_INCLUDE_DIR=/mingw32/lib/glib-2.0/include -DGTK2_GDKCONFIG_INCLUDE_DIR=/mingw32/lib/gtk-2.0/include
+pacman -S --needed base-devel mingw-w64-i686-{toolchain,cmake,make,gtk2,gtkglexti,libwebp}
 ```
 
 ### 64 bit:
 
 ```
-pacman -S mingw-w64-x86_64-{toolchain,cmake,gtk2,gtkglext}
-cmake -H. -Bbuild -G "MSYS Makefiles" -DGTK2_GLIBCONFIG_INCLUDE_DIR=/mingw64/lib/glib-2.0/include -DGTK2_GDKCONFIG_INCLUDE_DIR=/mingw64/lib/gtk-2.0/include
+pacman -S --needed base-devel mingw-w64-x86_64-{toolchain,cmake,make,gtk2,gtkglext,libwebp}
 ```
 
 ## OS X:
 
 ```
 brew install gtkglext
+brew install webp
 brew install Caskroom/cask/xquartz
 brew link --force gettext
 ```
 
-More Compilation Details
-------------------------
+# Submodules
+
+ * Crunch (optional, disabled by default, only supported with CMake build)
+
+If you have not used `--recursive` option at `git clone` time, you can fetch Crunch this way (run it whithin NetRadiant repository):
+
+
+```
+git submodule update --init --recursive
+```
+
+# Compiling
+
+This project uses the usual CMake workflow:
+
+## Debug
+
+```
+cmake -G "Unix Makefiles" -H. -Bbuild && cmake --build build -- -j$(nproc)
+```
+
+## Release
+
+```
+cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build -- -j$(nproc)
+```
+
+## More Compilation Details
 
 options:
- * `DOWNLOAD_GAMEPACKS=ON`
+
+ * `DOWNLOAD_GAMEPACKS=ON`  
    Automatically download the gamepack data during the first compilation
- * `RADIANT_ABOUTMSG="Custom build"`
+ * `BUILD_CRUNCH=ON`  
+   Enable crunch support
+ * `RADIANT_ABOUTMSG="Custom build"`  
    A message shown in the about dialog
 
 targets:
+
  * `radiant`    Compiles the radiant core binary
  * `modules`    Compiles all modules (each module has its own target as well)
  * `plugins`    Compiles all plugins (each plugin has its own target as well)
@@ -84,3 +106,7 @@ targets:
  * `quake3`     Compiles all the Quake3 tools
    - `q3map2`     Quake3 map compiler
    - `q3data`
+
+## Note about Crunch
+
+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.