guix-play/gnu/packages/patches/lugaru-fix-sound.patch
Maxim Cournoyer 2c5293afff
gnu: lugaru: Apply patch fixing sound.
* gnu/packages/patches/lugaru-fix-sound.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/games.scm (lugaru) [source]: Update source URL.
Apply patch.
[arguments]: Use gexps.
[inputs]: Remove labels and sort.

Change-Id: Iebefc9fc43d3473e51c8c732539e6aa2f14d9f5f
2024-01-28 21:03:31 -05:00

33 lines
1.1 KiB
Diff

From 3adfb088eed81fc2c9e40ac55018378d4975f469 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sun, 28 Jan 2024 19:50:51 -0500
Subject: [PATCH] audio: Look extension from right, not left.
* Source/Audio/openal_wrapper.cpp (decode_to_pcm): Find extension from
the right (strrchr), not from the left, to avoid eagerly truncating a
file name.
Fixes: https://gitlab.com/osslugaru/lugaru/-/issues/124#note_1746570172
---
Source/Audio/openal_wrapper.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source/Audio/openal_wrapper.cpp b/Source/Audio/openal_wrapper.cpp
index cc4fc36..072fcb8 100644
--- a/Source/Audio/openal_wrapper.cpp
+++ b/Source/Audio/openal_wrapper.cpp
@@ -316,7 +316,7 @@ static void* decode_to_pcm(const char* _fname, ALenum& format, ALsizei& size, AL
// !!! FIXME: if it's not Ogg, we don't have a decoder. I'm lazy. :/
char* fname = (char*)alloca(strlen(_fname) + 16);
strcpy(fname, _fname);
- char* ptr = strchr(fname, '.');
+ char* ptr = strrchr(fname, '.');
if (ptr) {
*ptr = '\0';
}
base-commit: 6a58b62858d9c3c3630abf00bf43075f65a09d38
--
2.41.0