Working at time of commision.
This commit is contained in:
		
							
								
								
									
										3084
									
								
								dlls/sven/amxxmodule.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3084
									
								
								dlls/sven/amxxmodule.cpp
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2271
									
								
								dlls/sven/amxxmodule.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2271
									
								
								dlls/sven/amxxmodule.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										472
									
								
								dlls/sven/moduleconfig.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										472
									
								
								dlls/sven/moduleconfig.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,472 @@ | |||||||
|  | // Configuration | ||||||
|  |  | ||||||
|  | #ifndef __MODULECONFIG_H__ | ||||||
|  | #define __MODULECONFIG_H__ | ||||||
|  |  | ||||||
|  | // Module info | ||||||
|  | #define MODULE_NAME "SvenFun" | ||||||
|  | #define MODULE_VERSION "1.65" | ||||||
|  | #define MODULE_AUTHOR "Sanji" | ||||||
|  | #define MODULE_URL "www.amxmodx.org" | ||||||
|  | #define MODULE_LOGTAG "SF" | ||||||
|  | // If you want the module not to be reloaded on mapchange, remove / comment out the next line | ||||||
|  | #define MODULE_RELOAD_ON_MAPCHANGE | ||||||
|  |  | ||||||
|  | #ifdef __DATE__ | ||||||
|  | #define MODULE_DATE __DATE__ | ||||||
|  | #else // __DATE__ | ||||||
|  | #define MODULE_DATE "Unknown" | ||||||
|  | #endif // __DATE__ | ||||||
|  |  | ||||||
|  | // metamod plugin? | ||||||
|  | #define USE_METAMOD | ||||||
|  |  | ||||||
|  | // use memory manager/tester? | ||||||
|  | // note that if you use this, you cannot construct/allocate  | ||||||
|  | // anything before the module attached (OnAmxxAttach). | ||||||
|  | // be careful of default constructors using new/malloc! | ||||||
|  | // #define MEMORY_TEST | ||||||
|  |  | ||||||
|  | // Unless you use STL or exceptions, keep this commented. | ||||||
|  | // It allows you to compile without libstdc++.so as a dependency | ||||||
|  | // #define NO_ALLOC_OVERRIDES | ||||||
|  |  | ||||||
|  | // - AMXX Init functions | ||||||
|  | // Also consider using FN_META_* | ||||||
|  | // AMXX query | ||||||
|  | //#define FN_AMXX_QUERY OnAmxxQuery | ||||||
|  | // AMXX attach | ||||||
|  | //   Do native functions init here (MF_AddNatives) | ||||||
|  | #define FN_AMXX_ATTACH OnAmxxAttach | ||||||
|  | // AMXX detach | ||||||
|  | //#define FN_AMXX_DETACH OnAmxxDetach | ||||||
|  | // All plugins loaded | ||||||
|  | //   Do forward functions init here (MF_RegisterForward) | ||||||
|  | // #define FN_AMXX_PLUGINSLOADED OnPluginsLoaded | ||||||
|  |  | ||||||
|  | /**** METAMOD ****/ | ||||||
|  | // If your module doesn't use metamod, you may close the file now :) | ||||||
|  | #ifdef USE_METAMOD | ||||||
|  | // ---- | ||||||
|  | // Hook Functions | ||||||
|  | // Uncomment these to be called | ||||||
|  | // You can also change the function name | ||||||
|  |  | ||||||
|  | // - Metamod init functions | ||||||
|  | // Also consider using FN_AMXX_* | ||||||
|  | // Meta query | ||||||
|  | //#define FN_META_QUERY OnMetaQuery | ||||||
|  | // Meta attach | ||||||
|  | //#define FN_META_ATTACH OnMetaAttach | ||||||
|  | // Meta detach | ||||||
|  | //#define FN_META_DETACH OnMetaDetach | ||||||
|  |  | ||||||
|  | // (wd) are Will Day's notes | ||||||
|  | // - GetEntityAPI2 functions | ||||||
|  | // #define FN_GameDLLInit				GameDLLInit					/* pfnGameInit() */ | ||||||
|  | // #define FN_DispatchSpawn				DispatchSpawn				/* pfnSpawn() */ | ||||||
|  | // #define FN_DispatchThink				DispatchThink				/* pfnThink() */ | ||||||
|  | // #define FN_DispatchUse				DispatchUse					/* pfnUse() */ | ||||||
|  | // #define FN_DispatchTouch				DispatchTouch				/* pfnTouch() */ | ||||||
|  | // #define FN_DispatchBlocked			DispatchBlocked				/* pfnBlocked() */ | ||||||
|  | // #define FN_DispatchKeyValue			DispatchKeyValue			/* pfnKeyValue() */ | ||||||
|  | // #define FN_DispatchSave				DispatchSave				/* pfnSave() */ | ||||||
|  | // #define FN_DispatchRestore			DispatchRestore				/* pfnRestore() */ | ||||||
|  | // #define FN_DispatchObjectCollsionBox	DispatchObjectCollsionBox	/* pfnSetAbsBox() */ | ||||||
|  | // #define FN_SaveWriteFields			SaveWriteFields				/* pfnSaveWriteFields() */ | ||||||
|  | // #define FN_SaveReadFields			SaveReadFields				/* pfnSaveReadFields() */ | ||||||
|  | // #define FN_SaveGlobalState			SaveGlobalState				/* pfnSaveGlobalState() */ | ||||||
|  | // #define FN_RestoreGlobalState		RestoreGlobalState			/* pfnRestoreGlobalState() */ | ||||||
|  | // #define FN_ResetGlobalState			ResetGlobalState			/* pfnResetGlobalState() */ | ||||||
|  | // #define FN_ClientConnect				ClientConnect				/* pfnClientConnect()			(wd) Client has connected */ | ||||||
|  | // #define FN_ClientDisconnect			ClientDisconnect			/* pfnClientDisconnect()		(wd) Player has left the game */ | ||||||
|  | // #define FN_ClientKill				ClientKill					/* pfnClientKill()				(wd) Player has typed "kill" */ | ||||||
|  | // #define FN_ClientPutInServer			ClientPutInServer			/* pfnClientPutInServer()		(wd) Client is entering the game */ | ||||||
|  | // #define FN_ClientCommand				ClientCommand				/* pfnClientCommand()			(wd) Player has sent a command (typed or from a bind) */ | ||||||
|  | // #define FN_ClientUserInfoChanged		ClientUserInfoChanged		/* pfnClientUserInfoChanged()	(wd) Client has updated their setinfo structure */ | ||||||
|  | // #define FN_ServerActivate			ServerActivate				/* pfnServerActivate()			(wd) Server is starting a new map */ | ||||||
|  | // #define FN_ServerDeactivate			ServerDeactivate			/* pfnServerDeactivate()		(wd) Server is leaving the map (shutdown or changelevel); SDK2 */ | ||||||
|  | // #define FN_PlayerPreThink			PlayerPreThink				/* pfnPlayerPreThink() */ | ||||||
|  | // #define FN_PlayerPostThink			PlayerPostThink				/* pfnPlayerPostThink() */ | ||||||
|  | // #define FN_StartFrame				StartFrame					/* pfnStartFrame() */ | ||||||
|  | // #define FN_ParmsNewLevel				ParmsNewLevel				/* pfnParmsNewLevel() */ | ||||||
|  | // #define FN_ParmsChangeLevel			ParmsChangeLevel			/* pfnParmsChangeLevel() */ | ||||||
|  | // #define FN_GetGameDescription		GetGameDescription			/* pfnGetGameDescription()		Returns string describing current .dll.  E.g. "TeamFotrress 2" "Half-Life" */ | ||||||
|  | // #define FN_PlayerCustomization		PlayerCustomization			/* pfnPlayerCustomization()	Notifies .dll of new customization for player. */ | ||||||
|  | // #define FN_SpectatorConnect			SpectatorConnect			/* pfnSpectatorConnect()		Called when spectator joins server */ | ||||||
|  | // #define FN_SpectatorDisconnect		SpectatorDisconnect			/* pfnSpectatorDisconnect()	Called when spectator leaves the server */ | ||||||
|  | // #define FN_SpectatorThink			SpectatorThink				/* pfnSpectatorThink()			Called when spectator sends a command packet (usercmd_t) */ | ||||||
|  | // #define FN_Sys_Error					Sys_Error					/* pfnSys_Error()				Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.  SDK2 */ | ||||||
|  | // #define FN_PM_Move					PM_Move						/* pfnPM_Move()				(wd) SDK2 */ | ||||||
|  | // #define FN_PM_Init					PM_Init						/* pfnPM_Init()				Server version of player movement initialization; (wd) SDK2 */ | ||||||
|  | // #define FN_PM_FindTextureType		PM_FindTextureType			/* pfnPM_FindTextureType()		(wd) SDK2 */ | ||||||
|  | // #define FN_SetupVisibility			SetupVisibility				/* pfnSetupVisibility()		Set up PVS and PAS for networking for this client; (wd) SDK2 */ | ||||||
|  | // #define FN_UpdateClientData			UpdateClientData			/* pfnUpdateClientData()		Set up data sent only to specific client; (wd) SDK2 */ | ||||||
|  | // #define FN_AddToFullPack				AddToFullPack				/* pfnAddToFullPack()			(wd) SDK2 */ | ||||||
|  | // #define FN_CreateBaseline			CreateBaseline				/* pfnCreateBaseline()			Tweak entity baseline for network encoding allows setup of player baselines too.; (wd) SDK2 */ | ||||||
|  | // #define FN_RegisterEncoders			RegisterEncoders			/* pfnRegisterEncoders()		Callbacks for network encoding; (wd) SDK2 */ | ||||||
|  | // #define FN_GetWeaponData				GetWeaponData				/* pfnGetWeaponData()			(wd) SDK2 */ | ||||||
|  | // #define FN_CmdStart					CmdStart					/* pfnCmdStart()				(wd) SDK2 */ | ||||||
|  | // #define FN_CmdEnd					CmdEnd						/* pfnCmdEnd()					(wd) SDK2 */ | ||||||
|  | // #define FN_ConnectionlessPacket		ConnectionlessPacket		/* pfnConnectionlessPacket()	(wd) SDK2 */ | ||||||
|  | // #define FN_GetHullBounds				GetHullBounds				/* pfnGetHullBounds()			(wd) SDK2 */ | ||||||
|  | // #define FN_CreateInstancedBaselines	CreateInstancedBaselines	/* pfnCreateInstancedBaselines()	(wd) SDK2 */ | ||||||
|  | // #define FN_InconsistentFile			InconsistentFile			/* pfnInconsistentFile()		(wd) SDK2 */ | ||||||
|  | // #define FN_AllowLagCompensation		AllowLagCompensation		/* pfnAllowLagCompensation()	(wd) SDK2 */ | ||||||
|  |  | ||||||
|  | // - GetEntityAPI2_Post functions | ||||||
|  | // #define FN_GameDLLInit_Post					GameDLLInit_Post | ||||||
|  | // #define FN_DispatchSpawn_Post				DispatchSpawn_Post | ||||||
|  | // #define FN_DispatchThink_Post				DispatchThink_Post | ||||||
|  | // #define FN_DispatchUse_Post					DispatchUse_Post | ||||||
|  | // #define FN_DispatchTouch_Post				DispatchTouch_Post | ||||||
|  | // #define FN_DispatchBlocked_Post				DispatchBlocked_Post | ||||||
|  | // #define FN_DispatchKeyValue_Post				DispatchKeyValue_Post | ||||||
|  | // #define FN_DispatchSave_Post					DispatchSave_Post | ||||||
|  | // #define FN_DispatchRestore_Post				DispatchRestore_Post | ||||||
|  | // #define FN_DispatchObjectCollsionBox_Post	DispatchObjectCollsionBox_Post | ||||||
|  | // #define FN_SaveWriteFields_Post				SaveWriteFields_Post | ||||||
|  | // #define FN_SaveReadFields_Post				SaveReadFields_Post | ||||||
|  | // #define FN_SaveGlobalState_Post				SaveGlobalState_Post | ||||||
|  | // #define FN_RestoreGlobalState_Post			RestoreGlobalState_Post | ||||||
|  | // #define FN_ResetGlobalState_Post				ResetGlobalState_Post | ||||||
|  | // #define FN_ClientConnect_Post				ClientConnect_Post | ||||||
|  | // #define FN_ClientDisconnect_Post				ClientDisconnect_Post | ||||||
|  | // #define FN_ClientKill_Post					ClientKill_Post | ||||||
|  | // #define FN_ClientPutInServer_Post			ClientPutInServer_Post | ||||||
|  | // #define FN_ClientCommand_Post				ClientCommand_Post | ||||||
|  | // #define FN_ClientUserInfoChanged_Post		ClientUserInfoChanged_Post | ||||||
|  | // #define FN_ServerActivate_Post				ServerActivate_Post | ||||||
|  | // #define FN_ServerDeactivate_Post				ServerDeactivate_Post | ||||||
|  | // #define FN_PlayerPreThink_Post				PlayerPreThink_Post | ||||||
|  | // #define FN_PlayerPostThink_Post				PlayerPostThink_Post | ||||||
|  | // #define FN_StartFrame_Post					StartFrame_Post | ||||||
|  | // #define FN_ParmsNewLevel_Post				ParmsNewLevel_Post | ||||||
|  | // #define FN_ParmsChangeLevel_Post				ParmsChangeLevel_Post | ||||||
|  | // #define FN_GetGameDescription_Post			GetGameDescription_Post | ||||||
|  | // #define FN_PlayerCustomization_Post			PlayerCustomization_Post | ||||||
|  | // #define FN_SpectatorConnect_Post				SpectatorConnect_Post | ||||||
|  | // #define FN_SpectatorDisconnect_Post			SpectatorDisconnect_Post | ||||||
|  | // #define FN_SpectatorThink_Post				SpectatorThink_Post | ||||||
|  | // #define FN_Sys_Error_Post					Sys_Error_Post | ||||||
|  | // #define FN_PM_Move_Post						PM_Move_Post | ||||||
|  | // #define FN_PM_Init_Post						PM_Init_Post | ||||||
|  | // #define FN_PM_FindTextureType_Post			PM_FindTextureType_Post | ||||||
|  | // #define FN_SetupVisibility_Post				SetupVisibility_Post | ||||||
|  | // #define FN_UpdateClientData_Post				UpdateClientData_Post | ||||||
|  | // #define FN_AddToFullPack_Post				AddToFullPack_Post | ||||||
|  | // #define FN_CreateBaseline_Post				CreateBaseline_Post | ||||||
|  | // #define FN_RegisterEncoders_Post				RegisterEncoders_Post | ||||||
|  | // #define FN_GetWeaponData_Post				GetWeaponData_Post | ||||||
|  | // #define FN_CmdStart_Post						CmdStart_Post | ||||||
|  | // #define FN_CmdEnd_Post						CmdEnd_Post | ||||||
|  | // #define FN_ConnectionlessPacket_Post			ConnectionlessPacket_Post | ||||||
|  | // #define FN_GetHullBounds_Post				GetHullBounds_Post | ||||||
|  | // #define FN_CreateInstancedBaselines_Post		CreateInstancedBaselines_Post | ||||||
|  | // #define FN_InconsistentFile_Post				InconsistentFile_Post | ||||||
|  | // #define FN_AllowLagCompensation_Post			AllowLagCompensation_Post | ||||||
|  |  | ||||||
|  | // - GetEngineAPI functions | ||||||
|  | // #define FN_PrecacheModel						PrecacheModel | ||||||
|  | // #define FN_PrecacheSound						PrecacheSound | ||||||
|  | // #define FN_SetModel							SetModel | ||||||
|  | // #define FN_ModelIndex						ModelIndex | ||||||
|  | // #define FN_ModelFrames						ModelFrames | ||||||
|  | // #define FN_SetSize							SetSize | ||||||
|  | // #define FN_ChangeLevel						ChangeLevel | ||||||
|  | // #define FN_GetSpawnParms						GetSpawnParms | ||||||
|  | // #define FN_SaveSpawnParms					SaveSpawnParms | ||||||
|  | // #define FN_VecToYaw							VecToYaw | ||||||
|  | // #define FN_VecToAngles						VecToAngles | ||||||
|  | // #define FN_MoveToOrigin						MoveToOrigin | ||||||
|  | // #define FN_ChangeYaw							ChangeYaw | ||||||
|  | // #define FN_ChangePitch						ChangePitch | ||||||
|  | // #define FN_FindEntityByString				FindEntityByString | ||||||
|  | // #define FN_GetEntityIllum					GetEntityIllum | ||||||
|  | // #define FN_FindEntityInSphere				FindEntityInSphere | ||||||
|  | // #define FN_FindClientInPVS					FindClientInPVS | ||||||
|  | // #define FN_EntitiesInPVS						EntitiesInPVS | ||||||
|  | // #define FN_MakeVectors						MakeVectors | ||||||
|  | // #define FN_AngleVectors						AngleVectors | ||||||
|  | // #define FN_CreateEntity						CreateEntity | ||||||
|  | // #define FN_RemoveEntity						RemoveEntity | ||||||
|  | // #define FN_CreateNamedEntity					CreateNamedEntity | ||||||
|  | // #define FN_MakeStatic						MakeStatic | ||||||
|  | // #define FN_EntIsOnFloor						EntIsOnFloor | ||||||
|  | // #define FN_DropToFloor						DropToFloor | ||||||
|  | // #define FN_WalkMove							WalkMove | ||||||
|  | // #define FN_SetOrigin							SetOrigin | ||||||
|  | // #define FN_EmitSound							EmitSound | ||||||
|  | // #define FN_EmitAmbientSound					EmitAmbientSound | ||||||
|  | // #define FN_TraceLine							TraceLine | ||||||
|  | // #define FN_TraceToss							TraceToss | ||||||
|  | // #define FN_TraceMonsterHull					TraceMonsterHull | ||||||
|  | // #define FN_TraceHull							TraceHull | ||||||
|  | // #define FN_TraceModel						TraceModel | ||||||
|  | // #define FN_TraceTexture						TraceTexture | ||||||
|  | // #define FN_TraceSphere						TraceSphere | ||||||
|  | // #define FN_GetAimVector						GetAimVector | ||||||
|  | // #define FN_ServerCommand						ServerCommand | ||||||
|  | // #define FN_ServerExecute						ServerExecute | ||||||
|  | // #define FN_engClientCommand					engClientCommand | ||||||
|  | // #define FN_ParticleEffect					ParticleEffect | ||||||
|  | // #define FN_LightStyle						LightStyle | ||||||
|  | // #define FN_DecalIndex						DecalIndex | ||||||
|  | // #define FN_PointContents						PointContents | ||||||
|  | // #define FN_MessageBegin						MessageBegin | ||||||
|  | // #define FN_MessageEnd						MessageEnd | ||||||
|  | // #define FN_WriteByte							WriteByte | ||||||
|  | // #define FN_WriteChar							WriteChar | ||||||
|  | // #define FN_WriteShort						WriteShort | ||||||
|  | // #define FN_WriteLong							WriteLong | ||||||
|  | // #define FN_WriteAngle						WriteAngle | ||||||
|  | // #define FN_WriteCoord						WriteCoord | ||||||
|  | // #define FN_WriteString						WriteString | ||||||
|  | // #define FN_WriteEntity						WriteEntity | ||||||
|  | // #define FN_CVarRegister						CVarRegister | ||||||
|  | // #define FN_CVarGetFloat						CVarGetFloat | ||||||
|  | // #define FN_CVarGetString						CVarGetString | ||||||
|  | // #define FN_CVarSetFloat						CVarSetFloat | ||||||
|  | // #define FN_CVarSetString						CVarSetString | ||||||
|  | // #define FN_AlertMessage						AlertMessage | ||||||
|  | // #define FN_EngineFprintf						EngineFprintf | ||||||
|  | // #define FN_PvAllocEntPrivateData				PvAllocEntPrivateData | ||||||
|  | // #define FN_PvEntPrivateData					PvEntPrivateData | ||||||
|  | // #define FN_FreeEntPrivateData				FreeEntPrivateData | ||||||
|  | // #define FN_SzFromIndex						SzFromIndex | ||||||
|  | // #define FN_AllocString						AllocString | ||||||
|  | // #define FN_GetVarsOfEnt						GetVarsOfEnt | ||||||
|  | // #define FN_PEntityOfEntOffset				PEntityOfEntOffset | ||||||
|  | // #define FN_EntOffsetOfPEntity				EntOffsetOfPEntity | ||||||
|  | // #define FN_IndexOfEdict						IndexOfEdict | ||||||
|  | // #define FN_PEntityOfEntIndex					PEntityOfEntIndex | ||||||
|  | // #define FN_FindEntityByVars					FindEntityByVars | ||||||
|  | // #define FN_GetModelPtr						GetModelPtr | ||||||
|  | // #define FN_RegUserMsg						RegUserMsg | ||||||
|  | // #define FN_AnimationAutomove					AnimationAutomove | ||||||
|  | // #define FN_GetBonePosition					GetBonePosition | ||||||
|  | // #define FN_FunctionFromName					FunctionFromName | ||||||
|  | // #define FN_NameForFunction					NameForFunction | ||||||
|  | // #define FN_ClientPrintf						ClientPrintf | ||||||
|  | // #define FN_ServerPrint						ServerPrint | ||||||
|  | // #define FN_Cmd_Args							Cmd_Args | ||||||
|  | // #define FN_Cmd_Argv							Cmd_Argv | ||||||
|  | // #define FN_Cmd_Argc							Cmd_Argc | ||||||
|  | // #define FN_GetAttachment						GetAttachment | ||||||
|  | // #define FN_CRC32_Init						CRC32_Init | ||||||
|  | // #define FN_CRC32_ProcessBuffer				CRC32_ProcessBuffer | ||||||
|  | // #define FN_CRC32_ProcessByte					CRC32_ProcessByte | ||||||
|  | // #define FN_CRC32_Final						CRC32_Final | ||||||
|  | // #define FN_RandomLong						RandomLong | ||||||
|  | // #define FN_RandomFloat						RandomFloat | ||||||
|  | // #define FN_SetView							SetView | ||||||
|  | // #define FN_Time								Time | ||||||
|  | // #define FN_CrosshairAngle					CrosshairAngle | ||||||
|  | // #define FN_LoadFileForMe						LoadFileForMe | ||||||
|  | // #define FN_FreeFile							FreeFile | ||||||
|  | // #define FN_EndSection						EndSection | ||||||
|  | // #define FN_CompareFileTime					CompareFileTime | ||||||
|  | // #define FN_GetGameDir						GetGameDir | ||||||
|  | // #define FN_Cvar_RegisterVariable				Cvar_RegisterVariable | ||||||
|  | // #define FN_FadeClientVolume					FadeClientVolume | ||||||
|  | // #define FN_SetClientMaxspeed					SetClientMaxspeed | ||||||
|  | // #define FN_CreateFakeClient					CreateFakeClient | ||||||
|  | // #define FN_RunPlayerMove						RunPlayerMove | ||||||
|  | // #define FN_NumberOfEntities					NumberOfEntities | ||||||
|  | // #define FN_GetInfoKeyBuffer					GetInfoKeyBuffer | ||||||
|  | // #define FN_InfoKeyValue						InfoKeyValue | ||||||
|  | // #define FN_SetKeyValue						SetKeyValue | ||||||
|  | // #define FN_SetClientKeyValue					SetClientKeyValue | ||||||
|  | // #define FN_IsMapValid						IsMapValid | ||||||
|  | // #define FN_StaticDecal						StaticDecal | ||||||
|  | // #define FN_PrecacheGeneric					PrecacheGeneric | ||||||
|  | // #define FN_GetPlayerUserId					GetPlayerUserId | ||||||
|  | // #define FN_BuildSoundMsg						BuildSoundMsg | ||||||
|  | // #define FN_IsDedicatedServer					IsDedicatedServer | ||||||
|  | // #define FN_CVarGetPointer					CVarGetPointer | ||||||
|  | // #define FN_GetPlayerWONId					GetPlayerWONId | ||||||
|  | // #define FN_Info_RemoveKey					Info_RemoveKey | ||||||
|  | // #define FN_GetPhysicsKeyValue				GetPhysicsKeyValue | ||||||
|  | // #define FN_SetPhysicsKeyValue				SetPhysicsKeyValue | ||||||
|  | // #define FN_GetPhysicsInfoString				GetPhysicsInfoString | ||||||
|  | // #define FN_PrecacheEvent						PrecacheEvent | ||||||
|  | // #define FN_PlaybackEvent						PlaybackEvent | ||||||
|  | // #define FN_SetFatPVS							SetFatPVS | ||||||
|  | // #define FN_SetFatPAS							SetFatPAS | ||||||
|  | // #define FN_CheckVisibility					CheckVisibility | ||||||
|  | // #define FN_DeltaSetField						DeltaSetField | ||||||
|  | // #define FN_DeltaUnsetField					DeltaUnsetField | ||||||
|  | // #define FN_DeltaAddEncoder					DeltaAddEncoder | ||||||
|  | // #define FN_GetCurrentPlayer					GetCurrentPlayer | ||||||
|  | // #define FN_CanSkipPlayer						CanSkipPlayer | ||||||
|  | // #define FN_DeltaFindField					DeltaFindField | ||||||
|  | // #define FN_DeltaSetFieldByIndex				DeltaSetFieldByIndex | ||||||
|  | // #define FN_DeltaUnsetFieldByIndex			DeltaUnsetFieldByIndex | ||||||
|  | // #define FN_SetGroupMask						SetGroupMask | ||||||
|  | // #define FN_engCreateInstancedBaseline		engCreateInstancedBaseline | ||||||
|  | // #define FN_Cvar_DirectSet					Cvar_DirectSet | ||||||
|  | // #define FN_ForceUnmodified					ForceUnmodified | ||||||
|  | // #define FN_GetPlayerStats					GetPlayerStats | ||||||
|  | // #define FN_AddServerCommand					AddServerCommand | ||||||
|  | // #define FN_Voice_GetClientListening			Voice_GetClientListening | ||||||
|  | // #define FN_Voice_SetClientListening			Voice_SetClientListening | ||||||
|  | // #define FN_GetPlayerAuthId					GetPlayerAuthId | ||||||
|  |  | ||||||
|  | // - GetEngineAPI_Post functions | ||||||
|  | // #define FN_PrecacheModel_Post				PrecacheModel_Post | ||||||
|  | // #define FN_PrecacheSound_Post				PrecacheSound_Post | ||||||
|  | // #define FN_SetModel_Post						SetModel_Post | ||||||
|  | // #define FN_ModelIndex_Post					ModelIndex_Post | ||||||
|  | // #define FN_ModelFrames_Post					ModelFrames_Post | ||||||
|  | // #define FN_SetSize_Post						SetSize_Post | ||||||
|  | // #define FN_ChangeLevel_Post					ChangeLevel_Post | ||||||
|  | // #define FN_GetSpawnParms_Post				GetSpawnParms_Post | ||||||
|  | // #define FN_SaveSpawnParms_Post				SaveSpawnParms_Post | ||||||
|  | // #define FN_VecToYaw_Post						VecToYaw_Post | ||||||
|  | // #define FN_VecToAngles_Post					VecToAngles_Post | ||||||
|  | // #define FN_MoveToOrigin_Post					MoveToOrigin_Post | ||||||
|  | // #define FN_ChangeYaw_Post					ChangeYaw_Post | ||||||
|  | // #define FN_ChangePitch_Post					ChangePitch_Post | ||||||
|  | // #define FN_FindEntityByString_Post			FindEntityByString_Post | ||||||
|  | // #define FN_GetEntityIllum_Post				GetEntityIllum_Post | ||||||
|  | // #define FN_FindEntityInSphere_Post			FindEntityInSphere_Post | ||||||
|  | // #define FN_FindClientInPVS_Post				FindClientInPVS_Post | ||||||
|  | // #define FN_EntitiesInPVS_Post				EntitiesInPVS_Post | ||||||
|  | // #define FN_MakeVectors_Post					MakeVectors_Post | ||||||
|  | // #define FN_AngleVectors_Post					AngleVectors_Post | ||||||
|  | // #define FN_CreateEntity_Post					CreateEntity_Post | ||||||
|  | // #define FN_RemoveEntity_Post					RemoveEntity_Post | ||||||
|  | // #define FN_CreateNamedEntity_Post			CreateNamedEntity_Post | ||||||
|  | // #define FN_MakeStatic_Post					MakeStatic_Post | ||||||
|  | // #define FN_EntIsOnFloor_Post					EntIsOnFloor_Post | ||||||
|  | // #define FN_DropToFloor_Post					DropToFloor_Post | ||||||
|  | // #define FN_WalkMove_Post						WalkMove_Post | ||||||
|  | // #define FN_SetOrigin_Post					SetOrigin_Post | ||||||
|  | // #define FN_EmitSound_Post					EmitSound_Post | ||||||
|  | // #define FN_EmitAmbientSound_Post				EmitAmbientSound_Post | ||||||
|  | // #define FN_TraceLine_Post					TraceLine_Post | ||||||
|  | // #define FN_TraceToss_Post					TraceToss_Post | ||||||
|  | // #define FN_TraceMonsterHull_Post				TraceMonsterHull_Post | ||||||
|  | // #define FN_TraceHull_Post					TraceHull_Post | ||||||
|  | // #define FN_TraceModel_Post					TraceModel_Post | ||||||
|  | // #define FN_TraceTexture_Post					TraceTexture_Post | ||||||
|  | // #define FN_TraceSphere_Post					TraceSphere_Post | ||||||
|  | // #define FN_GetAimVector_Post					GetAimVector_Post | ||||||
|  | // #define FN_ServerCommand_Post				ServerCommand_Post | ||||||
|  | // #define FN_ServerExecute_Post				ServerExecute_Post | ||||||
|  | // #define FN_engClientCommand_Post				engClientCommand_Post | ||||||
|  | // #define FN_ParticleEffect_Post				ParticleEffect_Post | ||||||
|  | // #define FN_LightStyle_Post					LightStyle_Post | ||||||
|  | // #define FN_DecalIndex_Post					DecalIndex_Post | ||||||
|  | // #define FN_PointContents_Post				PointContents_Post | ||||||
|  | // #define FN_MessageBegin_Post					MessageBegin_Post | ||||||
|  | // #define FN_MessageEnd_Post					MessageEnd_Post | ||||||
|  | // #define FN_WriteByte_Post					WriteByte_Post | ||||||
|  | // #define FN_WriteChar_Post					WriteChar_Post | ||||||
|  | // #define FN_WriteShort_Post					WriteShort_Post | ||||||
|  | // #define FN_WriteLong_Post					WriteLong_Post | ||||||
|  | // #define FN_WriteAngle_Post					WriteAngle_Post | ||||||
|  | // #define FN_WriteCoord_Post					WriteCoord_Post | ||||||
|  | // #define FN_WriteString_Post					WriteString_Post | ||||||
|  | // #define FN_WriteEntity_Post					WriteEntity_Post | ||||||
|  | // #define FN_CVarRegister_Post					CVarRegister_Post | ||||||
|  | // #define FN_CVarGetFloat_Post					CVarGetFloat_Post | ||||||
|  | // #define FN_CVarGetString_Post				CVarGetString_Post | ||||||
|  | // #define FN_CVarSetFloat_Post					CVarSetFloat_Post | ||||||
|  | // #define FN_CVarSetString_Post				CVarSetString_Post | ||||||
|  | // #define FN_AlertMessage_Post					AlertMessage_Post | ||||||
|  | // #define FN_EngineFprintf_Post				EngineFprintf_Post | ||||||
|  | // #define FN_PvAllocEntPrivateData_Post		PvAllocEntPrivateData_Post | ||||||
|  | // #define FN_PvEntPrivateData_Post				PvEntPrivateData_Post | ||||||
|  | // #define FN_FreeEntPrivateData_Post			FreeEntPrivateData_Post | ||||||
|  | // #define FN_SzFromIndex_Post					SzFromIndex_Post | ||||||
|  | // #define FN_AllocString_Post					AllocString_Post | ||||||
|  | // #define FN_GetVarsOfEnt_Post					GetVarsOfEnt_Post | ||||||
|  | // #define FN_PEntityOfEntOffset_Post			PEntityOfEntOffset_Post | ||||||
|  | // #define FN_EntOffsetOfPEntity_Post			EntOffsetOfPEntity_Post | ||||||
|  | // #define FN_IndexOfEdict_Post					IndexOfEdict_Post | ||||||
|  | // #define FN_PEntityOfEntIndex_Post			PEntityOfEntIndex_Post | ||||||
|  | // #define FN_FindEntityByVars_Post				FindEntityByVars_Post | ||||||
|  | // #define FN_GetModelPtr_Post					GetModelPtr_Post | ||||||
|  | // #define FN_RegUserMsg_Post					RegUserMsg_Post | ||||||
|  | // #define FN_AnimationAutomove_Post			AnimationAutomove_Post | ||||||
|  | // #define FN_GetBonePosition_Post				GetBonePosition_Post | ||||||
|  | // #define FN_FunctionFromName_Post				FunctionFromName_Post | ||||||
|  | // #define FN_NameForFunction_Post				NameForFunction_Post | ||||||
|  | // #define FN_ClientPrintf_Post					ClientPrintf_Post | ||||||
|  | // #define FN_ServerPrint_Post					ServerPrint_Post | ||||||
|  | // #define FN_Cmd_Args_Post						Cmd_Args_Post | ||||||
|  | // #define FN_Cmd_Argv_Post						Cmd_Argv_Post | ||||||
|  | // #define FN_Cmd_Argc_Post						Cmd_Argc_Post | ||||||
|  | // #define FN_GetAttachment_Post				GetAttachment_Post | ||||||
|  | // #define FN_CRC32_Init_Post					CRC32_Init_Post | ||||||
|  | // #define FN_CRC32_ProcessBuffer_Post			CRC32_ProcessBuffer_Post | ||||||
|  | // #define FN_CRC32_ProcessByte_Post			CRC32_ProcessByte_Post | ||||||
|  | // #define FN_CRC32_Final_Post					CRC32_Final_Post | ||||||
|  | // #define FN_RandomLong_Post					RandomLong_Post | ||||||
|  | // #define FN_RandomFloat_Post					RandomFloat_Post | ||||||
|  | // #define FN_SetView_Post						SetView_Post | ||||||
|  | // #define FN_Time_Post							Time_Post | ||||||
|  | // #define FN_CrosshairAngle_Post				CrosshairAngle_Post | ||||||
|  | // #define FN_LoadFileForMe_Post				LoadFileForMe_Post | ||||||
|  | // #define FN_FreeFile_Post						FreeFile_Post | ||||||
|  | // #define FN_EndSection_Post					EndSection_Post | ||||||
|  | // #define FN_CompareFileTime_Post				CompareFileTime_Post | ||||||
|  | // #define FN_GetGameDir_Post					GetGameDir_Post | ||||||
|  | // #define FN_Cvar_RegisterVariable_Post		Cvar_RegisterVariable_Post | ||||||
|  | // #define FN_FadeClientVolume_Post				FadeClientVolume_Post | ||||||
|  | // #define FN_SetClientMaxspeed_Post			SetClientMaxspeed_Post | ||||||
|  | // #define FN_CreateFakeClient_Post				CreateFakeClient_Post | ||||||
|  | // #define FN_RunPlayerMove_Post				RunPlayerMove_Post | ||||||
|  | // #define FN_NumberOfEntities_Post				NumberOfEntities_Post | ||||||
|  | // #define FN_GetInfoKeyBuffer_Post				GetInfoKeyBuffer_Post | ||||||
|  | // #define FN_InfoKeyValue_Post					InfoKeyValue_Post | ||||||
|  | // #define FN_SetKeyValue_Post					SetKeyValue_Post | ||||||
|  | // #define FN_SetClientKeyValue_Post			SetClientKeyValue_Post | ||||||
|  | // #define FN_IsMapValid_Post					IsMapValid_Post | ||||||
|  | // #define FN_StaticDecal_Post					StaticDecal_Post | ||||||
|  | // #define FN_PrecacheGeneric_Post				PrecacheGeneric_Post | ||||||
|  | // #define FN_GetPlayerUserId_Post				GetPlayerUserId_Post | ||||||
|  | // #define FN_BuildSoundMsg_Post				BuildSoundMsg_Post | ||||||
|  | // #define FN_IsDedicatedServer_Post			IsDedicatedServer_Post | ||||||
|  | // #define FN_CVarGetPointer_Post				CVarGetPointer_Post | ||||||
|  | // #define FN_GetPlayerWONId_Post				GetPlayerWONId_Post | ||||||
|  | // #define FN_Info_RemoveKey_Post				Info_RemoveKey_Post | ||||||
|  | // #define FN_GetPhysicsKeyValue_Post			GetPhysicsKeyValue_Post | ||||||
|  | // #define FN_SetPhysicsKeyValue_Post			SetPhysicsKeyValue_Post | ||||||
|  | // #define FN_GetPhysicsInfoString_Post			GetPhysicsInfoString_Post | ||||||
|  | // #define FN_PrecacheEvent_Post				PrecacheEvent_Post | ||||||
|  | // #define FN_PlaybackEvent_Post				PlaybackEvent_Post | ||||||
|  | // #define FN_SetFatPVS_Post					SetFatPVS_Post | ||||||
|  | // #define FN_SetFatPAS_Post					SetFatPAS_Post | ||||||
|  | // #define FN_CheckVisibility_Post				CheckVisibility_Post | ||||||
|  | // #define FN_DeltaSetField_Post				DeltaSetField_Post | ||||||
|  | // #define FN_DeltaUnsetField_Post				DeltaUnsetField_Post | ||||||
|  | // #define FN_DeltaAddEncoder_Post				DeltaAddEncoder_Post | ||||||
|  | // #define FN_GetCurrentPlayer_Post				GetCurrentPlayer_Post | ||||||
|  | // #define FN_CanSkipPlayer_Post				CanSkipPlayer_Post | ||||||
|  | // #define FN_DeltaFindField_Post				DeltaFindField_Post | ||||||
|  | // #define FN_DeltaSetFieldByIndex_Post			DeltaSetFieldByIndex_Post | ||||||
|  | // #define FN_DeltaUnsetFieldByIndex_Post		DeltaUnsetFieldByIndex_Post | ||||||
|  | // #define FN_SetGroupMask_Post					SetGroupMask_Post | ||||||
|  | // #define FN_engCreateInstancedBaseline_Post	engCreateInstancedBaseline_Post | ||||||
|  | // #define FN_Cvar_DirectSet_Post				Cvar_DirectSet_Post | ||||||
|  | // #define FN_ForceUnmodified_Post				ForceUnmodified_Post | ||||||
|  | // #define FN_GetPlayerStats_Post				GetPlayerStats_Post | ||||||
|  | // #define FN_AddServerCommand_Post				AddServerCommand_Post | ||||||
|  | // #define FN_Voice_GetClientListening_Post		Voice_GetClientListening_Post | ||||||
|  | // #define FN_Voice_SetClientListening_Post		Voice_SetClientListening_Post | ||||||
|  | // #define FN_GetPlayerAuthId_Post				GetPlayerAuthId_Post | ||||||
|  |  | ||||||
|  | // #define FN_OnFreeEntPrivateData				OnFreeEntPrivateData				 | ||||||
|  | // #define FN_GameShutdown						GameShutdown | ||||||
|  | // #define FN_ShouldCollide						ShouldCollide | ||||||
|  |  | ||||||
|  | // #define FN_OnFreeEntPrivateData_Post			OnFreeEntPrivateData_Post | ||||||
|  | // #define FN_GameShutdown_Post					GameShutdown_Post | ||||||
|  | // #define FN_ShouldCollide_Post				ShouldCollide_Post | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #endif // USE_METAMOD | ||||||
|  |  | ||||||
|  | #endif // __MODULECONFIG_H__ | ||||||
							
								
								
									
										39
									
								
								dlls/sven/pdata.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								dlls/sven/pdata.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | |||||||
|  | // prevent double include | ||||||
|  | #ifndef __PDATA_H__ | ||||||
|  | #define __PDATA_H__ | ||||||
|  |  | ||||||
|  | #include <extdll.h> | ||||||
|  | #include "amxxmodule.h" | ||||||
|  |  | ||||||
|  | #if defined __linux__ | ||||||
|  | 	#define EXTRAOFFSET					5 // offsets 5 higher in Linux builds | ||||||
|  | #else | ||||||
|  | 	#define EXTRAOFFSET					0 // no change in Windows builds | ||||||
|  | #endif // defined __linux__ | ||||||
|  |  | ||||||
|  | inline edict_t* MF_GetEntityEdict( long& EntID ) | ||||||
|  | { | ||||||
|  | 	if( (EntID > 0) && (EntID <= (gpGlobals->maxClients) ) )  | ||||||
|  | 		return MF_GetPlayerEdict( EntID ); | ||||||
|  |  | ||||||
|  | 	return INDEXENT( EntID ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | template <typename ValueType> | ||||||
|  | inline void SetPData( long& targetid, long offset, ValueType value) | ||||||
|  | { | ||||||
|  | 	edict_t* target = MF_GetEntityEdict( targetid ); | ||||||
|  | 	if(target == NULL) return; | ||||||
|  |  | ||||||
|  | 	*((ValueType *)target->pvPrivateData + offset + EXTRAOFFSET) = value; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | template <typename ValueType> | ||||||
|  | inline ValueType GetPData( long& targetid, long offset, ValueType value ) | ||||||
|  | { | ||||||
|  | 	edict_t* target = MF_GetEntityEdict( targetid ); | ||||||
|  | 	if(target == NULL) return NULL; | ||||||
|  | 	return *((ValueType *)target->pvPrivateData + offset + EXTRAOFFSET); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif | ||||||
							
								
								
									
										20
									
								
								dlls/sven/sven.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								dlls/sven/sven.sln
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  |  | ||||||
|  | Microsoft Visual Studio Solution File, Format Version 9.00 | ||||||
|  | # Visual C++ Express 2005 | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sven", "sven.vcproj", "{29798873-02F2-4075-AFE7-58CE8F9B5124}" | ||||||
|  | EndProject | ||||||
|  | Global | ||||||
|  | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
|  | 		Debug|Win32 = Debug|Win32 | ||||||
|  | 		Release|Win32 = Release|Win32 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||||
|  | 		{29798873-02F2-4075-AFE7-58CE8F9B5124}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||||
|  | 		{29798873-02F2-4075-AFE7-58CE8F9B5124}.Debug|Win32.Build.0 = Debug|Win32 | ||||||
|  | 		{29798873-02F2-4075-AFE7-58CE8F9B5124}.Release|Win32.ActiveCfg = Release|Win32 | ||||||
|  | 		{29798873-02F2-4075-AFE7-58CE8F9B5124}.Release|Win32.Build.0 = Release|Win32 | ||||||
|  | 	EndGlobalSection | ||||||
|  | 	GlobalSection(SolutionProperties) = preSolution | ||||||
|  | 		HideSolutionNode = FALSE | ||||||
|  | 	EndGlobalSection | ||||||
|  | EndGlobal | ||||||
							
								
								
									
										252
									
								
								dlls/sven/sven.vcproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										252
									
								
								dlls/sven/sven.vcproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,252 @@ | |||||||
|  | <?xml version="1.0" encoding="Windows-1252"?> | ||||||
|  | <VisualStudioProject | ||||||
|  | 	ProjectType="Visual C++" | ||||||
|  | 	Version="8.00" | ||||||
|  | 	Name="sven" | ||||||
|  | 	ProjectGUID="{29798873-02F2-4075-AFE7-58CE8F9B5124}" | ||||||
|  | 	> | ||||||
|  | 	<Platforms> | ||||||
|  | 		<Platform | ||||||
|  | 			Name="Win32" | ||||||
|  | 		/> | ||||||
|  | 	</Platforms> | ||||||
|  | 	<ToolFiles> | ||||||
|  | 	</ToolFiles> | ||||||
|  | 	<Configurations> | ||||||
|  | 		<Configuration | ||||||
|  | 			Name="Release|Win32" | ||||||
|  | 			OutputDirectory=".\Release" | ||||||
|  | 			IntermediateDirectory=".\Release" | ||||||
|  | 			ConfigurationType="2" | ||||||
|  | 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | ||||||
|  | 			UseOfMFC="0" | ||||||
|  | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
|  | 			CharacterSet="2" | ||||||
|  | 			> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPreBuildEventTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCCustomBuildTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCXMLDataGeneratorTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCWebServiceProxyGeneratorTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCMIDLTool" | ||||||
|  | 				PreprocessorDefinitions="NDEBUG" | ||||||
|  | 				MkTypLibCompatible="true" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 				TargetEnvironment="1" | ||||||
|  | 				TypeLibraryName=".\Release/sven.tlb" | ||||||
|  | 				HeaderFileName="" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCCLCompilerTool" | ||||||
|  | 				Optimization="2" | ||||||
|  | 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SVEN_EXPORTS" | ||||||
|  | 				StringPooling="true" | ||||||
|  | 				RuntimeLibrary="0" | ||||||
|  | 				UsePrecompiledHeader="0" | ||||||
|  | 				PrecompiledHeaderFile=".\Release/sven.pch" | ||||||
|  | 				AssemblerListingLocation=".\Release/" | ||||||
|  | 				ObjectFile=".\Release/" | ||||||
|  | 				ProgramDataBaseFileName=".\Release/" | ||||||
|  | 				BrowseInformation="1" | ||||||
|  | 				WarningLevel="3" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCManagedResourceCompilerTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCResourceCompilerTool" | ||||||
|  | 				PreprocessorDefinitions="NDEBUG" | ||||||
|  | 				Culture="1053" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPreLinkEventTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCLinkerTool" | ||||||
|  | 				OutputFile=".\Release/sven_amxx.dll" | ||||||
|  | 				LinkIncremental="1" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 				ModuleDefinitionFile="" | ||||||
|  | 				ProgramDatabaseFile=".\Release/sven.pdb" | ||||||
|  | 				ImportLibrary=".\Release/sven.lib" | ||||||
|  | 				TargetMachine="1" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCALinkTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCManifestTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCXDCMakeTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCBscMakeTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCFxCopTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCAppVerifierTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCWebDeploymentTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPostBuildEventTool" | ||||||
|  | 			/> | ||||||
|  | 		</Configuration> | ||||||
|  | 		<Configuration | ||||||
|  | 			Name="Debug|Win32" | ||||||
|  | 			OutputDirectory=".\Debug" | ||||||
|  | 			IntermediateDirectory=".\Debug" | ||||||
|  | 			ConfigurationType="2" | ||||||
|  | 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | ||||||
|  | 			UseOfMFC="0" | ||||||
|  | 			ATLMinimizesCRunTimeLibraryUsage="false" | ||||||
|  | 			CharacterSet="2" | ||||||
|  | 			> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPreBuildEventTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCCustomBuildTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCXMLDataGeneratorTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCWebServiceProxyGeneratorTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCMIDLTool" | ||||||
|  | 				PreprocessorDefinitions="_DEBUG" | ||||||
|  | 				MkTypLibCompatible="true" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 				TargetEnvironment="1" | ||||||
|  | 				TypeLibraryName=".\Debug/sven.tlb" | ||||||
|  | 				HeaderFileName="" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCCLCompilerTool" | ||||||
|  | 				Optimization="0" | ||||||
|  | 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SVEN_EXPORTS" | ||||||
|  | 				BasicRuntimeChecks="3" | ||||||
|  | 				RuntimeLibrary="1" | ||||||
|  | 				UsePrecompiledHeader="0" | ||||||
|  | 				PrecompiledHeaderFile=".\Debug/sven.pch" | ||||||
|  | 				AssemblerListingLocation=".\Debug/" | ||||||
|  | 				ObjectFile=".\Debug/" | ||||||
|  | 				ProgramDataBaseFileName=".\Debug/" | ||||||
|  | 				BrowseInformation="1" | ||||||
|  | 				WarningLevel="3" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 				DebugInformationFormat="4" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCManagedResourceCompilerTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCResourceCompilerTool" | ||||||
|  | 				PreprocessorDefinitions="_DEBUG" | ||||||
|  | 				Culture="1053" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPreLinkEventTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCLinkerTool" | ||||||
|  | 				OutputFile="Debug/sven_amxx.dll" | ||||||
|  | 				LinkIncremental="1" | ||||||
|  | 				SuppressStartupBanner="true" | ||||||
|  | 				ModuleDefinitionFile="" | ||||||
|  | 				GenerateDebugInformation="true" | ||||||
|  | 				ProgramDatabaseFile=".\Debug/sven_debug.pdb" | ||||||
|  | 				ImportLibrary=".\Debug/sven_debug.lib" | ||||||
|  | 				TargetMachine="1" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCALinkTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCManifestTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCXDCMakeTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCBscMakeTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCFxCopTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCAppVerifierTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCWebDeploymentTool" | ||||||
|  | 			/> | ||||||
|  | 			<Tool | ||||||
|  | 				Name="VCPostBuildEventTool" | ||||||
|  | 			/> | ||||||
|  | 		</Configuration> | ||||||
|  | 	</Configurations> | ||||||
|  | 	<References> | ||||||
|  | 	</References> | ||||||
|  | 	<Files> | ||||||
|  | 		<Filter | ||||||
|  | 			Name="Source Files" | ||||||
|  | 			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" | ||||||
|  | 			> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\amxxmodule.cpp" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\svencoop.cpp" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 		</Filter> | ||||||
|  | 		<Filter | ||||||
|  | 			Name="Header Files" | ||||||
|  | 			Filter="h;hpp;hxx;hm;inl" | ||||||
|  | 			> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\amxxmodule.h" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\moduleconfig.h" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\pdata.h" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\svencoop.h" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\svencoop_const.h" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
|  | 		</Filter> | ||||||
|  | 		<Filter | ||||||
|  | 			Name="Resource Files" | ||||||
|  | 			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" | ||||||
|  | 			> | ||||||
|  | 		</Filter> | ||||||
|  | 	</Files> | ||||||
|  | 	<Globals> | ||||||
|  | 	</Globals> | ||||||
|  | </VisualStudioProject> | ||||||
							
								
								
									
										78
									
								
								dlls/sven/svencoop.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								dlls/sven/svencoop.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | |||||||
|  | #include "svencoop.h" | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_get_frags(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	return GetFrags(params[1]); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_set_frags(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	SetFrags(params[1], params[2]); | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_get_user_deaths(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	return GetDeaths(params[1]); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_set_user_deaths(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	SetDeaths(params[1], params[2] ); | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_is_player_ally(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	return IsEntAlly(params[1]); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_get_weapon_ammo(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	switch(params[2]) | ||||||
|  | 	{ | ||||||
|  | 		case SVEN_WEP_9MM:		return GetSvenWeapon(params[1], sven_9mm); | ||||||
|  | 		case SVEN_WEP_SHOTGUN:	return GetSvenWeapon(params[1], sven_shotgun); | ||||||
|  | 		case SVEN_WEP_RPG:		return GetSvenWeapon(params[1], sven_rpg); | ||||||
|  |  | ||||||
|  | 		case SVEN_WEP_RADIO:	return GetSvenWeapon(params[1], sven_radio); | ||||||
|  | 		case SVEN_WEP_SNARK:	return GetSvenWeapon(params[1], sven_snark); | ||||||
|  |  | ||||||
|  | 		default: MF_LogError(amx, AMX_ERR_NATIVE,"Incorrect weapon specified in SvenCoop Get Weapon Native"); | ||||||
|  | 	} | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static cell AMX_NATIVE_CALL sc_set_weapon_ammo(AMX *amx, cell *params) | ||||||
|  | { | ||||||
|  | 	switch(params[3]) | ||||||
|  | 	{ | ||||||
|  | 		case SVEN_WEP_9MM:		return SetSvenWeapon(params[1], params[2], sven_9mm); | ||||||
|  | 		case SVEN_WEP_SHOTGUN:	return SetSvenWeapon(params[1], params[2], sven_shotgun); | ||||||
|  | 		case SVEN_WEP_RPG:		return SetSvenWeapon(params[1], params[2], sven_rpg); | ||||||
|  |  | ||||||
|  | 		case SVEN_WEP_RADIO:	return SetSvenWeapon(params[1], params[2], sven_radio); | ||||||
|  | 		case SVEN_WEP_SNARK:	return SetSvenWeapon(params[1], params[2], sven_snark); | ||||||
|  |  | ||||||
|  | 		default: MF_LogError(amx, AMX_ERR_NATIVE,"Incorrect weapon specified in SvenCoop Set Weapon Native"); | ||||||
|  | 	} | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | AMX_NATIVE_INFO sven_Natives[] = { | ||||||
|  |   { "sc_get_frags",			sc_get_frags }, | ||||||
|  |   { "sc_set_frags",			sc_set_frags }, | ||||||
|  |   { "sc_get_user_deaths",	sc_get_user_deaths }, | ||||||
|  |   { "sc_set_user_deaths",	sc_set_user_deaths }, | ||||||
|  |   { "sc_is_player_ally",	sc_is_player_ally }, | ||||||
|  |  | ||||||
|  |    { "sc_get_weapon_ammo",	sc_get_weapon_ammo }, | ||||||
|  |   { "sc_set_weapon_ammo",	sc_set_weapon_ammo }, | ||||||
|  |  | ||||||
|  |   { NULL, NULL } | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | void OnAmxxAttach() | ||||||
|  | { | ||||||
|  | 	MF_AddNatives(sven_Natives); | ||||||
|  | } | ||||||
							
								
								
									
										48
									
								
								dlls/sven/svencoop.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								dlls/sven/svencoop.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | // prevent double include | ||||||
|  | #ifndef __SVEN_H__ | ||||||
|  | #define __SVEN_H__ | ||||||
|  |  | ||||||
|  | #include "amxxmodule.h" | ||||||
|  | #include "pdata.h" | ||||||
|  |  | ||||||
|  | #include "svencoop_const.h" | ||||||
|  |  | ||||||
|  | inline void SetFrags( long& targetid, long val) | ||||||
|  | { | ||||||
|  | 	SetPData(targetid, PDATA_FRAGS, static_cast<float>(val) ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | inline long GetFrags( long& targetid) | ||||||
|  | { | ||||||
|  | 	return static_cast<long>( GetPData(targetid, PDATA_FRAGS, float(NULL) ) ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | inline long GetDeaths( long& targetid) | ||||||
|  | { | ||||||
|  | 	return GetPData(targetid, PDATA_DEATHS, int(NULL) ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | inline void SetDeaths( long& targetid, long val) | ||||||
|  | { | ||||||
|  | 	SetPData(targetid, PDATA_DEATHS, static_cast<int>(val) ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | inline long IsEntAlly( long& targetid) | ||||||
|  | { | ||||||
|  | 	return GetPData(targetid, PDATA_ALLY, unsigned char( NULL ) ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | inline long SetSvenWeapon(long& targetid, long val, const long sven_wep[2]) | ||||||
|  | { | ||||||
|  | 	SetPData(targetid, sven_wep[0], static_cast<int>(val) ); | ||||||
|  | 	SetPData(targetid, sven_wep[1], static_cast<int>(val) ); | ||||||
|  |  | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | inline long GetSvenWeapon(long& targetid, const long sven_wep[2]) | ||||||
|  | { | ||||||
|  | 	return GetPData(targetid, sven_wep[0], int(NULL) ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif | ||||||
							
								
								
									
										53
									
								
								dlls/sven/svencoop.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								dlls/sven/svencoop.inc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | |||||||
|  | /* Sven Coop Natives | ||||||
|  | * | ||||||
|  | * This file is provided as is (no warranties). | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | #if defined _svencoop_included | ||||||
|  |   #endinput | ||||||
|  | #endif | ||||||
|  | #define _svencoop_included | ||||||
|  |  | ||||||
|  | #include <svencoop_const> | ||||||
|  | #include <svencoop_stocks> | ||||||
|  |  | ||||||
|  | #pragma library svenfun | ||||||
|  |  | ||||||
|  | // Gets/sets the amount of frags a monster or player has. | ||||||
|  | native Float:sc_get_frags(id); | ||||||
|  | native sc_set_frags(id,Float:frags); | ||||||
|  |  | ||||||
|  | // Gets/sets the deaths a player has. | ||||||
|  | native sc_get_user_deaths(id); | ||||||
|  | native sc_set_user_deaths(id,deaths); | ||||||
|  |  | ||||||
|  | // returns 1 if entity (non-player) is an ally. | ||||||
|  | native sc_is_player_ally(id); | ||||||
|  |  | ||||||
|  | // Gets the amount of ammo an ent has. | ||||||
|  | // Use the SVEN_WEP_* defines for type | ||||||
|  | native sc_get_weapon_ammo(id, type) | ||||||
|  |  | ||||||
|  | // Sets the amount of ammo an ent has. | ||||||
|  | // Use the SVEN_WEP_* defines for type | ||||||
|  | native sc_set_weapon_ammo(id, amount, type) | ||||||
|  |  | ||||||
|  | //Stocks for 9mm ammo (mp5, uzi(akimbo)) | ||||||
|  | stock sc_get_bpammo_9mm(id) { return sc_get_weapon_ammo(id,SVEN_WEP_9MM; }			 | ||||||
|  | stock sc_set_bpammo_9mm(id, amount) { return sc_set_weapon_ammo(id, amount, SVEN_WEP_9MM; } | ||||||
|  |  | ||||||
|  | //Stocks for RPG ammo (RPG launcher) | ||||||
|  | stock sc_get_bpammo_rpg(id) { return sc_get_weapon_ammo(id,SVEN_WEP_RPG; }			 | ||||||
|  | stock sc_set_bpammo_rpg(id, amount) { return sc_set_weapon_ammo(id, amount, SVEN_WEP_RPG; } | ||||||
|  |  | ||||||
|  | //Stocks for radioactive ammo (gauss, egon) | ||||||
|  | stock sc_get_bpammo_radio(id) { return sc_get_weapon_ammo(id,SVEN_WEP_RADIO; }			 | ||||||
|  | stock sc_set_bpammo_radio(id, amount) { return sc_set_weapon_ammo(id, amount, SVEN_WEP_RADIO; } | ||||||
|  |  | ||||||
|  | //Stocks for snark ammo | ||||||
|  | stock sc_get_bpammo_snark(id) { return sc_get_weapon_ammo(id,SVEN_WEP_SNARK; }			 | ||||||
|  | stock sc_set_bpammo_snark(id, amount) { return sc_set_weapon_ammo(id, amount, SVEN_WEP_SNARK; } | ||||||
|  |  | ||||||
|  | //Stocks for shotgun ammo | ||||||
|  | stock sc_get_bpammo_shot(id) { return sc_get_weapon_ammo(id,SVEN_WEP_SHOTGUN; }			 | ||||||
|  | stock sc_set_bpammo_shot(id, amount) { return sc_set_weapon_ammo(id, amount, SVEN_WEP_SHOTGUN; }	 | ||||||
							
								
								
									
										34
									
								
								dlls/sven/svencoop_const.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								dlls/sven/svencoop_const.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | // prevent double include | ||||||
|  | #ifndef __CONST_H__ | ||||||
|  | #define __CONST_H__ | ||||||
|  |  | ||||||
|  | #define PDATA_FRAGS 0x9 | ||||||
|  | #define PDATA_DEATHS 0x21B0 | ||||||
|  | #define PDATA_ALLY 0x28 | ||||||
|  |  | ||||||
|  | #define SVEN_WEP_9MM 0 | ||||||
|  | #define PDATA_9MM 0x216D | ||||||
|  | #define PDATA_9MM2 0x218D | ||||||
|  | const long sven_9mm[2] = {PDATA_9MM, PDATA_9MM2}; | ||||||
|  |  | ||||||
|  | #define SVEN_WEP_SHOTGUN 1 | ||||||
|  | #define PDATA_SHOTGUN 0x216E | ||||||
|  | #define PDATA_SHOTGUN2 0x218E | ||||||
|  | const long sven_shotgun[2] = {PDATA_9MM, PDATA_9MM2}; | ||||||
|  |  | ||||||
|  | #define SVEN_WEP_RPG 2 | ||||||
|  | #define PDATA_RPG 0x2195 | ||||||
|  | #define PDATA_RPG2 0x21B5 | ||||||
|  | const long sven_rpg[2] = {PDATA_9MM, PDATA_9MM2}; | ||||||
|  |  | ||||||
|  | #define SVEN_WEP_RADIO 3 | ||||||
|  | #define PDATA_RADIO 0x217A | ||||||
|  | #define PDATA_RADIO2 0x219A | ||||||
|  | const long sven_radio[2] = {PDATA_9MM, PDATA_9MM2}; | ||||||
|  |  | ||||||
|  | #define SVEN_WEP_SNARK 4 | ||||||
|  | #define PDATA_SNARK 0x217A | ||||||
|  | #define PDATA_SNARK2 0x219A | ||||||
|  | const long sven_snark[2] = {PDATA_9MM, PDATA_9MM2}; | ||||||
|  |  | ||||||
|  | #endif | ||||||
		Reference in New Issue
	
	Block a user