const char* Menu::GetOption(u32 Option) { switch(Option) { case 0x4C414E47: //LANG return GetOptionFromString(GC_Language_strings, &GC_Language_string, &GC_Language).c_str(); case 0x56494445: //VIDE return GetOptionFromString(GC_Video_strings, &GC_Video_string, &GC_Video_Mode).c_str(); case 0x424F4F54: //BOOT return GetOptionFromString(DM_Mode_strings, &DM_Mode_string, &DM_Mode).c_str(); case 0x464F5243: //FORC return GetOptionFromString(DM_Patch_strings, &DM_Patch_string, &DM_Patch).c_str(); case 0x52455345: //RESE return (DriveReset == true) ? "On" : "Off"; case 0x4A415041: //JAPA return (NTSCJ_Patch == true) ? "Yes" : "No"; case 0x44495343: //DISC return (DM_NoDisc == true) ? "On" : "Off"; case 0x57494445: //WIDE return (DM_ForceWide == true) ? "On" : "Off"; default: if(BooterCFG->Config & Option) return "On"; else return "Off"; } }
void Menu::WriteConfig(const char *Domain) { GetOptionFromString(GC_Language_strings, &GC_Language_string, &GC_Language); BooterINI.setString(Domain, "Language", GC_Language_string); GetOptionFromString(GC_Video_strings, &GC_Video_string, &GC_Video_Mode); BooterINI.setString(Domain, "VideoMode", GC_Video_string); GetOptionFromString(DM_Mode_strings, &DM_Mode_string, &DM_Mode); BooterINI.setString(Domain, "DM_Mode", DM_Mode_string); GetOptionFromString(DM_Patch_strings, &DM_Patch_string, &DM_Patch); BooterINI.setString(Domain, "DM_Patch", DM_Patch_string); BooterINI.setBool(Domain, "No_Disc_Patch", DM_NoDisc); BooterINI.setBool(Domain, "Widescreen", DM_ForceWide); BooterINI.setBool(Domain, "Drive_Reset", DriveReset); BooterINI.setBool(Domain, "NTSCJ_Patch", NTSCJ_Patch); BooterINI.setBool(Domain, "ActivityLED", (BooterCFG->Config & DML_CFG_ACTIVITY_LED)); BooterINI.setBool(Domain, "PadReset", (BooterCFG->Config & DML_CFG_PADHOOK)); BooterINI.setBool(Domain, "Cheats", (BooterCFG->Config & DML_CFG_CHEATS)); BooterINI.setBool(Domain, "NMM", (BooterCFG->Config & DML_CFG_NMM)); BooterINI.setBool(Domain, "NMM_Debug", (BooterCFG->Config & DML_CFG_NMM_DEBUG)); BooterINI.setBool(Domain, "Debugger", (BooterCFG->Config & DML_CFG_DEBUGGER)); BooterINI.setBool(Domain, "Wait_for_Debugger", (BooterCFG->Config & DML_CFG_DEBUGWAIT)); BooterINI.setBool("GENERAL", "usb", currentDev); if(DevHandler->SD_Mounted() || DevHandler->USB_Mounted()) BooterINI.save(false); }
void Menu::PrevOptionFromString(vector<string> List, string *Option, u8 *Option_num) { string current_OptionFromString = GetOptionFromString(List, Option, Option_num); for(u8 i = 0; i < List.size(); i++) { if(strcasecmp(current_OptionFromString.c_str(), List.at(i).c_str()) == 0) { if(i == 0) (*Option) = List.back(); else (*Option) = List.at(i-1).c_str(); } } }
void Menu::NextOptionFromString(vector<string> List, string *Option, u8 *Option_num) { string current_OptionFromString = GetOptionFromString(List, Option, Option_num); for(u8 i = 0; i < List.size(); i++) { if(strcasecmp(current_OptionFromString.c_str(), List.at(i).c_str()) == 0) { if(i+1 == (u8)List.size()) (*Option) = List.front(); else (*Option) = List.at(i+1).c_str(); } } }
void Menu::ReadConfig(const char *Domain) { if(BooterINI.loaded()) { //0x4C414E47 LANG GC_Language_string = BooterINI.getString(Domain, "Language", GC_Language_strings.at(0)); GetOptionFromString(GC_Language_strings, &GC_Language_string, &GC_Language); //0x56494445 VIDE GC_Video_string = BooterINI.getString(Domain, "VideoMode", GC_Video_strings.at(0)); GetOptionFromString(GC_Video_strings, &GC_Video_string, &GC_Video_Mode); //0x424F4F54 BOOT DM_Mode_string = BooterINI.getString(Domain, "DM_Mode", DM_Mode_strings.at(2)); GetOptionFromString(DM_Mode_strings, &DM_Mode_string, &DM_Mode); //0x464F5243 FORC DM_Patch_string = BooterINI.getString(Domain, "DM_Patch", DM_Patch_strings.at(1)); GetOptionFromString(DM_Patch_strings, &DM_Patch_string, &DM_Patch); //0x44495343 DISC DM_NoDisc = BooterINI.getBool(Domain, "No_Disc_Patch", true); //0x57494445 WIDE DM_ForceWide = BooterINI.getBool(Domain, "Widescreen", false); //0x52455345 RESE DriveReset = BooterINI.getBool(Domain, "Drive_Reset", false); //0x4A415041 JAPA NTSCJ_Patch = BooterINI.getBool(Domain, "NTSCJ_Patch", false); if(BooterINI.getBool(Domain, "ActivityLED")) BooterCFG->Config |= DML_CFG_ACTIVITY_LED; else BooterCFG->Config &= ~DML_CFG_ACTIVITY_LED; if(BooterINI.getBool(Domain, "PadReset")) BooterCFG->Config |= DML_CFG_PADHOOK; else BooterCFG->Config &= ~DML_CFG_PADHOOK; if(BooterINI.getBool(Domain, "Cheats")) BooterCFG->Config |= DML_CFG_CHEATS; else BooterCFG->Config &= ~DML_CFG_CHEATS; if(BooterINI.getBool(Domain, "NMM")) BooterCFG->Config |= DML_CFG_NMM; else BooterCFG->Config &= ~DML_CFG_NMM; if(BooterINI.getBool(Domain, "NMM_Debug")) BooterCFG->Config |= DML_CFG_NMM_DEBUG; else BooterCFG->Config &= ~DML_CFG_NMM_DEBUG; if(BooterINI.getBool(Domain, "Debugger")) BooterCFG->Config |= DML_CFG_DEBUGGER; else BooterCFG->Config &= ~DML_CFG_DEBUGGER; if(BooterINI.getBool(Domain, "Wait_for_Debugger")) BooterCFG->Config |= DML_CFG_DEBUGWAIT; else BooterCFG->Config &= ~DML_CFG_DEBUGWAIT; currentDev = BooterINI.getBool("GENERAL", "usb", false); } else //Write Default Config { //0x4C414E47 LANG GC_Language_string = GC_Language_strings.at(0); //0x56494445 VIDE GC_Video_string = GC_Video_strings.at(0); //0x424F4F54 BOOT DM_Mode_string = DM_Mode_strings.at(2); //0x464F5243 FORC DM_Patch_string = DM_Patch_strings.at(1); //0x44495343 DISC DM_NoDisc = true; //0x57494445 WIDE DM_ForceWide = false; //0x52455345 RESE DriveReset = false; //0x4A415041 JAPA NTSCJ_Patch = false; //Everything set, lets write it WriteConfig(Domain); } }
Bool_t RsnConfig(AliAnalysisTaskSE *task,Bool_t isMC,Bool_t isMixing,AliRsnInputHandler *rsnIH=0,TList *listRsn=0) { if (!task) return kFALSE; if (!listRsn) { return kFALSE; } Bool_t valid; Int_t isRsnMini = AliAnalysisManager::GetGlobalInt("rsnUseMiniPackage",valid); TString rsnCutOptCommon = AliAnalysisManager::GetGlobalStr("rsnLegoTrainCommonCutOption",valid); Int_t cutIndex = 0; Int_t numOfCuts = 0; // set commol eventCuts if (!RsnLoadMacroFromConfig("AddRsnCommonEventCuts.C")) return kFALSE; AliRsnCutSet *commonEventCuts = AddRsnCommonEventCuts(task); if (!RsnLoadMacroFromConfig("AddRsnCommonPairCuts.C")) return kFALSE; AliRsnCutSet *commonPairCuts = AddRsnCommonPairCuts(); TIter next(listRsn); TNamed *rsnObj=0; TString rsnName,rsnNameOpt,rsnNameOptFull,rsnCutName,rsnCutOpt,rsnCutNameOptFull; while ((rsnObj = (TNamed *)next())) { GetOptionFromString(rsnObj->GetName(),rsnName,rsnNameOpt); rsnNameOptFull=rsnName; if (!rsnNameOpt.IsNull()) rsnNameOptFull += Form("_%s",rsnNameOpt.Data()); GetOptionFromString(rsnObj->GetTitle(),rsnCutName,rsnCutOpt); rsnCutNameOptFull=rsnCutName; if (!rsnCutOpt.IsNull())rsnCutNameOptFull += Form("_%s",rsnCutOpt.Data()); if (!rsnCutOptCommon.IsNull()) { if (!rsnCutOpt.IsNull()) rsnCutOpt += "_"; rsnCutOpt += rsnCutOptCommon.Data(); } if (!RsnLoadMacroFromConfig(Form("AddRsnDaughterCuts%s.C",rsnCutName.Data()))) return kFALSE; if (!RsnLoadMacroFromConfig(Form("AddRsnPairs%s.C",rsnName.Data()))) return kFALSE; rsnNameOptFull.ToLower(); rsnName.ToLower(); // add cuts if (!rsnName.CompareTo("phi")) { numOfCuts = gROOT->ProcessLine(Form("AddRsnDaughterCuts%s(AliPID::kKaon,AliPID::kKaon,\"%s\",%d,(AliRsnInputHandler*)%p,(AliAnalysisTaskSE*)%p)",rsnCutName.Data(), rsnCutOpt.Data(),isRsnMini,rsnIH, task)); if (numOfCuts) { if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex,commonEventCuts,commonPairCuts,Form("%s_%s_K",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); AddRsnPairsPhi(task,isMC,isMixing,AliPID::kKaon,cutIndex,AliPID::kKaon,cutIndex,commonEventCuts,commonPairCuts,Form("%s.%s",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); cutIndex+=numOfCuts; } } else if (!rsnName.CompareTo("kstar")) { numOfCuts = gROOT->ProcessLine(Form("AddRsnDaughterCuts%s(AliPID::kKaon,AliPID::kPion,\"%s\",%d,(AliRsnInputHandler*)%p,(AliAnalysisTaskSE*)%p)",rsnCutName.Data(), rsnCutOpt.Data(),isRsnMini,rsnIH,task)); if (numOfCuts) { if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex,commonEventCuts,commonPairCuts,Form("%s_%s_K",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex+1,commonEventCuts,commonPairCuts,Form("%s_%s_pi",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); AddRsnPairsKStar(task,isMC,isMixing,AliPID::kKaon,cutIndex,AliPID::kPion,cutIndex+1,commonEventCuts,commonPairCuts,Form("%s.%s",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); cutIndex+=numOfCuts; } } else if (!rsnName.CompareTo("rho")) { numOfCuts = gROOT->ProcessLine(Form("AddRsnDaughterCuts%s(AliPID::kPion,AliPID::kPion,\"%s\",%d,(AliRsnInputHandler*)%p,(AliAnalysisTaskSE*)%p)",rsnCutName.Data(), rsnCutOpt.Data(),isRsnMini,rsnIH,task)); if (numOfCuts) { if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex,commonEventCuts,commonPairCuts,Form("%s_%s_pi",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); AddRsnPairsRho(task,isMC,isMixing,AliPID::kPion,cutIndex,AliPID::kPion,cutIndex,commonEventCuts,commonPairCuts,Form("%s.%s",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); cutIndex+=numOfCuts; } } else if (!rsnName.CompareTo("lambda")) { numOfCuts = gROOT->ProcessLine(Form("AddRsnDaughterCuts%s(AliPID::kProton,AliPID::kKaon,\"%s\",%d,(AliRsnInputHandler*)%p,(AliAnalysisTaskSE*)%p)",rsnCutName.Data(), rsnCutOpt.Data(),isRsnMini,rsnIH,task)); if (numOfCuts) { if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex,commonEventCuts,commonPairCuts,Form("%s_%s_p",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); if (rsnNameOpt.Contains("mon")) AddParticleMonitor(task,isMC,cutIndex+1,commonEventCuts,commonPairCuts,Form("%s_%s_K",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); AddRsnPairsLambda(task,isMC,isMixing,AliPID::kProton,cutIndex,AliPID::kKaon,cutIndex+1,commonEventCuts,commonPairCuts,Form("%s.%s",rsnNameOptFull.Data(),rsnCutNameOptFull.Data())); cutIndex+=numOfCuts; } } else { Printf("Error : Particle %s is not supported !!!!",rsnName.Data()); return kFALSE; } } return kTRUE; }