-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnpcRoutines.asm
61 lines (60 loc) · 917 Bytes
/
npcRoutines.asm
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
drawNPCs:
npcList = $+1
ld hl,npcRalena
ld a,(hl)
inc hl
ex af,af'
;load npc position vars
ld b,(hl) ;X
inc hl
inc hl
ld c,(hl) ;Y
;check if x coord is off screen
ld hl,xCoord
ld a,b
sub (hl) ;npc x - xcoord
cp 6
ret nc ;revisar próximo npc
ld b,a
;check if y coord is off screen
ld hl,yCoord
ld a,c
sub (hl) ;npc y - ycoord
cp 4
ret nc ;revisar próximo npc
ld c,a
ex af,af'
ld l,a ;load sprite number into hl
ld h,0
add hl,hl
add hl,hl
add hl,hl
add hl,hl
add hl,hl ;x32
add hl,hl ;x64
ld de,npcSprites
add hl,de ;primer byte de npc
push hl
pop ix
ld a,c ;npc y
add a,a
add a,c
add a,a
add a,c
add a,a ;x14
ld l,a
ld h,0
add hl,hl ;y*2
add hl,hl ;y*4
add hl,hl ;y*8
add hl,hl ;y*16
ld a,b ;b=npc x
add a,a ;x2
ld b,0
ld c,a
; add hl,bc
ld bc,saferam1+2 ;86EC
add hl,bc
ld b,0 ;b=x offset
call drawPlayerSprite
ret