diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 3e2ac049f..08b1b6b14 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -147,7 +147,7 @@ Static arm9 Object unk_02034A28.o Object unk_02034D7C.o Object unk_02034E84.o - Object unk_02034FE4.o + Object field_system_rtc_weather.o Object unk_02035068.o Object unk_02036FA4.o Object unk_02037024.o diff --git a/arm9/asm/unk_02034FE4.s b/arm9/asm/unk_02034FE4.s deleted file mode 100644 index d1b2549a6..000000000 --- a/arm9/asm/unk_02034FE4.s +++ /dev/null @@ -1,193 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .rodata - - .global UNK_020F2364 -UNK_020F2364: ; 0x020F2364 - .byte 0x02, 0x00, 0x06, 0x05, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x01, 0x06, 0x06, 0x05, 0x04, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x05, 0x05, 0x0B, 0x03, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x01, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x01, 0x07, 0x05, 0x0B, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x02, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x0B, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x0B, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x01, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x03, 0x00, 0x06, 0x06, 0x0B, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x01, 0x00, 0x06 - .byte 0x06, 0x0B, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x04, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x01 - .byte 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06 - .byte 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03 - .byte 0x00, 0x06, 0x06, 0x05, 0x04, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x01, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x05, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x04, 0x01, 0x06, 0x06, 0x0B, 0x03, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x05, 0x05, 0x03, 0x00, 0x07, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x03, 0x01, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x0B, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05 - .byte 0x04, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x01, 0x06, 0x06, 0x05, 0x02, 0x00, 0x07, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x07, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x05, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x07, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x0B - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x07, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x05, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x02, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06 - .byte 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05 - .byte 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02 - .byte 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x05, 0x05, 0x04, 0x00 - .byte 0x06, 0x06, 0x05, 0x02, 0x01, 0x06, 0x06, 0x05, 0x02, 0x00, 0x07, 0x06, 0x05, 0x02, 0x00, 0x06 - .byte 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x02, 0x00, 0x06, 0x06, 0x05, 0x03, 0x00, 0x06, 0x06 - .byte 0x05, 0x04, 0x02, 0x07, 0x06, 0x05, 0x00, 0x00 - - .text - - thumb_func_start sub_02034FE4 -sub_02034FE4: ; 0x02034FE4 - push {r3-r7, lr} - add r7, r0, #0x0 - add r0, r1, #0x0 - bl MapHeader_GetWeatherType - add r4, r0, #0x0 - cmp r4, #0x18 - blt _0203505C - ldr r0, [r7, #0xc] - bl Save_SysInfo_RTC_Get - add r6, r0, #0x0 - add r0, r6, #0x4 - bl GF_RTC_GetDayOfYear - sub r5, r0, #0x1 - bmi _0203500C - ldr r0, _02035060 ; =0x0000016E - cmp r5, r0 - blt _02035010 -_0203500C: - bl GF_AssertFail -_02035010: - ldr r0, [r6, #0x8] - cmp r0, #0x2 - bls _02035044 - ldr r6, [r6, #0x4] - mov r0, #0x3 - tst r0, r6 - bne _0203502A - add r0, r6, #0x0 - mov r1, #0x64 - bl _u32_div_f - cmp r1, #0x0 - bne _02035038 -_0203502A: - mov r1, #0x19 - add r0, r6, #0x0 - lsl r1, r1, #0x4 - bl _u32_div_f - cmp r1, #0x0 - bne _0203503C -_02035038: - mov r0, #0x1 - b _0203503E -_0203503C: - mov r0, #0x0 -_0203503E: - cmp r0, #0x0 - bne _02035044 - add r5, r5, #0x1 -_02035044: - add r0, r7, #0x0 - bl sub_0204B33C - cmp r0, #0x0 - beq _02035050 - mov r5, #0x1 -_02035050: - lsl r0, r5, #0x2 - sub r4, #0x18 - add r0, r5, r0 - add r1, r4, r0 - ldr r0, _02035064 ; =UNK_020F2364 - ldrb r0, [r0, r1] -_0203505C: - pop {r3-r7, pc} - nop -_02035060: .word 0x0000016E -_02035064: .word UNK_020F2364 diff --git a/arm9/asm/unk_02048904.s b/arm9/asm/unk_02048904.s index a782f4322..567ef5861 100644 --- a/arm9/asm/unk_02048904.s +++ b/arm9/asm/unk_02048904.s @@ -195,7 +195,7 @@ _02048A50: str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02034FE4 + bl FieldSystem_GetWeather lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, #0xe diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s index 686ad1dba..c98a828af 100644 --- a/arm9/asm/unk_02060CCC.s +++ b/arm9/asm/unk_02060CCC.s @@ -2835,7 +2835,7 @@ _0206218C: ldrh r5, [r0, r1] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02034FE4 + bl FieldSystem_GetWeather add r4, r0, #0x0 add r0, r5, #0x0 bl MapHeader_GetMapSec diff --git a/arm9/global.inc b/arm9/global.inc index 953d9bffa..36985f38c 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -2576,7 +2576,7 @@ .extern sub_02034F40 .extern sub_02034F88 .extern sub_02034FC0 -.extern sub_02034FE4 +.extern FieldSystem_GetWeather .extern sub_02035068 .extern sub_02035080 .extern sub_02035118 diff --git a/arm9/src/field_system_rtc_weather.c b/arm9/src/field_system_rtc_weather.c new file mode 100644 index 000000000..ed4ca69ea --- /dev/null +++ b/arm9/src/field_system_rtc_weather.c @@ -0,0 +1,406 @@ +#include "global.h" +#include "field_system_rtc_weather.h" +#include "constants/weather.h" +#include "gf_rtc.h" +#include "map_header.h" +#include "save_system_info.h" +#include "script.h" +#include "unk_0204B0A0.h" + +static const u8 sWeatherTable[] = { + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Jan 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 3 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 4 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 5 + WEATHER_THUNDERSTORM, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, WEATHER_DIAMOND_DUST, // Jan 12 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 14 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 20 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 23 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 27 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jan 31 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 1 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 2 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 8 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 9 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 14 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 17 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 18 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Feb 28 + WEATHER_HEAVY_RAIN, WEATHER_CLOUDY, WEATHER_BLIZZARD, WEATHER_LIGHT_SNOW, WEATHER_DIAMOND_DUST, // Feb 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 2 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 12 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 13 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Mar 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 17 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 29 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Mar 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Mar 31 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 6 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 14 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 21 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Apr 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Apr 30 + WEATHER_CLOUDY, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // May 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 10 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // May 31 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 1 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 5 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 6 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 7 + WEATHER_THUNDERSTORM, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 10 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 11 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 14 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 15 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 19 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 20 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 21 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 25 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 26 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 27 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 28 + WEATHER_THUNDERSTORM, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jun 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 3 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 9 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 10 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 22 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 25 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Jul 31 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Aug 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 8 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 11 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 19 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 25 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Aug 31 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 1 + WEATHER_THUNDERSTORM, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Sep 2 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 6 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 7 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Sep 10 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 12 + WEATHER_HEAVY_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 17 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 18 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Sep 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 22 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 27 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 28 + WEATHER_THUNDERSTORM, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 29 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Sep 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 2 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 12 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 17 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Oct 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_DIAMOND_DUST, // Oct 30 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Oct 31 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 1 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 8 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 9 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 13 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 18 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 22 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 23 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Nov 24 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 29 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Nov 30 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 1 + WEATHER_RAIN, WEATHER_RAIN, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 2 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 3 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 4 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 5 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 6 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 7 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 8 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 9 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 10 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 11 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 12 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 13 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 14 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 15 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 16 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 17 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 18 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 19 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 20 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 21 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 22 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Dec 23 + WEATHER_THUNDERSTORM, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 24 + WEATHER_RAIN, WEATHER_CLOUDY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 25 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 26 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 27 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 28 + WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 29 + WEATHER_HEAVY_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_SNOW, WEATHER_LIGHT_SNOW, // Dec 30 + WEATHER_THUNDERSTORM, WEATHER_RAIN, WEATHER_BLIZZARD, WEATHER_SNOW, WEATHER_LIGHT_SNOW // Dec 31 +}; + +u32 FieldSystem_GetWeather(FieldSystem *fieldSystem, u32 mapId) { + s32 weatherType = MapHeader_GetWeatherType(mapId); + if (weatherType < WEATHER_UNKNOWN_24) { + return weatherType; + } + SysInfo_RTC *sysInfoRTC = Save_SysInfo_RTC_Get(fieldSystem->saveData); + s32 dayOfYear = GF_RTC_GetDayOfYear(&sysInfoRTC->date) - 1; + GF_ASSERT(dayOfYear >= 0 && dayOfYear < 366); + if (sysInfoRTC->date.month > 2) { + u32 year = sysInfoRTC->date.year; + BOOL isNotLeapYear; + if ((!(year & 3) && year % 100 != 0) || year % 400 == 0) { + isNotLeapYear = TRUE; + } else { + isNotLeapYear = FALSE; + } + if (!isNotLeapYear) { + dayOfYear++; + } + } + if (sub_0204B33C(fieldSystem)) { + dayOfYear = 1; + } + weatherType -= WEATHER_UNKNOWN_24; + u32 index = 5 * dayOfYear + weatherType; + weatherType = sWeatherTable[index]; + return weatherType; +} diff --git a/arm9/src/save_system_info.c b/arm9/src/save_system_info.c index e048c79cd..f8b306a69 100644 --- a/arm9/src/save_system_info.c +++ b/arm9/src/save_system_info.c @@ -24,7 +24,7 @@ struct SaveSysInfo * Save_SysInfo_Get(struct SaveData * save) return (struct SaveSysInfo *)SaveArray_Get(save, 0); } -struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveData * save) +SysInfo_RTC * Save_SysInfo_RTC_Get(struct SaveData * save) { return &Save_SysInfo_Get(save)->rtcInfo; } @@ -87,7 +87,7 @@ void sub_02023834(struct SaveSysInfo * unk, u32 val) unk->field_4C = val; } -void Save_SysInfo_RTC_Init(struct UnkSaveStruct_0202376C_sub * sub) +void Save_SysInfo_RTC_Init(SysInfo_RTC * sub) { sub->field_00 = 1; GF_RTC_CopyDateTime(&sub->date, &sub->time); @@ -97,12 +97,12 @@ void Save_SysInfo_RTC_Init(struct UnkSaveStruct_0202376C_sub * sub) sub->field_34 = 0; } -BOOL sub_02023874(struct UnkSaveStruct_0202376C_sub * sub) +BOOL sub_02023874(SysInfo_RTC * sub) { return sub->field_34 != 0; } -void sub_02023884(struct UnkSaveStruct_0202376C_sub * sub, u32 a1) +void sub_02023884(SysInfo_RTC * sub, u32 a1) { if (sub->field_34 > 1440) sub->field_34 = 1440; @@ -112,7 +112,7 @@ void sub_02023884(struct UnkSaveStruct_0202376C_sub * sub, u32 a1) sub->field_34 -= a1; } -void sub_020238A4(struct UnkSaveStruct_0202376C_sub * sub) +void sub_020238A4(SysInfo_RTC * sub) { sub->field_34 = 1440; GF_RTC_CopyDateTime(&sub->date, &sub->time); diff --git a/arm9/src/unk_0204B0A0.c b/arm9/src/unk_0204B0A0.c index 28abf3604..a9585bb20 100644 --- a/arm9/src/unk_0204B0A0.c +++ b/arm9/src/unk_0204B0A0.c @@ -29,7 +29,7 @@ void sub_0204B0F8(struct FieldSystem *fieldSystem) RTCDate date; RTCTime time; - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); if (rtc_info->field_00 != 0) { GF_RTC_CopyDateTime(&date, &time); @@ -38,7 +38,7 @@ void sub_0204B0F8(struct FieldSystem *fieldSystem) } } -void sub_0204B130(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date) +void sub_0204B130(struct FieldSystem *fieldSystem, SysInfo_RTC *rtc_info, struct RTCDate* date) { u32 days = (u32)RTC_ConvertDateToDay(date); u32 days_since_nitro_epoch = (u32)rtc_info->daysSinceNitroEpoch; @@ -54,7 +54,7 @@ void sub_0204B130(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C } } -void sub_0204B158(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date, struct RTCTime* time) +void sub_0204B158(struct FieldSystem *fieldSystem, SysInfo_RTC *rtc_info, struct RTCDate* date, struct RTCTime* time) { s64 unk1 = RTC_ConvertDateTimeToSecond(date, time); s64 unk2 = RTC_ConvertDateTimeToSecond(&rtc_info->date, &rtc_info->time); @@ -129,70 +129,70 @@ void sub_0204B270(struct FieldSystem *fieldSystem, s32 a1, struct RTCTime* time) u32 Script_GetTimeOfDay(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return GF_RTC_GetTimeOfDayByHour(rtc_info->time.hour); } u32 Script_GetMonth(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.month; } u32 Script_GetDay(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.day; } RTCWeek Script_GetWeekday(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.week; } u32 Script_GetHour(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->time.hour; } u32 Script_GetMinute(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->time.minute; } void Script_SavRTC_x24toDateTime(struct FieldSystem *fieldSystem, struct RTCDate* date, struct RTCTime* time) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); RTC_ConvertSecondToDateTime(date, time, rtc_info->secondsSinceNitroEpoch); } void Script_SavRTC_x2CtoDateTime(struct FieldSystem *fieldSystem, struct RTCDate* date, struct RTCTime* time) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); RTC_ConvertSecondToDateTime(date, time, rtc_info->field_2C); } void Script_SavRTC_DateTimeTox2C(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); rtc_info->field_2C = GF_RTC_DateTimeToSec(); } BOOL sub_0204B33C(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); + SysInfo_RTC *rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return sub_02023874(rtc_info); } diff --git a/include/constants/weather.h b/include/constants/weather.h index abf4c6554..e8ade5e30 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -3,12 +3,12 @@ #define WEATHER_SUNNY 0 #define WEATHER_CLOUDY 1 -#define WEATHER_RAIN_1 2 -#define WEATHER_RAIN_2 3 -#define WEATHER_RAIN_3 4 -#define WEATHER_SNOW_1 5 -#define WEATHER_SNOW_2 6 -#define WEATHER_SNOW_3 7 +#define WEATHER_RAIN 2 +#define WEATHER_HEAVY_RAIN 3 +#define WEATHER_THUNDERSTORM 4 +#define WEATHER_LIGHT_SNOW 5 +#define WEATHER_SNOW 6 +#define WEATHER_BLIZZARD 7 #define WEATHER_FOG 8 #define WEATHER_ASH 9 #define WEATHER_SANDSTORM 10 @@ -18,14 +18,14 @@ #define WEATHER_UNKNOWN_14 14 //WEATHER_MIST_1? #define WEATHER_UNKNOWN_15 15 //WEATHER_MIST_2? #define WEATHER_FLASH 16 -#define WEATHER_UNKNOWN_17 17 //WEATHER_SPARK? +#define WEATHER_LIGHTNING 17 #define WEATHER_UNKNOWN_18 18 //WEATHER_FOGS? #define WEATHER_UNKNOWN_19 19 //WEATHER_FOGM? #define WEATHER_UNKNOWN_20 20 //WEATHER_RAINBOW? #define WEATHER_UNKNOWN_21 21 //WEATHER_SNOW_STORM? #define WEATHER_UNKNOWN_22 22 //WEATHER_STORM? #define WEATHER_CANOPY 23 -#define WEATHER_CAVE_1 24 +#define WEATHER_UNKNOWN_24 24 //WEATHER_CAVE_1? #define WEATHER_CAVE_2 25 #define WEATHER_UNKNOWN_26 26 //WEATHER_GALAXY? #define WEATHER_LOST_TOWER 27 diff --git a/include/field_system_rtc_weather.h b/include/field_system_rtc_weather.h new file mode 100644 index 000000000..bfdf1e3b5 --- /dev/null +++ b/include/field_system_rtc_weather.h @@ -0,0 +1,9 @@ +#ifndef POKEDIAMOND_FIELD_SYSTEM_RTC_WEATHER_H +#define POKEDIAMOND_FIELD_SYSTEM_RTC_WEATHER_H + +#include "nitro/types.h" +#include "script.h" + +u32 FieldSystem_GetWeather(FieldSystem *fieldSystem, u32 mapId); + +#endif //POKEDIAMOND_FIELD_SYSTEM_RTC_WEATHER_H diff --git a/include/save_system_info.h b/include/save_system_info.h index d2d481557..c6836311a 100644 --- a/include/save_system_info.h +++ b/include/save_system_info.h @@ -6,7 +6,7 @@ struct SaveData; -struct UnkSaveStruct_0202376C_sub +typedef struct SysInfo_RTC { /* 0x00 */ u32 field_00; /* 0x04 */ RTCDate date; @@ -15,7 +15,7 @@ struct UnkSaveStruct_0202376C_sub /* 0x24 */ s64 secondsSinceNitroEpoch; /* 0x2C */ s64 field_2C; /* 0x34 */ u32 field_34; -}; +} SysInfo_RTC; typedef struct SaveSysInfo { @@ -23,7 +23,7 @@ typedef struct SaveSysInfo /* 0x08 */ u8 macAddr[6]; /* 0x0E */ u8 birthMonth; /* 0x0F */ u8 birthDay; - /* 0x10 */ struct UnkSaveStruct_0202376C_sub rtcInfo; + /* 0x10 */ SysInfo_RTC rtcInfo; /* 0x48 */ u8 mysteryGiftActive; u8 filler_49[3]; /* 0x4C */ u32 field_4C; @@ -33,7 +33,7 @@ typedef struct SaveSysInfo u32 Save_SysInfo_sizeof(void); void Save_SysInfo_Init(struct SaveSysInfo * unk); struct SaveSysInfo * Save_SysInfo_Get(struct SaveData * save); -struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveData * save); +SysInfo_RTC * Save_SysInfo_RTC_Get(struct SaveData * save); void Save_SysInfo_InitFromSystem(struct SaveSysInfo * unk); BOOL Save_SysInfo_MacAddressIsMine(struct SaveSysInfo * unk); BOOL Save_SysInfo_RTCOffsetIsMine(struct SaveSysInfo * unk); @@ -43,9 +43,9 @@ u8 Save_SysInfo_GetMysteryGiftActive(struct SaveSysInfo * unk); void Save_SysInfo_SetMysteryGiftActive(struct SaveSysInfo * unk, u8 val); u32 sub_02023830(struct SaveSysInfo * unk); void sub_02023834(struct SaveSysInfo * unk, u32 val); -void Save_SysInfo_RTC_Init(struct UnkSaveStruct_0202376C_sub * sub); -BOOL sub_02023874(struct UnkSaveStruct_0202376C_sub * sub); -void sub_02023884(struct UnkSaveStruct_0202376C_sub * sub, u32 a1); -void sub_020238A4(struct UnkSaveStruct_0202376C_sub * sub); +void Save_SysInfo_RTC_Init(SysInfo_RTC * sub); +BOOL sub_02023874(SysInfo_RTC * sub); +void sub_02023884(SysInfo_RTC * sub, u32 a1); +void sub_020238A4(SysInfo_RTC * sub); #endif //POKEDIAMOND_SAVE_SYSTEM_INFO_H diff --git a/include/unk_0204B0A0.h b/include/unk_0204B0A0.h index b26056fb7..807e1c405 100644 --- a/include/unk_0204B0A0.h +++ b/include/unk_0204B0A0.h @@ -7,8 +7,8 @@ #include "script.h" void sub_0204B0F8(struct FieldSystem *fieldSystem); -void sub_0204B130(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date); -void sub_0204B158(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date, struct RTCTime* time); +void sub_0204B130(struct FieldSystem *fieldSystem, SysInfo_RTC *rtc_info, struct RTCDate* date); +void sub_0204B158(struct FieldSystem *fieldSystem, SysInfo_RTC *rtc_info, struct RTCDate* date, struct RTCTime* time); void sub_0204B1DC(struct FieldSystem *fieldSystem, s32 a1); void sub_0204B270(struct FieldSystem *fieldSystem, s32 a1, struct RTCTime* time); u32 Script_GetTimeOfDay(struct FieldSystem *fieldSystem);