Page 1 of 3

Compiling with 2005 Express

Posted: Wed Mar 01, 2006 2:48 pm
by Warauinu
Slow day at work so thought I would try and compile ISXEQ for fun.

Installed the SDK from lavish site, added include path, and library path for vs80.

Opened ISXEQ.sln in VS2005 Express. Set ISXEQ as startup project then tried to build. 32 errors and 100 some warnings later I obviously missed a step.

No rush but since autobot is being worked on for port over, and most of the plugins I use are already over seemed like a good time to start learning.

Here are a few examples of my mess so far if it helps.

Code: Select all

Compiling...
MQ2Windows.cpp
c:\program files\isxdk\include\FileList.h(27) : warning C4996: 'sprintf' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(345) : see declaration of 'sprintf'
        Message: 'This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
c:\program files\isxdk\include\FileList.h(28) : warning C4996: 'strcpy' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(73) : see declaration of 'strcpy'
        Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
c:\program files\isxdk\include\FileList.h(41) : warning C4996: 'strcpy' was declared deprecated

Code: Select all

C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(345) : see declaration of 'sprintf'
        Message: 'This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\MQ2Spawns.cpp(576) : error C3867: 'EQPlayerHook::EQPlayer_Detour': function call missing argument list; use '&EQPlayerHook::EQPlayer_Detour' to create a pointer to member
.\MQ2Spawns.cpp(576) : error C3867: 'EQPlayerHook::EQPlayer_Trampoline': function call missing argument list; use '&EQPlayerHook::EQPlayer_Trampoline' to create a pointer to member
.\MQ2Spawns.cpp(577) : error C3867: 'EQPlayerHook::dEQPlayer_Detour': function call missing argument list; use '&EQPlayerHook::dEQPlayer_Detour' to create a pointer to member
.\MQ2Spawns.cpp(577) : error C3867: 'EQPlayerHook::dEQPlayer_Trampoline': function call missing argument list; use '&EQPlayerHook::dEQPlayer_Trampoline' to create a pointer to member
.\MQ2Spawns.cpp(578) : error C3867: 'EQItemListHook::EQItemList_Detour': function call missing argument list; use '&EQItemListHook::EQItemList_Detour' to create a pointer to member
.\MQ2Spawns.cpp(578) : error C3867: 'EQItemListHook::EQItemList_Trampoline': function call missing argument list; use '&EQItemListHook::EQItemList_Trampoline' to create a pointer to member
.\MQ2Spawns.cpp(579) : error C3867: 'EQItemListHook::dEQItemList_Detour': function call missing argument list; use '&EQItemListHook::dEQItemList_Detour' to create a pointer to member
.\MQ2Spawns.cpp(579) : error C3867: 'EQItemListHook::dEQItemList_Trampoline': function call missing argument list; use '&EQItemListHook::dEQItemList_Trampoline' to create a pointer to member
.\MQ2Spawns.cpp(580) : error C3867: 'EQPlayerHook::SetNameSpriteState_Detour': function call missing argument list; use '&EQPlayerHook::SetNameSpriteState_Detour' to create a pointer to member
.\MQ2Spawns.cpp(580) : error C3867: 'EQPlayerHook::SetNameSpriteState_Trampoline': function call missing argument list; use '&EQPlayerHook::SetNameSpriteState_Trampoline' to create a pointer to member
.\MQ2Spawns.cpp(581) : error C3867: 'EQPlayerHook::SetNameSpriteTint_Detour': function call missing argument list; use '&EQPlayerHook::SetNameSpriteTint_Detour' to create a pointer to member
.\MQ2Spawns.cpp(581) : error C3867: 'EQPlayerHook::SetNameSpriteTint_Trampoline': function call missing argument list; use '&EQPlayerHook::SetNameSpriteTint_Trampoline' to create a pointer to member
My guess would be my includes are still messed up. But not sure how.

Posted: Wed Mar 01, 2006 2:59 pm
by Warauinu
added lib for vs70 too just to check and had no effect.

Posted: Wed Mar 01, 2006 4:38 pm
by Warauinu
Thanks to Lax for helping on the hook errors.

For example changed

Code: Select all

EzDetour(EQPlayer__EQPlayer,EQPlayerHook::EQPlayer_Detour,EQPlayerHook::EQPlayer_Trampoline);
to

Code: Select all

EzDetour(EQPlayer__EQPlayer,&EQPlayerHook::EQPlayer_Detour,&EQPlayerHook::EQPlayer_Trampoline);
1 last error I got was this

Code: Select all

.\ISXEQ\ISXEQCommands.cpp(563) : error C2660: 'EQClasses::EQ_Character1::CastSpell' : function does not take 8 arguments
ISXEQCommandAPI.cpp

Code: Select all

if (!stricmp(argv[1],"item")) 
   { 
      BOOL FOUND = FALSE; 
      DWORD item = 0; 
      DWORD slot = 0; 
      DWORD SpawnFooter = NULL; 
      SpawnFooter = (DWORD)pLocalPlayer; 
      for (int i=0;i<30;i++) { 
         if (GetCharInfo2()->InventoryArray[i]) 
            if (!_stricmp(argv[2],GetCharInfo2()->InventoryArray[i]->Item->Name)) { 
               DebugSpew("cast test slot %d = %s address is %x",i,GetCharInfo2()->InventoryArray[i]->Item->Name,&(GetCharInfo2()->InventoryArray[i])); 
               item = (DWORD)&GetCharInfo2()->InventoryArray[i]; 
               slot = (DWORD)i; 
               FOUND = TRUE; 
               break; 
            } 
      } 
      if (FOUND) { 
         [color=red]pCharData1->CastSpell(10,0,(EQ_Item**)item,0,slot,-1,0,0); [/color]
         return 0; 
      } 
   } 

Posted: Mon Mar 06, 2006 10:17 pm
by Warauinu
Fixed in latest zip nm!

Posted: Sat Apr 22, 2006 12:53 pm
by three-p-o
Attempting to compile with 2005 and V29 gets the following error.

Code: Select all

ISXEQ.cpp
.\ISXEQ\ISXEQ.cpp(168) : error C2664: 'ISServiceClientInterface::ConnectService' : cannot convert parameter 3 from 'void (__cdecl *)(bool,unsigned long,void *)' to 'fISService'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(169) : error C2664: 'ISServiceClientInterface::ConnectService' : cannot convert parameter 3 from 'void (__cdecl *)(bool,unsigned long,void *)' to 'fISService'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(170) : error C2664: 'ISServiceClientInterface::ConnectService' : cannot convert parameter 3 from 'void (__cdecl *)(bool,unsigned long,void *)' to 'fISService'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(171) : error C2664: 'ISServiceClientInterface::ConnectService' : cannot convert parameter 3 from 'void (__cdecl *)(bool,unsigned long,void *)' to 'fISService'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(172) : error C2664: 'ISServiceClientInterface::ConnectService' : cannot convert parameter 3 from 'void (__cdecl *)(bool,unsigned long,void *)' to 'fISService'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(219) : error C2664: 'ISServiceMasterInterface::RegisterService' : cannot convert parameter 3 from 'void (__cdecl *)(ISXInterface *,unsigned long,void *)' to 'fISServiceRequest'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(224) : error C2664: 'ISServiceMasterInterface::RegisterService' : cannot convert parameter 3 from 'void (__cdecl *)(ISXInterface *,unsigned long,void *)' to 'fISServiceRequest'
        None of the functions with this name in scope match the target type
.\ISXEQ\ISXEQ.cpp(225) : error C2664: 'ISServiceMasterInterface::RegisterService' : cannot convert parameter 3 from 'void (__cdecl *)(ISXInterface *,unsigned long,void *)' to 'fISServiceRequest'
        None of the functions with this name in scope match the target type

Posted: Sat Apr 22, 2006 1:09 pm
by Lax
Dont post new issues on old threads!

ISXDK 29 requires all of the old "unsigned long" to be converted to "unsigned int". This is for future portability -- long is 32-bit on 32-bit compiles and 64-bit on 64-bit compiles, whereas int is 32-bit on both.

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 8:56 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 8:57 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:34 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:35 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:37 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:38 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:39 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 9:40 am
by xyilla

Re: Compiling with 2005 Express

Posted: Mon Jul 07, 2025 10:17 am
by xyilla