OpenLara
Classic Tomb Raider open-source engine
inspired by OpenTomb project http://opentomb.github.io/
Links
Roadmap
- graphics improvements
- bug fixes
- RELEASE 1
- OpenLara 2...
This project forked from xproger/openlara
Classic Tomb Raider open-source engine
License: BSD 2-Clause "Simplified" License
Classic Tomb Raider open-source engine
inspired by OpenTomb project http://opentomb.github.io/
After the last core update the game doesn't run anymore as expected:
i got a black screen with white polygons: i can see in distance a white Lara model and next to the camera a big white polygon that rotates with the camera.
Sounds is ok, only the video is broken.
Tested PC and PSX version with same results.
Can be related to the last commit about GLES?
Platform Android 9 Pie (32bit mode)
Mali gpu GM-31
its missin
hello maintainers
here are my fixes for build with recent mesa and gcc10:
diff --git a/src/platform/libretro/libretro-common/glsym/glgen.py b/src/platform/libretro/libretro-common/glsym/glgen.py
index a599e55..270e2c2 100644
--- a/src/platform/libretro/libretro-common/glsym/glgen.py
+++ b/src/platform/libretro/libretro-common/glsym/glgen.py
@@ -57,7 +57,7 @@ def find_gl_symbols(lines):
syms = []
for line in lines:
m = re.search(r'^typedef.+PFN(\S+)PROC.+$', line)
- g = re.search(r'^.+(gl\S+)\W*\(.+\).*$', line)
+ g = re.search(r'^.+\s(gl\S+)\W*\(.+\).*$', line)
if m and noext(m.group(1)):
typedefs.append(m.group(0).replace('PFN', 'RGLSYM').replace('GLDEBUGPROC', 'RGLGENGLDEBUGPROC'))
if g and noext(g.group(1)):
@@ -74,7 +74,7 @@ def generate_declarations(gl_syms):
return ['RGLSYM' + x.upper() + 'PROC ' + '__rglgen_' + x + ';' for x in gl_syms]
def generate_macros(gl_syms):
- return [' SYM(' + x.replace('gl', '') + '),' for x in gl_syms]
+ return [' SYM(' + x.replace('gl', '', 1) + '),' for x in gl_syms]
def dump(f, lines):
f.write('\n'.join(lines))
diff --git a/src/platform/libretro/main.cpp b/src/platform/libretro/main.cpp
index abccf05..c9546d1 100644
--- a/src/platform/libretro/main.cpp
+++ b/src/platform/libretro/main.cpp
@@ -4,7 +4,7 @@
#include <string.h>
#include <math.h>
-#include <glsym/glsym.h>
+#include <glsym/rglgen.h>
#include <libretro.h>
#include <file/file_path.h>
first part: glgen.py
due to upstream mesa GLES2/gl2ext.h
GL_APICALL void GL_APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box);
glgen.py can't handle it correctly
2nd part, main.c
mulitple define of glXXXX
I don't want to send a PR, due to I don't have so many platforms to test, and don't have game date to test,
just pass the build on my Lakka port.
ref: https://gitee.com/zhangn1985/reka/tree/Lakka/
if make a PR or code change, could you add my signed-off:
Zhang Ning <[email protected]>
I had this problem using Retroarch 1.6.1 and I have it with 1.9.0 too.
Files structure is correct and files too.
Loading with retroarch commandline or using retroarch menu to load core and then level, has the same behaviour.
The problem is:
When loading LEVEL1.PHD, sound from video/cinematic is ok but screen is black. If I skip the cinematic, the loading screen shows for a fraction of a second, and then the level loads correctly and can be played.
If I enter menu and go to main menu from the level, everything loads correct (no black screen): cinematics, loading screen and levels
If first I load is TITLE.PHD, sound is ok but screen is black in cinematics and even the menu. I can blindy select to load a level, and only black screen until the level is loaded. Then everything is fine even going back to menu.
So, cinematics and main menu are always black until a level (geometry and characters) are loaded. Then, cinematics and main menu work fine. But not before the level.
Tested in vulkan and gl Retroarch video driver. Tested in fullscreen and windowed.
With standalone OpenLara there is no issue.
Thank you.
EDIT: I have more info, when playin the level, if I hit "F" key to toggle between fullscreen and windowed, the screen is black and the cinematic sound appears, I have to skip blindly again to see the level. So maybe it's something related to the fullscreen or windowed mode initialization.
RetroArch and OpenLara core built from git and with DEBUG=1
RetroArch: Frontend for libretro -- v1.7.5 -- 669f16c00c --
Compiler: GCC (8.2.1) 64-bitBuilt: Dec 11 2018
PID: 15249 (retroarch)
UID: 1000 (parker)
GID: 1000 (parker)
Signal: 11 (SEGV)
Timestamp: Tue 2018-12-11 14:06:50 EST (31s ago)
Command Line: retroarch
Executable: /usr/bin/retroarch
Control Group: /user.slice/user-1000.slice/session-1.scope
Unit: session-1.scope
Slice: user-1000.slice
Session: 1
Owner UID: 1000 (parker)
Boot ID: b369c8dc2ff64b558d88b65c3a73e73a
Machine ID: 8881daa297ff4205bd03d80401ec95e0
Hostname: e55
Storage: /var/lib/systemd/coredump/core.retroarch.1000.b369c8dc2ff64b558d88b65c3a73e73a.15249.1544555210000000.lz4
Message: Process 15249 (retroarch) of user 1000 dumped core.
Stack trace of thread 15249:
#0 0x00007f9521274b3a __GI___strlen_sse2 (libc.so.6)
#1 0x00007f95125a053f n/a (/home/parker/.config/retroarch/cores/openlara_libretro.so)
#2 0x00007f951259fbaa n/a (/home/parker/.config/retroarch/cores/openlara_libretro.so)
#3 0x00007f95125afae9 n/a (/home/parker/.config/retroarch/cores/openlara_libretro.so)
#4 0x00005635a4844882 core_init (retroarch)
#5 0x00005635a484e3e4 command_event_init_core (retroarch)
#6 0x00005635a4847fce retroarch_main_init (retroarch)
#7 0x00005635a485dc08 content_load (retroarch)
#8 0x00005635a485e784 task_load_content (retroarch)
#9 0x00005635a4a319f9 default_action_ok_load_content_from_playlist_from_menu (retroarch)
#10 0x00005635a4a28ece menu_entry_action (retroarch)
#11 0x00005635a4a6741d generic_menu_iterate (retroarch)
#12 0x00005635a4a0f1ff menu_driver_iterate (retroarch)
#13 0x00005635a4848c92 runloop_check_state (retroarch)
#14 0x00005635a4849b7c runloop_iterate (retroarch)
#15 0x00005635a4939c65 ui_application_qt_run (retroarch)
#16 0x00005635a4843472 rarch_main (retroarch)
#17 0x00007f95211ff223 __libc_start_main (libc.so.6)
#18 0x00005635a483fece _start (retroarch)
Stack trace of thread 15307:
#0 0x00007f952586eafc pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00005635a485b5c4 threaded_worker (retroarch)
#2 0x00005635a4a7811f thread_wrap (retroarch)
#3 0x00007f9525868a9d start_thread (libpthread.so.0)
#4 0x00007f95212d6b23 __clone (libc.so.6)
Backtrace
my_log_file.txt
Hi there,
With the latest commits, I finally git this core to display on my GNU/Linux systems! However, it seems to be missing FMV and tittle screen rendering. Is that right or am I missing something?
Upstream OpenLara seems to display both fine.
The FMV files are in place, I can hear them but they are not rendered.
openlara is using Android mapping, but the classics aren't available on the play store anymore (at least not in my country), so i can't get the files required.
i think it´s better to modify the mapping to use opentomb mapping.
opentomb files are readily available for anyone
@derpeg what do you think?
I was trying to get this core to build on non-Xorg, GLES-based platforms like the Raspberry Pi or any X86 PC with no Xorg server running (RetroArch is know for running on KMS/DRM+GLES) but it fails:
../../gapi_gl.h:92:24: fatal error: GL/glx.h: No such file or directory
#include <GL/glx.h>
^
compilation terminated.
I am forcing compilation by defining a non-Xorg OS on core.h like this:
#elif __KMSDRM__
#define _OS_KMSDRM 1
#define _GAPI_GL 1
#define _GAPI_GLES 1
#define DYNGEOM_NO_VBO
and also using that OS on gapi_gl.h like this on line 48:
#elif defined(_OS_RPI) || defined(_OS_CLOVER) || defined(_OS_KMSDRM)
Then I added a new platform definition on the libretro platform Makefile, like this:
else ifeq ($(platform), rpi)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
CXXFLAGS += -D__KMSDRM__
CFLAGS += -D__KMSDRM__
LIBS += -lpthread
GLES = 1
And then it builds on the X-less Pi as intended, but all I get on loading PSX data is a segfault... Can you please test?
Hello, I wanted to put this core, which, although it has some bugs, worked, but I realized that it no longer compiles for some reason.
Let's see if someone looks at it and puts it, because it's a shame. Missing fixes and stuff, but it seems like it was abandoned or some problem with the code, but it's weird that nothing is said.
Let's see if anyone knows what happened.
Thank you.
[ 73s] g++ -fPIC -shared -Wl,--version-script=link.T -Wl,--no-undefined -o openlara_libretro.so ./libretro-common/glsym/rglgen.o ./../../libs/stb_vorbis/stb_vorbis.o ./../../libs/tinf/tinflate.o ./libretro-common/compat/compat_strl.o ./libretro-common/compat/compat_strcasestr.o ./libretro-common/file/file_path.o ./libretro-common/encodings/encoding_utf.o ./libretro-common/glsym/glsym_gl.o ./main.o ./../../libs/minimp3/minimp3.o -lpthread -lGL -lm
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc50): multiple definition of __rglgen_glDeleteProgram'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c10): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb20): multiple definition of
__rglgen_glDeleteVertexArrays'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x16c0): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb48): multiple definition of __rglgen_glDeleteBuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1cb0): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb18): multiple definition of
__rglgen_glBindVertexArray'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x16c8): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xbc0): multiple definition of __rglgen_glEnableVertexAttribArray'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1bf0): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xbb0): multiple definition of
__rglgen_glVertexAttribPointer'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1980): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb40): multiple definition of __rglgen_glBindBuffer'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1cb8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc58): multiple definition of
__rglgen_glCreateProgram'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c20): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb08): multiple definition of __rglgen_glProgramBinary'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1240): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xba8): multiple definition of
__rglgen_glGetProgramiv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1bc8): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc40): multiple definition of __rglgen_glUseProgram'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1b48): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc00): multiple definition of
__rglgen_glGetUniformLocation'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1ba0): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xbf8): multiple definition of __rglgen_glUniform1iv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1ae0): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc30): multiple definition of
__rglgen_glCreateShader'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c18): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc20): multiple definition of __rglgen_glShaderSource'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1b50): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc10): multiple definition of
__rglgen_glCompileShader'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c28): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc08): multiple definition of __rglgen_glGetShaderInfoLog'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1bb0): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc18): multiple definition of
__rglgen_glAttachShader'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c38): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc28): multiple definition of __rglgen_glDeleteShader'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c08): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xbc8): multiple definition of
__rglgen_glBindAttribLocation'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c30): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xc48): multiple definition of __rglgen_glLinkProgram'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1b58): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc38): multiple definition of
__rglgen_glGetProgramInfoLog'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1bc0): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb10): multiple definition of __rglgen_glGetProgramBinary'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1248): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xc60): multiple definition of
__rglgen_glGenerateMipmap'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x16f8): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb50): multiple definition of __rglgen_glGenBuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1ca8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb38): multiple definition of
__rglgen_glBufferData'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c98): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb28): multiple definition of __rglgen_glGenVertexArrays'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x16b8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xbf0): multiple definition of
__rglgen_glUniform1fv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1b00): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xbe8): multiple definition of __rglgen_glUniform2fv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1af8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xbe0): multiple definition of
__rglgen_glUniform3fv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1af0): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xbd8): multiple definition of __rglgen_glUniform4fv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1ae8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xbd0): multiple definition of
__rglgen_glUniformMatrix4fv'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1ab0): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xbb8): multiple definition of __rglgen_glDisableVertexAttribArray'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1bf8): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xba0): multiple definition of
__rglgen_glGenFramebuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1730): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb98): multiple definition of __rglgen_glBindFramebuffer'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1740): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb90): multiple definition of
__rglgen_glGenRenderbuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1760): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb88): multiple definition of __rglgen_glBindRenderbuffer'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1770): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb80): multiple definition of
__rglgen_glFramebufferTexture2D'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1718): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb78): multiple definition of __rglgen_glFramebufferRenderbuffer'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1708): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb70): multiple definition of
__rglgen_glRenderbufferStorage'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1758): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb68): multiple definition of __rglgen_glCheckFramebufferStatus'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1728): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb60): multiple definition of
__rglgen_glDeleteFramebuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1738): first defined here
[ 73s] /usr/bin/ld: ./main.o:(.bss+0xb58): multiple definition of __rglgen_glDeleteRenderbuffers'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1768): first defined here [ 73s] /usr/bin/ld: ./main.o:(.bss+0xb30): multiple definition of
__rglgen_glBufferSubData'; ./libretro-common/glsym/glsym_gl.o:(.bss+0x1c90): first defined here
[ 73s] collect2: error: ld returned 1 exit status
[ 73s] make: *** [Makefile:209: openlara_libretro.so] Error 1
[ 73s] error: Bad exit status from /var/tmp/rpm-tmp.1XD9f5 (%build)
[ 73s]
[ 73s]
[ 73s] RPM build errors:
[ 73s] Bad exit status from /var/tmp/rpm-tmp.1XD9f5 (%build)
[ 73s] ### VM INTERACTION START ###
[ 74s] Failed to write wtmp record, ignoring: Read-only file system
[ 74s] Failed to write utmp record: Read-only file system
[ 74s] Powering off.
[ 74s] [ 67.301243][ T3396] reboot: Power down
[ 74s] ### VM INTERACTION END ###
[ 74s]
[ 74s] sheep83 failed "build _service:download_src_package:libretro-openlara.spec" at Sat Mar 5 20:09:35 UTC 2022.
[ 74s]
I started work on porting this to the RG350. The M version with its 640x480 screen could be really nice. Remind me to open a PR
OGG playback is broken in the libretro build of openlara. Audio file seem to be loaded fine, but only a crackling sound is played. Other sounds (guns, environment, ...) work fine.
I've dumped the PCM spit out by the decoder (location below) and it is indeed borked.
OpenLara/src/platform/libretro/main.cpp
Line 435 in 78d0272
Problem is not present in standalone OpenLara build from the same source.
Edit: Same issue with MP3.
hi
i need to build the core openlara
for my system but after build my core is not work correctly
check this
screen picture
and this log
[INFO] RetroArch 1.7.6 (Git d236ce797)
[INFO] Redirection de la sauvegarde instantanée vers "/recalbox/share/saves/atomiswave/LEVEL2.srm".
[INFO] Redirection de la sauvegarde instantanée vers "/recalbox/share/saves/atomiswave/LEVEL2.state".
[INFO] === Build =======================================
Capacités: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES
Built: Feb 12 2019
[INFO] Version: 1.7.6
[INFO] Git: d236ce797
[INFO] =================================================
[INFO] Loading dynamic libretro core from: "/usr/lib/libretro/openlara_libretro.so"
[INFO] [overrides] no core-specific overrides found at /recalbox/share/system/.config/retroarch/config/OpenLara/OpenLara.cfg.
[INFO] [overrides] no content-dir-specific overrides found at /recalbox/share/system/.config/retroarch/config/OpenLara/Tomb Raider.cfg.
[INFO] [overrides] no game-specific overrides found at /recalbox/share/system/.config/retroarch/config/OpenLara/LEVEL2.cfg.
[INFO] Shaders: preset directory: /recalbox/share_init/shaders/presets
[INFO] Shaders: no game-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/LEVEL2.cgp.
[INFO] Shaders: no game-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/LEVEL2.glslp.
[INFO] Shaders: no content-dir-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/Tomb Raider.cgp.
[INFO] Shaders: no content-dir-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/Tomb Raider.glslp.
[INFO] Shaders: no core-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/OpenLara.cgp.
[INFO] Shaders: no core-specific preset found at /recalbox/share_init/shaders/presets/OpenLara/OpenLara.glslp.
[INFO] Environ SET_VARIABLES.
[INFO] Remaps: remap directory: /recalbox/share/system/.config/retroarch/config/remaps
[INFO] Remaps: no game-specific remap found at /recalbox/share/system/.config/retroarch/config/remaps/OpenLara/LEVEL2.rmp.
[INFO] Remaps: no content-dir-specific remap found at /recalbox/share/system/.config/retroarch/config/remaps/OpenLara/Tomb Raider.rmp.
[INFO] Remaps: no core-specific remap found at /recalbox/share/system/.config/retroarch/config/remaps/OpenLara/OpenLara.rmp.
[INFO] Redirection de la sauvegarde instantanée vers "/recalbox/share/saves/atomiswave/LEVEL2.srm".
[INFO] Redirection de la sauvegarde instantanée vers "/recalbox/share/saves/atomiswave/LEVEL2.state".
[INFO] Environ SYSTEM_DIRECTORY: "/recalbox/share/bios/".
[openlara]: Saves should be in: /recalbox/share/saves/atomiswave/openlara/
[INFO] Environ GET_RUMBLE_INTERFACE.
[INFO] Chargement du contenu ignoré. L'implémentation va le charger d'elle-même.
[INFO] OMG !!! We've loaded the command line hash !!! Look: 0x0 .
[INFO] CRC32: 0x0 .
[INFO] Environ GET_VARIABLE openlara_resolution:
[INFO] 1280x720
[openlara]: Got size: 1280 x 720.
[INFO] Environ GET_VARIABLE openlara_framerate:
[INFO] 60fps
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] RetroPad, User 1, Button "B (bottom)" => "Action (Shoot/grab)"
[INFO] RetroPad, User 1, Button "Y (left)" => "Jump"
[INFO] RetroPad, User 1, Button "Select" => "Inventory"
[INFO] RetroPad, User 1, Button "Start" => "Start"
[INFO] RetroPad, User 1, Button "D-Pad Up" => "Up"
[INFO] RetroPad, User 1, Button "D-Pad Down" => "Down"
[INFO] RetroPad, User 1, Button "D-Pad Left" => "Left"
[INFO] RetroPad, User 1, Button "D-Pad Right" => "Right"
[INFO] RetroPad, User 1, Button "A (right)" => "Roll"
[INFO] RetroPad, User 1, Button "X (up)" => "Draw weapon"
[INFO] RetroPad, User 1, Button "L" => "Look (when holding)"
[INFO] RetroPad, User 1, Button "R" => "Walk (when holding)"
[INFO] RetroPad, User 1, Button "L2" => "Duck/Crouch (TR3 and up)"
[INFO] RetroPad, User 1, Button "R2" => "Dash (TR3 and up)"
[INFO] RetroPad, User 2, Button "B (bottom)" => "Action (Shoot/grab)"
[INFO] RetroPad, User 2, Button "Y (left)" => "Jump"
[INFO] RetroPad, User 2, Button "Select" => "Inventory"
[INFO] RetroPad, User 2, Button "Start" => "Start"
[INFO] RetroPad, User 2, Button "D-Pad Up" => "Up"
[INFO] RetroPad, User 2, Button "D-Pad Down" => "Down"
[INFO] RetroPad, User 2, Button "D-Pad Left" => "Left"
[INFO] RetroPad, User 2, Button "D-Pad Right" => "Right"
[INFO] RetroPad, User 2, Button "A (right)" => "Roll"
[INFO] RetroPad, User 2, Button "X (up)" => "Draw weapon"
[INFO] RetroPad, User 2, Button "L" => "Look (when holding)"
[INFO] RetroPad, User 2, Button "R" => "Walk (when holding)"
[INFO] RetroPad, User 2, Button "L2" => "Duck/Crouch (TR3 and up)"
[INFO] RetroPad, User 2, Button "R2" => "Dash (TR3 and up)"
[INFO] Environ SET_PIXEL_FORMAT: XRGB8888.
[INFO] Environ SET_HW_RENDER.
[INFO] Requesting OpenGLES2 context.
[openlara]: contentDir: /recalbox/share/roms/ports/openlara/
Loaded game!
[INFO] Ignore le chargement de la SRAM..
[INFO] Version de l'API libretro: 1
[INFO] Compilé depuis l'API: 1
[INFO] [Audio]: Set audio input rate to: 44055.95 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Video]: Using HW render, OpenGL driver forced.
[INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay
[INFO] [EGL]: EGL version: 1.4
[INFO] [GL]: Found GL context: x-egl
[INFO] [GL]: Detecting screen resolution 1280x1024.
[INFO] [X/EGL]: Window manager is matchbox.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [X/EGL]: Using Xinerama on screen #0.
[INFO] [X/EGL]: X = 0, Y = 0, W = 1280, H = 1024.
[INFO] [EGL]: Created shared context: 0x1ca93f1.
[INFO] [EGL]: Current context: 0x1a6d3d1.
[INFO] [X/EGL]: Using windowed fullscreen.
[INFO] [EGL]: eglSwapInterval(1)
[INFO] [GL]: Vendor: NVIDIA Corporation, Renderer: GeForce GT 1030/PCIe/SSE2.
[INFO] [GL]: Version: OpenGL ES 3.2 NVIDIA 390.87.
[INFO] [GL]: Using resolution 1280x1024
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Setting up menu pipeline shaders for XMB ...
[INFO] [GLSL]: Compiling ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling simple ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling modern snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling bokeh shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snowflake shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Resetting shader to defaults ...
[INFO] [GL]: Using 1 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Initializing HW render (2048 x 2048).
[INFO] [GL]: Max texture size: 32768 px, renderbuffer size: 32768 px.
[INFO] [GL]: Supports FBO (render-to-texture).
[INFO] [udev]: Plugged pad: Generic X-Box pad (9414:22554) on port #0.
[INFO] [udev]: Pad #0 (/dev/input/event4) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event4) supports 16 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".
[ERROR] Failed to create rendering backend: freetype.
Failed to open /recalbox/share_init/system/.emulationstation/themes/recalbox/data/ubuntu_condensed.ttf: No such file or directory
[ERROR] Failed to create rendering backend: stb.
[INFO] [Font]: Using font rendering backend: bitmap.
[INFO] [X11]: Suspending screensaver (X11, xdg-screensaver).
sh: xdg-screensaver: command not found
[WARN] Could not suspend screen saver.
[INFO] [Video]: Found display server: x11
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_lcd3x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_lcd3x_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_lcd3x_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_retro.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_retro_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_retro_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_scanline_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/4xbr_scanline_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_lcd3x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_lcd3x_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_lcd3x_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_retro.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_retro_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_retro_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_scanline_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/5xbr_scanline_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-caligari.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-caligari_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-caligari_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-pi-barrel.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-pi-mask.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/crt-pi.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/dot-green.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/dot-green2.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/dot.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_lcd3x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_lcd3x_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_lcd3x_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_retro.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_retro_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_retro_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_scanline_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/hq2x_scanline_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/lcd3x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/lcd3x_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/lcd3x_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/phosphor.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/retro.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/retro_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/retro_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/scanline_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/scanline_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/waterpaint-scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_lcd3x.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_lcd3x_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_lcd3x_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_retro.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_retro_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_retro_gamma_125.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_scanline.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_scanline_gamma_115.glslp"
[INFO] Shader trouvé "/recalbox/share_init/shaders/xbr-lvl1_scanline_gamma_125.glslp"
Context reset!
OpenLara (Mar 20 2019)
Vendor : NVIDIA Corporation
Renderer : GeForce GT 1030/PCIe/SSE2
Version : OpenGL ES 3.2 NVIDIA 390.87
cache : /recalbox/share/bios/openlara/cache/
supports :
variyngs count : 16
binary shaders : true
vertex arrays : true
depth texture : true
shadow sampler : true
discard frame : true
NPOT textures : true
3D textures : false
RG textures : true
border color : true
clip distance : false
anisotropic : 16
float textures : float = full, half = full
shader: cache warm-up...
! shader: 0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(24) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(26) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(27) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(28) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(29) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(30) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(32) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(33) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(36) : error C7573: Ope
! program: Fragment info
-------------
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(24) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(6) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(7) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(8) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(9) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(10) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(13) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(46) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
! shader: 0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(3) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(19) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(20) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(21) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(22) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(46) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(47) : error C7573: OpenGL
! program: Fragment info
-------------
0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(3) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(19) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(20) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(21) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(22) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(46) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
! shader: 0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(3) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(19) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(20) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(21) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(22) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(46) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(47) : error C7573: OpenGL
! program: Fragment info
-------------
0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(3) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(19) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(20) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(21) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(22) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(23) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(46) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
! shader: 0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
! program: Fragment info
-------------
0(1) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
0(2) : error C7573: OpenGL/ES requires precision specifier on this float type (there is no default precision)
(0) : error C2003: incompatible options for link
shader: cache is ready
meshes: 181
atlas: 2048 x 2048
MegaMesh (i:116484 v:50905 a:3, size:1861928)
error loading file "level/1/AZTECLOA.PNG"
error loading file "audio/1/003.ogg"
Read Slots...
[INFO] [ALSA]: Using signed 16-bit format.
[INFO] [ALSA]: Period size: 1024 frames
[INFO] [ALSA]: Buffer size: 3072 frames
[INFO] [ALSA]: Can pause: no.
[INFO] [Menu]: Found menu display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [LED]: LED driver = 'null' 0x6c1160
[INFO] [MIDI]: Initializing ...
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[ERROR] [MIDI]: snd_seq_open failed with error -2.
[ERROR] [MIDI]: Initialization failed (list of input devices unavailable).
[INFO] Chargement du fichier d'historique: [/recalbox/share/system/configs/retroarch/content_history.lpl].
[INFO] Chargement du fichier d'historique: [/recalbox/share/system/configs/retroarch/content_favorites.lpl].
[INFO] Chargement du fichier d'historique: [/recalbox/share/system/configs/retroarch/content_music_history.lpl].
[INFO] Chargement du fichier d'historique: [/recalbox/share/system/configs/retroarch/content_video_history.lpl].
[INFO] Chargement du fichier d'historique: [/recalbox/share/system/configs/retroarch/content_image_history.lpl].
[INFO] [GL]: VSync => on
[INFO] [EGL]: eglSwapInterval(1)
the sound work great but video bug
thanks for work
This seems to suggest that the only things left for iOS support are keyboard/mouse support. However, trying to build the libretro core shows that openlara relies upon EGL
Error here:
./../../gapi_gl.h:26:14: fatal error: 'EGL/egl.h' file not found
I attempted to include https://github.com/alco/EGL_mac_ios but that did not seem to be sufficient.
Hello! Recently tried OpenLara on Lakka 3.1, and core doesn't respect game focus setting.
When game focus is on (with scroll lock), keyboard is disabled (it shouldn't), when off, keyboard is enabled but keys like space fasten time and doesnt act like its supposed to do ingame.
tyrquake core works as expected. Let me know what can I do to help to fix it.
Seems like something is not properly initialized
Workaround
load the first level (skip videos)
and now exit to titlescreen from the inventory
Notice that the titlescreen now works, go to "start game" and the fmv now plays corrtectly
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.