194 |
|
else |
195 |
|
nsflags &= ~SSPOT; |
196 |
|
if (source[sn].sflags & SSPOT) { |
197 |
< |
copystruct(&theirspot, source[sn].sl.s); |
197 |
> |
theirspot = *(source[sn].sl.s); |
198 |
|
multv3(theirspot.aim, source[sn].sl.s->aim, pm); |
199 |
|
normalize(theirspot.aim); |
200 |
|
if (nsflags & SSPOT) { |
204 |
|
return(-1); /* no overlap */ |
205 |
|
} else { |
206 |
|
nsflags |= SSPOT; |
207 |
< |
copystruct(&ourspot, &theirspot); |
207 |
> |
ourspot = theirspot; |
208 |
|
d = 2.*ourspot.siz; |
209 |
|
} |
210 |
|
if (ourspot.siz < d-FTINY) { /* it shrunk */ |
244 |
|
if (nsflags & SSPOT) { |
245 |
|
if ((source[i].sl.s = (SPOT *)malloc(sizeof(SPOT))) == NULL) |
246 |
|
goto memerr; |
247 |
< |
copystruct(source[i].sl.s, &ourspot); |
247 |
> |
*(source[i].sl.s) = ourspot; |
248 |
|
} |
249 |
|
if (nsflags & SPROX) |
250 |
|
source[i].sl.prox = source[sn].sl.prox; |