Example #1
0
void SpritePackerHelper::Pack()
{
	void *pool = DAVA::QtLayer::Instance()->CreateAutoreleasePool();
	FilePath projectPath = EditorSettings::Instance()->GetProjectPath();
	FilePath inputDir = projectPath + "DataSource/Gfx/Particles/";
	FilePath outputDir = projectPath + "Data/Gfx/Particles/";

	if(!FileSystem::Instance()->IsDirectory(inputDir))
	{
		Logger::Error("[SpritePackerHelper::Pack] inputDir is not directory (%s)", inputDir.GetAbsolutePathname().c_str());
		return;
	}

	ResourcePacker2D * resourcePacker = new ResourcePacker2D();
	
	bool isChanged = resourcePacker->IsMD5ChangedDir(projectPath+"DataSource/Gfx/",inputDir,"particles.md5",true);
	
	SafeDelete(resourcePacker);
	if(!isChanged)
	{
		return;
	}
	
	SpritesPacker packer;
	packer.SetInputDir(inputDir);
	packer.SetOutputDir(outputDir);
	packer.PackTextures();
	DAVA::QtLayer::Instance()->ReleaseAutoreleasePool(pool);
}
Example #2
0
void SpritePackerHelper::Pack()
{
	void *pool = DAVA::QtLayer::Instance()->CreateAutoreleasePool();
	String projectPath = EditorSettings::Instance()->GetProjectPath();
	String inputDir = projectPath+"DataSource/Gfx/Particles";
	String outputDir = projectPath+"Data/Gfx/Particles";

	if(!FileSystem::Instance()->IsDirectory(inputDir))
	{
		Logger::Error("[SpritePackerHelper::Pack] inputDir is not directory (%s)", inputDir.c_str());
		return;
	}

	ResourcePackerScreen * resourcePackerScreen = new ResourcePackerScreen();
	
	bool isChanged = resourcePackerScreen->IsMD5ChangedDir(projectPath+"DataSource/Gfx",inputDir,"particles.md5",true);
	
	SafeRelease(resourcePackerScreen);
	if(!isChanged)
	{
		return;
	}
	
	SpritesPacker packer;
	packer.SetInputDir(inputDir);
	packer.SetOutputDir(outputDir);
	packer.Pack();
	DAVA::QtLayer::Instance()->ReleaseAutoreleasePool(pool);
}