BOOL AddMQ2KeyBind(PCHAR name, fMQExecuteCmd Function) { DebugSpew("AddMQ2KeyBind(%s)",name); if (KeyBindByName(name)) { DebugSpew("AddMQ2KeyBind(%s) - Name already in use",name); return false; } MQ2KeyBind* pBind = new MQ2KeyBind; pBind->State=false; strncpy_s(pBind->Name,name,32); pBind->Name[31]=0; CHAR szBuffer[MAX_STRING]={0}; CHAR szName[MAX_STRING]={0}; sprintf_s(szName,"%s_%s",pBind->Name,"Nrm"); GetPrivateProfileString("Key Binds",szName,"clear",szBuffer,MAX_STRING,gszINIFilename); ParseKeyCombo(szBuffer,pBind->Normal); sprintf_s(szName,"%s_%s",pBind->Name,"Alt"); GetPrivateProfileString("Key Binds",szName,"clear",szBuffer,MAX_STRING,gszINIFilename); ParseKeyCombo(szBuffer,pBind->Alt); pBind->Function=Function; unsigned long N=BindList.GetUnused(); BindList[N]=pBind; SetKeyBindNameMap(name,N); return true; }
BOOL AddMQ2Data(PCHAR szName, fMQData Function) { if (FindMQ2Data(szName)) return false; unsigned long N = MQ2DataItems.GetUnused(); PMQ2DATAITEM pNew = new MQ2DATAITEM; strcpy(pNew->Name, szName); pNew->Function = Function; MQ2DataItems[N] = pNew; MQ2DataMap[szName] = N + 1; return true; }