Beispiel #1
0
float xml_get_attribute_float(int n,char *name)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(0.0f);
    return(strtof(str,NULL));
}
Beispiel #2
0
int xml_get_attribute_uv_y_array(int n,char *name,d3uv *uvs,int count)
{
    int			nvalue;
    char		*c,*c2,str[5120];

    if (!xml_get_attribute_raw(n,name,str,5120)) return(0);
    if (str[0]==0x0) return(0);

    nvalue=0;
    c=str;

    while (TRUE) {
        c2=strchr(c,',');
        if (c2!=NULL) {
            *c2=0x0;
        }
        uvs[nvalue++].y=strtof(c,NULL);
        if (c2==NULL) break;
        c=c2+1;

        if (nvalue==count) break;
    }

    return(nvalue);
}
Beispiel #3
0
bool xml_get_attribute_text(int n,char *name,char *value,int valuesz)
{
	if (!xml_get_attribute_raw(n,name,value,valuesz)) return(FALSE);
	xml_parse_attribute(value);

	return(TRUE);
}
Beispiel #4
0
bool xml_get_attribute_3_coord_float(int n,char *name,float *x,float *y,float *z)
{
    char		*c,*c2,str[256];

    *x=*y=*z=0.0f;

    if (!xml_get_attribute_raw(n,name,str,256)) return(FALSE);

    c2=strchr(str,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *x=strtof(str,NULL);

    c=c2+1;
    c2=strchr(c,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *y=strtof(c,NULL);

    *z=strtof(c2+1,NULL);

    return(TRUE);
}
Beispiel #5
0
bool xml_get_attribute_4_coord_float(int n,char *name,float *r,float *g,float *b,float *a)
{
    char		*c,*c2,str[256];

    *r=*g=*b=*a=0.0f;

    if (!xml_get_attribute_raw(n,name,str,256)) return(FALSE);

    c2=strchr(str,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *r=strtof(str,NULL);

    c=c2+1;
    c2=strchr(c,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *g=strtof(c,NULL);

    c=c2+1;
    c2=strchr(c,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *b=strtof(c,NULL);

    *a=strtof(c2+1,NULL);

    return(TRUE);
}
Beispiel #6
0
bool xml_get_attribute_boolean(int n,char *name)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(FALSE);
    return(strcmp(str,"true")==0);
}
Beispiel #7
0
bool xml_get_attribute_3_coord_int(int n,char *name,int *x,int *y,int *z)
{
    char		*c,*c2,str[256];

    *x=*y=*z=0;

    if (!xml_get_attribute_raw(n,name,str,256)) return(FALSE);

    c2=strchr(str,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *x=atoi(str);

    c=c2+1;
    c2=strchr(c,',');
    if (c2==NULL) return(FALSE);

    *c2=0x0;
    *y=atoi(c);

    *z=atoi(c2+1);

    return(TRUE);
}
Beispiel #8
0
bool xml_get_attribute_boolean_default_true(int n,char *name)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(TRUE);
    return(strcmp(str,"true")==0);
}
Beispiel #9
0
int xml_get_attribute_int_default(int n,char *name,int def_int)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(def_int);
    return(atoi(str));
}
Beispiel #10
0
float xml_get_attribute_float_default(int n,char *name,float def_float)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(def_float);
    return(strtof(str,NULL));
}
Beispiel #11
0
int xml_get_attribute_short_array(int n,char *name,short *value,int count)
{
    int			nvalue;
    char		*c,*c2,str[5120];

    if (!xml_get_attribute_raw(n,name,str,5120)) return(0);
    if (str[0]==0x0) return(0);

    nvalue=0;
    c=str;

    while (TRUE) {
        c2=strchr(c,',');
        if (c2!=NULL) {
            *c2=0x0;
        }
        value[nvalue++]=(short)atoi(c);
        if (c2==NULL) break;
        c=c2+1;

        if (nvalue==count) break;
    }

    return(nvalue);
}
Beispiel #12
0
int xml_get_attribute_int(int n,char *name)
{
    char			str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(0);
    return(atoi(str));
}
Beispiel #13
0
void xml_get_attribute_text(int n,char *name,char *value,int valuesz)
{
    if (!xml_get_attribute_raw(n,name,value,valuesz)) {
        *value=0x0;
        return;
    }

    xml_parse_attribute(value);
}
Beispiel #14
0
bool xml_get_attribute_text_default_blank(int n,char *name,char *value,int valuesz)
{
	if (!xml_get_attribute_raw(n,name,value,valuesz)) {
		value[0]=0x0;
	}
	else {
		xml_parse_attribute(value);
	}

	return(TRUE);
}
Beispiel #15
0
bool xml_get_attribute_bit_array(int n,char *name,unsigned char *value,int count)
{
	int					k;
    char				str[5120];
	
	bzero(value,count);
    
	if (!xml_get_attribute_raw(n,name,str,5120)) return(0);
	
	count=strlen(str);
	
	for (k=0;k<count;k+=2) {
		value[k>>1]=(unsigned char)((xml_hex_character_to_int(str[k])*16)+xml_hex_character_to_int(str[k+1]));
	}
	
	return(TRUE);
}
Beispiel #16
0
bool xml_get_attribute_color(int n,char *name,d3col *col)
{
	int			k;
	char		str[8];

	if (!xml_get_attribute_raw(n,name,str,8)) return(FALSE);
	
	k=(xml_hex_character_to_int(str[0])*16)+xml_hex_character_to_int(str[1]);
	col->r=((float)k)/(float)0xFF;

	k=(xml_hex_character_to_int(str[2])*16)+xml_hex_character_to_int(str[3]);
	col->g=((float)k)/(float)0xFF;

	k=(xml_hex_character_to_int(str[4])*16)+xml_hex_character_to_int(str[5]);
	col->b=((float)k)/(float)0xFF;
	
	return(TRUE);
}
Beispiel #17
0
int xml_get_attribute_list(int n,char *name,char *list)
{
    int				i;
    char			*c,str[256];

    if (!xml_get_attribute_raw(n,name,str,256)) return(0);

    i=0;
    c=list;

    while (TRUE) {
        if (*c==0x0) break;
        if (strcmp(str,c)==0) return(i);
        c+=32;
        i++;
    }

    return(0);
}
Beispiel #18
0
bool xml_get_attribute_2_coord_float_default(int n,char *name,float *x,float *y,float def_x,float def_y)
{
	char		*c2,str[256];

	if (!xml_get_attribute_raw(n,name,str,256)) {
		*x=def_x;
		*y=def_y;
		return(TRUE);
    }

	*x=*y=0;

	c2=strchr(str,',');
	if (c2==NULL) return(FALSE);
	
	*c2=0x0;
	*x=strtof(str,NULL);
	*y=strtof(c2+1,NULL);
    
	return(TRUE);
}