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

View File

@@ -16,7 +16,7 @@ static void fmod_init_nhsound(void);
static void fmod_exit_nhsound(const char *);
static void fmod_achievement(schar, schar, 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_ambience(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)
{
/* Close / Terminate external sound library */
FMOD_System_Close(&systemvar);
FMOD_System_Release(&systemvar);
FMOD_System_Close(systemvar);
FMOD_System_Release(systemvar);
}
/* fulfill SNDCAP_ACHIEVEMENTS */
@@ -65,7 +65,7 @@ fmod_soundeffect(char *desc, int32_t seid, int32_t volume)
}
/* 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
}
@@ -88,12 +88,17 @@ fmod_play_usersound(const char *filename, int32_t volume UNUSED, int32_t idx UNU
static void
fmod_ambience(int32_t ambienceid, int32_t ambience_action,
int32_t hero_proximity)
int32_t hero_proximity)
{
// 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 */
/* end of fmod.c */

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.
SOUND_LIBRARIES = windsound
#SOUND_LIBRARIES = windsound fmod
#------------------------------------------------------------------------------
# Curses options.
@@ -805,20 +806,17 @@ NEED_USERSOUNDS=Y
NEED_SEAUTOMAP=Y
NEED_WAV=Y
FMODROOT=..\lib\fmod\api\core
FMODDLLBASENAME = fmod.dll
SOUNDLIBINCL = $(SOUNDLIBINCL) -I$(FMODROOT)/inc
SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_LIB_FMOD
TTYSOUNDOBJS = $(TTYSOUNDOBJS) $(OTTY)fmod.o
GUISOUNDOBJS = $(GUISOUNDOBJS) $(OGUI)fmod.o
FMODLIBDIR = $(FMODROOT)\lib\$(TARGET_CPU)
FMODLIBDLL = fmod_vc.dll
!IF "$(TARGET_CPU)" == "x86"
FMODLIBDLL = $(FMODLIBDIR)\$(FMODDLLBASENAME)
FMODFLAGS = -wd4201
TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
#!ELSE
#TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
#GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
!ENDIF
GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR)\$(FMODLIBDLL)
GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR)\$(FMODDLLBASENAME)
FMODDIR = ..\sound\fmod
SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c
!MESSAGE ---------------------------------------------------------------------
@@ -827,7 +825,7 @@ SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c
!MESSAGE fmod include directory : $(FMODROOT)\inc
!MESSAGE fmod library directory : $(FMODLIBDIR)
!MESSAGE fmod library to link with : $(FMODLIBDIR)\fmod_vc.lib
!MESSAGE fmod library dll : $(FMODLIBDIR)\$(FMODLIBDLL)
!MESSAGE fmod library dll : $(FMODLIBDLL)
!MESSAGE ---------------------------------------------------------------------
FMOD_MISSING=
!IF !EXIST("$(FMODROOT)\inc")
@@ -842,9 +840,9 @@ FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)
FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\fmod_vc.lib
!MESSAGE Error: missing $(FMODLIBDIR)\fmod_vc.lib
!ENDIF
!IF !EXIST("$(FMODLIBDIR)\$(FMODLIBDLL)")
FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\$(FMODLIBDLL)
!MESSAGE Error: missing $(FMODLIBDIR)\$(FMODLIBDLL)
!IF !EXIST("$(FMODLIBDLL)")
FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDLL)
!MESSAGE Error: missing $(FMODLIBDLL)
!ENDIF
!IF "$(FMOD_MISSING)" != ""
!ERROR Error: Cannot proceed with fmod integration included
@@ -1341,10 +1339,10 @@ DLB =
#==========================================
{$(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:
$(Q)$(CC) $(CFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
$(Q)$(CC) $(CFLAGS) $(FMODFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
#==========================================
#=============== TARGETS ==================
@@ -2063,8 +2061,8 @@ $(OTTY)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
$(OGUI)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
# Copy the DLL to GAMEDIR
$(GAMEDIR)\FMODLIBDLL: $(FMODLIBDIR)\$(FMODLIBDLL)
copy $(FMODLIBDIR)\$(FMODLIBDLL) $@
$(GAMEDIR)\$(FMODDLLBASENAME):
copy $(FMODLIBDLL) $@
!ENDIF
#===================================================================
# sys/windows dependencies