-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsprites.inc
75 lines (52 loc) · 1.67 KB
/
sprites.inc
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
procedure doSprites;
begin
//-------------------- clear sprites ------------------------
// EraseBlit initialize blt_control
ClrBlit(0, blt_copy_0 + blt_next); // mask = $00 ; copy = 0
ClrBlit(1, blt_copy_0 + blt_next);
ClrBlit(2, blt_copy_0 + blt_next);
ClrBlit(3, blt_copy_0 + blt_next);
ClrBlit(4, blt_copy_0 + blt_next);
ClrBlit(5, blt_copy_0 + blt_next);
ClrBlit(6, blt_copy_0 + blt_stop);
RunBCB(Blit0);
while BlitterBusy do;
//--------------------- set sprites -------------------------
// MoveBlit modifing blt_control initialize first by EraseBlit
if (death_robot = false) and (power < 2) and (tick and 7 < 3) then begin
addSFX(@sfx4);
play_sfx4:=true;
DstBlit(0, dst0 + 200*320); // robot blinks -> move outside the visible screen area
end else
DstBlit(0, mul320[robot.y] + robot.x); // mask = $ff ; copy = 1
if enemy0.kind <> 0 then
DstBlit(1, mul320[enemy0.y] + enemy0.x)
else
DstBlit(1, dst0 + 200*320);
if enemy1.kind <> 0 then
DstBlit(2, mul320[enemy1.y] + enemy1.x)
else
DstBlit(2, dst0 + 200*320);
if enemy2.kind <> 0 then
DstBlit(3, mul320[enemy2.y] + enemy2.x)
else
DstBlit(3, dst0 + 200*320);
if enemy3.kind <> 0 then
DstBlit(4, mul320[enemy3.y] + enemy3.x)
else
DstBlit(4, dst0 + 200*320);
if enemy4.kind <> 0 then
DstBlit(5, mul320[enemy4.y] + enemy4.x)
else
DstBlit(5, dst0 + 200*320);
if enemy5.kind <> 0 then
DstBlit(6, mul320[enemy5.y] + enemy5.x)
else
DstBlit(6, dst0 + 200*320);
if enemy6.kind <> 0 then
DstBlit(7, mul320[enemy6.y] + enemy6.x)
else
DstBlit(7, dst0 + 200*320);
RunBCB(blit0);
while BlitterBusy do; // EraseBlit + MoveBlit works together
end;