summaryrefslogtreecommitdiff
path: root/home/talk_to_npc.asm
blob: 9ef5dd3b0bf3873f4e819a0d7c185791ff30008e (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
include "constants.asm"

if DEBUG
SECTION "Unknown 3025", ROM0 [$3025]
else
SECTION "Unknown 3025", ROM0 [$2fe9]
endc

Function3025::
	ld hl, .Text
	call Function3111
	ret

.Text: ; 00:302c
	text "ゲームフりーク!"
	done

Function3036:: ; 3036
	ld hl, .Text
	ret

.Text: ; 00:303a
	db "@"

CallMapTextSubroutine::
	ld a, [wcdb0]
	bit 0, a
	jr z, asm_3062
	call Function3055
	ret z
	ld hl, hCurMapTextSubroutinePtr
	ld a, [hli]
	ld h, [hl]
	ld l, a
	ld de, .Return
	push de
	jp hl

.Return: ; 00:3051
	call Function307a
	ret

Function3055:: ; 00:3055
	ldh a, [hFFEA]
	ld b, a
.asm_3058: ; 00:3058
	ld a, [hli]
	cp $ff
	ret z
	cp b
	jp z, Function3240
	jr .asm_3058

asm_3062: ; 00:3062
	ld a, [wcdb0]
	bit 1, a
	ret z
	ld h, d
	ld l, e
	ldh a, [hFFEE]
	dec a
	ld d, $0
	ld e, a
	add hl, de
	add hl, de
	ld a, [hli]
	ld h, [hl]
	ld l, a
	ld de, Function307a
	push de
	jp hl

Function307a:: ; 00:307a
	ld hl, wcdb0
	res 0, [hl]
	res 1, [hl]
	call Function3240
	ret

Function3085:: ; 00:3085
	push hl
	push de
	push bc
	ld de, $99
	ld a, [wcdb0]
	bit 0, a
	jr z, .asm_3097
	ld de, hFFEA
	jr .asm_309e

.asm_3097: ; 00:3097
	bit 1, a
	jr z, .asm_309e
	ld de, hFFEE
.asm_309e: ; 00:309e
	hlcoord 4, 12
	lb bc, PRINTNUM_LEADINGZEROS | 1, 2
	call PrintNumber
	ld de, wMapScriptNumber
	hlcoord 1, 12
	lb bc, PRINTNUM_LEADINGZEROS | 1, 2
	call PrintNumber
	pop bc
	pop de
	pop hl
	ret

QueueMapTextSubroutine::
	ldh a, [hJoyState]
	bit A_BUTTON_F, a
	jp z, Function323e
	call GetFacingPersonText
	jp nc, Function30e8
	ld d, $0
	ld e, a
	ld a, [wce63]
	bit 1, a
	call nz, Function3085
	ld hl, wMapTextPtr
	ld a, [hli]
	ld h, [hl]
	ld l, a
	add hl, de
	add hl, de
	ld de, hCurMapTextSubroutinePtr
	ld a, [hli]
	ld [de], a
	inc de
	ld a, [hl]
	ld [de], a
	ld hl, wcdb0
	set 0, [hl]
	call Function3240
	ret

Function30e8:: ; 00:30e8
	call GetFacingSignpost
	jp nc, Function323e
	ld a, e
	ldh [hFFEB], a
	ld a, d
	ldh [hFFEC], a
	ld a, b
	ldh [hFFED], a
	ld a, [hl]
	ldh [hFFEE], a
	ld hl, wcdb0
	set 1, [hl]
	call Function3240
	ret

GetFacingPersonText:: ; 00:3103
	callba Function776e
	ret nc
	call Function319b
	scf
	ret