I've gotten a few people asking why $id() doesn't do partial matches... so I've fixed it... also made it so it uses clean names instead of the a_mq_newb00 type of stuff... anyway... here goes...
First off, link the library shlwapi.lib For those of you using vc++6 I hope you know how to do it since its been around so long. For the newbies (like me when I started this project) to linking in vc++.net instructions to follow:
On your solution explorer, right click the project 'EQLib'
select properties
linker -> input
on the additional dependencies line, add shlwapi.lib on the end. hit ok
Now, open up EQLib.cpp, thats where all the changes will be...
After the following code: (around line 39)
Code: Select all
#include <windows.h>
#include <tchar.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <dinput.h>
#include <time.h>
#include <io.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <winsock.h>Code: Select all
#include <Shlwapi.h> //For $id(xxx) fix
#include <string> //For $id(xxx) fixCode: Select all
while ((Num==-1) && (pSpawn)) {
if (!stricmp(SpawnName,pSpawn->Name)) {Code: Select all
while ((Num==-1) && (pSpawn)) {
// $id(xx) fix... Coded by L124RD
CHAR szDude[MAX_STRING] = {0};
strcat (szDude,SpawnName);
strcat (szDude,"->");
CHAR szLookingSpawn[2048] = {0};
strcat(szLookingSpawn,SpawnName);
CHAR szLookedSpawn[MAX_STRING] = {0};
strcat(szLookedSpawn,CleanupName(pSpawn->Name,FALSE));
strlwr(szLookedSpawn);
strcat (szDude,szLookedSpawn);
char *pSpawnDest = strstr( szLookedSpawn, szLookingSpawn );
DebugSpew("ParseMacroParameter - %s",szDude);
if (pSpawnDest!=NULL) {
// End $id(xxx) fix...



