diff --git a/assets/images/credits_icons.png b/assets/images/credits_icons.png new file mode 100644 index 0000000..bf1e90a Binary files /dev/null and b/assets/images/credits_icons.png differ diff --git a/assets/images/patreon_qr.png b/assets/images/patreon_qr.png new file mode 100644 index 0000000..66eb51e Binary files /dev/null and b/assets/images/patreon_qr.png differ diff --git a/assets/images/youtube_qr.png b/assets/images/youtube_qr.png new file mode 100644 index 0000000..f3c0d06 Binary files /dev/null and b/assets/images/youtube_qr.png differ diff --git a/assets/materials/ui.skm.yaml b/assets/materials/ui.skm.yaml index f045862..b508be8 100644 --- a/assets/materials/ui.skm.yaml +++ b/assets/materials/ui.skm.yaml @@ -100,6 +100,36 @@ materials: b: 255 a: 255 + patreon_qr: + gDPSetTile: + filename: "../images/patreon_qr.png" + siz: G_IM_SIZ_4b + fmt: G_IM_FMT_I + gDPSetCombineMode: + color: ["0", "0", "0", ENVIRONMENT] + alpha: [TEXEL0, "0", ENVIRONMENT, "0"] + gDPSetRenderMode: G_RM_XLU_SURF + + youtube_qr: + gDPSetTile: + filename: "../images/youtube_qr.png" + siz: G_IM_SIZ_4b + fmt: G_IM_FMT_I + gDPSetCombineMode: + color: ["0", "0", "0", ENVIRONMENT] + alpha: [TEXEL0, "0", ENVIRONMENT, "0"] + gDPSetRenderMode: G_RM_XLU_SURF + + credits_icons: + gDPSetTile: + filename: "../images/credits_icons.png" + siz: G_IM_SIZ_4b + fmt: G_IM_FMT_I + gDPSetCombineMode: + color: ["0", "0", "0", ENVIRONMENT] + alpha: [TEXEL0, "0", ENVIRONMENT, "0"] + gDPSetRenderMode: G_RM_XLU_SURF + button_icons: gDPSetTile: filename: "../images/button_icons.png" diff --git a/src/levels/credits.c b/src/levels/credits.c index a9eee32..03ccad4 100644 --- a/src/levels/credits.c +++ b/src/levels/credits.c @@ -53,12 +53,12 @@ void creditsRender(void* data, struct RenderState* renderState, struct GraphicsT gSPDisplayList(renderState->dl++, ui_material_list[DEFAULT_UI_INDEX]); struct FontRenderer* renderer = stackMalloc(sizeof(struct FontRenderer)); - fontRendererLayout(renderer, &gLiberationMonoFont, "THANK YOU FOR PARTICIPATING\nIN THIS\nENRICHMENT CENTER ACTIVITY!!\n\nIt is still in development.\nFollow the project on YouTube.\nSupport the project on Patreon.", SCREEN_WD); + fontRendererLayout(renderer, &gLiberationMonoFont, "THANK YOU FOR PARTICIPATING\nIN THIS\nENRICHMENT CENTER ACTIVITY!!\n\nIt is still in development.", SCREEN_WD); renderState->dl = fontRendererBuildGfx( renderer, gLiberationMonoImages, 35, - 48, + 36, &color, renderState->dl ); @@ -99,5 +99,38 @@ void creditsRender(void* data, struct RenderState* renderState, struct GraphicsT renderState->dl ); + fontRendererLayout(renderer, &gLiberationMonoFont, "Subscribe", SCREEN_WD); + renderState->dl = fontRendererBuildGfx( + renderer, + gLiberationMonoImages, + 70, + 120, + &color, + renderState->dl + ); + + + fontRendererLayout(renderer, &gLiberationMonoFont, "Support", SCREEN_WD); + renderState->dl = fontRendererBuildGfx( + renderer, + gLiberationMonoImages, + 182, + 120, + &color, + renderState->dl + ); + + gSPDisplayList(renderState->dl++, ui_material_list[YOUTUBE_QR_INDEX]); + gSPTextureRectangle(renderState->dl++, 70 << 2, 138 << 2, (70 + 64) << 2, (138 + 64) << 2, G_TX_RENDERTILE, 0, 0, 1 << 9, 1 << 9); + + gSPDisplayList(renderState->dl++, ui_material_list[PATREON_QR_INDEX]); + gSPTextureRectangle(renderState->dl++, 182 << 2, 138 << 2, (182 + 64) << 2, (138 + 64) << 2, G_TX_RENDERTILE, 0, 0, 1 << 9, 1 << 9); + + gSPDisplayList(renderState->dl++, ui_material_list[CREDITS_ICONS_INDEX]); + gSPTextureRectangle(renderState->dl++, 30 << 2, 130 << 2, (30 + 32) << 2, (130 + 32) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); + + gSPDisplayList(renderState->dl++, ui_material_list[CREDITS_ICONS_INDEX]); + gSPTextureRectangle(renderState->dl++, 148 << 2, 130 << 2, (148 + 32) << 2, (130 + 32) << 2, G_TX_RENDERTILE, 32 << 5, 0, 1 << 10, 1 << 10); + stackMallocFree(renderer); }