예제 #1
0
파일: atlas.cpp 프로젝트: galek/MIngEd
    void Atlas::Save()
    {
	MEngine* engine = MEngine::getInstance();

	std::string imgName = (std::string("atlases/") + m_Name + ".png");
	engine->getImageSaver()->loadData(imgName.c_str(), &m_Atlas);
	if(m_ConfigFile)
	{
	    m_ConfigFile->Write("atlas.filename", imgName);
	    m_ConfigFile->Write("atlas.images", m_Images.size());
	    int i = 0;
	    for(imageMapIter iImage = m_Images.begin(); iImage != m_Images.end(); iImage++)
	    {
		std::string root = "atlas.image";
		char num[32];
		snprintf(num, 32, "%d.", i);
		root += num;
		++i;

		m_ConfigFile->Write((root + "name").c_str(), iImage->first);
		m_ConfigFile->Write((root + "pos").c_str(), iImage->second.uv);
		m_ConfigFile->Write((root + "w").c_str(), iImage->second.width);
		m_ConfigFile->Write((root + "h").c_str(), iImage->second.height);
	    }
	    m_ConfigFile->Save();
	}
    }
예제 #2
0
파일: atlas.cpp 프로젝트: galek/MIngEd
    int ScriptAtlasImageWrite()
    {
	MEngine* engine = MEngine::getInstance();
	MScriptContext* script = engine->getScriptContext();

	MImage* image = (MImage*)script->getPointer(0);
	const char* file = script->getString(1);

	engine->getImageSaver()->loadData(file, image);
	return 0;
    }