added linux support and fixed a few bugs in sdktools
authorDavid Anderson <dvander@alliedmods.net>
Sat Jun 16 18:33:21 2007 +0000 (2007-06-16)
changeset 9568df901c7c51d
parent 955 c59162dec673
child 957 ca0c77d7f91f
added linux support and fixed a few bugs in sdktools
extensions/sdktools/Makefile
extensions/sdktools/vcaller.cpp
extensions/sdktools/vdecoder.cpp
     1.1 --- a/extensions/sdktools/Makefile	Sat Jun 16 18:27:23 2007 +0000
     1.2 +++ b/extensions/sdktools/Makefile	Sat Jun 16 18:33:21 2007 +0000
     1.3 @@ -9,12 +9,13 @@
     1.4  ### EDIT BELOW FOR OTHER PROJECTS ###
     1.5  #####################################
     1.6  
     1.7 -PROJECT = sample
     1.8 +PROJECT = sdktools.ext
     1.9  
    1.10  #Uncomment for SourceMM-enabled extensions
    1.11  #LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so 
    1.12  
    1.13 -OBJECTS = sdk/smsdk_ext.cpp extension.cpp
    1.14 +OBJECTS = sdk/smsdk_ext.cpp extension.cpp vdecoder.cpp vcallbuilder.cpp \
    1.15 +	vcaller.cpp vnatives.cpp
    1.16  
    1.17  ##############################################
    1.18  ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
    1.19 @@ -36,7 +37,7 @@
    1.20            -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_TRUNK) -I$(SMM_TRUNK)/sourcehook -I$(SMM_TRUNK)/sourcemm \
    1.21  	  -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \
    1.22  
    1.23 -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -fPIC -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H
    1.24 +CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch -Wno-unused -fPIC -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H
    1.25  CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
    1.26  
    1.27  ################################################
     2.1 --- a/extensions/sdktools/vcaller.cpp	Sat Jun 16 18:27:23 2007 +0000
     2.2 +++ b/extensions/sdktools/vcaller.cpp	Sat Jun 16 18:33:21 2007 +0000
     2.3 @@ -83,9 +83,9 @@
     2.4  	void *addrInBase = NULL;
     2.5  	if (params[1] == SDKLibrary_Server)
     2.6  	{
     2.7 -		addrInBase = g_SMAPI->serverFactory(false);
     2.8 +		addrInBase = (void *)g_SMAPI->serverFactory(false);
     2.9  	} else if (params[1] == SDKLibrary_Engine) {
    2.10 -		addrInBase = g_SMAPI->engineFactory(false);
    2.11 +		addrInBase = (void *)g_SMAPI->engineFactory(false);
    2.12  	}
    2.13  	if (addrInBase == NULL)
    2.14  	{
     3.1 --- a/extensions/sdktools/vdecoder.cpp	Sat Jun 16 18:27:23 2007 +0000
     3.2 +++ b/extensions/sdktools/vdecoder.cpp	Sat Jun 16 18:33:21 2007 +0000
     3.3 @@ -145,9 +145,9 @@
     3.4  			cell_t *addr;
     3.5  			pContext->LocalToPhysAddr(param, &addr);
     3.6  
     3.7 -			addr[0] = v->x;
     3.8 -			addr[1] = v->y;
     3.9 -			addr[2] = v->z;
    3.10 +			addr[0] = sp_ftoc(v->x);
    3.11 +			addr[1] = sp_ftoc(v->y);
    3.12 +			addr[2] = sp_ftoc(v->z);
    3.13  
    3.14  			return Data_Okay;
    3.15  		}
    3.16 @@ -165,9 +165,9 @@
    3.17  			cell_t *addr;
    3.18  			pContext->LocalToPhysAddr(param, &addr);
    3.19  
    3.20 -			addr[0] = q->x;
    3.21 -			addr[1] = q->y;
    3.22 -			addr[2] = q->z;
    3.23 +			addr[0] = sp_ftoc(q->x);
    3.24 +			addr[1] = sp_ftoc(q->y);
    3.25 +			addr[2] = sp_ftoc(q->z);
    3.26  
    3.27  			return Data_Okay;
    3.28  		}
    3.29 @@ -380,7 +380,7 @@
    3.30  				pContext->ThrowNativeError("Entity index %d is not a valid client", param);
    3.31  				return Data_Fail;
    3.32  			}
    3.33 -			CBaseEntity *pEntity;
    3.34 +			CBaseEntity *pEntity = NULL;
    3.35  			if (pEdict)
    3.36  			{
    3.37  				IServerUnknown *pUnknown = pEdict->GetUnknown();
    3.38 @@ -395,8 +395,6 @@
    3.39  					pContext->ThrowNativeError("Entity %d is not a CBaseEntity");
    3.40  					return Data_Fail;
    3.41  				}
    3.42 -			} else {
    3.43 -				pEdict = NULL;
    3.44  			}
    3.45  
    3.46  			CBaseEntity **ebuf = (CBaseEntity **)buffer;
    3.47 @@ -450,7 +448,7 @@
    3.48  					return Data_Fail;
    3.49  				}
    3.50  			}
    3.51 -			CBaseEntity *pEntity;
    3.52 +			CBaseEntity *pEntity = NULL;
    3.53  			if (pEdict)
    3.54  			{
    3.55  				IServerUnknown *pUnknown = pEdict->GetUnknown();
    3.56 @@ -465,8 +463,6 @@
    3.57  					pContext->ThrowNativeError("Entity %d is not a CBaseEntity");
    3.58  					return Data_Fail;
    3.59  				}
    3.60 -			} else {
    3.61 -				pEdict = NULL;
    3.62  			}
    3.63  
    3.64  			CBaseEntity **ebuf = (CBaseEntity **)buffer;