Git Product home page Git Product logo

elonafoobar's Introduction

Elona foobar AppVeyor Build Status Travis CI Build Status

  • 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. [####+]

How To Build

Requirements

  • 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 and xargs(Optional)

Additional requirements for Windows

  • Visual Studio 2017 x64

Additional requirements for Linux

  • SMPEG
  • Timidity++

Steps

  1. Extract elona122.zip (from here) to the deps directory, so deps\elona exists. This will allow for automatically copying the required assets.
  2. 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.

Android

Building has only been tested on Linux so far.

  1. Copy android/local.properties.sample to android/local.properties and edit it to point to your Android SDK and NDK installation paths.
  2. cd path/to/Elona_foobar; make android (for release, run make 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.

How To Play

  1. Copy the graphic and sound 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.
  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. For files under runtime/graphic folder of the repository, see runtime/graphic/LICENSE.txt.

Thirdparty libraries

Lua libraries

elonafoobar's People

Contributors

ki-foobar avatar ruin0x11 avatar vorlent avatar morganeon avatar nanbansenji avatar tamanugi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.