summaryrefslogtreecommitdiff
path: root/asm/play_time.s
blob: 2c4e28d8254b9e74c1d4024ca373a4451ae64b34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start reset_playtime
reset_playtime: @ 80841E4
	ldr r1, =gUnknown_03000E08
	movs r0, 0
	strb r0, [r1]
	ldr r2, =gUnknown_03005D90
	ldr r3, [r2]
	movs r1, 0
	movs r0, 0
	strh r0, [r3, 0xE]
	strb r1, [r3, 0x10]
	ldr r0, [r2]
	strb r1, [r0, 0x11]
	ldr r0, [r2]
	strb r1, [r0, 0x12]
	bx lr
	.pool
	thumb_func_end reset_playtime

	thumb_func_start set_max_playtime_if_appropriate
set_max_playtime_if_appropriate: @ 8084208
	push {lr}
	ldr r1, =gUnknown_03000E08
	movs r0, 0x1
	strb r0, [r1]
	ldr r0, =gUnknown_03005D90
	ldr r0, [r0]
	ldrh r1, [r0, 0xE]
	ldr r0, =0x000003e7
	cmp r1, r0
	bls _08084220
	bl set_max_playtime
_08084220:
	pop {r0}
	bx r0
	.pool
	thumb_func_end set_max_playtime_if_appropriate

	thumb_func_start sub_8084230
sub_8084230: @ 8084230
	ldr r1, =gUnknown_03000E08
	movs r0, 0
	strb r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_8084230

	thumb_func_start gametime_increment
gametime_increment: @ 808423C
	push {lr}
	ldr r0, =gUnknown_03000E08
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _08084294
	ldr r2, =gUnknown_03005D90
	ldr r0, [r2]
	ldrb r1, [r0, 0x12]
	adds r1, 0x1
	movs r3, 0
	strb r1, [r0, 0x12]
	ldr r1, [r2]
	ldrb r0, [r1, 0x12]
	cmp r0, 0x3B
	bls _08084294
	strb r3, [r1, 0x12]
	ldr r0, [r2]
	ldrb r1, [r0, 0x11]
	adds r1, 0x1
	strb r1, [r0, 0x11]
	ldr r1, [r2]
	ldrb r0, [r1, 0x11]
	cmp r0, 0x3B
	bls _08084294
	strb r3, [r1, 0x11]
	ldr r0, [r2]
	ldrb r1, [r0, 0x10]
	adds r1, 0x1
	strb r1, [r0, 0x10]
	ldr r1, [r2]
	ldrb r0, [r1, 0x10]
	cmp r0, 0x3B
	bls _08084294
	strb r3, [r1, 0x10]
	ldr r0, [r2]
	ldrh r1, [r0, 0xE]
	adds r1, 0x1
	strh r1, [r0, 0xE]
	lsls r1, 16
	ldr r0, =0x03e70000
	cmp r1, r0
	bls _08084294
	bl set_max_playtime
_08084294:
	pop {r0}
	bx r0
	.pool
	thumb_func_end gametime_increment

	thumb_func_start set_max_playtime
set_max_playtime: @ 80842A4
	ldr r1, =gUnknown_03000E08
	movs r0, 0x2
	strb r0, [r1]
	ldr r2, =gUnknown_03005D90
	ldr r3, [r2]
	ldr r0, =0x000003e7
	strh r0, [r3, 0xE]
	movs r1, 0x3B
	strb r1, [r3, 0x10]
	ldr r0, [r2]
	strb r1, [r0, 0x11]
	ldr r0, [r2]
	strb r1, [r0, 0x12]
	bx lr
	.pool
	thumb_func_end set_max_playtime

	.align 2, 0 @ Don't pad with nop.