This project has been archived in favor of OpenNefia. Please contribute it instead of 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~
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
andxargs
(Optional)
- Visual Studio 2017 x64
- SMPEG
- Timidity++
- Clone this repository or your forked one:
git clone https://github.com/elonafoobar/elonafoobar
- Clone submodules as well:
git submodule update --init
- Download the original Elona (from here).
- Extract
elona122.zip
to thedeps
directory, sodeps\elona
exists. This will allow for automatically copying the required assets. - Follow the platform-specific instructions below.
- Install the required dependencies.
brew install cmake boost sdl2 sdl2_ttf sdl2_mixer sdl2_image lua
cd path/to/Elona_foobar; make build
- 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
cd path/to/Elona_foobar; make build
- Download and install the binaries for Boost
1.69
from here. - Edit
Makefile.win
to point to your Boost install directory. - Run
install.bat
inside thedeps
folder to move the other dependencies todeps\include
anddeps\lib
. - Open the
Developer Command Prompt for VS 2017
. cd path/to/Elona_foobar & nmake build -f Makefile.win
To debug with Visual Studio, open bin\Elona_foobar.sln
.
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>
- Copy the
graphic
andsound
folders from vanilla v1.22 to the directory containing the executable. - Execute
bin/Elona_foobar
,bin/Elona_foobar.app
orbin/Debug/Elona_foobar.exe
.
See CONTRIBUTING.md for details.
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.
- Catch2: see license file.
- sol2: see license file.
- ordered_map: see license file.
- boostrandom: see license file.
- cmake/FindXXX.cmake: see license file.
- nativefiledialog: see license file.
- cpp-netlib/uri: see license file.
- xxHash: see license file.
- zstr: see license file.
- minizip: see license file.
- json5: see license file.
- inspect.lua: see license file.
- LuaFun: see license file.
- msgpack-c: see license file.