- 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, macOS, and Android. [####+]
make
- CMake 3.2 or later
- C++ compiler which supports C++14
- Boost 1.69
- Lua 5.3
- SDL2, SDL2_image, SDL2_ttf and SDL2_mixer
clang-format
,find
andxargs
(Optional)
- Visual Studio 2017 x64
- SMPEG
- Timidity++
- Extract
elona122.zip
(from here) 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
.
Building has only been tested on Linux so far.
- Copy
android/local.properties.sample
toandroid/local.properties
and edit it to point to your Android SDK and NDK installation paths. cd path/to/Elona_foobar; make android
(for release, runmake android_release
)
A standalone APK will be output in bin/
.
By default, assets from vanilla Elona in deps/
are not bundled with the APK, to respect the original content authors. To bundle these assets, pass the flag -DANDROID_BUNDLE_ASSETS
to cmake
. If original assets are not detected on startup, the app will prompt for the location of elona122.zip
.
- Copy the
graphic
andsound
folders from vanilla v1.22 to the directory containing the executable. Make sure not to overwrite any files that already exist, as they have been updated in this version. - 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. For files under runtime/graphic folder of the repository, see runtime/graphic/LICENSE.txt.
- microhcl: see src/thirdparty/microhcl/LICENSE.
- microhil: see src/thirdparty/microhil/LICENSE.
- Catch2: see src/thirdparty/catch2/LICENSE.
- hayai: see src/thirdparty/hayai/LICENSE.
- sol2: see src/thirdparty/sol2/LICENSE.txt.
- ordered_map: see src/thirdparty/ordered_map/LICENSE.
- boostrandom: see src/thirdparty/boostrandom/LICENSE_1_0.txt.
- cmake/FindXXX.cmake: see cmake/LICENSE.
- nativefiledialog: see src/thirdparty/nfd/LICENSE.
- cpp-netlib/uri: see src/thirdparty/uri/LICENSE_1_0.txt.
- xxHash: see src/thirdparty/xxHash/LICENSE.
- zstr: see src/thirdparty/zstr/LICENSE.
- minizip: see src/thirdparty/minizip/LICENSE.
- json5: see src/thirdparty/json5/LICENSE.
- inspect.lua (MIT)