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,findandxargs(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.zipto thedepsdirectory, sodeps\elonaexists. 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.69from here. - Edit
Makefile.winto point to your Boost install directory. - Run
install.batinside thedepsfolder to move the other dependencies todeps\includeanddeps\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_LEVELalso works like this:CMAKE_BUILD_PARALLEL_LEVEL=8 make <BUILD TARGET>
- Copy the
graphicandsoundfolders from vanilla v1.22 to the directory containing the executable. - Execute
bin/Elona_foobar,bin/Elona_foobar.apporbin/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.