void CVFSHandler::FindArchives(const string& pattern, const string& path) { fs::path fn(path); std::vector<fs::path> found = find_files(fn,pattern, false); for (std::vector<fs::path>::iterator it = found.begin(); it != found.end(); it++) AddArchive(it->string().c_str(),false); }
void SelectionWidget::UpdateAvailableScripts() { //FIXME: lua ai's should be handled in AIScriptHandler.cpp, too respecting the selected game and map // maybe also merge it with StartScriptGen.cpp availableScripts.clear(); // load selected archives to get lua ais AddArchive(userMod); AddArchive(userMap); std::vector< std::vector<InfoItem> > luaAIInfos = luaAIImplHandler.LoadInfos(); for(int i=0; i<luaAIInfos.size(); i++) { for (int j=0; j<luaAIInfos[i].size(); j++) { if (luaAIInfos[i][j].key==SKIRMISH_AI_PROPERTY_SHORT_NAME) availableScripts.push_back(info_getValueAsString(&luaAIInfos[i][j])); } } // close archives RemoveArchive(userMap); RemoveArchive(userMod); // add sandbox script to list availableScripts.push_back(SandboxAI); // add native ai's to the list, too (but second, lua ai's are prefered) CAIScriptHandler::ScriptList scriptList = CAIScriptHandler::Instance().GetScriptList(); for (CAIScriptHandler::ScriptList::iterator it = scriptList.begin(); it != scriptList.end(); ++it) { availableScripts.push_back(*it); } for (std::string &scriptName: availableScripts) { if (scriptName == userScript) { return; } } SelectScript(SelectionWidget::NoScriptSelect); }
static bool RegisterContext(int uid, aiContext *ctx) { ContextMap::iterator it = ms_instance.m_contexts.find(uid); if (it != ms_instance.m_contexts.end()) { return false; } else { aiLogger::Info("Register context for gameObject with ID %d", uid); ms_instance.m_contexts[uid] = ctx; if (!RefArchive(ctx->getPath())) { AddArchive(ctx->getPath(), ctx->getArchive()); } return true; } }
/* * Class: aflobby_CUnitSyncJNIBindings * Method: AddArchive * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_aflobby_CUnitSyncJNIBindings_AddArchive (JNIEnv *env, jclass myobject, jstring name){ const char* c = env->GetStringUTFChars(name,0); AddArchive(c); env->ReleaseStringUTFChars(name,c); }