summaryrefslogtreecommitdiff
path: root/engine/sprites/sprites.asm
blob: 1c97321a6bb729238d99de6871dfc721da5f5e1c (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
INCLUDE "constants.asm"

SECTION "engine/sprites/sprites.asm@LoadOverworldSprite", ROMX

LoadOverworldSprite:
	push af
	call GetOverworldSpriteData
	push bc
	push hl
	push de
	ld a, [wcdaf]
	bit 7, a
	jr nz, .dont_copy
	call Get2bpp
.dont_copy
	pop de
	ld hl, SPRITE_TILE_SIZE * 3
	add hl, de
	ld d, h
	ld e, l
	pop hl
	ld bc, vChars1 - vChars0
	add hl, bc
	pop bc
	pop af
	call IsAnimatedSprite
	ret c
	ld a, [wcdaf]
	bit 6, a
	ret nz
	call Get2bpp
	ret

; get the data for overworld sprite in a
; returns: gfx ptr in hl, length in c, bank in b
GetOverworldSpriteData:
	push hl
	dec a
	ld l, a
	ld h, 0
	add hl, hl
	add hl, hl
	ld bc, OverworldSprites
	add hl, bc
	ld e, [hl]
	inc hl
	ld d, [hl]
	inc hl
	ld c, [hl]
	swap c
	inc hl
	ld b, [hl]
	pop hl
	ret

SECTION "engine/sprites/sprites.asm@OverworldSprites", ROMX

overworld_sprite: MACRO
; pointer, length, bank
	dw \1
	db \2 tiles, BANK(\1)
ENDM

OverworldSprites::
	overworld_sprite GoldSpriteGFX, 12
	overworld_sprite GoldBikeSpriteGFX, 12
	overworld_sprite GoldSkateboardSpriteGFX, 12
	overworld_sprite SilverSpriteGFX, 12
	overworld_sprite OkidoSpriteGFX, 12
	overworld_sprite RedSpriteGFX, 12
	overworld_sprite BlueSpriteGFX, 12
	overworld_sprite MasakiSpriteGFX, 12
	overworld_sprite ElderSpriteGFX, 12
	overworld_sprite SakakiSpriteGFX, 12
	overworld_sprite GantetsuSpriteGFX, 12
	overworld_sprite MomSpriteGFX, 12
	overworld_sprite SilversMomSpriteGFX, 12
	overworld_sprite RedsMomSpriteGFX, 12
	overworld_sprite RedsMomSpriteGFX, 12
	overworld_sprite NanamiSpriteGFX, 12
	overworld_sprite EvilOkidoSpriteGFX, 12
	overworld_sprite KikukoSpriteGFX, 12
	overworld_sprite HayatoSpriteGFX, 12
	overworld_sprite TsukushiSpriteGFX, 12
	overworld_sprite TsukushiSpriteGFX, 12
	overworld_sprite EnokiSpriteGFX, 12
	overworld_sprite MikanSpriteGFX, 12
	overworld_sprite MikanSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerMSpriteGFX, 12
	overworld_sprite CooltrainerFSpriteGFX, 12
	overworld_sprite BugCatcherBoySpriteGFX, 12
	overworld_sprite TwinSpriteGFX, 12
	overworld_sprite YoungsterSpriteGFX, 12
	overworld_sprite LassSpriteGFX, 12
	overworld_sprite TeacherSpriteGFX, 12
	overworld_sprite GirlSpriteGFX, 12
	overworld_sprite SuperNerdSpriteGFX, 12
	overworld_sprite RockerSpriteGFX, 12
	overworld_sprite PokefanMSpriteGFX, 12
	overworld_sprite PokefanFSpriteGFX, 12
	overworld_sprite GrampsSpriteGFX, 12
	overworld_sprite GrannySpriteGFX, 12
	overworld_sprite SwimmerMSpriteGFX, 12
	overworld_sprite SwimmerFSpriteGFX, 12
	overworld_sprite RocketMSpriteGFX, 12
	overworld_sprite RocketMSpriteGFX, 12
	overworld_sprite RocketMSpriteGFX, 12
	overworld_sprite RocketFSpriteGFX, 12
	overworld_sprite NurseSpriteGFX, 12
	overworld_sprite LinkReceptionistSpriteGFX, 12
	overworld_sprite ClerkSpriteGFX, 12
	overworld_sprite FisherSpriteGFX, 12
	overworld_sprite FishingGuruSpriteGFX, 12
	overworld_sprite ScientistSpriteGFX, 12
	overworld_sprite MediumSpriteGFX, 12
	overworld_sprite SageSpriteGFX, 12
	overworld_sprite FrowningManSpriteGFX, 12
	overworld_sprite GentlemanSpriteGFX, 12
	overworld_sprite BlackbeltSpriteGFX, 12
	overworld_sprite ReceptionistSpriteGFX, 12
	overworld_sprite OfficerSpriteGFX, 12
	overworld_sprite CaptainSpriteGFX, 12
	overworld_sprite CaptainSpriteGFX, 12
	overworld_sprite CaptainSpriteGFX, 12
	overworld_sprite MohawkSpriteGFX, 12
	overworld_sprite GymGuySpriteGFX, 12
	overworld_sprite SailorSpriteGFX, 12
	overworld_sprite HelmetSpriteGFX, 12
	overworld_sprite BurglarSpriteGFX, 12
	overworld_sprite RhydonSpriteGFX, 12
	overworld_sprite ClefairySpriteGFX, 12
	overworld_sprite PidgeySpriteGFX, 12
	overworld_sprite CharizardSpriteGFX, 12
	overworld_sprite SnorlaxSpriteGFX, 4
	overworld_sprite SeelSpriteGFX, 12
	overworld_sprite PoliwrathSpriteGFX, 12
	overworld_sprite LaprasSpriteGFX, 12
	overworld_sprite PokeBallSpriteGFX, 4
	overworld_sprite PokedexSpriteGFX, 4
	overworld_sprite PaperSpriteGFX, 4
	overworld_sprite OldLinkReceptionistSpriteGFX, 4
	overworld_sprite OldLinkReceptionistSpriteGFX, 4
	overworld_sprite EggSpriteGFX, 4
	overworld_sprite BoulderSpriteGFX, 4