From eee6c2fdcf5de606d846c14303d441b023332da3 Mon Sep 17 00:00:00 2001 From: megazig Date: Fri, 13 Mar 2009 23:33:14 -0500 Subject: added materials list --- brlyt.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/brlyt.c b/brlyt.c index 3420f27..194c365 100644 --- a/brlyt.c +++ b/brlyt.c @@ -39,6 +39,10 @@ char pas1_magic[] = "pas1"; static size_t BRLYT_fileoffset = 0; +char *materials; +int numberOfMaterials; +int lengthOfMaterials; + static int FourCCsMatch(fourcc cc1, fourcc cc2) { dbgprintf("FourCCs\n"); @@ -113,6 +117,38 @@ unsigned int bit_extract(unsigned int num, unsigned int start, unsigned int end) return ret; } +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; + + if (offset > 1) + { + int n; + for (n=0; n