Skip to content

Commit

Permalink
Make client for Windows x86_64 use OpenAL64.dll by default
Browse files Browse the repository at this point in the history
ioquake3.x86_64.exe can't load x86 OpenAL32.dll. Using separate
library names allows shipping OpenAL for both architectures.

Though since the dll name is saved in the config file, using both
clients on the same computer will cause one client arch to always
try to load the wrong OpenAL dll and then fallback to the correct
default OpenAL dll. I guess it could be fixed by using separate
cvar names for s_alDriver.
  • Loading branch information
zturtleman committed Sep 5, 2017
1 parent 8192f66 commit c2ce1c2
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
4 changes: 3 additions & 1 deletion code/client/snd_openal.c
Original file line number Diff line number Diff line change
Expand Up @@ -2206,7 +2206,9 @@ static ALCdevice *alCaptureDevice;
static cvar_t *s_alCapture;
#endif

#ifdef _WIN32
#if defined(_WIN64)
#define ALDRIVER_DEFAULT "OpenAL64.dll"
#elif defined(_WIN32)
#define ALDRIVER_DEFAULT "OpenAL32.dll"
#elif defined(__APPLE__)
#define ALDRIVER_DEFAULT "/System/Library/Frameworks/OpenAL.framework/OpenAL"
Expand Down
9 changes: 8 additions & 1 deletion misc/nsis/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ ifndef SDLDLL
SDLDLL=SDL2.dll
endif
endif
ifndef OPENALDLL
ifeq ($(ARCH),x86_64)
OPENALDLL=OpenAL64.dll
else
OPENALDLL=OpenAL32.dll
endif
endif

DEFINES=
ifeq ($(USE_RENDERER_DLOPEN),1)
Expand All @@ -63,7 +70,7 @@ endif
all: ioquake3-$(VERSION)-$(RELEASE).$(ARCH).exe

ioquake3.$(ARCH).nsi: ioquake3.nsi.in
sed 's/XXXVERSIONXXX/$(VERSION)/;s/XXXRELEASEXXX/$(RELEASE)/;s/mingw32/$(PLATFORM)/g;s/x86/$(ARCH)/g;s/SDL2.dll/$(SDLDLL)/g' < $< > $@
sed 's/XXXVERSIONXXX/$(VERSION)/;s/XXXRELEASEXXX/$(RELEASE)/;s/mingw32/$(PLATFORM)/g;s/x86/$(ARCH)/g;s/SDL2.dll/$(SDLDLL)/g;s/OpenAL32.dll/$(OPENALDLL)/g' < $< > $@

ioquake3-$(VERSION)-$(RELEASE).$(ARCH).exe: ioquake3.$(ARCH).nsi
makensis $(DEFINES) ioquake3.$(ARCH).nsi
Expand Down

0 comments on commit c2ce1c2

Please sign in to comment.