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); } } } }
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); } } } }
Bool SoundManager::preloadEffect(string file) { if(!loadEffect(file)) { return false; } else { return true; } }
bool PluginEffectLoader::loadEffect(const QString &name) { const auto info = findEffect(name); if (!info.isValid()) { return false; } return loadEffect(info, LoadEffectFlag::Load); }
bool ScriptedEffectLoader::loadEffect(const QString &name) { auto effect = findEffect(name); if (!effect.isValid()) { return false; } return loadEffect(effect, LoadEffectFlag::Load); }
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); }
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; }
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); }
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; }
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); }
void AndroidJavaEngine::unloadEffect(const char* pszFilePath) { loadEffect(pszFilePath, "unloadEffect"); }
bool BuiltInEffectLoader::loadEffect(BuiltInEffect effect, LoadEffectFlags flags) { return loadEffect(BuiltInEffects::nameForEffect(effect), effect, flags); }
bool BuiltInEffectLoader::loadEffect(const QString &name) { return loadEffect(name, BuiltInEffects::builtInForName(internalName(name)), LoadEffectFlag::Load); }
ParticleSystem::ParticleSystem(glm::vec3 position, const char* filepath) { effect = new Effect(); loadEffect(filepath); setPosition(position); }