aboutsummaryrefslogtreecommitdiff
path: root/brlyt.c
diff options
context:
space:
mode:
authorMatthew Parlane <parlane@gmail.com>2009-09-23 20:37:14 +1200
committerMatthew Parlane <parlane@gmail.com>2009-09-23 20:37:14 +1200
commitb8a2c5796cdd648e6155c1b47e1b63ee4bebef93 (patch)
tree571c1de8b205ec24bc3fd179bcb5e6f22cdabf99 /brlyt.c
parent61a04c11cfa6e156135e3a5753564c8620b9eade (diff)
parent891b3ca7e2b12bdec7a7a88716c7c050e92502fe (diff)
Merge branch 'master' of github.com:SquidMan/benzin
Diffstat (limited to '')
-rw-r--r--brlyt.c105
1 files changed, 92 insertions, 13 deletions
diff --git a/brlyt.c b/brlyt.c
index 291f597..d0d537f 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]) );
+
}
}
@@ -1202,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);
@@ -3265,16 +3279,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++;
}