aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegazig <megazig@megazig-desktop.(none)>2009-09-23 00:17:24 -0500
committermegazig <megazig@megazig-desktop.(none)>2009-09-23 00:17:24 -0500
commit3491e513533064166ea3e0d4cd62a3b8787e3ce7 (patch)
tree568d8e70d5e3d413f06e7b0f1ec5a9368e8abdb8
parent8ff6229b97a9f5c84c06873a67352cae48ad7717 (diff)
changed texture coordinates to s/t pairs
-rw-r--r--brlyt.c104
-rw-r--r--general.h2
2 files changed, 92 insertions, 14 deletions
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++;
}
diff --git a/general.h b/general.h
index 5fe9f5b..6b8670b 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 4
+#define BENZIN_VERSION_BUILD 5
#define BENZIN_VERSION_OTHER "BETA"
#define INFORMATION_TEXT \