5 |
|
* Geometry drawing operations for OpenGL driver. |
6 |
|
*/ |
7 |
|
|
8 |
+ |
#include <string.h> |
9 |
+ |
|
10 |
|
#include "radogl.h" |
11 |
|
#include "rhdriver.h" |
12 |
|
|
25 |
|
static struct gmEntry { |
26 |
|
char *gfile; /* geometry file name */ |
27 |
|
FVECT cent; /* centroid */ |
28 |
< |
FLOAT rad; /* radius */ |
28 |
> |
RREAL rad; /* radius */ |
29 |
|
int listid; /* display list identifier */ |
30 |
|
int nlists; /* number of lists allocated */ |
31 |
|
} gmCurrent[MAXGEO], gmNext[MAXGEO]; /* current and next list */ |
52 |
|
/* check if copy in current list */ |
53 |
|
FORALLGEOM(gmCurrent, j) |
54 |
|
if (!strcmp(file, gmCurrent[j].gfile)) { |
55 |
< |
copystruct(&gmNext[i], &gmCurrent[j]); |
55 |
> |
gmNext[i] = gmCurrent[j]; |
56 |
|
return; |
57 |
|
} |
58 |
|
/* else load new octree */ |
83 |
|
freestr(gmCurrent[i].gfile); |
84 |
|
} |
85 |
|
} |
86 |
< |
bcopy((char *)gmNext, (char *)gmCurrent, sizeof(gmNext)); |
87 |
< |
bzero((char *)gmNext, sizeof(gmNext)); |
86 |
> |
memcpy((void *)gmCurrent, (void *)gmNext, sizeof(gmNext)); |
87 |
> |
memset((void *)gmNext, '\0', sizeof(gmNext)); |
88 |
|
} |
89 |
|
|
90 |
|
|
198 |
|
} |
199 |
|
FORALLPORT(curportlist, n) /* free old file list */ |
200 |
|
freestr(curportlist[n]); |
201 |
< |
bcopy((char *)newportlist, (char *)curportlist, sizeof(newportlist)); |
202 |
< |
bzero((char *)newportlist, sizeof(newportlist)); |
201 |
> |
memcpy((void *)curportlist, (void *)newportlist, sizeof(newportlist)); |
202 |
> |
memset((void *)newportlist, '\0', sizeof(newportlist)); |
203 |
|
return(gmPortals); /* return GL list id */ |
204 |
|
} |