Giter Site home page Giter Site logo

tyrquake's Introduction

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

tyrquake's People

Contributors

alcaro avatar aliaspider avatar amlib avatar andres-asm avatar bananarama203 avatar ehmry avatar evilwraith avatar fr500 avatar frangarcj avatar gregorr avatar hizzlekizzle avatar inactive123 avatar jdgleaver avatar joeosborn avatar jste0 avatar leilei- avatar libretroadmin avatar phcoder avatar rinnegatamante avatar rz5 avatar sakitoshi avatar sezero avatar swizzy avatar tatsuya79 avatar themaister avatar toadking avatar vanfanel avatar warmenhoven avatar webgeek1234 avatar yoshisuga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tyrquake's Issues

Full Analog support?

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.

Versioning scheme

Well could you start to use versions like Major.Minor.Patch for your releases & update tags/release somewhat regularly?

Adding music files.

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.

Segfaults on Raspberry Pi as of 7a26ad29b54a305aab91e1198548d0892d649a6e

/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 ()

Mesa: User error: GL_INVALID_OPERATION in glUniform1

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.

pak file fails to load on retroarch

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

Systematical crash on ARMv7 device at the beginning of the intro or when pressing A button.

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?

Broken framerate since recen commit

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.

[Wii U ] Enhancement inverted y axis toggle

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.

Gamepad: Can't move forward.

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.

Mouse is barely working

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.

No Music with Raspberry

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.

RPI: crash during startup

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.

Cannot start on GPD XD (Android kitkat)

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

Tyrquake's base Quakeworld support?

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.

Using mouse

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.

Support OpenGL rendering?

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?

Changing resolution now crashes ingame

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.

No Music in iOS

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.

[Retroarch 1.8.9 3DS] tyrquake audio completely mute

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.

quake 1 mission packs

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.

Invert Y axis setting broken

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.

Quake PAK not loading

Quake from Steam version(https://steamdb.info/depot/2311/) not loading.

  • Correct folder dir (id1/pak0.pak etc.)
  • Latest core f627174 v0.62
  • d11/vulkan/gl
  • RetroArch 1.9.5
  • Windows 10

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.

Fails to build with Clang 3.4 on ArchLinux

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.

Undefined symbol 'strlcpy'

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

[Feature Request] Support for new expansions Dimension of the Past and Dimension of the Machine

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

Quoth addon needs fixing.

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.

Framerate problems

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.

Control bindings get saved on the cfg but Quake ignores them

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.

Wii U - TyrQuake "no items" issue

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

No longer works on Android

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.