All Projects → MikuAuahDark → Live2LOVE

MikuAuahDark / Live2LOVE

Licence: Zlib License
LÖVE library to show Live2D Cubism models (WIP)

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Live2LOVE

Luven
Minimalist lighting engine for Löve2D
Stars: ✭ 37 (+68.18%)
Mutual labels:  love2d, love2d-framework, love2d-library
lovelive
💕 Live coding framework for LÖVE(2D Game Engine)
Stars: ✭ 27 (+22.73%)
Mutual labels:  love2d, love2d-framework
clove
A helper library for LÖVE which allows to loads huge amount of assets super-easily 👊
Stars: ✭ 18 (-18.18%)
Mutual labels:  love2d, love2d-library
lovector
A pure-lua vector graphics processing and rendering library for LÖVE 2D
Stars: ✭ 29 (+31.82%)
Mutual labels:  love2d, love2d-library
animX
An animation library for Love2D with unique features
Stars: ✭ 17 (-22.73%)
Mutual labels:  love2d, love2d-library
RetroLove
A collection of simple games built with the LOVE game framework.
Stars: ✭ 13 (-40.91%)
Mutual labels:  love2d, love2d-framework
drop
A LÖVE visualizer and music player
Stars: ✭ 17 (-22.73%)
Mutual labels:  love2d, love2d-framework
iqm-exm
IQM & EXM model format specs, Blender exporter, and LÖVE loader.
Stars: ✭ 35 (+59.09%)
Mutual labels:  love2d, love2d-library
love-playdate-emulation
A basic template for previewing games built with LÖVE in a Playdate-like environment.
Stars: ✭ 24 (+9.09%)
Mutual labels:  love2d
Live2D-Widget
Desktop Widget for Live2D Models
Stars: ✭ 88 (+300%)
Mutual labels:  live2d
WildWorld
Sandbox freestyle multiplayer game/engine in LÖVE/LUA.
Stars: ✭ 35 (+59.09%)
Mutual labels:  love2d
susse
super ültra sweet sprite editor
Stars: ✭ 22 (+0%)
Mutual labels:  love2d
gorge
love2d shoot 'em up
Stars: ✭ 27 (+22.73%)
Mutual labels:  love2d
itchy
A simple version checker for LÖVE games on itch.io
Stars: ✭ 15 (-31.82%)
Mutual labels:  love2d
fault
An obstacle avoidance game for Android and iOS.
Stars: ✭ 19 (-13.64%)
Mutual labels:  love2d
superfeather
SNES game engine in 65816 assembly, focusing on performance, flexibility, convenience
Stars: ✭ 31 (+40.91%)
Mutual labels:  love2d
super-sphere
A minimal action game by Kenneth Reitz.
Stars: ✭ 37 (+68.18%)
Mutual labels:  love2d
lovedebug
A fixed and updated repo of LOVEDEBUG
Stars: ✭ 22 (+0%)
Mutual labels:  love2d
golflike
A golf roguelike
Stars: ✭ 19 (-13.64%)
Mutual labels:  love2d
vector.lua
a simple vector library for Lua based on the PVector class from processing
Stars: ✭ 25 (+13.64%)
Mutual labels:  love2d

Live2LÖVE

LÖVE module (or library) for loading & rendering Live2D models.
Require at least LÖVE 11.0 to run.

Live2D Notice

You need Live2D Cubism 3 SDK for Native to compile this project. This repository doesn't ship it, and you need to retrieve that from Live2D website. Make sure to grab Live2D Cubism 3 SDK for Native.

Note that distributing your game which uses this library is subject to Live2D licensing.

Lua

The Lua include file assume it's built against LuaJIT 2.0.5 (LÖVE for Windows). If not, please modify the include and the lib files accordingly.

Compiling

You need CMake to generate the project. Recent version is strongly recommended, CMake 3.6 is minimum.

You need the Live2D Cubism 3 SDK for Native as described above. Your downloaded zip should have this structure

Cubism3SDKforNative-<version>
+ Core

* some are omitted because they're not necessary for Live2LÖVE

This copying instructions assume the directory exists in Live2LÖVE. If it's not exist, create it!

Copy the Core folder to live2d/Core folder in Live2LÖVE (merge).

Once all set, you should be able to build the project with CMake:

Windows

Build Live2LOVE.dll (shared library)

cmake -T v120 -H. -Bbuild -DBUILD_SHARED_LIBS=1
cmake --build build --config Release

Build Live2LOVE.lib (static library)

cmake -T v120 -H. -Bbuild -DBUILD_SHARED_LIBS=0
cmake --build build --config Release

Linux

Note: Only 64-bit target is supported!

Build libLive2LOVE.so

cmake -Bbuild -H. -DBUILD_SHARED_LIBS=1
cmake --build build --config Release

Note that libLive2LOVE.so depends on libLive2DCubismCore.so. Linking to libLive2DCubismCore.a is currently unsupported as Live2LOVE requires -fPIC but their static library aren't compiled with such option.

Android

NDK r18 and below

Note that this is only tested to work in NDK r16b. NDK r17 and r18 may not work!

Example command-line to build Live2LOVE for Android targetting architecture armeabi-v7a with API Level 14:

cmake -Bbuild -H. -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_SYSTEM_VERSION=14 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared
cmake --build build --config RelWithDebInfo

NDK r19 and later

Example command-line to build Live2LOVE for Android targetting architecture armeabi-v7a with API Level 16:

cmake -Bbuild -H. -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_STL=c++_shared -DANDROID_TOOLCHAIN=clang -DANDROID_PLATFORM=android-16 -DANDROID_ABI=armeabi-v7a
cmake --build build --config RelWithDebInfo

Regardless of NDK version, only C++ shared STL is supported. GNUSTL won't work.

It will generate libLive2LOVE.a which you can add to LOVE source as prebuit and then you have to patch src/modules/love/love.cpp

// put it in place where there are tons of luaopen_*
extern "C" int luaopen_Live2LOVE(lua_State *L)

// put it above `love.nogame` string.
	{ "Live2LOVE", luaopen_Live2LOVE },

Documentation

The documentation is generated with LDoc. You can generate the docs with this command

ldoc -c ldocConfig.ld -d docs

License

This LÖVE library is licensed under zLib license, excluding the Live2D include files and libraries.
Games/things released with this library is subject to Live2D licensing!

PicoJSON is licensed under 2-clause BSD license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].