summaryrefslogtreecommitdiff
path: root/asm/fldeff_poison.s
blob: dd3bb622e3e70033302b2d4713cb700e6cb32526 (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
	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start task50_overworld_poison_effect
task50_overworld_poison_effect: @ 80A0DD8
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	lsls r0, r2, 2
	adds r0, r2
	lsls r0, 3
	ldr r1, _080A0DFC @ =gTasks+0x8
	adds r1, r0, r1
	movs r3, 0
	ldrsh r0, [r1, r3]
	cmp r0, 0x1
	beq _080A0E16
	cmp r0, 0x1
	bgt _080A0E00
	cmp r0, 0
	beq _080A0E06
	b _080A0E32
	.align 2, 0
_080A0DFC: .4byte gTasks+0x8
_080A0E00:
	cmp r0, 0x2
	beq _080A0E2A
	b _080A0E32
_080A0E06:
	ldrh r0, [r1, 0x2]
	adds r0, 0x1
	strh r0, [r1, 0x2]
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0x4
	ble _080A0E32
	b _080A0E22
_080A0E16:
	ldrh r0, [r1, 0x2]
	subs r0, 0x1
	strh r0, [r1, 0x2]
	lsls r0, 16
	cmp r0, 0
	bne _080A0E32
_080A0E22:
	ldrh r0, [r1]
	adds r0, 0x1
	strh r0, [r1]
	b _080A0E32
_080A0E2A:
	adds r0, r2, 0
	bl DestroyTask
	b _080A0E42
_080A0E32:
	ldrb r1, [r1, 0x2]
	lsls r0, r1, 4
	orrs r0, r1
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	bl Unused_AdjustBgMosaic
_080A0E42:
	pop {r0}
	bx r0
	thumb_func_end task50_overworld_poison_effect

	thumb_func_start overworld_poison_effect
overworld_poison_effect: @ 80A0E48
	push {lr}
	movs r0, 0x48
	bl PlaySE
	ldr r0, _080A0E5C @ =task50_overworld_poison_effect
	movs r1, 0x50
	bl CreateTask
	pop {r0}
	bx r0
	.align 2, 0
_080A0E5C: .4byte task50_overworld_poison_effect
	thumb_func_end overworld_poison_effect

	thumb_func_start c3_80A0DD8_is_running
c3_80A0DD8_is_running: @ 80A0E60
	push {lr}
	ldr r0, _080A0E70 @ =task50_overworld_poison_effect
	bl FuncIsActiveTask
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.align 2, 0
_080A0E70: .4byte task50_overworld_poison_effect
	thumb_func_end c3_80A0DD8_is_running

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