]> git.lizzy.rs Git - nothing.git/blobdiff - README.md
Merge pull request #1255 from tsoding/1253
[nothing.git] / README.md
index faafec8002258dc4f1180987f4f47626a483446d..79da0155ddfff92d9007a4ac8fd331763590518b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
-[![Build Status](https://travis-ci.org/tsoding/nothing.svg?branch=master)](https://travis-ci.org/tsoding/nothing)
-[![Build status](https://ci.appveyor.com/api/projects/status/gxfgojq4ko98e0g0/branch/master?svg=true)](https://ci.appveyor.com/project/rexim/nothing/branch/master)
+[![Tsoding](https://img.shields.io/badge/twitch.tv-tsoding-purple?logo=twitch&style=for-the-badge)](https://www.twitch.tv/tsoding)
+[![Build Status](https://ci.appveyor.com/api/projects/status/gxfgojq4ko98e0g0/branch/master?svg=true)](https://ci.appveyor.com/project/rexim/nothing/branch/master)
+[![Build Status](https://github.com/tsoding/nothing/workflows/CI/badge.svg)](https://github.com/tsoding/nothing/actions)
 
 # Nothing
 
@@ -8,15 +9,14 @@
 
 ## Dependencies
 
-- [gcc]
+- [gcc] or [clang] or [MSVC 2015+][visual-studio]
 - [cmake]
 - [libsdl2-dev]
-- [inotify-tools]
 
 ### Ubuntu
 
 ```console
-$ sudo apt-get install gcc cmake libsdl2-dev inotify-tools libxml2-dev
+$ sudo apt-get install gcc cmake libsdl2-dev
 ```
 
 ### MacOS
@@ -38,29 +38,45 @@ $ nix-shell
 ### Arch Linux
 
 ```console
-$ sudo pacman -S gcc cmake sdl2 inotify-tools libxml2
+$ sudo pacman -S gcc cmake sdl2
 ```
 
 ### Windows
 
+#### Visual Studio
+
 - [Visual Studio 2015+](https://visualstudio.microsoft.com/)
 - [SDL2 VC Development Libraries](https://www.libsdl.org/release/SDL2-devel-2.0.9-VC.zip)
 
+#### MinGW
+- [mingw-w64](https://mingw-w64.org)
+- [SDL2 MinGW Development Libraries](https://www.libsdl.org/release/SDL2-devel-2.0.10-mingw.tar.gz)
+
 ## Quick Start
 
 ### Linux
 
+#### CMake
+
 ```console
 $ mkdir build
 $ cd build/
 $ cmake ..
 $ make
-$ cd ../data/
-$ ../build/nothing
+$ ./nothing
+```
+
+#### SCU
+
+```console
+$ ./build-posix.sh
+$ ./nothing
 ```
 
 ### Windows
 
+#### Visual Studio
+
 - Enter the Visual Studio Command Line Development Environment https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line
   - Basically just find `vcvarsall.bat` and run `vcvarsall.bat x64` inside of cmd
 - Download [SDL2 VC Development Libraries](https://www.libsdl.org/release/SDL2-devel-2.0.9-VC.zip) and copy it to `path\to\nothing`
@@ -73,8 +89,36 @@ $ ../build/nothing
 > cd build
 > cmake ..
 > cmake --build .
-> cd ../data/
-> ..\build\nothing
+> .\nothing
+```
+
+#### MinGW (with MSYS)
+
+```console
+$ cd path/to/nothing
+$ wget https://www.libsdl.org/release/SDL2-devel-2.0.10-mingw.tar.gz
+$ tar xzf SDL2-devel-2.0.10-mingw.tar.gz
+$ mv SDL2-2.0.10 SDL2
+$ rm SDL2-devel-2.0.10-mingw.tar.gz
+$ mkdir build && cd build
+$ cmake .. -G "MSYS Makefiles"
+$ cmake --build .
+$ ./nothing
+```
+
+#### MinGW (without MSYS)
+- Download [SDL2 MinGW Development Libraries](https://www.libsdl.org/release/SDL2-devel-2.0.10-mingw.tar.gz) and copy it to `path\to\nothing`
+
+```console
+> cd path\to\nothing
+> 7z x SDL2-devel-2.0.10-mingw.tar.gz -so | 7z x -si -ttar
+> move SDL2-2.0.10 SDL2
+> del SDL2-devel-2.0.10-mingw.tar.gz
+> mkdir build
+> cd build
+> cmake .. -G "MinGW Makefiles"
+> cmake --build .
+> .\nothing
 ```
 
 ## Controls
@@ -83,17 +127,18 @@ $ ../build/nothing
 
 #### Keyboard
 
-| Key     | Action                                                      |
-|---------|-------------------------------------------------------------|
-| `d`     | Move to the right                                           |
-| `a`     | Move to the left                                            |
-| `SPACE` | Jump                                                        |
-| `c`     | Open debug console                                          |
-| `r`     | Reload the current level including the Player's position    |
-| `q`     | Reload the current level preserving the Player's position   |
-| `p`     | Toggle game pause                                           |
-| `l`     | Toggle transparency on objects. Useful for debugging levels |
-| `TAB`   | Switch to Level Editor                                      |
+| Key       | Action                                                      |
+|---------- |-------------------------------------------------------------|
+| `d`       | Move to the right                                           |
+| `a`       | Move to the left                                            |
+| `w/SPACE` | Jump                                                        |
+| `c`       | Open debug console                                          |
+| `r`       | Reload the current level including the Player's position    |
+| `q`       | Reload the current level preserving the Player's position   |
+| `p`       | Toggle game pause                                           |
+| `l`       | Toggle transparency on objects. Useful for debugging levels |
+| `TAB`     | Switch to Level Editor                                      |
+| `CTRL+q`  | Quit the game                                               |
 
 #### Gamepad
 
@@ -104,13 +149,30 @@ $ ../build/nothing
 
 ### ConsolĂ©
 
-| Key       | Action                   |
-|-----------|--------------------------|
-| `ESC`     | Exit console             |
-| `Enter`   | Evaluate the expression  |
-| `Up/Down` | Traverse console history |
-
-<!-- TODO: Level Editor is not documented -->
+| Key                 | Action                   |
+|---------------------|--------------------------|
+| `ESC`               | Exit console             |
+| `Enter`             | Evaluate the expression  |
+| `Up/Down`           | Traverse console history |
+| `CTRL+L`            | Clear                    |
+| `Ctrl+X`, `CTRL+W`  | Cut                      |
+| `Ctrl+C`, `ALT+W`   | Copy                     |
+| `Ctrl+V`, `CTRL+Y`  | Paste                    |
+
+### Level Editor
+
+To access the Level Editor open a level and press `TAB`.
+
+| Key             | Action                                     |
+|-----------------|--------------------------------------------|
+| `s`             | Save level                                 |
+| `Mouse Wheel`   | Zoom and pan                               |
+| `CTRL+z`        | Undo                                       |
+| `q`             | Toggle snapping mode                       |
+| `SHIFT+Up/Down` | Change overlaping order of selected object |
+| `CTRL+c/v`      | Copy/paste selected object                 |
+| `F2`            | Rename selected object                     |
+| `DELETE`        | Delete selected object                     |
 
 ## Support
 
@@ -124,6 +186,7 @@ You can support my work via
 [./levels/]: ./levels/
 [./levels/Makefile]: ./levels/Makefile
 [gcc]: https://gcc.gnu.org/
+[clang]: https://clang.llvm.org/
 [cmake]: https://cmake.org/
 [libsdl2-dev]: https://www.libsdl.org/
 [NixOS]: https://nixos.org/