From 7a6990ae0aa17b6f15ab5dc033c2f40dd3f85b31 Mon Sep 17 00:00:00 2001 From: PTKay Date: Mon, 2 Dec 2024 13:48:25 +0000 Subject: [PATCH] Added arrow circle to installer's header --- UnleashedRecomp/CMakeLists.txt | 1 + UnleashedRecomp/ui/installer_wizard.cpp | 33 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/UnleashedRecomp/CMakeLists.txt b/UnleashedRecomp/CMakeLists.txt index 3e5a400a..9af198c9 100644 --- a/UnleashedRecomp/CMakeLists.txt +++ b/UnleashedRecomp/CMakeLists.txt @@ -117,6 +117,7 @@ BIN2H(SOURCE_FILE "${INSTALLER_IMAGES_DIR}/install_006.dds" HEADER_FILE "res/ins BIN2H(SOURCE_FILE "${INSTALLER_IMAGES_DIR}/install_007.dds" HEADER_FILE "res/install_007_dds.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_install007DDS") BIN2H(SOURCE_FILE "${INSTALLER_IMAGES_DIR}/install_008.dds" HEADER_FILE "res/install_008_dds.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_install008DDS") BIN2H(SOURCE_FILE "${INSTALLER_IMAGES_DIR}/miles_electric_icon.dds" HEADER_FILE "res/miles_electric_icon_dds.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_milesElectricIconDDS") +BIN2H(SOURCE_FILE "${INSTALLER_IMAGES_DIR}/arrow_circle.dds" HEADER_FILE "res/arrow_circle_dds.h" ARRAY_TYPE "unsigned char" VARIABLE_NAME "g_arrowCircleDDS") set(LIBMSPACK_PATH ${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack) diff --git a/UnleashedRecomp/ui/installer_wizard.cpp b/UnleashedRecomp/ui/installer_wizard.cpp index 4ceb048a..c16d2165 100644 --- a/UnleashedRecomp/ui/installer_wizard.cpp +++ b/UnleashedRecomp/ui/installer_wizard.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #define SKIP_SOURCE_CHECKS 0 @@ -72,7 +73,8 @@ static std::filesystem::path g_gameSourcePath; static std::filesystem::path g_updateSourcePath; static std::array g_dlcSourcePaths; static std::array, 8> g_installTextures; -static std::unique_ptr g_installHeaderIcon; +static std::unique_ptr g_milesElectricIcon; +static std::unique_ptr g_arrowCircle; static Journal g_installerJournal; static Installer::Sources g_installerSources; static uint64_t g_installerAvailableSize = 0; @@ -233,14 +235,6 @@ static void DrawScanlineBars() int textAlpha = std::lround(255.0f * ComputeMotionInstaller(g_appearTime, g_disappearTime, TITLE_ANIMATION_TIME, TITLE_ANIMATION_DURATION)); DrawTextWithOutline(g_dfsogeistdFont, Scale(42.0f), { Scale(285.0f), Scale(57.0f) }, IM_COL32(255, 195, 0, textAlpha), headerText, 4, IM_COL32(0, 0, 0, textAlpha)); - // Icon - float iconPosX = 225.0f; - float iconPosY = 50.0f; - GuestTexture* guestTexture = g_installHeaderIcon.get(); - ImVec2 min = { Scale(iconPosX), Scale(iconPosY) }; - ImVec2 max = { Scale(iconPosX + 58), Scale(iconPosY + 58) }; - drawList->AddImage(guestTexture, min, max, ImVec2(0, 0), ImVec2(1, 1), IM_COL32(255, 255, 255, 255)); - // Top bar line drawList->AddLine ( @@ -258,6 +252,24 @@ static void DrawScanlineBars() OUTLINE_COLOR, Scale(1) ); + + // Icons + float iconsPosX = 225.0f; + float iconsPosY = 50.0f; + + // Miles Electric Icon + float milesIconScale = 59; + GuestTexture* milesElectricIconTexture = g_milesElectricIcon.get(); + ImVec2 milesElectricMin = { Scale(iconsPosX), Scale(iconsPosY) }; + ImVec2 milesElectricMax = { Scale(iconsPosX + milesIconScale), Scale(iconsPosY + milesIconScale) }; + drawList->AddImage(milesElectricIconTexture, milesElectricMin, milesElectricMax, ImVec2(0, 0), ImVec2(1, 1), IM_COL32(255, 255, 255, 255)); + + // Arrow Circle Icon + float arrowCircleScale = 58; + GuestTexture* arrowCircleTexture = g_arrowCircle.get(); + ImVec2 arrowCircleMin = { Scale(iconsPosX), Scale(iconsPosY) }; + ImVec2 arrowCircleMax = { Scale(iconsPosX + arrowCircleScale), Scale(iconsPosY + arrowCircleScale) }; + drawList->AddImage(arrowCircleTexture, arrowCircleMin, arrowCircleMax, ImVec2(0, 0), ImVec2(1, 1), IM_COL32(255, 255, 255, 96)); } static float AlignToNextGrid(float value) @@ -852,7 +864,8 @@ void InstallerWizard::Init() g_installTextures[5] = LoadTexture(g_install006DDS, g_install006DDS_size); g_installTextures[6] = LoadTexture(g_install007DDS, g_install007DDS_size); g_installTextures[7] = LoadTexture(g_install008DDS, g_install008DDS_size); - g_installHeaderIcon = LoadTexture(g_milesElectricIconDDS, g_milesElectricIconDDS_size); + g_milesElectricIcon = LoadTexture(g_milesElectricIconDDS, g_milesElectricIconDDS_size); + g_arrowCircle = LoadTexture(g_arrowCircleDDS, g_arrowCircleDDS_size); } void InstallerWizard::Draw()