summaryrefslogtreecommitdiff
path: root/engine/predefs.asm
blob: 3ac9958527e7e10bb5e23b2a46ba27625ec988da (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
GetPredefPointer:
; Store the contents of the register
; pairs (hl, de, bc) at wPredefRegisters.
; Then put the bank and address of predef
; wPredefID in [wPredefBank] and hl.

	ld a,h
	ld [wPredefRegisters],a
	ld a,l
	ld [wPredefRegisters + 1],a

	ld hl,wPredefRegisters + 2
	ld a,d
	ld [hli],a
	ld a,e
	ld [hli],a

	ld a,b
	ld [hli],a
	ld [hl],c

	ld hl,PredefPointers
	ld de,0

	ld a,[wPredefID]
	ld e,a
	add a
	add e
	ld e,a
	jr nc,.next
	inc d

.next
	add hl,de
	ld d,h
	ld e,l

	; get bank of predef routine
	ld a,[de]
	ld [wPredefBank],a

	; get pointer
	inc de
	ld a,[de]
	ld l,a
	inc de
	ld a,[de]
	ld h,a

	ret

PredefPointers:: ; 4fe79 (13:7e79)
; these are pointers to ASM routines.
; they appear to be used in overworld map scripts.
	add_predef Func_3cd60
	add_predef Func_3f0c6
	add_predef Func_3f073
	add_predef ScaleSpriteByTwo
	add_predef LoadMonBackPic
	add_predef Func_79aba
	add_predef Func_f132
	add_predef HealParty
	add_predef MoveAnimation; 08 play move animation
	add_predef DivideBCDPredef
	add_predef DivideBCDPredef2
	add_predef AddBCDPredef
	add_predef SubBCDPredef
	add_predef DivideBCDPredef3
	add_predef DivideBCDPredef4
	add_predef InitPlayerData
	add_predef FlagActionPredef
	add_predef HideObject
	add_predef IsObjectHidden
	add_predef Func_c69c
	add_predef AnyPartyAlive
	add_predef ShowObject
	add_predef ShowObject2
	add_predef Func_ee9e
	add_predef InitPlayerData2
	add_predef Func_c754
	add_predef Func_3af5b
	add_predef LearnMove
	add_predef IsItemInBag_ ; 1C, used in Pokémon Tower
	dbw $03,Func_3eb5 ; for these two, the bank number is actually 0
	dbw $03,GiveItem
	add_predef Func_480eb
	add_predef Func_f8ba
	add_predef Func_480ff
	add_predef Func_f929
	add_predef Func_f9a0
	add_predef Func_48125
	add_predef UpdateHPBar
	add_predef HPBarLength
	add_predef Func_5ab0
	add_predef Func_3ed02
	add_predef ShowPokedexMenu
	add_predef Func_3ad1c
	add_predef SaveSAVtoSRAM0
	add_predef InitOpponent
	add_predef Func_5a5f
	add_predef DrawBadges
	add_predef Func_410f3
	add_predef BattleTransition
	add_predef Func_79dda
	add_predef PlayIntro
	add_predef Func_79869
	add_predef FlashScreen
	add_predef Func_c586
	add_predef StatusScreen
	add_predef StatusScreen2
	add_predef Func_410e2
	add_predef TrainerEngage
	add_predef IndexToPokedex
	add_predef Predef3B; 3B display pic?
	add_predef UsedCut
	add_predef ShowPokedexData
	add_predef WriteMonMoves
	add_predef SaveSAV
	add_predef LoadSGB
	add_predef Func_f113
	add_predef SetPartyMonTypes
	add_predef CanLearnTM
	add_predef TMToMove
	add_predef Func_71ddf
	add_predef StarterDex ; 46
	add_predef _AddPartyMon
	add_predef UpdateHPBar2
	add_predef Func_3cdec
	add_predef LoadTownMap_Nest
	add_predef Func_27d6b
	add_predef EmotionBubble; 4C player exclamation
	add_predef Func_5aaf; return immediately
	add_predef AskName
	add_predef PewterGuys
	add_predef SaveSAVtoSRAM2
	add_predef LoadSAVCheckSum2
	add_predef LoadSAV
	add_predef SaveSAVtoSRAM1
	add_predef Predef54 ; 54 initiate trade
	add_predef HallOfFamePC
	add_predef DisplayDexRating
	dbw $1E, _LeaveMapAnim ; wrong bank
	dbw $1E, Func_70510 ; wrong bank
	add_predef Func_c5be
	add_predef Func_c60b
	add_predef PrintStrengthTxt
	add_predef PickupItem
	add_predef Func_27d98
	add_predef LoadMovePPs
	add_predef DrawHP ; 5F
	add_predef Func_128f6
	add_predef Func_1c9c6
	add_predef OaksAideScript