From b9255e5598d6e9b7596fb2a6ec047809eb5adf1a Mon Sep 17 00:00:00 2001 From: Alex Marshall Date: Sun, 15 Mar 2009 16:57:35 -0700 Subject: Added (most) of BRLYT -> XMLYT (mat1 isn't done.) and updated credits --- brlan.c | 4 +- brlyt.c | 374 ++++++++++++++++++++++++++++++++++++++++++++++++++------------ brlyt.h | 3 - general.h | 12 +- main.c | 4 +- 5 files changed, 316 insertions(+), 81 deletions(-) diff --git a/brlan.c b/brlan.c index 1878f7f..6a472a7 100644 --- a/brlan.c +++ b/brlan.c @@ -360,7 +360,7 @@ void parse_brlan(char* filename) #ifdef OLD_BRLAN_OUTSTYLE printf("\n Entry %u:\n", i); printf(" Name: %s\n", tag_entries[i].name); - printf(" Type: %s\n", be32(tag_entries[i].flags) == 0x01000000 ? "Normal" : "Strange"); + printf(" Type: %s\n", be32(tag_entries[i].flags) == 0x01000000 ? "Normal" : "Alpha"); // Not important to user, why bother. // printf(" Animation Header Length: %lu\n", be32(tag_entries[i].anim_header_len)); printf(" FourCC: %c%c%c%c\n", CCs[i][0], CCs[i][1], CCs[i][2], CCs[i][3]); @@ -582,7 +582,7 @@ void create_tag_from_xml(mxml_node_t *tree, mxml_node_t *node, u8** tagblob, u32 temp[x] = toupper(temp[x]); if(strcmp(temp, "NORMAL") == 0) entr.flags = 0x01000000; - else if(strcmp(temp, "STRANGE") == 0) + else if(strcmp(temp, "ALPHA") == 0) entr.flags = 0x02000000; create_entries_from_xml(tree, node, &entr, &head, tagblob, blobsize); } diff --git a/brlyt.c b/brlyt.c index a894fde..9669875 100644 --- a/brlyt.c +++ b/brlyt.c @@ -119,23 +119,7 @@ unsigned int bit_extract(unsigned int num, unsigned int start, unsigned int end) char* getMaterial(int offset) { -/* - dbgprintf("length of materials: %08x\n", lengthOfMaterials); - int stringOffs=0; - char *returnPointer; - char *ending; - int n; - for (n = 0; n < offset+1; n++) - { - char tpl = 0; - ending = memchr(materials+stringOffs, tpl, lengthOfMaterials-stringOffs); - int length = ending - (materials+stringOffs); - returnPointer = materials + stringOffs; - dbgprintf("%p\t%08x\t%p\n", ending, length, materials+stringOffs); - stringOffs = stringOffs + length + 1; - } - return returnPointer; -*/ + if (offset == 0) return materials; char *foo = materials + strlen(materials) + 1; @@ -153,30 +137,6 @@ char* getMaterial(int offset) int BRLYT_ReadEntries(u8* brlyt_file, size_t file_size, brlyt_header header, brlyt_entry* entries) { -/* BRLYT_fileoffset = be16(header.lyt_offset); - brlyt_entry_header tempentry; - int i; - dbgprintf("curr %08x max %08x\n", BRLYT_fileoffset, file_size); - for(i = 0; BRLYT_fileoffset < file_size; i++) { - BRLYT_ReadDataFromMemoryX(&tempentry, brlyt_file, sizeof(brlyt_entry_header)); - BRLYT_fileoffset += be32(tempentry.length); - dbgprintf("curr %08x max %08x\n", BRLYT_fileoffset, file_size); - } - int entrycount = i; - entries = (brlyt_entry*)calloc(i, sizeof(brlyt_entry)); - dbgprintf("%08x\n", entries); - if(entries == NULL) { - printf("Couldn't allocate for entries!\n"); - exit(1); - } - BRLYT_fileoffset = be16(header.lyt_offset); - for(i = 0; i < entrycount; i++) { - dbgprintf("&(entries[i].realhead) = %08x\n", &(entries[i].realhead)); - BRLYT_ReadDataFromMemoryX(&(entries[i].realhead), brlyt_file, sizeof(brlyt_entry_header)); - entries[i].data_location = BRLYT_fileoffset + sizeof(brlyt_entry_header); - BRLYT_fileoffset += be32(tempentry.length); - } - return entrycount;*/ } void BRLYT_CheckHeaderSanity(brlyt_header header, size_t filesize) @@ -196,10 +156,20 @@ void PrintBRLYTEntry_lyt1(brlyt_entry entry, u8* brlyt_file) brlyt_lytheader_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_lytheader_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" a: %08x\n", be32(data.a)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); +#else + printf("type=\"%c%c%c%c\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); + printf(" %08x\n", be32(data.a)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_grp1(brlyt_entry entry, u8* brlyt_file) @@ -207,10 +177,15 @@ void PrintBRLYTEntry_grp1(brlyt_entry entry, u8* brlyt_file) brlyt_group_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_group_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" Name: %s\n", data.name); printf(" Number of subs: %08x\n", be16(data.numsubs)); printf(" unk: %08x\n", be16(data.unk)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE int offset; offset = 20; @@ -219,9 +194,17 @@ void PrintBRLYTEntry_grp1(brlyt_entry entry, u8* brlyt_file) { char sub[16]; BRLYT_ReadDataFromMemory(sub, brlyt_file, sizeof(sub)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" sub: %s\n", sub); +#else + printf(" %s\n", sub); +#endif //OLD_BRLYT_OUTSTYLE offset += 16; } +#ifndef OLD_BRLYT_OUTSTYLE + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_txl1(brlyt_entry entry, u8* brlyt_file) @@ -229,9 +212,14 @@ void PrintBRLYTEntry_txl1(brlyt_entry entry, u8* brlyt_file) brlyt_numoffs_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" num: %08x\n", be16(data.num)); printf(" offs: %08x\n", be16(data.offs)); +#else + printf("type=\"%c%c%c%c\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE int pos = 4; pos += data.offs; int bpos = pos; @@ -240,9 +228,11 @@ void PrintBRLYTEntry_txl1(brlyt_entry entry, u8* brlyt_file) { brlyt_offsunk_chunk data2; BRLYT_ReadDataFromMemory(&data2, brlyt_file, sizeof(brlyt_offsunk_chunk)); - //int data2.offset //int data2.unk +#ifdef OLD_BRLYT_OUTSTYLE printf(" offset: %08x\n", be32(data2.offset)); printf(" unk: %08x\n", be32(data2.unk)); +#else +#endif //OLD_BRLYT_OUTSTYLE int tempLocation = BRLYT_fileoffset; BRLYT_fileoffset = entry.data_location + bpos + be32(data2.offset); int toRead = (be32(entry.length) + entry.data_location - 8) - BRLYT_fileoffset; @@ -254,7 +244,11 @@ void PrintBRLYTEntry_txl1(brlyt_entry entry, u8* brlyt_file) int end = ending - nameRead; char name[end+1]; memcpy(name, nameRead, sizeof(name)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" name: %s\n", name); +#else + printf(" %s\n", name); +#endif //OLD_BRLYT_OUTSTYLE BRLYT_fileoffset = tempLocation; int oldsize = sizeof(name); dbgprintf("size of materials before: %08x\n", sizeof(materials)); @@ -265,6 +259,10 @@ void PrintBRLYTEntry_txl1(brlyt_entry entry, u8* brlyt_file) dbgprintf("mats: %s\tnamsize: %08x\tmatsize: %08x\tnewsize: %08x\n", materials+lengthOfMaterials, sizeof(name), lengthOfMaterials, newSize); lengthOfMaterials = newSize; } +#ifndef OLD_BRLYT_OUTSTYLE + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_fnl1(brlyt_entry entry, u8* brlyt_file) @@ -272,9 +270,14 @@ void PrintBRLYTEntry_fnl1(brlyt_entry entry, u8* brlyt_file) brlyt_numoffs_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" num: %08x\n", be16(data.num)); printf(" offs: %08x\n", be16(data.offs)); +#else + printf("type=\"%c%c%c%c\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE int pos = 4; pos += data.offs; int bpos = pos; @@ -284,8 +287,11 @@ void PrintBRLYTEntry_fnl1(brlyt_entry entry, u8* brlyt_file) brlyt_offsunk_chunk data2; BRLYT_ReadDataFromMemory(&data2, brlyt_file, sizeof(brlyt_offsunk_chunk)); //int data2.offset //int data2.unk +#ifdef OLD_BRLYT_OUTSTYLE printf(" offset: %08x\n", be32(data2.offset)); printf(" unk: %08x\n", be32(data2.unk)); +#else +#endif //OLD_BRLYT_OUTSTYLE int tempLocation = BRLYT_fileoffset; BRLYT_fileoffset = entry.data_location + bpos + be32(data2.offset); int toRead = (be32(entry.length) + entry.data_location - 8) - BRLYT_fileoffset; @@ -297,9 +303,17 @@ void PrintBRLYTEntry_fnl1(brlyt_entry entry, u8* brlyt_file) int end = ending - nameRead; char name[end+1]; memcpy(name, nameRead, sizeof(name)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" name: %s\n", name); +#else + printf(" %s\n", name); +#endif //OLD_BRLYT_OUTSTYLE BRLYT_fileoffset = tempLocation; } +#ifndef OLD_BRLYT_OUTSTYLE + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_pan1(brlyt_entry entry, u8* brlyt_file) @@ -307,6 +321,7 @@ void PrintBRLYTEntry_pan1(brlyt_entry entry, u8* brlyt_file) brlyt_pane_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_pane_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" flag1: %08x\n", data.flag1); printf(" flag2: %08x\n", data.flag2); @@ -323,6 +338,30 @@ void PrintBRLYTEntry_pan1(brlyt_entry entry, u8* brlyt_file) printf(" ymag: %f\n", float_swap_bytes(data.ymag)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" %08x-%08x\n", data.flag1, data.flag2); + printf(" %08x-%08x\n", data.alpha, data.alpha2); + printf(" \n"); + printf(" %f\n", be32(data.x)); + printf(" %f\n", be32(data.y)); + printf(" %f\n", be32(data.z)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.flip_x)); + printf(" %f\n", float_swap_bytes(data.flip_y)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.angle)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.xmag)); + printf(" %f\n", float_swap_bytes(data.ymag)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_wnd1(brlyt_entry entry, u8* brlyt_file) @@ -330,6 +369,7 @@ void PrintBRLYTEntry_wnd1(brlyt_entry entry, u8* brlyt_file) brlyt_pane_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_pane_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" flag1: %08x\n", data.flag1); printf(" flag2: %08x\n", data.flag2); @@ -346,6 +386,30 @@ void PrintBRLYTEntry_wnd1(brlyt_entry entry, u8* brlyt_file) printf(" ymag: %f\n", float_swap_bytes(data.ymag)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" %08x-%08x\n", data.flag1, data.flag2); + printf(" %08x-%08x\n", data.alpha, data.alpha2); + printf(" \n"); + printf(" %f\n", be32(data.x)); + printf(" %f\n", be32(data.y)); + printf(" %f\n", be32(data.z)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.flip_x)); + printf(" %f\n", float_swap_bytes(data.flip_y)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.angle)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.xmag)); + printf(" %f\n", float_swap_bytes(data.ymag)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_bnd1(brlyt_entry entry, u8* brlyt_file) @@ -357,6 +421,7 @@ void PrintBRLYTEntry_bnd1(brlyt_entry entry, u8* brlyt_file) brlyt_pane_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_pane_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" flag1: %08x\n", data.flag1); printf(" flag2: %08x\n", data.flag2); @@ -373,6 +438,30 @@ void PrintBRLYTEntry_bnd1(brlyt_entry entry, u8* brlyt_file) printf(" ymag: %f\n", float_swap_bytes(data.ymag)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" %08x-%08x\n", data.flag1, data.flag2); + printf(" %08x-%08x\n", data.alpha, data.alpha2); + printf(" \n"); + printf(" %f\n", be32(data.x)); + printf(" %f\n", be32(data.y)); + printf(" %f\n", be32(data.z)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.flip_x)); + printf(" %f\n", float_swap_bytes(data.flip_y)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.angle)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.xmag)); + printf(" %f\n", float_swap_bytes(data.ymag)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_pic1(brlyt_entry entry, u8* brlyt_file) @@ -380,6 +469,9 @@ void PrintBRLYTEntry_pic1(brlyt_entry entry, u8* brlyt_file) brlyt_pane_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_pane_chunk)); + brlyt_pic_chunk data2; + BRLYT_ReadDataFromMemory(&data2, brlyt_file, sizeof(brlyt_pic_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" flag1: %08x\n", data.flag1); printf(" flag2: %08x\n", data.flag2); @@ -396,19 +488,62 @@ void PrintBRLYTEntry_pic1(brlyt_entry entry, u8* brlyt_file) printf(" ymag: %f\n", float_swap_bytes(data.ymag)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); - brlyt_pic_chunk data2; - BRLYT_ReadDataFromMemory(&data2, brlyt_file, sizeof(brlyt_pic_chunk)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" %08x-%08x\n", data.flag1, data.flag2); + printf(" %08x-%08x\n", data.alpha, data.alpha2); + printf(" \n"); + printf(" %f\n", be32(data.x)); + printf(" %f\n", be32(data.y)); + printf(" %f\n", be32(data.z)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.flip_x)); + printf(" %f\n", float_swap_bytes(data.flip_y)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.angle)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.xmag)); + printf(" %f\n", float_swap_bytes(data.ymag)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE +#ifdef OLD_BRLYT_OUTSTYLE printf(" vtx_colors: %u,%u,%u,%u\n", be32(data2.vtx_colors[0]), be32(data2.vtx_colors[1]), be32(data2.vtx_colors[2]), be32(data2.vtx_colors[3])); printf(" mat_off: %08x\n", be16(data2.mat_off)); printf(" num_texcoords: %08x\n", data2.num_texcoords); printf(" padding: %08x\n", data2.padding); +#else + printf(" \n"); + printf(" 0x%08X\n", be32(data2.vtx_colors[0])); + printf(" 0x%08X\n", be32(data2.vtx_colors[1])); + printf(" 0x%08X\n", be32(data2.vtx_colors[2])); + printf(" 0x%08X\n", be32(data2.vtx_colors[3])); + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE int n = 0; for (n;n\n"); + for(i = 0; i < 8; i++) + printf(" %f\n", float_swap_bytes(texcoords[i])); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } +#ifndef OLD_BRLYT_OUTSTYLE + printf(" \n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_txt1(brlyt_entry entry, u8* brlyt_file) @@ -416,6 +551,7 @@ void PrintBRLYTEntry_txt1(brlyt_entry entry, u8* brlyt_file) brlyt_pane_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_pane_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" flag1: %08x\n", data.flag1); printf(" flag2: %08x\n", data.flag2); @@ -432,8 +568,32 @@ void PrintBRLYTEntry_txt1(brlyt_entry entry, u8* brlyt_file) printf(" ymag: %f\n", float_swap_bytes(data.ymag)); printf(" width: %f\n", float_swap_bytes(data.width)); printf(" height: %f\n", float_swap_bytes(data.height)); +#else + printf("type=\"%c%c%c%c\" name=\"%s\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], data.name); + printf(" %08x-%08x\n", data.flag1, data.flag2); + printf(" %08x-%08x\n", data.alpha, data.alpha2); + printf(" \n"); + printf(" %f\n", be32(data.x)); + printf(" %f\n", be32(data.y)); + printf(" %f\n", be32(data.z)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.flip_x)); + printf(" %f\n", float_swap_bytes(data.flip_y)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.angle)); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.xmag)); + printf(" %f\n", float_swap_bytes(data.ymag)); + printf(" \n"); + printf(" \n"); + printf(" %f\n", float_swap_bytes(data.width)); + printf(" %f\n", float_swap_bytes(data.height)); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE brlyt_text_chunk data2; BRLYT_ReadDataFromMemory(&data2, brlyt_file, sizeof(brlyt_text_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" len1: %08x\n", be16(data2.len1)); printf(" len2: %08x\n", be16(data2.len2)); printf(" mat_off: %08x\n", be16(data2.mat_off)); @@ -443,11 +603,22 @@ void PrintBRLYTEntry_txt1(brlyt_entry entry, u8* brlyt_file) printf(" name_offs: %08x\n", be32(data2.name_offs)); printf(" color1: %08x\n", be32(data2.color1)); printf(" color2: %08x\n", be32(data2.color2)); - printf(" len1: %08x\n", be16(data2.len1)); printf(" font_size_x: %f\n", float_swap_bytes(data2.font_size_x)); printf(" font_size_y: %f\n", float_swap_bytes(data2.font_size_y)); printf(" char_space: %f\n", float_swap_bytes(data2.char_space)); printf(" line_space: %f\n", float_swap_bytes(data2.line_space)); +#else + printf(" %04x-%04x\n", be16(data2.len1), be16(data2.len2)); + printf(" \n", be16(data2.font_idx)); + printf(" %f\n", float_swap_bytes(data2.font_size_x)); + printf(" %f\n", float_swap_bytes(data2.font_size_y)); + printf(" %f\n", float_swap_bytes(data2.font_size_x)); + printf(" %f\n", float_swap_bytes(data2.char_space)); + printf(" %f\n", float_swap_bytes(data2.line_space)); + printf(" \n"); + printf(" %08x-%08x\n", be32(data2.color1), be32(data2.color2)); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_mat1(brlyt_entry entry, u8* brlyt_file) @@ -455,40 +626,51 @@ void PrintBRLYTEntry_mat1(brlyt_entry entry, u8* brlyt_file) brlyt_numoffs_chunk data; BRLYT_fileoffset = entry.data_location; BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); printf(" num: %08x\n", be16(data.num)); printf(" offs: %08x\n", be16(data.offs)); +#else + printf("type=\"%c%c%c%c\" count=\"%d\">\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3], be16(data.num)); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE int n = 0; for (n;n\n"); + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE } void PrintBRLYTEntry_gre1(brlyt_entry entry, u8* brlyt_file) { - //brlyt_numoffs_chunk data; - //BRLYT_fileoffset = entry.data_location; - //BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); - //printf(" num: %08x\n", be16(data.num)); +#else + printf("type=\"%c%c%c%c\" />\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); +#endif //OLD_BRLYT_OUTSTYLE //group end info } void PrintBRLYTEntry_grs1(brlyt_entry entry, u8* brlyt_file) { - //brlyt_numoffs_chunk data; - //BRLYT_fileoffset = entry.data_location; - //BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); - //printf(" num: %08x\n", be16(data.num)); +#else + printf("type=\"%c%c%c%c\" />\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); +#endif //OLD_BRLYT_OUTSTYLE //group start info } void PrintBRLYTEntry_pae1(brlyt_entry entry, u8* brlyt_file) { - //brlyt_numoffs_chunk data; - //BRLYT_fileoffset = entry.data_location; - //BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); - //printf(" num: %08x\n", be16(data.num)); +#else + printf("type=\"%c%c%c%c\" />\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); +#endif //OLD_BRLYT_OUTSTYLE //panel end info } void PrintBRLYTEntry_pas1(brlyt_entry entry, u8* brlyt_file) { - //brlyt_numoffs_chunk data; - //BRLYT_fileoffset = entry.data_location; - //BRLYT_ReadDataFromMemory(&data, brlyt_file, sizeof(brlyt_numoffs_chunk)); +#ifdef OLD_BRLYT_OUTSTYLE printf(" Type: %c%c%c%c\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); - //printf(" num: %08x\n", be16(data.num)); +#else + printf("type=\"%c%c%c%c\" />\n", entry.magic[0], entry.magic[1], entry.magic[2], entry.magic[3]); +#endif //OLD_BRLYT_OUTSTYLE //panel start info } @@ -661,7 +877,11 @@ void PrintBRLYTEntries(brlyt_entry *entries, int entrycnt, u8* brlyt_file) int i; for(i = 0; i < entrycnt; i++) { +#ifdef OLD_BRLYT_OUTSTYLE printf("\n Index %d (@%08x):\n", i, entries[i].data_location - 8); +#else + printf(" \n"); +#endif //OLD_BRLYT_OUTSTYLE + } } } void parse_brlyt(char *filename) { - materials = (u8*)malloc(12); + materials = (char*)malloc(12); numberOfMaterials = 0; lengthOfMaterials = 0; FILE* fp = fopen(filename, "rb"); @@ -759,6 +984,7 @@ void parse_brlyt(char *filename) } // int entrycnt = BRLYT_ReadEntries(brlyt_file, file_size, header, entries); dbgprintf("%08x\n", entries); +#ifdef OLD_BRLYT_OUTSTYLE printf("Parsed BRLYT! Information:\n"); printf("Main header:\n"); printf(" Magic: %c%c%c%c\n", header.magic[0], header.magic[1], header.magic[2], header.magic[3]); @@ -768,7 +994,15 @@ void parse_brlyt(char *filename) printf(" Offset to lyt1: %04x\n", be16(header.lyt_offset)); printf(" Unk2: %04x\n", be16(header.unk2)); printf("\nBRLYT Entries:"); +#else + printf("\n" \ + "\n"); +#endif //OLD_BRLYT_OUTSTYLE PrintBRLYTEntries(entries, entrycount, brlyt_file); +#ifndef OLD_BRLYT_OUTSTYLE + printf("\n"); +#endif //OLD_BRLYT_OUTSTYLE + } void make_brlyt(char* infile, char* outfile) diff --git a/brlyt.h b/brlyt.h index a1950f2..e170d3d 100644 --- a/brlyt.h +++ b/brlyt.h @@ -146,9 +146,6 @@ typedef struct u8 unk[16]; } brlyt_10b_chunk; -void swapBytes(unsigned char* char1, unsigned char* char2); -int bitExtraction(unsigned int num, unsigned int start, unsigned int end); - void parse_brlyt(char *filename); void make_brlyt(char* infile, char* outfile); diff --git a/general.h b/general.h index 8ffb297..41df920 100644 --- a/general.h +++ b/general.h @@ -9,13 +9,19 @@ #define BENZIN_VERSION_MAJOR 0 #define BENZIN_VERSION_MINOR 1 -#define BENZIN_VERSION_BUILD 327 +#define BENZIN_VERSION_BUILD 338 #define BENZIN_VERSION_OTHER "WIP" -#define USE_BRLAN -//#define USE_BRLYT +#define INFORMATION_TEXT \ +"Benzin %d.%d.%d%s.\n" \ +"Written by SquidMan (Alex Marshall), comex, and megazig.\n" \ +"(c) 2009 HACKERCHANNEL\n", BENZIN_VERSION_MAJOR, BENZIN_VERSION_MINOR, BENZIN_VERSION_BUILD, BENZIN_VERSION_OTHER + +//#define USE_BRLAN +#define USE_BRLYT //#define OLD_BRLAN_OUTSTYLE +//#define OLD_BRLYT_OUTSTYLE //#define DEBUGBRLAN //#define DEBUGMAIN diff --git a/main.c b/main.c index bebf838..7e79682 100644 --- a/main.c +++ b/main.c @@ -50,9 +50,7 @@ int main(int argc, char* argv[]) strcat(helpstrmake, " "); #endif //USE_BRLYT - printf("Benzin %d.%d.%d%s.\n" \ - "Written by SquidMan (Alex Marshall), Archangel (Takeda Toshinaka), and comex.\n" \ - "(c) 2009 HACKERCHANNEL\n", BENZIN_VERSION_MAJOR, BENZIN_VERSION_MINOR, BENZIN_VERSION_BUILD, BENZIN_VERSION_OTHER); + printf(INFORMATION_TEXT); if(argc < reqargs) { printf("Invalid arguments. Use like:\n\t%s\n\t\tor:\n\t%s\n", helpstrread, helpstrmake); exit(1); -- cgit v1.3.1