Git Product home page Git Product logo

elonafoobar's Introduction

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.75
  • Lua 5.4
  • 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. 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.

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. 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

elonafoobar's People

Contributors

ki-foobar avatar ruin0x11 avatar nanbansenji avatar vorlent avatar morganeon avatar evgenijm86 avatar aidatorajiro avatar murakamiii avatar univeous avatar tamanugi avatar

Forkers

murakamiii

elonafoobar's Issues

Fix RuntimeError

環境 Environment

  • OS version: macOS
  • Elona foobar version: develop 3586468

詳細 Details

./bin/Elona_foobar
0.00033703 INFO  [_native_] Elona foobar version 0.7.5 (35864685), compiled on Darwin-20.6.0 at 2021-10-30T16:49:18Z
0.331223 INFO  [_native_] Profile: initialize with 'default'.
0.331516 INFO  [_native_] Profile: load 'default'.
0.399765 INFO  [_native_] Lua.mod: found mod core
0.402017 INFO  [_native_] Lua.mod: Loaded mod core
[sol3] An error occurred and has been passed to an error handler: sol: runtime error: ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: field 'define_prototype' is not callable (a nil value)
stack traceback:
        ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: in main chunk
        [C]: in global 'require_relative'
        ...epos/nanbansenji/ElonaFoobar/bin/mod/core-0.2.6/data.lua:1: in main chunk
[sol3] An exception occurred: sol: runtime error: ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: field 'define_prototype' is not callable (a nil value)
stack traceback:
        ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: in main chunk
        [C]: in global 'require_relative'
        ...epos/nanbansenji/ElonaFoobar/bin/mod/core-0.2.6/data.lua:1: in main chunk
libc++abi: terminating with uncaught exception of type sol::error: sol: runtime error: ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: field 'define_prototype' is not callable (a nil value)
stack traceback:
        ...ansenji/ElonaFoobar/bin/mod/core-0.2.6/data/activity.lua:3: in main chunk
        [C]: in global 'require_relative'
        ...epos/nanbansenji/ElonaFoobar/bin/mod/core-0.2.6/data.lua:1: in main chunk
stack traceback:
        [C]: in global 'require_relative'
        ...epos/nanbansenji/ElonaFoobar/bin/mod/core-0.2.6/data.lua:1: in main chunk
Received signal 6: Abort trap: 6
Backtrace:
0          0x106751ee3 0xcee3
                       at 0x3d7d
1       0x7fff204aed7d 0x7fc200000400
                       at 0x80406
2       0x7fc200000400 0xfef2
                       at 0x15e5
3       0x7fff203be406 0x16595
                       at 0xf307
4       0x7fff2042cef2 0x11beb
                       at 0x11bb2
5       0x7fff2041e5e5 0xbeef82
                       at 0xbef37d
6       0x7fff20317595 0x5b2a7d
                       at 0x5b8864
7       0x7fff2042c307 0x6f5094
                       at 0x67f6
8       0x7fff2042ebeb 0x15f3d
9       0x7fff2042ebb2 __cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*)
10         0x107333f82 elona::lua::DataManager::_init_from_mod(elona::lua::ModEnv&)
11         0x10733437d elona::lua::DataManager::init_from_mods()
12         0x106cf7a7d elona::initialize_lua()
13         0x106cfd864 elona::init()
14         0x106e3a094 elona::run(int, char const* const*)
15         0x10674b7f6 15  Elona_foobar                        0x000000010674b7f6 main + 278
16      0x7fff20484f3d 16  libdyld.dylib                       0x00007fff20484f3d start + 1
make: *** [run] Abort trap: 6

再現方法 How to reproduce

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.