// when using the direct evaluation in the return statement
wxInt32 first = read_char(f) ;
wxInt32 second = read_char(f) ;
-
+
return (first<<8) | second ;
}
do {
c = read_char(f);
if (cnt < LW_MAX_NAME_LEN)
- s[cnt] = c;
+ s[cnt] = (char)c;
else
s[LW_MAX_NAME_LEN-1] = 0;
cnt++;
static void read_pols(FILE *f, int nbytes, lwObject *lwo)
{
int guess_cnt = lwo->face_cnt;
-
+
while (nbytes > 0) {
lwFace *face;
int i;
/* allocate space for points */
face->index = (int*) calloc(sizeof(int)*face->index_cnt,1);
-
+
/* read points in */
for (i=0; i<face->index_cnt; i++) {
face->index[i] = read_short(f);
nbytes -= 2;
}
-
+
/* read surface material */
face->material = read_short(f);
nbytes -= 2;
-
+
/* skip over detail polygons */
if (face->material < 0) {
int det_cnt;
-int lw_is_lwobject(const char *lw_file)
+bool lw_is_lwobject(const char *lw_file)
{
FILE *f = fopen(lw_file, "rb");
if (f) {
wxInt32 lwob = read_long(f);
fclose(f);
if (form == ID_FORM && nlen != 0 && lwob == ID_LWOB)
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
lwObject *lw_object_read(const char *lw_file)
{
- FILE *f = NULL;
- lwObject *lw_object = NULL;
-
- wxInt32 form_bytes = 0;
- wxInt32 read_bytes = 0;
/* open file */
- f = fopen(lw_file, "rb");
+ FILE *f = fopen(lw_file, "rb");
if (f == NULL) {
return NULL;
}
fclose(f);
return NULL;
}
- form_bytes = read_long(f);
+
+ wxInt32 read_bytes = 0;
+
+ wxInt32 form_bytes = read_long(f);
read_bytes += 4;
if (read_long(f) != ID_LWOB) {
}
/* create new lwObject */
- lw_object = (lwObject*) calloc(sizeof(lwObject),1);
+ lwObject *lw_object = (lwObject*) calloc(sizeof(lwObject),1);
/* read chunks */
while (read_bytes < form_bytes) {