Change:
Yet Another Rhythm Game, open source variant of clonehero <!-- Describe the project a little: --Metadata homepage URL: source URL: license: LGPL-3.0 platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Ooo I was curious to look into this because I maintain clonehero, but aww it's built with unity so building from source is probably out of the question. I might still try anyway to see how far I can get though :sweat_smile: Worst case we can still do the same thing we're doing with clonehero and just patch the release binary.
I got the patched binary working here: I just wanted to try it out a bit before submitting a PR here - I just need to find that guitar and make sure it still works :sweat_smile:
Ok... I'm remembering why it's been so long since I've played clonehero now. The knockoff wiimote I have doesn't work with the guitar, so I just ordered an official one. I'm going to hold off opening a PR until I can actually play the game.
unrelated, I do recommend trying out this guys controllers, I love mine: they're usually only 30$ and you don't have to rely on aging tech, mechanical switches and all. Sold out right now though unfortunately.
Just to chime in about YARG - could not get it running using YARC but it opened using your binary. I couldn't get bindings for my Riffmaster to work properly. Likely just an issue with the game itself to be honest but figured I'd chime in with it. I'll probably try out my other controllers tomorrow.
Really late on my reply but tested with a PS2 controller, works as expected.
Ok thanks I still haven't been able to get it working with my old wiitar, but I'll open a new PR for it!

Discussion:
<ins> { lib, stdenv, fetchzip, autoPatchelfHook, alsa-lib, gtk3, zlib, dbus, hidapi, libGL, libXcursor, libXext, libXi, libXinerama, libxkbcommon, libXrandr, libXScrnSaver, libXxf86vm, udev, vulkan-loader, wayland, # (not used by default, enable with SDL_VIDEODRIVER=wayland - doesn't support HiDPI) makeDesktopItem, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "yarg"; version = "0.12.6"; src = fetchzip { url = "https://github.com/YARC-Official/YARG/releases/download/v${finalAttrs.version}/YARG_v${finalAttrs.version}-Linux-x86_64.zip"; stripRoot = false; hash = "sha256-Za+CnuSTfJZVdW0pWvGDnKcbhZsgtNPRWYj1qOA8+Zs="; }; nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ # Load-time libraries (loaded from DT_NEEDED section in ELF binary) alsa-lib gtk3 stdenv.cc.cc.lib zlib # Run-time libraries (loaded with dlopen) dbus hidapi libGL libXcursor libXext libXi libXinerama libxkbcommon libXrandr libXScrnSaver libXxf86vm udev vulkan-loader wayland ]; desktopItem = makeDesktopItem { name = "yarg"; desktopName = "YARG"; comment = finalAttrs.meta.description; icon = "yarg"; exec = "yarg"; categories = [ "Game" ]; }; installPhase = '' runHook preInstall install -Dm755 YARG "$out/bin/yarg" install -Dm644 UnityPlayer.so "$out/libexec/yarg/UnityPlayer.so" mkdir -p "$out/share/pixmaps" cp -r YARG_Data "$out/share/yarg" ln -s "$out/share/yarg" "$out/bin/yarg_Data" ln -s "$out/share/yarg/Resources/UnityPlayer.png" "$out/share/pixmaps/yarg.png" install -Dm644 "$desktopItem/share/applications/yarg.desktop" "$out/share/applications/yarg.desktop" runHook postInstall ''; # Patch required run-time libraries as load-time libraries # # Libraries found with: # > strings UnityPlayer.so | grep '.so' # and: # > LD_DEBUG=libs yarg postFixup = '' patchelf  --add-needed libasound.so.2  --add-needed libdbus-1.so.3  --add-needed libGL.so.1  --add-needed libhidapi-hidraw.so.0  --add-needed libpthread.so.0  --add-needed libudev.so.1  --add-needed libvulkan.so.1  --add-needed libwayland-client.so.0  --add-needed libwayland-cursor.so.0  --add-needed libwayland-egl.so.1  --add-needed libX11.so.6  --add-needed libXcursor.so.1  --add-needed libXext.so.6  --add-needed libXi.so.6  --add-needed libXinerama.so.1  --add-needed libxkbcommon.so.0  --add-needed libXrandr.so.2  --add-needed libXss.so.1  --add-needed libXxf86vm.so.1  "$out/libexec/yarg/UnityPlayer.so" ''; passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Free, open-source, plastic guitar game"; homepage = "https://yarg.in"; license = licenses.lgpl3Plus; maintainers = with maintainers; [ kira-bruneau ]; platforms = [ "x86_64-linux" ]; }; }) </ins>