From 2dc494dc1c6e71e8ebbf07741e9a6417f715a210 Mon Sep 17 00:00:00 2001 From: Julian Maynes Date: Tue, 28 Apr 2026 06:14:56 -0700 Subject: [PATCH] Finish achievement --- src/d/d_menu_letter.cpp | 8 ++++++++ src/dusk/achievements.cpp | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/d/d_menu_letter.cpp b/src/d/d_menu_letter.cpp index a0155ef6b4..589b2553c0 100644 --- a/src/d/d_menu_letter.cpp +++ b/src/d/d_menu_letter.cpp @@ -17,6 +17,10 @@ #include "d/d_msg_scrn_arrow.h" #include "d/d_lib.h" +#ifdef TARGET_PC +#include "dusk/achievements.h" +#endif + #if VERSION == VERSION_GCN_JPN #define D_MENU_LETTER_LINE_MAX 9 #else @@ -514,6 +518,10 @@ void dMenu_Letter_c::read_open_init() { setAButtonString(0); setBButtonString(0); mpBlackTex->setAlpha(0); + + #ifdef TARGET_PC + dusk::AchievementSystem::get().signal("open_letter"); + #endif } void dMenu_Letter_c::read_open_move() { diff --git a/src/dusk/achievements.cpp b/src/dusk/achievements.cpp index 58e99a3413..88dc43910c 100644 --- a/src/dusk/achievements.cpp +++ b/src/dusk/achievements.cpp @@ -376,6 +376,24 @@ std::vector AchievementSystem::makeEntries() { } }, {} + }, + { + { + "email-me", + "Email Me", + "Read a letter during the Dark Beast Ganon fight.", + AchievementCategory::Misc, + false, 0, 0, false + }, + [](Achievement& a, json&) { + + void* dbgExists = fopAcM_SearchByName(fpcNm_B_MGN_e); + if(dbgExists && AchievementSystem::get().hasSignal("open_letter")) { + a.progress = 1; + } + + }, + {} } }; }