]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - README.md
Light curve: Simplify and improve code, fix darkened daytime sky (#7693)
[dragonfireclient.git] / README.md
index 61cf57175ec0bd872d92c7069e0a102bb5fc69cb..1cc6e91a62e766e4ff20643530876ae529b3821f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,12 +23,12 @@ Further documentation
 - Developer wiki: http://dev.minetest.net/
 - Forum: http://forum.minetest.net/
 - Github: https://github.com/minetest/minetest/
-- doc/ directory of source distribution
+- [doc/](doc/) directory of source distribution
 
 Default controls
 ----------------
 All controls are re-bindable using settings.
-Some can be changes in the key config dialog in the settings tab.
+Some can be changed in the key config dialog in the settings tab.
 
 | Button                        | Action                                                         |
 |-------------------------------|----------------------------------------------------------------|
@@ -70,29 +70,28 @@ Some can be changes in the key config dialog in the settings tab.
 
 Paths
 -----
-
 Locations:
 
-* bin   - Compiled binaries
-* share - Distributed read-only data
-* user  - User-created modifiable data
+* `bin`   - Compiled binaries
+* `share` - Distributed read-only data
+* `user`  - User-created modifiable data
 
 Where each location is on each platform:
 
 * Windows .zip / RUN_IN_PLACE source:
-    * bin   = bin
-    * share = .
-    * user  = .
+    * `bin`   = `bin`
+    * `share` = `.`
+    * `user`  = `.`
 * Linux installed:
-    * bin   = /usr/bin
-    * share = /usr/share/minetest
-    * user  = ~/.minetest
+    * `bin`   = `/usr/bin`
+    * `share` = `/usr/share/minetest`
+    * `user`  = `~/.minetest`
 * macOS:
-    * bin   = Contents/MacOS
-    * share = Contents/Resources
-    * user  = Contents/User OR ~/Library/Application Support/minetest
+    * `bin`   = `Contents/MacOS`
+    * `share` = `Contents/Resources`
+    * `user`  = `Contents/User OR ~/Library/Application Support/minetest`
 
-Worlds can be found as separate folders in: user/worlds/
+Worlds can be found as separate folders in: `user/worlds/`
 
 Configuration file:
 -------------------
@@ -106,11 +105,10 @@ Configuration file:
 
 Command-line options:
 ---------------------
-- Use --help
+- Use `--help`
 
 Compiling
 ---------
-
 ### Compiling on GNU/Linux
 
 #### Dependencies
@@ -127,11 +125,11 @@ Compiling
 
 For Debian/Ubuntu:
 
-    $ sudo apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
+    sudo apt install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
 
 For Fedora users:
 
-    sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel
+    sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel
 
 #### Download
 
@@ -139,84 +137,84 @@ You can install git for easily keeping your copy up to date.
 If you don’t want git, read below on how to get the source without git.  
 This is an example for installing git on Debian/Ubuntu:
 
-    $ sudo apt-get install git
+    sudo apt install git
 
 For Fedora users:
 
-    sudo dnf install git
+    sudo dnf install git
 
 Download source (this is the URL to the latest of source repository, which might not work at all times) using git:
 
-    git clone --depth 1 https://github.com/minetest/minetest.git
-    cd minetest
+    git clone --depth 1 https://github.com/minetest/minetest.git
+    cd minetest
 
 Download minetest_game (otherwise only the "Minimal development test" game is available) using git:
 
-    git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
+    git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
 
 Download source, without using git:
 
-    wget https://github.com/minetest/minetest/archive/master.tar.gz
-    tar xf master.tar.gz
-    cd minetest-master
+    wget https://github.com/minetest/minetest/archive/master.tar.gz
+    tar xf master.tar.gz
+    cd minetest-master
 
 Download minetest_game, without using git:
 
-    cd games/
-    wget https://github.com/minetest/minetest_game/archive/master.tar.gz
-    tar xf master.tar.gz
-    mv minetest_game-master minetest_game
-    cd ..
+    cd games/
+    wget https://github.com/minetest/minetest_game/archive/master.tar.gz
+    tar xf master.tar.gz
+    mv minetest_game-master minetest_game
+    cd ..
 
 #### Build
 
 Build a version that runs directly from the source directory:
 
-    cmake . -DRUN_IN_PLACE=TRUE
-    make -j <number of processors>
+    cmake . -DRUN_IN_PLACE=TRUE
+    make -j <number of processors>
 
 Run it:
 
-    ./bin/minetest
+    ./bin/minetest
 
-- Use cmake . -LH to see all CMake options and their current state
+- Use `cmake . -LH` to see all CMake options and their current state
 - If you want to install it system-wide (or are making a distribution package),
-  you will want to use -DRUN_IN_PLACE=FALSE
-- You can build a bare server by specifying -DBUILD_SERVER=TRUE
-- You can disable the client build by specifying -DBUILD_CLIENT=FALSE
-- You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
+  you will want to use `-DRUN_IN_PLACE=FALSE`
+- You can build a bare server by specifying `-DBUILD_SERVER=TRUE`
+- You can disable the client build by specifying `-DBUILD_CLIENT=FALSE`
+- You can select between Release and Debug build by `-DCMAKE_BUILD_TYPE=<Debug or Release>`
   - Debug build is slower, but gives much more useful output in a debugger
 - If you build a bare server, you don't need to have Irrlicht installed.
-  In that case use -DIRRLICHT_SOURCE_DIR=/the/irrlicht/source
+  - In that case use `-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source`
 
 ### CMake options
 
-General options:
-
-    BUILD_CLIENT           - Build Minetest client
-    BUILD_SERVER           - Build Minetest server
-    CMAKE_BUILD_TYPE       - Type of build (Release vs. Debug)
-        Release            - Release build
-        Debug              - Debug build
-        SemiDebug          - Partially optimized debug build
-        RelWithDebInfo     - Release build with Debug information
-        MinSizeRel         - Release build with -Os passed to compiler to make executable as small as possible
-    ENABLE_CURL            - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
-    ENABLE_CURSES          - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
-    ENABLE_FREETYPE        - Build with FreeType2; Allows using TTF fonts
-    ENABLE_GETTEXT         - Build with Gettext; Allows using translations
-    ENABLE_GLES            - Search for Open GLES headers & libraries and use them
-    ENABLE_LEVELDB         - Build with LevelDB; Enables use of LevelDB map backend
-    ENABLE_POSTGRESQL      - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
-    ENABLE_REDIS           - Build with libhiredis; Enables use of Redis map backend
-    ENABLE_SPATIAL         - Build with LibSpatial; Speeds up AreaStores
-    ENABLE_SOUND           - Build with OpenAL, libogg & libvorbis; in-game Sounds
-    ENABLE_LUAJIT          - Build with LuaJIT (much faster than non-JIT Lua)
-    ENABLE_SYSTEM_GMP      - Use GMP from system (much faster than bundled mini-gmp)
-    ENABLE_SYSTEM_JSONCPP  - Use JsonCPP from system
-    RUN_IN_PLACE           - Create a portable install (worlds, settings etc. in current directory)
-    USE_GPROF              - Enable profiling using GProf
-    VERSION_EXTRA          - Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar)
+General options and their default values:
+
+    BUILD_CLIENT=TRUE          - Build Minetest client
+    BUILD_SERVER=FALSE         - Build Minetest server
+    CMAKE_BUILD_TYPE=Release   - Type of build (Release vs. Debug)
+        Release                - Release build
+        Debug                  - Debug build
+        SemiDebug              - Partially optimized debug build
+        RelWithDebInfo         - Release build with Debug information
+        MinSizeRel             - Release build with -Os passed to compiler to make executable as small as possible
+    ENABLE_CURL=ON             - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
+    ENABLE_CURSES=ON           - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
+    ENABLE_FREETYPE=ON         - Build with FreeType2; Allows using TTF fonts
+    ENABLE_GETTEXT=ON          - Build with Gettext; Allows using translations
+    ENABLE_GLES=OFF            - Search for Open GLES headers & libraries and use them
+    ENABLE_LEVELDB=ON          - Build with LevelDB; Enables use of LevelDB map backend
+    ENABLE_POSTGRESQL=ON       - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
+    ENABLE_REDIS=ON            - Build with libhiredis; Enables use of Redis map backend
+    ENABLE_SPATIAL=ON          - Build with LibSpatial; Speeds up AreaStores
+    ENABLE_SOUND=ON            - Build with OpenAL, libogg & libvorbis; in-game Sounds
+    ENABLE_LUAJIT=ON           - Build with LuaJIT (much faster than non-JIT Lua)
+    ENABLE_SYSTEM_GMP=ON       - Use GMP from system (much faster than bundled mini-gmp)
+    ENABLE_SYSTEM_JSONCPP=OFF  - Use JsonCPP from system
+    RUN_IN_PLACE=FALSE         - Create a portable install (worlds, settings etc. in current directory)
+    USE_GPROF=FALSE            - Enable profiling using GProf
+    VERSION_EXTRA=             - Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar)
 
 Library specific options:
     
@@ -275,7 +273,7 @@ Library specific options:
 ### Compiling on Windows
 
 * This section is outdated. In addition to what is described here:
-  * In addition to minetest, you need to download minetest_game.
+  * In addition to minetest, you need to download [minetest_game](https://github.com/minetest/minetest_game).
   * If you wish to have sound support, you need libogg, libvorbis and libopenal
   
 * You need:
@@ -430,10 +428,15 @@ This is how we build Windows releases.
 
 Version scheme
 --------------
-
-Minetest doesn't follow semver. Instead, we do something roughly similar to 0.major.minor.
-
-Since 0.5.0-dev and 0.4.17-dev, the dev notation refers to the next release, 
-ie: 0.5.0-dev is the development version leading to 0.5.0.
-
-Prior to that, we used oldversion-dev.
+We use `major.minor.patch` since 5.0.0-dev. Prior to that we used `0.major.minor`.
+
+- Major is incremented when the release contains breaking changes, all other
+numbers are set to 0.
+- Minor is incremented when the release contains new non-breaking features,
+patch is set to 0.
+- Patch is incremented when the release only contains bugfixes and very
+minor/trivial features considered necessary.
+
+Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, 
+ie: 5.0.0-dev is the development version leading to 5.0.0. 
+Prior to that we used `previous_version-dev`.