libretro / tyrquake Goto Github PK
View Code? Open in Web Editor NEWLibretro port of Tyrquake (Quake 1 engine)
License: GNU General Public License v2.0
Libretro port of Tyrquake (Quake 1 engine)
License: GNU General Public License v2.0
Main features of the libretro port: - Runs at fixed frametimes; - Software bilinear filtering; - Software Half-Life/Quake 2-style colored lighting RGBA; - Chasecam / thirdperson view mode; - Interpolated animation applied on the keyframe animation for smooth animation; ----------- Tyr-Quake ----------- Date: 2009-07-05 Version: 0.61 Author: Kevin Shanahan (aka. Tyrann) Webpage: http://disenchant.net email: [email protected] Why? ---- This is meant to be a fairly conservative branch of the Quake source code. It's intended to support Quake and Quakeworld in both software and GL versions, as well as the Quakeworld Server; all on both MS Windows and Linux (BSD supported as best I can manage with some help from some other users). I don't intend on changing the look or feel of the game by adding lots of rendering enhancements, etc, but rather just fixing little bugs that I've come across over the years. I'll be adding small enhancements and may even rewrite substantial portions of the code, but I don't want to change the fundamental feel of the game. Building: --------- All you should need to do to get a regular build for your system is type 'make'. This should build all five executable targets and place them in a ./bin subdirectory. Windows builds can be done using MinGW and Msys on a Windows host, or by cross compiling with a suitable MinGW cross compiler. As long as your cross compiler is in your path somewhere, "make TARGET_OS=WIN32" should be all you need. If you're in a hurry and only want to build one target, you can type 'make bin/<target>' - where <target> is the name of the executable you want to build. To build a debug version or one without the intel assembly, there are options you can select by setting Makefile variables: e.g. make DEBUG=Y prepare tyr-glquake or make USE_X86_ASM=N prepare tyr-qwcl Version History: v0.61 ===== - Fix QWSV command line parsing - Attempt to detect when X86 assembler files should be used v0.60 ===== - Fix video buffer overrun when rendering endtitle in low-res vid mode - Reduce the load timeout when a changelevel fails v0.59 ===== - Various improvements to the windows video code - Start in windowed mode to avoid extra mode changes on the monitor - Fix logic for mouse grab and release when console or menu is active - Fix handling of sound files with incorrect headers (fixes SoE crash) - Increase software renderer's MAX_MOD_KNOWN (fixes Contract Revoked crash) - Various other minor cleanups and code improvements v0.58 ===== - Various net fixes and cleanups from O.Sezer - Fixed mouse wheel support with MS "Direct Input" and made direct input the default (disable with -nodinput). - Added some cross compiling support to the main makefile (MinGW32 target) - Remove the MAX_PRSTR limit (was set too low anyway) v0.57 ===== - Various 64 bit correctness fixes. All executables now work at least on 64 bit Linux, as long as you build with USE_X86_ASM=N. - Removed a few pieces of dead/legacy code. No more "-record" and "-playback" options (net_vcr) and no more IPX or Serial/Modem networking either. - Fixed a fairly rare memory corruption issue due to poor handling of BSPs having more than one sky texture in glquake. - Various other minor fixes and code cleanups. v0.56 ===== - Added "-developer" command line argument (equivalent to "developer 1" at the console, but activates very early during startup) - "-w" is equivalent to "-window" on the command line - Fixed potential crash on startup when hostname is not set - Various fixes for big-endian builds - Now works on Linux/PPC! v0.55 ===== - Fix a crash provoked by the qd100qlite2 mod - Refactor the cdaudio system, adding a BSD driver - Allow user to add custom data/config files in $HOME/.tyrquake - Add console stretch effect ("gl_constretch 1" to enable) - Makefile cleanups to aid customisations for packagers v0.54 ===== - Remove some no longer required rendering code paths (gl_texsort 0, _gl_sky_mtex 0, _gl_lightmap_sort 1) - Use API generated OpenGL texture handles, instead of our own. This is my first baby step before looking at some decent texture management. - Share a few more files between NQ/QW - Improved build dependencies to handle moved files v0.53 ===== - Add command argument completion for changelevel - Re-organised the build system, proper auto dependency generation - Fixed sound issue when compiling with GCC 4.1 (compiler bug) - Fix QW option menu, "use mouse" option now usable. - Fix "particle's look like triangles" GL renderer bug v0.52 ===== - move cmd.[ch] into common directories - increase clipnode limit to 65520 (was 32767) v0.51 ===== - Work around problems with MinGW upgrade - Merge sv_move, r_alias and r_sprite into common - STree api additions and cleanups - Replace old completion framework completely with strees - Other minor fixes and source formatting changes v0.50 ===== - Added command argument completion infrastructure - Added argument completion for map, playdemo and timedemo commands v0.49 ===== - Better fix for glXGetProcAddress ABI issues on Linux - Add "maplist" command - lists maps in the current path(s) - Enable command completion after ';' on a line - Fix problem with really long GL extension strings (e.g. NVidia/Linux) v0.48 ===== - Save mlook state to config.cfg - Make mousewheel work in Linux - Make CD volume control work in Linux - Make gamma controls work in Linux/Windows GLQuake - Thanks to Stephen A for supplying the patches used as a basis for the above (and Ozkan for some of the original work) v0.47 ===== - Add fullscreen modes to software quake in Linux - Added r_drawflat to glquake, glqwcl - Fixed r_waterwarp in glquake (though it still looks crap) - Multitexture improvements (sky, also usable with gl_texsort 1) - Add rendering of collision hulls (via cvar _gl_drawhull for now) v0.46 ===== - Fixed default vidmodes in windows, software NQ/QW (broken in v0.0.39 I think) - Fixed sound channel selection broken in v0.45 - Fixed scaling of non-default sized console backgrounds v0.45 ===== - Changed to a simpler version numbering system (fits the console better too!) - Makefile tweaks; can optionally build with no intel asm files now. - Started moving around bits of the net code. No behaviour changes intended. - Con_Printf only triggers screen updates with "\n" now. - Various other aimless code cleanups (comments, preprocessor bits) v0.0.44 ======= - Fix the previous SV_TouchLinks fix (oops!) - Make AllocBlock more efficient for huge maps v0.0.43 ======= - Fixed a rare crash in SV_TouchLinks v0.0.42 ======= - Increased max verticies/triangles on mdls v0.0.41 ======= - fixed marksurfaces overflow in bsp loading code (fixes visual corruption on some very large maps) v0.0.40 ======= - added the high-res modes to the QW software renderer as well - fixed a rendering bug when cl_bobcycle was set to zero v0.0.39 ======= - Hacked in support for higher res windowed modes in software renderer. Only in NQ for now, add to QW later. - gl_model.c now a shared file - Random cleanups v0.0.38 ======= - Fixed a corruption/crash bug in model.c/gl_model.c bsp loading code. v0.0.37 ======= - Cleaned up the tab-completion code a bit v0.0.36 (and earlier) ======= - Re-indent code to my liking - Make changes to compile using gcc/mingw/msys - Fix hundreds of warnings spit out by the compiler - Lots of work on eliminating duplication of code (much more to do too!) - Tried to reduce the enormous number of exported variables/functions. - Fixed some of the input handling under Linux... - Fixed initialisation order of OSS sound driver - Hacked a max texture size detection fix in (should be using proxy textures?) - Replaced SGIS multitexturing with ARB multitexture - Added cvars "r_lockpvs" and "r_lockfrustum" - Enhanced the console tab completion - Bumped the edict limit up to 2048; various other limits bumped also... - lots of other trivial things I've probably completely forgotten in the many months I've been picking over the code trying to learn more about it
I know this can be tricky. And I'm not sure if this is something that tyrquake should do or RA itself (which would fix other analog games!)... but maybe have an option to map one of the analog stick inputs to virtual or RA specific mouse inputs?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Well could you start to use versions like Major.Minor.Patch
for your releases & update tags/release somewhat regularly?
Folder structure:
Game Folder:
-id1 (main game)
-hipnotic
-rogue
-quoth
Each folder can contain a "music" folder with bgm tracks. Ogg and Flac tested working on win7 x64.
The music files can be downloaded from here.
If they are free perhaps they could be added into the content downloader?
Only the ogg files and perhaps a note with where they should be copied to.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
/opt/retropie/emulators/retroarch/bin/retroarch -L ./tyrquake_libretro.so --config /opt/retropie/configs/quake/retroarch.cfg /home/pi/RetroPie/roms/ports/quake/id1/pak0.pak --verbose
RetroArch [INFO] :: === Build =======================================RetroArch [INFO] :: [CPUID]: Features:
Built: Oct 5 2015
RetroArch [INFO] :: Version: 1.2.2
RetroArch [INFO] :: Git: c6c250b
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: [CPUID]: Features:
RetroArch [INFO] :: Config: appending config "/tmp/retroarch.cfg"
RetroArch [INFO] :: Config: loading config from: /opt/retropie/configs/quake/retroarch.cfg.
RetroArch [INFO] :: Loading dynamic libretro core from: "/home/pi/tyrquake/tyrquake_libretro.so"
RetroArch [INFO] :: Environ SET_VARIABLES.
RetroArch [INFO] :: Environ SET_CONTROLLER_INFO.
RetroArch [INFO] :: Controller port: 1
RetroArch [INFO] :: RetroPad (ID: 1)
RetroArch [INFO] :: RetroKeyboard/Mouse (ID: 3)
RetroArch [INFO] :: Remaps: core name: TyrQuake
RetroArch [INFO] :: Remaps: game name: /home/pi/RetroPie/roms/ports/quake/id1/pak0
RetroArch [INFO] :: Remaps: remap directory: /opt/retropie/configs/quake/
RetroArch [INFO] :: Remaps: no game-specific remap found at /opt/retropie/configs/quake/TyrQuake/pak0.rmp
RetroArch [INFO] :: Remaps: no core-specific remap found at /opt/retropie/configs/quake/TyrQuake/TyrQuake.rmp
RetroArch [INFO] :: Version of libretro API: 1
RetroArch [INFO] :: Compiled against API: 1
RetroArch [INFO] :: Environ GET_LOG_INTERFACE.
RetroArch [INFO] :: Content loading skipped. Implementation will load it on its own.
RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS:
RetroArch [INFO] :: RetroPad, User 1, Button "B (bottom)" => "Jump"
RetroArch [INFO] :: RetroPad, User 1, Button "Y (left)" => "Fire"
RetroArch [INFO] :: RetroPad, User 1, Button "Select" => "Toggle Run Mode"
RetroArch [INFO] :: RetroPad, User 1, Button "Start" => "Settings"
RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
RetroArch [INFO] :: RetroPad, User 1, Button "A (right)" => "Cycle Weapon"
RetroArch [INFO] :: RetroPad, User 1, Button "X (up)" => "Freelook"
RetroArch [INFO] :: RetroPad, User 1, Button "L" => "Strafe Left"
RetroArch [INFO] :: RetroPad, User 1, Button "R" => "Strafe Right"
RetroArch [INFO] :: Environ GET_VARIABLE tyrquake_resolution:
RetroArch [INFO] :: 320x200
RetroArch [libretro INFO] :: :: Got size: 320 x 200.
Segmentation fault
bisected to 7a26ad2
7a26ad29b54a305aab91e1198548d0892d649a6e is the first bad commit
commit 7a26ad29b54a305aab91e1198548d0892d649a6e
Author: twinaphex <[email protected]>
Date: Tue Sep 29 20:18:43 2015 +0200
Static code analysis cleanups
:040000 040000 3dd636733a27713e03d2190d733a8d3d1b4513a5 7753af534255f602d3a9caff090e59c697eb5d43 M QW
:040000 040000 57df1b91f63cc77465c0d3155b3fe5149adde8f8 9a9d5e3858c00d4380fd5d1d1c2a510bc92a4784 M common
This is building with just "make"
building with -O0 and it doesn't crash... so is this the fault of the compiler or the code - perhaps undefined behaviour of something ? (gcc 4.7.2 on arm7l)
backtrace (building from HEAD with -O1 and -g which does still crash)
Program received signal SIGSEGV, Segmentation fault.
0x765436c0 in COM_InitArgv (argc=1, argv=0x7678b8b4) at common/common.c:1090
1090 while ((n < (CMDLINE_LENGTH - 1)) && argv[j][i])
(gdb) bt
#0 0x765436c0 in COM_InitArgv (argc=1, argv=0x7678b8b4) at common/common.c:1090
#1 0x765838c8 in retro_load_game (info=<optimized out>) at common/libretro.c:760
#2 0x0002140c in load_content (content=0x1c7af8, special=<optimized out>) at content.c:513
#3 init_content_file () at content.c:657
#4 0x0001a330 in event_init_content () at command_event.c:696
#5 event_init_core () at command_event.c:757
#6 event_command (cmd=cmd@entry=EVENT_CMD_CORE_INIT) at command_event.c:1374
#7 0x00016458 in rarch_main_init (argc=1989641632, argv=0x1451f0, argv@entry=0x7efff774) at retroarch.c:1180
#8 0x00013d9c in main_load_content (argc=81308, argc@entry=7, argv=argv@entry=0x7efff774, args=args@entry=0x0,
environ_get=<optimized out>, process_args=0) at frontend/frontend.c:260
#9 0x000141bc in rarch_main (argc=7, argv=0x7efff774, data=0x0) at frontend/frontend.c:315
#10 0x76acc81c in __libc_start_main (main=0x7efff774, argc=1992167424, ubp_av=0x76acc81c, init=<optimized out>,
fini=0xf30b8 <__libc_csu_fini>, rtld_fini=0x76fe85a4, stack_end=0x7efff774) at libc-start.c:244
#11 0x0001114c in _start ()
OS: Slackware64-current
mesa-8d63913_2016.05.09_master-x86_64-1_git
xf86-video-nouveau-b824d36_2016.01.13_master-x86_64-1_git
RetroArch-1.3.4-x86_64-1_SBo
tyrquake-libretro-7dc239c_2016.05.07_master-x86_64-1_git
When starting tyrquake this error messsage presents with a debug build of mesa.
Mesa: User error: GL_INVALID_OPERATION in glUniform1(uniform "MVPMatrix"@0 is matrix)
Reading symbols from retroarch...done.
(gdb) b output_if_debug
Function "output_if_debug" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (output_if_debug) pending.
(gdb) run -L /usr/lib64/libretro/tyrquake_libretro.so /home/orbea/games/quake/PAK0.PAK
Starting program: /usr/bin/retroarch -L /usr/lib64/libretro/tyrquake_libretro.so /home/orbea/games/quake/PAK0.PAK
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffeaf21700 (LWP 16231)]
[New Thread 0x7fffea720700 (LWP 16232)]
Thread 1 "retroarch" hit Breakpoint 1, output_if_debug (
prefixString=0x7fffe6f4a69f "Mesa: User error",
outputString=0x7fffffff94a0 "GL_INVALID_OPERATION in glUniform1(uniform \"MVPMatrix\"@0 is matrix)", newline=1 '\001') at main/errors.c:59
59 main/errors.c: No such file or directory.
(gdb) bt full
#0 output_if_debug (prefixString=0x7fffe6f4a69f "Mesa: User error",
outputString=0x7fffffff94a0 "GL_INVALID_OPERATION in glUniform1(uniform \"MVPMatrix\"@0 is matrix)", newline=1 '\001') at main/errors.c:59
debug = -1
#1 0x00007fffe68b7a1f in _mesa_error (ctx=0x9c21a0, error=1282,
fmtString=0x7fffe6f782e0 "glUniform%u(uniform \"%s\"@%d is matrix)") at main/errors.c:325
s = "glUniform1(uniform \"MVPMatrix\"@0 is matrix)", '\000' <repeats 965 times>...
s2 = "GL_INVALID_OPERATION in glUniform1(uniform \"MVPMatrix\"@0 is matrix)", '\000' <repeats 13 times>, "\360\030\021\001\000\000\000\000P'\216\000\000\000\000\000 \000\000\000\000\000\000\000dx\347\360\377\177\000\000\360\030\021\001\000\000\000\000\001", '\000' <repeats 15 times>, "~T\354\365\377\177\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\030\070\216\000\000\000\000\000\000\000\000\000\001\000\000\000\340\067\216\000\000\000\000\000\220'\216\000\000\000\000\000\304'\216\000\000\000\000\000\000"...
len = 67
args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffffffa580,
reg_save_area = 0x7fffffffa4c0}}
do_output = 1 '\001'
do_log = 1 '\001'
error_msg_id = 2
__PRETTY_FUNCTION__ = "_mesa_error"
#2 0x00007fffe69fab91 in _mesa_uniform (ctx=0x9c21a0, shProg=0x9f9360, location=0, count=1,
values=0x7fffffffa668, basicType=GLSL_TYPE_FLOAT, src_components=1)
at main/uniform_query.cpp:683
offset = 0
size_mul = 1
uni = 0xa500d0
components = 0
match = false
__func__ = "_mesa_uniform"
#3 0x00007fffe69fc08f in _mesa_Uniform1f (location=0, v0=0) at main/uniforms.c:154
ctx = 0x9c21a0
#4 0x000000000050f0c3 in gl_glsl_set_uniform_parameter (data=0xa1d390, param=0x7fffffffa930,
uniform_data=0x0) at gfx/drivers_shader/shader_glsl.c:968
location = 0
glsl = 0xa1d390
#5 0x000000000051007e in gl_glsl_set_params (data=0x906c00, shader_data=0xa1d390, width=1280,
height=800, tex_width=2048, tex_height=2048, out_width=1400, out_height=1050, frame_count=0,
_info=0x906c34, _prev_info=0x906c68, _feedback_info=0x7fffffffbc40, _fbo_info=0x0,
fbo_info_cnt=0) at gfx/drivers_shader/shader_glsl.c:1308
j = 0
prev_tex_params = {{type = 0, enabled = false, location = 0, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x0}}, {type = 5, enabled = false, location = -1,
count = 0, lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0,
add_prefix = false, enable = false}, result = {integer = {v0 = 0, v1 = 0, v2 = 0,
v3 = 0}, integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, floatv = 0x906c74}},
{type = 5, enabled = false, location = -1, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x906c6c}}}
i = 0
uniform_params = {{type = 5, enabled = false, location = -1, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x7fffffffab00}}, {type = 5, enabled = false,
location = -1, count = 0, lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0,
idx = 0, add_prefix = false, enable = false}, result = {integer = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0,
v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
floatv = 0x7fffffffaaf0}}, {type = 5, enabled = false, location = -1, count = 0,
lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false,
enable = false}, result = {integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
floatv = 0x7fffffffaae0}}, {type = 8, enabled = true, location = -1, count = 0,
lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false,
enable = false}, result = {integer = {v0 = 1, v1 = 0, v2 = 0, v3 = 0},
integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, floatv = 0x0}}, {
type = 0, enabled = false, location = 0, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x0}}, {type = 0, enabled = false, location = 0,
count = 0, lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0,
add_prefix = false, enable = false}, result = {integer = {v0 = 0, v1 = 0, v2 = 0,
v3 = 0}, integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, floatv = 0x0}}, {
type = 0, enabled = false, location = 0, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x0}}, {type = 0, enabled = false, location = 0,
count = 0, lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0,
add_prefix = false, enable = false}, result = {integer = {v0 = 0, v1 = 0, v2 = 0,
v3 = 0}, integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, floatv = 0x0}}, {
type = 0, enabled = false, location = 0, count = 0, lookup = {type =
SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0, add_prefix = false, enable = false}, result = {
integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, integerv = 0x0, unsigned_integer = {
v0 = 0, v1 = 0, v2 = 0, v3 = 0}, unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0,
v2 = 0, v3 = 0}, floatv = 0x0}}, {type = 0, enabled = false, location = 0,
count = 0, lookup = {type = SHADER_PROGRAM_VERTEX, ident = 0x0, idx = 0,
add_prefix = false, enable = false}, result = {integer = {v0 = 0, v1 = 0, v2 = 0,
v3 = 0}, integerv = 0x0, unsigned_integer = {v0 = 0, v1 = 0, v2 = 0, v3 = 0},
unsigned_integerv = 0x0, f = {v0 = 0, v1 = 0, v2 = 0, v3 = 0}, floatv = 0x0}}}
buffer = {-1.4635573e+26, 4.59163468e-41, 0, 0, -nan(0x7facc0), 4.59163468e-41,
6.16478698e-39, 0, 0, 0, 1.2139897e-38, 0, -nan(0x7fbeb0), 4.59163468e-41,
6.04148813e-39, 0, -nan(0x7fbed7), 4.59163468e-41, 6.16478698e-39, 8.40779079e-44, 0,
0, 1.2139897e-38, 0, -nan(0x7fbee0), 4.59163468e-41, 6.04148813e-39, 0, 0, 0, 0,
1.12103877e-44, 0 <repeats 74 times>, 5.73971851e-42, 0, 1.27224574e-38, 0,
-nan(0x7fbef9), 4.59163468e-41, 5.68226527e-42, 0, 5.60519386e-44, 0, -nan(0x7fbeb0),
4.59163468e-41, 6.11032552e-39, 0, 0, 0, 5.73971851e-42, 0, 1.27224e-38, 0,
-nan(0x7fbed0), 4.59163468e-41, 0 <repeats 102 times>, -nan(0x7fe1a0), 4.59163468e-41,
-nan(0x7fc150), 4.59163468e-41, -5.63481609e+29, 4.59163468e-41, 1.69286876e+22,
1.29407974e+22, 2.05049769e-10, 7.00784962e+22, 4.35992928e+27, 4.13957579e-41,
0 <repeats 28 times>, 1.35424174e-38, 0, 0, 0, 0, 0, 0, 0, -9.00968056e+33,
4.59163468e-41, 0, 0, 1.05517774e-42, 0, -9.22418834e+33, 4.59163468e-41,
-5.53333508e+29, 4.59163468e-41, -5.55369037e+29, 4.59163468e-41, -9.01098164e+33,
4.59163468e-41, 1.05517774e-42, 0, -5.55369037e+29, 4.59163468e-41, -9.22418834e+33,
4.59163468e-41, -nan(0x7fb1d8), 4.59163468e-41, -nan(0x7fb1d4), 4.59163468e-41,
-9.00996591e+33, 4.59163468e-41, 0, 0, 5.91942102e-39, 0, 5.90161893e-39, 0,
-nan(0x7fb1d8), 4.59163468e-41, 1.17827657e-29, 0, 5.66938173e-39, 0, 4.20389539e-44,
0, -nan(0x7fb2b0), 4.59163468e-41, -5.55369037e+29, 4.59163468e-41, -5.53333508e+29,
4.59163468e-41, -nan(0x7fb1d4), 4.59163468e-41, -nan(0x7fb2a0), 4.59163468e-41,
1.35662731e-38, 0, 0, 0, 1.10702579e-43, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.03802758e+34,
4.59163468e-41, -nan(0x7fb340), 4.59163468e-41, -9.18362847e+33, 4.59163468e-41, 0, 0,
-1.03797459e+34, 4.59163468e-41, -nan(0x7fb368), 4.59163468e-41, -9.01174731e+33,
4.59163468e-41, 4.34402524e-44, 0, -9.18362847e+33, 4.59163468e-41, 7.00649232e-45, 0,
0, 0, 1.40129846e-45, 0, -1.03797459e+34, 4.59163468e-41, 0, 0, 0, 0, 0, 0...}
attribs = {{loc = -353230832, size = 32767, offset = 0}, {loc = 0, size = 0, offset = 0},
{loc = 15600896, size = 0, offset = 0}, {loc = 0, size = 17940600, offset = 0}, {
loc = -17104, size = 32767, offset = 4315101}, {loc = 0, size = -17056,
offset = 32767}, {loc = 0, size = 67, offset = 0}, {loc = 0, size = 0, offset = 0}, {
loc = 0, size = 0, offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0,
offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0,
offset = 371562271}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0,
offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0, offset = 0}, {
loc = 0, size = -21504, offset = 32767}, {loc = 4399339, size = 0, offset = 0}, {
loc = 0, size = 8663320, offset = 0}, {loc = -17184, size = 32767, offset = 4585775},
{loc = 0, size = 0, offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0,
offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0, offset = 0}, {
loc = 0, size = 0, offset = -353230832}, {loc = 32767, size = 0, offset = 0}, {
loc = 0, size = 0, offset = 0}, {loc = 0, size = 0, offset = 0}, {loc = 0, size = 0,
offset = -21312}, {loc = 32767, size = 4308460, offset = 0}}
input_size = {1280, 800}
output_size = {1400, 1050}
texture_size = {2048, 2048}
uniform_count = 4
texunit = 1
uni = 0xa1d614
size = 0
attribs_size = 0
info = 0x906c34
prev_info = 0x906c68
feedback_info = 0x7fffffffbc40
fbo_info = 0x0
attr = 0x7fffffffab10
glsl = 0xa1d390
#6 0x000000000044e015 in video_shader_driver_ctl (state=SHADER_CTL_SET_PARAMS,
data=0x7fffffffbc80) at gfx/video_shader_driver.c:152
params = 0x7fffffffbc80
current_shader = 0x80b360 <gl_glsl_backend>
shader_data = 0xa1d390
#7 0x0000000000506267 in gl_frame (data=0x906c00, frame=0x7fffe7583010, frame_width=1280,
frame_height=800, frame_count=0, pitch=2560,
msg=0x842f80 <video_driver_msg> "Microsoft Wired Keyboard 600 (1118/1872) not configured")
at gfx/drivers/gl.c:1945
mvp = {data = 0x50000000320, matrix = 0x7fffffffbd70}
coords = {handle_data = 0x7fffffffbd20, data = 0x42eb6f <video_driver_frame_filter+58>}
params = {data = 0x906c00, width = 1280, height = 800, tex_width = 2048,
tex_height = 2048, out_width = 1400, out_height = 1050, frame_counter = 0,
info = 0x906c34, prev_info = 0x906c68, feedback_info = 0x7fffffffbc40, fbo_info = 0x0,
fbo_info_cnt = 0}
width = 1680
height = 1050
feedback_info = {tex = 2, input_size = {1280, 800}, tex_size = {2048, 2048}, coord = {0,
0, 0.625, 0, 0, 0.390625, 0.625, 0.390625}}
shader_info = {set_active = true, num = 32767, idx = 1, data = 0x906c00}
frame_run = {ident = 0x57dec3 "frame_run", start = 0, total = 0, call_cnt = 0,
registered = false}
gl = 0x906c00
settings = 0x7fffeaf22010
#8 0x0000000000430780 in video_driver_frame (data=0x7fffe7583010, width=1280, height=800,
pitch=2560) at gfx/video_driver.c:2032
video_driver_msg = "Microsoft Wired Keyboard 600 (1118/1872) not configured", '\000' <repeats 200 times>
output_width = 0
output_height = 0
output_pitch = 0
msg = 0x9f4200 "Microsoft Wired Keyboard 600 (1118/1872) not configured"
settings = 0x7fffeaf22010
#9 0x00007fffe9ad1764 in VID_Update (rects=0x7fffffffbe00) at common/libretro.c:937
y = 1024000
fb = {data = 0x0, width = 1280, height = 800, pitch = 0, format =
RETRO_PIXEL_FORMAT_0RGB1555, access_flags = 1, memory_flags = 0}
pitch = 2560
ilineptr = 0x7fffe7a67010 ""
olineptr = 0x7fffe7777010
pal = 0x7fffe9edf840 <d_8to16table>
ptr = 0x7fffe7583010
#10 0x00007fffe9ac112f in SCR_UpdateScreen () at common/screen.c:750
old_viewsize = 100
old_fov = 90
vrect = {x = 0, y = 0, width = 1280, height = 800, pnext = 0x0}
#11 0x00007fffe9a7ebb0 in Con_Printf (
fmt=0x7fffe9ada0d8 "\n\n\035", '\036' <repeats 35 times>, "\037\n\n") at common/console.c:359
inupdate = true
argptr = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7fffffffcf20,
reg_save_area = 0x7fffffffce60}}
msg = "\n\n\035", '\036' <repeats 35 times>, "\037\n\n\000=W\000\000\000\000\332q\f\023", '\000' <repeats 12 times>, "\020 \362\352\377\177", '\000' <repeats 19 times>, " \362\352", '\000' <repeats 20 times>, "\340\276\377\377\377\177\000\000D\310A\000\000\000\000\000P<\203\000\000\000\000\000\020\321\377\377\377\177\000\000/home/o\000\020 \362\352\377\177\000\000\320\320\377\377\377\177\000\000t\320A\000\000\000\000\000\020\321\377\377\377\177\000\000\000rso7", '\000' <repeats 99 times>...
#12 0x00007fffe9a76585 in CL_ParseServerInfo () at common/cl_parse.c:304
level = 0x7fffe9d62ab8 <cl+17176> "the Necropolis"
mapname = 0x7ffff0e6ced3 <__GI__IO_file_xsgetn+275> "L\001c\b\353\327\017\037\200"
i = 15
maxlen = 40
nummodels = -374497906
numsounds = 32767
model_precache = 0x1118070
sound_precache = 0x111a080
#13 0x00007fffe9a78545 in CL_ParseServerMessage () at common/cl_parse.c:1027
cmd = 11
s = 0x7fffe9def4f8 <cls+2232> ""
i = 3
bits = 3920050274
colors = 0 '\000'
__func__ = "CL_ParseServerMessage"
#14 0x00007fffe9a75a1d in CL_ReadFromServer () at common/cl_main.c:679
ret = 1
#15 0x00007fffe9a8d9c1 in _Host_Frame (time=0.0166669991) at common/host.c:709
No locals.
#16 0x00007fffe9a8da3b in Host_Frame (time=0.0166669991) at common/host.c:726
timecount = 0
i = 0
c = 0
#17 0x00007fffe9ad0ba1 in retro_run () at common/libretro.c:662
has_set_username = true
updated = false
#18 0x00000000004125fc in core_ctl (state=CORE_CTL_RETRO_RUN, data=0x0)
at libretro_version_1.c:330
has_set_input_descriptors = true
retro_ctx = {frame_cb = 0x4305ae <video_driver_frame>,
sample_cb = 0x42ad4f <audio_driver_sample>,
sample_batch_cb = 0x42aded <audio_driver_sample_batch>,
state_cb = 0x411e82 <input_state_poll>, poll_cb = 0x42c0b0 <input_poll>}
#19 0x000000000041e6d5 in runloop_iterate (sleep_ms=0x7fffffffe1a4) at runloop.c:1465
i = 5
cmd = {state = {0, 0, 0}}
current = 4399339
target = 140737488343376
to_sleep_ms = 4281586
cmd_ptr = 0x7fffffffd110
frame_limit_minimum_time = 16667
frame_limit_last_time = 236570607303
last_input = 0
settings = 0x7fffeaf22010
#20 0x0000000000411628 in rarch_main (argc=4, argv=0x7fffffffe2e8, data=0x0)
at frontend/frontend.c:163
sleep_ms = 0
fullpath = 0x8359e0 <runloop_fullpath> "/home/orbea/games/quake/PAK0.PAK"
system = 0x833c60 <runloop_system>
args = 0x0
ret = 0
#21 0x00000000004116b1 in main (argc=4, argv=0x7fffffffe2e8) at frontend/frontend.c:184
No locals.
Edit: Improved backtrace added.
Logs give me this message. What version of the pack file do I need to have? Does it support Steam and GOG versions?
[INFO] [Content]: Updating firmware status for: "D:\emulators\retroarch64\cores\tyrquake_libretro.dll" on "D:\emulators\retroarch64\system".
[INFO] [Core]: Using content: "D:\emulators\dos\vkquake\id1\pak1.pak".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.16.0 (Git 14cb373)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.16.0
[INFO] Git: 14cb373
[INFO] Built: Oct 2 2023
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Core]: Loading dynamic libretro core from: "D:\emulators\retroarch64\cores\tyrquake_libretro.dll"
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: GET_LANGUAGE: "0".
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Environ]: GET_VFS_INTERFACE. Core requested version >= V1, providing V3.
[INFO] [Overrides]: Redirecting save file to "D:\emulators\retroarch64\saves\pak1.srm".
[INFO] [Overrides]: Redirecting save state to "D:\emulators\retroarch64\states\pak1.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Content]: Content loading skipped. Implementation will load it on its own.
[INFO] [Environ]: SET_KEYBOARD_CALLBACK.
[libretro INFO] Got size: 320 x 200.
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[libretro INFO] Rumble environment supported.
[libretro INFO] Quake Libretro -- TyrQuake Version 0.62
[libretro ERROR] D:\emulators\dos\vkquake\id1\pak0.pak is not a packfile
[libretro ERROR] Hunk_AllocName: bad size: -14747544
Hardware: FunKey S (SoC V3s ARM Cortex A7-A clocked @ 1.2GHz)
Software: sdlretro for the frontent (https://github.com/FunKey-Project/sdlretro) and Tyr-Quake for the Libretro core
It crashes systematically at the same point in the intro (when exploding the zombies with the grenade launcher) or as soon as I press A button (to switch weapon), here is a video.
Unfortunately, there is no logs anywhere after those crashes (even when enabling them in GMenu2X) so I don't have any lead about this. Any idea?
I copied ID1/ PAK0.PAK and PAK1.PAK from a working DOS install.
Retroarch running in Lakka (Linux) would not load them.
After renaming them with lowercase they would load fine.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi there,
I have just built latest sources, and framerate is plain wrong. It's like running a 50FPS game on a ~60Hz display: movement is jerky and uneven.
Also, using max_swapchain=2 makes the game run at half the speed.
All this has started happening exactly from this commit onwards:
f83d35f
I am using latest stable RetroArch 1.7.5, and this happens both on ARM64 and X86_64 using GNU/Linux on KMSDRM mode.
The new build from 1.6.5 allows to use "new layout" feature to use both sticks in game, left stick to move the character and right stick to look, however the input for both are hardcoded so it's not possible configure them.
The main problem is with the right stick, the y axis is inverted: down to look up, up to look down. It would be pretty useful add an option in core settings to enable/disable invert y axis.
This core constantly crashes or freezes on the Wii. Since the buildbot hack, this core has had multiple issues.
OS: Slackware64-current
RetroArch-1.3.4-x86_64-1_SBo
tyrquake-libretro-7dc239c_2016.05.07_master-x86_64-1_git
On my xbox360 usb controller using the xpad driver I can not move forward in the game with either the d-pad or left stick. Other directions work fine and I know its bound correctly as the d-pad works in the menu while the stick creates an uncontrollable scroll with the slightest of touches.
I found this issue really strange.
Two out of my three Windows 10 PCs are experiencing this problem. As you can see in this video:
https://www.youtube.com/watch?v=xYzb8po9jN0
It looks like the mouse in this core is having a heavy packet loss and barely working. The situation is even worse when Game Focus is on. I tried to switch input/controller drivers between dinput/xinput/sdl2, the symptom is the same. I also tried to uninstall Logitech Gaming Software and Logitech G Hub, nothing helped.
The RetroArch and ROMs folder on my three PCs is synced through OneDrive, so the config is identical.
Core version is e76477d with RetroArch 1.9.0.
You can not select menu items any more when controls are on kb/mouse for player1.
Not sure when that happened.
Retroarch v1.7.1 - Retropie 4.4 - Raspberry Pi1
I tried to insert in the "music" folders of every single game / expansion, both the .ogg and the .mp3 version but I hear only the sounds and not the music.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
RetroArch reports an 2410 segfault:
RetroArch: rarch_log_libretro: libretro INFO :: Got size: 320x320
RetroArch: rarch_log_libretro: libretro INFO :: Quake Libretro -- TyrQuake Version 0.62
RetroArch WARN :: gl_glsl_init :: GL : Stock GLSL shaders will be used.
2410 Segfault
I compiled tyrquake with retropie https://github.com/petrockblog/RetroPie-Setup/blob/master/scriptmodules/libretrocores/tyrquake.sh. Was anything important changed this month? The script worked Nov. 16.
Full retroarch log:
I/RetroArch( 3646): Using content: /mnt/external_sd/PC/QUAKE/ID1/PAK0.PAK.
I/RetroArch( 3646): arg #0: retroarch
I/RetroArch( 3646): arg #1: /mnt/external_sd/PC/QUAKE/ID1/PAK0.PAK
I/RetroArch( 3646): arg #2: -s
I/RetroArch( 3646): arg #3: /mnt/external_sd/retroarch
I/RetroArch( 3646): arg #4: -S
I/RetroArch( 3646): arg #5: /mnt/external_sd/retroarch
I/RetroArch( 3646): arg #6: -c
I/RetroArch( 3646): arg #7: /storage/emulated/0/Android/data/com.retroarch/files/retroarch.cfg
I/RetroArch( 3646): arg #8: -L
I/RetroArch( 3646): arg #9: /mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so
I/RetroArch( 3646): Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
I/RetroArch( 3646): Unloading game..
I/RetroArch( 3646): Unloading core..
I/RetroArch( 3646): Unloading core symbols..
I/RetroArch( 3646): Threaded video stats: Frames pushed: 2435, Frames dropped: 0.
I/RetroArch( 3646): RetroArch 1.8.5 (Git 532fd88)
I/RetroArch( 3646): Redirecting save file to "/mnt/external_sd/retroarch/PAK0.srm".
I/RetroArch( 3646): Redirecting savestate to "/mnt/external_sd/retroarch/PAK0.state".
I/RetroArch( 3646): === Build =======================================
I/RetroArch( 3646): Capabilities: NEON VFPv3 VFPv4
I/RetroArch( 3646): [INFO] Built: Mar 19 2020
I/RetroArch( 3646): [INFO] Version: 1.8.5
I/RetroArch( 3646): [INFO] Git: 532fd88
I/RetroArch( 3646): [INFO] =================================================
D/dalvikvm( 3646): threadid=16: thread exiting, not yet detached (count=0)
I/RetroArch( 3646): jni_thread_destruct()
I/RetroArch( 3646): Loading dynamic libretro core from: "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so"
E/RetroArch( 3646): Failed to open libretro core: "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so"
E/RetroArch( 3646): Error(s): dlopen failed: couldn't map "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so" segment 1: Operation not permitted
I/RetroArch( 3646): [Environ]: SET_PIXEL_FORMAT: RGB565.
I/RetroArch( 3646): Redirecting save file to "/mnt/external_sd/retroarch/PAK0.srm".
I/RetroArch( 3646): Redirecting savestate to "/mnt/external_sd/retroarch/PAK0.state".
I/RetroArch( 3646): Version of libretro API: 1
I/RetroArch( 3646): [INFO] Compiled against API: 1
I/RetroArch( 3646): [Audio]: Set audio input rate to: 30000.00 Hz.
I/RetroArch( 3646): [Video]: Video @ 960x720
I/RetroArch( 3646): [Video]: Starting threaded video driver ...
I/RetroArch( 3646): Android EGL: GLES version = 2.
I/RetroArch( 3646): [EGL] Falling back to eglGetDisplay
I/RetroArch( 3646): [EGL]: EGL version: 1.4
I/RetroArch( 3646): [GL]: Found GL context: android
I/RetroArch( 3646): [GL]: Detecting screen resolution 0x0.
I/RetroArch( 3646): [EGL]: Current context: 0x77b20338.
I/RetroArch( 3646): [GL]: Vendor: ARM, Renderer: Mali-T760.
I/RetroArch( 3646): [GL]: Version: OpenGL ES 3.1.
I/RetroArch( 3646): [GL]: Using resolution 1280x720
I/RetroArch( 3646): [GL]: Default shader backend found: glsl.
I/RetroArch( 3646): [Shader driver]: Using GLSL shader backend.
W/RetroArch( 3646): [GL]: Stock GLSL shaders will be used.
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): Setting up menu pipeline shaders for XMB ...
I/RetroArch( 3646): [GLSL]: Compiling ribbon shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Compiling simple ribbon shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Compiling snow shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Compiling modern snow shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Compiling bokeh shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GLSL]: Compiling snowflake shader..
I/RetroArch( 3646): [GLSL]: Found GLSL vertex shader.
I/RetroArch( 3646): [GLSL]: Found GLSL fragment shader.
I/RetroArch( 3646): [GLSL]: Linking GLSL program.
I/RetroArch( 3646): [GL]: Using 4 textures.
I/RetroArch( 3646): [GL]: Loaded 1 program(s).
I/RetroArch( 3646): [Joypad]: Found joypad driver: "android".
I/RetroArch( 3646): sdk version: 19
I/RetroArch( 3646): Set engine_handle_dpad to 'Get Axis Value' (for reading extra analog sticks)
I/RetroArch( 3646): [Font]: Using font rendering backend: stb-unicode.
I/RetroArch( 3646): [Video]: Found display server: android
I/RetroArch( 3646): [OpenSL]: Requested audio latency: 128 ms.
I/RetroArch( 3646): [OpenSL]: Setting audio latency: Block size = 4096, Blocks = 6, Total = 24576 ...
D/AudioHardware( 146): AudioHardware pcm playback is exiting standby.
D/AudioHardware( 146): openPcmOut_l() mPcmOpenCnt: 0
D/alsa_route( 146): route_info->sound_card 0, route_info->devices 0
D/alsa_pcm( 146): pcm_open(0x0001f000)
D/alsa_pcm( 146): pcm_open() card 0, device 0, Playback
D/alsa_route( 146): route_set_controls() set route 0
I/RetroArch( 3646): [Menu]: Found menu display driver: "gl".
I/RetroArch( 3646): [Font]: Using font rendering backend: stb-unicode.
I/RetroArch( 3646): [Font]: Using font rendering backend: stb-unicode.
E/RetroArch( 3646): Failed to open libretro core: "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so"
E/RetroArch( 3646): Error(s): dlopen failed: couldn't map "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so" segment 1: Operation not permitted
I/RetroArch( 3646): [Font]: Using font rendering backend: stb-unicode.
I/RetroArch( 3646): [Font]: Using font rendering backend: stb-unicode.
I/RetroArch( 3646): [LED]: LED driver = 'null' 0x76deefa4
I/RetroArch( 3646): [MIDI]: Initializing ...
I/RetroArch( 3646): [MIDI]: Input disabled.
I/RetroArch( 3646): [MIDI]: Output disabled.
I/RetroArch( 3646): [MIDI]: Initialized "null" driver.
I/RetroArch( 3646): SRAM will not be saved.
I/RetroArch( 3646): Loading history file: [/data/data/com.retroarch/content_history.lpl].
I/RetroArch( 3646): Loading history file: [/data/data/com.retroarch/content_music_history.lpl].
I/RetroArch( 3646): Loading history file: [/data/data/com.retroarch/content_image_history.lpl].
I/RetroArch( 3646): Loading favorites file: [/data/data/com.retroarch/content_favorites.lpl].
E/RetroArch( 3646): Failed to open libretro core: "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so"
E/RetroArch( 3646): Error(s): dlopen failed: couldn't map "/mnt/external_sd/retroarch/cores/tyrquake_libretro_android.so" segment 1: Operation not permitted
I/RetroArch( 3646): Device model: (XD
I/RetroArch( 3646): ).
I/RetroArch( 3646): Using new lookup
I/RetroArch( 3646): device name: PLAYSTATION(R)3
I/RetroArch( 3646): device vendor id: 1356
I/RetroArch( 3646): device product id: 616
D/AudioHardware( 146): AudioHardware pcm playback is going to standby.
D/AudioHardware( 146): closePcmOut_l() mPcmOpenCnt: 1
D/alsa_pcm( 146): pcm_close() card 0, device 0, Playback
D/alsa_route( 146): route_set_controls() set route 24
I/ActivityManager( 456): Killing 616:android.process.acore/u0a2 (adj 15): empty #17
I/xin_log ( 456): +++++++++++resumeTopActivityLocked(i,j),i=nullops=null
I/xin_log ( 456): moveTaskToFront:resuming activity,package=com.retroarch
I/xin_log ( 456): keymapping execute,value=0
W/ContextImpl( 456): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1138 com.android.server.am.ActivityStack.resumeTopActivityLocked:1278 com.android.server.am.ActivityStackSupervisor.resumeTopActivitiesLocked:2037 com.android.server.am.ActivityStackSupervisor.resumeTopActivitiesLocked:2024 com.android.server.am.ActivityManagerService.handleAppDiedLocked:3665
I/xin_temp( 525): keymapping:Intent { act=softwin.intent.action.enablekeymap flg=0x10 (has extras) }
D/dalvikvm( 456): GC_CONCURRENT freed 2607K, 21% free 10459K/13092K, paused 4ms+6ms, total 103ms
Has Tyrquake's QuakeWorld support been totally removed/disabled for the libretro port, is there an alternate build parameter needed that isn't set by default, or am I just not seeing how to start it up in QW client mode?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi,
I can't configure mouse. Only joystick and keyboard seems to work.
I'm using tyrqyake over raspberry Pi 2 (retropie 4.1.3).
How can I solve?
Thanks
Pierluigi
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Recent commits (February 20th) broke saves, it displays a failure error in the console (see screenshot below):
That's the same commits that broke WAD loading for PrBoom too: libretro/libretro-prboom#181.
The SUPERHOT team made a cool mod for singleplayer Quake a few years ago. It is very fun to play.
I put their source code up on Github because GPL. Unfortunately, their code has not been merged into the DarkPlaces Quake engine it's based on and certainly hasn't been a thing in tyrquake. Still, would a libretro version of SUPERQOT be feasible?
Hi guys, it's possible to port Quake 3 in libretro?
https://www.raspberrypi.org/forums/viewt...=66&t=6473 (https://www.raspbian.org/RaspbianQuake3)
https://www.raspberrypi.org/blog/quake-i...-a-winner/
https://www.youtube.com/watch?v=tfbBDARr9aI
When I run tyrquake on retroarch (MacOS) it seems to only use software rending rather than opengl rendering, evne though my retroarch video renderer is set to 'gl'. Any option to enable openGL?
As soon as you change resolution, it will crash now.
@ehmry got any ideas how we are going to fix this? This should not even be happening, it should only be applying the resolution on first startup and not afterwards. This is definitely a regression that happened at some point.
Just wondering how come this core isn't available for 3DS... Any chance it could be in future? Thanks.
TyrQuake using a build circa 8/9 and on Retroarch 1.6.4 on iOS 10.3.3 does not load music. I've tried ogg and mp3, I've tried adding into the id1/music folder, id1 folder, and system folder, and I have tried using music from both the quake site and files I have working on my PC and it does not seem to load at all.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I have formatted exactly like this. Using ogg files
id1/
├── pak0.pak ## shareware data
├── pak1.pak ## registered data
├── music/
│ ├── track02.ogg
│ ├── ...
│ └── track11.ogg
The game is completely mute. Not even SFX. This didn't work for me in the previous releases either. Game visually runs perfectly tho.
Hello there, i`m jim
I`m using retropie v4.2 on a raspberry pi2 and installed libretro-tyrquake, quake 1 and episode 5-dopa working fine but mission pack 1 and 2 are not working, when i click to them they return me back to the main menu of retropie i followed the instructions here "https://github.com/RetroPie/RetroPie-Setup/wiki/Quake"
darkplaces quake engine works perfect but lr-tyrquake only works with quake1 and dopa
I appreciate if you can help me
Thank you
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
7403e25 had the unfortunate side effect of breaking the invert y axis setting. The patch below restores it.
diff --git a/common/libretro_core_options.h b/common/libretro_core_options.h
index 06974f6..1694bcf 100644
--- a/common/libretro_core_options.h
+++ b/common/libretro_core_options.h
@@ -94,16 +94,11 @@ struct retro_core_option_definition option_defs_us[] = {
"Invert Y Axis",
"Invert the gamepad right analog stick's Y axis.",
{
- { "0", NULL },
- { "5", NULL },
- { "10", NULL },
- { "15", NULL },
- { "20", NULL },
- { "25", NULL },
- { "30", NULL },
+ { "disabled", "Disabled" },
+ { "enabled", "Enabled" },
{ NULL, NULL },
},
- "15"
+ "disabled"
},
{
"tyrquake_analog_deadzone",
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
version 0.70 is out now https://disenchant.net/tyrquake with lots of improvements. Anyone thinking about upgrade this port?
Quake from Steam version(https://steamdb.info/depot/2311/) not loading.
However PAK from Shareware is working fine.
[INFO] RetroArch 1.9.5 (Git f05c124)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 7 1800X Eight-Core Processor
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Jun 20 2021
[INFO] Version: 1.9.5
[INFO] Git: f05c124
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Core]: Loading dynamic libretro core from: "D:\RA\cores\tyrquake_libretro.dll"
[INFO] [Overrides]: No core-specific overrides found at "D:\RA\config\TyrQuake\TyrQuake.cfg".
[INFO] [Overrides]: No content-dir-specific overrides found at "D:\RA\config\TyrQuake\Id1.cfg".
[INFO] [Overrides]: No game-specific overrides found at "D:\RA\config\TyrQuake\pak0.cfg".
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: GET_LANGUAGE: "0".
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Remaps]: Remap directory: "D:\RA\config\remaps".
[INFO] [Overrides]: Redirecting save file to "D:\RA\saves\pak0.srm".
[INFO] [Overrides]: Redirecting save state to "D:\RA\states\pak0.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[INFO] [Environ]: SET_KEYBOARD_CALLBACK.
[libretro INFO] Got size: 320 x 200.
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[libretro INFO] Rumble environment supported.
[libretro INFO] Quake Libretro -- TyrQuake Version 0.62
[INFO] [SRAM]: Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 60.00 Hz, Game = 143.99 Hz)
[INFO] [Video]: Game FPS > Monitor FPS. Cannot rely on VSync.
[INFO] [Video]: Video @ 1920x1057
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [D3D11]: Found GPU at index 0: NVIDIA GeForce GTX 1080
[INFO] [D3D11]: Found GPU at index 1: Microsoft Basic Render Driver
[INFO] [D3D11]: Using GPU index 0.
[INFO] [Video]: Found display server: win32
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "d3d11".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Playlist]: Loading history file: [D:\RA\content_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\RA\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\RA\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\RA\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [D:\RA\content_favorites.lpl].
[INFO] [Playlist]: Written to playlist file: D:\RA\content_history.lpl
[INFO] [Environ]: GET_USERNAME: "".
[INFO] [Core]: Paused.
[INFO] [Core]: Unpaused.
[INFO] [Config]: Saved new config to "D:\RA\retroarch.cfg".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 10 seconds.
[INFO] Saving runtime log file: D:\RA\playlists\logs\TyrQuake\Id1.lrtl
[INFO] [Core]: Unloading game..
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "D:\RA\config\TyrQuake\TyrQuake.opt"
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
tyrquake fails to build with clang 3.4 on ArchLinux because of -fweb and -frename-registers inside of Makefile.libretro. This is the error
$ CC=clang CXX=clang++ make -f Makefile.libretro
clang -I. -INQ -Iinclude -O3 -ffast-math -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -D__LIBRETRO__ -DINLINE=inline -DNQ_HACK -DQBASEDIR=. -DTYR_VERSION=0.62 -fomit-frame-pointer -Wall -fweb -frename-registers -DNDEBUG=1 -fPIC -DFRONTEND_SUPPORTS_RGB565 -c -o NQ/cl_input.o NQ/cl_input.c
clang: error: unknown argument: '-fweb'
clang: error: unknown argument: '-frename-registers'
Makefile.libretro:248: recipe for target 'NQ/cl_input.o' failed
make: *** [NQ/cl_input.o] Error 1
removing -fweb and -frename-registers allows it to build with both clang and gcc, and they both work as far as I can tell. I would of done a pull request for this but since I have no clue what those two things are for, I figured I would let you know and you can decide to get rid of them or change them or whatever.
I've just run into an issue that the core uses the undefined symbol 'strlcpy'. Haven't investigated further yet.
$ nm tyrquake_libretro.so -u | grep -v GLIBC
w __gmon_start__
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w _Jv_RegisterClasses
U strlcpy
When using an analogue stick the mouse look is inverted. Changing the Mouse Look Inverted option in the menus does nothing to change this behavior.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Just found out there's a couple of new expansions released for the anniversary edition of Quake - Quake Enhanced.
https://www.youtube.com/watch?v=vi-bdUd9J3E
I'm not sure if this is possible or even if they work on the original version of Quake. Both were officially released in August this year with the enhanced edition.
Dimension of the Past
https://quake.fandom.com/wiki/Dimension_of_the_Past
Dimension of the Machine
https://quake.fandom.com/wiki/Dimension_of_the_Machine
From the Quoth readme:
Note that when you run the pak, add to your quake engine command line:
-hipnotic -game quoth
and not simply -game quoth.
Right now the code isn't giving access to the hipnotic files, I couldn't fix that.
As it is now (with the files I've got) it starts, runs the demo, then crash on New Game start saying a "sky" asset isn't found.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi there,
This core is showing a strange framerate behaviour.
Some background information:
-I am running RetroArch on KMS/DRM and on Wayland, in both cases with VSYNC ON and max_swapchan = 1 or 2, using the GLES or Vulkan video drivers.
-The core is rock-solid 60FPS, and for these experiments I even took it down to 320x200 internal resolution.
-There's nothing on this system interfering with the audio system, and RetroArch uses ALSA directly, there's no other sound server on my test systems.
-I have a ~60Hz HDMI monitor and RetroArch video is calibrated with only a 0.2% deviance.
This is the only core that behaves this way, that's why I am reporting:
-When Framerate is set to AUTO, movement is always smooth but some audio effects like opening doors sound full of a crackling noise.
-When Framerate is set to 60, audio is perfect but movement shows a small desyncronization once in a while.
So it seems to be a "pick your poison" situation with this core.
My guess is that 60 Framerate forces an exact 60.0000Hz timing, which is not well synchronized with RetroArch.
No idea on what's wrong with the AUTO Framerate, possibly something related to audio resampling only affecting this game, and only when Framerate is set to AUTO.
Hello,
the current version of Tyrquake (v.062) running on Retroarch v1.9.8 raises the following error when selecting "New Game":
HOST ERROR: SV_WRITESOUNDNUM: UNKNOWN PROTOCOL VERSION (-34232865)
The game ran before I updated Retroarch/Tyrquake so I guess it is a bug that got introduced during the last 1-2 years?
Kind regards,
Chris
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
By default the A button is (for some reason) "strafe right". That's because (for some reason) strafe right is also the selection button. If i change it to "Jump" then i can't make a selection with it.
The only thing that fixes this is changing the controls via the in-game control bindings menu. I can make the A button as jump there and still be used as the selection button. But when i restart the game, it goes back to the default, even though my changes are clearly in the config.cfg file. The game saves my changes but doesn't read them.
It should load either pak0.pak or pak1.pak, but every time you try load them it says "no items".
There's no crash, black screen, or code dump, you can navigate normally after that. While I'm not sure when exactly the problem start to appear I would guess it was before 1.3.6 stable.
To narrow the problem down...
I have 2 working binary copies of Tyrquake, but I'm not sure what date they are from.
The cores are:
1.3.6 - TyrQuake v0.62, according the file it was modified las time november 23 7:24:24 it's working on my end. http://gbatemp.net/threads/retroarch-wiiu-wip.447670/page-165#post-7044143 <-the file
1.3.6 - TyrQuake v0.62, according the file it was modified las time december 3rd 19:00:40 it's working on my end. http://gbatemp.net/threads/retroarch-wiiu-wip.447670/page-163#post-7040531 <-the file
Similar to how a .m3u file works, a file that points at paths to pak files would be very advantageous for play map packs and other mods and loading them from outside retroarch for frontends.
/path/to/pak/pak.0
@jdgleaver It now reports 'Failed to load content' when trying to load the shareware version on Android.
It has previously always worked on Android before. This is a regression.
when you have the core and the content for the shareware version it seems to load fine until the game loads up the menu then it crashes
https://www.youtube.com/watch?v=EhBpy9SJqAo
/\ whats happening
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
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.