void ResourcePackager::GeneratePackage(const String& destFilePath) { for (unsigned i = 0; i < resourceEntries_.Size(); i++) { BuildResourceEntry* entry = resourceEntries_[i]; File file(context_); if (!file.Open(entry->absolutePath_)) { buildBase_->BuildError(Atomic::ToString("Could not open resource file %s", entry->absolutePath_.CString())); return; } if (!file.GetSize()) { return; } entry->size_ = file.GetSize(); } WritePackageFile(destFilePath); }
// create data package -------------------------------------------------------- // PRIVATE int CreatePackage( const char* packname, const char *listname ) { ASSERT( packname != NULL ); ASSERT( listname != NULL ); #define MAX_DATA_FILES 4096 list_item_s *listitems = (list_item_s *) ALLOCMEM( MAX_DATA_FILES * sizeof( list_item_s ) ); if ( listitems == NULL ) { return FALSE; } int numitems = ReadFileList( listname, listitems, MAX_DATA_FILES ); if ( numitems == -1 ) { FREEMEM( listitems ); MakepackError(); } if ( !WritePackageFile( packname, listitems, numitems ) ) { FREEMEM( listitems ); MakepackError(); } FREEMEM( listitems ); return TRUE; }