mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-25 14:25:38 +03:00
Initial Import.
This commit is contained in:
parent
63fa8a2335
commit
238cbbd0fb
10
dlls/engine/engine.def
Executable file
10
dlls/engine/engine.def
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
LIBRARY engine
|
||||||
|
EXPORTS
|
||||||
|
GiveFnptrsToDll @1
|
||||||
|
Meta_Attach @2
|
||||||
|
Meta_Detach @3
|
||||||
|
Meta_Query @4
|
||||||
|
AMX_Attach @5
|
||||||
|
AMX_Detach @7
|
||||||
|
SECTIONS
|
||||||
|
.data READ WRITE
|
121
dlls/engine/engine.dsp
Executable file
121
dlls/engine/engine.dsp
Executable file
@ -0,0 +1,121 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="engine" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=engine - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "engine.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "engine.mak" CFG="engine - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "engine - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "engine - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "engine - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VEXDUM_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VEXDUM_EXPORTS" /FR /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "engine - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VEXDUM_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VEXDUM_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "engine - Win32 Release"
|
||||||
|
# Name "engine - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\amx.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\meta_api.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\modules.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\engine.inc
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\engine.def
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
29
dlls/engine/engine.dsw
Executable file
29
dlls/engine/engine.dsw
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "engine"=".\engine.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
@ -1,15 +1,12 @@
|
|||||||
/* <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
|
/****************************************************************************
|
||||||
* Project:Vexd Utility Module
|
* Project: AMX Mod X
|
||||||
* By: Vexd
|
* By: BAILOPAN, JohnnyGotHisGun, Manip, PM, SniperBeamer
|
||||||
*
|
*
|
||||||
* Purpose:This module provides more options for working with entities and other
|
* Purpose:Engine and entity related natives for AMXX scripting.
|
||||||
* things that are half-life related using amxmod scripts.
|
|
||||||
*
|
*
|
||||||
* Notes: This module is in 1 large file because it used to be multiple smaller
|
* Notes: Many core functions of this module were originally made by VexD.
|
||||||
* modules. I never intended this module to have so many functions, but I kept
|
* VexD gets the credit for setting up the framework for this, as it was
|
||||||
* adding things, never splitting into more files, so it ended up like this.
|
* Originally VexD Utilities
|
||||||
* You must have the Half-life software development kit, and the include directories
|
|
||||||
* properly set up to compile this module. You also may need the metamod source.
|
|
||||||
*
|
*
|
||||||
* Licence:
|
* Licence:
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -28,7 +25,7 @@
|
|||||||
*
|
*
|
||||||
* Full licence can be found at:
|
* Full licence can be found at:
|
||||||
* http://www.gnu.org/licenses/gpl.txt
|
* http://www.gnu.org/licenses/gpl.txt
|
||||||
* <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> */
|
***************************************************************************/
|
||||||
|
|
||||||
#include <extdll.h>
|
#include <extdll.h>
|
||||||
#include <meta_api.h>
|
#include <meta_api.h>
|
||||||
@ -59,10 +56,11 @@ std::vector<AmxCall> vTouchCallList;
|
|||||||
std::vector<AmxCall> vServerFrameCallList;
|
std::vector<AmxCall> vServerFrameCallList;
|
||||||
|
|
||||||
//This was originally by VexD
|
//This was originally by VexD
|
||||||
|
//Thank you for an excellent piece of work, VexD!
|
||||||
|
|
||||||
#define NAME "Engine Module"
|
#define NAME "Engine Module"
|
||||||
#define AUTHOR "BAILOPAN"
|
#define AUTHOR "BAILOPAN"
|
||||||
#define VERSION "0.1"
|
#define VERSION "0.2"
|
||||||
#define URL "No Website"
|
#define URL "No Website"
|
||||||
#define LOGTAG "AMXXE"
|
#define LOGTAG "AMXXE"
|
||||||
#define DATE __DATE__
|
#define DATE __DATE__
|
||||||
@ -257,7 +255,7 @@ struct GlobalInfo {
|
|||||||
|
|
||||||
GlobalInfo GlInfo;
|
GlobalInfo GlInfo;
|
||||||
|
|
||||||
cvar_t vx_version = {"vx_version", VERSION, FCVAR_SERVER, 0};
|
cvar_t amxxe_version = {"amxxe_version", VERSION, FCVAR_SERVER, 0};
|
||||||
|
|
||||||
plugin_info_t Plugin_info = {
|
plugin_info_t Plugin_info = {
|
||||||
META_INTERFACE_VERSION,
|
META_INTERFACE_VERSION,
|
||||||
@ -281,6 +279,101 @@ module_info_s AMXInfo = {
|
|||||||
|
|
||||||
/********************* Begin Utility Functions ******************************/
|
/********************* Begin Utility Functions ******************************/
|
||||||
|
|
||||||
|
//(BAILOPAN)
|
||||||
|
//Sets a pvPrivateData offset for a player (player, offset, val, float=0)
|
||||||
|
static cell AMX_NATIVE_CALL set_offset(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
int index = params[1];
|
||||||
|
int off = params[2];
|
||||||
|
|
||||||
|
if (index < 1 || index > gpGlobals->maxClients) {
|
||||||
|
AMX_RAISEERROR(amx, AMX_ERR_NATIVE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
edict_t *Player = INDEXENT(index);
|
||||||
|
|
||||||
|
#ifndef __linux__
|
||||||
|
off -= 5;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
*((int *)Player->pvPrivateData + off) = params[3];
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//(BAILOPAN)
|
||||||
|
//Sets a pvPrivateData offset for a player (player, offset, Float:val)
|
||||||
|
static cell AMX_NATIVE_CALL set_offset_float(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
int index = params[1];
|
||||||
|
int off = params[2];
|
||||||
|
|
||||||
|
if (index < 1 || index > gpGlobals->maxClients) {
|
||||||
|
AMX_RAISEERROR(amx, AMX_ERR_NATIVE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
edict_t *Player = INDEXENT(index);
|
||||||
|
|
||||||
|
#ifndef __linux__
|
||||||
|
off -= 5;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
*((float *)Player->pvPrivateData + off) = params[3];
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//(BAILOPAN)
|
||||||
|
//Gets a pvPrivateData offset for a player (player, offset, float=0)
|
||||||
|
static cell AMX_NATIVE_CALL get_offset(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
int index = params[1];
|
||||||
|
int off = params[2];
|
||||||
|
|
||||||
|
if (index < 1 || index > gpGlobals->maxClients) {
|
||||||
|
AMX_RAISEERROR(amx, AMX_ERR_NATIVE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
edict_t *Player = INDEXENT(index);
|
||||||
|
|
||||||
|
#ifndef __linux__
|
||||||
|
off -= 5;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return (int)*((int *)Player->pvPrivateData + off);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//(BAILOPAN)
|
||||||
|
//Gets a pvPrivateData offset for a player (player, offset, float=0)
|
||||||
|
static cell AMX_NATIVE_CALL get_offset_float(AMX *amx, cell *params)
|
||||||
|
{
|
||||||
|
int index = params[1];
|
||||||
|
int off = params[2];
|
||||||
|
float retVal;
|
||||||
|
|
||||||
|
if (index < 1 || index > gpGlobals->maxClients) {
|
||||||
|
AMX_RAISEERROR(amx, AMX_ERR_NATIVE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
edict_t *Player = INDEXENT(index);
|
||||||
|
|
||||||
|
#ifndef __linux__
|
||||||
|
off -= 5;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
retVal = ((float)*((float *)Player->pvPrivateData + off));
|
||||||
|
|
||||||
|
return *(cell*)((void *)&retVal);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Finds edict points that are in a sphere, used in RadiusDamage.
|
// Finds edict points that are in a sphere, used in RadiusDamage.
|
||||||
edict_t *UTIL_FindEntityInSphere(edict_t *pStart, const Vector &vecCenter, float flRadius) {
|
edict_t *UTIL_FindEntityInSphere(edict_t *pStart, const Vector &vecCenter, float flRadius) {
|
||||||
if (!pStart) pStart = NULL;
|
if (!pStart) pStart = NULL;
|
||||||
@ -2370,7 +2463,7 @@ static cell AMX_NATIVE_CALL FakeTouch(AMX *amx, cell *params) {
|
|||||||
|
|
||||||
// This is where we register any Console-variables we have.
|
// This is where we register any Console-variables we have.
|
||||||
void GameInit(void) {
|
void GameInit(void) {
|
||||||
CVAR_REGISTER(&vx_version);
|
CVAR_REGISTER(&amxxe_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if they are using a model, if so, don't let CS know.
|
// Check if they are using a model, if so, don't let CS know.
|
||||||
@ -2731,6 +2824,11 @@ AMX_NATIVE_INFO Engine_Exports[] = {
|
|||||||
{"set_user_footsteps", set_user_footsteps },
|
{"set_user_footsteps", set_user_footsteps },
|
||||||
{"get_user_footsteps", set_user_footsteps },
|
{"get_user_footsteps", set_user_footsteps },
|
||||||
|
|
||||||
|
{"get_offset", get_offset},
|
||||||
|
{"get_offset_float", get_offset_float},
|
||||||
|
{"set_offset", set_offset},
|
||||||
|
{"set_offset_float", set_offset_float},
|
||||||
|
|
||||||
{"TraceLn", TraceLn},
|
{"TraceLn", TraceLn},
|
||||||
{"TraceNormal", TraceNormal},
|
{"TraceNormal", TraceNormal},
|
||||||
{"VecToAngles", VecToAngles},
|
{"VecToAngles", VecToAngles},
|
||||||
|
Loading…
Reference in New Issue
Block a user