-
Notifications
You must be signed in to change notification settings - Fork 1
/
lib_BWpixparticles.bb
154 lines (105 loc) · 1.74 KB
/
lib_BWpixparticles.bb
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
Const c_maxpixcount=2500
Type pixpartdef0
Field x#
Field y#
Field height,dalley
Field dx#
Field dy#
Field used
Field id
End Type
Type pixpartdef
Field x#
Field y#
Field height,dalley
Field dx#
Field dy#
Field used
Field id
End Type
Function newSimplePixParticle0.pixpartdef0(x#,y#,dx#,dy#, id,height,dalley)
count=0
found=0
For b0.pixpartdef0= Each pixpartdef0
If(b0\used=0) Then
found=1
b.pixpartdef0=b0
Exit
EndIf
count=count+1
Next
If(found=1) Then
b0=b
Else
If(count < c_maxpixcount) Then
b.pixpartdef0 = New pixpartdef0
Else
count=0
rndfound= Rand(0,c_maxpixcount-1)
For b0.pixpartdef0= Each pixpartdef0
If(count=rndfound) Then
found=1
b.pixpartdef0=b0
Exit
Else
count=count+1
EndIf
Next
count=count+1
EndIf
EndIf
newdbgx=x
newdbgy=y
b\x=x
b\y=y
b\dx=dx
b\dy=dy
b\height=height
b\dalley=dalley
b\used=1
b\id=id
Return b
End Function
Function newSimplePixParticle.pixpartdef(x#,y#,dx#,dy#, id,height,dalley)
count=0
found=0
For b0.pixpartdef= Each pixpartdef
If(b0\used=0) Then
found=1
b.pixpartdef=b0
Exit
EndIf
count=count+1
Next
If(found=1) Then
b0=b
Else
If(count < c_maxpixcount) Then
b.pixpartdef = New pixpartdef
Else
count=0
rndfound= Rand(0,c_maxpixcount-1)
For b0.pixpartdef= Each pixpartdef
If(count=rndfound) Then
found=1
b.pixpartdef=b0
Exit
Else
count=count+1
EndIf
Next
count=count+1
EndIf
EndIf
newdbgx=x
newdbgy=y
b\x=x
b\y=y
b\dx=dx
b\dy=dy
b\height=height
b\dalley=dalley
b\used=1
b\id=id
Return b
End Function