示例#1
0
// 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;
}
示例#2
0
VOID InitializeParser()
{
    DebugSpewNoFile("InitializeParser()");

    InitializeMQ2DataTypes();
    InitializeMQ2Data();
    bmParseMacroParameter=AddMQ2Benchmark("ParseMacroParameter");
}
示例#3
0
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(); 
} 
示例#4
0
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;
    }
}