mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-12 13:34:46 -04:00
107 lines
3.2 KiB
C++
107 lines
3.2 KiB
C++
|
|
#include "d/d_com_inf_game.h"
|
|
#include "d/d_letter.h"
|
|
#include "SSystem/SComponent/c_lib.h"
|
|
#include "d/d_item_data.h"
|
|
|
|
/* 80197AB8-80197FE4 .text dKankyo_DayProc__Fv */
|
|
static void dKankyo_DayProc() {
|
|
if (dComIfGs_isEventBit(0x1820))
|
|
dLetter_autoStock(0x8b03);
|
|
|
|
if (dComIfGs_isEventBit(0x1820) && dComIfGs_isEventBit(0x0b80))
|
|
dLetter_autoStock(0xb203);
|
|
|
|
dLetter_delivery(0xac03);
|
|
dLetter_delivery(0xae03);
|
|
dLetter_delivery(0xb003);
|
|
dLetter_delivery(0xaf03);
|
|
dLetter_delivery(0x9d03);
|
|
|
|
u8 clamped = cLib_maxLimit(dComIfGs_getEventReg(0xcf03) + 1, 3);
|
|
dComIfGs_setEventReg(0xcf03, clamped);
|
|
clamped = cLib_maxLimit(dComIfGs_getEventReg(0xab03) + 1, 3);
|
|
dComIfGs_setEventReg(0xab03, clamped);
|
|
|
|
if (dComIfGs_isGetItemReserve(0x0F) && dComIfGs_checkReserveItem(MO_LETTER) == 0) {
|
|
clamped = cLib_maxLimit(dComIfGs_getEventReg(0xccff) + 1, 2);
|
|
dComIfGs_setEventReg(0xccff, clamped);
|
|
}
|
|
|
|
dComIfGs_setEventReg(0xbcff, 0);
|
|
dComIfGs_setEventReg(0xcb03, 0);
|
|
dComIfGs_setEventReg(0xca03, 0);
|
|
dComIfGs_setEventReg(0xc903, 0);
|
|
dComIfGs_offEventBit(0x1304);
|
|
dComIfGs_offEventBit(0x1302);
|
|
dComIfGs_offEventBit(0x1301);
|
|
dComIfGs_offTmpBit(0x0120);
|
|
dComIfGs_offTmpBit(0x0040);
|
|
dComIfGs_offTmpBit(0x0020);
|
|
dComIfGs_offTmpBit(0x0010);
|
|
dComIfGs_offTmpBit(0x0008);
|
|
dComIfGs_offTmpBit(0x0004);
|
|
dComIfGs_offTmpBit(0x0002);
|
|
dComIfGs_offTmpBit(0x0001);
|
|
dComIfGs_offTmpBit(0x0180);
|
|
dComIfGs_offTmpBit(0x0140);
|
|
dComIfGs_offTmpBit(0x0580);
|
|
dComIfGs_offTmpBit(0x0104);
|
|
|
|
if (dComIfGs_getEventReg(0xc103) == 1)
|
|
dComIfGs_setEventReg(0xc103, 2);
|
|
|
|
if (dComIfGs_isEventBit(0x1f10)) {
|
|
u8 reg = dComIfGs_getEventReg(0xbb07);
|
|
if (reg == 7) {
|
|
dComIfGs_onEventBit(0x1f08);
|
|
} else {
|
|
clamped = cLib_maxLimit(reg + 1, 7);
|
|
dComIfGs_setEventReg(0xbb07, clamped);
|
|
}
|
|
}
|
|
|
|
if (dComIfGs_getEventReg(0xc407) == 6)
|
|
dComIfGs_setEventReg(0xc407, 7);
|
|
|
|
u8 reg = dComIfGs_getEventReg(0xb907);
|
|
if (reg & 1)
|
|
dComIfGs_setEventReg(0xb907, reg + 1);
|
|
|
|
dComIfGs_offEventBit(0x2680);
|
|
|
|
#if VERSION != VERSION_JPN
|
|
if (dComIfGs_isEventBit(0x2a20)) {
|
|
#endif
|
|
clamped = cLib_maxLimit(dComIfGs_getEventReg(0xa60f) + 1, 3);
|
|
dComIfGs_setEventReg(0xa60f, clamped);
|
|
#if VERSION != VERSION_JPN
|
|
}
|
|
#endif
|
|
|
|
if (dKy_get_dayofweek() == 5) {
|
|
dComIfGs_offEventBit(0x2080);
|
|
dComIfGs_offEventBit(0x2004);
|
|
dComIfGs_offEventBit(0x2002);
|
|
dComIfGs_offEventBit(0x2804);
|
|
dComIfGs_offEventBit(0x2802);
|
|
dComIfGs_offEventBit(0x2801);
|
|
dComIfGs_offEventBit(0x2980);
|
|
dComIfGs_offEventBit(0x2940);
|
|
dComIfGs_offEventBit(0x3b01);
|
|
dComIfGs_offEventBit(0x3c80);
|
|
dComIfGs_offEventBit(0x3c40);
|
|
dComIfGs_offEventBit(0x3c20);
|
|
dComIfGs_offEventBit(0x3c10);
|
|
dComIfGs_offEventBit(0x3c08);
|
|
dComIfGs_offEventBit(0x3c04);
|
|
dComIfGs_offEventBit(0x3c02);
|
|
}
|
|
|
|
dComIfGs_offTmpBit(0x0208);
|
|
if (dComIfGs_isEventBit(0x2f01))
|
|
dComIfGs_onEventBit(0x3080);
|
|
dComIfGs_offTmpBit(0x0302);
|
|
dComIfGs_offTmpBit(0x0301);
|
|
}
|