02-07-2014, 08:37 AM
(This post was last modified: 02-07-2014, 08:40 AM by delguoqing.)
My native language is not English, so, sorry if I didn't make the problem clear enough.
I don't know if anyone still has interest.
I'm trying to rip character models from tales of vesperia(XBOX360 ver).
It takes me a while, but I finally get those raw models with correct uv coordinates and normal.
however, I'm now stuck at those textures. I googled a lot and found in XeNTax, someone did a good work about textures, but not character texture, only ui, item icons.
Below is some result by them:
typedef struct TXM_VESPER_DATA_ENTRY {
uint32 width;
uint32 height;
uint32 unknown2;
uint32 imageformat; // ?? Not sure of that one. 0x18280186 = 32bit A8R8G8B8, 0x1A200154 = ??; 0x1828014F = 16bit A4R4G4B4
uint32 nameoffset; // from here
uint8 paddingentry[0x44];
} TXM_VESPER_DATA_ENTRY;
typedef struct TXM_VESPER_HEADER {
uint32 signature; //0x20000
uint32 filesize;
uint32 unknown1; // 0x4 ?
uint32 filecount;
uint8 padding1[0x44];
} TXM_VESPER_HEADER;
typedef struct TXM_VESPER_DATA_STRUCT {
//Header (size 0x54)
TXM_VESPER_HEADER header;
//Entries
TXM_VESPER_DATA_ENTRY entries[header.filecount];
//File List
zstring filenames; //NULL terminated filename list
} TXM_VESPER_DATA_STRUCT;
I found that character textures are in the same fps4 block as the model file. (In chara.svo) Thoes texture entries miss extension, but they follows exactly the same structure as txm stuff above, so I know they are texture entries.
In that thread, they say @0xC of the data entry is imageformat, but I found that different blocks with the same 'imageformat' may have different pixel size(bpp? I guess). In my situation, bpp only relates to the 'unknow2' field.
I know little about those textures so now I'm stucked. If someone who has knowlege of xbox 360 textures can shed some light, I will be very appreciated.
I tried to post in XeNTaX, however it's difficult for me to donate in order to register, I can't use PayPal, nor do I got master or whatever card.
So, I'm asking the community for help here. If the textures can be ripped, then the model is done, and I will do a submission then.
I don't know if anyone still has interest.
I'm trying to rip character models from tales of vesperia(XBOX360 ver).
It takes me a while, but I finally get those raw models with correct uv coordinates and normal.
however, I'm now stuck at those textures. I googled a lot and found in XeNTax, someone did a good work about textures, but not character texture, only ui, item icons.
Below is some result by them:
typedef struct TXM_VESPER_DATA_ENTRY {
uint32 width;
uint32 height;
uint32 unknown2;
uint32 imageformat; // ?? Not sure of that one. 0x18280186 = 32bit A8R8G8B8, 0x1A200154 = ??; 0x1828014F = 16bit A4R4G4B4
uint32 nameoffset; // from here
uint8 paddingentry[0x44];
} TXM_VESPER_DATA_ENTRY;
typedef struct TXM_VESPER_HEADER {
uint32 signature; //0x20000
uint32 filesize;
uint32 unknown1; // 0x4 ?
uint32 filecount;
uint8 padding1[0x44];
} TXM_VESPER_HEADER;
typedef struct TXM_VESPER_DATA_STRUCT {
//Header (size 0x54)
TXM_VESPER_HEADER header;
//Entries
TXM_VESPER_DATA_ENTRY entries[header.filecount];
//File List
zstring filenames; //NULL terminated filename list
} TXM_VESPER_DATA_STRUCT;
I found that character textures are in the same fps4 block as the model file. (In chara.svo) Thoes texture entries miss extension, but they follows exactly the same structure as txm stuff above, so I know they are texture entries.
In that thread, they say @0xC of the data entry is imageformat, but I found that different blocks with the same 'imageformat' may have different pixel size(bpp? I guess). In my situation, bpp only relates to the 'unknow2' field.
I know little about those textures so now I'm stucked. If someone who has knowlege of xbox 360 textures can shed some light, I will be very appreciated.
I tried to post in XeNTaX, however it's difficult for me to donate in order to register, I can't use PayPal, nor do I got master or whatever card.
So, I'm asking the community for help here. If the textures can be ripped, then the model is done, and I will do a submission then.