Added sfx and env volume settings

This commit is contained in:
NoHomoBoi 2020-06-13 02:16:00 -05:00
parent 7c341334f0
commit b15bd727c2
7 changed files with 21 additions and 7 deletions

View File

@ -107,7 +107,9 @@
#define TEXT_OPT_NEAREST _("Nearest")
#define TEXT_OPT_LINEAR _("Linear")
#define TEXT_OPT_MVOLUME _("Master Volume")
#define TEXT_OPT_TMUSIC _("Music Volume")
#define TEXT_OPT_MUSIC_VOLUME _("Music Volume")
#define TEXT_OPT_SFX_VOLUME _("Sfx Volume")
#define TEXT_OPT_ENV_VOLUME _("Env Volume")
#define TEXT_OPT_VSYNC _("Vertical Sync")
#define TEXT_OPT_DOUBLE _("Double")
#define TEXT_RESET_WINDOW _("Reset Window")

View File

@ -2062,8 +2062,8 @@ void play_dialog_sound(u8 dialogID) {
#endif
}
void setBackgroundMusicVolume(s32 volume){
func_8031D838(SEQ_PLAYER_LEVEL, 0, volume);
void setSequencePlayerVolume(s32 player, s32 volume){
func_8031D838(player, 0, volume);
}
void play_music(u8 player, u16 seqArgs, u16 fadeTimer) {

View File

@ -37,7 +37,7 @@ void sound_banks_disable(u8 player, u16 bankMask);
void sound_banks_enable(u8 player, u16 bankMask);
void func_80320A4C(u8 bankIndex, u8 arg1);
void play_dialog_sound(u8 dialogID);
void setBackgroundMusicVolume(s32 volume);
void setSequencePlayerVolume(s32 player, s32 volume);
void play_music(u8 player, u16 seqArgs, u16 fadeTimer);
void stop_background_music(u16 seqId);
void fadeout_background_music(u16 arg0, u16 fadeOut);

View File

@ -85,8 +85,10 @@ static const u8 optsVideoStr[][32] = {
};
static const u8 optsAudioStr[][32] = {
{ TEXT_OPT_MVOLUME },
{ TEXT_OPT_TMUSIC },
{ TEXT_OPT_MVOLUME },
{ TEXT_OPT_MUSIC_VOLUME },
{ TEXT_OPT_SFX_VOLUME },
{ TEXT_OPT_ENV_VOLUME },
};
static const u8 optsCheatsStr[][64] = {
@ -261,6 +263,8 @@ static struct Option optsVideo[] = {
static struct Option optsAudio[] = {
DEF_OPT_SCROLL( optsAudioStr[0], &configMasterVolume, 0, MAX_VOLUME, 1 ),
DEF_OPT_SCROLL( optsAudioStr[1], &configMusicVolume, 0, MAX_VOLUME, 1),
DEF_OPT_SCROLL( optsAudioStr[2], &configSfxVolume, 0, MAX_VOLUME, 1),
DEF_OPT_SCROLL( optsAudioStr[3], &configEnvVolume, 0, MAX_VOLUME, 1),
};
static struct Option optsCheats[] = {

View File

@ -52,6 +52,8 @@ ConfigWindow configWindow = {
unsigned int configFiltering = 1; // 0=force nearest, 1=linear, (TODO) 2=three-point
unsigned int configMasterVolume = MAX_VOLUME; // 0 - MAX_VOLUME
unsigned int configMusicVolume = MAX_VOLUME;
unsigned int configSfxVolume = MAX_VOLUME;
unsigned int configEnvVolume = MAX_VOLUME;
// Keyboard mappings (VK_ values, by default keyboard/gamepad/mouse)
unsigned int configKeyA[MAX_BINDS] = { 0x0026, 0x1000, 0x1103 };
@ -101,6 +103,8 @@ static const struct ConfigOption options[] = {
{.name = "texture_filtering", .type = CONFIG_TYPE_UINT, .uintValue = &configFiltering},
{.name = "master_volume", .type = CONFIG_TYPE_UINT, .uintValue = &configMasterVolume},
{.name = "music_volume", .type = CONFIG_TYPE_UINT, .uintValue = &configMusicVolume},
{.name = "sfx_volume", .type = CONFIG_TYPE_UINT, .uintValue = &configSfxVolume},
{.name = "env_volume", .type = CONFIG_TYPE_UINT, .uintValue = &configEnvVolume},
{.name = "key_a", .type = CONFIG_TYPE_BIND, .uintValue = configKeyA},
{.name = "key_b", .type = CONFIG_TYPE_BIND, .uintValue = configKeyB},
{.name = "key_start", .type = CONFIG_TYPE_BIND, .uintValue = configKeyStart},

View File

@ -22,6 +22,8 @@ extern ConfigWindow configWindow;
extern unsigned int configFiltering;
extern unsigned int configMasterVolume;
extern unsigned int configMusicVolume;
extern unsigned int configSfxVolume;
extern unsigned int configEnvVolume;
extern unsigned int configKeyA[];
extern unsigned int configKeyB[];
extern unsigned int configKeyStart[];

View File

@ -74,7 +74,9 @@ void produce_one_frame(void) {
gfx_start_frame();
setBackgroundMusicVolume((s32)configMusicVolume);
setSequencePlayerVolume(SEQ_PLAYER_LEVEL, (s32)configMusicVolume);
setSequencePlayerVolume(SEQ_PLAYER_SFX, (s32)configSfxVolume);
setSequencePlayerVolume(SEQ_PLAYER_ENV, (s32)configEnvVolume);
game_loop_one_iteration();
thread6_rumble_loop(NULL);