#include #include "fstfile.h" char *fstfiles( FST_ENTRY *fst, u32 index ) { u32 count = fst[0].filelen; u32 stringoffset; if ( index < count ) { stringoffset = *( u32 * ) & ( fst[index] ) % ( 256 * 256 * 256 ); return ( char * )( ( u32 )fst + count*12 + stringoffset ); } else { return NULL; } } char *fstfilename( u32 index ) { FST_ENTRY *fst = ( FST_ENTRY * ) * ( u32 * )0x80000038; u32 count = fst[0].filelen; u32 stringoffset; if ( index < count ) { stringoffset = *( u32 * ) & ( fst[index] ) % ( 256 * 256 * 256 ); return ( char * )( *( u32 * )0x80000038 + count*12 + stringoffset ); } else { return NULL; } } u32 fstfileoffset( u32 index ) { FST_ENTRY *fst = ( FST_ENTRY * ) * ( u32 * )0x80000038; u32 count = fst[0].filelen; if ( index < count ) { return fst[index].fileoffset; } else { return 0; } }