An experimental lua game framework for libretro following the LÖVE API
Go to file
Rob Loach 06b03a2494
Some checks failed
CI / build_linux (push) Has been cancelled
CI / build_linux_jit (push) Has been cancelled
CI / build_linux_luasocket (push) Has been cancelled
CI / build_linux_armv7_neon (push) Has been cancelled
CI / build_osx (push) Has been cancelled
CI / build_osx_jit (push) Has been cancelled
CI / build_osx_luasocket (push) Has been cancelled
CI / build_windows (push) Has been cancelled
CI / build_windows_jit (push) Has been cancelled
CI / build_windows_luasocket (push) Has been cancelled
Merge pull request #250 from warmenhoven/warmenhoven/pr/tvos13
tvos: properly set min supported version
2024-10-15 22:43:09 -04:00
.github/workflows Luajit on mac arm64 (#238) 2022-09-24 10:42:33 +02:00
deps Luajit on mac arm64 (#238) 2022-09-24 10:42:33 +02:00
examples Fix a few unused variable notices 2021-03-27 19:53:56 -04:00
jni Fix Android build: 2021-03-23 17:29:19 +01:00
libretro-common Update libretro-common 2021-11-20 13:23:00 -05:00
msbuild makefile: fix typos that made player build not really do what was intended (#202) 2021-05-05 18:31:56 +07:00
test Add lutro.filesystem.getAppdataDirectory() 2021-12-30 23:01:03 -05:00
tests/audio tests/audio added: runs a series of state-machine based audio tests. (#195) 2021-04-19 15:43:55 +07:00
.editorconfig editorconfig added to help normalize tab/whitespace behavior for contributors (#169) 2021-03-01 12:35:23 +07:00
.gitignore microsoft visual studio projects added, adds 'make vcxproj' to Makefile (#178) 2021-03-23 08:39:24 +07:00
.gitlab-ci.yml Fix miyoo name 2022-05-22 02:46:27 +02:00
audio_mixer.h audio: add support for static sources, add lua_ref logic to playing sounds (#173) 2021-03-23 09:13:32 +07:00
audio.c Greg/trace allocation (#13) 2022-07-29 15:47:20 +02:00
audio.h Add audio pause APIs: lutro.audio.pause and source.pause (#197) 2021-04-20 21:09:10 +07:00
AUTHORS Update AUTHORS 2021-02-21 13:12:02 +07:00
decoder.c Fix memleakOnRealloc (#229) 2022-02-14 03:10:57 +07:00
decoder.h audio: fix decoding of non-canonical wavefile headers. (#192) 2021-04-19 15:41:28 +07:00
event.c Fix indentation 2021-02-21 12:58:32 +07:00
event.h Updates - remove obj dir when running make clean 2017-12-18 00:03:32 +01:00
filesystem.c Greg/trace allocation (#13) 2022-07-29 15:47:20 +02:00
filesystem.h Add lutro.filesystem.getAppdataDirectory() 2021-12-30 23:01:03 -05:00
graphics.c font: add font extraspacing parameter (#17) 2022-08-04 14:21:19 +02:00
graphics.h Replace rpng with stb_image for image loading (#180) 2021-03-28 21:03:02 +07:00
image.c Greg/crash fixes (#16) 2022-08-02 13:34:49 +02:00
image.h Fix PS2 compilation and add ABGR color support 2021-07-22 16:41:04 +02:00
input.c Buildfix 2017-12-18 00:17:07 +01:00
input.h Use the new input names in lutro_gamepadevent 2015-03-05 04:45:04 +01:00
joystick.c Fix the number of buttons (#14) 2022-07-29 15:48:12 +02:00
joystick.h Fix the number of buttons (#14) 2022-07-29 15:48:12 +02:00
keyboard.c validate the lua stack (#221) 2021-07-21 21:48:17 +07:00
keyboard.h Updates - remove obj dir when running make clean 2017-12-18 00:03:32 +01:00
libretro.c Greg/trace allocation (#13) 2022-07-29 15:47:20 +02:00
LICENSE Update copyright 2015-02-17 20:36:49 +01:00
link.T Add missing libretro linker script 2018-04-06 18:51:40 -05:00
live.c microsoft visual studio projects added, adds 'make vcxproj' to Makefile (#178) 2021-03-23 08:39:24 +07:00
live.h Implement hotswapping 2015-02-23 22:01:44 -03:00
lutro_assert.h Add lua backtrace info to lutro_error/alter/assert (#207) 2021-05-05 21:12:25 +07:00
lutro_math.c Fix indentation 2021-02-21 12:58:32 +07:00
lutro_math.h Rename math.h and math.c into lutro_math.h and lutro_math.c to avoid conflicts with the standard header <math.h> 2016-05-22 22:27:58 +02:00
lutro_stb_image.c Greg/crash fixes (#16) 2022-08-02 13:34:49 +02:00
lutro_stb_image.h Replace rpng with stb_image for image loading (#180) 2021-03-28 21:03:02 +07:00
lutro_window.c Fix a few unused variable notices 2021-03-27 19:53:56 -04:00
lutro_window.h Rename window.h to lutro_window.h to match the source file 2021-03-23 16:03:57 -04:00
lutro.c Support .luac (#239) 2022-09-24 10:43:03 +02:00
lutro.h Greg/trace allocation (#13) 2022-07-29 15:47:20 +02:00
lutro.sln Add new build types: Debug, Tool, and Player (#188) 2021-04-12 22:14:37 +07:00
Makefile tvos: properly set min supported version 2024-10-15 21:34:43 -04:00
Makefile.common Indentation 2022-10-02 09:24:57 +02:00
mouse.c Indentation 2022-10-02 09:33:39 +02:00
mouse.h Add lutro.mouse.getX/Y/Position 2016-04-16 04:53:20 -04:00
painter.c Fix a typo in pntr_fill_rect 2023-05-29 21:28:28 +02:00
painter.h font: add font extraspacing parameter (#17) 2022-08-04 14:21:19 +02:00
README.md Update README.md 2023-03-29 11:37:24 +02:00
runtime.c Luajit on mac arm64 (#238) 2022-09-24 10:42:33 +02:00
runtime.h fix a number of issues with error handling (#194) 2021-04-20 20:53:04 +07:00
sound.c Greg/trace allocation (#13) 2022-07-29 15:47:20 +02:00
sound.h audio: add support for static sources, add lua_ref logic to playing sounds (#173) 2021-03-23 09:13:32 +07:00
system.c Add remaining lutro.system functions 2016-07-26 03:31:33 -04:00
system.h Add remaining lutro.system functions 2016-07-26 03:31:33 -04:00
timer.c Add lutro.timer.getFPS() 2016-09-05 11:44:54 -04:00
timer.h Add lutro.timer.getFPS() 2016-09-05 11:44:54 -04:00

Lutro

Experimental Lua game framework for libretro, following the LÖVE API.

Lutro is software rendered and implements only a subset of the LÖVE API. It targets portability though the libretro API and backed in dependancies.

Sample Games

Usage

Through RetroArch, use the Lutro core to load the game's source directory:

retroarch -L libretro_lutro.so path/to/gamedir/

Alternatively, you can load a compressed .lutro file:

retroarch -L libretro_lutro.so game.lutro

Build

Compile Lutro by installing the RetroArch dependencies, and running:

make

There are a few optional defines you can use to change how Lutro behaves.

  • make HAVE_COMPOSITION=1 Enables alpha-blending.

Test

Run the Lutro testing suite by executing:

make test

To run tests manually, run:

retroarch -L path/to/lutro_libretro.so test