From 3491e513533064166ea3e0d4cd62a3b8787e3ce7 Mon Sep 17 00:00:00 2001 From: megazig Date: Wed, 23 Sep 2009 00:17:24 -0500 Subject: changed texture coordinates to s/t pairs --- brlyt.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 91 insertions(+), 13 deletions(-) (limited to 'brlyt.c') diff --git a/brlyt.c b/brlyt.c index 291f597..3d3c6fa 100644 --- a/brlyt.c +++ b/brlyt.c @@ -656,12 +656,25 @@ void PrintBRLYTEntry_pic1(brlyt_entry entry, u8* brlyt_file, mxml_node_t *tag) { float texcoords[8]; BRLYT_ReadDataFromMemory(texcoords, brlyt_file, sizeof(texcoords)); - int i; + set = mxmlNewElement(coordinates, "set"); - for(i = 0; i < 8; i++) - { - coord = mxmlNewElement(set, "coord"); mxmlNewTextf(coord, 0, "%f", float_swap_bytes(texcoords[i])); - } + + coord = mxmlNewElement(set, "coordTL"); + mxmlElementSetAttrf( coord , "s" , "%f" , float_swap_bytes(texcoords[0]) ); + mxmlElementSetAttrf( coord , "t" , "%f" , float_swap_bytes(texcoords[1]) ); + + coord = mxmlNewElement(set, "coordTR"); + mxmlElementSetAttrf( coord , "s" , "%f" , float_swap_bytes(texcoords[2]) ); + mxmlElementSetAttrf( coord , "t" , "%f" , float_swap_bytes(texcoords[3]) ); + + coord = mxmlNewElement(set, "coordBL"); + mxmlElementSetAttrf( coord , "s" , "%f" , float_swap_bytes(texcoords[4]) ); + mxmlElementSetAttrf( coord , "t" , "%f" , float_swap_bytes(texcoords[5]) ); + + coord = mxmlNewElement(set, "coordBR"); + mxmlElementSetAttrf( coord , "s" , "%f" , float_swap_bytes(texcoords[6]) ); + mxmlElementSetAttrf( coord , "t" , "%f" , float_swap_bytes(texcoords[7]) ); + } } @@ -3265,16 +3278,81 @@ void WriteBRLYTEntry( mxml_node_t * tree , mxml_node_t * node , u8** tagblob , u { picCoords = realloc(picCoords, sizeof(float) * 8 * sets); mxml_node_t *valnode; - for (valnode=mxmlFindElement(setnode, setnode, "coord", NULL, NULL, MXML_DESCEND) ; valnode != NULL ; valnode=mxmlFindElement(valnode, setnode, "coord", NULL, NULL, MXML_DESCEND) ) + valnode=mxmlFindElement(setnode, setnode, "coordTL", NULL, NULL, MXML_DESCEND); + if ( valnode != NULL ) { + float tempCoordGotten , coordGotten; + char tempCoord[256]; - char tempCoord[256]; - int j; for (j=0;j<256;j++) tempCoord[j]=0; - get_value(valnode, tempCoord, 256); - float tempCoordGotten = atof(tempCoord); - float coordGotten = float_swap_bytes(tempCoordGotten); - memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); - numberOfPicCoords++; + memset( tempCoord , 0 , 256 ); + strcpy( tempCoord , mxmlElementGetAttr( valnode , "s" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + + strcpy( tempCoord , mxmlElementGetAttr( valnode , "t" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + } + valnode=mxmlFindElement(setnode, setnode, "coordTR", NULL, NULL, MXML_DESCEND); + if ( valnode != NULL ) + { + float tempCoordGotten , coordGotten; + char tempCoord[256]; + + memset( tempCoord , 0 , 256 ); + strcpy( tempCoord , mxmlElementGetAttr( valnode , "s" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + + strcpy( tempCoord , mxmlElementGetAttr( valnode , "t" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + } + valnode=mxmlFindElement(setnode, setnode, "coordBL", NULL, NULL, MXML_DESCEND); + if ( valnode != NULL ) + { + float tempCoordGotten , coordGotten; + char tempCoord[256]; + + memset( tempCoord , 0 , 256 ); + strcpy( tempCoord , mxmlElementGetAttr( valnode , "s" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + + strcpy( tempCoord , mxmlElementGetAttr( valnode , "t" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + } + valnode=mxmlFindElement(setnode, setnode, "coordBR", NULL, NULL, MXML_DESCEND); + if ( valnode != NULL ) + { + float tempCoordGotten , coordGotten; + char tempCoord[256]; + + memset( tempCoord , 0 , 256 ); + strcpy( tempCoord , mxmlElementGetAttr( valnode , "s" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; + + strcpy( tempCoord , mxmlElementGetAttr( valnode , "t" ) ); + tempCoordGotten = atof(tempCoord); + coordGotten = float_swap_bytes(tempCoordGotten); + memcpy(&picCoords[numberOfPicCoords], &coordGotten, sizeof(float)); + numberOfPicCoords++; } sets++; } -- cgit v1.3.1 From 891b3ca7e2b12bdec7a7a88716c7c050e92502fe Mon Sep 17 00:00:00 2001 From: megazig Date: Wed, 23 Sep 2009 00:32:09 -0500 Subject: fixed line wrapping issue --- brlyt.c | 1 + general.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'brlyt.c') diff --git a/brlyt.c b/brlyt.c index 3d3c6fa..d0d537f 100644 --- a/brlyt.c +++ b/brlyt.c @@ -1215,6 +1215,7 @@ void parse_brlyt(char *filename, char *filenameout) xmlFile = fopen(filenameout, "w"); mxml_node_t *xml; mxml_node_t *xmlyt; + mxmlSetWrapMargin(0); xml = mxmlNewXML("1.0"); xmlyt = mxmlNewElement(xml, "xmlyt"); mxmlElementSetAttrf(xmlyt, "version", "%d.%d.%d%s", BENZIN_VERSION_MAJOR, BENZIN_VERSION_MINOR, BENZIN_VERSION_BUILD, BENZIN_VERSION_OTHER); diff --git a/general.h b/general.h index 6b8670b..c62e03e 100644 --- a/general.h +++ b/general.h @@ -7,7 +7,7 @@ #define BENZIN_VERSION_MAJOR 1 #define BENZIN_VERSION_MINOR 9 -#define BENZIN_VERSION_BUILD 5 +#define BENZIN_VERSION_BUILD 6 #define BENZIN_VERSION_OTHER "BETA" #define INFORMATION_TEXT \ -- cgit v1.3.1