blob: 817268e9fdd3147321fb0eadcdc47dc0c2306e45 (
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
_CRYSTAL EQU 1
if _CRYSTAL
VERSION EQU 0
else
VERSION EQU 1
endc
INCLUDE "gbhw.asm"
INCLUDE "hram.asm"
INCLUDE "constants/pokemon_constants.asm"
INCLUDE "constants/move_constants.asm"
INCLUDE "constants/battle_constants.asm"
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/item_constants.asm"
INCLUDE "constants/trainer_constants.asm"
INCLUDE "constants/script_constants.asm"
INCLUDE "constants/event_flags.asm"
INCLUDE "constants/engine_flags.asm"
INCLUDE "constants/music_constants.asm"
; macros require rst vectors to be defined
FarCall EQU $08
Bankswitch EQU $10
JumpTable EQU $28
INCLUDE "macros.asm"
NONE EQU 0
; types
NORMAL EQU $00
FIGHTING EQU $01
FLYING EQU $02
POISON EQU $03
GROUND EQU $04
ROCK EQU $05
BUG EQU $07
GHOST EQU $08
STEEL EQU $09
CURSE_T EQU $13
FIRE EQU $14
WATER EQU $15
GRASS EQU $16
ELECTRIC EQU $17
PSYCHIC EQU $18
ICE EQU $19
DRAGON EQU $1A
DARK EQU $1B
; egg group constants
MONSTER EQU $01
AMPHIBIAN EQU $02
INSECT EQU $03
AVIAN EQU $04
FIELD EQU $05
FAIRY EQU $06
PLANT EQU $07
HUMANSHAPE EQU $08
INVERTEBRATE EQU $09
INANIMATE EQU $0A
AMORPHOUS EQU $0B
FISH EQU $0C
LADIES_MAN EQU $0D
REPTILE EQU $0E
NO_EGGS EQU $0F
; menu sprites
ICON_POLIWAG EQU $01
ICON_JIGGLYPUFF EQU $02
ICON_DIGLETT EQU $03
ICON_PIKACHU EQU $04
ICON_STARYU EQU $05
ICON_FISH EQU $06
ICON_BIRD EQU $07
ICON_MONSTER EQU $08
ICON_CLEFAIRY EQU $09
ICON_ODDISH EQU $0a
ICON_BUG EQU $0b
ICON_GHOST EQU $0c
ICON_LAPRAS EQU $0d
ICON_HUMANSHAPE EQU $0e
ICON_FOX EQU $0f
ICON_EQUINE EQU $10
ICON_SHELL EQU $11
ICON_BLOB EQU $12
ICON_SERPENT EQU $13
ICON_VOLTORB EQU $14
ICON_SQUIRTLE EQU $15
ICON_BULBASAUR EQU $16
ICON_CHARMANDER EQU $17
ICON_CATERPILLAR EQU $18
ICON_UNOWN EQU $19
ICON_GEODUDE EQU $1a
ICON_FIGHTER EQU $1b
ICON_EGG EQU $1c
ICON_JELLYFISH EQU $1d
ICON_MOTH EQU $1e
ICON_BAT EQU $1f
ICON_SNORLAX EQU $20
ICON_HO_OH EQU $21
ICON_LUGIA EQU $22
ICON_GYARADOS EQU $23
ICON_SLOWPOKE EQU $24
ICON_SUDOWOODO EQU $25
ICON_BIGMON EQU $26
; evolution types
EVOLVE_LEVEL EQU 1
EVOLVE_ITEM EQU 2
EVOLVE_TRADE EQU 3
EVOLVE_HAPPINESS EQU 4
EVOLVE_STAT EQU 5
BASE_HAPPINESS EQU 70
; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220
TR_ANYTIME EQU 1
TR_MORNDAY EQU 2
TR_NITE EQU 3
; stat evolution triggers
ATK_GT_DEF EQU 1
ATK_LT_DEF EQU 2
ATK_EQ_DEF EQU 3
; name length
PLAYER_NAME_LENGTH EQU 8
PKMN_NAME_LENGTH EQU 11
; predefs
PREDEF_FLAG EQU $03
PREDEF_FILLPP EQU $05
PREDEF_ADDPARTYMON EQU $06
PREDEF_FILLSTATS EQU $0C
PREDEF_PRINT_MOVE_DESCRIPTION EQU $11
PREDEF_UPDATE_PLAYER_HUD EQU $12
PREDEF_FILL_BOX EQU $13
PREDEF_UPDATE_ENEMY_HUD EQU $15
PREDEF_START_BATTLE EQU $16
PREDEF_FILL_IN_EXP_BAR EQU $17
PREDEF_FILLMOVES EQU $1B
PREDEF_GET_GENDER EQU $24
PREDEF_STATS_SCREEN EQU $25
PREDEF_DRAW_PLAYER_HP EQU $26
PREDEF_DRAW_ENEMY_HP EQU $27
PREDEF_GET_TYPE_NAME EQU $29
PREDEF_PRINT_MOVE_TYPE EQU $2A
PREDEF_PRINT_TYPE EQU $2B
PREDEF_GET_UNOWN_LETTER EQU $2D
PREDEF_LOAD_SGB_LAYOUT EQU $31
PREDEF_CHECK_CONTEST_MON EQU $33
PREDEF_BATTLE_TRANSITION EQU $34
PREDEF_PARTYMON_ITEM_NAME EQU $3B
PREDEF_DECOMPRESS EQU $40
; flag manipulation
RESET_FLAG EQU 0
SET_FLAG EQU 1
CHECK_FLAG EQU 2
; joypad
BUTTONS EQU %00010000
D_PAD EQU %00100000
NO_INPUT EQU %00000000
A_BUTTON EQU %00000001
B_BUTTON EQU %00000010
SELECT EQU %00000100
START EQU %00001000
D_RIGHT EQU %00010000
D_LEFT EQU %00100000
D_UP EQU %01000000
D_DOWN EQU %10000000
; screen
HP_BAR_LENGTH EQU 6
HP_BAR_LENGTH_PX EQU 48
EXP_BAR_LENGTH EQU 8
EXP_BAR_LENGTH_PX EQU 64
SCREEN_WIDTH EQU 20
SCREEN_HEIGHT EQU 18
SCREEN_WIDTH_PX EQU 160
SCREEN_HEIGHT_PX EQU 144
BG_MAP_WIDTH EQU 32
BG_MAP_HEIGHT EQU 32
TILE_WIDTH EQU 8
; movement
STEP_SLOW EQU 0
STEP_WALK EQU 1
STEP_BIKE EQU 2
STEP_LEDGE EQU 3
STEP_ICE EQU 4
STEP_TURN EQU 5
STEP_BACK_LEDGE EQU 6
STEP_WALK_IN_PLACE EQU 7
|