summaryrefslogtreecommitdiff
path: root/engine/time.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/time.asm')
-rwxr-xr-xengine/time.asm464
1 files changed, 464 insertions, 0 deletions
diff --git a/engine/time.asm b/engine/time.asm
new file mode 100755
index 000000000..d47c4fbaa
--- /dev/null
+++ b/engine/time.asm
@@ -0,0 +1,464 @@
+Function113d6: ; 113d6
+ call Function114dd
+ ret
+; 113da
+
+Function113da: ; 113da
+ xor a
+ ld [wdc2d], a
+ ld [wdc3a], a
+ ld [wdc1c], a
+ ret
+; 113e5
+
+Function113e5:: ; 113e5
+ xor a
+ ld [wd464], a
+
+Function113e9: ; 113e9
+ ld a, [wd464]
+ cp 3
+ jr c, .asm_113f2
+ ld a, 3
+
+.asm_113f2
+ ld e, a
+ ld d, 0
+ ld hl, .data_113fd
+ add hl, de
+ ld a, [hl]
+ jp Function1142e
+; 113fd
+
+.data_113fd
+ db 20, 10, 5, 3
+; 11401
+
+Function11401: ; 11401
+ call Function1143c
+ ret nc
+ ld hl, wd464
+ ld a, [hl]
+ cp 3
+ jr nc, .asm_1140e
+ inc [hl]
+
+.asm_1140e
+ call Function113e9
+ scf
+ ret
+; 11413
+
+Function11413: ; 11413
+ ld a, 1
+
+Function11415: ; 11415
+ ld [hl], a
+ push hl
+ call UpdateTime
+ pop hl
+ inc hl
+ call Function11621
+ ret
+; 11420
+
+Function11420: ; 11420
+ inc hl
+ push hl
+ call Function115cf
+ call Function115c8
+ pop hl
+ dec hl
+ call Function11586
+ ret
+; 1142e
+
+Function1142e: ; 1142e
+ ld hl, wd465
+ ld [hl], a
+ call UpdateTime
+ ld hl, wd466
+ call Function1162e
+ ret
+; 1143c
+
+Function1143c: ; 1143c
+ ld hl, wd466
+ call Function115d6
+ call Function115ae
+ ld hl, wd465
+ call Function11586
+ ret
+; 1144c
+
+Function1144c: ; 1144c
+ ld hl, wdc1c
+ jp Function11413
+; 11452
+
+Function11452:: ; 11452
+ ld hl, wdc1c
+ call Function11420
+ ret nc
+ xor a
+ ld hl, DailyFlags
+rept 3
+ ld [hli], a
+endr
+ ld [hl], a
+ ld hl, wDailyRematchFlags
+rept 4
+ ld [hli], a
+endr
+ ld hl, wDailyPhoneItemFlags
+rept 4
+ ld [hli], a
+endr
+ ld hl, wDailyPhoneTimeOfDayFlags
+rept 4
+ ld [hli], a
+endr
+ ld hl, wdc58
+ ld a, [hl]
+ and a
+ jr z, .asm_11480
+ dec [hl]
+ jr nz, .asm_11483
+
+.asm_11480
+ call Function11485
+
+.asm_11483
+ jr Function1144c
+; 11485
+
+Function11485: ; 11485
+ call Random
+ and 3
+ add 3
+ ld [wdc58], a
+ ret
+; 11490
+
+Function11490: ; 11490
+ ld a, $14
+ ld [wd46c], a
+ ld a, $0
+ ld [wd46d], a
+ call UpdateTime
+ ld hl, wdc35
+ call Function11613
+ ret
+; 114a4
+
+
+Function114a4:: ; 114a4 (4:54a4)
+ ld hl, wdc35
+ call Function115db
+ ld a, [wcfd7]
+ and a
+ jr nz, .asm_114d4
+ ld a, [wcfd6]
+ and a
+ jr nz, .asm_114d4
+ ld a, [wcfd4]
+ ld b, a
+ ld a, [wd46d]
+ sub b
+ jr nc, .asm_114c2
+ add $3c
+.asm_114c2
+ ld [wd46d], a
+ ld a, [wcfd5]
+ ld b, a
+ ld a, [wd46c]
+ sbc b
+ ld [wd46c], a
+ jr c, .asm_114d4
+ and a
+ ret
+.asm_114d4
+ xor a
+ ld [wd46c], a
+ ld [wd46d], a
+ scf
+ ret
+
+
+Function114dd: ; 114dd
+ call UpdateTime
+ ld hl, wdc23
+ call Function11621
+ ret
+; 114e7
+
+Function114e7:: ; 114e7
+ ld hl, wdc23
+ call Function115cf
+ call Function115c8
+ and a
+ jr z, .asm_114fa
+
+ ld b, a
+ callba ApplyPokerusTick
+
+.asm_114fa
+ xor a
+ ret
+; 114fc
+
+Function114fc: ; 114fc
+ ld a, $2
+ ld hl, wdc3a
+ ld [hl], a
+ call UpdateTime
+ ld hl, wdc3b
+ call Function11621
+ ret
+; 1150c
+
+Function1150c: ; 1150c
+ ld hl, wdc3b
+ call Function115cf
+ call Function115c8
+ ld hl, wdc3a
+ call Function11586
+ ret
+; 1151c
+
+Function1151c: ; 1151c
+ ld hl, DailyFlags
+ set 2, [hl]
+ ret
+; 11522
+
+Function11522: ; 11522
+ and a
+ ld hl, DailyFlags
+ bit 2, [hl]
+ ret nz
+ scf
+ ret
+; 1152b
+
+Function1152b: ; 1152b
+ call Function11534
+ ld hl, wdc2d
+ jp Function11415
+; 11534
+
+Function11534: ; 11534
+ call GetWeekday
+ ld c, a
+ ld a, $5
+ sub c
+ jr z, .asm_1153f
+ jr nc, .asm_11541
+
+.asm_1153f
+ add $7
+
+.asm_11541
+ ret
+; 11542
+
+Function11542: ; 11542
+ ld hl, wdc2d
+ jp Function11420
+; 11548
+
+Function11548: ; 11548
+ ld a, BANK(s0_abfa)
+ call GetSRAMBank
+ ld hl, s0_abfa
+ ld a, [hli]
+ ld [Buffer1], a
+ ld a, [hl]
+ ld [Buffer2], a
+ call CloseSRAM
+ ld hl, Buffer1
+ call Function11420
+ jr nc, .asm_11572
+ ld hl, Buffer1
+ call Function11413
+ call CloseSRAM
+ callba Function1050c8
+
+.asm_11572
+ ld a, BANK(s0_abfa)
+ call GetSRAMBank
+ ld hl, Buffer1
+ ld a, [hli]
+ ld [s0_abfa], a
+ ld a, [hl]
+ ld [s0_abfa + 1], a
+ call CloseSRAM
+ ret
+; 11586
+
+Function11586: ; 11586
+ cp -1
+ jr z, .skip
+ ld c, a
+ ld a, [hl]
+ sub c
+ jr nc, .ok
+ xor a
+
+.ok
+ ld [hl], a
+ jr z, .skip
+ xor a
+ ret
+
+.skip
+ xor a
+ ld [hl], a
+ scf
+ ret
+; 11599
+
+Function11599: ; 11599
+ ld a, [wcfd7]
+ and a
+ jr nz, Function115cc
+ ld a, [wcfd6]
+ and a
+ jr nz, Function115cc
+ ld a, [wcfd5]
+ jr nz, Function115cc
+ ld a, [wcfd4]
+ ret
+; 115ae
+
+Function115ae: ; 115ae
+ ld a, [wcfd7]
+ and a
+ jr nz, Function115cc
+ ld a, [wcfd6]
+ and a
+ jr nz, Function115cc
+ ld a, [wcfd5]
+ ret
+; 115be
+
+Function115be: ; 115be
+ ld a, [wcfd7]
+ and a
+ jr nz, Function115cc
+ ld a, [wcfd6]
+ ret
+; 115c8
+
+Function115c8: ; 115c8
+ ld a, [wcfd7]
+ ret
+; 115cc
+
+Function115cc: ; 115cc
+ ld a, $ff
+ ret
+; 115cf
+
+Function115cf: ; 115cf
+ xor a
+ jr Function11605
+; 115d2
+
+Function115d2: ; 115d2
+ inc hl
+ xor a
+ jr Function115f8
+; 115d6
+
+Function115d6: ; 115d6
+rept 2
+ inc hl
+endr
+ xor a
+ jr Function115eb
+; 115db
+
+Function115db: ; 115db
+rept 3
+ inc hl
+endr
+ ld a, [hSeconds]
+ ld c, a
+ sub [hl]
+ jr nc, .asm_115e6
+ add 60
+.asm_115e6
+ ld [hl], c
+ dec hl
+ ld [wcfd4], a
+
+Function115eb: ; 115eb
+ ld a, [hMinutes]
+ ld c, a
+ sbc [hl]
+ jr nc, .asm_115f3
+ add 60
+.asm_115f3
+ ld [hl], c
+ dec hl
+ ld [wcfd5], a
+
+Function115f8: ; 115f8
+ ld a, [hHours]
+ ld c, a
+ sbc [hl]
+ jr nc, .asm_11600
+ add 24
+.asm_11600
+ ld [hl], c
+ dec hl
+ ld [wcfd6], a
+
+Function11605
+ ld a, [CurDay]
+ ld c, a
+ sbc [hl]
+ jr nc, .skip
+ add 20 * 7
+.skip
+ ld [hl], c
+ ld [wcfd7], a
+ ret
+; 11613
+
+Function11613: ; 11613
+ ld a, [CurDay]
+ ld [hli], a
+ ld a, [hHours]
+ ld [hli], a
+ ld a, [hMinutes]
+ ld [hli], a
+ ld a, [hSeconds]
+ ld [hli], a
+ ret
+; 11621
+
+Function11621: ; 11621
+ ld a, [CurDay]
+ ld [hl], a
+ ret
+; 11626
+
+Function11626: ; 11626
+ ld a, [CurDay]
+ ld [hli], a
+ ld a, [hHours]
+ ld [hli], a
+ ret
+; 1162e
+
+Function1162e: ; 1162e
+ ld a, [CurDay]
+ ld [hli], a
+ ld a, [hHours]
+ ld [hli], a
+ ld a, [hMinutes]
+ ld [hli], a
+ ret
+; 11639 \ No newline at end of file