mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-20 10:37:37 -04:00
Merge pull request #417 from hackgrid/fix-menu-1
add slider sounds + fix audio language position
This commit is contained in:
commit
9214cec6e5
|
@ -109,7 +109,7 @@ struct MenuElementParams gAudioMenuParams[] = {
|
||||||
#define AUDIO_LANGUAGE_VALUE_INDEX 4
|
#define AUDIO_LANGUAGE_VALUE_INDEX 4
|
||||||
#define AUDIO_LANGUAGE_TEXT_INDEX 6
|
#define AUDIO_LANGUAGE_TEXT_INDEX 6
|
||||||
|
|
||||||
void audioOptionsActoin(void* data, int selection, struct MenuAction* action) {
|
void audioOptionsAction(void* data, int selection, struct MenuAction* action) {
|
||||||
struct AudioOptions* audioOptions = (struct AudioOptions*)data;
|
struct AudioOptions* audioOptions = (struct AudioOptions*)data;
|
||||||
|
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
|
@ -123,7 +123,7 @@ void audioOptionsActoin(void* data, int selection, struct MenuAction* action) {
|
||||||
break;
|
break;
|
||||||
case AudioOptionAudioLanguage:
|
case AudioOptionAudioLanguage:
|
||||||
gSaveData.audio.audioLanguage = action->state.iSlider.value;
|
gSaveData.audio.audioLanguage = action->state.iSlider.value;
|
||||||
audioOptions->menuBuilder.elements[AUDIO_LANGUAGE_TEXT_INDEX].data = menuBuildPrerenderedText(&gDejaVuSansFont, AudioLanguages[gSaveData.audio.audioLanguage], GAMEPLAY_X + 125, GAMEPLAY_Y + 124, SCREEN_WD);
|
audioOptions->menuBuilder.elements[AUDIO_LANGUAGE_TEXT_INDEX].data = menuBuildPrerenderedText(&gDejaVuSansFont, AudioLanguages[gSaveData.audio.audioLanguage], GAMEPLAY_X + 125, GAMEPLAY_Y + 80, SCREEN_WD);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ void audioOptionsInit(struct AudioOptions* audioOptions) {
|
||||||
gAudioMenuParams,
|
gAudioMenuParams,
|
||||||
sizeof(gAudioMenuParams) / sizeof(*gAudioMenuParams),
|
sizeof(gAudioMenuParams) / sizeof(*gAudioMenuParams),
|
||||||
AudioOptionCount,
|
AudioOptionCount,
|
||||||
audioOptionsActoin,
|
audioOptionsAction,
|
||||||
audioOptions
|
audioOptions
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ enum MenuDirection checkboxMenuItemUpdate(struct MenuBuilderElement* element, Me
|
||||||
action.type = MenuElementTypeCheckbox;
|
action.type = MenuElementTypeCheckbox;
|
||||||
action.state.checkbox.isChecked = checkbox->checked;
|
action.state.checkbox.isChecked = checkbox->checked;
|
||||||
actionCallback(data, element->selectionIndex, &action);
|
actionCallback(data, element->selectionIndex, &action);
|
||||||
soundPlayerPlay(SOUNDS_BUTTONCLICKRELEASE, 1.0f, 0.5f, NULL, NULL, SoundTypeAll);
|
soundPlayerPlay(SOUNDS_BUTTONCLICKRELEASE, 1.0f, 0.5f, NULL, NULL, SoundTypeAll);
|
||||||
}
|
}
|
||||||
|
|
||||||
return MenuDirectionStay;
|
return MenuDirectionStay;
|
||||||
|
@ -113,10 +113,9 @@ void sliderMenuItemInit(struct MenuBuilderElement* element) {
|
||||||
|
|
||||||
enum MenuDirection sliderMenuItemUpdate(struct MenuBuilderElement* element, MenuActionCalback actionCallback, void* data) {
|
enum MenuDirection sliderMenuItemUpdate(struct MenuBuilderElement* element, MenuActionCalback actionCallback, void* data) {
|
||||||
struct MenuSlider* slider = (struct MenuSlider*)element->data;
|
struct MenuSlider* slider = (struct MenuSlider*)element->data;
|
||||||
|
int controllerDir = controllerGetDirectionDown(0);
|
||||||
|
|
||||||
if (element->params->params.slider.discrete) {
|
if (element->params->params.slider.discrete) {
|
||||||
int controllerDir = controllerGetDirectionDown(0);
|
|
||||||
|
|
||||||
int numTicks = element->params->params.slider.numberOfTicks;
|
int numTicks = element->params->params.slider.numberOfTicks;
|
||||||
int currentValue = (int)floorf(slider->value * (numTicks - 1));
|
int currentValue = (int)floorf(slider->value * (numTicks - 1));
|
||||||
int newValue = currentValue;
|
int newValue = currentValue;
|
||||||
|
@ -196,6 +195,9 @@ enum MenuDirection sliderMenuItemUpdate(struct MenuBuilderElement* element, Menu
|
||||||
slider->value = newValue;
|
slider->value = newValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (controllerGetButtonDown(0, L_JPAD | R_JPAD | A_BUTTON) || (element->params->params.slider.discrete && ((controllerDir & ControllerDirectionLeft) || (controllerDir & ControllerDirectionRight))))
|
||||||
|
soundPlayerPlay(SOUNDS_BUTTONCLICKRELEASE, 1.0f, 0.5f, NULL, NULL, SoundTypeAll);
|
||||||
|
|
||||||
return MenuDirectionStay;
|
return MenuDirectionStay;
|
||||||
}
|
}
|
||||||
|
@ -334,4 +336,4 @@ void menuBuilderSetISlider(struct MenuBuilderElement* element, int value) {
|
||||||
|
|
||||||
struct MenuSlider* slider = (struct MenuSlider*)element->data;
|
struct MenuSlider* slider = (struct MenuSlider*)element->data;
|
||||||
slider->value = (float)value / (float)(element->params->params.slider.numberOfTicks - 1);
|
slider->value = (float)value / (float)(element->params->params.slider.numberOfTicks - 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue