Used option text properties for x and y coordinates
This commit is contained in:
parent
6da067113e
commit
3c5b8c9e7c
|
@ -65,16 +65,16 @@ void landingMenuInitText(struct LandingMenu* landingMenu) {
|
||||||
int stride = getCurrentStrideValue(landingMenu);
|
int stride = getCurrentStrideValue(landingMenu);
|
||||||
|
|
||||||
for (int i = 0; i < landingMenu->optionCount; ++i) {
|
for (int i = 0; i < landingMenu->optionCount; ++i) {
|
||||||
landingMenu->optionText[i] = menuBuildPrerenderedText(&gDejaVuSansFont,
|
landingMenu->optionText[i] = menuBuildPrerenderedText(&gDejaVuSansFont,
|
||||||
translationsGet(landingMenu->options[i].messageId),
|
translationsGet(landingMenu->options[i].messageId),
|
||||||
LANDING_MENU_TEXT_START_X,
|
LANDING_MENU_TEXT_START_X,
|
||||||
y,
|
y,
|
||||||
SCREEN_WD);
|
SCREEN_WD);
|
||||||
y += stride;
|
y += stride;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void landingMenuInit(struct LandingMenu* landingMenu, struct LandingMenuOption* options, int optionCount, int darkenBackground) {
|
void landingMenuInit(struct LandingMenu* landingMenu, struct LandingMenuOption* options, int optionCount, int darkenBackground) {
|
||||||
landingMenu->optionText = malloc(sizeof(struct PrerenderedText*) * optionCount);
|
landingMenu->optionText = malloc(sizeof(struct PrerenderedText*) * optionCount);
|
||||||
landingMenu->options = options;
|
landingMenu->options = options;
|
||||||
landingMenu->selectedItem = 0;
|
landingMenu->selectedItem = 0;
|
||||||
|
@ -96,7 +96,7 @@ struct LandingMenuOption* landingMenuUpdate(struct LandingMenu* landingMenu) {
|
||||||
if (dir & ControllerDirectionUp) {
|
if (dir & ControllerDirectionUp) {
|
||||||
if (landingMenu->selectedItem > 0) {
|
if (landingMenu->selectedItem > 0) {
|
||||||
--landingMenu->selectedItem;
|
--landingMenu->selectedItem;
|
||||||
} else {
|
} else {
|
||||||
landingMenu->selectedItem = landingMenu->optionCount - 1;
|
landingMenu->selectedItem = landingMenu->optionCount - 1;
|
||||||
}
|
}
|
||||||
soundPlayerPlay(SOUNDS_BUTTONROLLOVER, 1.0f, 0.5f, NULL, NULL, SoundTypeAll);
|
soundPlayerPlay(SOUNDS_BUTTONROLLOVER, 1.0f, 0.5f, NULL, NULL, SoundTypeAll);
|
||||||
|
@ -133,7 +133,7 @@ struct LandingMenuOption* landingMenuUpdate(struct LandingMenu* landingMenu) {
|
||||||
|
|
||||||
void landingMenuRender(struct LandingMenu* landingMenu, struct RenderState* renderState, struct GraphicsTask* task) {
|
void landingMenuRender(struct LandingMenu* landingMenu, struct RenderState* renderState, struct GraphicsTask* task) {
|
||||||
gSPDisplayList(renderState->dl++, ui_material_list[DEFAULT_UI_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_list[DEFAULT_UI_INDEX]);
|
||||||
|
|
||||||
if (landingMenu->darkenBackground) {
|
if (landingMenu->darkenBackground) {
|
||||||
gSPDisplayList(renderState->dl++, ui_material_list[SOLID_TRANSPARENT_OVERLAY_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_list[SOLID_TRANSPARENT_OVERLAY_INDEX]);
|
||||||
gDPFillRectangle(renderState->dl++, 0, 0, SCREEN_WD, SCREEN_HT);
|
gDPFillRectangle(renderState->dl++, 0, 0, SCREEN_WD, SCREEN_HT);
|
||||||
|
@ -143,12 +143,10 @@ void landingMenuRender(struct LandingMenu* landingMenu, struct RenderState* rend
|
||||||
gSPDisplayList(renderState->dl++, ui_material_list[PORTAL_LOGO_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_list[PORTAL_LOGO_INDEX]);
|
||||||
gSPDisplayList(renderState->dl++, portal_logo_gfx);
|
gSPDisplayList(renderState->dl++, portal_logo_gfx);
|
||||||
gSPDisplayList(renderState->dl++, ui_material_revert_list[PORTAL_LOGO_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_revert_list[PORTAL_LOGO_INDEX]);
|
||||||
|
|
||||||
int paddingDepthY = 2;
|
int paddingDepthY = 2;
|
||||||
int paddingDepthX = 4;
|
int paddingDepthX = 4;
|
||||||
int highlightWidth = 160;
|
int highlightWidth = 160;
|
||||||
int landingMenuTextY = LANDING_MENU_TEXT_START_Y;
|
|
||||||
int stride = getCurrentStrideValue(landingMenu);
|
|
||||||
if (landingMenu->optionCount > PACKED_MENU_THRESHOLD){
|
if (landingMenu->optionCount > PACKED_MENU_THRESHOLD){
|
||||||
paddingDepthY = 0;
|
paddingDepthY = 0;
|
||||||
highlightWidth = 185;
|
highlightWidth = 185;
|
||||||
|
@ -157,18 +155,17 @@ void landingMenuRender(struct LandingMenu* landingMenu, struct RenderState* rend
|
||||||
struct PrerenderedTextBatch* batch = prerenderedBatchStart();
|
struct PrerenderedTextBatch* batch = prerenderedBatchStart();
|
||||||
for (int i = 0; i < landingMenu->optionCount; ++i) {
|
for (int i = 0; i < landingMenu->optionCount; ++i) {
|
||||||
prerenderedBatchAdd(batch, landingMenu->optionText[i], &gColorWhite);
|
prerenderedBatchAdd(batch, landingMenu->optionText[i], &gColorWhite);
|
||||||
|
|
||||||
if (landingMenu->selectedItem == i ){
|
if (landingMenu->selectedItem == i ){
|
||||||
gSPDisplayList(renderState->dl++, ui_material_list[ORANGE_TRANSPARENT_OVERLAY_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_list[ORANGE_TRANSPARENT_OVERLAY_INDEX]);
|
||||||
gDPFillRectangle(renderState->dl++,
|
gDPFillRectangle(renderState->dl++,
|
||||||
LANDING_MENU_TEXT_START_X - paddingDepthX,
|
landingMenu->optionText[i]->x - paddingDepthX,
|
||||||
landingMenuTextY - paddingDepthY,
|
landingMenu->optionText[i]->y - paddingDepthY,
|
||||||
highlightWidth + paddingDepthX,
|
highlightWidth + paddingDepthX,
|
||||||
landingMenuTextY + stride - paddingDepthY);
|
landingMenu->optionText[i]->y + getCurrentStrideValue(landingMenu) - paddingDepthY);
|
||||||
gSPDisplayList(renderState->dl++, ui_material_revert_list[ORANGE_TRANSPARENT_OVERLAY_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_revert_list[ORANGE_TRANSPARENT_OVERLAY_INDEX]);
|
||||||
}
|
}
|
||||||
landingMenuTextY += stride;
|
}
|
||||||
}
|
|
||||||
renderState->dl = prerenderedBatchFinish(batch, gDejaVuSansImages, renderState->dl);
|
renderState->dl = prerenderedBatchFinish(batch, gDejaVuSansImages, renderState->dl);
|
||||||
gSPDisplayList(renderState->dl++, ui_material_revert_list[DEJAVU_SANS_0_INDEX]);
|
gSPDisplayList(renderState->dl++, ui_material_revert_list[DEJAVU_SANS_0_INDEX]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue