Update some changes for linux. Remove unused file.
This commit is contained in:
		
							parent
							
								
									c5b8d2fecb
								
							
						
					
					
						commit
						394f21e1a4
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -119,7 +119,7 @@ ifeq "$(USEMETA)" "true" | |||||||
| 
 | 
 | ||||||
| 	LINK += $(LINK_HL2) | 	LINK += $(LINK_HL2) | ||||||
| 
 | 
 | ||||||
| 	INCLUDE += -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) \
 | 	INCLUDE += -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(HL2SDK)/game/shared -I$(METAMOD) \
 | ||||||
| 		-I$(METAMOD)/sourcehook  | 		-I$(METAMOD)/sourcehook  | ||||||
| 	CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
 | 	CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
 | ||||||
| 		-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
 | 		-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
 | ||||||
|  | |||||||
							
								
								
									
										121
									
								
								vfunc_call.cpp
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								vfunc_call.cpp
									
									
									
									
									
								
							| @ -1,121 +0,0 @@ | |||||||
| #include "vfunc_call.h" |  | ||||||
| 
 |  | ||||||
| #define PARAMINFO_SWITCH(passType) \ |  | ||||||
| 		paramInfo[i].flags = dg->params.Element(i).flag; \ |  | ||||||
| 		paramInfo[i].size = dg->params.Element(i).size; \ |  | ||||||
| 		paramInfo[i].type = passType; |  | ||||||
| 
 |  | ||||||
| #define VSTK_PARAM_SWITCH(paramType) \ |  | ||||||
| 		if(paramStruct->isChanged[i]) \ |  | ||||||
| 		{ \ |  | ||||||
| 			*(paramType *)vptr = (paramType)(paramStruct->newParams[i]); \ |  | ||||||
| 		} \ |  | ||||||
| 		else \ |  | ||||||
| 		{ \ |  | ||||||
| 			*(paramType *)vptr = (paramType)(paramStruct->orgParams[i]); \ |  | ||||||
| 		} \ |  | ||||||
| 		if(i + 1 != dg->params.Count()) \ |  | ||||||
| 		{ \ |  | ||||||
| 			vptr += dg->params.Element(i).size; \ |  | ||||||
| 		} \ |  | ||||||
| 		break; |  | ||||||
| #define VSTK_PARAM_SWITCH_FLOAT() \ |  | ||||||
| 		if(paramStruct->isChanged[i]) \ |  | ||||||
| 		{ \ |  | ||||||
| 			*(float *)vptr = *(float *)(paramStruct->newParams[i]); \ |  | ||||||
| 		} \ |  | ||||||
| 		else \ |  | ||||||
| 		{ \ |  | ||||||
| 			*(float *)vptr = *(float *)(paramStruct->orgParams[i]); \ |  | ||||||
| 		} \ |  | ||||||
| 		if(i + 1 != dg->params.Count()) \ |  | ||||||
| 		{ \ |  | ||||||
| 			vptr += dg->params.Element(i).size; \ |  | ||||||
| 		} \ |  | ||||||
| 		break; |  | ||||||
| 
 |  | ||||||
| void *CallVFunction(DHooksCallback *dg, HookParamsStruct *paramStruct, void *iface) |  | ||||||
| { |  | ||||||
| 	PassInfo *paramInfo = NULL; |  | ||||||
| 	PassInfo returnInfo; |  | ||||||
| 
 |  | ||||||
| 	if(dg->returnType != ReturnType_Void) |  | ||||||
| 	{ |  | ||||||
| 		returnInfo.flags = dg->returnFlag; |  | ||||||
| 		returnInfo.size = sizeof(void *); |  | ||||||
| 		returnInfo.type = PassType_Basic; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	ICallWrapper *pCall; |  | ||||||
| 
 |  | ||||||
| 	size_t size = GetStackArgsSize(dg); |  | ||||||
| 
 |  | ||||||
| 	unsigned char *vstk = (unsigned char *)malloc(sizeof(void *) + size); |  | ||||||
| 	unsigned char *vptr = vstk; |  | ||||||
| 
 |  | ||||||
| 	*(void **)vptr = iface; |  | ||||||
| 
 |  | ||||||
| 	if(paramStruct) |  | ||||||
| 	{ |  | ||||||
| 		vptr += sizeof(void *); |  | ||||||
| 		paramInfo = (PassInfo *)malloc(sizeof(PassInfo) * dg->params.Count()); |  | ||||||
| 		for(int i = 0; i < dg->params.Count(); i++) |  | ||||||
| 		{ |  | ||||||
| 			switch(dg->params.Element(i).type) |  | ||||||
| 			{ |  | ||||||
| 				case HookParamType_Int: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(int); |  | ||||||
| 				case HookParamType_Bool: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(cell_t); |  | ||||||
| 				case HookParamType_Float: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Float); |  | ||||||
| 					VSTK_PARAM_SWITCH_FLOAT(); |  | ||||||
| 				case HookParamType_String: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Object); |  | ||||||
| 					VSTK_PARAM_SWITCH(int); |  | ||||||
| 				case HookParamType_StringPtr: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(string_t *); |  | ||||||
| 				case HookParamType_CharPtr: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(char *); |  | ||||||
| 				case HookParamType_VectorPtr: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(Vector *); |  | ||||||
| 				case HookParamType_CBaseEntity: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(CBaseEntity *); |  | ||||||
| 				case HookParamType_Edict: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(edict_t *); |  | ||||||
| 				default: |  | ||||||
| 					PARAMINFO_SWITCH(PassType_Basic); |  | ||||||
| 					VSTK_PARAM_SWITCH(void *); |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	void *ret = 0; |  | ||||||
| 	if(dg->returnType == ReturnType_Void) |  | ||||||
| 	{ |  | ||||||
| 		pCall = g_pBinTools->CreateVCall(dg->offset, 0, 0, NULL, paramInfo, dg->params.Count()); |  | ||||||
| 		pCall->Execute(vstk, NULL); |  | ||||||
| 	} |  | ||||||
| 	else |  | ||||||
| 	{ |  | ||||||
| 		pCall = g_pBinTools->CreateVCall(dg->offset, 0, 0, &returnInfo, paramInfo, dg->params.Count()); |  | ||||||
| 		pCall->Execute(vstk, &ret); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	pCall->Destroy(); |  | ||||||
| 	free(vstk); |  | ||||||
| 
 |  | ||||||
| 	if(paramInfo != NULL) |  | ||||||
| 	{ |  | ||||||
| 		free(paramInfo); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return ret; |  | ||||||
| } |  | ||||||
							
								
								
									
										13
									
								
								vhook.cpp
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								vhook.cpp
									
									
									
									
									
								
							| @ -370,7 +370,7 @@ void *Callback(DHooksCallback *dg, void **argStack) | |||||||
| #ifndef __linux__ | #ifndef __linux__ | ||||||
| float Callback_float(DHooksCallback *dg, void **argStack, size_t *argsizep) | float Callback_float(DHooksCallback *dg, void **argStack, size_t *argsizep) | ||||||
| #else | #else | ||||||
| void *Callback_float(DHooksCallback *dg, void **argStack) | float Callback_float(DHooksCallback *dg, void **argStack) | ||||||
| #endif | #endif | ||||||
| { | { | ||||||
| 	HookReturnStruct *returnStruct = NULL; | 	HookReturnStruct *returnStruct = NULL; | ||||||
| @ -400,7 +400,7 @@ void *Callback_float(DHooksCallback *dg, void **argStack) | |||||||
| 			delete returnStruct; | 			delete returnStruct; | ||||||
| 		} | 		} | ||||||
| 		g_SHPtr->SetRes(MRES_IGNORED); | 		g_SHPtr->SetRes(MRES_IGNORED); | ||||||
| 		return NULL; | 		return 0.0; | ||||||
| 	} | 	} | ||||||
| 	dg->plugin_callback->PushCell(rHndl); | 	dg->plugin_callback->PushCell(rHndl); | ||||||
| 
 | 
 | ||||||
| @ -426,7 +426,7 @@ void *Callback_float(DHooksCallback *dg, void **argStack) | |||||||
| 				delete paramStruct; | 				delete paramStruct; | ||||||
| 			} | 			} | ||||||
| 			g_SHPtr->SetRes(MRES_IGNORED); | 			g_SHPtr->SetRes(MRES_IGNORED); | ||||||
| 			return NULL; | 			return 0.0; | ||||||
| 		} | 		} | ||||||
| 		dg->plugin_callback->PushCell(pHndl); | 		dg->plugin_callback->PushCell(pHndl); | ||||||
| 	} | 	} | ||||||
| @ -517,11 +517,15 @@ void *Callback_float(DHooksCallback *dg, void **argStack) | |||||||
| 
 | 
 | ||||||
| 	if(dg->returnType == ReturnType_Void || mres <= MRES_HANDLED) | 	if(dg->returnType == ReturnType_Void || mres <= MRES_HANDLED) | ||||||
| 	{ | 	{ | ||||||
| 		return NULL; | 		return 0.0; | ||||||
| 	} | 	} | ||||||
| 	return *(float *)ret; | 	return *(float *)ret; | ||||||
| } | } | ||||||
|  | #ifndef __linux__ | ||||||
| Vector *Callback_vector(DHooksCallback *dg, void **argStack, size_t *argsizep) | Vector *Callback_vector(DHooksCallback *dg, void **argStack, size_t *argsizep) | ||||||
|  | #else | ||||||
|  | Vector *Callback_vector(DHooksCallback *dg, void **argStack) | ||||||
|  | #endif | ||||||
| { | { | ||||||
| 	Vector *vec_result = (Vector *)argStack[0]; // Save the result
 | 	Vector *vec_result = (Vector *)argStack[0]; // Save the result
 | ||||||
| 
 | 
 | ||||||
| @ -670,7 +674,6 @@ Vector *Callback_vector(DHooksCallback *dg, void **argStack, size_t *argsizep) | |||||||
| 
 | 
 | ||||||
| 	if(dg->returnType == ReturnType_Void || mres <= MRES_HANDLED) | 	if(dg->returnType == ReturnType_Void || mres <= MRES_HANDLED) | ||||||
| 	{ | 	{ | ||||||
| 		META_CONPRINT("Returning now\n"); |  | ||||||
| 		vec_result->x = 0; | 		vec_result->x = 0; | ||||||
| 		vec_result->y = 0; | 		vec_result->y = 0; | ||||||
| 		vec_result->z = 0; | 		vec_result->z = 0; | ||||||
|  | |||||||
							
								
								
									
										1
									
								
								vhook.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								vhook.h
									
									
									
									
									
								
							| @ -165,6 +165,7 @@ Vector *Callback_vector(DHooksCallback *dg, void **stack, size_t *argsizep); | |||||||
| #else | #else | ||||||
| void *Callback(DHooksCallback *dg, void **stack); | void *Callback(DHooksCallback *dg, void **stack); | ||||||
| float Callback_float(DHooksCallback *dg, void **stack); | float Callback_float(DHooksCallback *dg, void **stack); | ||||||
|  | Vector Callback_vector(DHooksCallback *dg, void **stack, size_t *argsizep); | ||||||
| #endif | #endif | ||||||
| bool SetupHookManager(ISmmAPI *ismm); | bool SetupHookManager(ISmmAPI *ismm); | ||||||
| void CleanupHooks(IPluginContext *pContext); | void CleanupHooks(IPluginContext *pContext); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user