Import function labels from Ruby

This commit is contained in:
PikalaxALT 2017-12-16 10:23:05 -05:00
parent da2e0dfe50
commit 6d73bb4b57
35 changed files with 287 additions and 266 deletions

View File

@ -79,8 +79,8 @@ _08122522:
.pool .pool
thumb_func_end InitDewfordTrend thumb_func_end InitDewfordTrend
thumb_func_start sub_8122580 thumb_func_start UpdateDewfordTrendPerDay
sub_8122580: @ 8122580 UpdateDewfordTrendPerDay: @ 8122580
push {r4-r7,lr} push {r4-r7,lr}
mov r7, r10 mov r7, r10
mov r6, r9 mov r6, r9
@ -253,7 +253,7 @@ _081226BE:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8122580 thumb_func_end UpdateDewfordTrendPerDay
thumb_func_start sub_81226D8 thumb_func_start sub_81226D8
sub_81226D8: @ 81226D8 sub_81226D8: @ 81226D8

View File

@ -1635,7 +1635,7 @@ _0811AF86:
thumb_func_start sub_811AF8C thumb_func_start sub_811AF8C
sub_811AF8C: @ 811AF8C sub_811AF8C: @ 811AF8C
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -1684,7 +1684,7 @@ _0811AFE6:
thumb_func_start sub_811AFEC thumb_func_start sub_811AFEC
sub_811AFEC: @ 811AFEC sub_811AFEC: @ 811AFEC
push {r4,lr} push {r4,lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -1727,7 +1727,7 @@ _0811B03A:
thumb_func_start sub_811B040 thumb_func_start sub_811B040
sub_811B040: @ 811B040 sub_811B040: @ 811B040
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -1832,7 +1832,7 @@ sub_811B0E8: @ 811B0E8
thumb_func_start sub_811B0F8 thumb_func_start sub_811B0F8
sub_811B0F8: @ 811B0F8 sub_811B0F8: @ 811B0F8
push {r4,lr} push {r4,lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -7777,8 +7777,8 @@ _080AEFB6:
bx r1 bx r1
thumb_func_end sub_80AEEE8 thumb_func_end sub_80AEEE8
thumb_func_start sub_80AEFBC thumb_func_start UpdateWeatherPerDay
sub_80AEFBC: @ 80AEFBC UpdateWeatherPerDay: @ 80AEFBC
lsls r0, 16 lsls r0, 16
ldr r1, =gSaveBlock1Ptr ldr r1, =gSaveBlock1Ptr
ldr r2, [r1] ldr r2, [r1]
@ -7794,7 +7794,7 @@ sub_80AEFBC: @ 80AEFBC
strb r1, [r2] strb r1, [r2]
bx lr bx lr
.pool .pool
thumb_func_end sub_80AEFBC thumb_func_end UpdateWeatherPerDay
thumb_func_start sub_80AEFDC thumb_func_start sub_80AEFDC
sub_80AEFDC: @ 80AEFDC sub_80AEFDC: @ 80AEFDC

View File

@ -353,7 +353,7 @@ _08160994:
b _08160E88 b _08160E88
.pool .pool
_081609A8: _081609A8:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -433,7 +433,7 @@ _08160A50:
b _08160E88 b _08160E88
.pool .pool
_08160A64: _08160A64:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -493,7 +493,7 @@ _08160ADC:
b _08160E88 b _08160E88
.pool .pool
_08160AEC: _08160AEC:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -551,7 +551,7 @@ _08160B6C:
b _08160E88 b _08160E88
.pool .pool
_08160B80: _08160B80:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -26142,7 +26142,7 @@ _080170E0:
negs r0, r0 negs r0, r0
b _08017110 b _08017110
_080170F2: _080170F2:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
movs r2, 0x80 movs r2, 0x80
@ -29500,7 +29500,7 @@ _08018BD6:
b _08018C3E b _08018C3E
.pool .pool
_08018BE4: _08018BE4:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r6, r0, 24 asrs r6, r0, 24
movs r1, 0x80 movs r1, 0x80
@ -52112,7 +52112,7 @@ _0802426A:
bl sub_8197930 bl sub_8197930
b _080242D0 b _080242D0
_08024270: _08024270:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r4, r0, 24 asrs r4, r0, 24
movs r0, 0x2 movs r0, 0x2
@ -71033,7 +71033,7 @@ _0802DA84:
thumb_func_start sub_802DA8C thumb_func_start sub_802DA8C
sub_802DA8C: @ 802DA8C sub_802DA8C: @ 802DA8C
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r0, 24 asrs r0, 24
pop {r1} pop {r1}

View File

@ -3025,7 +3025,7 @@ task_new_game_prof_birch_speech_part2_4: @ 8031188
push {r4,r5,lr} push {r4,r5,lr}
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -2266,8 +2266,8 @@ sub_8198C34: @ 8198C34
bx r0 bx r0
thumb_func_end sub_8198C34 thumb_func_end sub_8198C34
thumb_func_start sub_8198C58 thumb_func_start ProcessMenuInputNoWrap_
sub_8198C58: @ 8198C58 ProcessMenuInputNoWrap_: @ 8198C58
push {r4,lr} push {r4,lr}
bl ProcessMenuInputNoWrapAround bl ProcessMenuInputNoWrapAround
lsls r0, 24 lsls r0, 24
@ -2282,7 +2282,7 @@ _08198C6E:
pop {r4} pop {r4}
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_8198C58 thumb_func_end ProcessMenuInputNoWrap_
thumb_func_start sub_8198C78 thumb_func_start sub_8198C78
sub_8198C78: @ 8198C78 sub_8198C78: @ 8198C78

View File

@ -277,7 +277,7 @@ Task_CallYesOrNoCallback: @ 8121FDC
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -2554,7 +2554,7 @@ sub_81B1708: @ 81B1708
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -4010,7 +4010,7 @@ sub_81B227C: @ 81B227C
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -7952,7 +7952,7 @@ sub_81B43DC: @ 81B43DC
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -8485,7 +8485,7 @@ sub_81B48DC: @ 81B48DC
muls r1, r0 muls r1, r0
ldr r0, =gPlayerParty ldr r0, =gPlayerParty
adds r4, r1, r0 adds r4, r1, r0
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -8777,7 +8777,7 @@ sub_81B4BA0: @ 81B4BA0
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -8883,7 +8883,7 @@ sub_81B4C94: @ 81B4C94
push {r7} push {r7}
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -9691,7 +9691,7 @@ sub_81B5430: @ 81B5430
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -9985,7 +9985,7 @@ sub_81B56D8: @ 81B56D8
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -12970,7 +12970,7 @@ sub_81B7028: @ 81B7028
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -13272,7 +13272,7 @@ sub_81B72C8: @ 81B72C8
muls r1, r0 muls r1, r0
ldr r0, =gPlayerParty ldr r0, =gPlayerParty
adds r4, r1, r0 adds r4, r1, r0
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r5, r0, 24 asrs r5, r0, 24
cmp r5, 0 cmp r5, 0
@ -15054,7 +15054,7 @@ sub_81B82D4: @ 81B82D4
push {r4-r7,lr} push {r4-r7,lr}
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -1378,7 +1378,7 @@ sub_816B9D8: @ 816B9D8
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r0, 24 asrs r0, 24
movs r1, 0x1 movs r1, 0x1

View File

@ -3409,7 +3409,7 @@ _080C8F0C:
adds r0, 0x1 adds r0, 0x1
strb r0, [r1] strb r0, [r1]
_080C8F22: _080C8F22:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -4133,7 +4133,7 @@ _080C9584:
b _080C9664 b _080C9664
.pool .pool
_080C95A4: _080C95A4:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -4927,7 +4927,7 @@ _080C9C78:
b _080C9CAA b _080C9CAA
.pool .pool
_080C9C8C: _080C9C8C:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -5058,7 +5058,7 @@ _080C9DAC:
b _080C9DE0 b _080C9DE0
.pool .pool
_080C9DC0: _080C9DC0:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -4188,6 +4188,8 @@ sp0C8_whiteout_maybe: @ 813787C
.pool .pool
thumb_func_end sp0C8_whiteout_maybe thumb_func_end sp0C8_whiteout_maybe
@ time_events.o
thumb_func_start sub_8137890 thumb_func_start sub_8137890
sub_8137890: @ 8137890 sub_8137890: @ 8137890
push {r4,lr} push {r4,lr}
@ -4244,8 +4246,8 @@ sub_81378E4: @ 81378E4
bx r0 bx r0
thumb_func_end sub_81378E4 thumb_func_end sub_81378E4
thumb_func_start sub_8137904 thumb_func_start UpdateMirageRnd
sub_8137904: @ 8137904 UpdateMirageRnd: @ 8137904
push {r4,lr} push {r4,lr}
lsls r0, 16 lsls r0, 16
lsrs r4, r0, 16 lsrs r4, r0, 16
@ -4271,7 +4273,7 @@ _08137928:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8137904 thumb_func_end UpdateMirageRnd
thumb_func_start sub_813793C thumb_func_start sub_813793C
sub_813793C: @ 813793C sub_813793C: @ 813793C
@ -4385,8 +4387,8 @@ sub_8137A0C: @ 8137A0C
.pool .pool
thumb_func_end sub_8137A0C thumb_func_end sub_8137A0C
thumb_func_start sub_8137A20 thumb_func_start UpdateBirchState
sub_8137A20: @ 8137A20 UpdateBirchState: @ 8137A20
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 16 lsls r4, 16
@ -4405,7 +4407,9 @@ sub_8137A20: @ 8137A20
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8137A20 thumb_func_end UpdateBirchState
@ birch_pc.o
thumb_func_start sub_8137A4C thumb_func_start sub_8137A4C
sub_8137A4C: @ 8137A4C sub_8137A4C: @ 8137A4C
@ -7605,15 +7609,15 @@ _08139456:
bx r1 bx r1
thumb_func_end sub_81393FC thumb_func_end sub_81393FC
thumb_func_start sub_813945C thumb_func_start SetShoalItemFlag
sub_813945C: @ 813945C SetShoalItemFlag: @ 813945C
push {lr} push {lr}
ldr r0, =0x000008bf ldr r0, =0x000008bf
bl FlagSet bl FlagSet
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_813945C thumb_func_end SetShoalItemFlag
thumb_func_start sub_813946C thumb_func_start sub_813946C
sub_813946C: @ 813946C sub_813946C: @ 813946C
@ -8934,8 +8938,8 @@ _08139EEE:
bx r1 bx r1
thumb_func_end sub_8139ED0 thumb_func_end sub_8139ED0
thumb_func_start sub_8139EF4 thumb_func_start UpdateFrontierManiac
sub_8139EF4: @ 8139EF4 UpdateFrontierManiac: @ 8139EF4
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 16 lsls r4, 16
@ -8954,7 +8958,7 @@ sub_8139EF4: @ 8139EF4
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8139EF4 thumb_func_end UpdateFrontierManiac
thumb_func_start sub_8139F20 thumb_func_start sub_8139F20
sub_8139F20: @ 8139F20 sub_8139F20: @ 8139F20
@ -10002,8 +10006,8 @@ _0813A7C6:
.pool .pool
thumb_func_end sub_813A7B8 thumb_func_end sub_813A7B8
thumb_func_start sub_813A7F4 thumb_func_start UpdateFrontierGambler
sub_813A7F4: @ 813A7F4 UpdateFrontierGambler: @ 813A7F4
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 16 lsls r4, 16
@ -10022,7 +10026,7 @@ sub_813A7F4: @ 813A7F4
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_813A7F4 thumb_func_end UpdateFrontierGambler
thumb_func_start sub_813A820 thumb_func_start sub_813A820
sub_813A820: @ 813A820 sub_813A820: @ 813A820

View File

@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C
b _080E21C4 b _080E21C4
.pool .pool
_080E2180: _080E2180:
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
movs r0, 0x1 movs r0, 0x1

View File

@ -1581,7 +1581,7 @@ sub_812B158: @ 812B158
thumb_func_start sub_812B1B0 thumb_func_start sub_812B1B0
sub_812B1B0: @ 812B1B0 sub_812B1B0: @ 812B1B0
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -1121,7 +1121,7 @@ sub_80A00EC: @ 80A00EC
thumb_func_start sub_80A0108 thumb_func_start sub_80A0108
sub_80A0108: @ 80A0108 sub_80A0108: @ 80A0108
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -1226,7 +1226,7 @@ sub_80A01D0: @ 80A01D0
thumb_func_start sub_80A01EC thumb_func_start sub_80A01EC
sub_80A01EC: @ 80A01EC sub_80A01EC: @ 80A01EC
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -1441,7 +1441,7 @@ sub_80A0388: @ 80A0388
thumb_func_start sub_80A03A4 thumb_func_start sub_80A03A4
sub_80A03A4: @ 80A03A4 sub_80A03A4: @ 80A03A4
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -3696,7 +3696,7 @@ _0807920E:
thumb_func_start sub_8079218 thumb_func_start sub_8079218
sub_8079218: @ 8079218 sub_8079218: @ 8079218
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0
@ -3798,7 +3798,7 @@ _080792D8:
thumb_func_start sub_80792E4 thumb_func_start sub_80792E4
sub_80792E4: @ 80792E4 sub_80792E4: @ 80792E4
push {lr} push {lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
asrs r1, r0, 24 asrs r1, r0, 24
cmp r1, 0 cmp r1, 0

View File

@ -1240,7 +1240,7 @@ sub_8166D44: @ 8166D44
thumb_func_start sub_8166DE4 thumb_func_start sub_8166DE4
sub_8166DE4: @ 8166DE4 sub_8166DE4: @ 8166DE4
push {r4,lr} push {r4,lr}
bl sub_8198C58 bl ProcessMenuInputNoWrap_
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
asrs r1, r0, 24 asrs r1, r0, 24

View File

@ -17,29 +17,29 @@ BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F
end end
BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
compare_var_to_value VAR_0x402F, 0 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 0
call_if 1, BattleFrontier_Lounge2_EventScript_26070A call_if 1, BattleFrontier_Lounge2_EventScript_26070A
compare_var_to_value VAR_0x402F, 1 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 1
call_if 1, BattleFrontier_Lounge2_EventScript_26070F call_if 1, BattleFrontier_Lounge2_EventScript_26070F
compare_var_to_value VAR_0x402F, 2 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 2
call_if 1, BattleFrontier_Lounge2_EventScript_260714 call_if 1, BattleFrontier_Lounge2_EventScript_260714
compare_var_to_value VAR_0x402F, 3 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 3
call_if 1, BattleFrontier_Lounge2_EventScript_260719 call_if 1, BattleFrontier_Lounge2_EventScript_260719
compare_var_to_value VAR_0x402F, 4 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 4
call_if 1, BattleFrontier_Lounge2_EventScript_26071E call_if 1, BattleFrontier_Lounge2_EventScript_26071E
compare_var_to_value VAR_0x402F, 5 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 5
call_if 1, BattleFrontier_Lounge2_EventScript_260723 call_if 1, BattleFrontier_Lounge2_EventScript_260723
compare_var_to_value VAR_0x402F, 6 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 6
call_if 1, BattleFrontier_Lounge2_EventScript_260728 call_if 1, BattleFrontier_Lounge2_EventScript_260728
compare_var_to_value VAR_0x402F, 7 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 7
call_if 1, BattleFrontier_Lounge2_EventScript_26072D call_if 1, BattleFrontier_Lounge2_EventScript_26072D
compare_var_to_value VAR_0x402F, 8 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 8
call_if 1, BattleFrontier_Lounge2_EventScript_260732 call_if 1, BattleFrontier_Lounge2_EventScript_260732
compare_var_to_value VAR_0x402F, 9 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 9
call_if 1, BattleFrontier_Lounge2_EventScript_260737 call_if 1, BattleFrontier_Lounge2_EventScript_260737
compare_var_to_value VAR_0x402F, 3 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 3
call_if 3, BattleFrontier_Lounge2_EventScript_2606F8 call_if 3, BattleFrontier_Lounge2_EventScript_2606F8
compare_var_to_value VAR_0x402F, 4 compare_var_to_value VAR_FRONTIER_MANIAC_FACILITY, 4
call_if 4, BattleFrontier_Lounge2_EventScript_260701 call_if 4, BattleFrontier_Lounge2_EventScript_260701
special sub_8139F20 special sub_8139F20
waitmessage waitmessage

View File

@ -32,7 +32,7 @@ BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9 BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9
multichoice 20, 4, 87, 0 multichoice 20, 4, 87, 0
copyvar VAR_0x4032, VAR_RESULT copyvar VAR_FRONTIER_GAMBLER_AMOUNT_BET, VAR_RESULT
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_Lounge3_EventScript_261E30 case 0, BattleFrontier_Lounge3_EventScript_261E30
case 1, BattleFrontier_Lounge3_EventScript_261E3B case 1, BattleFrontier_Lounge3_EventScript_261E3B
@ -69,7 +69,7 @@ BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75 BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75
copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8004, VAR_0x8008
special sub_813A9A4 special sub_813A9A4
setvar VAR_0x4033, 1 setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
special sub_813A8FC special sub_813A8FC
playse SE_REGI playse SE_REGI
msgbox BattleFrontier_Lounge3_Text_262BE0, 4 msgbox BattleFrontier_Lounge3_Text_262BE0, 4
@ -113,37 +113,37 @@ BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9 BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
msgbox BattleFrontier_Lounge3_Text_26346B, 4 msgbox BattleFrontier_Lounge3_Text_26346B, 4
compare_var_to_value VAR_0x4033, 1 compare_var_to_value VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
goto_if 4, BattleFrontier_Lounge3_EventScript_261F12 goto_if 4, BattleFrontier_Lounge3_EventScript_261F12
goto BattleFrontier_Lounge3_EventScript_261DAF goto BattleFrontier_Lounge3_EventScript_261DAF
end end
BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12 BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
compare_var_to_value VAR_0x4033, 1 compare_var_to_value VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
goto_eq BattleFrontier_Lounge3_EventScript_261F9E goto_eq BattleFrontier_Lounge3_EventScript_261F9E
compare_var_to_value VAR_0x4033, 2 compare_var_to_value VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2
goto_eq BattleFrontier_Lounge3_EventScript_261F2E goto_eq BattleFrontier_Lounge3_EventScript_261F2E
goto BattleFrontier_Lounge3_EventScript_261F71 goto BattleFrontier_Lounge3_EventScript_261F71
end end
BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
msgbox BattleFrontier_Lounge3_Text_263334, 4 msgbox BattleFrontier_Lounge3_Text_263334, 4
compare_var_to_value VAR_0x4032, 0 compare_var_to_value VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0
call_if 1, BattleFrontier_Lounge3_EventScript_261F80 call_if 1, BattleFrontier_Lounge3_EventScript_261F80
compare_var_to_value VAR_0x4032, 1 compare_var_to_value VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1
call_if 1, BattleFrontier_Lounge3_EventScript_261F8A call_if 1, BattleFrontier_Lounge3_EventScript_261F8A
compare_var_to_value VAR_0x4032, 2 compare_var_to_value VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2
call_if 1, BattleFrontier_Lounge3_EventScript_261F94 call_if 1, BattleFrontier_Lounge3_EventScript_261F94
msgbox BattleFrontier_Lounge3_Text_2633D4, 9 msgbox BattleFrontier_Lounge3_Text_2633D4, 9
special sub_813A9D0 special sub_813A9D0
msgbox BattleFrontier_Lounge3_Text_2633F2, 4 msgbox BattleFrontier_Lounge3_Text_2633F2, 4
setvar VAR_0x4033, 0 setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
release release
end end
BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71 BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71
msgbox BattleFrontier_Lounge3_Text_263298, 4 msgbox BattleFrontier_Lounge3_Text_263298, 4
setvar VAR_0x4033, 0 setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
release release
end end

View File

@ -114,7 +114,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29283F:: @ 829283F
LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849 LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849
fadescreen 1 fadescreen 1
special Special_StartWallClock special StartWallClock
waitstate waitstate
return return

View File

@ -164,7 +164,7 @@ gSpecials:: @ 81DBA64
def_special sub_8138B8C def_special sub_8138B8C
def_special sub_814FC9C def_special sub_814FC9C
def_special sub_8085784 def_special sub_8085784
def_special Special_StartWallClock def_special StartWallClock
def_special Special_ViewWallClock def_special Special_ViewWallClock
def_special sub_80B1138 def_special sub_80B1138
def_special sub_80B086C def_special sub_80B086C

View File

@ -50,11 +50,14 @@
#define VAR_RESET_RTC_ENABLE 0x402C #define VAR_RESET_RTC_ENABLE 0x402C
#define VAR_0x402D 0x402D #define VAR_0x402D 0x402D
#define VAR_0x402E 0x402E #define VAR_0x402E 0x402E
#define VAR_0x402F 0x402F
#define VAR_0x4030 0x4030 #define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#define VAR_0x4031 0x4031
#define VAR_0x4032 0x4032 #define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
#define VAR_0x4033 0x4033 #define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
#define VAR_0x4034 0x4034 #define VAR_0x4034 0x4034
#define VAR_0x4035 0x4035 #define VAR_0x4035 0x4035
#define VAR_STORAGE_UNKNOWN 0x4036 #define VAR_STORAGE_UNKNOWN 0x4036

View File

@ -3,6 +3,6 @@
void InitDewfordTrend(void); void InitDewfordTrend(void);
void UpdateDewfordTrendPerDay(u16); void UpdateDewfordTrendPerDay(u16);
void sub_8122580(u16 days); void UpdateDewfordTrendPerDay(u16 days);
#endif // GUARD_DEWFORDTREND_H #endif // GUARD_DEWFORDTREND_H

View File

@ -9,6 +9,6 @@
void pal_fill_black(void); void pal_fill_black(void);
bool8 sub_80ABDFC(void); bool8 sub_80ABDFC(void);
void sub_80AF168(void); void sub_80AF168(void);
void sub_80AEFBC(u16 days); void UpdateWeatherPerDay(u16 days);
#endif //GUARD_FIELD_SCREEN_H #endif //GUARD_FIELD_SCREEN_H

View File

@ -29,7 +29,7 @@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u
bool8 free_temp_tile_data_buffers_if_possible(void); bool8 free_temp_tile_data_buffers_if_possible(void);
u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
s8 sub_8198C58(void); s8 ProcessMenuInputNoWrap_(void);
void do_scheduled_bg_tilemap_copies_to_vram(void); void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void);
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);

View File

@ -6,10 +6,10 @@ u8 GetLeadMonIndex(void);
u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
void sub_813BADC(bool8); void sub_813BADC(bool8);
bool8 sub_813B9C0(void); bool8 sub_813B9C0(void);
void sub_8137904(u16 days); void UpdateMirageRnd(u16 days);
void sub_8137A20(u16 days); void UpdateBirchState(u16 days);
void sub_8139EF4(u16 days); void UpdateFrontierManiac(u16 days);
void sub_813A7F4(u16 days); void UpdateFrontierGambler(u16 days);
void sub_813945C(u16 days); void SetShoalItemFlag(u16 days);
#endif //GUARD_ROM6_H #endif //GUARD_ROM6_H

View File

@ -15,6 +15,6 @@ void sub_80F14F8(TVShow *shows);
size_t sub_80EF370(int value); size_t sub_80EF370(int value);
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
void SetPokemonAnglerSpecies(u16 species); void SetPokemonAnglerSpecies(u16 species);
void sub_80ED888(u16 days); void UpdateTVShowsPerDay(u16 days);
#endif //GUARD_TV_H #endif //GUARD_TV_H

View File

@ -2444,7 +2444,7 @@ static void CB2_HandleBlenderEndGame(void)
sBerryBlenderData->gameEndState++; sBerryBlenderData->gameEndState++;
break; break;
case 10: case 10:
switch (sub_8198C58()) switch (ProcessMenuInputNoWrap_())
{ {
case 1: case 1:
case -1: case -1:

View File

@ -88,7 +88,7 @@ static void Task_DoClearSaveDataScreenYesNo(u8 taskId)
static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId) static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId)
{ {
switch(sub_8198C58()) switch(ProcessMenuInputNoWrap_())
{ {
case 0: case 0:
FillWindowPixelBuffer(0, 17); FillWindowPixelBuffer(0, 17);

View File

@ -15,14 +15,14 @@
// static declarations // static declarations
static void sub_809E7E8(struct Time *localTime); static void UpdatePerDay(struct Time *localTime);
static void sub_809E858(struct Time *localTime); static void UpdatePerMinute(struct Time *localTime);
// rodata // rodata
// text // text
static void sub_809E778(void) static void InitTimeBasedEvents(void)
{ {
FlagSet(FLAG_SYS_CLOCK_SET); FlagSet(FLAG_SYS_CLOCK_SET);
RtcCalcLocalTime(); RtcCalcLocalTime();
@ -35,38 +35,35 @@ void DoTimeBasedEvents(void)
if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0()) if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0())
{ {
RtcCalcLocalTime(); RtcCalcLocalTime();
sub_809E7E8(&gLocalTime); UpdatePerDay(&gLocalTime);
sub_809E858(&gLocalTime); UpdatePerMinute(&gLocalTime);
} }
} }
static void sub_809E7E8(struct Time *localTime) static void UpdatePerDay(struct Time *localTime)
{ {
u16 *days = GetVarPointer(VAR_DAYS); u16 *days = GetVarPointer(VAR_DAYS);
u16 daysSince; u16 daysSince;
if (*days != localTime->days) if (*days != localTime->days && *days <= localTime->days)
{
if (*days <= localTime->days)
{ {
daysSince = localTime->days - *days; daysSince = localTime->days - *days;
ClearUpperFlags(); ClearUpperFlags();
sub_8122580(daysSince); UpdateDewfordTrendPerDay(daysSince);
sub_80ED888(daysSince); UpdateTVShowsPerDay(daysSince);
sub_80AEFBC(daysSince); UpdateWeatherPerDay(daysSince);
UpdatePartyPokerusTime(daysSince); UpdatePartyPokerusTime(daysSince);
sub_8137904(daysSince); UpdateMirageRnd(daysSince);
sub_8137A20(daysSince); UpdateBirchState(daysSince);
sub_8139EF4(daysSince); UpdateFrontierManiac(daysSince);
sub_813A7F4(daysSince); UpdateFrontierGambler(daysSince);
sub_813945C(daysSince); SetShoalItemFlag(daysSince);
SetRandomLotteryNumber(daysSince); SetRandomLotteryNumber(daysSince);
*days = localTime->days; *days = localTime->days;
} }
}
} }
static void sub_809E858(struct Time *localTime) static void UpdatePerMinute(struct Time *localTime)
{ {
struct Time difference; struct Time difference;
int minutes; int minutes;
@ -83,14 +80,14 @@ static void sub_809E858(struct Time *localTime)
} }
} }
void sub_809E8B4(void) static void ReturnFromStartWallClock(void)
{ {
sub_809E778(); InitTimeBasedEvents();
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
} }
void Special_StartWallClock(void) void StartWallClock(void)
{ {
SetMainCallback2(Cb2_StartWallClock); SetMainCallback2(Cb2_StartWallClock);
gMain.savedCallback = sub_809E8B4; gMain.savedCallback = ReturnFromStartWallClock;
} }

View File

@ -58,7 +58,7 @@ extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[]; extern const u8 gText_NickHatchPrompt[];
extern u8 sav1_map_get_name(void); extern u8 sav1_map_get_name(void);
extern s8 sub_8198C58(void); extern s8 ProcessMenuInputNoWrap_(void);
extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8); extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
extern void sub_806A068(u16, u8); extern void sub_806A068(u16, u8);
extern void fade_screen(u8, u8); extern void fade_screen(u8, u8);
@ -669,7 +669,7 @@ static void CB2_EggHatch_1(void)
} }
break; break;
case 10: case 10:
switch (sub_8198C58()) switch (ProcessMenuInputNoWrap_())
{ {
case 0: case 0:
GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3);

View File

@ -1168,7 +1168,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
} }
break; break;
case 4: case 4:
switch (sub_8198C58()) switch (ProcessMenuInputNoWrap_())
{ {
case 0: case 0:
sEvoCursorPos = 0; sEvoCursorPos = 0;

View File

@ -265,7 +265,7 @@ static void Task_StarterChoose5(u8 taskId)
{ {
u8 spriteId; u8 spriteId;
switch (sub_8198C58()) switch (ProcessMenuInputNoWrap_())
{ {
case 0: // YES case 0: // YES
// Return the starter choice and exit. // Return the starter choice and exit.

View File

@ -1793,7 +1793,7 @@ void EndMassOutbreak(void)
gSaveBlock1Ptr->outbreakDaysLeft = 0; gSaveBlock1Ptr->outbreakDaysLeft = 0;
} }
void sub_80ED888(u16 days) void UpdateTVShowsPerDay(u16 days)
{ {
sub_80ED8B4(days); sub_80ED8B4(days);

View File

@ -22,38 +22,38 @@
// static types // static types
#define WALL_CLOCK_TASK_MINUTE_HAND_ANGLE 0 #define tMinuteHandAngle data[0]
#define WALL_CLOCK_TASK_HOUR_HAND_ANGLE 1 #define tHourHandAngle data[1]
#define WALL_CLOCK_TASK_HOUR 2 #define tHours data[2]
#define WALL_CLOCK_TASK_MINUTE 3 #define tMinutes data[3]
#define WALL_CLOCK_TASK_SET_COMMAND 4 #define tMvmtDir data[4]
#define WALL_CLOCK_TASK_12HRCLOCK_AM_PM 5 #define tPeriod data[5]
#define WALL_CLOCK_TASK_SET_SPEED 6 #define tMvmtSpeed data[6]
#define TAG_GFX_WALL_CLOCK_HAND 0x1000 #define TAG_GFX_WALL_CLOCK_HAND 0x1000
#define TAG_PAL_WALL_CLOCK_HAND 0x1000 #define TAG_PAL_WALL_CLOCK_HAND 0x1000
// static declarations // static declarations
static void sub_8134C9C(void); static void WallClockMainCallback(void);
static void sub_8134CB8(u8 taskId); static void Task_SetClock1(u8 taskId);
static void sub_8134CE8(u8 taskId); static void Task_SetClock2(u8 taskId);
static void sub_8134DC4(u8 taskId); static void Task_SetClock3(u8 taskId);
static void c3_80BF560(u8 taskId); static void Task_SetClock4(u8 taskId);
static void sub_8134EA4(u8 taskId); static void Task_SetClock5(u8 taskId);
static void c2_080111BC(u8 taskId); static void Task_SetClock6(u8 taskId);
static void sub_8134F10(u8 taskId); static void Task_ViewClock1(u8 taskId);
static void sub_8134F40(u8 taskId); static void Task_ViewClock2(u8 taskId);
static void sub_8134F78(u8 taskId); static void Task_ViewClock3(u8 taskId);
static void sub_8134FB0(u8 taskId); static void Task_ViewClock4(u8 taskId);
static u16 GetClockHandAngle(u16 a0, u8 command, u8 a2); static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2);
static bool32 MoveClockHand(u8 taskId, u8 command); static bool32 AdvanceClock(u8 taskId, u8 command);
static void _12HourClockFixAMPM(u8 taskId, u8 command); static void UpdateClockPeriod(u8 taskId, u8 command);
static void sub_8135130(u8 taskId); static void InitClockWithRtc(u8 taskId);
static void sub_81351AC(struct Sprite *sprite); static void SpriteCB_MinuteHand(struct Sprite *sprite);
static void sub_8135244(struct Sprite *sprite); static void SpriteCB_HourHand(struct Sprite *sprite);
static void sub_81352DC(struct Sprite *sprite); static void SpriteCB_AMIndicator(struct Sprite *sprite);
static void sub_8135380(struct Sprite *sprite); static void SpriteCB_PMIndicator(struct Sprite *sprite);
// rodata // rodata
@ -122,7 +122,7 @@ static const struct SpriteTemplate gUnknown_085B2250 = {
gUnknown_085B2248, gUnknown_085B2248,
NULL, NULL,
gDummySpriteAffineAnimTable, gDummySpriteAffineAnimTable,
sub_81351AC SpriteCB_MinuteHand
}; };
static const struct SpriteTemplate gUnknown_085B2268 = { static const struct SpriteTemplate gUnknown_085B2268 = {
TAG_GFX_WALL_CLOCK_HAND, TAG_GFX_WALL_CLOCK_HAND,
@ -131,7 +131,7 @@ static const struct SpriteTemplate gUnknown_085B2268 = {
gUnknown_085B224C, gUnknown_085B224C,
NULL, NULL,
gDummySpriteAffineAnimTable, gDummySpriteAffineAnimTable,
sub_8135244 SpriteCB_HourHand
}; };
static const struct OamData Unknown_085B2280 = { static const struct OamData Unknown_085B2280 = {
.y = 0xa0, .y = 0xa0,
@ -159,7 +159,7 @@ static const struct SpriteTemplate gUnknown_085B22A0 = {
gUnknown_085B2298, gUnknown_085B2298,
NULL, NULL,
gDummySpriteAffineAnimTable, gDummySpriteAffineAnimTable,
sub_81352DC SpriteCB_AMIndicator
}; };
static const struct SpriteTemplate gUnknown_085B22B8 = { static const struct SpriteTemplate gUnknown_085B22B8 = {
TAG_GFX_WALL_CLOCK_HAND, TAG_GFX_WALL_CLOCK_HAND,
@ -168,7 +168,7 @@ static const struct SpriteTemplate gUnknown_085B22B8 = {
gUnknown_085B229C, gUnknown_085B229C,
NULL, NULL,
gDummySpriteAffineAnimTable, gDummySpriteAffineAnimTable,
sub_8135380 SpriteCB_PMIndicator
}; };
static const s8 sClockHandCoords[][2] = { static const s8 sClockHandCoords[][2] = {
{ 0x00, -0x18}, { 0x00, -0x18},
@ -535,14 +535,14 @@ static const s8 sClockHandCoords[][2] = {
// text // text
static void sub_81347B4(void) static void WallClockVblankCallback(void)
{ {
LoadOam(); LoadOam();
ProcessSpriteCopyRequests(); ProcessSpriteCopyRequests();
TransferPlttBuffer(); TransferPlttBuffer();
} }
void LoadWallClockGraphics(void) static void LoadWallClockGraphics(void)
{ {
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
@ -587,12 +587,12 @@ void LoadWallClockGraphics(void)
LoadSpritePalettes(gUnknown_085B2218); LoadSpritePalettes(gUnknown_085B2218);
} }
void sub_813498C(void) static void WallClockInit(void)
{ {
BeginNormalPaletteFade(-1, 0, 16, 0, 0); BeginNormalPaletteFade(-1, 0, 16, 0, 0);
EnableInterrupts(INTR_FLAG_VBLANK); EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(sub_81347B4); SetVBlankCallback(WallClockVblankCallback);
SetMainCallback2(sub_8134C9C); SetMainCallback2(WallClockMainCallback);
SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); SetGpuReg(REG_OFFSET_BLDCNT, 0x0000);
SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000); SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000);
SetGpuReg(REG_OFFSET_BLDY, 0x0000); SetGpuReg(REG_OFFSET_BLDY, 0x0000);
@ -609,29 +609,36 @@ void Cb2_StartWallClock(void)
LoadWallClockGraphics(); LoadWallClockGraphics();
LZ77UnCompVram(gUnknown_08DCC648, (u16 *)BG_SCREEN_ADDR(7)); LZ77UnCompVram(gUnknown_08DCC648, (u16 *)BG_SCREEN_ADDR(7));
taskId = CreateTask(sub_8134CB8, 0);
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] = 10; taskId = CreateTask(Task_SetClock1, 0);
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] = 0; gTasks[taskId].tHours = 10;
gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND] = 0; gTasks[taskId].tMinutes = 0;
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = 0; gTasks[taskId].tMvmtDir = 0;
gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED] = 0; gTasks[taskId].tPeriod = 0;
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] = 0; gTasks[taskId].tMvmtSpeed = 0;
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR_HAND_ANGLE] = 0x12c; gTasks[taskId].tMinuteHandAngle = 0;
gTasks[taskId].tHourHandAngle = 300;
spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1); spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0; gSprites[spriteId].oam.matrixNum = 0;
spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0); spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1; gSprites[spriteId].oam.matrixNum = 1;
spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 45; gSprites[spriteId].data[1] = 45;
spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 90; gSprites[spriteId].data[1] = 90;
sub_813498C();
WallClockInit();
PrintTextOnWindow(1, 1, gText_Confirm3, 0, 1, 0, NULL); PrintTextOnWindow(1, 1, gText_Confirm3, 0, 1, 0, NULL);
PutWindowTilemap(1); PutWindowTilemap(1);
schedule_bg_copy_tilemap_to_vram(2); schedule_bg_copy_tilemap_to_vram(2);
@ -641,44 +648,51 @@ void Cb2_ViewWallClock(void)
{ {
u8 taskId; u8 taskId;
u8 spriteId; u8 spriteId;
u8 r10; u8 angle1;
u8 spc; u8 angle2;
LoadWallClockGraphics(); LoadWallClockGraphics();
LZ77UnCompVram(gUnknown_08DCC908, (u16 *)BG_SCREEN_ADDR(7)); LZ77UnCompVram(gUnknown_08DCC908, (u16 *)BG_SCREEN_ADDR(7));
taskId = CreateTask(sub_8134F10, 0);
sub_8135130(taskId); taskId = CreateTask(Task_ViewClock1, 0);
if (gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] == 0) InitClockWithRtc(taskId);
if (gTasks[taskId].tPeriod == 0)
{ {
r10 = 45; angle1 = 45;
spc = 90; angle2 = 90;
} }
else else
{ {
r10 = 90; angle1 = 90;
spc = 135; angle2 = 135;
} }
spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1); spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0; gSprites[spriteId].oam.matrixNum = 0;
spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0); spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1; gSprites[spriteId].oam.matrixNum = 1;
spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = r10; gSprites[spriteId].data[1] = angle1;
spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = spc; gSprites[spriteId].data[1] = angle2;
sub_813498C();
WallClockInit();
PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL); PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL);
PutWindowTilemap(1); PutWindowTilemap(1);
schedule_bg_copy_tilemap_to_vram(2); schedule_bg_copy_tilemap_to_vram(2);
} }
static void sub_8134C9C(void) static void WallClockMainCallback(void)
{ {
RunTasks(); RunTasks();
AnimateSprites(); AnimateSprites();
@ -687,92 +701,92 @@ static void sub_8134C9C(void)
UpdatePaletteFade(); UpdatePaletteFade();
} }
static void sub_8134CB8(u8 taskId) static void Task_SetClock1(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
gTasks[taskId].func = sub_8134CE8; gTasks[taskId].func = Task_SetClock2;
} }
} }
static void sub_8134CE8(u8 taskId) static void Task_SetClock2(u8 taskId)
{ {
if (gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] % 6) if (gTasks[taskId].tMinuteHandAngle % 6)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] = GetClockHandAngle(gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE], gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND], gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED]); gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMvmtDir, gTasks[taskId].tMvmtSpeed);
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] = gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] * 6; gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6;
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR_HAND_ANGLE] = (gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] % 12) * 30 + (gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] / 10) * 5; gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
gTasks[taskId].func = sub_8134DC4; gTasks[taskId].func = Task_SetClock3;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND] = 0; gTasks[taskId].tMvmtDir = 0;
if (gMain.heldKeys & DPAD_LEFT) if (gMain.heldKeys & DPAD_LEFT)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND] = 1; gTasks[taskId].tMvmtDir = 1;
} }
if (gMain.heldKeys & DPAD_RIGHT) if (gMain.heldKeys & DPAD_RIGHT)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND] = 2; gTasks[taskId].tMvmtDir = 2;
} }
if (gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND] != 0) if (gTasks[taskId].tMvmtDir != 0)
{ {
if (gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED] <= 0xFE) if (gTasks[taskId].tMvmtSpeed < 0xFF)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED]++; gTasks[taskId].tMvmtSpeed++;
} }
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] = GetClockHandAngle(gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE], gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND], gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED]); gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMvmtDir, gTasks[taskId].tMvmtSpeed);
MoveClockHand(taskId, gTasks[taskId].data[WALL_CLOCK_TASK_SET_COMMAND]); AdvanceClock(taskId, gTasks[taskId].tMvmtDir);
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_SET_SPEED] = 0; gTasks[taskId].tMvmtSpeed = 0;
} }
} }
} }
} }
static void sub_8134DC4(u8 taskId) static void Task_SetClock3(u8 taskId)
{ {
SetWindowBorderStyle(0, FALSE, 0x250, 0x0d); SetWindowBorderStyle(0, FALSE, 0x250, 0x0d);
PrintTextOnWindow(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL); PrintTextOnWindow(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL);
PutWindowTilemap(0); PutWindowTilemap(0);
schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(0);
CreateYesNoMenu(&gUnknown_085B21F4, 0x250, 0x0d, 1); CreateYesNoMenu(&gUnknown_085B21F4, 0x250, 0x0d, 1);
gTasks[taskId].func = c3_80BF560; gTasks[taskId].func = Task_SetClock4;
} }
static void c3_80BF560(u8 taskId) static void Task_SetClock4(u8 taskId)
{ {
switch (sub_8198C58()) switch (ProcessMenuInputNoWrap_())
{ {
case 0: case 0:
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
gTasks[taskId].func = sub_8134EA4; gTasks[taskId].func = Task_SetClock5;
break; break;
case 1: case 1:
case -1: case -1:
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sub_8198070(0, FALSE); sub_8198070(0, FALSE);
ClearWindowTilemap(0); ClearWindowTilemap(0);
gTasks[taskId].func = sub_8134CE8; gTasks[taskId].func = Task_SetClock2;
break; break;
} }
} }
static void sub_8134EA4(u8 taskId) static void Task_SetClock5(u8 taskId)
{ {
RtcInitLocalTimeOffset(gTasks[taskId].data[WALL_CLOCK_TASK_HOUR], gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE]); RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes);
BeginNormalPaletteFade(-1, 0, 0, 16, 0); BeginNormalPaletteFade(-1, 0, 0, 16, 0);
gTasks[taskId].func = c2_080111BC; gTasks[taskId].func = Task_SetClock6;
} }
static void c2_080111BC(u8 taskId) static void Task_SetClock6(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@ -781,30 +795,30 @@ static void c2_080111BC(u8 taskId)
} }
} }
static void sub_8134F10(u8 taskId) static void Task_ViewClock1(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
gTasks[taskId].func = sub_8134F40; gTasks[taskId].func = Task_ViewClock2;
} }
} }
static void sub_8134F40(u8 taskId) static void Task_ViewClock2(u8 taskId)
{ {
sub_8135130(taskId); InitClockWithRtc(taskId);
if (gMain.newKeys & (A_BUTTON | B_BUTTON)) if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{ {
gTasks[taskId].func = sub_8134F78; gTasks[taskId].func = Task_ViewClock3;
} }
} }
static void sub_8134F78(u8 taskId) static void Task_ViewClock3(u8 taskId)
{ {
BeginNormalPaletteFade(-1, 0, 0, 16, 0); BeginNormalPaletteFade(-1, 0, 0, 16, 0);
gTasks[taskId].func = sub_8134FB0; gTasks[taskId].func = Task_ViewClock4;
} }
static void sub_8134FB0(u8 taskId) static void Task_ViewClock4(u8 taskId)
{ {
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
@ -812,7 +826,7 @@ static void sub_8134FB0(u8 taskId)
} }
} }
static u8 GetClockHandAngleChange(u16 a0) static u8 CalcMinHandDelta(u16 a0)
{ {
if (a0 > 60) if (a0 > 60)
{ {
@ -829,9 +843,9 @@ static u8 GetClockHandAngleChange(u16 a0)
return 1; return 1;
} }
static u16 GetClockHandAngle(u16 a0, u8 command, u8 a2) static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2)
{ {
u8 r1 = GetClockHandAngleChange(a2); u8 r1 = CalcMinHandDelta(a2);
switch (command) switch (command)
{ {
case 1: case 1:
@ -846,65 +860,65 @@ static u16 GetClockHandAngle(u16 a0, u8 command, u8 a2)
return a0; return a0;
} }
static bool32 MoveClockHand(u8 taskId, u8 command) static bool32 AdvanceClock(u8 taskId, u8 command)
{ {
switch (command) switch (command)
{ {
case 1: case 1:
if (gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] > 0) if (gTasks[taskId].tMinutes > 0)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE]--; gTasks[taskId].tMinutes--;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] = 59; gTasks[taskId].tMinutes = 59;
if (gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] > 0) if (gTasks[taskId].tHours > 0)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR]--; gTasks[taskId].tHours--;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] = 23; gTasks[taskId].tHours = 23;
} }
_12HourClockFixAMPM(taskId, command); UpdateClockPeriod(taskId, command);
} }
break; break;
case 2: case 2:
if (gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] < 59) if (gTasks[taskId].tMinutes < 59)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE]++; gTasks[taskId].tMinutes++;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] = 0; gTasks[taskId].tMinutes = 0;
if (gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] < 23) if (gTasks[taskId].tHours < 23)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR]++; gTasks[taskId].tHours++;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] = 0; gTasks[taskId].tHours = 0;
} }
_12HourClockFixAMPM(taskId, command); UpdateClockPeriod(taskId, command);
} }
break; break;
} }
return FALSE; return FALSE;
} }
static void _12HourClockFixAMPM(u8 taskId, u8 command) static void UpdateClockPeriod(u8 taskId, u8 command)
{ {
u8 hours = gTasks[taskId].data[WALL_CLOCK_TASK_HOUR]; u8 hours = gTasks[taskId].tHours;
switch (command) switch (command)
{ {
case 1: case 1:
switch (hours) switch (hours)
{ {
case 11: case 11:
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = FALSE; gTasks[taskId].tPeriod = FALSE;
break; break;
case 23: case 23:
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = TRUE; gTasks[taskId].tPeriod = TRUE;
break; break;
} }
break; break;
@ -912,43 +926,45 @@ static void _12HourClockFixAMPM(u8 taskId, u8 command)
switch (hours) switch (hours)
{ {
case 0: case 0:
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = FALSE; gTasks[taskId].tPeriod = FALSE;
break; break;
case 12: case 12:
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = TRUE; gTasks[taskId].tPeriod = TRUE;
break; break;
} }
break; break;
} }
} }
static void sub_8135130(u8 taskId) static void InitClockWithRtc(u8 taskId)
{ {
RtcCalcLocalTime(); RtcCalcLocalTime();
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] = gLocalTime.hours; gTasks[taskId].tHours = gLocalTime.hours;
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] = gLocalTime.minutes; gTasks[taskId].tMinutes = gLocalTime.minutes;
gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE] = gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] * 6; gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6;
gTasks[taskId].data[WALL_CLOCK_TASK_HOUR_HAND_ANGLE] = (gTasks[taskId].data[WALL_CLOCK_TASK_HOUR] % 12) * 30 + (gTasks[taskId].data[WALL_CLOCK_TASK_MINUTE] / 10) * 5; gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5;
if (gLocalTime.hours < 12) if (gLocalTime.hours < 12)
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = FALSE; gTasks[taskId].tPeriod = FALSE;
} }
else else
{ {
gTasks[taskId].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM] = TRUE; gTasks[taskId].tPeriod = TRUE;
} }
} }
static void sub_81351AC(struct Sprite *sprite) static void SpriteCB_MinuteHand(struct Sprite *sprite)
{ {
u16 angle = gTasks[sprite->data[0]].data[WALL_CLOCK_TASK_MINUTE_HAND_ANGLE]; u16 angle = gTasks[sprite->data[0]].tMinuteHandAngle;
s16 sin = Sin2(angle) / 16; s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16; s16 cos = Cos2(angle) / 16;
u16 xhat; u16 xhat;
u16 yhat; u16 yhat;
SetOamMatrix(0, cos, sin, -sin, cos); SetOamMatrix(0, cos, sin, -sin, cos);
xhat = sClockHandCoords[angle][0]; xhat = sClockHandCoords[angle][0];
yhat = sClockHandCoords[angle][1]; yhat = sClockHandCoords[angle][1];
if (xhat > 0x80) if (xhat > 0x80)
{ {
xhat |= 0xff00; xhat |= 0xff00;
@ -961,13 +977,14 @@ static void sub_81351AC(struct Sprite *sprite)
sprite->pos2.y = yhat; sprite->pos2.y = yhat;
} }
static void sub_8135244(struct Sprite *sprite) static void SpriteCB_HourHand(struct Sprite *sprite)
{ {
u16 angle = gTasks[sprite->data[0]].data[WALL_CLOCK_TASK_HOUR_HAND_ANGLE]; u16 angle = gTasks[sprite->data[0]].tHourHandAngle;
s16 sin = Sin2(angle) / 16; s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16; s16 cos = Cos2(angle) / 16;
u16 xhat; u16 xhat;
u16 yhat; u16 yhat;
SetOamMatrix(1, cos, sin, -sin, cos); SetOamMatrix(1, cos, sin, -sin, cos);
xhat = sClockHandCoords[angle][0]; xhat = sClockHandCoords[angle][0];
yhat = sClockHandCoords[angle][1]; yhat = sClockHandCoords[angle][1];
@ -983,9 +1000,9 @@ static void sub_8135244(struct Sprite *sprite)
sprite->pos2.y = yhat; sprite->pos2.y = yhat;
} }
static void sub_81352DC(struct Sprite *sprite) static void SpriteCB_AMIndicator(struct Sprite *sprite)
{ {
if (gTasks[sprite->data[0]].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM]) if (gTasks[sprite->data[0]].tPeriod)
{ {
if (sprite->data[1] >= 60 && sprite->data[1] < 90) if (sprite->data[1] >= 60 && sprite->data[1] < 90)
{ {
@ -1011,9 +1028,9 @@ static void sub_81352DC(struct Sprite *sprite)
sprite->pos2.y = Sin2(sprite->data[1]) * 30 / 0x1000; sprite->pos2.y = Sin2(sprite->data[1]) * 30 / 0x1000;
} }
static void sub_8135380(struct Sprite *sprite) static void SpriteCB_PMIndicator(struct Sprite *sprite)
{ {
if (gTasks[sprite->data[0]].data[WALL_CLOCK_TASK_12HRCLOCK_AM_PM]) if (gTasks[sprite->data[0]].tPeriod)
{ {
if (sprite->data[1] >= 105 && sprite->data[1] < 135) if (sprite->data[1] >= 105 && sprite->data[1] < 135)
{ {