Example #1
0
void QuestDb::loadXmlFile(const std::string &fileName,
                          const SkipError skipError)
{
    XML::Document doc(fileName,
        UseVirtFs_true,
        skipError);
    XmlNodeConstPtrConst root = doc.rootNode();
    if (root == nullptr)
        return;

    for_each_xml_child_node(varNode, root)
    {
        if (xmlNameEqual(varNode, "include"))
        {
            const std::string name = XML::getProperty(varNode, "name", "");
            if (!name.empty())
                loadXmlFile(name, skipError);
            continue;
        }
        else if (xmlNameEqual(varNode, "var"))
        {
            const int id = XML::getProperty(varNode, "id", 0);
            if (id < 0)
                continue;
            mVars[id] = QuestVar();
            for_each_xml_child_node(questNode, varNode)
            {
                if (xmlNameEqual(questNode, "quest"))
                    loadQuest(id, questNode);
                else if (xmlNameEqual(questNode, "effect"))
                    loadEffect(id, questNode);
            }
        }
    }
}
Example #2
0
void QuestsWindow::loadXmlFile(const std::string &fileName)
{
    XML::Document doc(fileName);
    const XmlNodePtrConst root = doc.rootNode();
    if (!root)
        return;

    for_each_xml_child_node(varNode, root)
    {
        if (xmlNameEqual(varNode, "include"))
        {
            const std::string name = XML::getProperty(varNode, "name", "");
            if (!name.empty())
                loadXmlFile(name);
            continue;
        }
        else if (xmlNameEqual(varNode, "var"))
        {
            const int id = XML::getProperty(varNode, "id", 0);
            if (id < 0)
                continue;
            for_each_xml_child_node(questNode, varNode)
            {
                if (xmlNameEqual(questNode, "quest"))
                    loadQuest(id, questNode);
                else if (xmlNameEqual(questNode, "effect"))
                    loadEffect(id, questNode);
            }
        }
    }
}
Example #3
0
Bool SoundManager::preloadEffect(string file) {
    if(!loadEffect(file)) {
        return  false;
    } else {
        return true;
    }
}
Example #4
0
bool PluginEffectLoader::loadEffect(const QString &name)
{
    const auto info = findEffect(name);
    if (!info.isValid()) {
        return false;
    }
    return loadEffect(info, LoadEffectFlag::Load);
}
Example #5
0
bool ScriptedEffectLoader::loadEffect(const QString &name)
{
    auto effect = findEffect(name);
    if (!effect.isValid()) {
        return false;
    }
    return loadEffect(effect, LoadEffectFlag::Load);
}
Example #6
0
void Renderable::createEffect(const char* filename, ID3D11Device* _dxDev, ID3DX11Effect** fx)
{
	std::vector<char> compiledShader(0);
	
	// shaders
	if (!loadEffect(filename, compiledShader))
		MessageBoxA(0, "Error Loading Effect", 0, 0);
	
	HRESULT hr = D3DX11CreateEffectFromMemory(&compiledShader[0], compiledShader.size(), 0, _dxDev, fx);
	if (FAILED(hr)) MessageBoxA(0, "Error creating FX", 0, 0);

}
Example #7
0
soldiers *createArmy(unitData *mGData, int side, baseEntity *mGText, int *success, options *opt)
{
	soldiers *temp = malloc(sizeof(soldiers));
	if(!temp)
	{
		fprintf(stderr, "malloc has failed : %s", strerror(errno));
		*success = FAIL;
		return NULL;
	
	}
	temp->no_men = 2;
	temp->men = malloc(sizeof(entity) * (temp->no_men));
	temp->men[0] = loadMachineGun(mGData, side, mGText, success, opt);
	temp->men[1] = loadMachineGun(mGData, side, mGText, success, opt);
	fprintf(stderr, "%s\n", mGData->entrance_filename);
	temp->men[0]->entranceSound = loadEffect(mGData->entrance_filename,success);
	temp->men[1]->entranceSound = loadEffect(mGData->entrance_filename,success);
	if(side == BRITISH)
	{
		temp->men[0]->posAndHitbox.x = opt->SCREEN_WIDTH  - opt->OTHER_OFFSET;
		temp->men[1]->posAndHitbox.x = opt->SCREEN_WIDTH  - opt->OTHER_OFFSET;
		temp->men[0]->posAndHitbox.y = opt->SCREEN_HEIGHT - opt->OTHER_OFFSET;
		temp->men[1]->posAndHitbox.y = opt->OTHER_OFFSET;
	
	}
	else if(side == GERMAN)
	{
		temp->men[0]->posAndHitbox.x = opt->OTHER_OFFSET;
		temp->men[1]->posAndHitbox.x = opt->OTHER_OFFSET;
		temp->men[0]->posAndHitbox.y = opt->SCREEN_HEIGHT - opt->OTHER_OFFSET;
		temp->men[1]->posAndHitbox.y = opt->OTHER_OFFSET;
	
	}
	temp->men[0]->endTime = 0;
	temp->men[1]->endTime = 0;
	return temp;
}
int loadEffects(cnode *root)
{
    cnode *node;

    node = config_find(root, EFFECTS_TAG);
    if (node == NULL) {
        return -ENOENT;
    }
    node = node->first_child;
    while (node) {
        loadEffect(node);
        node = node->next;
    }
    return 0;
}
Example #9
0
void PreLoad::onEnterTransitionDidFinish(){
	//调用父类的OnEnterTransitionDidFinish方法
	Layer::onEnterTransitionDidFinish();
	//加载preloadResources.plist配置文件,读取文件中的游戏资源名称列表,返回一个ValueMap对象
	ValueMap map = FileUtils::getInstance()->getValueMapFromFile("preloadResources.plist");
	//通过key值取出每种不同类型资源的ValueVector数组
	ValueVector spriteSheets = map.at("SpriteSheets").asValueVector();
	ValueVector effects = map.at("Sounds").asValueVector();
	ValueVector musics = map.at("Musics").asValueVector();
	//多个ValueVector数组的size相加得到需要加载的资源总数量
	_sourceCount = spriteSheets.size() + effects.size() + musics.size();
	//设置进度条更新进度=100 /_sourceCount
	_progressInterval = 100 / _sourceCount;
	//依次加载资源
	loadMusic(musics);
	loadEffect(effects);
	loadSpriteSheets(spriteSheets);

}
Example #10
0
Bool SoundManager::playEffect(string file) {
    auto effectIt = _effects.find(file);

    if(effectIt != _effects.end()) {
        Mix_PlayChannel(-1, effectIt->second, 0);
    } else {
        Mix_Chunk *chunk = loadEffect(file);

        if(chunk) {
            Mix_PlayChannel(-1, chunk, 0);

            _effects.insert({file, chunk});
        } else {
            return false;
        }
    }

    return true;
}
Example #11
0
void AssetLoader::start()
{
	while (true)
	{
		if (!pobjectsToLoad->empty())
		{
			string s = pobjectsToLoad->front();
			if (s != "")
			{
				string tmp = s;
				string backwards = "";
				while (s.back() != '.') 
				{
					backwards += s.back();
					s.pop_back();
				}
				backwards += '.';
				string ext;
				while (!backwards.empty())
				{
					ext += backwards.back();
					backwards.pop_back();
				}

				int x = 2;
	
				if (ext.compare(".png") == 0 || ext.compare(".dds") == 0 || ext.compare(".jpg") == 0)
				{
					loadTexture(tmp.c_str());
				}
				else if (ext.compare(".hlsl") == 0)
				{
					loadEffect(tmp.c_str());
				}

				pobjectsToLoad->pop_front();
			}
			else if (s == "") pobjectsToLoad->pop_front(); 
		}
		else Sleep(1000); //nothing to load, wait 1 second before checking again
	}
}
void SplashScene::initSounds()
{
    auto soundMgr = Lore::SoundManager::instance();
    soundMgr->loadEffect(kSoundName_AmazingIntro);
}
Example #13
0
 void AndroidJavaEngine::unloadEffect(const char* pszFilePath) {
     loadEffect(pszFilePath, "unloadEffect");       
 }
Example #14
0
bool BuiltInEffectLoader::loadEffect(BuiltInEffect effect, LoadEffectFlags flags)
{
    return loadEffect(BuiltInEffects::nameForEffect(effect), effect, flags);
}
Example #15
0
bool BuiltInEffectLoader::loadEffect(const QString &name)
{
    return loadEffect(name, BuiltInEffects::builtInForName(internalName(name)), LoadEffectFlag::Load);
}
Example #16
0
ParticleSystem::ParticleSystem(glm::vec3 position, const char* filepath)
{
	effect = new Effect();
	loadEffect(filepath);
	setPosition(position);
}