+ sprintf( pak, "%scsgo/pak01_%03hu.vpk", fs->exedir, fs->current_idx );
+ fs->current_archive = fopen( pak, "rb" );
+
+ if( !fs->current_archive )
+ {
+ log_error( "Could not locate %s\n", pak );
+ return NULL;
+ }
+ }
+
+ char *filebuf = csr_malloc( entry->EntryLength );
+
+ fseek( fs->current_archive, entry->EntryOffset, SEEK_SET );
+ if( fread( filebuf, 1, entry->EntryLength, fs->current_archive ) == entry->EntryLength )
+ {
+ return filebuf;
+ }
+ else
+ {
+ free( filebuf );