From 5c72931b94eedbf86e571631567a51d5b9fd4b87 Mon Sep 17 00:00:00 2001 From: Steve Dudenhoeffer Date: Sun, 5 Sep 2004 12:33:35 +0000 Subject: [PATCH] NS b5 stuffs --- dlls/ns/ns/NPData.cpp | 48 ++++++++++++++++++++++++++++++------ dlls/ns/ns/ns.suo | Bin 17920 -> 13312 bytes dlls/ns/ns/ns.vcproj | 7 ++++-- dlls/ns/ns/ns_const.h | 55 ++++++++++++++---------------------------- 4 files changed, 63 insertions(+), 47 deletions(-) diff --git a/dlls/ns/ns/NPData.cpp b/dlls/ns/ns/NPData.cpp index 3e0cffca..b9f13c89 100755 --- a/dlls/ns/ns/NPData.cpp +++ b/dlls/ns/ns/NPData.cpp @@ -3,33 +3,33 @@ int get_private(edict_t *pEntity, int woffset,int loffset) { #ifdef __linux__ - return *((int *)pEntity->pvPrivateData + loffset); + return *(int*)((char*)(pEntity->pvPrivateData)+loffset); #else - return *((int *)pEntity->pvPrivateData + woffset); + return *(int*)((char*)(pEntity->pvPrivateData)+woffset); #endif } REAL get_private_f(edict_t *pEntity, int woffset, int loffset) { #ifdef __linux__ - return *((REAL *)pEntity->pvPrivateData + loffset); + return *(REAL*)((char*)(pEntity->pvPrivateData)+loffset); #else - return *((REAL *)pEntity->pvPrivateData + woffset); + return *(REAL*)((char*)(pEntity->pvPrivateData)+woffset); #endif } void set_private(edict_t *pEntity, int woffset, int loffset, int value) { #ifdef __linux__ - *((int *)pEntity->pvPrivateData + loffset) = value; + *(int*)((char*)(pEntity->pvPrivateData)+loffset) = value; #else - *((int *)pEntity->pvPrivateData + woffset) = value; + *(int*)((char*)(pEntity->pvPrivateData)+woffset) = value; #endif } void set_private(edict_t *pEntity, int woffset, int loffset, REAL value) { #ifdef __linux__ - *((REAL *)pEntity->pvPrivateData + loffset) = value; + *(REAL*)((char*)(pEntity->pvPrivateData)+loffset) = value; #else - *((REAL *)pEntity->pvPrivateData + woffset) = value; + *(REAL*)((char*)(pEntity->pvPrivateData)+woffset) = value; #endif } @@ -317,6 +317,35 @@ static cell AMX_NATIVE_CALL ns_set_icon(AMX *amx, cell *params) return 1; } +static cell AMX_NATIVE_CALL ns_get_struct_owner(AMX *amx, cell *params) +{ + int id = params[1]; + if (id <= gpGlobals->maxClients || id <= gpGlobals->maxEntities) + return 0; + edict_t *pEntity = INDEXENT2(id); + if (!pEntity) + return 0; + if (pEntity->pvPrivateData == NULL) + return 0; + return get_private(pEntity,OFFSET_WIN_STRUCTOWNER,OFFSET_LIN_STRUCTOWNER); +} +static cell AMX_NATIVE_CALL ns_set_struct_owner(AMX *amx, cell *params) +{ + int id = params[1]; + int ido = params[2]; + if (id <= gpGlobals->maxClients || id <= gpGlobals->maxEntities) + return 0; + if (ido > gpGlobals->maxClients || ido < -1) + return 0; + edict_t *pEntity = INDEXENT2(id); + if (!pEntity) + return 0; + if (pEntity->pvPrivateData == NULL) + return 0; + set_private(pEntity,OFFSET_WIN_STRUCTOWNER,OFFSET_LIN_STRUCTOWNER,ido); + return 1; +} + AMX_NATIVE_INFO ns_pdata_natives[] = { /*****************/ { "ns_get_res", ns_get_res }, @@ -352,6 +381,9 @@ AMX_NATIVE_INFO ns_pdata_natives[] = { { "ns_get_hive_trait", ns_get_hive_trait }, { "ns_set_hive_trait", ns_set_hive_trait }, + { "ns_get_struct_owner", ns_get_struct_owner }, + { "ns_set_struct_owner", ns_set_struct_owner }, + { NULL, NULL } }; diff --git a/dlls/ns/ns/ns.suo b/dlls/ns/ns/ns.suo index b341982e77b0b0a364d8795a2fed2dd9fa93c340..e32fdf324bb691b67118e115c37012d674108474 100755 GIT binary patch delta 1345 zcmaizOH31C5P<)GyIs2NQfO%@&}d6(1xhWiVn|US79T(nQ1C(UP&FtGB9Wp<)U3pV zF=z~P@gTv(#EXxhd-9?oav=C5(W3;<9^gQXA_36jYbw`<06%ZUuq}6%slNv5p98HA+W067mCDEboL=-FfF7>ev~SZsQ0{JI=L5> z08)eOL-r#Fkb_7qQis$dL8JjWgft>eNHcO6If5KTS`ilb82%qePQVRr^rdEkCV5e7 zBYyZU+F;bCWlazQzr}jVjDm!$_Y={6mbf)T%&1O6gCDNw8ex+6C=0qKPGTl;(}PMx zf0yF~0{5(TF$XVLn<_9E(v)h0j|#g{{UgAD@jCaED2v8As;*wIDJ5SILnc$aMdc-z zls6_lN8iE6be9w=!s)PIfRsXkr4{5X2RzqlK~CkBo0cU`ku4I1%I#idDT9v+Fq>&A zR})Gx`5A-|3!(fx)v|_jIKu4gjMa~Dlfe;==^`IBkp&2u8z9-0t{T{woGyUV?ja#^ znRLUVFXUd2=1d$-pfK({wK)`g^Y!nHE69~N#MXjR@-N0m*pWEGQmmzI*b-?c=g9>e zOD{@2q>J>Cv!s)BlU|t0y;fLU5?5Pp;>hzD**@&3k=QrH)`p$vhZAu$NvUXL-(Soq zWTNtuz@noT-txr|$+-iAW)B+_ZEimNOyL1jNMkBYriwukCG6sjR)wTQP- zdW2*!dqx;N1`)RQ?0k6QGtRw!HUke`W)=63MX)&~n6r1ltY`7Vrg-E)JS&>R_T^4~*x1GR7_0 xY7$2!CW+gewd9^Ex|U$Zqrg}1(5j|%6jo7d)F*D;H8f1F;wH2!v}A?SmA@HTPxt@; delta 1641 zcmd5+OK1~O6uoacGtJaVn@pyrF*QwN|34>fTL1V-{a0H-#Fi))YyIG-)KXJXiHKB0 z#pZ5YxKKnlqG)H~P6S=}!S7ZOaUp_&MFhn~<9)AcBZCVUf^WFYz31KBd)|F#lG>3v z#cs@&yyKaPWdeZkaHSN~r%@CnD<;D})x@6M^CMecr{y-5gU{u#+X}pRz3(2&q5V4^ zJSacZJ>;rnya=U~VM>!RskG^Z1WLbccx3#ll*vm7#IS0yW?ZMnAY5*;EYa5{4EF!HJqVr&D^ietZ7B)k&)j_H=zU3@aNTpzJunRw#RgsF;JOq%(q`&V2_`Ezi+KN3t* zxgkz(FYE^%+#G~$5Qkpaj)(onw0h#Ri7XSLrd+A+ zN=G}KEqs>e*9m + RelativePath="..\..\plugins\include\ns.inc"> + RelativePath="..\..\plugins\include\ns2amx.inc"> + + diff --git a/dlls/ns/ns/ns_const.h b/dlls/ns/ns/ns_const.h index 7da4c078..82467130 100755 --- a/dlls/ns/ns/ns_const.h +++ b/dlls/ns/ns/ns_const.h @@ -7,56 +7,57 @@ // Offsets (used in NPData.cpp) #define OFFSET_WIN_RESOURCES 400 -#define OFFSET_LIN_RESOURCES 405 +#define OFFSET_LIN_RESOURCES 1612 #define OFFSET_WIN_WEAPDMG 49 -#define OFFSET_LIN_WEAPDMG 53 +#define OFFSET_LIN_WEAPDMG 208 #define OFFSET_WIN_WEAPRANGE 48 -#define OFFSET_LIN_WEAPRANGE 52 +#define OFFSET_LIN_WEAPRANGE 204 #define OFFSET_WIN_WEAPCLIP 41 -#define OFFSET_LIN_WEAPCLIP 45 +#define OFFSET_LIN_WEAPCLIP 176 #define OFFSET_WIN_HIVE_TRAIT 67 -#define OFFSET_LIN_HIVE_TRAIT 67 +#define OFFSET_LIN_HIVE_TRAIT 284 #define OFFSET_WIN_SCORE 1570 -#define OFFSET_LIN_SCORE 1567 +#define OFFSET_LIN_SCORE 6292 #define OFFSET_WIN_EXP 1557 -#define OFFSET_LIN_EXP 1554 +#define OFFSET_LIN_EXP 6240 #define OFFSET_WIN_POINTS 1559 -#define OFFSET_LIN_POINTS 1556 +#define OFFSET_LIN_POINTS 6248 #define OFFSET_WIN_AMMO_LMG 230 -#define OFFSET_LIN_AMMO_LMG 235 +#define OFFSET_LIN_AMMO_LMG 932 #define OFFSET_WIN_AMMO_PISTOL 231 -#define OFFSET_LIN_AMMO_PISTOL 236 +#define OFFSET_LIN_AMMO_PISTOL 936 #define OFFSET_WIN_AMMO_SHOTGUN 232 -#define OFFSET_LIN_AMMO_SHOTGUN 237 +#define OFFSET_LIN_AMMO_SHOTGUN 940 #define OFFSET_WIN_AMMO_HMG 233 -#define OFFSET_LIN_AMMO_HMG 238 +#define OFFSET_LIN_AMMO_HMG 944 #define OFFSET_WIN_AMMO_GL 234 -#define OFFSET_LIN_AMMO_GL 239 +#define OFFSET_LIN_AMMO_GL 948 #define OFFSET_WIN_AMMO_HG 235 -#define OFFSET_LIN_AMMO_HG 240 +#define OFFSET_LIN_AMMO_HG 952 #define OFFSET_WIN_DEATHS 296 -#define OFFSET_LIN_DEATHS 301 +#define OFFSET_LIN_DEATHS 1196 #define OFFSET_WIN_ICON 1572 -#define OFFSET_LIN_ICON 1569 - +#define OFFSET_LIN_ICON 6300 +#define OFFSET_WIN_STRUCTOWNER 30 +#define OFFSET_LIN_STRUCTOWNER 136 @@ -254,25 +255,5 @@ enum classes }; - -#define MENUDEFAULT_CHANNEL 10; -#define MENUDEFAULT_CHANNEL2 11; -#define MENUDEFAULT_EFFECT 0; -#define MENUDEFAULT_FADEINTIME 0.1; -#define MENUDEFAULT_FADEOUTTIME 0.1; -#define MENUDEFAULT_FXTIME 0.1; -#define MENUDEFAULT_RED1 255; -#define MENUDEFAULT_GREEN1 255; -#define MENUDEFAULT_BLUE1 255; -#define MENUDEFAULT_ALPHA1 255; -#define MENUDEFAULT_RED2 255; -#define MENUDEFAULT_GREEN2 255; -#define MENUDEFAULT_BLUE2 255; -#define MENUDEFAULT_ALPHA2 255; -#define MENUDEFAULT_X 0.2; -#define MENUDEFAULT_Y 0.3; -#define MENUDEFAULT_HOLDTIME 30.0; - - #endif