diff --git a/configure.py b/configure.py index 7bc9629fb..6781476ff 100644 --- a/configure.py +++ b/configure.py @@ -442,7 +442,7 @@ config.libs = [ Object(NonMatching, "d/d_kyeff.cpp"), Object(NonMatching, "d/d_kyeff2.cpp"), Object(NonMatching, "d/d_ky_thunder.cpp"), - Object(NonMatching, "d/d_letter.cpp"), + Object(Matching, "d/d_letter.cpp"), Object(NonMatching, "d/d_level_se.cpp"), Object(NonMatching, "d/d_menu_cloth.cpp"), Object(NonMatching, "d/d_menu_collect.cpp"), diff --git a/include/d/d_letter.h b/include/d/d_letter.h index 92b3cce7d..277e1d06e 100644 --- a/include/d/d_letter.h +++ b/include/d/d_letter.h @@ -1,10 +1,12 @@ #ifndef D_LETTER_H #define D_LETTER_H +#include "dolphin/types.h" + bool dLetter_isNoSend(u16); void dLetter_send(u16); bool dLetter_isSend(u16); -bool dLetter_stock(u16); +void dLetter_stock(u16); bool dLetter_isStock(u16); void dLetter_read(u16); bool dLetter_isRead(u16); diff --git a/src/d/d_letter.cpp b/src/d/d_letter.cpp index 4e93971fd..ca4b8b911 100644 --- a/src/d/d_letter.cpp +++ b/src/d/d_letter.cpp @@ -3,56 +3,65 @@ // Translation Unit: d_letter.cpp // -#include "d_letter.h" -#include "dolphin/types.h" +#include "d/d_letter.h" +#include "d/d_com_inf_game.h" + +enum dLetterStts_e { + NOSEND_e, + SEND_e, + STOCK_e, + READ_e, +}; /* 801990CC-80199108 .text dLetter_isNoSend__FUs */ -void dLetter_isNoSend(unsigned short) { - /* Nonmatching */ +bool dLetter_isNoSend(u16 idx) { + return dComIfGs_getEventReg(idx) == NOSEND_e; } /* 80199108-8019913C .text dLetter_send__FUs */ -void dLetter_send(unsigned short) { - /* Nonmatching */ +void dLetter_send(u16 idx) { + dComIfGs_setEventReg(idx, SEND_e); } /* 8019913C-8019917C .text dLetter_isSend__FUs */ -void dLetter_isSend(unsigned short) { - /* Nonmatching */ +bool dLetter_isSend(u16 idx) { + return dComIfGs_getEventReg(idx) == SEND_e; } /* 8019917C-801991B0 .text dLetter_stock__FUs */ -void dLetter_stock(unsigned short) { - /* Nonmatching */ +void dLetter_stock(u16 idx) { + dComIfGs_setEventReg(idx, STOCK_e); } /* 801991B0-801991F0 .text dLetter_isStock__FUs */ -void dLetter_isStock(unsigned short) { - /* Nonmatching */ +bool dLetter_isStock(u16 idx) { + return dComIfGs_getEventReg(idx) == STOCK_e; } /* 801991F0-80199224 .text dLetter_read__FUs */ -void dLetter_read(unsigned short) { - /* Nonmatching */ +void dLetter_read(u16 idx) { + dComIfGs_setEventReg(idx, READ_e); } /* 80199224-80199264 .text dLetter_isRead__FUs */ -void dLetter_isRead(unsigned short) { - /* Nonmatching */ +bool dLetter_isRead(u16 idx) { + return dComIfGs_getEventReg(idx) == READ_e; } /* 80199264-801992A0 .text dLetter_delivery__FUs */ -void dLetter_delivery(unsigned short) { - /* Nonmatching */ +void dLetter_delivery(u16 idx) { + if (dLetter_isSend(idx)) + dLetter_stock(idx); } /* 801992A0-801992DC .text dLetter_autoStock__FUs */ -void dLetter_autoStock(unsigned short) { - /* Nonmatching */ +void dLetter_autoStock(u16 idx) { + if (dLetter_isNoSend(idx)) + dLetter_stock(idx); } /* 801992DC-80199308 .text dLetter_isDelivery__FUs */ -void dLetter_isDelivery(unsigned short) { - /* Nonmatching */ +bool dLetter_isDelivery(u16 idx) { + return !dLetter_isNoSend(idx); }