Skip to content
This repository has been archived by the owner on Sep 19, 2021. It is now read-only.

elonafoobar/elonafoobar

Repository files navigation

This project has been archived in favor of OpenNefia. Please contribute it instead of foobar.

Elona foobar

Latest Release License AppVeyor Status Travis CI Status GitHub Actions Status Twitter Discord

<Elona foobar>

  • One of the Elona variants.
  • It is made of C++.
  • It is derived from Elona v1.22.
  • It is still in an early stage of development.
  • It features high extensibility through a mod system. [####+]
  • It can be localized in multiple languages. [####+]
  • It works on Windows, Linux and macOS. [####+]

An Elona variant that has a mod system. With its high extensibility, you can build your own Elona.

~Ylva Fantasy Encyclopedia~

How To Build

Requirements

  • make
  • CMake 3.2 or later
  • C++ compiler which supports C++17
  • Boost 1.69
  • Lua 5.3
  • SDL2, SDL2_image, SDL2_ttf and SDL2_mixer
  • OpenSSL 1.1.x
  • clang-format, find and xargs (Optional)

Additional requirements for Windows

  • Visual Studio 2017 x64

Additional requirements for Linux

  • SMPEG
  • Timidity++

Steps

  1. Clone this repository or your forked one: git clone https://github.com/elonafoobar/elonafoobar
  2. Clone submodules as well: git submodule update --init
  3. Download the original Elona (from here).
  4. Extract elona122.zip to the deps directory, so deps\elona exists. This will allow for automatically copying the required assets.
  5. Follow the platform-specific instructions below.

macOS

  1. Install the required dependencies.
brew install cmake boost sdl2 sdl2_ttf sdl2_mixer sdl2_image lua
  1. cd path/to/Elona_foobar; make build

Linux

  1. Install the required dependencies. For Arch Linux:
sudo pacman -S cmake sdl2 sdl2_ttf sdl2_image sdl2_mixer gtk3 smpeg lua boost timidity++

For systems with apt:

sudo apt-get install cmake liblua5.3-dev libboost-all-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev gtk+-3.0 smpeg timidity
  1. cd path/to/Elona_foobar; make build

Windows

  1. Download and install the binaries for Boost 1.69 from here.
  2. Edit Makefile.win to point to your Boost install directory.
  3. Run install.bat inside the deps folder to move the other dependencies to deps\include and deps\lib.
  4. Open the Developer Command Prompt for VS 2017.
  5. cd path/to/Elona_foobar & nmake build -f Makefile.win

To debug with Visual Studio, open bin\Elona_foobar.sln.

Note for parallel build

There are mainly 2 ways to build Elona foobar in parallel.

  • Ninja-build supports parallel build by default. CMake can generate build rule for ninja like this: make CMAKE_ARGS="-GNinja" <BUILD TARGET>
  • CMAKE_BUILD_PARALLEL_LEVEL also works like this: CMAKE_BUILD_PARALLEL_LEVEL=8 make <BUILD TARGET>

How To Play

  1. Copy the graphic and sound folders from vanilla v1.22 to the directory containing the executable.
  2. Execute bin/Elona_foobar, bin/Elona_foobar.app or bin/Debug/Elona_foobar.exe.

How To Contribute

See CONTRIBUTING.md for details.

License

MIT License. See LICENSE.txt for details. This license is applied for the contents in this repository. Note that images, sounds and fonts are not included.

Thirdparty libraries