// Initialize is called by Inner Space when the extension should initialize. bool ISXEQMap::Initialize(ISInterface *p_ISInterface) { pISInterface = p_ISInterface; // retrieve basic ISData types pStringType = pISInterface->FindLSType("string"); pIntType = pISInterface->FindLSType("int"); pBoolType = pISInterface->FindLSType("bool"); pFloatType = pISInterface->FindLSType("float"); pTimeType = pISInterface->FindLSType("time"); pByteType = pISInterface->FindLSType("byte"); pISInterface->OpenSettings("ISXEQMap.XML"); bmMapRefresh = AddMQ2Benchmark("Map Refresh"); unsigned int i; CHAR szBuffer[MAX_STRING] = { 0 }; for (i = 0; MapFilterOptions[i].szName; i++) { sprintf(szBuffer, "%s Color", MapFilterOptions[i].szName); int Temp; if (pISInterface->GetSettingi("ISXEQMap.XML", "Map Filters", MapFilterOptions[i].szName, Temp)) MapFilterOptions[i].Enabled = Temp; else MapFilterOptions[i].Enabled = MapFilterOptions[i].Default; if (pISInterface->GetSettingi("ISXEQMap.XML", "Map Filters", szBuffer, Temp)) MapFilterOptions[i].Color = Temp | 0xFF000000; else MapFilterOptions[i].Color = MapFilterOptions[i].DefaultColor | 0xFF000000; } MapInit(); pISInterface->GetSetting("ISXEQMap.XML", "Naming Schemes", "Normal", MapNameString, sizeof(MapNameString)); pISInterface->GetSetting("ISXEQMap.XML", "Naming Schemes", "Target", MapTargetNameString, sizeof(MapTargetNameString)); for (i = 1; i<16; i++) { sprintf(szBuffer, "KeyCombo%d", i); pISInterface->GetSetting("ISXEQMap.XML", "Right Click", szBuffer, MapSpecialClickString[i], sizeof(MapSpecialClickString[i])); } // Do not use Custom, since the string isn't stored MapFilterOptions[MAPFILTER_Custom].Enabled = 0; ConnectServices(); RegisterCommands(); RegisterAliases(); RegisterDataTypes(); RegisterTopLevelObjects(); RegisterServices(); EzDetour(CMapViewWnd__CMapViewWnd, &CMyMapViewWnd::Constructor_Detour, &CMyMapViewWnd::Constructor_Trampoline); CMyMapViewWnd::StealVFTable(); printf("ISXEQMap Loaded"); return true; }
VOID InitializeParser() { DebugSpewNoFile("InitializeParser()"); InitializeMQ2DataTypes(); InitializeMQ2Data(); bmParseMacroParameter=AddMQ2Benchmark("ParseMacroParameter"); }
PLUGIN_API VOID InitializePlugin() { DebugSpewAlways("Initializing MQ2ChatWnd"); // Add commands, macro parameters, hooks, etc. AddCommand("/style",Style,0,1,0); AddCommand("/mqfont",MQChatFont); AddCommand("/mqmin",MQChatMin); AddCommand("/mqclear",MQChatClear); AddMQ2KeyBind("MQ2CHAT",DoMQ2ChatBind); bmStripFirstStmlLines=AddMQ2Benchmark("StripFirstStmlLines"); LoadChatSettings(); }
VOID InitializeMQ2Plugins() { DebugSpew("Initializing plugins"); bmWriteChatColor=AddMQ2Benchmark("WriteChatColor"); bmPluginsIncomingChat=AddMQ2Benchmark("PluginsIncomingChat"); bmPluginsPulse=AddMQ2Benchmark("PluginsPulse"); bmPluginsOnZoned=AddMQ2Benchmark("PluginsOnZoned"); bmPluginsCleanUI=AddMQ2Benchmark("PluginsCleanUI"); bmPluginsReloadUI=AddMQ2Benchmark("PluginsReloadUI"); bmPluginsDrawHUD=AddMQ2Benchmark("PluginsDrawHUD"); bmPluginsSetGameState=AddMQ2Benchmark("PluginsSetGameState"); bmCalculate=AddMQ2Benchmark("Calculate"); bmBeginZone=AddMQ2Benchmark("BeginZone"); bmEndZone=AddMQ2Benchmark("EndZone"); bPluginCS=1; CHAR PluginList[MAX_STRING*10] = {0}; CHAR szBuffer[MAX_STRING] = {0}; CHAR MainINI[MAX_STRING] = {0}; sprintf_s(MainINI,"%s\\macroquest.ini",gszINIPath); GetPrivateProfileString("Plugins",NULL,"",PluginList,MAX_STRING*10,MainINI); PCHAR pPluginList = PluginList; BOOL loadvalue = 0; while (pPluginList[0]!=0) { GetPrivateProfileString("Plugins",pPluginList,"",szBuffer,MAX_STRING,MainINI); if (IsNumber(szBuffer)) { loadvalue=atoi(szBuffer); szBuffer[0] = '\0'; } if(loadvalue==1 || szBuffer[0]!=0) { LoadMQ2Plugin(pPluginList); } pPluginList+=strlen(pPluginList)+1; } //ok now check if user has a CustomPlugin.ini and load those as well... sprintf_s(MainINI,"%s\\CustomPlugins.ini",gszINIPath); GetPrivateProfileString("Plugins",NULL,"",PluginList,MAX_STRING*10,MainINI); pPluginList = PluginList; while (pPluginList[0]!=0) { GetPrivateProfileString("Plugins",pPluginList,"",szBuffer,MAX_STRING,MainINI); if (IsNumber(szBuffer)) { loadvalue=atoi(szBuffer); szBuffer[0] = '\0'; } if(loadvalue==1 || szBuffer[0]!=0) { LoadMQ2Plugin(pPluginList,1); } pPluginList+=strlen(pPluginList)+1; } }