Skip to content

Commit

Permalink
readme: updates
Browse files Browse the repository at this point in the history
  • Loading branch information
illwieckz committed Sep 3, 2022
1 parent fbaf505 commit 018f454
Showing 1 changed file with 37 additions and 14 deletions.
51 changes: 37 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Dæmon

Dæmon is the standalone engine that powers the multiplayer first person shooter [Unvanquished](https://unvanquished.net).

[![GitHub tag](https://img.shields.io/github/tag/DaemonEngine/Daemon.svg)](https://github.com/DaemonEngine/Daemon/tags)

[![IRC](https://img.shields.io/badge/irc-%23daemon--engine%2C%23unvanquished--dev-4cc51c.svg)](https://web.libera.chat/#daemon-engine,#unvanquished-dev)
Expand All @@ -8,7 +10,9 @@
|---------|-----|-------|
| [![AppVeyor branch](https://img.shields.io/appveyor/ci/DolceTriade/daemon/master.svg)](https://ci.appveyor.com/project/DolceTriade/daemon/history) | [![Travis branch](https://img.shields.io/travis/DaemonEngine/Daemon/master.svg)](https://travis-ci.org/DaemonEngine/Daemon/branches) | [![Travis branch](https://img.shields.io/travis/DaemonEngine/Daemon/master.svg)](https://travis-ci.org/DaemonEngine/Daemon/branches) |

The standalone engine that powers the multiplayer first person shooter [Unvanquished](https://github.com/Unvanquished/Unvanquished).
ℹ️ We provide ready-to-use downloads for the Unvanquished game on the Unvanquished [download page](https://unvanquished.net/download/), builds of the Dæmon engine are included.

ℹ️ The repository of the source code for the game logic of Unvanquished can be found [there](https://github.com/Unvanquished/Unvanquished).

## Workspace requirements

Expand All @@ -24,8 +28,7 @@ Visual Studio/MSVC (at least Visual Studio 2019).

## Dependencies

### Required

Required:
`zlib`,
`libgmp`,
`libnettle`,
Expand All @@ -40,22 +43,22 @@ Visual Studio/MSVC (at least Visual Studio 2019).
`libogg`,
`libvorbis`,
`libopus`,
`libopusfile`

### Optional
`libopusfile`.

`ncurses`,
Optional:
`ncurses`.

### MSYS2

`base-devel`
Also required:
`base-devel`.

64-bit: `mingw-w64-x86_64-{toolchain,cmake}`
_or_ 32-bit: `mingw-w64-i686-{toolchain,cmake}`
64-bit: `mingw-w64-x86_64-{toolchain,cmake}`,
_or_ 32-bit: `mingw-w64-i686-{toolchain,cmake}`.

MSYS2 is an easy way to get MingW compiler and build dependencies, the standalone MingW on Windows also works.

## Download instructions
## Downloading the sources for the game engine

Daemon requires several sub-repositories to be fetched before compilation. If you have not yet cloned this repository:

Expand All @@ -70,11 +73,11 @@ cd Daemon/
git submodule update --init --recursive
```

If cmake complains about missing files in `libs/crunch/` folder or similar issue then you have skipped this step.
ℹ️ If cmake complains about missing files in `libs/crunch/` folder or similar issue then you have skipped this step.

## Build Instructions

Instead of `-j4` you can use `-jN` where `N` is your number of CPU cores to distribute compilation on them. Linux systems usually provide an handy `nproc` tool that tells the number of CPU core so you can just do `-j$(nproc)` to use all available cores.
💡️ Instead of `-j4` you can use `-jN` where `N` is your number of CPU cores to distribute compilation on them. Linux systems usually provide a handy `nproc` tool that tells the number of CPU core so you can just do `-j$(nproc)` to use all available cores.

Enter the directory before anything else:

Expand All @@ -99,9 +102,29 @@ cmake --build build -- -j4

### Linux cross-compile to Windows

For a 32-bit build use the `cross-toolchain-mingw32.cmake` toolchain file instead.
💡️ For a 32-bit build use the `cross-toolchain-mingw32.cmake` toolchain file instead.

```sh
cmake -H. -Bbuild -DCMAKE_TOOLCHAIN_FILE=cmake/cross-toolchain-mingw64.cmake
cmake --build build -- -j4
```

## Running a game

ℹ️ On Windows you'll have to use `daemon.exe` and `daemonded.exe` instead of `./daemon` and `./daemonded`, everything else will be the same.

To run a game you would need a `pkg/` folder full of `.dpk` files provided by the Dæmon-based game you want to run. This `pkg/` folder has to be stored next to the `daemon` binary.

You then run the game this way:

```
./daemon
```

If you want to run a dedicated server, you may want to use the non-graphical `daemonded` server binary and start a map this way:

```
./daemonded +map <mapname>
```

Map names and other options may be [specific to the game](https://github.com/Unvanquished/Unvanquished#configuring-the-server).

0 comments on commit 018f454

Please sign in to comment.