adjust some fmod integration bits

This commit is contained in:
nhmall
2023-09-23 10:01:37 -04:00
parent a0d96de89c
commit 384d726b9c
2 changed files with 24 additions and 21 deletions
+11 -6
View File
@@ -16,7 +16,7 @@ static void fmod_init_nhsound(void);
static void fmod_exit_nhsound(const char *); static void fmod_exit_nhsound(const char *);
static void fmod_achievement(schar, schar, int32_t); static void fmod_achievement(schar, schar, int32_t);
static void fmod_soundeffect(char *, int32_t, int32_t); static void fmod_soundeffect(char *, int32_t, int32_t);
static void fmod_hero_playnotes(int32_t, const char *, int32_t); static void fmod_hero_playnotes(int32_t instrument, const char *str, int32_t volume);
static void fmod_play_usersound(const char *, int32_t, int32_t); static void fmod_play_usersound(const char *, int32_t, int32_t);
static void fmod_ambience(int32_t, int32_t, int32_t); static void fmod_ambience(int32_t, int32_t, int32_t);
static void fmod_verbal(char *, int32_t, int32_t, int32_t, int32_t); static void fmod_verbal(char *, int32_t, int32_t, int32_t, int32_t);
@@ -46,8 +46,8 @@ static void
fmod_exit_nhsound(const char *reason) fmod_exit_nhsound(const char *reason)
{ {
/* Close / Terminate external sound library */ /* Close / Terminate external sound library */
FMOD_System_Close(&systemvar); FMOD_System_Close(systemvar);
FMOD_System_Release(&systemvar); FMOD_System_Release(systemvar);
} }
/* fulfill SNDCAP_ACHIEVEMENTS */ /* fulfill SNDCAP_ACHIEVEMENTS */
@@ -65,7 +65,7 @@ fmod_soundeffect(char *desc, int32_t seid, int32_t volume)
} }
/* fulfill SNDCAP_HEROMUSIC */ /* fulfill SNDCAP_HEROMUSIC */
static void fmod_hero_playnotes(int32_t instrument, char *str, int32_t volume) static void fmod_hero_playnotes(int32_t instrument, const char *str, int32_t volume)
{ {
// to be added in future // to be added in future
} }
@@ -88,12 +88,17 @@ fmod_play_usersound(const char *filename, int32_t volume UNUSED, int32_t idx UNU
static void static void
fmod_ambience(int32_t ambienceid, int32_t ambience_action, fmod_ambience(int32_t ambienceid, int32_t ambience_action,
int32_t hero_proximity) int32_t hero_proximity)
{ {
// to be added in future // to be added in future
} }
static void
fmod_verbal(char *text, int32_t gender, int32_t tone,
int32_t vol, int32_t moreinfo)
{
// to be added in future
}
#endif /* SND_LIB_FMOD */ #endif /* SND_LIB_FMOD */
/* end of fmod.c */ /* end of fmod.c */
+13 -15
View File
@@ -50,6 +50,7 @@ GAMEDIR = ..\binary # Default game build directory
# windsound uses built-in Microsoft API's, no 3rd party download is required. # windsound uses built-in Microsoft API's, no 3rd party download is required.
SOUND_LIBRARIES = windsound SOUND_LIBRARIES = windsound
#SOUND_LIBRARIES = windsound fmod
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Curses options. # Curses options.
@@ -805,20 +806,17 @@ NEED_USERSOUNDS=Y
NEED_SEAUTOMAP=Y NEED_SEAUTOMAP=Y
NEED_WAV=Y NEED_WAV=Y
FMODROOT=..\lib\fmod\api\core FMODROOT=..\lib\fmod\api\core
FMODDLLBASENAME = fmod.dll
SOUNDLIBINCL = $(SOUNDLIBINCL) -I$(FMODROOT)/inc SOUNDLIBINCL = $(SOUNDLIBINCL) -I$(FMODROOT)/inc
SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_LIB_FMOD SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_LIB_FMOD
TTYSOUNDOBJS = $(TTYSOUNDOBJS) $(OTTY)fmod.o TTYSOUNDOBJS = $(TTYSOUNDOBJS) $(OTTY)fmod.o
GUISOUNDOBJS = $(GUISOUNDOBJS) $(OGUI)fmod.o GUISOUNDOBJS = $(GUISOUNDOBJS) $(OGUI)fmod.o
FMODLIBDIR = $(FMODROOT)\lib\$(TARGET_CPU) FMODLIBDIR = $(FMODROOT)\lib\$(TARGET_CPU)
FMODLIBDLL = fmod_vc.dll FMODLIBDLL = $(FMODLIBDIR)\$(FMODDLLBASENAME)
!IF "$(TARGET_CPU)" == "x86" FMODFLAGS = -wd4201
TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
#!ELSE GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR)\$(FMODDLLBASENAME)
#TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
#GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
!ENDIF
GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR)\$(FMODLIBDLL)
FMODDIR = ..\sound\fmod FMODDIR = ..\sound\fmod
SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c
!MESSAGE --------------------------------------------------------------------- !MESSAGE ---------------------------------------------------------------------
@@ -827,7 +825,7 @@ SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c
!MESSAGE fmod include directory : $(FMODROOT)\inc !MESSAGE fmod include directory : $(FMODROOT)\inc
!MESSAGE fmod library directory : $(FMODLIBDIR) !MESSAGE fmod library directory : $(FMODLIBDIR)
!MESSAGE fmod library to link with : $(FMODLIBDIR)\fmod_vc.lib !MESSAGE fmod library to link with : $(FMODLIBDIR)\fmod_vc.lib
!MESSAGE fmod library dll : $(FMODLIBDIR)\$(FMODLIBDLL) !MESSAGE fmod library dll : $(FMODLIBDLL)
!MESSAGE --------------------------------------------------------------------- !MESSAGE ---------------------------------------------------------------------
FMOD_MISSING= FMOD_MISSING=
!IF !EXIST("$(FMODROOT)\inc") !IF !EXIST("$(FMODROOT)\inc")
@@ -842,9 +840,9 @@ FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)
FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\fmod_vc.lib FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\fmod_vc.lib
!MESSAGE Error: missing $(FMODLIBDIR)\fmod_vc.lib !MESSAGE Error: missing $(FMODLIBDIR)\fmod_vc.lib
!ENDIF !ENDIF
!IF !EXIST("$(FMODLIBDIR)\$(FMODLIBDLL)") !IF !EXIST("$(FMODLIBDLL)")
FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\$(FMODLIBDLL) FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDLL)
!MESSAGE Error: missing $(FMODLIBDIR)\$(FMODLIBDLL) !MESSAGE Error: missing $(FMODLIBDLL)
!ENDIF !ENDIF
!IF "$(FMOD_MISSING)" != "" !IF "$(FMOD_MISSING)" != ""
!ERROR Error: Cannot proceed with fmod integration included !ERROR Error: Cannot proceed with fmod integration included
@@ -1341,10 +1339,10 @@ DLB =
#========================================== #==========================================
{$(FMODDIR)}.c{$(OBJTTY)}.o: {$(FMODDIR)}.c{$(OBJTTY)}.o:
$(Q)$(CC) $(CFLAGS) -I$(WSHR) $(TTYDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $< $(Q)$(CC) $(CFLAGS) $(FMODFLAGS) -I$(WSHR) $(TTYDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
{$(FMODDIR)}.c{$(OBJGUI)}.o: {$(FMODDIR)}.c{$(OBJGUI)}.o:
$(Q)$(CC) $(CFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $< $(Q)$(CC) $(CFLAGS) $(FMODFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
#========================================== #==========================================
#=============== TARGETS ================== #=============== TARGETS ==================
@@ -2063,8 +2061,8 @@ $(OTTY)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
$(OGUI)fmod.o: $(FMODDIR)\fmod.c $(HACK_H) $(OGUI)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
# Copy the DLL to GAMEDIR # Copy the DLL to GAMEDIR
$(GAMEDIR)\FMODLIBDLL: $(FMODLIBDIR)\$(FMODLIBDLL) $(GAMEDIR)\$(FMODDLLBASENAME):
copy $(FMODLIBDIR)\$(FMODLIBDLL) $@ copy $(FMODLIBDLL) $@
!ENDIF !ENDIF
#=================================================================== #===================================================================
# sys/windows dependencies # sys/windows dependencies