X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;ds=sidebyside;f=README.md;h=faafec8002258dc4f1180987f4f47626a483446d;hb=b864f802f68cbfb1e5f80781a23f4740655c9976;hp=2c359f160e4eec54ac0e2d7eeb2a79c9561abd51;hpb=00d3c8dd301ef4b952f175f697d91ec35887ec7b;p=nothing.git diff --git a/README.md b/README.md index 2c359f16..faafec80 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,116 @@ [![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) # Nothing ![](https://i.imgur.com/7mECYKU.gif) ![](https://i.imgur.com/ABcJqB5.gif) -## Quick Start +## Dependencies + +- [gcc] +- [cmake] +- [libsdl2-dev] +- [inotify-tools] + +### Ubuntu ```console -$ nix-shell # Only on NixOS -$ mkdir build -$ cd build/ -$ cmake .. -$ make -$ ./nothing -$ ./nothing_test +$ sudo apt-get install gcc cmake libsdl2-dev inotify-tools libxml2-dev ``` -## Editing Levels +### MacOS -Generally creating a level looks like: - -``` -SVG File -> Custom Level File -> Game +```console +$ brew install gcc cmake sdl2 ``` -To convert SVG to the level file install [xqilla] and run -[svg2rects.xqe] script: +### NixOS + +For [NixOS] we have a development environment defined in [default.nix] +with all of the required dependencies. You can enter the environment +with `nix-shell` command: ```console -$ xqilla ./devtools/svg2rects.xqe -i -o +$ nix-shell ``` -All of the levels reside in the [./levels/] folder. Use -[./levels/Makefile] to automatically rebuild all levels. +### Arch Linux -### Level Editing Workflow - -1. `$ inkscape ./levels/level.svg &` -2. `$ ./build/nothing ./levels/level.txt &` -3. `$ make watch` -4. Edit Level in Inkscape and Save -5. Switch to the Game and reload level by pressing Q -6. Go to 1 +```console +$ sudo pacman -S gcc cmake sdl2 inotify-tools libxml2 +``` -## Build on Windows +### Windows -You need to install [conan][] and [Visual Studio 2017][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) -### Dependencies +## Quick Start -Current version of [SDL2/2.0.5@lasote/stable][conan-sdl2] in the conan-transit -repository is not compatible with the latest conan, so you'll need to install -it locally from the git repository: +### Linux ```console -$ git clone https://github.com/lasote/conan-sdl2.git # temporary, I hope hope hope -$ cd conan-sdl2 -$ conan export SDL2/2.0.5@lasote/stable +$ mkdir build +$ cd build/ +$ cmake .. +$ make +$ cd ../data/ +$ ../build/nothing ``` -### Building +### Windows -Execute the following commands inside of the `nothing` directory: +- 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` ```console -$ conan install --build missing --install-folder build -$ cd build -$ cmake .. -G "Visual Studio 15 2017 Win64" +> cd path\to\nothing +> 7z x SDL2-devel-2.0.9-VC.zip +> move SDL2-2.0.9 SDL2 +> mkdir build +> cd build +> cmake .. +> cmake --build . +> cd ../data/ +> ..\build\nothing ``` -After that, build the `build/nothing.sln` file with Visual Studio. +## Controls + +### Game + +#### 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 | + +#### Gamepad + +| Button | Action | +|--------------|------------------------| +| `Left Stick` | Movement of the Player | +| `1` | Jump | + +### Consolé + +| Key | Action | +|-----------|--------------------------| +| `ESC` | Exit console | +| `Enter` | Evaluate the expression | +| `Up/Down` | Traverse console history | + + ## Support @@ -79,10 +119,13 @@ You can support my work via - Twitch channel: https://www.twitch.tv/subs/tsoding - Patreon: https://www.patreon.com/tsoding -[conan]: https://www.conan.io/ -[conan-sdl2]: https://bintray.com/conan/conan-transit/SDL2%3Alasote/2.0.5%3Astable [visual-studio]: https://www.visualstudio.com/ -[xqilla]: http://xqilla.sourceforge.net/HomePage -[svg2rects.xqe]: ./devtools/svg2rects.xqe +[svg2rects.py]: ./devtools/svg2rects.py [./levels/]: ./levels/ [./levels/Makefile]: ./levels/Makefile +[gcc]: https://gcc.gnu.org/ +[cmake]: https://cmake.org/ +[libsdl2-dev]: https://www.libsdl.org/ +[NixOS]: https://nixos.org/ +[default.nix]: ./default.nix +[inotify-tools]: https://github.com/rvoicilas/inotify-tools