diff --git a/regamedll/dlls/animation.cpp b/regamedll/dlls/animation.cpp index aa2037d3..5a6934ad 100644 --- a/regamedll/dlls/animation.cpp +++ b/regamedll/dlls/animation.cpp @@ -1,5 +1,39 @@ #include "precompiled.h" +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + +sv_blending_interface_t svBlending = +{ + SV_BLENDING_INTERFACE_VERSION, + SV_StudioSetupBones +}; + +#else + +sv_blending_interface_t svBlending; + +#endif // HOOK_GAMEDLL + +server_studio_api_t IEngineStudio; +studiohdr_t *g_pstudiohdr; + +float (*g_pRotationMatrix)[3][4]; +float (*g_pBoneTransform)[128][3][4]; + +//float (*g_pRotationMatrix)[3][4]; +//float (*g_pBoneTransform)[ MAXSTUDIOBONES ][3][4]; +//float *((*g_pRotationMatrix)[3][4]); +//float *((*g_pBoneTransform)[ MAXSTUDIOBONES ][3][4]); + +float omega; +float cosom; +float sinom; +float sclp; +float sclq; + /* <1523e> ../cstrike/dlls/animation.cpp:57 */ NOBODY int ExtractBbox(void *pmodel, int sequence, float *mins, float *maxs) { @@ -261,19 +295,44 @@ NOBODY void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue) } /* <15a6d> ../cstrike/dlls/animation.cpp:545 */ -NOBODY int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup) +int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup) { -// { -// studiohdr_t *pstudiohdr; // 547 -// mstudiobodyparts_t *pbodypart; // 556 -// int iCurrent; // 561 -// } + studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel; + + if (!pstudiohdr) + return 0; + + if (iGroup > pstudiohdr->numbodyparts) + return 0; + + mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)pstudiohdr + pstudiohdr->bodypartindex) + iGroup; + + if (pbodypart->nummodels <= 1) + return 0; + + int iCurrent = (pev->body / pbodypart->base) % pbodypart->nummodels; + return iCurrent; } /* <15aed> ../cstrike/dlls/animation.cpp:605 */ -NOBODY int Server_GetBlendingInterface(int version, sv_blending_interface_s **ppinterface, engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform) +C_DLLEXPORT int Server_GetBlendingInterface(int version, struct sv_blending_interface_s **ppinterface, struct engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform) { - return 0; + if (version != SV_BLENDING_INTERFACE_VERSION) + return 0; + + *ppinterface = &svBlending; + + IEngineStudio.Mem_Calloc = pstudio->Mem_Calloc; + IEngineStudio.Cache_Check = pstudio->Cache_Check; + IEngineStudio.LoadCacheFile = pstudio->LoadCacheFile; + + // TODO: Mod_Extradata offset +12 + IEngineStudio.Mod_Extradata = (void *(*)(struct model_s *))pstudio->Mod_ForName; + + g_pRotationMatrix = (float (*)[3][4])rotationmatrix; + g_pBoneTransform = (float (*)[128][3][4])bonetransform; + + return 1; } /* <15ba5> ../cstrike/dlls/animation.cpp:630 */ @@ -347,369 +406,664 @@ void AngleQuaternion(vec_t *angles, vec_t *quaternion) #endif //REGAMEDLL_FIXES /* <15c4d> ../cstrike/dlls/animation.cpp:653 */ -NOBODY void QuaternionSlerp(vec_t *p, vec_t *q, float t, vec_t *qt) +void QuaternionSlerp(vec_t *p, vec_t *q, float t, vec_t *qt) { -// { -// int i; // 655 -// float a; // 658 -// float b; // 659 -// } + int i; + float_precision a = 0; + float_precision b = 0; + + for (i = 0; i < 4; i++) + { + a += (p[i] - q[i]) * (p[i] - q[i]); + b += (p[i] + q[i]) * (p[i] + q[i]); + } + + if (a > b) + { + for (i = 0; i < 4; i++) + q[i] = -q[i]; + } + + cosom = (p[0] * q[0] + p[1] * q[1] + p[2] * q[2] + p[3] * q[3]); + + if ((1.0 + cosom) > 0.00000001) + { + if ((1.0 - cosom) > 0.00000001) + { + float_precision cosomega = acos((float_precision)cosom); + + omega = cosomega; + sinom = sin(cosomega); + + sclp = sin((1.0 - t) * omega) / sinom; + sclq = sin(omega * t) / sinom; + } + else + { + sclq = t; + sclp = 1.0 - t; + } + + for (i = 0; i < 4; i++) + qt[i] = sclp * p[i] + sclq * q[i]; + } + else + { + qt[0] = -q[1]; + qt[1] = q[0]; + qt[2] = -q[3]; + qt[3] = q[2]; + + sclp = sin((1.0 - t) * 0.5 * M_PI); + sclq = sin(t * 0.5 * M_PI); + + for (i = 0; i < 3; i++) + qt[i] = sclp * p[i] + sclq * qt[i]; + } } +void (*pQuaternionMatrix)(vec_t *quaternion, float matrix[3][4]); + /* <15cd0> ../cstrike/dlls/animation.cpp:700 */ -NOBODY void QuaternionMatrix(vec_t *quaternion, float *matrix) -{ +NOBODY void __declspec(naked) QuaternionMatrix(vec_t *quaternion, float matrix[3][4]) +{ + UNTESTED + + __asm + { + jmp pQuaternionMatrix + } + + //matrix[0][0] = 1.0 - 2.0 * quaternion[1] * quaternion[1] - 2.0 * quaternion[2] * quaternion[2]; + //matrix[1][1] = 2.0 * quaternion[2] * quaternion[3] + quaternion[0] * quaternion[1]; + //matrix[2][2] = 2.0 * quaternion[2] * quaternion[0] - 2.0 * quaternion[3] * quaternion[1]; + //matrix[0][1] = 2.0 * quaternion[0] * quaternion[1] - 2.0 * quaternion[2] * quaternion[3]; + //matrix[1][2] = 1.0 - 2.0 * quaternion[0] * quaternion[0] - 2.0 * quaternion[2] * quaternion[2]; + //matrix[3][0] = 2.0 * quaternion[2] * quaternion[1] + quaternion[0] * quaternion[3]; + //matrix[0][2] = 2.0 * quaternion[2] * quaternion[0] + quaternion[3] * quaternion[1]; + //matrix[2][0] = 2.0 * quaternion[2] * quaternion[1] - 2.0 * quaternion[0] * quaternion[3]; } /* <15d12> ../cstrike/dlls/animation.cpp:715 */ -NOBODY mstudioanim_t *StudioGetAnim(model_t *m_pSubModel, mstudioseqdesc_t *pseqdesc) +mstudioanim_t *StudioGetAnim(model_t *m_pSubModel, mstudioseqdesc_t *pseqdesc) { -// { -// mstudioseqgroup_t *pseqgroup; // 717 -// cache_user_t *paSequences; // 718 -// } + mstudioseqgroup_t *pseqgroup; + cache_user_t *paSequences; + + pseqgroup = (mstudioseqgroup_t *)((byte *)g_pstudiohdr + g_pstudiohdr->seqgroupindex) + pseqdesc->seqgroup; + + if (pseqdesc->seqgroup == 0) + { + return (mstudioanim_t *)((byte *)g_pstudiohdr + pseqdesc->animindex); + } + + paSequences = (cache_user_t *)m_pSubModel->submodels; + + if (paSequences == NULL) + { + paSequences = (cache_user_t *)IEngineStudio.Mem_Calloc(16, sizeof(cache_user_t)); // UNDONE: leak! + m_pSubModel->submodels = (dmodel_t *)paSequences; + } + + if (!IEngineStudio.Cache_Check((struct cache_user_s *)&(paSequences[ pseqdesc->seqgroup ]))) + { + IEngineStudio.LoadCacheFile(pseqgroup->name, (struct cache_user_s *)&paSequences[ pseqdesc->seqgroup ]); + } + + return (mstudioanim_t *)((byte *)paSequences[ pseqdesc->seqgroup ].data + pseqdesc->animindex); } /* <15d90> ../cstrike/dlls/animation.cpp:749 */ -NOBODY mstudioanim_t *LookupAnimation(studiohdr_t *pstudiohdr, model_s *model, mstudioseqdesc_t *pseqdesc, int index) +NOXREF mstudioanim_t *LookupAnimation(studiohdr_t *pstudiohdr, model_s *model, mstudioseqdesc_t *pseqdesc, int index) { -// { -// mstudioanim_t *panim; // 751 -// } + mstudioanim_t *panim = StudioGetAnim(model, pseqdesc); + if (pseqdesc->numblends > index) + return &panim[index * pstudiohdr->numbones]; + //panim += index * pstudiohdr->numbones; + + return panim; + + //if (index >= 0 && index <= (pseqdesc->numblends - 1)) + // panim += index * pstudiohdr->numbones; + } /* <151a9> ../cstrike/dlls/animation.cpp:770 */ -NOBODY void StudioCalcBoneAdj(float dadt, float *adj, const byte *pcontroller1, const byte *pcontroller2, byte mouthopen) +void StudioCalcBoneAdj(float dadt, float *adj, const byte *pcontroller1, const byte *pcontroller2, byte mouthopen) { -// { -// int i; // 772 -// int j; // 772 -// float value; // 773 -// mstudiobonecontroller_t *pbonecontroller; // 774 -// { -// int a; // 788 -// int b; // 788 -// } -// } + int i, j; + float value; + mstudiobonecontroller_t *pbonecontroller; + + pbonecontroller = (mstudiobonecontroller_t *)((byte *)g_pstudiohdr + g_pstudiohdr->bonecontrollerindex); + + for (j = 0; j < g_pstudiohdr->numbonecontrollers; j++) + { + i = pbonecontroller[j].index; + if (i <= 3) + { + // check for 360% wrapping + if (pbonecontroller[j].type & STUDIO_RLOOP) + { + if (abs(pcontroller1[i] - pcontroller2[i]) > 128) + { + int a, b; + a = (pcontroller1[j] + 128) % 256; + b = (pcontroller2[j] + 128) % 256; + value = ((a * dadt) + (b * (1 - dadt)) - 128) * (360.0/256.0) + pbonecontroller[j].start; + } + else + { + value = ((pcontroller1[i] * dadt + (pcontroller2[i]) * (1.0 - dadt))) * (360.0/256.0) + pbonecontroller[j].start; + } + } + else + { + value = (pcontroller1[i] * dadt + pcontroller2[i] * (1.0 - dadt)) / 255.0; + + if (value < 0) + value = 0; + + if (value > 1.0) + value = 1.0; + + value = (1.0 - value) * pbonecontroller[j].start + value * pbonecontroller[j].end; + } + } + else + { + value = mouthopen / 64.0; + + if (value > 1.0) + value = 1.0; + + value = (1.0 - value) * pbonecontroller[j].start + value * pbonecontroller[j].end; + } + switch(pbonecontroller[j].type & STUDIO_TYPES) + { + case STUDIO_XR: + case STUDIO_YR: + case STUDIO_ZR: + adj[j] = value * (M_PI / 180.0); + break; + case STUDIO_X: + case STUDIO_Y: + case STUDIO_Z: + adj[j] = value; + break; + } + } } /* <15ea6> ../cstrike/dlls/animation.cpp:828 */ -NOBODY void StudioCalcBoneQuaterion(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *q) +void StudioCalcBoneQuaterion(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *q) { -// { -// int j; // 830 -// int k; // 830 -// vec4_t q1; // 831 -// vec4_t q2; // 831 -// vec3_t angle1; // 832 -// vec3_t angle2; // 832 -// mstudioanimvalue_t *panimvalue; // 833 -// } + int j, k; + vec4_t q1, q2; + vec3_t angle1, angle2; + mstudioanimvalue_t *panimvalue; + + for (j = 0; j < 3; j++) + { + if (panim->offset[j + 3] == 0) + { + // default; + angle2[j] = angle1[j] = pbone->value[j + 3]; + } + else + { + panimvalue = (mstudioanimvalue_t *)((byte *)panim + panim->offset[j + 3]); + k = frame; + + if (panimvalue->num.total < panimvalue->num.valid) + k = 0; + + while (panimvalue->num.total <= k) + { + k -= panimvalue->num.total; + panimvalue += panimvalue->num.valid + 1; + + if (panimvalue->num.total < panimvalue->num.valid) + k = 0; + } + + // Bah, missing blend! + if (panimvalue->num.valid > k) + { + angle1[j] = panimvalue[k + 1].value; + + if (panimvalue->num.valid > k + 1) + { + angle2[j] = panimvalue[k + 2].value; + } + else + { + if (panimvalue->num.total > k + 1) + angle2[j] = angle1[j]; + else + angle2[j] = panimvalue[panimvalue->num.valid + 2].value; + } + } + else + { + angle1[j] = panimvalue[panimvalue->num.valid].value; + if (panimvalue->num.total > k + 1) + { + angle2[j] = angle1[j]; + } + else + { + angle2[j] = panimvalue[panimvalue->num.valid + 2].value; + } + } + angle1[j] = pbone->value[j + 3] + angle1[j] * pbone->scale[j + 3]; + angle2[j] = pbone->value[j + 3] + angle2[j] * pbone->scale[j + 3]; + } + + if (pbone->bonecontroller[j + 3] != -1) + { + angle1[j] += adj[pbone->bonecontroller[j + 3]]; + angle2[j] += adj[pbone->bonecontroller[j + 3]]; + } + } + + if (!VectorCompare(angle1, angle2)) + { + AngleQuaternion(angle1, q1); + AngleQuaternion(angle2, q2); + QuaternionSlerp(q1, q2, s, q); + } + else + AngleQuaternion(angle1, q); } /* <15f94> ../cstrike/dlls/animation.cpp:908 */ -NOBODY void StudioCalcBonePosition(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *pos) +void StudioCalcBonePosition(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *pos) { -// { -// int j; // 910 -// int k; // 910 -// mstudioanimvalue_t *panimvalue; // 911 -// } + int j, k; + mstudioanimvalue_t *panimvalue; + + for (j = 0; j < 3; j++) + { + // default; + pos[j] = pbone->value[j]; + if (panim->offset[j] != 0) + { + panimvalue = (mstudioanimvalue_t *)((byte *)panim + panim->offset[j]); + + k = frame; + + if (panimvalue->num.total < panimvalue->num.valid) + k = 0; + + // find span of values that includes the frame we want + while (panimvalue->num.total <= k) + { + k -= panimvalue->num.total; + panimvalue += panimvalue->num.valid + 1; + + if (panimvalue->num.total < panimvalue->num.valid) + k = 0; + } + // if we're inside the span + if (panimvalue->num.valid > k) + { + // and there's more data in the span + if (panimvalue->num.valid > k + 1) + pos[j] += (panimvalue[k + 1].value * (1.0 - s) + s * panimvalue[k + 2].value) * pbone->scale[j]; + else + pos[j] += panimvalue[k + 1].value * pbone->scale[j]; + } + else + { + // are we at the end of the repeating values section and there's another section with data? + if (panimvalue->num.total <= k + 1) + pos[j] += (panimvalue[panimvalue->num.valid].value * (1.0 - s) + s * panimvalue[panimvalue->num.valid + 2].value) * pbone->scale[j]; + + else + pos[j] += panimvalue[panimvalue->num.valid].value * pbone->scale[j]; + } + } + if (pbone->bonecontroller[j] != -1 && adj) + { + pos[j] += adj[pbone->bonecontroller[j]]; + } + } } /* <1603c> ../cstrike/dlls/animation.cpp:970 */ -NOBODY void StudioSlerpBones(vec4_t *q1, vec3_t *pos1, vec4_t *q2, vec3_t *pos2, float s) +void StudioSlerpBones(vec4_t *q1, float pos1[][3], vec4_t *q2, float pos2[][3], float s) { -// { -// int i; // 972 -// vec4_t q3; // 973 -// float s1; // 974 -// } + int i; + vec4_t q3; + float s1; + + if (s < 0) + s = 0; + + else if (s > 1.0) + s = 1.0; + + s1 = 1.0 - s; + + for (i = 0; i < g_pstudiohdr->numbones; i++) + { + QuaternionSlerp(q1[i], q2[i], s, q3); + + q1[i][0] = q3[0]; + q1[i][1] = q3[1]; + q1[i][2] = q3[2]; + q1[i][3] = q3[3]; + + pos1[i][0] = pos1[i][0] * s1 + pos2[i][0] * s; + pos1[i][1] = pos1[i][1] * s1 + pos2[i][1] * s; + pos1[i][2] = pos1[i][2] * s1 + pos2[i][2] * s; + } } /* <160de> ../cstrike/dlls/animation.cpp:994 */ -NOBODY void StudioCalcRotations(mstudiobone_t *pbones, int *chain, int chainlength, float *adj, float *pos, vec4_t *q, mstudioseqdesc_t *pseqdesc, mstudioanim_t *panim, float f, float s) +NOXREF void StudioCalcRotations(mstudiobone_t *pbones, int *chain, int chainlength, float *adj, float pos[128][3], vec4_t *q, mstudioseqdesc_t *pseqdesc, mstudioanim_t *panim, float f, float s) { -// { -// int i; // 996 -// int j; // 996 -// } + int i; + int j; + + for (i = chainlength - 1; i >= 0; i--) + { + j = chain[i]; + + StudioCalcBoneQuaterion((int)f, s, &pbones[ j ], &panim[ j ], adj, &(*q)[j]); + StudioCalcBonePosition((int)f, s, &pbones[ j ], &panim[ j ], adj, pos[j]); + } } /* <161fd> ../cstrike/dlls/animation.cpp:1006 */ -NOBODY void ConcatTransforms(float *in1, float *in2, float *out) +void ConcatTransforms(float in1[3][4], float in2[3][4], float out[3][4]) { + out[0][0] = in1[0][0] * in2[0][0] + in1[0][1] * in2[1][0] + in1[0][2] * in2[2][0]; + out[0][1] = in1[0][0] * in2[0][1] + in1[0][1] * in2[1][1] + in1[0][2] * in2[2][1]; + out[0][2] = in1[0][0] * in2[0][2] + in1[0][1] * in2[1][2] + in1[0][2] * in2[2][2]; + out[0][3] = in1[0][0] * in2[0][3] + in1[0][1] * in2[1][3] + in1[0][2] * in2[2][3] + in1[0][3]; + + out[1][0] = in1[1][0] * in2[0][0] + in1[1][1] * in2[1][0] + in1[1][2] * in2[2][0]; + out[1][1] = in1[1][0] * in2[0][1] + in1[1][1] * in2[1][1] + in1[1][2] * in2[2][1]; + out[1][2] = in1[1][0] * in2[0][2] + in1[1][1] * in2[1][2] + in1[1][2] * in2[2][2]; + out[1][3] = in1[1][0] * in2[0][3] + in1[1][1] * in2[1][3] + in1[1][2] * in2[2][3] + in1[1][3]; + + out[2][0] = in1[2][0] * in2[0][0] + in1[2][1] * in2[1][0] + in1[2][2] * in2[2][0]; + out[2][1] = in1[2][0] * in2[0][1] + in1[2][1] * in2[1][1] + in1[2][2] * in2[2][1]; + out[2][2] = in1[2][0] * in2[0][2] + in1[2][1] * in2[1][2] + in1[2][2] * in2[2][2]; + out[2][3] = in1[2][0] * in2[0][3] + in1[2][1] * in2[1][3] + in1[2][2] * in2[2][3] + in1[2][3]; } /* <16247> ../cstrike/dlls/animation.cpp:1115 */ -NOBODY void SV_StudioSetupBones(model_s *pModel, float frame, int sequence, const vec_t *angles, const vec_t *origin, const byte *pcontroller, const byte *pblending, int iBone, const edict_t *pEdict) +NOBODY void SV_StudioSetupBones(struct model_s *pModel, float frame, int sequence, const vec_t *angles, const vec_t *origin, const byte *pcontroller, const byte *pblending, int iBone, const edict_t *pEdict) { -// { -// int i; // 1117 -// int j; // 1117 -// float f; // 1118 -// float subframe; // 1118 -// float adj; // 1119 -// mstudiobone_t *pbones; // 1120 -// mstudioseqdesc_t *pseqdesc; // 1121 -// mstudioanim_t *panim; // 1122 -// float pos; // 1124 -// float bonematrix; // 1125 -// float q; // 1126 -// float pos2; // 1127 -// float q2; // 1128 -// int chain; // 1130 -// int chainlength; // 1131 -// vec3_t temp_angles; // 1354 -// StudioCalcBoneAdj(float dadt, -// float *adj, -// const byte *pcontroller1, -// const byte *pcontroller2, -// byte mouthopen); // 1175 -// { -// float b; // 1295 -// } -// { -// float pos3; // 1186 -// float q3; // 1187 -// float pos4; // 1188 -// float q4; // 1189 -// float s; // 1191 -// float t; // 1192 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1236 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1237 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1238 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1239 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1240 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1241 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1242 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1243 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1257 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1258 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1259 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1260 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1261 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1262 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1263 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1264 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1272 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1273 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1274 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1275 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1276 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1277 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1278 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1279 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1222 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1223 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1224 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1225 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1226 -// LookupAnimation(studiohdr_t *pstudiohdr, -// model_s *model, -// mstudioseqdesc_t *pseqdesc, -// int index); // 1227 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1228 -// } -// { -// int copy; // 1323 -// int gaitsequence; // 1324 -// StudioCalcRotations(mstudiobone_t *pbones, -// int *chain, -// int chainlength, -// float *adj, -// float *pos, -// vec4_t *q, -// mstudioseqdesc_t *pseqdesc, -// mstudioanim_t *panim, -// float f, -// float s); // 1333 -// } +// { +// int i; // 1117 +// int j; // 1117 +// float f; // 1118 +// float subframe; // 1118 +// float adj; // 1119 +// mstudiobone_t *pbones; // 1120 +// mstudioseqdesc_t *pseqdesc; // 1121 +// mstudioanim_t *panim; // 1122 +// float pos; // 1124 +// float bonematrix; // 1125 +// float q; // 1126 +// float pos3; // 1127 +// float q2; // 1128 +// int chain; // 1130 +// int chainlength; // 1131 +// vec3_t temp_angles; // 1354 +// StudioCalcBoneAdj(float dadt, +// float *adj, +// const byte *pcontroller1, +// const byte *pcontroller2, +// byte mouthopen); // 1175 +// { +// float b; // 1295 +// } +// { +// float pos3; // 1186 +// float q3; // 1187 +// float pos4; // 1188 +// float q4; // 1189 +// float s; // 1191 +// float t; // 1192 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1236 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1237 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1238 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1239 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1240 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1241 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1242 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1243 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1257 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1258 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1259 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1260 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1261 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1262 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1263 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1264 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1272 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1273 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1274 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1275 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1276 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1277 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1278 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1279 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1222 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1223 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1224 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1225 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1226 +// LookupAnimation(studiohdr_t *pstudiohdr, +// model_s *model, +// mstudioseqdesc_t *pseqdesc, +// int index); // 1227 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1228 +// } +// { +// int copy; // 1323 +// int gaitsequence; // 1324 +// StudioCalcRotations(mstudiobone_t *pbones, +// int *chain, +// int chainlength, +// float *adj, +// float *pos, +// vec4_t *q, +// mstudioseqdesc_t *pseqdesc, +// mstudioanim_t *panim, +// float f, +// float s); // 1333 +// } // } } diff --git a/regamedll/dlls/animation.h b/regamedll/dlls/animation.h index c33800bd..4163508b 100644 --- a/regamedll/dlls/animation.h +++ b/regamedll/dlls/animation.h @@ -50,19 +50,48 @@ float SetController(void *pmodel, entvars_t *pev, int iController, float flValue NOBODY float SetBlending(void *pmodel, entvars_t *pev, int iBlender, float flValue); NOBODY int FindTransition(void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir); NOBODY void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue); -NOBODY int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup); -NOBODY int Server_GetBlendingInterface(int version, sv_blending_interface_s ** ppinterface, engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform); +int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup); +C_DLLEXPORT int Server_GetBlendingInterface(int version, struct sv_blending_interface_s **ppinterface, struct engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform); void AngleQuaternion(vec_t *angles, vec_t *quaternion); -NOBODY void QuaternionSlerp(vec_t *p, vec_t *q, float t, vec_t *qt); -NOBODY void QuaternionMatrix(vec_t *quaternion, float *matrix); -NOBODY mstudioanim_t *StudioGetAnim(model_t *m_pSubModel, mstudioseqdesc_t *pseqdesc); -NOBODY mstudioanim_t *LookupAnimation(studiohdr_t *pstudiohdr, model_s *model, mstudioseqdesc_t *pseqdesc, int index); -NOBODY void StudioCalcBoneAdj(float dadt, float *adj, const byte *pcontroller1, const byte *pcontroller2, byte mouthopen); -NOBODY void StudioCalcBoneQuaterion(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *q); -NOBODY void StudioCalcBonePosition(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *pos); -NOBODY void StudioSlerpBones(vec4_t *q1, vec3_t *pos1, vec4_t *q2, vec3_t *pos2, float s); -NOBODY void StudioCalcRotations(mstudiobone_t *pbones, int *chain, int chainlength, float *adj, float *pos, vec4_t *q, mstudioseqdesc_t *pseqdesc, mstudioanim_t *panim, float f, float s); -NOBODY void ConcatTransforms(float *in1, float *in2, float *out); -NOBODY void SV_StudioSetupBones(model_s *pModel, float frame, int sequence, const vec_t *angles, const vec_t *origin, const byte *pcontroller, const byte *pblending, int iBone, const edict_t *pEdict); +void QuaternionSlerp(vec_t *p, vec_t *q, float t, vec_t *qt); +NOBODY void QuaternionMatrix(vec_t *quaternion, float matrix[3][4]); +mstudioanim_t *StudioGetAnim(model_t *m_pSubModel, mstudioseqdesc_t *pseqdesc); +NOXREF mstudioanim_t *LookupAnimation(studiohdr_t *pstudiohdr, model_s *model, mstudioseqdesc_t *pseqdesc, int index); +void StudioCalcBoneAdj(float dadt, float *adj, const byte *pcontroller1, const byte *pcontroller2, byte mouthopen); +void StudioCalcBoneQuaterion(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *q); +void StudioCalcBonePosition(int frame, float s, mstudiobone_t *pbone, mstudioanim_t *panim, float *adj, float *pos); +void StudioSlerpBones(vec4_t *q1, float pos1[][3], vec4_t *q2, float pos2[][3], float s); +NOXREF void StudioCalcRotations(mstudiobone_t *pbones, int *chain, int chainlength, float *adj, float pos[128][3], vec4_t *q, mstudioseqdesc_t *pseqdesc, mstudioanim_t *panim, float f, float s); +void ConcatTransforms(float in1[3][4], float in2[3][4], float out[3][4]); +NOBODY void SV_StudioSetupBones(struct model_s *pModel, float frame, int sequence, const vec_t *angles, const vec_t *origin, const byte *pcontroller, const byte *pblending, int iBone, const edict_t *pEdict); + +#ifdef HOOK_GAMEDLL + +#define svBlending (*psvBlending) +#define IEngineStudio (*pIEngineStudio) +#define g_pstudiohdr (*pg_pstudiohdr) +#define g_pRotationMatrix (*pg_pRotationMatrix) +#define g_pBoneTransform (*pg_pBoneTransform) +#define omega (*pomega) +#define cosom (*pcosom) +#define sinom (*psinom) +#define sclp (*psclp) +#define sclq (*psclq) + +#endif // HOOK_GAMEDLL + +extern struct sv_blending_interface_s svBlending; +extern server_studio_api_t IEngineStudio; +extern studiohdr_t *g_pstudiohdr; +extern float (*g_pRotationMatrix)[3][4]; +extern float (*g_pBoneTransform)[128][3][4]; +extern float omega; +extern float cosom; +extern float sinom; +extern float sclp; +extern float sclq; + +// refs +extern void (*pQuaternionMatrix)(vec_t *quaternion, float matrix[3][4]); #endif // ANIMATION_H diff --git a/regamedll/dlls/basemonster.h b/regamedll/dlls/basemonster.h index 50052306..b7535097 100644 --- a/regamedll/dlls/basemonster.h +++ b/regamedll/dlls/basemonster.h @@ -115,7 +115,7 @@ public: } BOOL HasConditions(int iConditions) { - if(m_afConditions & iConditions) + if (m_afConditions & iConditions) { return TRUE; } @@ -123,7 +123,7 @@ public: } BOOL HasAllConditions(int iConditions) { - if((m_afConditions & iConditions) == iConditions) + if ((m_afConditions & iConditions) == iConditions) { return TRUE; } @@ -139,7 +139,7 @@ public: } BOOL HasMemory(int iMemory) { - if(m_afMemory & iMemory) + if (m_afMemory & iMemory) { return TRUE; } @@ -147,7 +147,7 @@ public: } BOOL HasAllMemories(int iMemory) { - if((m_afMemory & iMemory) == iMemory) + if ((m_afMemory & iMemory) == iMemory) { return TRUE; } diff --git a/regamedll/dlls/bot/cs_bot_chatter.cpp b/regamedll/dlls/bot/cs_bot_chatter.cpp index b5a6998a..fb8678ab 100644 --- a/regamedll/dlls/bot/cs_bot_chatter.cpp +++ b/regamedll/dlls/bot/cs_bot_chatter.cpp @@ -6,10 +6,12 @@ #ifndef HOOK_GAMEDLL BotPhraseManager *TheBotPhrases = NULL; +CBaseEntity *g_pSelectedZombieSpawn = NULL; #else // HOOK_GAMEDLL BotPhraseManager *TheBotPhrases; +CBaseEntity *g_pSelectedZombieSpawn; #endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/bot/cs_bot_chatter.h b/regamedll/dlls/bot/cs_bot_chatter.h index c1949d69..e996bb30 100644 --- a/regamedll/dlls/bot/cs_bot_chatter.h +++ b/regamedll/dlls/bot/cs_bot_chatter.h @@ -346,7 +346,7 @@ public: /* <2fea95> ../cstrike/dlls/bot/cs_bot_chatter.h:298 */ inline int BotPhraseManager::FindPlaceIndex(Place where) const { - for(int i = 0; i < m_placeCount; i++) + for (int i = 0; i < m_placeCount; i++) { if (m_placeStatementHistory[i].placeID == where) return i; @@ -650,10 +650,12 @@ inline BotStatement *BotChatterInterface::GetStatement(void) const #ifdef HOOK_GAMEDLL #define TheBotPhrases (*pTheBotPhrases) +#define g_pSelectedZombieSpawn (*pg_pSelectedZombieSpawn) #endif // HOOK_GAMEDLL extern BotPhraseManager *TheBotPhrases; +extern CBaseEntity *g_pSelectedZombieSpawn; /* <5c4dcf> ../cstrike/dlls/bot/cs_bot_chatter.h:604 */ inline void BotChatterInterface::Say(const char *phraseName, float lifetime, float delay) diff --git a/regamedll/dlls/bot/cs_bot_manager.h b/regamedll/dlls/bot/cs_bot_manager.h index 111d1606..c4d114a5 100644 --- a/regamedll/dlls/bot/cs_bot_manager.h +++ b/regamedll/dlls/bot/cs_bot_manager.h @@ -225,7 +225,7 @@ public: if (startArea == NULL) return NULL; - for(int i = 0; i < m_zoneCount; i++) + for (int i = 0; i < m_zoneCount; i++) { if (m_zone[i].m_areaCount == 0) continue; diff --git a/regamedll/dlls/cbase.cpp b/regamedll/dlls/cbase.cpp index da89b998..4ed96cca 100644 --- a/regamedll/dlls/cbase.cpp +++ b/regamedll/dlls/cbase.cpp @@ -580,7 +580,7 @@ NOBODY void SaveReadFields(SAVERESTOREDATA *pSaveData, const char *pname, void * /* <31a74> ../cstrike/dlls/cbase.cpp:802 */ edict_t *EHANDLE::Get(void) { - if(!m_pent || m_pent->serialnumber != m_serialnumber) + if (!m_pent || m_pent->serialnumber != m_serialnumber) return NULL; return m_pent; @@ -590,7 +590,7 @@ edict_t *EHANDLE::Get(void) edict_t *EHANDLE::Set(edict_t *pent) { m_pent = pent; - if(pent) + if (pent) m_serialnumber = pent->serialnumber; return pent; @@ -605,7 +605,7 @@ EHANDLE::operator CBaseEntity *(void) /* <31b30> ../cstrike/dlls/cbase.cpp:829 */ CBaseEntity *EHANDLE::operator=(CBaseEntity *pEntity) { - if(pEntity) + if (pEntity) { m_pent = ENT(pEntity->pev); if (m_pent) diff --git a/regamedll/dlls/cbase.h b/regamedll/dlls/cbase.h index 438ba8c7..bfcc29f6 100644 --- a/regamedll/dlls/cbase.h +++ b/regamedll/dlls/cbase.h @@ -442,22 +442,22 @@ public: NOBODY virtual CBaseEntity *GetNextTarget(void); virtual void Think(void) { - if(m_pfnThink) + if (m_pfnThink) (this->*m_pfnThink)(); } virtual void Touch(CBaseEntity *pOther) { - if(m_pfnTouch) + if (m_pfnTouch) (this->*m_pfnTouch)(pOther); } virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType = USE_OFF, float value = 0.0f) { - if(m_pfnUse) + if (m_pfnUse) (this->*m_pfnUse)(pActivator, pCaller, useType, value); } virtual void Blocked(CBaseEntity *pOther) { - if(m_pfnBlocked) + if (m_pfnBlocked) (this->*m_pfnBlocked)(pOther); } virtual CBaseEntity *Respawn(void) @@ -544,14 +544,14 @@ public: CBaseMonster *GetMonsterPointer(entvars_t *pevMonster) { CBaseEntity *pEntity = Instance(pevMonster); - if(pEntity) + if (pEntity) return pEntity->MyMonsterPointer(); return NULL; } CBaseMonster *GetMonsterPointer(edict_t *pentMonster) { CBaseEntity *pEntity = Instance(pentMonster); - if(pEntity) + if (pEntity) return pEntity->MyMonsterPointer(); return NULL; } @@ -786,8 +786,8 @@ class CBaseToggle: public CBaseAnimating { public: virtual void KeyValue(KeyValueData *pkvd); - NOBODY virtual int Save(CSave &save); - NOBODY virtual int Restore(CRestore &restore); + virtual int Save(CSave &save); + virtual int Restore(CRestore &restore); virtual int GetToggleState(void) { return m_toggle_state; @@ -873,7 +873,7 @@ public: int Restore_(CRestore &restore); int ObjectCaps_(void) { - if(pev->takedamage == DAMAGE_NO) + if (pev->takedamage == DAMAGE_NO) return FCAP_IMPULSE_USE; return (CBaseToggle::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); @@ -1046,10 +1046,10 @@ public: template T *GetClassPtr(T *a) { entvars_t *pev = (entvars_t *)a; - if(!pev) + if (!pev) pev = VARS(CREATE_ENTITY()); a = (T *)GET_PRIVATE(ENT(pev)); - if(!a) + if (!a) { a = new(pev) T; a->pev = pev; diff --git a/regamedll/dlls/client.cpp b/regamedll/dlls/client.cpp index 04684974..5ffe838f 100644 --- a/regamedll/dlls/client.cpp +++ b/regamedll/dlls/client.cpp @@ -235,11 +235,14 @@ NOBODY TeamName SelectDefaultTeam(void) } /* <473a3> ../cstrike/dlls/client.cpp:638 */ -NOBODY void CheckStartMoney(void) +void CheckStartMoney(void) { -// { -// int money; // 640 -// } + int money = (int)startmoney.value; + + if (money > 16000) + CVAR_SET_FLOAT("mp_startmoney", 16000); + else if (money < 800) + CVAR_SET_FLOAT("mp_startmoney", 800); } /* <4c084> ../cstrike/dlls/client.cpp:661 */ diff --git a/regamedll/dlls/client.h b/regamedll/dlls/client.h index bc092527..d529323f 100644 --- a/regamedll/dlls/client.h +++ b/regamedll/dlls/client.h @@ -125,7 +125,7 @@ NOBODY void ListPlayers(CBasePlayer *current); NOBODY int CountTeamPlayers(int iTeam); NOBODY void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer); NOBODY TeamName SelectDefaultTeam(void); -NOBODY void CheckStartMoney(void); +void CheckStartMoney(void); NOBODY void ClientPutInServer(edict_t *pEntity); NOBODY int Q_strlen_(const char *str); NOBODY void Host_Say(edict_t *pEntity, int teamonly); diff --git a/regamedll/dlls/combat.cpp b/regamedll/dlls/combat.cpp index c0a88379..e5a94c93 100644 --- a/regamedll/dlls/combat.cpp +++ b/regamedll/dlls/combat.cpp @@ -1,7 +1,7 @@ #include "precompiled.h" #define GERMAN_GIB_COUNT 4 -#define HUMAN_GIB_COUNT 6 +#define HUMAN_GIB_COUNT 6 #define ALIEN_GIB_COUNT 4 /* <5f4cb> ../cstrike/dlls/combat.cpp:52 */ diff --git a/regamedll/dlls/doors.cpp b/regamedll/dlls/doors.cpp index 24c9a7dc..5c0eb2a7 100644 --- a/regamedll/dlls/doors.cpp +++ b/regamedll/dlls/doors.cpp @@ -1,10 +1,10 @@ -#include "precompiled.h" - -/* -* Globals initialization -*/ -#ifndef HOOK_GAMEDLL - +#include "precompiled.h" + +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + TYPEDESCRIPTION CBaseDoor::m_SaveData[] = { DEFINE_FIELD(CBaseDoor, m_bHealthValue, FIELD_CHARACTER), @@ -14,299 +14,299 @@ TYPEDESCRIPTION CBaseDoor::m_SaveData[] = DEFINE_FIELD(CBaseDoor, m_bLockedSentence, FIELD_CHARACTER), DEFINE_FIELD(CBaseDoor, m_bUnlockedSound, FIELD_CHARACTER), DEFINE_FIELD(CBaseDoor, m_bUnlockedSentence, FIELD_CHARACTER), -}; - +}; + TYPEDESCRIPTION CMomentaryDoor::m_SaveData[] = { DEFINE_FIELD(CMomentaryDoor, m_bMoveSnd, FIELD_CHARACTER), -}; - -#else - -TYPEDESCRIPTION (*CBaseDoor::pm_SaveData)[7]; -TYPEDESCRIPTION (*CMomentaryDoor::pm_SaveData)[1]; - -#endif // HOOK_GAMEDLL - -/* <693c0> ../cstrike/dlls/doors.cpp:98 */ -IMPLEMENT_SAVERESTORE(CBaseDoor, CBaseToggle); - -/* <68561> ../cstrike/dlls/doors.cpp:112 */ -NOBODY void PlayLockSounds(entvars_t *pev, locksound_t *pls, int flocked, int fbutton) -{ -// { -// float flsoundwait; // 118 -// { -// int fplaysound; // 127 -// int fplaysentence; // 128 -// float fvol; // 129 -// { -// int iprev; // 148 -// } -// } -// { -// int fplaysound; // 164 -// int fplaysentence; // 165 -// float fvol; // 166 -// { -// int iprev; // 184 -// } -// } -// } -} - -/* <69a4f> ../cstrike/dlls/doors.cpp:201 */ -NOBODY void CBaseDoor::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 204 -// FStrEq(const char *sz1, -// const char *sz2); // 209 -// KeyValue(CBaseDoor *const this, -// KeyValueData *pkvd); // 201 -// atof(const char *__nptr); // 206 -// atof(const char *__nptr); // 211 -} - -/* <69f8b> ../cstrike/dlls/doors.cpp:278 */ -LINK_ENTITY_TO_CLASS(func_door, CBaseDoor); - -/* <6a058> ../cstrike/dlls/doors.cpp:282 */ -LINK_ENTITY_TO_CLASS(func_water, CBaseDoor); - -/* <690bc> ../cstrike/dlls/doors.cpp:285 */ -NOBODY void CBaseDoor::Spawn_(void) -{ -// fabs(double __x); // 312 -// fabs(double __x); // 312 -// fabs(double __x); // 312 -// operator*(const Vector *const this, -// float fl); // 312 -// operator+(const Vector *const this, -// const Vector &v); // 312 -} - -/* <69949> ../cstrike/dlls/doors.cpp:334 */ -NOBODY void CBaseDoor::Restart_(void) -{ -} - -/* <69289> ../cstrike/dlls/doors.cpp:350 */ -NOBODY void CBaseDoor::SetToggleState_(int state) -{ -// SetToggleState(CBaseDoor *const this, -// int state); // 350 -} - -#define noiseMoving noise1 -#define noiseArrived noise2 - -/* <6924c> ../cstrike/dlls/doors.cpp:359 */ -NOBODY void CBaseDoor::Precache_(void) -{ -// { -// char *pszSound; // 361 -// } -} - -/* <6a3b8> ../cstrike/dlls/doors.cpp:508 */ -NOBODY void CBaseDoor::DoorTouch(CBaseEntity *pOther) -{ -// { -// entvars_t *pevToucher; // 510 -// } -// DoorTouch(CBaseDoor *const this, -// class CBaseEntity *pOther); // 508 -} - -/* <6a33b> ../cstrike/dlls/doors.cpp:543 */ -NOBODY void CBaseDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// DoorActivate(CBaseDoor *const this); // 548 -} - -/* <6a319> ../cstrike/dlls/doors.cpp:554 */ -NOBODY int CBaseDoor::DoorActivate(void) -{ -} - -/* <6a125> ../cstrike/dlls/doors.cpp:588 */ -NOBODY void CBaseDoor::DoorGoUp(void) -{ -// { -// entvars_t *pevActivator; // 590 -// bool isReversing; // 596 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 604 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 613 -// { -// float sign; // 615 -// { -// class Vector2D toActivator; // 626 -// float loX; // 628 -// float loY; // 629 -// float hiX; // 630 -// float hiY; // 631 -// float momentArmX; // 633 -// float momentArmY; // 634 -// } -// operator*(const Vector *const this, -// float fl); // 712 -// } -// Vector(Vector *const this, -// const Vector &v); // 715 -// } -} - -/* <6940c> ../cstrike/dlls/doors.cpp:721 */ -NOBODY void CBaseDoor::DoorHitTop(void) -{ -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 725 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 726 -} - -/* <697ad> ../cstrike/dlls/doors.cpp:762 */ -NOBODY void CBaseDoor::DoorGoDown(void) -{ -// { -// bool isReversing; // 765 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 770 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 782 -// Vector(Vector *const this, -// const Vector &v); // 785 -// Vector(Vector *const this, -// const Vector &v); // 783 -// } -} - -/* <694a5> ../cstrike/dlls/doors.cpp:791 */ -NOBODY void CBaseDoor::DoorHitBottom(void) -{ -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 795 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 796 -} - -/* <6a465> ../cstrike/dlls/doors.cpp:817 */ -NOBODY void CBaseDoor::Blocked_(CBaseEntity *pOther) -{ -// { -// edict_t *pentTarget; // 819 -// class CBaseDoor *pDoor; // 820 -// float const checkBlockedInterval; // 827 -// } -// Blocked(CBaseDoor *const this, -// class CBaseEntity *pOther); // 817 -} - -/* <6a767> ../cstrike/dlls/doors.cpp:943 */ -LINK_ENTITY_TO_CLASS(func_door_rotating, CRotDoor); - -/* <698be> ../cstrike/dlls/doors.cpp:946 */ -NOBODY void CRotDoor::Restart_(void) -{ -// operator*(const Vector ::Restart(// float fl); // 953 -// { -// Vector vecSav; // 967 -// operator*(const Vector *const this, -// float fl); // 970 -// } -} - -/* <69177> ../cstrike/dlls/doors.cpp:978 */ -NOBODY void CRotDoor::Spawn_(void) -{ -// operator*(const class Vector *const this, -// float fl); // 986 -// operator*(const Vector *const this, -// float fl); // 990 -// operator+(const Vector *const this, -// const Vector &v); // 990 -// { -// Vector vecSav; // 1011 -// operator*(const Vector *const this, -// float fl); // 1014 -// } -} - -/* <68fcc> ../cstrike/dlls/doors.cpp:1028 */ -NOBODY void CRotDoor::SetToggleState_(int state) -{ -} - -/* <6a834> ../cstrike/dlls/doors.cpp:1056 */ -LINK_ENTITY_TO_CLASS(momentary_door, CMomentaryDoor); - -/* <69373> ../cstrike/dlls/doors.cpp:1063 */ -IMPLEMENT_SAVERESTORE(CMomentaryDoor, CBaseToggle); - -/* <69001> ../cstrike/dlls/doors.cpp:1065 */ -NOBODY void CMomentaryDoor::Spawn_(void) -{ -// fabs(double __x); // 1082 -// fabs(double __x); // 1082 -// fabs(double __x); // 1082 -// operator*(const Vector *const this, -// float fl); // 1082 -// operator+(const Vector *const this, -// const Vector &v); // 1082 -} - -/* <68fa5> ../cstrike/dlls/doors.cpp:1096 */ -NOBODY void CMomentaryDoor::Precache_(void) -{ -} - -/* <69970> ../cstrike/dlls/doors.cpp:1143 */ -NOBODY void CMomentaryDoor::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1146 -// FStrEq(const char *sz1, -// const char *sz2); // 1151 -// FStrEq(const char *sz1, -// const char *sz2); // 1156 -// KeyValue(CMomentaryDoor *const this, -// KeyValueData *pkvd); // 1143 -} - -/* <6953e> ../cstrike/dlls/doors.cpp:1165 */ -NOBODY void CMomentaryDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// Vector move; // 1172 -// Vector delta; // 1174 -// float speed; // 1175 -// } -// Use(CMomentaryDoor *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 1165 -} - -#ifdef HOOK_GAMEDLL - +}; + +#else + +TYPEDESCRIPTION (*CBaseDoor::pm_SaveData)[7]; +TYPEDESCRIPTION (*CMomentaryDoor::pm_SaveData)[1]; + +#endif // HOOK_GAMEDLL + +/* <693c0> ../cstrike/dlls/doors.cpp:98 */ +IMPLEMENT_SAVERESTORE(CBaseDoor, CBaseToggle); + +/* <68561> ../cstrike/dlls/doors.cpp:112 */ +NOBODY void PlayLockSounds(entvars_t *pev, locksound_t *pls, int flocked, int fbutton) +{ +// { +// float flsoundwait; // 118 +// { +// int fplaysound; // 127 +// int fplaysentence; // 128 +// float fvol; // 129 +// { +// int iprev; // 148 +// } +// } +// { +// int fplaysound; // 164 +// int fplaysentence; // 165 +// float fvol; // 166 +// { +// int iprev; // 184 +// } +// } +// } +} + +/* <69a4f> ../cstrike/dlls/doors.cpp:201 */ +NOBODY void CBaseDoor::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 204 +// FStrEq(const char *sz1, +// const char *sz2); // 209 +// KeyValue(CBaseDoor *const this, +// KeyValueData *pkvd); // 201 +// atof(const char *__nptr); // 206 +// atof(const char *__nptr); // 211 +} + +/* <69f8b> ../cstrike/dlls/doors.cpp:278 */ +LINK_ENTITY_TO_CLASS(func_door, CBaseDoor); + +/* <6a058> ../cstrike/dlls/doors.cpp:282 */ +LINK_ENTITY_TO_CLASS(func_water, CBaseDoor); + +/* <690bc> ../cstrike/dlls/doors.cpp:285 */ +NOBODY void CBaseDoor::Spawn_(void) +{ +// fabs(double __x); // 312 +// fabs(double __x); // 312 +// fabs(double __x); // 312 +// operator*(const Vector *const this, +// float fl); // 312 +// operator+(const Vector *const this, +// const Vector &v); // 312 +} + +/* <69949> ../cstrike/dlls/doors.cpp:334 */ +NOBODY void CBaseDoor::Restart_(void) +{ +} + +/* <69289> ../cstrike/dlls/doors.cpp:350 */ +NOBODY void CBaseDoor::SetToggleState_(int state) +{ +// SetToggleState(CBaseDoor *const this, +// int state); // 350 +} + +#define noiseMoving noise1 +#define noiseArrived noise2 + +/* <6924c> ../cstrike/dlls/doors.cpp:359 */ +NOBODY void CBaseDoor::Precache_(void) +{ +// { +// char *pszSound; // 361 +// } +} + +/* <6a3b8> ../cstrike/dlls/doors.cpp:508 */ +NOBODY void CBaseDoor::DoorTouch(CBaseEntity *pOther) +{ +// { +// entvars_t *pevToucher; // 510 +// } +// DoorTouch(CBaseDoor *const this, +// class CBaseEntity *pOther); // 508 +} + +/* <6a33b> ../cstrike/dlls/doors.cpp:543 */ +NOBODY void CBaseDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// DoorActivate(CBaseDoor *const this); // 548 +} + +/* <6a319> ../cstrike/dlls/doors.cpp:554 */ +NOBODY int CBaseDoor::DoorActivate(void) +{ +} + +/* <6a125> ../cstrike/dlls/doors.cpp:588 */ +NOBODY void CBaseDoor::DoorGoUp(void) +{ +// { +// entvars_t *pevActivator; // 590 +// bool isReversing; // 596 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 604 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 613 +// { +// float sign; // 615 +// { +// class Vector2D toActivator; // 626 +// float loX; // 628 +// float loY; // 629 +// float hiX; // 630 +// float hiY; // 631 +// float momentArmX; // 633 +// float momentArmY; // 634 +// } +// operator*(const Vector *const this, +// float fl); // 712 +// } +// Vector(Vector *const this, +// const Vector &v); // 715 +// } +} + +/* <6940c> ../cstrike/dlls/doors.cpp:721 */ +NOBODY void CBaseDoor::DoorHitTop(void) +{ +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 725 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 726 +} + +/* <697ad> ../cstrike/dlls/doors.cpp:762 */ +NOBODY void CBaseDoor::DoorGoDown(void) +{ +// { +// bool isReversing; // 765 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 770 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 782 +// Vector(Vector *const this, +// const Vector &v); // 785 +// Vector(Vector *const this, +// const Vector &v); // 783 +// } +} + +/* <694a5> ../cstrike/dlls/doors.cpp:791 */ +NOBODY void CBaseDoor::DoorHitBottom(void) +{ +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 795 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 796 +} + +/* <6a465> ../cstrike/dlls/doors.cpp:817 */ +NOBODY void CBaseDoor::Blocked_(CBaseEntity *pOther) +{ +// { +// edict_t *pentTarget; // 819 +// class CBaseDoor *pDoor; // 820 +// float const checkBlockedInterval; // 827 +// } +// Blocked(CBaseDoor *const this, +// class CBaseEntity *pOther); // 817 +} + +/* <6a767> ../cstrike/dlls/doors.cpp:943 */ +LINK_ENTITY_TO_CLASS(func_door_rotating, CRotDoor); + +/* <698be> ../cstrike/dlls/doors.cpp:946 */ +NOBODY void CRotDoor::Restart_(void) +{ +// operator*(const Vector ::Restart(// float fl); // 953 +// { +// Vector vecSav; // 967 +// operator*(const Vector *const this, +// float fl); // 970 +// } +} + +/* <69177> ../cstrike/dlls/doors.cpp:978 */ +NOBODY void CRotDoor::Spawn_(void) +{ +// operator*(const class Vector *const this, +// float fl); // 986 +// operator*(const Vector *const this, +// float fl); // 990 +// operator+(const Vector *const this, +// const Vector &v); // 990 +// { +// Vector vecSav; // 1011 +// operator*(const Vector *const this, +// float fl); // 1014 +// } +} + +/* <68fcc> ../cstrike/dlls/doors.cpp:1028 */ +NOBODY void CRotDoor::SetToggleState_(int state) +{ +} + +/* <6a834> ../cstrike/dlls/doors.cpp:1056 */ +LINK_ENTITY_TO_CLASS(momentary_door, CMomentaryDoor); + +/* <69373> ../cstrike/dlls/doors.cpp:1063 */ +IMPLEMENT_SAVERESTORE(CMomentaryDoor, CBaseToggle); + +/* <69001> ../cstrike/dlls/doors.cpp:1065 */ +NOBODY void CMomentaryDoor::Spawn_(void) +{ +// fabs(double __x); // 1082 +// fabs(double __x); // 1082 +// fabs(double __x); // 1082 +// operator*(const Vector *const this, +// float fl); // 1082 +// operator+(const Vector *const this, +// const Vector &v); // 1082 +} + +/* <68fa5> ../cstrike/dlls/doors.cpp:1096 */ +NOBODY void CMomentaryDoor::Precache_(void) +{ +} + +/* <69970> ../cstrike/dlls/doors.cpp:1143 */ +NOBODY void CMomentaryDoor::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1146 +// FStrEq(const char *sz1, +// const char *sz2); // 1151 +// FStrEq(const char *sz1, +// const char *sz2); // 1156 +// KeyValue(CMomentaryDoor *const this, +// KeyValueData *pkvd); // 1143 +} + +/* <6953e> ../cstrike/dlls/doors.cpp:1165 */ +NOBODY void CMomentaryDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// Vector move; // 1172 +// Vector delta; // 1174 +// float speed; // 1175 +// } +// Use(CMomentaryDoor *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 1165 +} + +#ifdef HOOK_GAMEDLL + void CBaseDoor::Spawn(void) { Spawn_(); @@ -351,7 +351,7 @@ void CBaseDoor::Blocked(CBaseEntity *pOther) { Blocked_(pOther); } - + void CRotDoor::Spawn(void) { Spawn_(); @@ -365,8 +365,8 @@ void CRotDoor::Restart(void) void CRotDoor::SetToggleState(int state) { SetToggleState_(state); -} - +} + void CMomentaryDoor::Spawn(void) { Spawn_(); @@ -395,6 +395,6 @@ int CMomentaryDoor::Restore(CRestore &restore) void CMomentaryDoor::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { Use_(pActivator, pCaller, useType, value); -} - -#endif // HOOK_GAMEDLL +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/effects.cpp b/regamedll/dlls/effects.cpp index 37b4679f..57273527 100644 --- a/regamedll/dlls/effects.cpp +++ b/regamedll/dlls/effects.cpp @@ -1,5 +1,5 @@ -#include "precompiled.h" - +#include "precompiled.h" + /* * Globals initialization */ @@ -68,1470 +68,1470 @@ TYPEDESCRIPTION (*CGlow::pm_SaveData)[2]; TYPEDESCRIPTION (*CSprite::pm_SaveData)[2]; TYPEDESCRIPTION (*CGibShooter::pm_SaveData)[7]; -#endif // HOOK_GAMEDLL - -/* <76042> ../cstrike/dlls/effects.cpp:33 */ -LINK_ENTITY_TO_CLASS(info_target, CPointEntity); - -/* <7610e> ../cstrike/dlls/effects.cpp:57 */ -LINK_ENTITY_TO_CLASS(env_bubbles, CBubbling); - -/* <741e0> ../cstrike/dlls/effects.cpp:68 */ -IMPLEMENT_SAVERESTORE(CBubbling, CBaseEntity); - -/* <7344d> ../cstrike/dlls/effects.cpp:73 */ -NOBODY void CBubbling::Spawn_(void) -{ -// { -// int speed; // 81 -// } -} - -/* <73489> ../cstrike/dlls/effects.cpp:99 */ -NOBODY void CBubbling::Precache_(void) -{ -} - -/* <742a4> ../cstrike/dlls/effects.cpp:105 */ -NOBODY void CBubbling::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Use(CBubbling *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 105 -} - -/* <74aae> ../cstrike/dlls/effects.cpp:123 */ -NOBODY void CBubbling::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 125 -// FStrEq(const char *sz1, -// const char *sz2); // 130 -// KeyValue(CBubbling *const this, -// KeyValueData *pkvd); // 123 -// atoi(const char *__nptr); // 127 -// atoi(const char *__nptr); // 132 -} - -/* <73d03> ../cstrike/dlls/effects.cpp:145 */ -NOBODY void CBubbling::FizzThink(void) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 147 -// edict(CBaseEntity *const this); // 149 -// ENTINDEX(edict_t *pEdict); // 149 -} - -/* <7620c> ../cstrike/dlls/effects.cpp:166 */ -LINK_ENTITY_TO_CLASS(beam, CBeam); - -/* <734b0> ../cstrike/dlls/effects.cpp:168 */ -NOBODY void CBeam::Spawn_(void) -{ -} - -/* <734d6> ../cstrike/dlls/effects.cpp:174 */ -NOBODY void CBeam::Precache_(void) -{ -// ENTINDEX(edict_t *pEdict); // 177 -// SetStartEntity(CBeam *const this, -// int entityIndex); // 177 -// ENTINDEX(edict_t *pEdict); // 179 -// SetEndEntity(CBeam *const this, -// int entityIndex); // 179 -} - -/* <762d8> ../cstrike/dlls/effects.cpp:182 */ -NOBODY void CBeam::SetStartEntity(int entityIndex) -{ -} - -/* <76303> ../cstrike/dlls/effects.cpp:188 */ -NOBODY void CBeam::SetEndEntity(int entityIndex) -{ -} - -/* <7632e> ../cstrike/dlls/effects.cpp:196 */ -NOBODY const Vector &CBeam::GetStartPos(void) -{ +#endif // HOOK_GAMEDLL + +/* <76042> ../cstrike/dlls/effects.cpp:33 */ +LINK_ENTITY_TO_CLASS(info_target, CPointEntity); + +/* <7610e> ../cstrike/dlls/effects.cpp:57 */ +LINK_ENTITY_TO_CLASS(env_bubbles, CBubbling); + +/* <741e0> ../cstrike/dlls/effects.cpp:68 */ +IMPLEMENT_SAVERESTORE(CBubbling, CBaseEntity); + +/* <7344d> ../cstrike/dlls/effects.cpp:73 */ +NOBODY void CBubbling::Spawn_(void) +{ +// { +// int speed; // 81 +// } +} + +/* <73489> ../cstrike/dlls/effects.cpp:99 */ +NOBODY void CBubbling::Precache_(void) +{ +} + +/* <742a4> ../cstrike/dlls/effects.cpp:105 */ +NOBODY void CBubbling::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Use(CBubbling *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 105 +} + +/* <74aae> ../cstrike/dlls/effects.cpp:123 */ +NOBODY void CBubbling::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 125 +// FStrEq(const char *sz1, +// const char *sz2); // 130 +// KeyValue(CBubbling *const this, +// KeyValueData *pkvd); // 123 +// atoi(const char *__nptr); // 127 +// atoi(const char *__nptr); // 132 +} + +/* <73d03> ../cstrike/dlls/effects.cpp:145 */ +NOBODY void CBubbling::FizzThink(void) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 147 +// edict(CBaseEntity *const this); // 149 +// ENTINDEX(edict_t *pEdict); // 149 +} + +/* <7620c> ../cstrike/dlls/effects.cpp:166 */ +LINK_ENTITY_TO_CLASS(beam, CBeam); + +/* <734b0> ../cstrike/dlls/effects.cpp:168 */ +NOBODY void CBeam::Spawn_(void) +{ +} + +/* <734d6> ../cstrike/dlls/effects.cpp:174 */ +NOBODY void CBeam::Precache_(void) +{ +// ENTINDEX(edict_t *pEdict); // 177 +// SetStartEntity(CBeam *const this, +// int entityIndex); // 177 +// ENTINDEX(edict_t *pEdict); // 179 +// SetEndEntity(CBeam *const this, +// int entityIndex); // 179 +} + +/* <762d8> ../cstrike/dlls/effects.cpp:182 */ +NOBODY void CBeam::SetStartEntity(int entityIndex) +{ +} + +/* <76303> ../cstrike/dlls/effects.cpp:188 */ +NOBODY void CBeam::SetEndEntity(int entityIndex) +{ +} + +/* <7632e> ../cstrike/dlls/effects.cpp:196 */ +NOBODY const Vector &CBeam::GetStartPos(void) +{ if (GetType() == BEAM_ENTS) { edict_t *pent = INDEXENT( GetStartEntity() ); return pent->v.origin; } - return pev->origin; -// { -// edict_t *pent; // 200 -// } -// GetType(CBeam *const this); // 198 -// GetStartPos(CBeam *const this); // 196 -} - -/* <7639a> ../cstrike/dlls/effects.cpp:207 */ -NOBODY const Vector &CBeam::GetEndPos(void) -{ -// { -// int type; // 209 -// edict_t *pent; // 215 -// GetType(CBeam *const this); // 209 -// } -// GetEndPos(CBeam *const this); // 207 -} - -/* <76540> ../cstrike/dlls/effects.cpp:222 */ -NOBODY CBeam *CBeam::BeamCreate(const char *pSpriteName, int width) -{ -// { -// class CBeam *pBeam; // 225 -// GetClassPtr(CBeam *a); // 225 -// MAKE_STRING_CLASS(const char *str, -// entvars_t *pev); // 226 -// } -} - -/* <76422> ../cstrike/dlls/effects.cpp:234 */ -NOBODY void CBeam::BeamInit(const char *pSpriteName, int width) -{ -// SetNoise(CBeam *const this, -// int amplitude); // 239 -// SetColor(CBeam *const this, -// int r, -// int g, -// int b); // 237 -// SetBrightness(CBeam *const this, -// int brightness); // 238 -// SetFrame(CBeam *const this, -// float frame); // 240 -// SetScrollRate(CBeam *const this, -// int speed); // 241 -// SetWidth(CBeam *const this, -// int width); // 244 -// SetTexture(CBeam *const this, -// int spriteIndex); // 243 -} - -/* <76a56> ../cstrike/dlls/effects.cpp:251 */ -NOBODY void CBeam::PointsInit(const Vector &start, const Vector &end) -{ -// SetType(CBeam *const this, -// int type); // 253 -// SetStartPos(CBeam *const this, -// const Vector &pos); // 254 -// SetEndPos(CBeam *const this, -// const Vector &pos); // 255 -// SetStartAttachment(CBeam *const this, -// int attachment); // 256 -// SetEndAttachment(CBeam *const this, -// int attachment); // 257 -} - -/* <7695b> ../cstrike/dlls/effects.cpp:262 */ -NOBODY void CBeam::HoseInit(const Vector &start, const Vector &direction) -{ -// SetType(CBeam *const this, -// int type); // 264 -// SetStartPos(CBeam *const this, -// const Vector &pos); // 265 -// SetEndPos(CBeam *const this, -// const Vector &pos); // 266 -// SetStartAttachment(CBeam *const this, -// int attachment); // 267 -// SetEndAttachment(CBeam *const this, -// int attachment); // 268 -} - -/* <76887> ../cstrike/dlls/effects.cpp:273 */ -NOBODY void CBeam::PointEntInit(const Vector &start, int endIndex) -{ -// SetType(CBeam *const this, -// int type); // 275 -// SetStartPos(CBeam *const this, -// const Vector &pos); // 276 -// SetEndEntity(CBeam *const this, -// int entityIndex); // 277 -// SetStartAttachment(CBeam *const this, -// int attachment); // 278 -// SetEndAttachment(CBeam *const this, -// int attachment); // 279 -} - -/* <767ab> ../cstrike/dlls/effects.cpp:283 */ -NOBODY void CBeam::EntsInit(int startIndex, int endIndex) -{ -// SetType(CBeam *const this, -// int type); // 285 -// SetStartEntity(CBeam *const this, -// int entityIndex); // 286 -// SetEndEntity(CBeam *const this, -// int entityIndex); // 287 -// SetStartAttachment(CBeam *const this, -// int attachment); // 288 -// SetEndAttachment(CBeam *const this, -// int attachment); // 289 -} - -/* <7663a> ../cstrike/dlls/effects.cpp:294 */ -NOBODY void CBeam::RelinkBeam(void) -{ -// { -// const Vector &startPos; // 296 -// const Vector &endPos; // 296 -// GetStartPos(CBeam *const this); // 296 -// GetEndPos(CBeam *const this); // 296 -// operator-(const Vector *const this, -// const Vector &v); // 304 -// operator-(const Vector *const this, -// const Vector &v); // 305 -// } -} - -/* <77305> ../cstrike/dlls/effects.cpp:311 */ -NOBODY void CBeam::TriggerTouch(CBaseEntity *pOther) -{ -// { -// class CBaseEntity *pOwner; // 317 -// Instance(edict_t *pent); // 317 -// } -} - -/* <773e2> ../cstrike/dlls/effects.cpp:325 */ -NOBODY CBaseEntity *CBeam::RandomTargetname(const char *szName) -{ -// { -// int total; // 327 -// class CBaseEntity *pEntity; // 329 -// class CBaseEntity *pNewEntity; // 330 -// } -} - -/* <77431> ../cstrike/dlls/effects.cpp:341 */ -NOBODY void CBeam::DoSparks(const Vector &start, const Vector &end) -{ -// DoSparks(CBeam *const this, -// const Vector &start, -// const Vector &end); // 341 -} - -/* <774c2> ../cstrike/dlls/effects.cpp:402 */ -LINK_ENTITY_TO_CLASS(env_lightning, CLightning); - -/* <77592> ../cstrike/dlls/effects.cpp:403 */ -LINK_ENTITY_TO_CLASS(env_beam, CLightning); - -/* <74192> ../cstrike/dlls/effects.cpp:441 */ -IMPLEMENT_SAVERESTORE(CLightning, CBeam); - -/* <744b2> ../cstrike/dlls/effects.cpp:444 */ -NOBODY void CLightning::Spawn_(void) -{ -// Spawn(CLightning *const this); // 444 -} - -/* <7357f> ../cstrike/dlls/effects.cpp:493 */ -NOBODY void CLightning::Precache_(void) -{ -} - -/* <786a1> ../cstrike/dlls/effects.cpp:500 */ -NOBODY void CLightning::Activate_(void) -{ -// ServerSide(CLightning *const this); // 502 -} - -/* <7536c> ../cstrike/dlls/effects.cpp:507 */ -NOBODY void CLightning::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 509 -// FStrEq(const char *sz1, -// const char *sz2); // 514 -// KeyValue(CLightning *const this, -// KeyValueData *pkvd); // 507 -} - -/* <75ad3> ../cstrike/dlls/effects.cpp:569 */ -NOBODY void CLightning::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// ToggleUse(CLightning *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 569 -} - -/* <7422d> ../cstrike/dlls/effects.cpp:593 */ -NOBODY void CLightning::StrikeUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// StrikeUse(CLightning *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 593 -} - -/* <71e66> ../cstrike/dlls/effects.cpp:614 */ -NOBODY int IsPointEntity(CBaseEntity *pEnt) -{ -} - -/* <77f64> ../cstrike/dlls/effects.cpp:625 */ -NOBODY void CLightning::StrikeThink(void) -{ -// { -// class CBaseEntity *pStart; // 653 -// class CBaseEntity *pEnd; // 654 -// { -// class CBaseEntity *pStart; // 644 -// RandomTargetname(CBeam *const this, -// const char *szName); // 644 -// } -// RandomTargetname(CBeam *const this, -// const char *szName); // 653 -// RandomTargetname(CBeam *const this, -// const char *szName); // 654 -// IsPointEntity(CBaseEntity *pEnt); // 658 -// IsPointEntity(CBaseEntity *pEnt); // 658 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 667 -// IsPointEntity(CBaseEntity *pEnt); // 668 -// IsPointEntity(CBaseEntity *pEnt); // 668 -// entindex(CBaseEntity *const this); // 704 -// entindex(CBaseEntity *const this); // 705 -// IsPointEntity(CBaseEntity *pEnt); // 670 -// IsPointEntity(CBaseEntity *pEnt); // 677 -// entindex(CBaseEntity *const this); // 680 -// DoSparks(CBeam *const this, -// const Vector &start, -// const Vector &end); // 720 -// { -// TraceResult tr; // 723 -// BeamDamageInstant(CBeam *const this, -// TraceResult *ptr, -// float damage); // 725 -// } -// } -} - -/* <77680> ../cstrike/dlls/effects.cpp:731 */ -NOBODY void CBeam::BeamDamage(TraceResult *ptr) -{ -// { -// class CBaseEntity *pHit; // 736 -// Instance(edict_t *pent); // 736 -// operator-(const Vector *const this, -// const Vector &v); // 740 -// Normalize(const Vector *const this); // 740 -// } -} - -/* <777dd> ../cstrike/dlls/effects.cpp:753 */ -NOBODY void CLightning::DamageThink(void) -{ -// { -// TraceResult tr; // 756 -// GetEndPos(CBeam *const this); // 757 -// GetStartPos(CBeam *const this); // 757 -// } -} - -/* <77a90> ../cstrike/dlls/effects.cpp:763 */ -NOBODY void CLightning::Zap(const Vector &vecSrc, const Vector &vecDest) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 765 -// DoSparks(CBeam *const this, -// const Vector &start, -// const Vector &end); // 786 -} - -/* <77b45> ../cstrike/dlls/effects.cpp:789 */ -NOBODY void CLightning::RandomArea(void) -{ -// { -// int iLoops; // 791 -// { -// Vector vecSrc; // 795 -// Vector vecDir1; // 797 -// TraceResult tr1; // 799 -// Vector vecDir2; // 805 -// TraceResult tr2; // 810 -// Vector(Vector *const this, -// const Vector &v); // 795 -// Normalize(const Vector *const this); // 798 -// operator*(const Vector *const this, -// float fl); // 800 -// operator+(const Vector *const this, -// const Vector &v); // 800 -// DotProduct(Vector &a, -// const Vector &b); // 808 -// Normalize(const Vector *const this); // 809 -// operator*(const Vector *const this, -// float fl); // 811 -// operator+(const Vector *const this, -// const Vector &v); // 811 -// operator-(const Vector *const this, -// const Vector &v); // 816 -// Length(const Vector *const this); // 816 -// } -// } -} - -/* <77de8> ../cstrike/dlls/effects.cpp:831 */ -NOBODY void CLightning::RandomPoint(Vector &vecSrc) -{ -// { -// int iLoops; // 833 -// { -// Vector vecDir1; // 837 -// TraceResult tr1; // 839 -// Normalize(const Vector *const this); // 838 -// operator*(const Vector *const this, -// float fl); // 840 -// operator+(const Vector *const this, -// const Vector &v); // 840 -// operator-(const Vector *const this, -// const Vector &v); // 842 -// Length(const Vector *const this); // 842 -// } -// } -} - -/* <78313> ../cstrike/dlls/effects.cpp:855 */ -NOBODY void CLightning::BeamUpdateVars(void) -{ -// { -// int beamType; // 857 -// int pointStart; // 858 -// int pointEnd; // 858 -// edict_t *pStart; // 860 -// edict_t *pEnd; // 861 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 860 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 861 -// Instance(edict_t *pent); // 862 -// IsPointEntity(CBaseEntity *pEnt); // 862 -// Instance(edict_t *pent); // 863 -// IsPointEntity(CBaseEntity *pEnt); // 863 -// SetTexture(CBeam *const this, -// int spriteIndex); // 870 -// SetType(CBeam *const this, -// int type); // 892 -// SetStartPos(CBeam *const this, -// const Vector &pos); // 895 -// ENTINDEX(edict_t *pEdict); // 903 -// SetStartEntity(CBeam *const this, -// int entityIndex); // 903 -// ENTINDEX(edict_t *pEdict); // 904 -// SetEndEntity(CBeam *const this, -// int entityIndex); // 904 -// SetWidth(CBeam *const this, -// int width); // 909 -// SetNoise(CBeam *const this, -// int amplitude); // 910 -// SetScrollRate(CBeam *const this, -// int speed); // 912 -// SetFrame(CBeam *const this, -// float frame); // 911 -// SetFlags(CBeam *const this, -// int flags); // 916 -// SetEndEntity(CBeam *const this, -// int entityIndex); // 899 -// SetEndPos(CBeam *const this, -// const Vector &pos); // 897 -// SetFlags(CBeam *const this, -// int flags); // 914 -// } -} - -/* <786d8> ../cstrike/dlls/effects.cpp:920 */ -LINK_ENTITY_TO_CLASS(env_laser, CLaser); - -/* <74144> ../cstrike/dlls/effects.cpp:929 */ -IMPLEMENT_SAVERESTORE(CLaser, CBeam); - -/* <76b3f> ../cstrike/dlls/effects.cpp:931 */ -NOBODY void CLaser::Spawn_(void) -{ -// Spawn(CLaser *const this); // 931 -} - -/* <73d82> ../cstrike/dlls/effects.cpp:960 */ -NOBODY void CLaser::Precache_(void) -{ -// Precache(CLaser *const this); // 960 -} - -/* <74ff2> ../cstrike/dlls/effects.cpp:968 */ -NOBODY void CLaser::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 970 -// FStrEq(const char *sz1, -// const char *sz2); // 975 -// KeyValue(CLaser *const this, -// KeyValueData *pkvd); // 968 -// atof(const char *__nptr); // 977 -// SetWidth(CBeam *const this, -// int width); // 977 -} - -/* <787a8> ../cstrike/dlls/effects.cpp:1015 */ -NOBODY int CLaser::IsOn(void) -{ -} - -/* <787c9> ../cstrike/dlls/effects.cpp:1023 */ -NOBODY void CLaser::TurnOff(void) -{ -// TurnOff(CSprite *const this); // 1028 -} - -/* <78804> ../cstrike/dlls/effects.cpp:1032 */ -NOBODY void CLaser::TurnOn(void) -{ -// TurnOn(CSprite *const this); // 1036 -} - -/* <75f0a> ../cstrike/dlls/effects.cpp:1042 */ -NOBODY void CLaser::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// int active; // 1044 -// IsOn(CLaser *const this); // 1044 -// TurnOff(CLaser *const this); // 1050 -// TurnOn(CLaser *const this); // 1054 -// } -// Use(CLaser *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 1042 -} - -/* <78841> ../cstrike/dlls/effects.cpp:1059 */ -NOBODY void CLaser::FireAtPoint(TraceResult &tr) -{ -// SetEndPos(CBeam *const this, -// const Vector &pos); // 1061 -// GetStartPos(CBeam *const this); // 1066 -// DoSparks(CBeam *const this, -// const Vector &start, -// const Vector &end); // 1066 -} - -/* <778f6> ../cstrike/dlls/effects.cpp:1069 */ -NOBODY void CLaser::StrikeThink(void) -{ -// { -// class CBaseEntity *pEnd; // 1071 -// TraceResult tr; // 1076 -// RandomTargetname(CBeam *const this, -// const char *szName); // 1071 -// FireAtPoint(CLaser *const this, -// TraceResult &tr); // 1079 -// } -} - -/* <7894f> ../cstrike/dlls/effects.cpp:1099 */ -LINK_ENTITY_TO_CLASS(env_glow, CGlow); - -/* <740f6> ../cstrike/dlls/effects.cpp:1107 */ -IMPLEMENT_SAVERESTORE(CGlow, CPointEntity); - -/* <735a6> ../cstrike/dlls/effects.cpp:1109 */ -NOBODY void CGlow::Spawn_(void) -{ -} - -/* <74606> ../cstrike/dlls/effects.cpp:1127 */ -NOBODY void CGlow::Think_(void) -{ -// Animate(CGlow::Think(// float frames); // 1129 -} - -/* <78a1f> ../cstrike/dlls/effects.cpp:1136 */ -NOBODY void CGlow::Animate(float frames) -{ -} - -/* <78a4a> ../cstrike/dlls/effects.cpp:1157 */ -LINK_ENTITY_TO_CLASS(env_bombglow, CBombGlow); - -/* <735cd> ../cstrike/dlls/effects.cpp:1161 */ -NOBODY void CBombGlow::Spawn(void) -{ -} - -/* <73a40> ../cstrike/dlls/effects.cpp:1184 */ -NOBODY void CBombGlow::Think(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 1215 -} - -/* <78b1a> ../cstrike/dlls/effects.cpp:1226 */ -LINK_ENTITY_TO_CLASS(env_sprite, CSprite); - -/* <740a8> ../cstrike/dlls/effects.cpp:1234 */ -IMPLEMENT_SAVERESTORE(CSprite, CPointEntity); - -/* <75dc8> ../cstrike/dlls/effects.cpp:1236 */ -NOBODY void CSprite::Spawn_(void) -{ -// TurnOff(CSprite *const this); // 1248 -// TurnOn(CSprite *const this); // 1250 -} - -/* <75d55> ../cstrike/dlls/effects.cpp:1260 */ -NOBODY void CSprite::Restart_(void) -{ -// TurnOn(CSprite *const this); // 1270 -// Restart(CSprite *const this); // 1260 -} - -/* <74436> ../cstrike/dlls/effects.cpp:1273 */ -NOBODY void CSprite::Precache_(void) -{ -// SetAttachment(CSprite::Precache(// edict_t *pEntity, -// int attachment); // 1279 -// Precache(CSprite *const this); // 1273 -} - -/* <78bea> ../cstrike/dlls/effects.cpp:1289 */ -NOBODY void CSprite::SpriteInit(const char *pSpriteName, const Vector &origin) -{ -} - -/* <78c1d> ../cstrike/dlls/effects.cpp:1296 */ -NOBODY CSprite *CSprite::SpriteCreate(const char *pSpriteName, const Vector &origin, BOOL animate) -{ -// { -// class CSprite *pSprite; // 1298 -// GetClassPtr(CSprite *a); // 1298 -// SpriteInit(CSprite *const this, -// const char *pSpriteName, -// const Vector &origin); // 1299 -// MAKE_STRING_CLASS(const char *str, -// entvars_t *pev); // 1300 -// TurnOn(CSprite *const this); // 1304 -// } -} - -/* <75679> ../cstrike/dlls/effects.cpp:1310 */ -NOBODY void CSprite::AnimateThink(void) -{ -} - -/* <78d6b> ../cstrike/dlls/effects.cpp:1318 */ -NOBODY void CSprite::AnimateUntilDead(void) -{ -// AnimateThink(CSprite *const this); // 1324 -} - -/* <78de9> ../cstrike/dlls/effects.cpp:1329 */ -NOBODY void CSprite::Expand(float scaleSpeed, float fadeSpeed) -{ -} - -/* <73e2e> ../cstrike/dlls/effects.cpp:1340 */ -NOBODY void CSprite::ExpandThink(void) -{ -// { -// float frametime; // 1342 -// } -// ExpandThink(CSprite *const this); // 1340 -} - -/* <78e2e> ../cstrike/dlls/effects.cpp:1358 */ -NOBODY void CSprite::Animate(float frames) -{ -// TurnOff(CSprite *const this); // 1365 -} - -/* <78e73> ../cstrike/dlls/effects.cpp:1376 */ -NOBODY void CSprite::TurnOff(void) -{ -} - -/* <78e94> ../cstrike/dlls/effects.cpp:1383 */ -NOBODY void CSprite::TurnOn(void) -{ -} - -/* <75e27> ../cstrike/dlls/effects.cpp:1396 */ -NOBODY void CSprite::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// int on; // 1398 -// TurnOn(CSprite *const this); // 1407 -// } -// Use(CSprite *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 1396 -} - -/* <7405a> ../cstrike/dlls/effects.cpp:1448 */ -IMPLEMENT_SAVERESTORE(CGibShooter, CBaseDelay); - -/* <78eb7> ../cstrike/dlls/effects.cpp:1449 */ -LINK_ENTITY_TO_CLASS(gibshooter, CGibShooter); - -/* <73dbb> ../cstrike/dlls/effects.cpp:1452 */ -NOBODY void CGibShooter::Precache_(void) -{ -// Precache(CGibShooter *const this); // 1452 -} - -/* <74886> ../cstrike/dlls/effects.cpp:1465 */ -NOBODY void CGibShooter::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1467 -// FStrEq(const char *sz1, -// const char *sz2); // 1472 -// KeyValue(CGibShooter *const this, -// KeyValueData *pkvd); // 1465 -// atoi(const char *__nptr); // 1469 -// atof(const char *__nptr); // 1474 -} - -/* <735f4> ../cstrike/dlls/effects.cpp:1493 */ -NOBODY void CGibShooter::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <73cb5> ../cstrike/dlls/effects.cpp:1499 */ -NOBODY void CGibShooter::Spawn_(void) -{ -} - -/* <744ff> ../cstrike/dlls/effects.cpp:1521 */ -NOBODY CGib *CGibShooter::CreateGib_(void) -{ -// { -// class CGib *pGib; // 1526 -// GetClassPtr(CGib *a); // 1526 -// } -} - -/* <75751> ../cstrike/dlls/effects.cpp:1541 */ -NOBODY void CGibShooter::ShootThink(void) -{ -// { -// Vector vecShootDir; // 1545 -// class CGib *pGib; // 1554 -// operator*(const Vector *const this, -// float fl); // 1549 -// operator*(const Vector *const this, -// float fl); // 1549 -// operator+(const Vector *const this, -// const Vector &v); // 1549 -// operator*(const Vector *const this, -// float fl); // 1550 -// operator*(const Vector *const this, -// float fl); // 1550 -// operator+(const Vector *const this, -// const Vector &v); // 1550 -// operator*(const Vector *const this, -// float fl); // 1551 -// operator*(const Vector *const this, -// float fl); // 1551 -// operator+(const Vector *const this, -// const Vector &v); // 1551 -// Normalize(const Vector *const this); // 1553 -// { -// float thinkTime; // 1564 -// operator*(const Vector *const this, -// float fl); // 1559 -// } -// } -} - -/* <78f87> ../cstrike/dlls/effects.cpp:1600 */ -LINK_ENTITY_TO_CLASS(env_shooter, CEnvShooter); - -/* <749e7> ../cstrike/dlls/effects.cpp:1602 */ -NOBODY void CEnvShooter::KeyValue_(KeyValueData *pkvd) -{ -// { -// int iNoise; // 1611 -// } -// FStrEq(const char *sz1, -// const char *sz2); // 1604 -// FStrEq(const char *sz1, -// const char *sz2); // 1609 -// KeyValue(CEnvShooter *const this, -// KeyValueData *pkvd); // 1602 -} - -/* <73cdc> ../cstrike/dlls/effects.cpp:1644 */ -NOBODY void CEnvShooter::Precache_(void) -{ -} - -/* <7464b> ../cstrike/dlls/effects.cpp:1651 */ -NOBODY CGib *CEnvShooter::CreateGib_(void) -{ -// { -// class CGib *pGib; // 1653 -// int bodyPart; // 1657 -// GetClassPtr(CGib *a); // 1653 -// } -} - -/* <79057> ../cstrike/dlls/effects.cpp:1696 */ -LINK_ENTITY_TO_CLASS(test_effect, CTestEffect); - -/* <73656> ../cstrike/dlls/effects.cpp:1698 */ -NOBODY void CTestEffect::Spawn_(void) -{ -} - -/* <7367c> ../cstrike/dlls/effects.cpp:1703 */ -NOBODY void CTestEffect::Precache_(void) -{ -} - -/* <76e39> ../cstrike/dlls/effects.cpp:1708 */ -NOBODY void CTestEffect::TestThink(void) -{ -// { -// int i; // 1710 -// float t; // 1711 -// { -// class CBeam *pbeam; // 1715 -// TraceResult tr; // 1717 -// Vector vecSrc; // 1719 -// Vector vecDir; // 1720 -// Normalize(const Vector *const this); // 1721 -// BeamCreate(const char *pSpriteName, -// int width); // 1715 -// Vector(Vector *const this, -// const Vector &v); // 1719 -// operator*(const Vector *const this, -// float fl); // 1722 -// operator+(const Vector *const this, -// const Vector &v); // 1722 -// PointsInit(CBeam *const this, -// const Vector &start, -// const Vector &end); // 1724 -// SetColor(CBeam *const this, -// int r, -// int g, -// int b); // 1726 -// SetWidth(CBeam *const this, -// int width); // 1727 -// SetScrollRate(CBeam *const this, -// int speed); // 1728 -// } -// SetBrightness(CBeam *const this, -// int brightness); // 1740 -// } -} - -/* <736a2> ../cstrike/dlls/effects.cpp:1759 */ -NOBODY void CTestEffect::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <79127> ../cstrike/dlls/effects.cpp:1788 */ -LINK_ENTITY_TO_CLASS(env_blood, CBlood); - -/* <73c8f> ../cstrike/dlls/effects.cpp:1797 */ -NOBODY void CBlood::Spawn_(void) -{ -} - -/* <74c34> ../cstrike/dlls/effects.cpp:1807 */ -NOBODY void CBlood::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1809 -// FStrEq(const char *sz1, -// const char *sz2); // 1824 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 1830 -// { -// int color; // 1811 -// atoi(const char *__nptr); // 1811 -// SetColor(CBlood *const this, -// int color); // 1818 -// SetColor(CBlood *const this, -// int color); // 1815 -// } -// KeyValue(CBlood *const this, -// KeyValueData *pkvd); // 1807 -} - -/* <791f7> ../cstrike/dlls/effects.cpp:1834 */ -NOBODY Vector CBlood::Direction(void) -{ -} - -/* <79256> ../cstrike/dlls/effects.cpp:1843 */ -NOBODY Vector CBlood::BloodPosition(CBaseEntity *pActivator) -{ -// { -// edict_t *pPlayer; // 1847 -// operator+(const Vector *const this, -// const Vector &v); // 1856 -// operator+(const Vector *const this, -// const Vector &v); // 1856 -// edict(CBaseEntity *const this); // 1851 -// } -// Vector(Vector *const this, -// const Vector &v); // 1859 -} - -/* <79351> ../cstrike/dlls/effects.cpp:1863 */ -NOBODY void CBlood::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Color(CBlood *const this); // 1866 -// Direction(CBlood *const this); // 1866 -// { -// Vector forward; // 1872 -// Vector start; // 1873 -// TraceResult tr; // 1874 -// Direction(CBlood *const this); // 1872 -// BloodAmount(CBlood *const this); // 1876 -// operator*(const Vector *const this, -// float fl); // 1876 -// operator*(const Vector *const this, -// float fl); // 1876 -// operator+(const Vector *const this, -// const Vector &v); // 1876 -// Color(CBlood *const this); // 1878 -// } -// Direction(CBlood *const this); // 1868 -// Color(CBlood *const this); // 1868 -} - -/* <79594> ../cstrike/dlls/effects.cpp:1905 */ -LINK_ENTITY_TO_CLASS(env_shake, CShake); - -/* <73705> ../cstrike/dlls/effects.cpp:1919 */ -NOBODY void CShake::Spawn_(void) -{ -} - -/* <74d76> ../cstrike/dlls/effects.cpp:1931 */ -NOBODY void CShake::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1933 -// FStrEq(const char *sz1, -// const char *sz2); // 1938 -// KeyValue(CShake *const this, -// KeyValueData *pkvd); // 1931 -// atof(const char *__nptr); // 1935 -// atof(const char *__nptr); // 1940 -} - -/* <73c2d> ../cstrike/dlls/effects.cpp:1958 */ -NOBODY void CShake::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <79664> ../cstrike/dlls/effects.cpp:1979 */ -LINK_ENTITY_TO_CLASS(env_fade, CFade); - -/* <7372b> ../cstrike/dlls/effects.cpp:1987 */ -NOBODY void CFade::Spawn_(void) -{ -} - -/* <74efa> ../cstrike/dlls/effects.cpp:1996 */ -NOBODY void CFade::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1998 -// FStrEq(const char *sz1, -// const char *sz2); // 2003 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 2009 -// atof(const char *__nptr); // 2000 -// KeyValue(CFade *const this, -// KeyValueData *pkvd); // 1996 -} - -/* <73bb4> ../cstrike/dlls/effects.cpp:2013 */ -NOBODY void CFade::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// int fadeFlags; // 2015 -// } -} - -/* <79734> ../cstrike/dlls/effects.cpp:2048 */ -LINK_ENTITY_TO_CLASS(env_message, CMessage); - -/* <73751> ../cstrike/dlls/effects.cpp:2051 */ -NOBODY void CMessage::Spawn_(void) -{ -} - -/* <73df7> ../cstrike/dlls/effects.cpp:2085 */ -NOBODY void CMessage::Precache_(void) -{ -// Precache(CMessage *const this); // 2085 -} - -/* <74765> ../cstrike/dlls/effects.cpp:2091 */ -NOBODY void CMessage::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2093 -// FStrEq(const char *sz1, -// const char *sz2); // 2098 -// KeyValue(CMessage *const this, -// KeyValueData *pkvd); // 2091 -// atof(const char *__nptr); // 2100 -} - -/* <73aa5> ../cstrike/dlls/effects.cpp:2113 */ -NOBODY void CMessage::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// class CBaseEntity *pPlayer; // 2115 -// Instance(edict_t *pent); // 2125 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 2132 -// } -} - -/* <79804> ../cstrike/dlls/effects.cpp:2160 */ -LINK_ENTITY_TO_CLASS(env_funnel, CEnvFunnel); - -/* <73778> ../cstrike/dlls/effects.cpp:2155 */ -NOBODY void CEnvFunnel::Precache_(void) -{ -} - -/* <7379f> ../cstrike/dlls/effects.cpp:2162 */ -NOBODY void CEnvFunnel::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 2164 -} - -/* <7382b> ../cstrike/dlls/effects.cpp:2187 */ -NOBODY void CEnvFunnel::Spawn_(void) -{ -} - -/* <73852> ../cstrike/dlls/effects.cpp:2207 */ -NOBODY void CEnvBeverage::Precache_(void) -{ - PRECACHE_MODEL("models/can.mdl"); - PRECACHE_SOUND("weapons/g_bounce3.wav"); -} - -/* <798d4> ../cstrike/dlls/effects.cpp:2213 */ -LINK_ENTITY_TO_CLASS(env_beverage, CEnvBeverage); - -/* <7439c> ../cstrike/dlls/effects.cpp:2215 */ -NOBODY void CEnvBeverage::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// class CBaseEntity *pCan; // 2223 -// } -// Use(CEnvBeverage *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 2215 -} - -/* <73879> ../cstrike/dlls/effects.cpp:2242 */ -NOBODY void CEnvBeverage::Spawn_(void) -{ -} - -/* <738a0> ../cstrike/dlls/effects.cpp:2267 */ -NOBODY void CItemSoda::Precache_(void) -{ -} - -/* <799a4> ../cstrike/dlls/effects.cpp:2271 */ -LINK_ENTITY_TO_CLASS(item_sodacan, CItemSoda); - -/* <738c6> ../cstrike/dlls/effects.cpp:2273 */ -NOBODY void CItemSoda::Spawn_(void) -{ -// Vector(Vector::Spawn(// float X, -// float Y, -// float Z); // 2280 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 2280 -} - -/* <73961> ../cstrike/dlls/effects.cpp:2286 */ -NOBODY void CItemSoda::CanThink(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 2288 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 2291 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 2291 -} - -/* <7431d> ../cstrike/dlls/effects.cpp:2296 */ -NOBODY void CItemSoda::CanTouch(CBaseEntity *pOther) -{ -// CanTouch(CItemSoda *const this, -// class CBaseEntity *pOther); // 2296 -} - -#ifdef HOOK_GAMEDLL - -void CSprite::Spawn(void) -{ - Spawn_(); -} - -void CSprite::Precache(void) -{ - Precache_(); -} - -void CSprite::Restart(void) -{ - Restart_(); -} - -int CSprite::Save(CSave &save) -{ - return Save_(save); -} - -int CSprite::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CSprite::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CBeam::Spawn(void) -{ - Spawn_(); -} - -void CBeam::Precache(void) -{ - Precache_(); -} - -void CLaser::Spawn(void) -{ - Spawn_(); -} - -void CLaser::Precache(void) -{ - Precache_(); -} - -void CLaser::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CLaser::Save(CSave &save) -{ - return Save_(save); -} - -int CLaser::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CLaser::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CBubbling::Spawn(void) -{ - Spawn_(); -} - -void CBubbling::Precache(void) -{ - Precache_(); -} - -void CBubbling::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CBubbling::Save(CSave &save) -{ - return Save_(save); -} - -int CBubbling::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CBubbling::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CLightning::Spawn(void) -{ - Spawn_(); -} - -void CLightning::Precache(void) -{ - Precache_(); -} - -void CLightning::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CLightning::Save(CSave &save) -{ - return Save_(save); -} - -int CLightning::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CLightning::Activate(void) -{ - Activate_(); -} - -void CGlow::Spawn(void) -{ - Spawn_(); -} - -int CGlow::Save(CSave &save) -{ - return Save_(save); -} - -int CGlow::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CGlow::Think(void) -{ - Think_(); -} - -void CGibShooter::Spawn(void) -{ - Spawn_(); -} - -void CGibShooter::Precache(void) -{ - Precache_(); -} - -void CGibShooter::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CGibShooter::Save(CSave &save) -{ - return Save_(save); -} - -int CGibShooter::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CGibShooter::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -CGib *CGibShooter::CreateGib(void) -{ - return CreateGib_(); -} - -void CEnvShooter::Precache(void) -{ - Precache_(); -} - -void CEnvShooter::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -CGib *CEnvShooter::CreateGib(void) -{ - return CreateGib_(); -} - -void CTestEffect::Spawn(void) -{ - Spawn_(); -} - -void CTestEffect::Precache(void) -{ - Precache_(); -} - -void CTestEffect::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CBlood::Spawn(void) -{ - Spawn_(); -} - -void CBlood::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -void CBlood::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CShake::Spawn(void) -{ - Spawn_(); -} - -void CShake::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -void CShake::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CFade::Spawn(void) -{ - Spawn_(); -} - -void CFade::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -void CFade::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CMessage::Spawn(void) -{ - Spawn_(); -} - -void CMessage::Precache(void) -{ - Precache_(); -} - -void CMessage::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -void CMessage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CEnvFunnel::Spawn(void) -{ - Spawn_(); -} - -void CEnvFunnel::Precache(void) -{ - Precache_(); -} - -void CEnvFunnel::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CEnvBeverage::Spawn(void) -{ - Spawn_(); -} - -void CEnvBeverage::Precache(void) -{ - Precache_(); -} - -void CEnvBeverage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CItemSoda::Spawn(void) -{ - Spawn_(); -} - -void CItemSoda::Precache(void) -{ - Precache_(); -} - -#endif // HOOK_GAMEDLL + return pev->origin; +// { +// edict_t *pent; // 200 +// } +// GetType(CBeam *const this); // 198 +// GetStartPos(CBeam *const this); // 196 +} + +/* <7639a> ../cstrike/dlls/effects.cpp:207 */ +NOBODY const Vector &CBeam::GetEndPos(void) +{ +// { +// int type; // 209 +// edict_t *pent; // 215 +// GetType(CBeam *const this); // 209 +// } +// GetEndPos(CBeam *const this); // 207 +} + +/* <76540> ../cstrike/dlls/effects.cpp:222 */ +NOBODY CBeam *CBeam::BeamCreate(const char *pSpriteName, int width) +{ +// { +// class CBeam *pBeam; // 225 +// GetClassPtr(CBeam *a); // 225 +// MAKE_STRING_CLASS(const char *str, +// entvars_t *pev); // 226 +// } +} + +/* <76422> ../cstrike/dlls/effects.cpp:234 */ +NOBODY void CBeam::BeamInit(const char *pSpriteName, int width) +{ +// SetNoise(CBeam *const this, +// int amplitude); // 239 +// SetColor(CBeam *const this, +// int r, +// int g, +// int b); // 237 +// SetBrightness(CBeam *const this, +// int brightness); // 238 +// SetFrame(CBeam *const this, +// float frame); // 240 +// SetScrollRate(CBeam *const this, +// int speed); // 241 +// SetWidth(CBeam *const this, +// int width); // 244 +// SetTexture(CBeam *const this, +// int spriteIndex); // 243 +} + +/* <76a56> ../cstrike/dlls/effects.cpp:251 */ +NOBODY void CBeam::PointsInit(const Vector &start, const Vector &end) +{ +// SetType(CBeam *const this, +// int type); // 253 +// SetStartPos(CBeam *const this, +// const Vector &pos); // 254 +// SetEndPos(CBeam *const this, +// const Vector &pos); // 255 +// SetStartAttachment(CBeam *const this, +// int attachment); // 256 +// SetEndAttachment(CBeam *const this, +// int attachment); // 257 +} + +/* <7695b> ../cstrike/dlls/effects.cpp:262 */ +NOBODY void CBeam::HoseInit(const Vector &start, const Vector &direction) +{ +// SetType(CBeam *const this, +// int type); // 264 +// SetStartPos(CBeam *const this, +// const Vector &pos); // 265 +// SetEndPos(CBeam *const this, +// const Vector &pos); // 266 +// SetStartAttachment(CBeam *const this, +// int attachment); // 267 +// SetEndAttachment(CBeam *const this, +// int attachment); // 268 +} + +/* <76887> ../cstrike/dlls/effects.cpp:273 */ +NOBODY void CBeam::PointEntInit(const Vector &start, int endIndex) +{ +// SetType(CBeam *const this, +// int type); // 275 +// SetStartPos(CBeam *const this, +// const Vector &pos); // 276 +// SetEndEntity(CBeam *const this, +// int entityIndex); // 277 +// SetStartAttachment(CBeam *const this, +// int attachment); // 278 +// SetEndAttachment(CBeam *const this, +// int attachment); // 279 +} + +/* <767ab> ../cstrike/dlls/effects.cpp:283 */ +NOBODY void CBeam::EntsInit(int startIndex, int endIndex) +{ +// SetType(CBeam *const this, +// int type); // 285 +// SetStartEntity(CBeam *const this, +// int entityIndex); // 286 +// SetEndEntity(CBeam *const this, +// int entityIndex); // 287 +// SetStartAttachment(CBeam *const this, +// int attachment); // 288 +// SetEndAttachment(CBeam *const this, +// int attachment); // 289 +} + +/* <7663a> ../cstrike/dlls/effects.cpp:294 */ +NOBODY void CBeam::RelinkBeam(void) +{ +// { +// const Vector &startPos; // 296 +// const Vector &endPos; // 296 +// GetStartPos(CBeam *const this); // 296 +// GetEndPos(CBeam *const this); // 296 +// operator-(const Vector *const this, +// const Vector &v); // 304 +// operator-(const Vector *const this, +// const Vector &v); // 305 +// } +} + +/* <77305> ../cstrike/dlls/effects.cpp:311 */ +NOBODY void CBeam::TriggerTouch(CBaseEntity *pOther) +{ +// { +// class CBaseEntity *pOwner; // 317 +// Instance(edict_t *pent); // 317 +// } +} + +/* <773e2> ../cstrike/dlls/effects.cpp:325 */ +NOBODY CBaseEntity *CBeam::RandomTargetname(const char *szName) +{ +// { +// int total; // 327 +// class CBaseEntity *pEntity; // 329 +// class CBaseEntity *pNewEntity; // 330 +// } +} + +/* <77431> ../cstrike/dlls/effects.cpp:341 */ +NOBODY void CBeam::DoSparks(const Vector &start, const Vector &end) +{ +// DoSparks(CBeam *const this, +// const Vector &start, +// const Vector &end); // 341 +} + +/* <774c2> ../cstrike/dlls/effects.cpp:402 */ +LINK_ENTITY_TO_CLASS(env_lightning, CLightning); + +/* <77592> ../cstrike/dlls/effects.cpp:403 */ +LINK_ENTITY_TO_CLASS(env_beam, CLightning); + +/* <74192> ../cstrike/dlls/effects.cpp:441 */ +IMPLEMENT_SAVERESTORE(CLightning, CBeam); + +/* <744b2> ../cstrike/dlls/effects.cpp:444 */ +NOBODY void CLightning::Spawn_(void) +{ +// Spawn(CLightning *const this); // 444 +} + +/* <7357f> ../cstrike/dlls/effects.cpp:493 */ +NOBODY void CLightning::Precache_(void) +{ +} + +/* <786a1> ../cstrike/dlls/effects.cpp:500 */ +NOBODY void CLightning::Activate_(void) +{ +// ServerSide(CLightning *const this); // 502 +} + +/* <7536c> ../cstrike/dlls/effects.cpp:507 */ +NOBODY void CLightning::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 509 +// FStrEq(const char *sz1, +// const char *sz2); // 514 +// KeyValue(CLightning *const this, +// KeyValueData *pkvd); // 507 +} + +/* <75ad3> ../cstrike/dlls/effects.cpp:569 */ +NOBODY void CLightning::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// ToggleUse(CLightning *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 569 +} + +/* <7422d> ../cstrike/dlls/effects.cpp:593 */ +NOBODY void CLightning::StrikeUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// StrikeUse(CLightning *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 593 +} + +/* <71e66> ../cstrike/dlls/effects.cpp:614 */ +NOBODY int IsPointEntity(CBaseEntity *pEnt) +{ +} + +/* <77f64> ../cstrike/dlls/effects.cpp:625 */ +NOBODY void CLightning::StrikeThink(void) +{ +// { +// class CBaseEntity *pStart; // 653 +// class CBaseEntity *pEnd; // 654 +// { +// class CBaseEntity *pStart; // 644 +// RandomTargetname(CBeam *const this, +// const char *szName); // 644 +// } +// RandomTargetname(CBeam *const this, +// const char *szName); // 653 +// RandomTargetname(CBeam *const this, +// const char *szName); // 654 +// IsPointEntity(CBaseEntity *pEnt); // 658 +// IsPointEntity(CBaseEntity *pEnt); // 658 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 667 +// IsPointEntity(CBaseEntity *pEnt); // 668 +// IsPointEntity(CBaseEntity *pEnt); // 668 +// entindex(CBaseEntity *const this); // 704 +// entindex(CBaseEntity *const this); // 705 +// IsPointEntity(CBaseEntity *pEnt); // 670 +// IsPointEntity(CBaseEntity *pEnt); // 677 +// entindex(CBaseEntity *const this); // 680 +// DoSparks(CBeam *const this, +// const Vector &start, +// const Vector &end); // 720 +// { +// TraceResult tr; // 723 +// BeamDamageInstant(CBeam *const this, +// TraceResult *ptr, +// float damage); // 725 +// } +// } +} + +/* <77680> ../cstrike/dlls/effects.cpp:731 */ +NOBODY void CBeam::BeamDamage(TraceResult *ptr) +{ +// { +// class CBaseEntity *pHit; // 736 +// Instance(edict_t *pent); // 736 +// operator-(const Vector *const this, +// const Vector &v); // 740 +// Normalize(const Vector *const this); // 740 +// } +} + +/* <777dd> ../cstrike/dlls/effects.cpp:753 */ +NOBODY void CLightning::DamageThink(void) +{ +// { +// TraceResult tr; // 756 +// GetEndPos(CBeam *const this); // 757 +// GetStartPos(CBeam *const this); // 757 +// } +} + +/* <77a90> ../cstrike/dlls/effects.cpp:763 */ +NOBODY void CLightning::Zap(const Vector &vecSrc, const Vector &vecDest) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 765 +// DoSparks(CBeam *const this, +// const Vector &start, +// const Vector &end); // 786 +} + +/* <77b45> ../cstrike/dlls/effects.cpp:789 */ +NOBODY void CLightning::RandomArea(void) +{ +// { +// int iLoops; // 791 +// { +// Vector vecSrc; // 795 +// Vector vecDir1; // 797 +// TraceResult tr1; // 799 +// Vector vecDir2; // 805 +// TraceResult tr2; // 810 +// Vector(Vector *const this, +// const Vector &v); // 795 +// Normalize(const Vector *const this); // 798 +// operator*(const Vector *const this, +// float fl); // 800 +// operator+(const Vector *const this, +// const Vector &v); // 800 +// DotProduct(Vector &a, +// const Vector &b); // 808 +// Normalize(const Vector *const this); // 809 +// operator*(const Vector *const this, +// float fl); // 811 +// operator+(const Vector *const this, +// const Vector &v); // 811 +// operator-(const Vector *const this, +// const Vector &v); // 816 +// Length(const Vector *const this); // 816 +// } +// } +} + +/* <77de8> ../cstrike/dlls/effects.cpp:831 */ +NOBODY void CLightning::RandomPoint(Vector &vecSrc) +{ +// { +// int iLoops; // 833 +// { +// Vector vecDir1; // 837 +// TraceResult tr1; // 839 +// Normalize(const Vector *const this); // 838 +// operator*(const Vector *const this, +// float fl); // 840 +// operator+(const Vector *const this, +// const Vector &v); // 840 +// operator-(const Vector *const this, +// const Vector &v); // 842 +// Length(const Vector *const this); // 842 +// } +// } +} + +/* <78313> ../cstrike/dlls/effects.cpp:855 */ +NOBODY void CLightning::BeamUpdateVars(void) +{ +// { +// int beamType; // 857 +// int pointStart; // 858 +// int pointEnd; // 858 +// edict_t *pStart; // 860 +// edict_t *pEnd; // 861 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 860 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 861 +// Instance(edict_t *pent); // 862 +// IsPointEntity(CBaseEntity *pEnt); // 862 +// Instance(edict_t *pent); // 863 +// IsPointEntity(CBaseEntity *pEnt); // 863 +// SetTexture(CBeam *const this, +// int spriteIndex); // 870 +// SetType(CBeam *const this, +// int type); // 892 +// SetStartPos(CBeam *const this, +// const Vector &pos); // 895 +// ENTINDEX(edict_t *pEdict); // 903 +// SetStartEntity(CBeam *const this, +// int entityIndex); // 903 +// ENTINDEX(edict_t *pEdict); // 904 +// SetEndEntity(CBeam *const this, +// int entityIndex); // 904 +// SetWidth(CBeam *const this, +// int width); // 909 +// SetNoise(CBeam *const this, +// int amplitude); // 910 +// SetScrollRate(CBeam *const this, +// int speed); // 912 +// SetFrame(CBeam *const this, +// float frame); // 911 +// SetFlags(CBeam *const this, +// int flags); // 916 +// SetEndEntity(CBeam *const this, +// int entityIndex); // 899 +// SetEndPos(CBeam *const this, +// const Vector &pos); // 897 +// SetFlags(CBeam *const this, +// int flags); // 914 +// } +} + +/* <786d8> ../cstrike/dlls/effects.cpp:920 */ +LINK_ENTITY_TO_CLASS(env_laser, CLaser); + +/* <74144> ../cstrike/dlls/effects.cpp:929 */ +IMPLEMENT_SAVERESTORE(CLaser, CBeam); + +/* <76b3f> ../cstrike/dlls/effects.cpp:931 */ +NOBODY void CLaser::Spawn_(void) +{ +// Spawn(CLaser *const this); // 931 +} + +/* <73d82> ../cstrike/dlls/effects.cpp:960 */ +NOBODY void CLaser::Precache_(void) +{ +// Precache(CLaser *const this); // 960 +} + +/* <74ff2> ../cstrike/dlls/effects.cpp:968 */ +NOBODY void CLaser::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 970 +// FStrEq(const char *sz1, +// const char *sz2); // 975 +// KeyValue(CLaser *const this, +// KeyValueData *pkvd); // 968 +// atof(const char *__nptr); // 977 +// SetWidth(CBeam *const this, +// int width); // 977 +} + +/* <787a8> ../cstrike/dlls/effects.cpp:1015 */ +NOBODY int CLaser::IsOn(void) +{ +} + +/* <787c9> ../cstrike/dlls/effects.cpp:1023 */ +NOBODY void CLaser::TurnOff(void) +{ +// TurnOff(CSprite *const this); // 1028 +} + +/* <78804> ../cstrike/dlls/effects.cpp:1032 */ +NOBODY void CLaser::TurnOn(void) +{ +// TurnOn(CSprite *const this); // 1036 +} + +/* <75f0a> ../cstrike/dlls/effects.cpp:1042 */ +NOBODY void CLaser::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// int active; // 1044 +// IsOn(CLaser *const this); // 1044 +// TurnOff(CLaser *const this); // 1050 +// TurnOn(CLaser *const this); // 1054 +// } +// Use(CLaser *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 1042 +} + +/* <78841> ../cstrike/dlls/effects.cpp:1059 */ +NOBODY void CLaser::FireAtPoint(TraceResult &tr) +{ +// SetEndPos(CBeam *const this, +// const Vector &pos); // 1061 +// GetStartPos(CBeam *const this); // 1066 +// DoSparks(CBeam *const this, +// const Vector &start, +// const Vector &end); // 1066 +} + +/* <778f6> ../cstrike/dlls/effects.cpp:1069 */ +NOBODY void CLaser::StrikeThink(void) +{ +// { +// class CBaseEntity *pEnd; // 1071 +// TraceResult tr; // 1076 +// RandomTargetname(CBeam *const this, +// const char *szName); // 1071 +// FireAtPoint(CLaser *const this, +// TraceResult &tr); // 1079 +// } +} + +/* <7894f> ../cstrike/dlls/effects.cpp:1099 */ +LINK_ENTITY_TO_CLASS(env_glow, CGlow); + +/* <740f6> ../cstrike/dlls/effects.cpp:1107 */ +IMPLEMENT_SAVERESTORE(CGlow, CPointEntity); + +/* <735a6> ../cstrike/dlls/effects.cpp:1109 */ +NOBODY void CGlow::Spawn_(void) +{ +} + +/* <74606> ../cstrike/dlls/effects.cpp:1127 */ +NOBODY void CGlow::Think_(void) +{ +// Animate(CGlow::Think(// float frames); // 1129 +} + +/* <78a1f> ../cstrike/dlls/effects.cpp:1136 */ +NOBODY void CGlow::Animate(float frames) +{ +} + +/* <78a4a> ../cstrike/dlls/effects.cpp:1157 */ +LINK_ENTITY_TO_CLASS(env_bombglow, CBombGlow); + +/* <735cd> ../cstrike/dlls/effects.cpp:1161 */ +NOBODY void CBombGlow::Spawn(void) +{ +} + +/* <73a40> ../cstrike/dlls/effects.cpp:1184 */ +NOBODY void CBombGlow::Think(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 1215 +} + +/* <78b1a> ../cstrike/dlls/effects.cpp:1226 */ +LINK_ENTITY_TO_CLASS(env_sprite, CSprite); + +/* <740a8> ../cstrike/dlls/effects.cpp:1234 */ +IMPLEMENT_SAVERESTORE(CSprite, CPointEntity); + +/* <75dc8> ../cstrike/dlls/effects.cpp:1236 */ +NOBODY void CSprite::Spawn_(void) +{ +// TurnOff(CSprite *const this); // 1248 +// TurnOn(CSprite *const this); // 1250 +} + +/* <75d55> ../cstrike/dlls/effects.cpp:1260 */ +NOBODY void CSprite::Restart_(void) +{ +// TurnOn(CSprite *const this); // 1270 +// Restart(CSprite *const this); // 1260 +} + +/* <74436> ../cstrike/dlls/effects.cpp:1273 */ +NOBODY void CSprite::Precache_(void) +{ +// SetAttachment(CSprite::Precache(// edict_t *pEntity, +// int attachment); // 1279 +// Precache(CSprite *const this); // 1273 +} + +/* <78bea> ../cstrike/dlls/effects.cpp:1289 */ +NOBODY void CSprite::SpriteInit(const char *pSpriteName, const Vector &origin) +{ +} + +/* <78c1d> ../cstrike/dlls/effects.cpp:1296 */ +NOBODY CSprite *CSprite::SpriteCreate(const char *pSpriteName, const Vector &origin, BOOL animate) +{ +// { +// class CSprite *pSprite; // 1298 +// GetClassPtr(CSprite *a); // 1298 +// SpriteInit(CSprite *const this, +// const char *pSpriteName, +// const Vector &origin); // 1299 +// MAKE_STRING_CLASS(const char *str, +// entvars_t *pev); // 1300 +// TurnOn(CSprite *const this); // 1304 +// } +} + +/* <75679> ../cstrike/dlls/effects.cpp:1310 */ +NOBODY void CSprite::AnimateThink(void) +{ +} + +/* <78d6b> ../cstrike/dlls/effects.cpp:1318 */ +NOBODY void CSprite::AnimateUntilDead(void) +{ +// AnimateThink(CSprite *const this); // 1324 +} + +/* <78de9> ../cstrike/dlls/effects.cpp:1329 */ +NOBODY void CSprite::Expand(float scaleSpeed, float fadeSpeed) +{ +} + +/* <73e2e> ../cstrike/dlls/effects.cpp:1340 */ +NOBODY void CSprite::ExpandThink(void) +{ +// { +// float frametime; // 1342 +// } +// ExpandThink(CSprite *const this); // 1340 +} + +/* <78e2e> ../cstrike/dlls/effects.cpp:1358 */ +NOBODY void CSprite::Animate(float frames) +{ +// TurnOff(CSprite *const this); // 1365 +} + +/* <78e73> ../cstrike/dlls/effects.cpp:1376 */ +NOBODY void CSprite::TurnOff(void) +{ +} + +/* <78e94> ../cstrike/dlls/effects.cpp:1383 */ +NOBODY void CSprite::TurnOn(void) +{ +} + +/* <75e27> ../cstrike/dlls/effects.cpp:1396 */ +NOBODY void CSprite::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// int on; // 1398 +// TurnOn(CSprite *const this); // 1407 +// } +// Use(CSprite *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 1396 +} + +/* <7405a> ../cstrike/dlls/effects.cpp:1448 */ +IMPLEMENT_SAVERESTORE(CGibShooter, CBaseDelay); + +/* <78eb7> ../cstrike/dlls/effects.cpp:1449 */ +LINK_ENTITY_TO_CLASS(gibshooter, CGibShooter); + +/* <73dbb> ../cstrike/dlls/effects.cpp:1452 */ +NOBODY void CGibShooter::Precache_(void) +{ +// Precache(CGibShooter *const this); // 1452 +} + +/* <74886> ../cstrike/dlls/effects.cpp:1465 */ +NOBODY void CGibShooter::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1467 +// FStrEq(const char *sz1, +// const char *sz2); // 1472 +// KeyValue(CGibShooter *const this, +// KeyValueData *pkvd); // 1465 +// atoi(const char *__nptr); // 1469 +// atof(const char *__nptr); // 1474 +} + +/* <735f4> ../cstrike/dlls/effects.cpp:1493 */ +NOBODY void CGibShooter::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <73cb5> ../cstrike/dlls/effects.cpp:1499 */ +NOBODY void CGibShooter::Spawn_(void) +{ +} + +/* <744ff> ../cstrike/dlls/effects.cpp:1521 */ +NOBODY CGib *CGibShooter::CreateGib_(void) +{ +// { +// class CGib *pGib; // 1526 +// GetClassPtr(CGib *a); // 1526 +// } +} + +/* <75751> ../cstrike/dlls/effects.cpp:1541 */ +NOBODY void CGibShooter::ShootThink(void) +{ +// { +// Vector vecShootDir; // 1545 +// class CGib *pGib; // 1554 +// operator*(const Vector *const this, +// float fl); // 1549 +// operator*(const Vector *const this, +// float fl); // 1549 +// operator+(const Vector *const this, +// const Vector &v); // 1549 +// operator*(const Vector *const this, +// float fl); // 1550 +// operator*(const Vector *const this, +// float fl); // 1550 +// operator+(const Vector *const this, +// const Vector &v); // 1550 +// operator*(const Vector *const this, +// float fl); // 1551 +// operator*(const Vector *const this, +// float fl); // 1551 +// operator+(const Vector *const this, +// const Vector &v); // 1551 +// Normalize(const Vector *const this); // 1553 +// { +// float thinkTime; // 1564 +// operator*(const Vector *const this, +// float fl); // 1559 +// } +// } +} + +/* <78f87> ../cstrike/dlls/effects.cpp:1600 */ +LINK_ENTITY_TO_CLASS(env_shooter, CEnvShooter); + +/* <749e7> ../cstrike/dlls/effects.cpp:1602 */ +NOBODY void CEnvShooter::KeyValue_(KeyValueData *pkvd) +{ +// { +// int iNoise; // 1611 +// } +// FStrEq(const char *sz1, +// const char *sz2); // 1604 +// FStrEq(const char *sz1, +// const char *sz2); // 1609 +// KeyValue(CEnvShooter *const this, +// KeyValueData *pkvd); // 1602 +} + +/* <73cdc> ../cstrike/dlls/effects.cpp:1644 */ +NOBODY void CEnvShooter::Precache_(void) +{ +} + +/* <7464b> ../cstrike/dlls/effects.cpp:1651 */ +NOBODY CGib *CEnvShooter::CreateGib_(void) +{ +// { +// class CGib *pGib; // 1653 +// int bodyPart; // 1657 +// GetClassPtr(CGib *a); // 1653 +// } +} + +/* <79057> ../cstrike/dlls/effects.cpp:1696 */ +LINK_ENTITY_TO_CLASS(test_effect, CTestEffect); + +/* <73656> ../cstrike/dlls/effects.cpp:1698 */ +NOBODY void CTestEffect::Spawn_(void) +{ +} + +/* <7367c> ../cstrike/dlls/effects.cpp:1703 */ +NOBODY void CTestEffect::Precache_(void) +{ +} + +/* <76e39> ../cstrike/dlls/effects.cpp:1708 */ +NOBODY void CTestEffect::TestThink(void) +{ +// { +// int i; // 1710 +// float t; // 1711 +// { +// class CBeam *pbeam; // 1715 +// TraceResult tr; // 1717 +// Vector vecSrc; // 1719 +// Vector vecDir; // 1720 +// Normalize(const Vector *const this); // 1721 +// BeamCreate(const char *pSpriteName, +// int width); // 1715 +// Vector(Vector *const this, +// const Vector &v); // 1719 +// operator*(const Vector *const this, +// float fl); // 1722 +// operator+(const Vector *const this, +// const Vector &v); // 1722 +// PointsInit(CBeam *const this, +// const Vector &start, +// const Vector &end); // 1724 +// SetColor(CBeam *const this, +// int r, +// int g, +// int b); // 1726 +// SetWidth(CBeam *const this, +// int width); // 1727 +// SetScrollRate(CBeam *const this, +// int speed); // 1728 +// } +// SetBrightness(CBeam *const this, +// int brightness); // 1740 +// } +} + +/* <736a2> ../cstrike/dlls/effects.cpp:1759 */ +NOBODY void CTestEffect::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <79127> ../cstrike/dlls/effects.cpp:1788 */ +LINK_ENTITY_TO_CLASS(env_blood, CBlood); + +/* <73c8f> ../cstrike/dlls/effects.cpp:1797 */ +NOBODY void CBlood::Spawn_(void) +{ +} + +/* <74c34> ../cstrike/dlls/effects.cpp:1807 */ +NOBODY void CBlood::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1809 +// FStrEq(const char *sz1, +// const char *sz2); // 1824 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 1830 +// { +// int color; // 1811 +// atoi(const char *__nptr); // 1811 +// SetColor(CBlood *const this, +// int color); // 1818 +// SetColor(CBlood *const this, +// int color); // 1815 +// } +// KeyValue(CBlood *const this, +// KeyValueData *pkvd); // 1807 +} + +/* <791f7> ../cstrike/dlls/effects.cpp:1834 */ +NOBODY Vector CBlood::Direction(void) +{ +} + +/* <79256> ../cstrike/dlls/effects.cpp:1843 */ +NOBODY Vector CBlood::BloodPosition(CBaseEntity *pActivator) +{ +// { +// edict_t *pPlayer; // 1847 +// operator+(const Vector *const this, +// const Vector &v); // 1856 +// operator+(const Vector *const this, +// const Vector &v); // 1856 +// edict(CBaseEntity *const this); // 1851 +// } +// Vector(Vector *const this, +// const Vector &v); // 1859 +} + +/* <79351> ../cstrike/dlls/effects.cpp:1863 */ +NOBODY void CBlood::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Color(CBlood *const this); // 1866 +// Direction(CBlood *const this); // 1866 +// { +// Vector forward; // 1872 +// Vector start; // 1873 +// TraceResult tr; // 1874 +// Direction(CBlood *const this); // 1872 +// BloodAmount(CBlood *const this); // 1876 +// operator*(const Vector *const this, +// float fl); // 1876 +// operator*(const Vector *const this, +// float fl); // 1876 +// operator+(const Vector *const this, +// const Vector &v); // 1876 +// Color(CBlood *const this); // 1878 +// } +// Direction(CBlood *const this); // 1868 +// Color(CBlood *const this); // 1868 +} + +/* <79594> ../cstrike/dlls/effects.cpp:1905 */ +LINK_ENTITY_TO_CLASS(env_shake, CShake); + +/* <73705> ../cstrike/dlls/effects.cpp:1919 */ +NOBODY void CShake::Spawn_(void) +{ +} + +/* <74d76> ../cstrike/dlls/effects.cpp:1931 */ +NOBODY void CShake::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1933 +// FStrEq(const char *sz1, +// const char *sz2); // 1938 +// KeyValue(CShake *const this, +// KeyValueData *pkvd); // 1931 +// atof(const char *__nptr); // 1935 +// atof(const char *__nptr); // 1940 +} + +/* <73c2d> ../cstrike/dlls/effects.cpp:1958 */ +NOBODY void CShake::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <79664> ../cstrike/dlls/effects.cpp:1979 */ +LINK_ENTITY_TO_CLASS(env_fade, CFade); + +/* <7372b> ../cstrike/dlls/effects.cpp:1987 */ +NOBODY void CFade::Spawn_(void) +{ +} + +/* <74efa> ../cstrike/dlls/effects.cpp:1996 */ +NOBODY void CFade::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1998 +// FStrEq(const char *sz1, +// const char *sz2); // 2003 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 2009 +// atof(const char *__nptr); // 2000 +// KeyValue(CFade *const this, +// KeyValueData *pkvd); // 1996 +} + +/* <73bb4> ../cstrike/dlls/effects.cpp:2013 */ +NOBODY void CFade::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// int fadeFlags; // 2015 +// } +} + +/* <79734> ../cstrike/dlls/effects.cpp:2048 */ +LINK_ENTITY_TO_CLASS(env_message, CMessage); + +/* <73751> ../cstrike/dlls/effects.cpp:2051 */ +NOBODY void CMessage::Spawn_(void) +{ +} + +/* <73df7> ../cstrike/dlls/effects.cpp:2085 */ +NOBODY void CMessage::Precache_(void) +{ +// Precache(CMessage *const this); // 2085 +} + +/* <74765> ../cstrike/dlls/effects.cpp:2091 */ +NOBODY void CMessage::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2093 +// FStrEq(const char *sz1, +// const char *sz2); // 2098 +// KeyValue(CMessage *const this, +// KeyValueData *pkvd); // 2091 +// atof(const char *__nptr); // 2100 +} + +/* <73aa5> ../cstrike/dlls/effects.cpp:2113 */ +NOBODY void CMessage::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// class CBaseEntity *pPlayer; // 2115 +// Instance(edict_t *pent); // 2125 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 2132 +// } +} + +/* <79804> ../cstrike/dlls/effects.cpp:2160 */ +LINK_ENTITY_TO_CLASS(env_funnel, CEnvFunnel); + +/* <73778> ../cstrike/dlls/effects.cpp:2155 */ +NOBODY void CEnvFunnel::Precache_(void) +{ +} + +/* <7379f> ../cstrike/dlls/effects.cpp:2162 */ +NOBODY void CEnvFunnel::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 2164 +} + +/* <7382b> ../cstrike/dlls/effects.cpp:2187 */ +NOBODY void CEnvFunnel::Spawn_(void) +{ +} + +/* <73852> ../cstrike/dlls/effects.cpp:2207 */ +NOBODY void CEnvBeverage::Precache_(void) +{ + PRECACHE_MODEL("models/can.mdl"); + PRECACHE_SOUND("weapons/g_bounce3.wav"); +} + +/* <798d4> ../cstrike/dlls/effects.cpp:2213 */ +LINK_ENTITY_TO_CLASS(env_beverage, CEnvBeverage); + +/* <7439c> ../cstrike/dlls/effects.cpp:2215 */ +NOBODY void CEnvBeverage::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// class CBaseEntity *pCan; // 2223 +// } +// Use(CEnvBeverage *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 2215 +} + +/* <73879> ../cstrike/dlls/effects.cpp:2242 */ +NOBODY void CEnvBeverage::Spawn_(void) +{ +} + +/* <738a0> ../cstrike/dlls/effects.cpp:2267 */ +NOBODY void CItemSoda::Precache_(void) +{ +} + +/* <799a4> ../cstrike/dlls/effects.cpp:2271 */ +LINK_ENTITY_TO_CLASS(item_sodacan, CItemSoda); + +/* <738c6> ../cstrike/dlls/effects.cpp:2273 */ +NOBODY void CItemSoda::Spawn_(void) +{ +// Vector(Vector::Spawn(// float X, +// float Y, +// float Z); // 2280 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 2280 +} + +/* <73961> ../cstrike/dlls/effects.cpp:2286 */ +NOBODY void CItemSoda::CanThink(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 2288 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 2291 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 2291 +} + +/* <7431d> ../cstrike/dlls/effects.cpp:2296 */ +NOBODY void CItemSoda::CanTouch(CBaseEntity *pOther) +{ +// CanTouch(CItemSoda *const this, +// class CBaseEntity *pOther); // 2296 +} + +#ifdef HOOK_GAMEDLL + +void CSprite::Spawn(void) +{ + Spawn_(); +} + +void CSprite::Precache(void) +{ + Precache_(); +} + +void CSprite::Restart(void) +{ + Restart_(); +} + +int CSprite::Save(CSave &save) +{ + return Save_(save); +} + +int CSprite::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CSprite::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CBeam::Spawn(void) +{ + Spawn_(); +} + +void CBeam::Precache(void) +{ + Precache_(); +} + +void CLaser::Spawn(void) +{ + Spawn_(); +} + +void CLaser::Precache(void) +{ + Precache_(); +} + +void CLaser::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CLaser::Save(CSave &save) +{ + return Save_(save); +} + +int CLaser::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CLaser::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CBubbling::Spawn(void) +{ + Spawn_(); +} + +void CBubbling::Precache(void) +{ + Precache_(); +} + +void CBubbling::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CBubbling::Save(CSave &save) +{ + return Save_(save); +} + +int CBubbling::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CBubbling::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CLightning::Spawn(void) +{ + Spawn_(); +} + +void CLightning::Precache(void) +{ + Precache_(); +} + +void CLightning::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CLightning::Save(CSave &save) +{ + return Save_(save); +} + +int CLightning::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CLightning::Activate(void) +{ + Activate_(); +} + +void CGlow::Spawn(void) +{ + Spawn_(); +} + +int CGlow::Save(CSave &save) +{ + return Save_(save); +} + +int CGlow::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CGlow::Think(void) +{ + Think_(); +} + +void CGibShooter::Spawn(void) +{ + Spawn_(); +} + +void CGibShooter::Precache(void) +{ + Precache_(); +} + +void CGibShooter::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CGibShooter::Save(CSave &save) +{ + return Save_(save); +} + +int CGibShooter::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CGibShooter::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +CGib *CGibShooter::CreateGib(void) +{ + return CreateGib_(); +} + +void CEnvShooter::Precache(void) +{ + Precache_(); +} + +void CEnvShooter::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +CGib *CEnvShooter::CreateGib(void) +{ + return CreateGib_(); +} + +void CTestEffect::Spawn(void) +{ + Spawn_(); +} + +void CTestEffect::Precache(void) +{ + Precache_(); +} + +void CTestEffect::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CBlood::Spawn(void) +{ + Spawn_(); +} + +void CBlood::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +void CBlood::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CShake::Spawn(void) +{ + Spawn_(); +} + +void CShake::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +void CShake::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CFade::Spawn(void) +{ + Spawn_(); +} + +void CFade::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +void CFade::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CMessage::Spawn(void) +{ + Spawn_(); +} + +void CMessage::Precache(void) +{ + Precache_(); +} + +void CMessage::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +void CMessage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CEnvFunnel::Spawn(void) +{ + Spawn_(); +} + +void CEnvFunnel::Precache(void) +{ + Precache_(); +} + +void CEnvFunnel::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CEnvBeverage::Spawn(void) +{ + Spawn_(); +} + +void CEnvBeverage::Precache(void) +{ + Precache_(); +} + +void CEnvBeverage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CItemSoda::Spawn(void) +{ + Spawn_(); +} + +void CItemSoda::Precache(void) +{ + Precache_(); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/game.cpp b/regamedll/dlls/game.cpp index 4af07150..713a7c9a 100644 --- a/regamedll/dlls/game.cpp +++ b/regamedll/dlls/game.cpp @@ -1,500 +1,500 @@ -#include "precompiled.h" - +#include "precompiled.h" + /* * Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -cvar_t *g_psv_gravity = NULL; -cvar_t *g_psv_aim = NULL; -cvar_t *g_footsteps = NULL; -cvar_t *g_psv_accelerate = NULL; -cvar_t *g_psv_friction = NULL; -cvar_t *g_psv_stopspeed = NULL; - -cvar_t displaysoundlist = { "displaysoundlist", "0" }; -cvar_t timelimit = { "mp_timelimit", "0", FCVAR_SERVER }; -cvar_t flashlight = { "mp_flashlight", "0", FCVAR_SERVER }; -cvar_t decalfrequency = { "decalfrequency", "30", FCVAR_SERVER }; -cvar_t fadetoblack = { "mp_fadetoblack", "0", FCVAR_SERVER }; -cvar_t fragsleft = { "mp_fragsleft", "", FCVAR_SERVER|FCVAR_UNLOGGED }; -cvar_t timeleft = { "mp_timeleft", "0", FCVAR_SERVER|FCVAR_UNLOGGED }; -cvar_t friendlyfire = { "mp_friendlyfire", "0", FCVAR_SERVER }; -cvar_t allowmonsters = { "mp_allowmonsters", "0", FCVAR_SERVER }; -cvar_t roundtime = { "mp_roundtime", "5", FCVAR_SERVER }; -cvar_t buytime = { "mp_buytime", "1.5", FCVAR_SERVER }; -cvar_t freezetime = { "mp_freezetime", "6", FCVAR_SERVER }; -cvar_t c4timer = { "mp_c4timer", "45", FCVAR_SERVER }; -cvar_t ghostfrequency = { "mp_ghostfrequency", "0.1", FCVAR_SERVER }; -cvar_t autokick = { "mp_autokick", "1", FCVAR_SERVER }; -cvar_t autokick_timeout = { "mp_autokick_timeout", "-1", FCVAR_SERVER }; -cvar_t restartround = { "sv_restartround", "0", FCVAR_SERVER }; -cvar_t sv_restart = { "sv_restart", "0", FCVAR_SERVER }; -cvar_t limitteams = { "mp_limitteams", "2", FCVAR_SERVER }; -cvar_t autoteambalance = { "mp_autoteambalance", "1", FCVAR_SERVER }; -cvar_t tkpunish = { "mp_tkpunish", "0", FCVAR_SERVER }; -cvar_t hostagepenalty = { "mp_hostagepenalty", "13", FCVAR_SERVER }; -cvar_t mirrordamage = { "mp_mirrordamage", "0", FCVAR_SERVER }; -cvar_t logmessages = { "mp_logmessages", "1", FCVAR_SERVER }; -cvar_t forcecamera = { "mp_forcecamera", "0", FCVAR_SERVER }; -cvar_t forcechasecam = { "mp_forcechasecam", "0", FCVAR_SERVER }; -cvar_t mapvoteratio = { "mp_mapvoteratio", "0.66", FCVAR_SERVER }; -cvar_t logdetail = { "mp_logdetail", "0", FCVAR_SERVER }; -cvar_t startmoney = { "mp_startmoney", "800", FCVAR_SERVER }; -cvar_t maxrounds = { "mp_maxrounds", "0", FCVAR_SERVER }; -cvar_t winlimit = { "mp_winlimit", "0", FCVAR_SERVER }; -cvar_t windifference = { "mp_windifference", "1", FCVAR_SERVER }; -cvar_t playerid = { "mp_playerid", "0", FCVAR_SERVER }; -cvar_t allow_spectators = { "allow_spectators", "1.0", FCVAR_SERVER }; -cvar_t mp_chattime = { "mp_chattime", "10", FCVAR_SERVER }; -cvar_t kick_percent = { "mp_kickpercent", "0.66", FCVAR_SERVER }; -cvar_t humans_join_team = { "humans_join_team", "0", FCVAR_SERVER }; -cvar_t sk_plr_9mm_bullet1 = { "sk_plr_9mm_bullet1", "0" }; -cvar_t sk_plr_9mm_bullet2 = { "sk_plr_9mm_bullet2", "0" }; -cvar_t sk_plr_9mm_bullet3 = { "sk_plr_9mm_bullet3", "0" }; -cvar_t sk_plr_357_bullet1 = { "sk_plr_357_bullet1", "0" }; -cvar_t sk_plr_357_bullet2 = { "sk_plr_357_bullet2", "0" }; -cvar_t sk_plr_357_bullet3 = { "sk_plr_357_bullet3", "0" }; -cvar_t sk_plr_9mmAR_bullet1 = { "sk_plr_9mmAR_bullet1", "0" }; -cvar_t sk_plr_9mmAR_bullet2 = { "sk_plr_9mmAR_bullet2", "0" }; -cvar_t sk_plr_9mmAR_bullet3 = { "sk_plr_9mmAR_bullet3", "0" }; -cvar_t sk_plr_9mmAR_grenade1 = { "sk_plr_9mmAR_grenade1", "0" }; -cvar_t sk_plr_9mmAR_grenade2 = { "sk_plr_9mmAR_grenade2", "0" }; -cvar_t sk_plr_9mmAR_grenade3 = { "sk_plr_9mmAR_grenade3", "0" }; -cvar_t sk_plr_buckshot1 = { "sk_plr_buckshot1", "0" }; -cvar_t sk_plr_buckshot2 = { "sk_plr_buckshot2", "0" }; -cvar_t sk_plr_buckshot3 = { "sk_plr_buckshot3", "0" }; -cvar_t sk_plr_rpg1 = { "sk_plr_rpg1", "0" }; -cvar_t sk_plr_rpg2 = { "sk_plr_rpg2", "0" }; -cvar_t sk_plr_rpg3 = { "sk_plr_rpg3", "0" }; -cvar_t sk_12mm_bullet1 = { "sk_12mm_bullet1", "0" }; -cvar_t sk_12mm_bullet2 = { "sk_12mm_bullet2", "0" }; -cvar_t sk_12mm_bullet3 = { "sk_12mm_bullet3", "0" }; -cvar_t sk_9mmAR_bullet1 = { "sk_9mmAR_bullet1", "0" }; -cvar_t sk_9mmAR_bullet2 = { "sk_9mmAR_bullet2", "0" }; -cvar_t sk_9mmAR_bullet3 = { "sk_9mmAR_bullet3", "0" }; -cvar_t sk_9mm_bullet1 = { "sk_9mm_bullet1", "0" }; -cvar_t sk_9mm_bullet2 = { "sk_9mm_bullet2", "0" }; -cvar_t sk_9mm_bullet3 = { "sk_9mm_bullet3", "0" }; -cvar_t sk_suitcharger1 = { "sk_suitcharger1", "0" }; -cvar_t sk_suitcharger2 = { "sk_suitcharger2", "0" }; -cvar_t sk_suitcharger3 = { "sk_suitcharger3", "0" }; -cvar_t sk_battery1 = { "sk_battery1", "0" }; -cvar_t sk_battery2 = { "sk_battery2", "0" }; -cvar_t sk_battery3 = { "sk_battery3", "0" }; -cvar_t sk_healthcharger1 = { "sk_healthcharger1", "0" }; -cvar_t sk_healthcharger2 = { "sk_healthcharger2", "0" }; -cvar_t sk_healthcharger3 = { "sk_healthcharger3", "0" }; -cvar_t sk_healthkit1 = { "sk_healthkit1", "0" }; -cvar_t sk_healthkit2 = { "sk_healthkit2", "0" }; -cvar_t sk_healthkit3 = { "sk_healthkit3", "0" }; -cvar_t sk_scientist_heal1 = { "sk_scientist_heal1", "0" }; -cvar_t sk_scientist_heal2 = { "sk_scientist_heal2", "0" }; -cvar_t sk_scientist_heal3 = { "sk_scientist_heal3", "0" }; - -#else //HOOK_GAMEDLL - -cvar_t *g_psv_gravity; -cvar_t *g_psv_aim; -cvar_t *g_footsteps; -cvar_t *g_psv_accelerate; -cvar_t *g_psv_friction; -cvar_t *g_psv_stopspeed; - -cvar_t displaysoundlist; -cvar_t timelimit; -cvar_t flashlight; -cvar_t decalfrequency; -cvar_t fadetoblack; -cvar_t fragsleft; -cvar_t timeleft; -cvar_t friendlyfire; -cvar_t allowmonsters; -cvar_t roundtime; -cvar_t buytime; -cvar_t freezetime; -cvar_t c4timer; -cvar_t ghostfrequency; -cvar_t autokick; -cvar_t autokick_timeout; -cvar_t restartround; -cvar_t sv_restart; -cvar_t limitteams; -cvar_t autoteambalance; -cvar_t tkpunish; -cvar_t hostagepenalty; -cvar_t mirrordamage; -cvar_t logmessages; -cvar_t forcecamera; -cvar_t forcechasecam; -cvar_t mapvoteratio; -cvar_t logdetail; -cvar_t startmoney; -cvar_t maxrounds; -cvar_t winlimit; -cvar_t windifference; -cvar_t playerid; -cvar_t allow_spectators; -cvar_t mp_chattime; -cvar_t kick_percent; -cvar_t humans_join_team; - -// NOXREF -//cvar_t sk_agrunt_health1; -//cvar_t sk_agrunt_health2; -//cvar_t sk_agrunt_health3; -//cvar_t sk_agrunt_dmg_punch1; -//cvar_t sk_agrunt_dmg_punch2; -//cvar_t sk_agrunt_dmg_punch3; -//cvar_t sk_apache_health1; -//cvar_t sk_apache_health2; -//cvar_t sk_apache_health3; -//cvar_t sk_barney_health1; -//cvar_t sk_barney_health2; -//cvar_t sk_barney_health3; -//cvar_t sk_bullsquid_health1; -//cvar_t sk_bullsquid_health2; -//cvar_t sk_bullsquid_health3; -//cvar_t sk_bullsquid_dmg_bite1; -//cvar_t sk_bullsquid_dmg_bite2; -//cvar_t sk_bullsquid_dmg_bite3; -//cvar_t sk_bullsquid_dmg_whip1; -//cvar_t sk_bullsquid_dmg_whip2; -//cvar_t sk_bullsquid_dmg_whip3; -//cvar_t sk_bullsquid_dmg_spit1; -//cvar_t sk_bullsquid_dmg_spit2; -//cvar_t sk_bullsquid_dmg_spit3; -//cvar_t sk_bigmomma_health_factor1; -//cvar_t sk_bigmomma_health_factor2; -//cvar_t sk_bigmomma_health_factor3; -//cvar_t sk_bigmomma_dmg_slash1; -//cvar_t sk_bigmomma_dmg_slash2; -//cvar_t sk_bigmomma_dmg_slash3; -//cvar_t sk_bigmomma_dmg_blast1; -//cvar_t sk_bigmomma_dmg_blast2; -//cvar_t sk_bigmomma_dmg_blast3; -//cvar_t sk_bigmomma_radius_blast1; -//cvar_t sk_bigmomma_radius_blast2; -//cvar_t sk_bigmomma_radius_blast3; -//cvar_t sk_gargantua_health1; -//cvar_t sk_gargantua_health2; -//cvar_t sk_gargantua_health3; -//cvar_t sk_gargantua_dmg_slash1; -//cvar_t sk_gargantua_dmg_slash2; -//cvar_t sk_gargantua_dmg_slash3; -//cvar_t sk_gargantua_dmg_fire1; -//cvar_t sk_gargantua_dmg_fire2; -//cvar_t sk_gargantua_dmg_fire3; -//cvar_t sk_gargantua_dmg_stomp1; -//cvar_t sk_gargantua_dmg_stomp2; -//cvar_t sk_gargantua_dmg_stomp3; -//cvar_t sk_hassassin_health1; -//cvar_t sk_hassassin_health2; -//cvar_t sk_hassassin_health3; -//cvar_t sk_headcrab_health1; -//cvar_t sk_headcrab_health2; -//cvar_t sk_headcrab_health3; -//cvar_t sk_headcrab_dmg_bite1; -//cvar_t sk_headcrab_dmg_bite2; -//cvar_t sk_headcrab_dmg_bite3; -//cvar_t sk_hgrunt_health1; -//cvar_t sk_hgrunt_health2; -//cvar_t sk_hgrunt_health3; -//cvar_t sk_hgrunt_kick1; -//cvar_t sk_hgrunt_kick2; -//cvar_t sk_hgrunt_kick3; -//cvar_t sk_hgrunt_pellets1; -//cvar_t sk_hgrunt_pellets2; -//cvar_t sk_hgrunt_pellets3; -//cvar_t sk_hgrunt_gspeed1; -//cvar_t sk_hgrunt_gspeed2; -//cvar_t sk_hgrunt_gspeed3; -//cvar_t sk_houndeye_health1; -//cvar_t sk_houndeye_health2; -//cvar_t sk_houndeye_health3; -//cvar_t sk_houndeye_dmg_blast1; -//cvar_t sk_houndeye_dmg_blast2; -//cvar_t sk_houndeye_dmg_blast3; -//cvar_t sk_islave_health1; -//cvar_t sk_islave_health2; -//cvar_t sk_islave_health3; -//cvar_t sk_islave_dmg_claw1; -//cvar_t sk_islave_dmg_claw2; -//cvar_t sk_islave_dmg_claw3; -//cvar_t sk_islave_dmg_clawrake1; -//cvar_t sk_islave_dmg_clawrake2; -//cvar_t sk_islave_dmg_clawrake3; -//cvar_t sk_islave_dmg_zap1; -//cvar_t sk_islave_dmg_zap2; -//cvar_t sk_islave_dmg_zap3; -//cvar_t sk_ichthyosaur_health1; -//cvar_t sk_ichthyosaur_health2; -//cvar_t sk_ichthyosaur_health3; -//cvar_t sk_ichthyosaur_shake1; -//cvar_t sk_ichthyosaur_shake2; -//cvar_t sk_ichthyosaur_shake3; -//cvar_t sk_leech_health1; -//cvar_t sk_leech_health2; -//cvar_t sk_leech_health3; -//cvar_t sk_leech_dmg_bite1; -//cvar_t sk_leech_dmg_bite2; -//cvar_t sk_leech_dmg_bite3; -//cvar_t sk_controller_health1; -//cvar_t sk_controller_health2; -//cvar_t sk_controller_health3; -//cvar_t sk_controller_dmgzap1; -//cvar_t sk_controller_dmgzap2; -//cvar_t sk_controller_dmgzap3; -//cvar_t sk_controller_speedball1; -//cvar_t sk_controller_speedball2; -//cvar_t sk_controller_speedball3; -//cvar_t sk_controller_dmgball1; -//cvar_t sk_controller_dmgball2; -//cvar_t sk_controller_dmgball3; -//cvar_t sk_nihilanth_health1; -//cvar_t sk_nihilanth_health2; -//cvar_t sk_nihilanth_health3; -//cvar_t sk_nihilanth_zap1; -//cvar_t sk_nihilanth_zap2; -//cvar_t sk_nihilanth_zap3; -//cvar_t sk_scientist_health1; -//cvar_t sk_scientist_health2; -//cvar_t sk_scientist_health3; -//cvar_t sk_snark_health1; -//cvar_t sk_snark_health2; -//cvar_t sk_snark_health3; -//cvar_t sk_snark_dmg_bite1; -//cvar_t sk_snark_dmg_bite2; -//cvar_t sk_snark_dmg_bite3; -//cvar_t sk_snark_dmg_pop1; -//cvar_t sk_snark_dmg_pop2; -//cvar_t sk_snark_dmg_pop3; -//cvar_t sk_zombie_health1; -//cvar_t sk_zombie_health2; -//cvar_t sk_zombie_health3; -//cvar_t sk_zombie_dmg_one_slash1; -//cvar_t sk_zombie_dmg_one_slash2; -//cvar_t sk_zombie_dmg_one_slash3; -//cvar_t sk_zombie_dmg_both_slash1; -//cvar_t sk_zombie_dmg_both_slash2; -//cvar_t sk_zombie_dmg_both_slash3; -//cvar_t sk_turret_health1; -//cvar_t sk_turret_health2; -//cvar_t sk_turret_health3; -//cvar_t sk_miniturret_health1; -//cvar_t sk_miniturret_health2; -//cvar_t sk_miniturret_health3; -//cvar_t sk_sentry_health1; -//cvar_t sk_sentry_health2; -//cvar_t sk_sentry_health3; -//cvar_t sk_plr_crowbar1; -//cvar_t sk_plr_crowbar2; -//cvar_t sk_plr_crowbar3; - -cvar_t sk_plr_9mm_bullet1; -cvar_t sk_plr_9mm_bullet2; -cvar_t sk_plr_9mm_bullet3; -cvar_t sk_plr_357_bullet1; -cvar_t sk_plr_357_bullet2; -cvar_t sk_plr_357_bullet3; -cvar_t sk_plr_9mmAR_bullet1; -cvar_t sk_plr_9mmAR_bullet2; -cvar_t sk_plr_9mmAR_bullet3; -cvar_t sk_plr_9mmAR_grenade1; -cvar_t sk_plr_9mmAR_grenade2; -cvar_t sk_plr_9mmAR_grenade3; -cvar_t sk_plr_buckshot1; -cvar_t sk_plr_buckshot2; -cvar_t sk_plr_buckshot3; - -// NOXREF -//cvar_t sk_plr_xbow_bolt_client1; -//cvar_t sk_plr_xbow_bolt_client2; -//cvar_t sk_plr_xbow_bolt_client3; -//cvar_t sk_plr_xbow_bolt_monster1; -//cvar_t sk_plr_xbow_bolt_monster2; -//cvar_t sk_plr_xbow_bolt_monster3; - -cvar_t sk_plr_rpg1; -cvar_t sk_plr_rpg2; -cvar_t sk_plr_rpg3; - -// NOXREF -//cvar_t sk_plr_gauss1; -//cvar_t sk_plr_gauss2; -//cvar_t sk_plr_gauss3; -//cvar_t sk_plr_egon_narrow1; -//cvar_t sk_plr_egon_narrow2; -//cvar_t sk_plr_egon_narrow3; -//cvar_t sk_plr_egon_wide1; -//cvar_t sk_plr_egon_wide2; -//cvar_t sk_plr_egon_wide3; -//cvar_t sk_plr_hand_grenade1; -//cvar_t sk_plr_hand_grenade2; -//cvar_t sk_plr_hand_grenade3; -//cvar_t sk_plr_satchel1; -//cvar_t sk_plr_satchel2; -//cvar_t sk_plr_satchel3; -//cvar_t sk_plr_tripmine1; -//cvar_t sk_plr_tripmine2; -//cvar_t sk_plr_tripmine3; - -cvar_t sk_12mm_bullet1; -cvar_t sk_12mm_bullet2; -cvar_t sk_12mm_bullet3; -cvar_t sk_9mmAR_bullet1; -cvar_t sk_9mmAR_bullet2; -cvar_t sk_9mmAR_bullet3; -cvar_t sk_9mm_bullet1; -cvar_t sk_9mm_bullet2; -cvar_t sk_9mm_bullet3; - -// NOXREF -//cvar_t sk_hornet_dmg1; -//cvar_t sk_hornet_dmg2; -//cvar_t sk_hornet_dmg3; - -cvar_t sk_suitcharger1; -cvar_t sk_suitcharger2; -cvar_t sk_suitcharger3; -cvar_t sk_battery1; -cvar_t sk_battery2; -cvar_t sk_battery3; -cvar_t sk_healthcharger1; -cvar_t sk_healthcharger2; -cvar_t sk_healthcharger3; -cvar_t sk_healthkit1; -cvar_t sk_healthkit2; -cvar_t sk_healthkit3; -cvar_t sk_scientist_heal1; -cvar_t sk_scientist_heal2; -cvar_t sk_scientist_heal3; - -// NOXREF -//cvar_t sk_monster_head1; -//cvar_t sk_monster_head2; -//cvar_t sk_monster_head3; -//cvar_t sk_monster_chest1; -//cvar_t sk_monster_chest2; -//cvar_t sk_monster_chest3; -//cvar_t sk_monster_stomach1; -//cvar_t sk_monster_stomach2; -//cvar_t sk_monster_stomach3; -//cvar_t sk_monster_arm1; -//cvar_t sk_monster_arm2; -//cvar_t sk_monster_arm3; -//cvar_t sk_monster_leg1; -//cvar_t sk_monster_leg2; -//cvar_t sk_monster_leg3; -//cvar_t sk_player_head1; -//cvar_t sk_player_head2; -//cvar_t sk_player_head3; -//cvar_t sk_player_chest1; -//cvar_t sk_player_chest2; -//cvar_t sk_player_chest3; -//cvar_t sk_player_stomach1; -//cvar_t sk_player_stomach2; -//cvar_t sk_player_stomach3; -//cvar_t sk_player_arm1; -//cvar_t sk_player_arm2; -//cvar_t sk_player_arm3; -//cvar_t sk_player_leg1; -//cvar_t sk_player_leg2; -//cvar_t sk_player_leg3; - -#endif //HOOK_GAMEDLL - -/* <9c900> ../cstrike/dlls/game.cpp:500 */ -void GameDLLInit(void) -{ - g_psv_gravity = CVAR_GET_POINTER("sv_gravity"); - g_psv_aim = CVAR_GET_POINTER("sv_aim"); - g_footsteps = CVAR_GET_POINTER("mp_footsteps"); - g_psv_accelerate = CVAR_GET_POINTER("sv_accelerate"); - g_psv_friction = CVAR_GET_POINTER("sv_friction"); - g_psv_stopspeed = CVAR_GET_POINTER("sv_stopspeed"); - - CVAR_REGISTER(&displaysoundlist); - CVAR_REGISTER(&timelimit); - CVAR_REGISTER(&friendlyfire); - CVAR_REGISTER(&flashlight); - CVAR_REGISTER(&decalfrequency); - CVAR_REGISTER(&allowmonsters); - CVAR_REGISTER(&roundtime); - CVAR_REGISTER(&buytime); - CVAR_REGISTER(&freezetime); - CVAR_REGISTER(&c4timer); - CVAR_REGISTER(&ghostfrequency); - CVAR_REGISTER(&autokick); - CVAR_REGISTER(&autokick_timeout); - CVAR_REGISTER(&restartround); - CVAR_REGISTER(&sv_restart); - CVAR_REGISTER(&limitteams); - CVAR_REGISTER(&autoteambalance); - CVAR_REGISTER(&tkpunish); - CVAR_REGISTER(&hostagepenalty); - CVAR_REGISTER(&mirrordamage); - CVAR_REGISTER(&logmessages); - CVAR_REGISTER(&forcecamera); - CVAR_REGISTER(&forcechasecam); - CVAR_REGISTER(&mapvoteratio); - CVAR_REGISTER(&maxrounds); - CVAR_REGISTER(&winlimit); - CVAR_REGISTER(&windifference); - CVAR_REGISTER(&fadetoblack); - CVAR_REGISTER(&logdetail); - CVAR_REGISTER(&startmoney); - CVAR_REGISTER(&playerid); - CVAR_REGISTER(&allow_spectators); - CVAR_REGISTER(&mp_chattime); - CVAR_REGISTER(&kick_percent); - CVAR_REGISTER(&fragsleft); - CVAR_REGISTER(&timeleft); - CVAR_REGISTER(&humans_join_team); - CVAR_REGISTER(&sk_plr_9mm_bullet1); - CVAR_REGISTER(&sk_plr_9mm_bullet2); - CVAR_REGISTER(&sk_plr_9mm_bullet3); - CVAR_REGISTER(&sk_plr_357_bullet1); - CVAR_REGISTER(&sk_plr_357_bullet2); - CVAR_REGISTER(&sk_plr_357_bullet3); - CVAR_REGISTER(&sk_plr_9mmAR_bullet1); - CVAR_REGISTER(&sk_plr_9mmAR_bullet2); - CVAR_REGISTER(&sk_plr_9mmAR_bullet3); - CVAR_REGISTER(&sk_plr_9mmAR_grenade1); - CVAR_REGISTER(&sk_plr_9mmAR_grenade2); - CVAR_REGISTER(&sk_plr_9mmAR_grenade3); - CVAR_REGISTER(&sk_plr_buckshot1); - CVAR_REGISTER(&sk_plr_buckshot2); - CVAR_REGISTER(&sk_plr_buckshot3); - CVAR_REGISTER(&sk_plr_rpg1); - CVAR_REGISTER(&sk_plr_rpg2); - CVAR_REGISTER(&sk_plr_rpg3); - CVAR_REGISTER(&sk_12mm_bullet1); - CVAR_REGISTER(&sk_12mm_bullet2); - CVAR_REGISTER(&sk_12mm_bullet3); - CVAR_REGISTER(&sk_9mmAR_bullet1); - CVAR_REGISTER(&sk_9mmAR_bullet2); - CVAR_REGISTER(&sk_9mmAR_bullet3); - CVAR_REGISTER(&sk_9mm_bullet1); - CVAR_REGISTER(&sk_9mm_bullet2); - CVAR_REGISTER(&sk_9mm_bullet3); - CVAR_REGISTER(&sk_suitcharger1); - CVAR_REGISTER(&sk_suitcharger2); - CVAR_REGISTER(&sk_suitcharger3); - CVAR_REGISTER(&sk_battery1); - CVAR_REGISTER(&sk_battery2); - CVAR_REGISTER(&sk_battery3); - CVAR_REGISTER(&sk_healthcharger1); - CVAR_REGISTER(&sk_healthcharger2); - CVAR_REGISTER(&sk_healthcharger3); - CVAR_REGISTER(&sk_healthkit1); - CVAR_REGISTER(&sk_healthkit2); - CVAR_REGISTER(&sk_healthkit3); - CVAR_REGISTER(&sk_scientist_heal1); - CVAR_REGISTER(&sk_scientist_heal2); - CVAR_REGISTER(&sk_scientist_heal3); - - Bot_RegisterCvars(); - Tutor_RegisterCVars(); - Hostage_RegisterCVars(); -} +*/ +#ifndef HOOK_GAMEDLL + +cvar_t *g_psv_gravity = NULL; +cvar_t *g_psv_aim = NULL; +cvar_t *g_footsteps = NULL; +cvar_t *g_psv_accelerate = NULL; +cvar_t *g_psv_friction = NULL; +cvar_t *g_psv_stopspeed = NULL; + +cvar_t displaysoundlist = { "displaysoundlist", "0" }; +cvar_t timelimit = { "mp_timelimit", "0", FCVAR_SERVER }; +cvar_t flashlight = { "mp_flashlight", "0", FCVAR_SERVER }; +cvar_t decalfrequency = { "decalfrequency", "30", FCVAR_SERVER }; +cvar_t fadetoblack = { "mp_fadetoblack", "0", FCVAR_SERVER }; +cvar_t fragsleft = { "mp_fragsleft", "", FCVAR_SERVER|FCVAR_UNLOGGED }; +cvar_t timeleft = { "mp_timeleft", "0", FCVAR_SERVER|FCVAR_UNLOGGED }; +cvar_t friendlyfire = { "mp_friendlyfire", "0", FCVAR_SERVER }; +cvar_t allowmonsters = { "mp_allowmonsters", "0", FCVAR_SERVER }; +cvar_t roundtime = { "mp_roundtime", "5", FCVAR_SERVER }; +cvar_t buytime = { "mp_buytime", "1.5", FCVAR_SERVER }; +cvar_t freezetime = { "mp_freezetime", "6", FCVAR_SERVER }; +cvar_t c4timer = { "mp_c4timer", "45", FCVAR_SERVER }; +cvar_t ghostfrequency = { "mp_ghostfrequency", "0.1", FCVAR_SERVER }; +cvar_t autokick = { "mp_autokick", "1", FCVAR_SERVER }; +cvar_t autokick_timeout = { "mp_autokick_timeout", "-1", FCVAR_SERVER }; +cvar_t restartround = { "sv_restartround", "0", FCVAR_SERVER }; +cvar_t sv_restart = { "sv_restart", "0", FCVAR_SERVER }; +cvar_t limitteams = { "mp_limitteams", "2", FCVAR_SERVER }; +cvar_t autoteambalance = { "mp_autoteambalance", "1", FCVAR_SERVER }; +cvar_t tkpunish = { "mp_tkpunish", "0", FCVAR_SERVER }; +cvar_t hostagepenalty = { "mp_hostagepenalty", "13", FCVAR_SERVER }; +cvar_t mirrordamage = { "mp_mirrordamage", "0", FCVAR_SERVER }; +cvar_t logmessages = { "mp_logmessages", "1", FCVAR_SERVER }; +cvar_t forcecamera = { "mp_forcecamera", "0", FCVAR_SERVER }; +cvar_t forcechasecam = { "mp_forcechasecam", "0", FCVAR_SERVER }; +cvar_t mapvoteratio = { "mp_mapvoteratio", "0.66", FCVAR_SERVER }; +cvar_t logdetail = { "mp_logdetail", "0", FCVAR_SERVER }; +cvar_t startmoney = { "mp_startmoney", "800", FCVAR_SERVER }; +cvar_t maxrounds = { "mp_maxrounds", "0", FCVAR_SERVER }; +cvar_t winlimit = { "mp_winlimit", "0", FCVAR_SERVER }; +cvar_t windifference = { "mp_windifference", "1", FCVAR_SERVER }; +cvar_t playerid = { "mp_playerid", "0", FCVAR_SERVER }; +cvar_t allow_spectators = { "allow_spectators", "1.0", FCVAR_SERVER }; +cvar_t mp_chattime = { "mp_chattime", "10", FCVAR_SERVER }; +cvar_t kick_percent = { "mp_kickpercent", "0.66", FCVAR_SERVER }; +cvar_t humans_join_team = { "humans_join_team", "0", FCVAR_SERVER }; +cvar_t sk_plr_9mm_bullet1 = { "sk_plr_9mm_bullet1", "0" }; +cvar_t sk_plr_9mm_bullet2 = { "sk_plr_9mm_bullet2", "0" }; +cvar_t sk_plr_9mm_bullet3 = { "sk_plr_9mm_bullet3", "0" }; +cvar_t sk_plr_357_bullet1 = { "sk_plr_357_bullet1", "0" }; +cvar_t sk_plr_357_bullet2 = { "sk_plr_357_bullet2", "0" }; +cvar_t sk_plr_357_bullet3 = { "sk_plr_357_bullet3", "0" }; +cvar_t sk_plr_9mmAR_bullet1 = { "sk_plr_9mmAR_bullet1", "0" }; +cvar_t sk_plr_9mmAR_bullet2 = { "sk_plr_9mmAR_bullet2", "0" }; +cvar_t sk_plr_9mmAR_bullet3 = { "sk_plr_9mmAR_bullet3", "0" }; +cvar_t sk_plr_9mmAR_grenade1 = { "sk_plr_9mmAR_grenade1", "0" }; +cvar_t sk_plr_9mmAR_grenade2 = { "sk_plr_9mmAR_grenade2", "0" }; +cvar_t sk_plr_9mmAR_grenade3 = { "sk_plr_9mmAR_grenade3", "0" }; +cvar_t sk_plr_buckshot1 = { "sk_plr_buckshot1", "0" }; +cvar_t sk_plr_buckshot2 = { "sk_plr_buckshot2", "0" }; +cvar_t sk_plr_buckshot3 = { "sk_plr_buckshot3", "0" }; +cvar_t sk_plr_rpg1 = { "sk_plr_rpg1", "0" }; +cvar_t sk_plr_rpg2 = { "sk_plr_rpg2", "0" }; +cvar_t sk_plr_rpg3 = { "sk_plr_rpg3", "0" }; +cvar_t sk_12mm_bullet1 = { "sk_12mm_bullet1", "0" }; +cvar_t sk_12mm_bullet2 = { "sk_12mm_bullet2", "0" }; +cvar_t sk_12mm_bullet3 = { "sk_12mm_bullet3", "0" }; +cvar_t sk_9mmAR_bullet1 = { "sk_9mmAR_bullet1", "0" }; +cvar_t sk_9mmAR_bullet2 = { "sk_9mmAR_bullet2", "0" }; +cvar_t sk_9mmAR_bullet3 = { "sk_9mmAR_bullet3", "0" }; +cvar_t sk_9mm_bullet1 = { "sk_9mm_bullet1", "0" }; +cvar_t sk_9mm_bullet2 = { "sk_9mm_bullet2", "0" }; +cvar_t sk_9mm_bullet3 = { "sk_9mm_bullet3", "0" }; +cvar_t sk_suitcharger1 = { "sk_suitcharger1", "0" }; +cvar_t sk_suitcharger2 = { "sk_suitcharger2", "0" }; +cvar_t sk_suitcharger3 = { "sk_suitcharger3", "0" }; +cvar_t sk_battery1 = { "sk_battery1", "0" }; +cvar_t sk_battery2 = { "sk_battery2", "0" }; +cvar_t sk_battery3 = { "sk_battery3", "0" }; +cvar_t sk_healthcharger1 = { "sk_healthcharger1", "0" }; +cvar_t sk_healthcharger2 = { "sk_healthcharger2", "0" }; +cvar_t sk_healthcharger3 = { "sk_healthcharger3", "0" }; +cvar_t sk_healthkit1 = { "sk_healthkit1", "0" }; +cvar_t sk_healthkit2 = { "sk_healthkit2", "0" }; +cvar_t sk_healthkit3 = { "sk_healthkit3", "0" }; +cvar_t sk_scientist_heal1 = { "sk_scientist_heal1", "0" }; +cvar_t sk_scientist_heal2 = { "sk_scientist_heal2", "0" }; +cvar_t sk_scientist_heal3 = { "sk_scientist_heal3", "0" }; + +#else //HOOK_GAMEDLL + +cvar_t *g_psv_gravity; +cvar_t *g_psv_aim; +cvar_t *g_footsteps; +cvar_t *g_psv_accelerate; +cvar_t *g_psv_friction; +cvar_t *g_psv_stopspeed; + +cvar_t displaysoundlist; +cvar_t timelimit; +cvar_t flashlight; +cvar_t decalfrequency; +cvar_t fadetoblack; +cvar_t fragsleft; +cvar_t timeleft; +cvar_t friendlyfire; +cvar_t allowmonsters; +cvar_t roundtime; +cvar_t buytime; +cvar_t freezetime; +cvar_t c4timer; +cvar_t ghostfrequency; +cvar_t autokick; +cvar_t autokick_timeout; +cvar_t restartround; +cvar_t sv_restart; +cvar_t limitteams; +cvar_t autoteambalance; +cvar_t tkpunish; +cvar_t hostagepenalty; +cvar_t mirrordamage; +cvar_t logmessages; +cvar_t forcecamera; +cvar_t forcechasecam; +cvar_t mapvoteratio; +cvar_t logdetail; +cvar_t startmoney; +cvar_t maxrounds; +cvar_t winlimit; +cvar_t windifference; +cvar_t playerid; +cvar_t allow_spectators; +cvar_t mp_chattime; +cvar_t kick_percent; +cvar_t humans_join_team; + +// NOXREF +//cvar_t sk_agrunt_health1; +//cvar_t sk_agrunt_health2; +//cvar_t sk_agrunt_health3; +//cvar_t sk_agrunt_dmg_punch1; +//cvar_t sk_agrunt_dmg_punch2; +//cvar_t sk_agrunt_dmg_punch3; +//cvar_t sk_apache_health1; +//cvar_t sk_apache_health2; +//cvar_t sk_apache_health3; +//cvar_t sk_barney_health1; +//cvar_t sk_barney_health2; +//cvar_t sk_barney_health3; +//cvar_t sk_bullsquid_health1; +//cvar_t sk_bullsquid_health2; +//cvar_t sk_bullsquid_health3; +//cvar_t sk_bullsquid_dmg_bite1; +//cvar_t sk_bullsquid_dmg_bite2; +//cvar_t sk_bullsquid_dmg_bite3; +//cvar_t sk_bullsquid_dmg_whip1; +//cvar_t sk_bullsquid_dmg_whip2; +//cvar_t sk_bullsquid_dmg_whip3; +//cvar_t sk_bullsquid_dmg_spit1; +//cvar_t sk_bullsquid_dmg_spit2; +//cvar_t sk_bullsquid_dmg_spit3; +//cvar_t sk_bigmomma_health_factor1; +//cvar_t sk_bigmomma_health_factor2; +//cvar_t sk_bigmomma_health_factor3; +//cvar_t sk_bigmomma_dmg_slash1; +//cvar_t sk_bigmomma_dmg_slash2; +//cvar_t sk_bigmomma_dmg_slash3; +//cvar_t sk_bigmomma_dmg_blast1; +//cvar_t sk_bigmomma_dmg_blast2; +//cvar_t sk_bigmomma_dmg_blast3; +//cvar_t sk_bigmomma_radius_blast1; +//cvar_t sk_bigmomma_radius_blast2; +//cvar_t sk_bigmomma_radius_blast3; +//cvar_t sk_gargantua_health1; +//cvar_t sk_gargantua_health2; +//cvar_t sk_gargantua_health3; +//cvar_t sk_gargantua_dmg_slash1; +//cvar_t sk_gargantua_dmg_slash2; +//cvar_t sk_gargantua_dmg_slash3; +//cvar_t sk_gargantua_dmg_fire1; +//cvar_t sk_gargantua_dmg_fire2; +//cvar_t sk_gargantua_dmg_fire3; +//cvar_t sk_gargantua_dmg_stomp1; +//cvar_t sk_gargantua_dmg_stomp2; +//cvar_t sk_gargantua_dmg_stomp3; +//cvar_t sk_hassassin_health1; +//cvar_t sk_hassassin_health2; +//cvar_t sk_hassassin_health3; +//cvar_t sk_headcrab_health1; +//cvar_t sk_headcrab_health2; +//cvar_t sk_headcrab_health3; +//cvar_t sk_headcrab_dmg_bite1; +//cvar_t sk_headcrab_dmg_bite2; +//cvar_t sk_headcrab_dmg_bite3; +//cvar_t sk_hgrunt_health1; +//cvar_t sk_hgrunt_health2; +//cvar_t sk_hgrunt_health3; +//cvar_t sk_hgrunt_kick1; +//cvar_t sk_hgrunt_kick2; +//cvar_t sk_hgrunt_kick3; +//cvar_t sk_hgrunt_pellets1; +//cvar_t sk_hgrunt_pellets2; +//cvar_t sk_hgrunt_pellets3; +//cvar_t sk_hgrunt_gspeed1; +//cvar_t sk_hgrunt_gspeed2; +//cvar_t sk_hgrunt_gspeed3; +//cvar_t sk_houndeye_health1; +//cvar_t sk_houndeye_health2; +//cvar_t sk_houndeye_health3; +//cvar_t sk_houndeye_dmg_blast1; +//cvar_t sk_houndeye_dmg_blast2; +//cvar_t sk_houndeye_dmg_blast3; +//cvar_t sk_islave_health1; +//cvar_t sk_islave_health2; +//cvar_t sk_islave_health3; +//cvar_t sk_islave_dmg_claw1; +//cvar_t sk_islave_dmg_claw2; +//cvar_t sk_islave_dmg_claw3; +//cvar_t sk_islave_dmg_clawrake1; +//cvar_t sk_islave_dmg_clawrake2; +//cvar_t sk_islave_dmg_clawrake3; +//cvar_t sk_islave_dmg_zap1; +//cvar_t sk_islave_dmg_zap2; +//cvar_t sk_islave_dmg_zap3; +//cvar_t sk_ichthyosaur_health1; +//cvar_t sk_ichthyosaur_health2; +//cvar_t sk_ichthyosaur_health3; +//cvar_t sk_ichthyosaur_shake1; +//cvar_t sk_ichthyosaur_shake2; +//cvar_t sk_ichthyosaur_shake3; +//cvar_t sk_leech_health1; +//cvar_t sk_leech_health2; +//cvar_t sk_leech_health3; +//cvar_t sk_leech_dmg_bite1; +//cvar_t sk_leech_dmg_bite2; +//cvar_t sk_leech_dmg_bite3; +//cvar_t sk_controller_health1; +//cvar_t sk_controller_health2; +//cvar_t sk_controller_health3; +//cvar_t sk_controller_dmgzap1; +//cvar_t sk_controller_dmgzap2; +//cvar_t sk_controller_dmgzap3; +//cvar_t sk_controller_speedball1; +//cvar_t sk_controller_speedball2; +//cvar_t sk_controller_speedball3; +//cvar_t sk_controller_dmgball1; +//cvar_t sk_controller_dmgball2; +//cvar_t sk_controller_dmgball3; +//cvar_t sk_nihilanth_health1; +//cvar_t sk_nihilanth_health2; +//cvar_t sk_nihilanth_health3; +//cvar_t sk_nihilanth_zap1; +//cvar_t sk_nihilanth_zap2; +//cvar_t sk_nihilanth_zap3; +//cvar_t sk_scientist_health1; +//cvar_t sk_scientist_health2; +//cvar_t sk_scientist_health3; +//cvar_t sk_snark_health1; +//cvar_t sk_snark_health2; +//cvar_t sk_snark_health3; +//cvar_t sk_snark_dmg_bite1; +//cvar_t sk_snark_dmg_bite2; +//cvar_t sk_snark_dmg_bite3; +//cvar_t sk_snark_dmg_pop1; +//cvar_t sk_snark_dmg_pop2; +//cvar_t sk_snark_dmg_pop3; +//cvar_t sk_zombie_health1; +//cvar_t sk_zombie_health2; +//cvar_t sk_zombie_health3; +//cvar_t sk_zombie_dmg_one_slash1; +//cvar_t sk_zombie_dmg_one_slash2; +//cvar_t sk_zombie_dmg_one_slash3; +//cvar_t sk_zombie_dmg_both_slash1; +//cvar_t sk_zombie_dmg_both_slash2; +//cvar_t sk_zombie_dmg_both_slash3; +//cvar_t sk_turret_health1; +//cvar_t sk_turret_health2; +//cvar_t sk_turret_health3; +//cvar_t sk_miniturret_health1; +//cvar_t sk_miniturret_health2; +//cvar_t sk_miniturret_health3; +//cvar_t sk_sentry_health1; +//cvar_t sk_sentry_health2; +//cvar_t sk_sentry_health3; +//cvar_t sk_plr_crowbar1; +//cvar_t sk_plr_crowbar2; +//cvar_t sk_plr_crowbar3; + +cvar_t sk_plr_9mm_bullet1; +cvar_t sk_plr_9mm_bullet2; +cvar_t sk_plr_9mm_bullet3; +cvar_t sk_plr_357_bullet1; +cvar_t sk_plr_357_bullet2; +cvar_t sk_plr_357_bullet3; +cvar_t sk_plr_9mmAR_bullet1; +cvar_t sk_plr_9mmAR_bullet2; +cvar_t sk_plr_9mmAR_bullet3; +cvar_t sk_plr_9mmAR_grenade1; +cvar_t sk_plr_9mmAR_grenade2; +cvar_t sk_plr_9mmAR_grenade3; +cvar_t sk_plr_buckshot1; +cvar_t sk_plr_buckshot2; +cvar_t sk_plr_buckshot3; + +// NOXREF +//cvar_t sk_plr_xbow_bolt_client1; +//cvar_t sk_plr_xbow_bolt_client2; +//cvar_t sk_plr_xbow_bolt_client3; +//cvar_t sk_plr_xbow_bolt_monster1; +//cvar_t sk_plr_xbow_bolt_monster2; +//cvar_t sk_plr_xbow_bolt_monster3; + +cvar_t sk_plr_rpg1; +cvar_t sk_plr_rpg2; +cvar_t sk_plr_rpg3; + +// NOXREF +//cvar_t sk_plr_gauss1; +//cvar_t sk_plr_gauss2; +//cvar_t sk_plr_gauss3; +//cvar_t sk_plr_egon_narrow1; +//cvar_t sk_plr_egon_narrow2; +//cvar_t sk_plr_egon_narrow3; +//cvar_t sk_plr_egon_wide1; +//cvar_t sk_plr_egon_wide2; +//cvar_t sk_plr_egon_wide3; +//cvar_t sk_plr_hand_grenade1; +//cvar_t sk_plr_hand_grenade2; +//cvar_t sk_plr_hand_grenade3; +//cvar_t sk_plr_satchel1; +//cvar_t sk_plr_satchel2; +//cvar_t sk_plr_satchel3; +//cvar_t sk_plr_tripmine1; +//cvar_t sk_plr_tripmine2; +//cvar_t sk_plr_tripmine3; + +cvar_t sk_12mm_bullet1; +cvar_t sk_12mm_bullet2; +cvar_t sk_12mm_bullet3; +cvar_t sk_9mmAR_bullet1; +cvar_t sk_9mmAR_bullet2; +cvar_t sk_9mmAR_bullet3; +cvar_t sk_9mm_bullet1; +cvar_t sk_9mm_bullet2; +cvar_t sk_9mm_bullet3; + +// NOXREF +//cvar_t sk_hornet_dmg1; +//cvar_t sk_hornet_dmg2; +//cvar_t sk_hornet_dmg3; + +cvar_t sk_suitcharger1; +cvar_t sk_suitcharger2; +cvar_t sk_suitcharger3; +cvar_t sk_battery1; +cvar_t sk_battery2; +cvar_t sk_battery3; +cvar_t sk_healthcharger1; +cvar_t sk_healthcharger2; +cvar_t sk_healthcharger3; +cvar_t sk_healthkit1; +cvar_t sk_healthkit2; +cvar_t sk_healthkit3; +cvar_t sk_scientist_heal1; +cvar_t sk_scientist_heal2; +cvar_t sk_scientist_heal3; + +// NOXREF +//cvar_t sk_monster_head1; +//cvar_t sk_monster_head2; +//cvar_t sk_monster_head3; +//cvar_t sk_monster_chest1; +//cvar_t sk_monster_chest2; +//cvar_t sk_monster_chest3; +//cvar_t sk_monster_stomach1; +//cvar_t sk_monster_stomach2; +//cvar_t sk_monster_stomach3; +//cvar_t sk_monster_arm1; +//cvar_t sk_monster_arm2; +//cvar_t sk_monster_arm3; +//cvar_t sk_monster_leg1; +//cvar_t sk_monster_leg2; +//cvar_t sk_monster_leg3; +//cvar_t sk_player_head1; +//cvar_t sk_player_head2; +//cvar_t sk_player_head3; +//cvar_t sk_player_chest1; +//cvar_t sk_player_chest2; +//cvar_t sk_player_chest3; +//cvar_t sk_player_stomach1; +//cvar_t sk_player_stomach2; +//cvar_t sk_player_stomach3; +//cvar_t sk_player_arm1; +//cvar_t sk_player_arm2; +//cvar_t sk_player_arm3; +//cvar_t sk_player_leg1; +//cvar_t sk_player_leg2; +//cvar_t sk_player_leg3; + +#endif //HOOK_GAMEDLL + +/* <9c900> ../cstrike/dlls/game.cpp:500 */ +void GameDLLInit(void) +{ + g_psv_gravity = CVAR_GET_POINTER("sv_gravity"); + g_psv_aim = CVAR_GET_POINTER("sv_aim"); + g_footsteps = CVAR_GET_POINTER("mp_footsteps"); + g_psv_accelerate = CVAR_GET_POINTER("sv_accelerate"); + g_psv_friction = CVAR_GET_POINTER("sv_friction"); + g_psv_stopspeed = CVAR_GET_POINTER("sv_stopspeed"); + + CVAR_REGISTER(&displaysoundlist); + CVAR_REGISTER(&timelimit); + CVAR_REGISTER(&friendlyfire); + CVAR_REGISTER(&flashlight); + CVAR_REGISTER(&decalfrequency); + CVAR_REGISTER(&allowmonsters); + CVAR_REGISTER(&roundtime); + CVAR_REGISTER(&buytime); + CVAR_REGISTER(&freezetime); + CVAR_REGISTER(&c4timer); + CVAR_REGISTER(&ghostfrequency); + CVAR_REGISTER(&autokick); + CVAR_REGISTER(&autokick_timeout); + CVAR_REGISTER(&restartround); + CVAR_REGISTER(&sv_restart); + CVAR_REGISTER(&limitteams); + CVAR_REGISTER(&autoteambalance); + CVAR_REGISTER(&tkpunish); + CVAR_REGISTER(&hostagepenalty); + CVAR_REGISTER(&mirrordamage); + CVAR_REGISTER(&logmessages); + CVAR_REGISTER(&forcecamera); + CVAR_REGISTER(&forcechasecam); + CVAR_REGISTER(&mapvoteratio); + CVAR_REGISTER(&maxrounds); + CVAR_REGISTER(&winlimit); + CVAR_REGISTER(&windifference); + CVAR_REGISTER(&fadetoblack); + CVAR_REGISTER(&logdetail); + CVAR_REGISTER(&startmoney); + CVAR_REGISTER(&playerid); + CVAR_REGISTER(&allow_spectators); + CVAR_REGISTER(&mp_chattime); + CVAR_REGISTER(&kick_percent); + CVAR_REGISTER(&fragsleft); + CVAR_REGISTER(&timeleft); + CVAR_REGISTER(&humans_join_team); + CVAR_REGISTER(&sk_plr_9mm_bullet1); + CVAR_REGISTER(&sk_plr_9mm_bullet2); + CVAR_REGISTER(&sk_plr_9mm_bullet3); + CVAR_REGISTER(&sk_plr_357_bullet1); + CVAR_REGISTER(&sk_plr_357_bullet2); + CVAR_REGISTER(&sk_plr_357_bullet3); + CVAR_REGISTER(&sk_plr_9mmAR_bullet1); + CVAR_REGISTER(&sk_plr_9mmAR_bullet2); + CVAR_REGISTER(&sk_plr_9mmAR_bullet3); + CVAR_REGISTER(&sk_plr_9mmAR_grenade1); + CVAR_REGISTER(&sk_plr_9mmAR_grenade2); + CVAR_REGISTER(&sk_plr_9mmAR_grenade3); + CVAR_REGISTER(&sk_plr_buckshot1); + CVAR_REGISTER(&sk_plr_buckshot2); + CVAR_REGISTER(&sk_plr_buckshot3); + CVAR_REGISTER(&sk_plr_rpg1); + CVAR_REGISTER(&sk_plr_rpg2); + CVAR_REGISTER(&sk_plr_rpg3); + CVAR_REGISTER(&sk_12mm_bullet1); + CVAR_REGISTER(&sk_12mm_bullet2); + CVAR_REGISTER(&sk_12mm_bullet3); + CVAR_REGISTER(&sk_9mmAR_bullet1); + CVAR_REGISTER(&sk_9mmAR_bullet2); + CVAR_REGISTER(&sk_9mmAR_bullet3); + CVAR_REGISTER(&sk_9mm_bullet1); + CVAR_REGISTER(&sk_9mm_bullet2); + CVAR_REGISTER(&sk_9mm_bullet3); + CVAR_REGISTER(&sk_suitcharger1); + CVAR_REGISTER(&sk_suitcharger2); + CVAR_REGISTER(&sk_suitcharger3); + CVAR_REGISTER(&sk_battery1); + CVAR_REGISTER(&sk_battery2); + CVAR_REGISTER(&sk_battery3); + CVAR_REGISTER(&sk_healthcharger1); + CVAR_REGISTER(&sk_healthcharger2); + CVAR_REGISTER(&sk_healthcharger3); + CVAR_REGISTER(&sk_healthkit1); + CVAR_REGISTER(&sk_healthkit2); + CVAR_REGISTER(&sk_healthkit3); + CVAR_REGISTER(&sk_scientist_heal1); + CVAR_REGISTER(&sk_scientist_heal2); + CVAR_REGISTER(&sk_scientist_heal3); + + Bot_RegisterCvars(); + Tutor_RegisterCVars(); + Hostage_RegisterCVars(); +} diff --git a/regamedll/dlls/gamerules.cpp b/regamedll/dlls/gamerules.cpp index b090112a..5da284d3 100644 --- a/regamedll/dlls/gamerules.cpp +++ b/regamedll/dlls/gamerules.cpp @@ -1,21 +1,21 @@ -#include "precompiled.h" - +#include "precompiled.h" + /* * Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -CHalfLifeMultiplay *g_pGameRules = NULL; - -#else //HOOK_GAMEDLL - -CHalfLifeMultiplay *g_pGameRules; - -#endif //HOOK_GAMEDLL - -/* ../cstrike/dlls/gamerules.cpp:36 */ -BOOL CGameRules::CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry) -{ +*/ +#ifndef HOOK_GAMEDLL + +CHalfLifeMultiplay *g_pGameRules = NULL; + +#else //HOOK_GAMEDLL + +CHalfLifeMultiplay *g_pGameRules; + +#endif //HOOK_GAMEDLL + +/* ../cstrike/dlls/gamerules.cpp:36 */ +BOOL CGameRules::CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry) +{ if (pszAmmoName) { int iAmmoIndex = pPlayer->GetAmmoIndex(pszAmmoName); @@ -26,24 +26,24 @@ BOOL CGameRules::CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int return TRUE; } } - return FALSE; -} - -/* ../cstrike/dlls/gamerules.cpp:59 */ -NOBODY edict_t *CGameRules::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) -{ -// { -// edict_t *pentSpawnSpot; // 61 -// VARS(edict_t *pent); // 66 -// VARS(edict_t *pent); // 63 -// operator+(const Vector *const this, -// const Vector &v); // 63 -// } -} - -/* ../cstrike/dlls/gamerules.cpp:75 */ -NOBODY BOOL CGameRules::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ + return FALSE; +} + +/* ../cstrike/dlls/gamerules.cpp:59 */ +NOBODY edict_t *CGameRules::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) +{ +// { +// edict_t *pentSpawnSpot; // 61 +// VARS(edict_t *pent); // 66 +// VARS(edict_t *pent); // 63 +// operator+(const Vector *const this, +// const Vector &v); // 63 +// } +} + +/* ../cstrike/dlls/gamerules.cpp:75 */ +NOBODY BOOL CGameRules::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ /*if (pPlayer->pev->deadflag != DEAD_NO) return FALSE; @@ -56,64 +56,64 @@ NOBODY BOOL CGameRules::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem return TRUE; } }*/ - return FALSE; -} - -/* ../cstrike/dlls/gamerules.cpp:119 */ -void CGameRules::RefreshSkillData_(void) -{ - int iSkill = (int)CVAR_GET_FLOAT("skill"); - - if (iSkill < 1) - iSkill = 1; - - else if (iSkill > 3) - iSkill = 3; - - gSkillData.iSkillLevel = iSkill; - ALERT(at_console, "\nGAME SKILL LEVEL:%d\n", iSkill); - - gSkillData.monDmg12MM = 8; - gSkillData.monDmgMP5 = 3; - gSkillData.monDmg9MM = 5; - gSkillData.suitchargerCapacity = 75; - gSkillData.batteryCapacity = 15; - gSkillData.healthchargerCapacity = 50; - gSkillData.healthkitCapacity = 15; -} - -/* ../cstrike/dlls/gamerules.cpp:157 */ -NOBODY CGameRules *InstallGameRules(void) -{ + return FALSE; +} + +/* ../cstrike/dlls/gamerules.cpp:119 */ +void CGameRules::RefreshSkillData_(void) +{ + int iSkill = (int)CVAR_GET_FLOAT("skill"); + + if (iSkill < 1) + iSkill = 1; + + else if (iSkill > 3) + iSkill = 3; + + gSkillData.iSkillLevel = iSkill; + ALERT(at_console, "\nGAME SKILL LEVEL:%d\n", iSkill); + + gSkillData.monDmg12MM = 8; + gSkillData.monDmgMP5 = 3; + gSkillData.monDmg9MM = 5; + gSkillData.suitchargerCapacity = 75; + gSkillData.batteryCapacity = 15; + gSkillData.healthchargerCapacity = 50; + gSkillData.healthkitCapacity = 15; +} + +/* ../cstrike/dlls/gamerules.cpp:157 */ +NOBODY CGameRules *InstallGameRules(void) +{ SERVER_COMMAND("exec game.cfg\n"); SERVER_EXECUTE(); if (!gpGlobals->deathmatch) return new CHalfLifeTraining; - return new CHalfLifeMultiplay; -} - -#ifdef HOOK_GAMEDLL - -BOOL CGameRules::CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry) -{ - return CanHaveAmmo_(pPlayer,pszAmmoName,iMaxCarry); -} - -edict_t *CGameRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer) -{ - return GetPlayerSpawnSpot_(pPlayer); -} - -BOOL CGameRules::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ - return CanHavePlayerItem_(pPlayer,pWeapon); -} - -void CGameRules::RefreshSkillData(void) -{ - RefreshSkillData_(); + return new CHalfLifeMultiplay; +} + +#ifdef HOOK_GAMEDLL + +BOOL CGameRules::CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry) +{ + return CanHaveAmmo_(pPlayer,pszAmmoName,iMaxCarry); +} + +edict_t *CGameRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer) +{ + return GetPlayerSpawnSpot_(pPlayer); +} + +BOOL CGameRules::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ + return CanHavePlayerItem_(pPlayer,pWeapon); +} + +void CGameRules::RefreshSkillData(void) +{ + RefreshSkillData_(); } #endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/gamerules.h b/regamedll/dlls/gamerules.h index a6e54838..81aae5c2 100644 --- a/regamedll/dlls/gamerules.h +++ b/regamedll/dlls/gamerules.h @@ -266,8 +266,8 @@ public: virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon); virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon); virtual BOOL IsMultiplayer(void); - NOBODY virtual BOOL IsDeathmatch(void); - NOBODY virtual BOOL IsCoOp(void); + virtual BOOL IsDeathmatch(void); + virtual BOOL IsCoOp(void); NOBODY virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); NOBODY virtual void InitHUD(CBasePlayer *pl); NOBODY virtual void ClientDisconnected(edict_t *pClient); diff --git a/regamedll/dlls/h_export.h b/regamedll/dlls/h_export.h index 8bc69e0e..cdfa81f7 100644 --- a/regamedll/dlls/h_export.h +++ b/regamedll/dlls/h_export.h @@ -48,6 +48,6 @@ extern enginefuncs_t g_engfuncs; extern globalvars_t *gpGlobals; -extern "C" C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t *pEnginefuncsTable,globalvars_t *pGlobals); +C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t *pEnginefuncsTable,globalvars_t *pGlobals); #endif // H_EXPORT_H diff --git a/regamedll/dlls/hintmessage.cpp b/regamedll/dlls/hintmessage.cpp index 448c920d..4552a000 100644 --- a/regamedll/dlls/hintmessage.cpp +++ b/regamedll/dlls/hintmessage.cpp @@ -1,8 +1,8 @@ -#include "precompiled.h" - -/* ../cstrike/dlls/hintmessage.cpp:11 */ -CHintMessage::CHintMessage(const char *hintString, bool isHint, CUtlVector *args, float duration) -{ +#include "precompiled.h" + +/* ../cstrike/dlls/hintmessage.cpp:11 */ +CHintMessage::CHintMessage(const char *hintString, bool isHint, CUtlVector *args, float duration) +{ m_hintString = hintString; m_duration = duration; m_isHint = isHint; @@ -11,38 +11,38 @@ CHintMessage::CHintMessage(const char *hintString, bool isHint, CUtlVectorCount(); i++) m_args.AddToTail(CloneString((*args)[i])); - } -} - -/* ../cstrike/dlls/hintmessage.cpp:27 */ -CHintMessage::~CHintMessage(void) -{ + } +} + +/* ../cstrike/dlls/hintmessage.cpp:27 */ +CHintMessage::~CHintMessage(void) +{ for (int i = 0; i < m_args.Count(); ++i) delete [] m_args[i]; - m_args.RemoveAll(); -} - -/* ../cstrike/dlls/hintmessage.cpp:37 */ -void CHintMessage::Send(CBaseEntity *client) -{ - UTIL_ShowMessageArgs(m_hintString, client, &m_args, m_isHint); -} - -/* ../cstrike/dlls/hintmessage.cpp:43 */ -void CHintMessageQueue::Reset(void) -{ + m_args.RemoveAll(); +} + +/* ../cstrike/dlls/hintmessage.cpp:37 */ +void CHintMessage::Send(CBaseEntity *client) +{ + UTIL_ShowMessageArgs(m_hintString, client, &m_args, m_isHint); +} + +/* ../cstrike/dlls/hintmessage.cpp:43 */ +void CHintMessageQueue::Reset(void) +{ m_tmMessageEnd = 0; for (int i = 0; i < m_messages.Count(); ++i) delete m_messages[i]; - m_messages.RemoveAll(); -} - -/* ../cstrike/dlls/hintmessage.cpp:54 */ -void CHintMessageQueue::Update(CBaseEntity *client) -{ + m_messages.RemoveAll(); +} + +/* ../cstrike/dlls/hintmessage.cpp:54 */ +void CHintMessageQueue::Update(CBaseEntity *client) +{ if (gpGlobals->time <= m_tmMessageEnd) return; @@ -53,14 +53,14 @@ void CHintMessageQueue::Update(CBaseEntity *client) m_tmMessageEnd = gpGlobals->time + msg->GetDuration(); msg->Send(client); delete msg; - m_messages.Remove(0); -} - -/* ../cstrike/dlls/hintmessage.cpp:70 */ -bool CHintMessageQueue::AddMessage(const char *message, float duration, bool isHint, CUtlVector *args) -{ + m_messages.Remove(0); +} + +/* ../cstrike/dlls/hintmessage.cpp:70 */ +bool CHintMessageQueue::AddMessage(const char *message, float duration, bool isHint, CUtlVector *args) +{ CHintMessage *msg = new CHintMessage(message, isHint, args, duration); m_messages.AddToTail(msg); - return true; -} + return true; +} diff --git a/regamedll/dlls/monsters.h b/regamedll/dlls/monsters.h index d7940280..e897d9e6 100644 --- a/regamedll/dlls/monsters.h +++ b/regamedll/dlls/monsters.h @@ -1,35 +1,35 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -* In addition, as a special exception, the author gives permission to -* link the code of this program with the Half-Life Game Engine ("HL -* Engine") and Modified Game Libraries ("MODs") developed by Valve, -* L.L.C ("Valve"). You must obey the GNU General Public License in all -* respects for all of the code used other than the HL Engine and MODs -* from Valve. If you modify this file, you may extend this exception -* to your version of the file, but you are not obligated to do so. If -* you do not wish to do so, delete this exception statement from your -* version. -* -*/ - -#ifndef MONSTERS_H -#define MONSTERS_H -#ifdef _WIN32 -#pragma once +/* +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at +* your option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software Foundation, +* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* +* In addition, as a special exception, the author gives permission to +* link the code of this program with the Half-Life Game Engine ("HL +* Engine") and Modified Game Libraries ("MODs") developed by Valve, +* L.L.C ("Valve"). You must obey the GNU General Public License in all +* respects for all of the code used other than the HL Engine and MODs +* from Valve. If you modify this file, you may extend this exception +* to your version of the file, but you are not obligated to do so. If +* you do not wish to do so, delete this exception statement from your +* version. +* +*/ + +#ifndef MONSTERS_H +#define MONSTERS_H +#ifdef _WIN32 +#pragma once #endif #include "skill.h" @@ -65,20 +65,20 @@ #define R_HT 2 // (HATE)will attack this character instead of any visible DISLIKEd characters #define R_NM 3 // (NEMESIS) A monster Will ALWAYS attack its nemsis, no matter what -#define MEMORY_CLEAR 0 -#define bits_MEMORY_PROVOKED (1<<0) // right now only used for houndeyes. -#define bits_MEMORY_INCOVER (1<<1) // monster knows it is in a covered position. -#define bits_MEMORY_SUSPICIOUS (1<<2) // Ally is suspicious of the player, and will move to provoked more easily -#define bits_MEMORY_PATH_FINISHED (1<<3) // Finished monster path (just used by big momma for now) -#define bits_MEMORY_ON_PATH (1<<4) // Moving on a path -#define bits_MEMORY_MOVE_FAILED (1<<5) // Movement has already failed -#define bits_MEMORY_FLINCHED (1<<6) // Has already flinched -#define bits_MEMORY_KILLED (1<<7) // HACKHACK -- remember that I've already called my Killed() -#define bits_MEMORY_CUSTOM4 (1<<28) // Monster-specific memory -#define bits_MEMORY_CUSTOM3 (1<<29) // Monster-specific memory -#define bits_MEMORY_CUSTOM2 (1<<30) // Monster-specific memory +#define MEMORY_CLEAR 0 +#define bits_MEMORY_PROVOKED (1<<0) // right now only used for houndeyes. +#define bits_MEMORY_INCOVER (1<<1) // monster knows it is in a covered position. +#define bits_MEMORY_SUSPICIOUS (1<<2) // Ally is suspicious of the player, and will move to provoked more easily +#define bits_MEMORY_PATH_FINISHED (1<<3) // Finished monster path (just used by big momma for now) +#define bits_MEMORY_ON_PATH (1<<4) // Moving on a path +#define bits_MEMORY_MOVE_FAILED (1<<5) // Movement has already failed +#define bits_MEMORY_FLINCHED (1<<6) // Has already flinched +#define bits_MEMORY_KILLED (1<<7) // HACKHACK -- remember that I've already called my Killed() +#define bits_MEMORY_CUSTOM4 (1<<28) // Monster-specific memory +#define bits_MEMORY_CUSTOM3 (1<<29) // Monster-specific memory +#define bits_MEMORY_CUSTOM2 (1<<30) // Monster-specific memory #define bits_MEMORY_CUSTOM1 (1<<31) // Monster-specific memory - + //TODO: unused? enum { @@ -95,20 +95,20 @@ enum AITRIGGER_SEEPLAYER_UNCONDITIONAL, AITRIGGER_SEEPLAYER_NOT_IN_COMBAT, }; - -enum HitBoxGroup -{ - HITGROUP_GENERIC = 0, - HITGROUP_HEAD, - HITGROUP_CHEST, - HITGROUP_STOMACH, - HITGROUP_LEFTARM, - HITGROUP_RIGHTARM, - HITGROUP_LEFTLEG, - HITGROUP_RIGHTLEG, - HITGROUP_SHIELD, - NUM_HITGROUPS, -}; + +enum HitBoxGroup +{ + HITGROUP_GENERIC = 0, + HITGROUP_HEAD, + HITGROUP_CHEST, + HITGROUP_STOMACH, + HITGROUP_LEFTARM, + HITGROUP_RIGHTARM, + HITGROUP_LEFTLEG, + HITGROUP_RIGHTLEG, + HITGROUP_SHIELD, + NUM_HITGROUPS, +}; /* <725cf> ../cstrike/dlls/monsters.h:61 */ class CGib: public CBaseEntity @@ -154,7 +154,7 @@ public: Schedule_t *derivedClass::ScheduleFromName(const char *pName)\ {\ Schedule_t *pSchedule = ScheduleInList(pName, m_scheduleList, ARRAYSIZE(m_scheduleList));\ - if(!pSchedule)\ + if (!pSchedule)\ return baseClass::ScheduleFromName(pName);\ return pSchedule;\ } diff --git a/regamedll/dlls/multiplay_gamerules.cpp b/regamedll/dlls/multiplay_gamerules.cpp index 26931bc5..eda84d37 100644 --- a/regamedll/dlls/multiplay_gamerules.cpp +++ b/regamedll/dlls/multiplay_gamerules.cpp @@ -1,166 +1,166 @@ -#include "precompiled.h" - -/* -* Globals initialization -*/ -#ifndef HOOK_GAMEDLL - +#include "precompiled.h" + +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + static char mp_com_token[ COM_TOKEN_LEN ]; -cvar_t *sv_clienttrace; - -#else - +cvar_t *sv_clienttrace; + +#else + char mp_com_token[ COM_TOKEN_LEN ]; -cvar_t *sv_clienttrace; - -#endif // HOOK_GAMEDLL - -CCStrikeGameMgrHelper g_GameMgrHelper; -CHalfLifeMultiplay *g_pMPGameRules; - -//void info_map_parameters(entvars_t *pev) - -/* <1153e2> ../cstrike/dlls/multiplay_gamerules.cpp:92 */ -bool IsBotSpeaking(void) -{ -// { -// int i; // 94 -// { -// class CBasePlayer *pPlayer; // 96 -// { -// class CCSBot *pBot; // 99 -// } -// } -// } -} - -/* <1116dd> ../cstrike/dlls/multiplay_gamerules.cpp:111 */ -NOBODY void SV_Continue_f(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 113 -// { -// int i; // 121 -// { -// class CBasePlayer *pPlayer; // 123 -// } -// } -// } -} - -/* <112860> ../cstrike/dlls/multiplay_gamerules.cpp:133 */ -NOBODY void SV_Tutor_Toggle_f(void) -{ -} - -/* <11538f> ../cstrike/dlls/multiplay_gamerules.cpp:139 */ -NOBODY void SV_Career_Restart_f(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 141 -// IsCareer(CHalfLifeMultiplay *const this); // 142 -// } -} - -/* <111695> ../cstrike/dlls/multiplay_gamerules.cpp:149 */ -NOBODY void SV_Career_EndRound_f(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 151 -// { -// class CBasePlayer *localPlayer; // 154 -// { -// int i; // 160 -// { -// class CBasePlayer *player; // 162 -// } -// } -// } -// } -} - -/* <1145dd> ../cstrike/dlls/multiplay_gamerules.cpp:173 */ -NOBODY bool CHalfLifeMultiplay::IsInCareerRound(void) -{ - if (m_fTeamCount) - return false; - - if (m_fCareerRoundMenuTime) - return false; - - if (m_fCareerMatchMenuTime) - return false; - - return true; -} - -/* <110ba1> ../cstrike/dlls/multiplay_gamerules.cpp:180 */ -NOBODY void SV_CareerAddTask_f(void) -{ -// { -// const char *taskName; // 187 -// const char *weaponName; // 188 -// int reps; // 189 -// bool mustLive; // 190 -// bool crossRounds; // 191 -// bool isComplete; // 192 -// } -} - -/* <111640> ../cstrike/dlls/multiplay_gamerules.cpp:213 */ -NOBODY void SV_CareerMatchLimit_f(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 219 -// } -} - -/* <114600> ../cstrike/dlls/multiplay_gamerules.cpp:227 */ -NOBODY void CHalfLifeMultiplay::SetCareerMatchLimit(int minWins, int winDifference) -{ -// IsCareer(CHalfLifeMultiplay *const this); // 229 -} - -/* <114650> ../cstrike/dlls/multiplay_gamerules.cpp:238 */ -BOOL CHalfLifeMultiplay::IsCareer(void) -{ - return IS_CAREER_MATCH(); -} - -/* <113e08> ../cstrike/dlls/multiplay_gamerules.cpp:263 */ -NOBODY void CMapInfo::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 265 -// FStrEq(const char *sz1, -// const char *sz2); // 270 -// atoi(const char *__nptr); // 272 -// KeyValue(CMapInfo *const this, -// KeyValueData *pkvd); // 263 -} - -/* <112879> ../cstrike/dlls/multiplay_gamerules.cpp:280 */ -NOBODY void CMapInfo::Spawn_(void) -{ -} - -/* <114673> ../cstrike/dlls/multiplay_gamerules.cpp:288 */ -//void info_map_parameters(entvars_t *pev) -//{ -// GetClassPtr(CMapInfo *a); // 288 -//} - -/* <11474f> ../cstrike/dlls/multiplay_gamerules.cpp:331 */ -NOBODY void Broadcast(const char *sentence) -{ -// { -// char text; // 333 -// } -} - -/* <111767> ../cstrike/dlls/multiplay_gamerules.cpp:348 */ -char *GetTeam(int teamNo) -{ +cvar_t *sv_clienttrace; + +#endif // HOOK_GAMEDLL + +CCStrikeGameMgrHelper g_GameMgrHelper; +CHalfLifeMultiplay *g_pMPGameRules; + +//void info_map_parameters(entvars_t *pev) + +/* <1153e2> ../cstrike/dlls/multiplay_gamerules.cpp:92 */ +bool IsBotSpeaking(void) +{ +// { +// int i; // 94 +// { +// class CBasePlayer *pPlayer; // 96 +// { +// class CCSBot *pBot; // 99 +// } +// } +// } +} + +/* <1116dd> ../cstrike/dlls/multiplay_gamerules.cpp:111 */ +NOBODY void SV_Continue_f(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 113 +// { +// int i; // 121 +// { +// class CBasePlayer *pPlayer; // 123 +// } +// } +// } +} + +/* <112860> ../cstrike/dlls/multiplay_gamerules.cpp:133 */ +NOBODY void SV_Tutor_Toggle_f(void) +{ +} + +/* <11538f> ../cstrike/dlls/multiplay_gamerules.cpp:139 */ +NOBODY void SV_Career_Restart_f(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 141 +// IsCareer(CHalfLifeMultiplay *const this); // 142 +// } +} + +/* <111695> ../cstrike/dlls/multiplay_gamerules.cpp:149 */ +NOBODY void SV_Career_EndRound_f(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 151 +// { +// class CBasePlayer *localPlayer; // 154 +// { +// int i; // 160 +// { +// class CBasePlayer *player; // 162 +// } +// } +// } +// } +} + +/* <1145dd> ../cstrike/dlls/multiplay_gamerules.cpp:173 */ +NOBODY bool CHalfLifeMultiplay::IsInCareerRound(void) +{ + if (m_fTeamCount) + return false; + + if (m_fCareerRoundMenuTime) + return false; + + if (m_fCareerMatchMenuTime) + return false; + + return true; +} + +/* <110ba1> ../cstrike/dlls/multiplay_gamerules.cpp:180 */ +NOBODY void SV_CareerAddTask_f(void) +{ +// { +// const char *taskName; // 187 +// const char *weaponName; // 188 +// int reps; // 189 +// bool mustLive; // 190 +// bool crossRounds; // 191 +// bool isComplete; // 192 +// } +} + +/* <111640> ../cstrike/dlls/multiplay_gamerules.cpp:213 */ +NOBODY void SV_CareerMatchLimit_f(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 219 +// } +} + +/* <114600> ../cstrike/dlls/multiplay_gamerules.cpp:227 */ +NOBODY void CHalfLifeMultiplay::SetCareerMatchLimit(int minWins, int winDifference) +{ +// IsCareer(CHalfLifeMultiplay *const this); // 229 +} + +/* <114650> ../cstrike/dlls/multiplay_gamerules.cpp:238 */ +BOOL CHalfLifeMultiplay::IsCareer(void) +{ + return IS_CAREER_MATCH(); +} + +/* <113e08> ../cstrike/dlls/multiplay_gamerules.cpp:263 */ +NOBODY void CMapInfo::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 265 +// FStrEq(const char *sz1, +// const char *sz2); // 270 +// atoi(const char *__nptr); // 272 +// KeyValue(CMapInfo *const this, +// KeyValueData *pkvd); // 263 +} + +/* <112879> ../cstrike/dlls/multiplay_gamerules.cpp:280 */ +NOBODY void CMapInfo::Spawn_(void) +{ +} + +/* <114673> ../cstrike/dlls/multiplay_gamerules.cpp:288 */ +//void info_map_parameters(entvars_t *pev) +//{ +// GetClassPtr(CMapInfo *a); // 288 +//} + +/* <11474f> ../cstrike/dlls/multiplay_gamerules.cpp:331 */ +NOBODY void Broadcast(const char *sentence) +{ +// { +// char text; // 333 +// } +} + +/* <111767> ../cstrike/dlls/multiplay_gamerules.cpp:348 */ +char *GetTeam(int teamNo) +{ switch (teamNo) { case TERRORIST: @@ -172,27 +172,27 @@ char *GetTeam(int teamNo) default: break; } - return ""; -} - -/* <114805> ../cstrike/dlls/multiplay_gamerules.cpp:364 */ -NOBODY void EndRoundMessage(const char *sentence, int event) -{ -// { -// class CHalfLifeMultiplay *mp; // 366 -// char *team; // 368 -// const char *message; // 369 -// int teamTriggered; // 370 -// } -} - -/* <1128a1> ../cstrike/dlls/multiplay_gamerules.cpp:419 */ -NOBODY void ReadMultiplayCvars(CHalfLifeMultiplay *mp) -{ -} - -/* <11492c> ../cstrike/dlls/multiplay_gamerules.cpp:479 */ -NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) + return ""; +} + +/* <114805> ../cstrike/dlls/multiplay_gamerules.cpp:364 */ +NOBODY void EndRoundMessage(const char *sentence, int event) +{ +// { +// class CHalfLifeMultiplay *mp; // 366 +// char *team; // 368 +// const char *message; // 369 +// int teamTriggered; // 370 +// } +} + +/* <1128a1> ../cstrike/dlls/multiplay_gamerules.cpp:419 */ +NOBODY void ReadMultiplayCvars(CHalfLifeMultiplay *mp) +{ +} + +/* <11492c> ../cstrike/dlls/multiplay_gamerules.cpp:479 */ +NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) { m_VoiceGameMgr.Init(&g_GameMgrHelper, gpGlobals->maxClients); RefreshSkillData(); @@ -214,29 +214,29 @@ NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) m_bMapHasCameras = 2; g_fGameOver = FALSE; - m_iLoserBonus = 1400; - m_iNumConsecutiveCTLoses = 0; - m_iNumConsecutiveTerroristLoses = 0; - m_iC4Guy = 0; - m_bBombDefused = false; - m_bTargetBombed = false; - m_bFreezePeriod = TRUE; - m_bLevelInitialized = false; - m_tmNextPeriodicThink = 0; - m_bFirstConnected = 0; - m_bCompleteReset = false; - m_flRequiredEscapeRatio = 0.5; - m_iNumEscapers = 0; - m_bCTCantBuy = false; - m_bTCantBuy = false; - m_flBombRadius = 500.0; - m_iTotalGunCount = 0; - m_iTotalGrenadeCount = 0; - m_iTotalArmourCount = 0; - m_iConsecutiveVIP = 0; - m_iUnBalancedRounds = 0; - m_iNumEscapeRounds = 0; - m_bRoundTerminating = false; + m_iLoserBonus = 1400; + m_iNumConsecutiveCTLoses = 0; + m_iNumConsecutiveTerroristLoses = 0; + m_iC4Guy = 0; + m_bBombDefused = false; + m_bTargetBombed = false; + m_bFreezePeriod = TRUE; + m_bLevelInitialized = false; + m_tmNextPeriodicThink = 0; + m_bFirstConnected = 0; + m_bCompleteReset = false; + m_flRequiredEscapeRatio = 0.5; + m_iNumEscapers = 0; + m_bCTCantBuy = false; + m_bTCantBuy = false; + m_flBombRadius = 500.0; + m_iTotalGunCount = 0; + m_iTotalGrenadeCount = 0; + m_iTotalArmourCount = 0; + m_iConsecutiveVIP = 0; + m_iUnBalancedRounds = 0; + m_iNumEscapeRounds = 0; + m_bRoundTerminating = false; g_iHostageNumber = 0; @@ -329,7 +329,7 @@ NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) if (!installedCommands) { if (UTIL_IsGame("czero")) - { + { #if defined(HOOK_GAMEDLL) && !defined(REGAMEDLL_UNIT_TESTS) ADD_SERVER_COMMAND("career_continue", (xcommand_t)GetOriginalFuncAddrOrDefault("_Z13SV_Continue_fv", (void *)SV_Continue_f)); ADD_SERVER_COMMAND("career_matchlimit", (xcommand_t)GetOriginalFuncAddrOrDefault("_Z21SV_CareerMatchLimit_fv", (void *)SV_CareerMatchLimit_f)); @@ -346,7 +346,7 @@ NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) ADD_SERVER_COMMAND("tutor_toggle", SV_Tutor_Toggle_f); #endif // HOOK_GAMEDLL } - + #if defined(HOOK_GAMEDLL) && !defined(REGAMEDLL_UNIT_TESTS) ADD_SERVER_COMMAND("perf_test", (xcommand_t)GetOriginalFuncAddrOrDefault("_Z15loopPerformancev", (void *)loopPerformance)); ADD_SERVER_COMMAND("print_ent", (xcommand_t)GetOriginalFuncAddrOrDefault("_Z13printEntitiesv", (void *)printEntities)); @@ -374,14 +374,14 @@ NOBODY CHalfLifeMultiplay::CHalfLifeMultiplay(void) sv_clienttrace = CVAR_GET_POINTER("sv_clienttrace"); InstallTutor(CVAR_GET_POINTER("tutor_enable") != NULL); - g_pMPGameRules = this; -} - -/* <113b92> ../cstrike/dlls/multiplay_gamerules.cpp:678 */ -void CHalfLifeMultiplay::RefreshSkillData_(void) -{ - CGameRules::RefreshSkillData(); - + g_pMPGameRules = this; +} + +/* <113b92> ../cstrike/dlls/multiplay_gamerules.cpp:678 */ +void CHalfLifeMultiplay::RefreshSkillData_(void) +{ + CGameRules::RefreshSkillData(); + gSkillData.plrDmg9MM = 12; gSkillData.plrDmgMP5 = 12; gSkillData.suitchargerCapacity = 30; @@ -389,12 +389,12 @@ void CHalfLifeMultiplay::RefreshSkillData_(void) gSkillData.plrDmgM203Grenade = 100; gSkillData.plrDmgBuckshot = 20; gSkillData.plrDmgCrossbowClient = 20; - gSkillData.plrDmgRPG = 120; -} - -/* <113b51> ../cstrike/dlls/multiplay_gamerules.cpp:713 */ -void CHalfLifeMultiplay::RemoveGuns_(void) -{ + gSkillData.plrDmgRPG = 120; +} + +/* <113b51> ../cstrike/dlls/multiplay_gamerules.cpp:713 */ +void CHalfLifeMultiplay::RemoveGuns_(void) +{ CBaseEntity *toremove = NULL; while ((toremove = UTIL_FindEntityByClassname(toremove, "weaponbox")) != NULL) @@ -407,499 +407,500 @@ void CHalfLifeMultiplay::RemoveGuns_(void) toremove->SetThink(&CBaseEntity::SUB_Remove); //toremove->SetTouch(NULL); // TODO: this not exists in IDA toremove->pev->nextthink = gpGlobals->time + 0.1; - } -} - -/* <1149e8> ../cstrike/dlls/multiplay_gamerules.cpp:733 */ -NOBODY void CHalfLifeMultiplay::UpdateTeamScores(void) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 735 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 740 -} - -/* <113aee> ../cstrike/dlls/multiplay_gamerules.cpp:747 */ -NOBODY void CHalfLifeMultiplay::CleanUpMap_(void) -{ -// { -// class CBaseEntity *torestart; // 749 -// class CBaseEntity *toremove; // 750 -// int icount; // 837 -// } -} - -/* <118585> ../cstrike/dlls/multiplay_gamerules.cpp:862 */ -NOBODY void CHalfLifeMultiplay::GiveC4_(void) -{ -// { -// int iTeamCount; // 864 -// int iTemp; // 865 -// class CBaseEntity *pPlayer; // 866 -// class CBasePlayer *player; // 867 -// int humansPresent; // 873 -// bool giveToHumans; // 874 -// { -// int i; // 878 -// edict(CBaseEntity *const this); // 882 -// FNullEnt(const edict_t *pent); // 882 -// } -// edict(CBaseEntity *const this); // 906 -// FNullEnt(const edict_t *pent); // 906 -// IsThereABomber(CHalfLifeMultiplay *const this); // 941 -// edict(CBaseEntity *const this); // 949 -// FNullEnt(const edict_t *pent); // 949 -// edict(CBaseEntity *const this); // 930 -// edict(CBaseEntity *const this); // 930 -// edict(CBaseEntity *const this); // 968 -// edict(CBaseEntity *const this); // 968 -// } -} - -/* <11541f> ../cstrike/dlls/multiplay_gamerules.cpp:981 */ -inline void TerminateRound(float tmDelay, int iWinStatus) -{ -// { -// class CHalfLifeMultiplay *mp; // 983 -// } -} - -/* <114a6a> ../cstrike/dlls/multiplay_gamerules.cpp:995 */ -NOBODY void CHalfLifeMultiplay::QueueCareerRoundEndMenu(float tmDelay, int iWinStatus) -{ -// { -// bool humansAreCTs; // 1000 -// { -// class CBaseEntity *hostage; // 1005 -// int numHostagesInMap; // 1006 -// int numHostagesFollowingHumans; // 1007 -// int numHostagesAlive; // 1008 -// { -// class CHostage *pHostage; // 1014 -// { -// class CBasePlayer *pLeader; // 1017 -// GetLeader(CHostage *const this); // 1017 -// IsFollowingSomeone(CHostage *const this); // 1018 -// } -// } -// } -// { -// bool canCTsWin; // 1060 -// bool canTsWin; // 1062 -// } -// } -} - -/* <117750> ../cstrike/dlls/multiplay_gamerules.cpp:1084 */ -NOBODY void CHalfLifeMultiplay::CheckWinConditions_(void) -{ -// { -// class CBaseEntity *pPlayer; // 1086 -// class CBasePlayer *player; // 1087 -// int NumDeadCT; // 1088 -// int NumDeadTerrorist; // 1088 -// int NumAliveTerrorist; // 1088 -// int NumAliveCT; // 1088 -// int NumSpawnableHumans; // 1089 -// int NumHumans; // 1090 -// BOOL bNeededPlayers; // 1091 -// class CBaseEntity *hostage; // 1454 -// int iHostages; // 1455 -// bool bHostageAlive; // 1456 -// edict(CBaseEntity *const this); // 1106 -// FNullEnt(const edict_t *pent); // 1106 -// IsCareer(CHalfLifeMultiplay *const this); // 1175 -// { -// class CBasePlayer *player; // 1177 -// } -// IsCareer(CHalfLifeMultiplay *const this); // 1192 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1194 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1199 -// { -// float flEscapeRatio; // 1266 -// Broadcast(const char *sentence); // 1303 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1310 -// Broadcast(const char *sentence); // 1272 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1279 -// Broadcast(const char *sentence); // 1287 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1294 -// } -// Broadcast(const char *sentence); // 1343 -// { -// class CGrenade *C4; // 1368 -// class CBaseEntity *temp; // 1369 -// BOOL nowin; // 1370 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1410 -// Broadcast(const char *sentence); // 1395 -// } -// Broadcast(const char *sentence); // 1425 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1436 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1440 -// Broadcast(const char *sentence); // 1447 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1448 -// Broadcast(const char *sentence); // 1473 -// IsCareer(CHalfLifeMultiplay *const this); // 1488 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1493 -// Broadcast(const char *sentence); // 1325 -// TerminateRound(float tmDelay, -// int iWinStatus); // 1337 -// Broadcast(const char *sentence); // 1242 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1249 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1333 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1354 -// Broadcast(const char *sentence); // 1214 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1221 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1224 -// edict(CBaseEntity *const this); // 1227 -// ENTINDEX(edict_t *pEdict); // 1227 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1481 -// } -} - -/* <117336> ../cstrike/dlls/multiplay_gamerules.cpp:1499 */ -NOBODY void CHalfLifeMultiplay::SwapAllPlayers(void) -{ -// { -// class CBasePlayer *player; // 1501 -// class CBaseEntity *pPlayer; // 1502 -// int iTemp; // 1516 -// edict(CBaseEntity *const this); // 1505 -// FNullEnt(const edict_t *pent); // 1505 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1522 -// } -} - -/* <1171eb> ../cstrike/dlls/multiplay_gamerules.cpp:1525 */ -NOBODY void CHalfLifeMultiplay::BalanceTeams(void) -{ -// { -// int iTeamToSwap; // 1527 -// int iNumToSwap; // 1528 -// class CBasePlayer *player; // 1573 -// class CBasePlayer *toSwap; // 1574 -// class CBaseEntity *pPlayer; // 1575 -// int iHighestUserID; // 1578 -// { -// int iDesiredNumCT; // 1532 -// int iDesiredNumTerrorist; // 1532 -// } -// { -// int i; // 1580 -// edict(CBaseEntity *const this); // 1586 -// FNullEnt(const edict_t *pent); // 1586 -// edict(CBaseEntity *const this); // 1591 -// edict(CBaseEntity *const this); // 1593 -// } -// } -} - -/* <113158> ../cstrike/dlls/multiplay_gamerules.cpp:1608 */ -NOBODY void CHalfLifeMultiplay::CheckMapConditions_(void) -{ -} - -/* <11745e> ../cstrike/dlls/multiplay_gamerules.cpp:1676 */ -NOBODY void CHalfLifeMultiplay::RestartRound_(void) -{ -// { -// float flAutoKickIdle; // 1804 -// class CMapInfo *mi; // 1815 -// class CBaseEntity *hostage; // 1896 -// class CHostage *temp; // 1897 -// int acct_tmp; // 1903 -// class CBaseEntity *pPlayer; // 1965 -// class CBasePlayer *player; // 1966 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1711 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1717 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1782 -// { -// int i; // 1786 -// { -// class CBasePlayer *plr; // 1788 -// FNullEnt(entvars_t *pev); // 1790 -// } -// } -// edict(CBaseEntity *const this); // 1985 -// FNullEnt(const edict_t *pent); // 1985 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1701 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1704 -// } -} - -/* <114d20> ../cstrike/dlls/multiplay_gamerules.cpp:2097 */ -NOBODY BOOL CHalfLifeMultiplay::IsThereABomb(void) -{ -// { -// class CGrenade *pC4; // 2099 -// class CBaseEntity *pWeaponC4; // 2100 -// BOOL bFoundBomb; // 2101 -// } -} - -/* <114ca3> ../cstrike/dlls/multiplay_gamerules.cpp:2073 */ -NOBODY BOOL CHalfLifeMultiplay::IsThereABomber(void) -{ -// { -// class CBasePlayer *pPlayer; // 2075 -// edict(CBaseEntity *const this); // 2079 -// FNullEnt(const edict_t *pent); // 2079 -// } -} - -/* <114d83> ../cstrike/dlls/multiplay_gamerules.cpp:2129 */ -NOBODY BOOL CHalfLifeMultiplay::TeamFull(int team_id) -{ -} - -/* <114dbb> ../cstrike/dlls/multiplay_gamerules.cpp:2144 */ -NOBODY BOOL CHalfLifeMultiplay::TeamStacked(int newTeam_id, int curTeam_id) -{ -} - -/* <114e2b> ../cstrike/dlls/multiplay_gamerules.cpp:2214 */ -NOBODY void CHalfLifeMultiplay::StackVIPQueue(void) -{ -// { -// int i; // 2216 -// } -} - -/* <114e63> ../cstrike/dlls/multiplay_gamerules.cpp:2232 */ -NOBODY bool CHalfLifeMultiplay::IsVIPQueueEmpty(void) -{ -// { -// class CBasePlayer *toCheck; // 2234 -// { -// int i; // 2238 -// } -// StackVIPQueue(CHalfLifeMultiplay *const this); // 2249 -// } -} - -/* <114eea> ../cstrike/dlls/multiplay_gamerules.cpp:2257 */ -NOBODY bool CHalfLifeMultiplay::AddToVIPQueue(CBasePlayer *toAdd) -{ -// { -// int i; // 2265 -// } -// { -// int j; // 2274 -// StackVIPQueue(CHalfLifeMultiplay *const this); // 2279 -// } -} - -/* <114f80> ../cstrike/dlls/multiplay_gamerules.cpp:2290 */ -NOBODY void CHalfLifeMultiplay::ResetCurrentVIP(void) -{ -// { -// char *infobuffer; // 2292 -// int numSkins; // 2294 -// edict(CBaseEntity *const this); // 2292 -// entindex(CBaseEntity *const this); // 2327 -// entindex(CBaseEntity *const this); // 2316 -// entindex(CBaseEntity *const this); // 2308 -// entindex(CBaseEntity *const this); // 2312 -// entindex(CBaseEntity *const this); // 2322 -// } -} - -/* <11706f> ../cstrike/dlls/multiplay_gamerules.cpp:2335 */ -NOBODY void CHalfLifeMultiplay::PickNextVIP(void) -{ -// { -// int i; // 2343 -// StackVIPQueue(CHalfLifeMultiplay *const this); // 2351 -// } -// { -// int iCount; // 2365 -// class CBaseEntity *pPlayer; // 2367 -// class CBasePlayer *player; // 2368 -// class CBasePlayer *pLastPlayer; // 2369 -// edict(CBaseEntity *const this); // 2372 -// FNullEnt(const edict_t *pent); // 2372 -// } -// { -// class CBaseEntity *pPlayer; // 2404 -// class CBasePlayer *player; // 2405 -// edict(CBaseEntity *const this); // 2408 -// FNullEnt(const edict_t *pent); // 2408 -// } -} - -/* <115458> ../cstrike/dlls/multiplay_gamerules.cpp:2435 */ -NOBODY void CHalfLifeMultiplay::Think_(void) -{ -// { -// int time_remaining; // 2437 -// float fTimeLimit; // 2495 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 2456 -// { -// int time; // 2472 -// IsCareer(CHalfLifeMultiplay *const this); // 2481 -// } -// IsCareer(CHalfLifeMultiplay *const this); // 2504 -// IsBotSpeaking(void); // 2511 -// TimeRemaining(CHalfLifeMultiplay *const this); // 2594 -// { -// char CT_sentence; // 2602 -// char T_sentence; // 2603 -// bool bCTPlayed; // 2649 -// bool bTPlayed; // 2650 -// { -// int i; // 2652 -// { -// class CBasePlayer *plr; // 2654 -// } -// } -// } -// { -// class CGrenade *C4; // 2691 -// float flEndRoundTime; // 2692 -// Broadcast(const char *sentence); // 2710 -// TerminateRound(float tmDelay, -// int iWinStatus); // 2715 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2716 -// Broadcast(const char *sentence); // 2721 -// TerminateRound(float tmDelay, -// int iWinStatus); // 2726 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2727 -// TerminateRound(float tmDelay, -// int iWinStatus); // 2747 -// Broadcast(const char *sentence); // 2732 -// TerminateRound(float tmDelay, -// int iWinStatus); // 2736 -// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2737 -// } -// IsCareer(CHalfLifeMultiplay *const this); // 2758 -// { -// bool isBotSpeaking; // 2760 -// { -// bool canCTsWin; // 2771 -// bool canTsWin; // 2773 -// } -// { -// int i; // 2801 -// { -// class CBasePlayer *pPlayer; // 2803 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2807 -// } -// } -// IsBotSpeaking(void); // 2763 -// } -// { -// class CBaseEntity *ent; // 2840 -// } -// { -// int iRestartDelay; // 2860 -// { -// class CHalfLifeMultiplay *mp; // 2872 -// } -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 2587 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 2520 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 2527 -// } -} - -/* <115189> ../cstrike/dlls/multiplay_gamerules.cpp:2922 */ -NOBODY bool CHalfLifeMultiplay::HasRoundTimeExpired(void) -{ -// TimeRemaining(CHalfLifeMultiplay *const this); // 2925 -// IsBombPlanted(CHalfLifeMultiplay *const this); // 2929 -} - -/* <1151f4> ../cstrike/dlls/multiplay_gamerules.cpp:2945 */ -NOBODY bool CHalfLifeMultiplay::IsBombPlanted(void) -{ -// { -// class CGrenade *bomb; // 2950 -// } -} - -/* <115229> ../cstrike/dlls/multiplay_gamerules.cpp:2971 */ -NOBODY void CHalfLifeMultiplay::MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam) -{ -// { -// int i; // 2973 -// { -// class CBasePlayer *player; // 2975 -// FNullEnt(entvars_t *pev); // 2977 -// } -// } -} - -/* <1152e2> ../cstrike/dlls/multiplay_gamerules.cpp:2987 */ -NOBODY void CHalfLifeMultiplay::CareerRestart(void) -{ -// { -// int i; // 3004 -// { -// class CBasePlayer *player; // 3006 -// FNullEnt(entvars_t *pev); // 3008 -// } -// } -} - -/* <1128cb> ../cstrike/dlls/multiplay_gamerules.cpp:3017 */ -BOOL CHalfLifeMultiplay::IsMultiplayer_(void) -{ - return TRUE; -} - -/* <1128f3> ../cstrike/dlls/multiplay_gamerules.cpp:3024 */ -NOBODY BOOL CHalfLifeMultiplay::IsDeathmatch_(void) -{ -} - -/* <11291b> ../cstrike/dlls/multiplay_gamerules.cpp:3031 */ -NOBODY BOOL CHalfLifeMultiplay::IsCoOp_(void) -{ - return TRUE; -} - -/* <113fcf> ../cstrike/dlls/multiplay_gamerules.cpp:3038 */ -BOOL CHalfLifeMultiplay::FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ + } +} + +/* <1149e8> ../cstrike/dlls/multiplay_gamerules.cpp:733 */ +NOBODY void CHalfLifeMultiplay::UpdateTeamScores(void) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 735 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 740 +} + +/* <113aee> ../cstrike/dlls/multiplay_gamerules.cpp:747 */ +NOBODY void CHalfLifeMultiplay::CleanUpMap_(void) +{ +// { +// class CBaseEntity *torestart; // 749 +// class CBaseEntity *toremove; // 750 +// int icount; // 837 +// } +} + +/* <118585> ../cstrike/dlls/multiplay_gamerules.cpp:862 */ +NOBODY void CHalfLifeMultiplay::GiveC4_(void) +{ +// { +// int iTeamCount; // 864 +// int iTemp; // 865 +// class CBaseEntity *pPlayer; // 866 +// class CBasePlayer *player; // 867 +// int humansPresent; // 873 +// bool giveToHumans; // 874 +// { +// int i; // 878 +// edict(CBaseEntity *const this); // 882 +// FNullEnt(const edict_t *pent); // 882 +// } +// edict(CBaseEntity *const this); // 906 +// FNullEnt(const edict_t *pent); // 906 +// IsThereABomber(CHalfLifeMultiplay *const this); // 941 +// edict(CBaseEntity *const this); // 949 +// FNullEnt(const edict_t *pent); // 949 +// edict(CBaseEntity *const this); // 930 +// edict(CBaseEntity *const this); // 930 +// edict(CBaseEntity *const this); // 968 +// edict(CBaseEntity *const this); // 968 +// } +} + +/* <11541f> ../cstrike/dlls/multiplay_gamerules.cpp:981 */ +inline void TerminateRound(float tmDelay, int iWinStatus) +{ +// { +// class CHalfLifeMultiplay *mp; // 983 +// } +} + +/* <114a6a> ../cstrike/dlls/multiplay_gamerules.cpp:995 */ +NOBODY void CHalfLifeMultiplay::QueueCareerRoundEndMenu(float tmDelay, int iWinStatus) +{ +// { +// bool humansAreCTs; // 1000 +// { +// class CBaseEntity *hostage; // 1005 +// int numHostagesInMap; // 1006 +// int numHostagesFollowingHumans; // 1007 +// int numHostagesAlive; // 1008 +// { +// class CHostage *pHostage; // 1014 +// { +// class CBasePlayer *pLeader; // 1017 +// GetLeader(CHostage *const this); // 1017 +// IsFollowingSomeone(CHostage *const this); // 1018 +// } +// } +// } +// { +// bool canCTsWin; // 1060 +// bool canTsWin; // 1062 +// } +// } +} + +/* <117750> ../cstrike/dlls/multiplay_gamerules.cpp:1084 */ +NOBODY void CHalfLifeMultiplay::CheckWinConditions_(void) +{ +// { +// class CBaseEntity *pPlayer; // 1086 +// class CBasePlayer *player; // 1087 +// int NumDeadCT; // 1088 +// int NumDeadTerrorist; // 1088 +// int NumAliveTerrorist; // 1088 +// int NumAliveCT; // 1088 +// int NumSpawnableHumans; // 1089 +// int NumHumans; // 1090 +// BOOL bNeededPlayers; // 1091 +// class CBaseEntity *hostage; // 1454 +// int iHostages; // 1455 +// bool bHostageAlive; // 1456 +// edict(CBaseEntity *const this); // 1106 +// FNullEnt(const edict_t *pent); // 1106 +// IsCareer(CHalfLifeMultiplay *const this); // 1175 +// { +// class CBasePlayer *player; // 1177 +// } +// IsCareer(CHalfLifeMultiplay *const this); // 1192 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1194 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1199 +// { +// float flEscapeRatio; // 1266 +// Broadcast(const char *sentence); // 1303 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1310 +// Broadcast(const char *sentence); // 1272 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1279 +// Broadcast(const char *sentence); // 1287 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1294 +// } +// Broadcast(const char *sentence); // 1343 +// { +// class CGrenade *C4; // 1368 +// class CBaseEntity *temp; // 1369 +// BOOL nowin; // 1370 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1410 +// Broadcast(const char *sentence); // 1395 +// } +// Broadcast(const char *sentence); // 1425 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1436 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1440 +// Broadcast(const char *sentence); // 1447 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1448 +// Broadcast(const char *sentence); // 1473 +// IsCareer(CHalfLifeMultiplay *const this); // 1488 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1493 +// Broadcast(const char *sentence); // 1325 +// TerminateRound(float tmDelay, +// int iWinStatus); // 1337 +// Broadcast(const char *sentence); // 1242 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1249 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1333 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1354 +// Broadcast(const char *sentence); // 1214 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1221 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1224 +// edict(CBaseEntity *const this); // 1227 +// ENTINDEX(edict_t *pEdict); // 1227 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1481 +// } +} + +/* <117336> ../cstrike/dlls/multiplay_gamerules.cpp:1499 */ +NOBODY void CHalfLifeMultiplay::SwapAllPlayers(void) +{ +// { +// class CBasePlayer *player; // 1501 +// class CBaseEntity *pPlayer; // 1502 +// int iTemp; // 1516 +// edict(CBaseEntity *const this); // 1505 +// FNullEnt(const edict_t *pent); // 1505 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1522 +// } +} + +/* <1171eb> ../cstrike/dlls/multiplay_gamerules.cpp:1525 */ +NOBODY void CHalfLifeMultiplay::BalanceTeams(void) +{ +// { +// int iTeamToSwap; // 1527 +// int iNumToSwap; // 1528 +// class CBasePlayer *player; // 1573 +// class CBasePlayer *toSwap; // 1574 +// class CBaseEntity *pPlayer; // 1575 +// int iHighestUserID; // 1578 +// { +// int iDesiredNumCT; // 1532 +// int iDesiredNumTerrorist; // 1532 +// } +// { +// int i; // 1580 +// edict(CBaseEntity *const this); // 1586 +// FNullEnt(const edict_t *pent); // 1586 +// edict(CBaseEntity *const this); // 1591 +// edict(CBaseEntity *const this); // 1593 +// } +// } +} + +/* <113158> ../cstrike/dlls/multiplay_gamerules.cpp:1608 */ +NOBODY void CHalfLifeMultiplay::CheckMapConditions_(void) +{ +} + +/* <11745e> ../cstrike/dlls/multiplay_gamerules.cpp:1676 */ +NOBODY void CHalfLifeMultiplay::RestartRound_(void) +{ +// { +// float flAutoKickIdle; // 1804 +// class CMapInfo *mi; // 1815 +// class CBaseEntity *hostage; // 1896 +// class CHostage *temp; // 1897 +// int acct_tmp; // 1903 +// class CBaseEntity *pPlayer; // 1965 +// class CBasePlayer *player; // 1966 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1711 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1717 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 1782 +// { +// int i; // 1786 +// { +// class CBasePlayer *plr; // 1788 +// FNullEnt(entvars_t *pev); // 1790 +// } +// } +// edict(CBaseEntity *const this); // 1985 +// FNullEnt(const edict_t *pent); // 1985 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1701 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1704 +// } +} + +/* <114d20> ../cstrike/dlls/multiplay_gamerules.cpp:2097 */ +NOBODY BOOL CHalfLifeMultiplay::IsThereABomb(void) +{ +// { +// class CGrenade *pC4; // 2099 +// class CBaseEntity *pWeaponC4; // 2100 +// BOOL bFoundBomb; // 2101 +// } +} + +/* <114ca3> ../cstrike/dlls/multiplay_gamerules.cpp:2073 */ +NOBODY BOOL CHalfLifeMultiplay::IsThereABomber(void) +{ +// { +// class CBasePlayer *pPlayer; // 2075 +// edict(CBaseEntity *const this); // 2079 +// FNullEnt(const edict_t *pent); // 2079 +// } +} + +/* <114d83> ../cstrike/dlls/multiplay_gamerules.cpp:2129 */ +NOBODY BOOL CHalfLifeMultiplay::TeamFull(int team_id) +{ +} + +/* <114dbb> ../cstrike/dlls/multiplay_gamerules.cpp:2144 */ +NOBODY BOOL CHalfLifeMultiplay::TeamStacked(int newTeam_id, int curTeam_id) +{ +} + +/* <114e2b> ../cstrike/dlls/multiplay_gamerules.cpp:2214 */ +NOBODY void CHalfLifeMultiplay::StackVIPQueue(void) +{ +// { +// int i; // 2216 +// } +} + +/* <114e63> ../cstrike/dlls/multiplay_gamerules.cpp:2232 */ +NOBODY bool CHalfLifeMultiplay::IsVIPQueueEmpty(void) +{ +// { +// class CBasePlayer *toCheck; // 2234 +// { +// int i; // 2238 +// } +// StackVIPQueue(CHalfLifeMultiplay *const this); // 2249 +// } +} + +/* <114eea> ../cstrike/dlls/multiplay_gamerules.cpp:2257 */ +NOBODY bool CHalfLifeMultiplay::AddToVIPQueue(CBasePlayer *toAdd) +{ +// { +// int i; // 2265 +// } +// { +// int j; // 2274 +// StackVIPQueue(CHalfLifeMultiplay *const this); // 2279 +// } +} + +/* <114f80> ../cstrike/dlls/multiplay_gamerules.cpp:2290 */ +NOBODY void CHalfLifeMultiplay::ResetCurrentVIP(void) +{ +// { +// char *infobuffer; // 2292 +// int numSkins; // 2294 +// edict(CBaseEntity *const this); // 2292 +// entindex(CBaseEntity *const this); // 2327 +// entindex(CBaseEntity *const this); // 2316 +// entindex(CBaseEntity *const this); // 2308 +// entindex(CBaseEntity *const this); // 2312 +// entindex(CBaseEntity *const this); // 2322 +// } +} + +/* <11706f> ../cstrike/dlls/multiplay_gamerules.cpp:2335 */ +NOBODY void CHalfLifeMultiplay::PickNextVIP(void) +{ +// { +// int i; // 2343 +// StackVIPQueue(CHalfLifeMultiplay *const this); // 2351 +// } +// { +// int iCount; // 2365 +// class CBaseEntity *pPlayer; // 2367 +// class CBasePlayer *player; // 2368 +// class CBasePlayer *pLastPlayer; // 2369 +// edict(CBaseEntity *const this); // 2372 +// FNullEnt(const edict_t *pent); // 2372 +// } +// { +// class CBaseEntity *pPlayer; // 2404 +// class CBasePlayer *player; // 2405 +// edict(CBaseEntity *const this); // 2408 +// FNullEnt(const edict_t *pent); // 2408 +// } +} + +/* <115458> ../cstrike/dlls/multiplay_gamerules.cpp:2435 */ +NOBODY void CHalfLifeMultiplay::Think_(void) +{ +// { +// int time_remaining; // 2437 +// float fTimeLimit; // 2495 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 2456 +// { +// int time; // 2472 +// IsCareer(CHalfLifeMultiplay *const this); // 2481 +// } +// IsCareer(CHalfLifeMultiplay *const this); // 2504 +// IsBotSpeaking(void); // 2511 +// TimeRemaining(CHalfLifeMultiplay *const this); // 2594 +// { +// char CT_sentence; // 2602 +// char T_sentence; // 2603 +// bool bCTPlayed; // 2649 +// bool bTPlayed; // 2650 +// { +// int i; // 2652 +// { +// class CBasePlayer *plr; // 2654 +// } +// } +// } +// { +// class CGrenade *C4; // 2691 +// float flEndRoundTime; // 2692 +// Broadcast(const char *sentence); // 2710 +// TerminateRound(float tmDelay, +// int iWinStatus); // 2715 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2716 +// Broadcast(const char *sentence); // 2721 +// TerminateRound(float tmDelay, +// int iWinStatus); // 2726 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2727 +// TerminateRound(float tmDelay, +// int iWinStatus); // 2747 +// Broadcast(const char *sentence); // 2732 +// TerminateRound(float tmDelay, +// int iWinStatus); // 2736 +// UpdateTeamScores(CHalfLifeMultiplay *const this); // 2737 +// } +// IsCareer(CHalfLifeMultiplay *const this); // 2758 +// { +// bool isBotSpeaking; // 2760 +// { +// bool canCTsWin; // 2771 +// bool canTsWin; // 2773 +// } +// { +// int i; // 2801 +// { +// class CBasePlayer *pPlayer; // 2803 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2807 +// } +// } +// IsBotSpeaking(void); // 2763 +// } +// { +// class CBaseEntity *ent; // 2840 +// } +// { +// int iRestartDelay; // 2860 +// { +// class CHalfLifeMultiplay *mp; // 2872 +// } +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 2587 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 2520 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 2527 +// } +} + +/* <115189> ../cstrike/dlls/multiplay_gamerules.cpp:2922 */ +NOBODY bool CHalfLifeMultiplay::HasRoundTimeExpired(void) +{ +// TimeRemaining(CHalfLifeMultiplay *const this); // 2925 +// IsBombPlanted(CHalfLifeMultiplay *const this); // 2929 +} + +/* <1151f4> ../cstrike/dlls/multiplay_gamerules.cpp:2945 */ +NOBODY bool CHalfLifeMultiplay::IsBombPlanted(void) +{ +// { +// class CGrenade *bomb; // 2950 +// } +} + +/* <115229> ../cstrike/dlls/multiplay_gamerules.cpp:2971 */ +NOBODY void CHalfLifeMultiplay::MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam) +{ +// { +// int i; // 2973 +// { +// class CBasePlayer *player; // 2975 +// FNullEnt(entvars_t *pev); // 2977 +// } +// } +} + +/* <1152e2> ../cstrike/dlls/multiplay_gamerules.cpp:2987 */ +NOBODY void CHalfLifeMultiplay::CareerRestart(void) +{ +// { +// int i; // 3004 +// { +// class CBasePlayer *player; // 3006 +// FNullEnt(entvars_t *pev); // 3008 +// } +// } +} + +/* <1128cb> ../cstrike/dlls/multiplay_gamerules.cpp:3017 */ +BOOL CHalfLifeMultiplay::IsMultiplayer_(void) +{ + return TRUE; +} + +/* <1128f3> ../cstrike/dlls/multiplay_gamerules.cpp:3024 */ +BOOL CHalfLifeMultiplay::IsDeathmatch_(void) +{ + return TRUE; +} + +/* <11291b> ../cstrike/dlls/multiplay_gamerules.cpp:3031 */ +BOOL CHalfLifeMultiplay::IsCoOp_(void) +{ + return gpGlobals->coop; +} + +/* <113fcf> ../cstrike/dlls/multiplay_gamerules.cpp:3038 */ +BOOL CHalfLifeMultiplay::FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ if (!pWeapon->CanDeploy()) return FALSE; @@ -915,12 +916,12 @@ BOOL CHalfLifeMultiplay::FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerI if (pWeapon->iWeight() > pPlayer->m_pActiveItem->iWeight()) return TRUE; - return FALSE; -} - -/* <113eec> ../cstrike/dlls/multiplay_gamerules.cpp:3071 */ -BOOL CHalfLifeMultiplay::GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) -{ + return FALSE; +} + +/* <113eec> ../cstrike/dlls/multiplay_gamerules.cpp:3071 */ +BOOL CHalfLifeMultiplay::GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) +{ if (!pCurrentWeapon->CanHolster()) return FALSE; @@ -945,462 +946,462 @@ BOOL CHalfLifeMultiplay::GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerIte pPlayer->SwitchWeapon(pBest); return TRUE; } - return FALSE; -} - -NOBODY BOOL CHalfLifeMultiplay::ClientCommand_(CBasePlayer *pPlayer, const char *pcmd) -{ - return FALSE; -} - -/* <113aa5> ../cstrike/dlls/multiplay_gamerules.cpp:3132 */ -NOBODY BOOL CHalfLifeMultiplay::ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd) -{ -} - -/* <113a3c> ../cstrike/dlls/multiplay_gamerules.cpp:3145 */ -NOBODY BOOL CHalfLifeMultiplay::ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) -{ -} - -/* <11298b> ../cstrike/dlls/multiplay_gamerules.cpp:3156 */ -NOBODY void CHalfLifeMultiplay::UpdateGameMode_(CBasePlayer *pPlayer) -{ -// edict(CBaseEntity *const this); // 3158 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3158 -} - -/* <11642b> ../cstrike/dlls/multiplay_gamerules.cpp:3163 */ -NOBODY void CHalfLifeMultiplay::InitHUD_(CBasePlayer *pl) -{ -// { -// int i; // 3207 -// edict(CBaseEntity *const this); // 3168 -// edict(CBaseEntity *const this); // 3168 -// edict(CBaseEntity *const this); // 3181 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3181 -// edict(CBaseEntity *const this); // 3182 -// ENTINDEX(edict_t *pEdict); // 3182 -// edict(CBaseEntity *const this); // 3189 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3189 -// IsCareer(CHalfLifeMultiplay *const this); // 3193 -// edict(CBaseEntity *const this); // 3196 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3196 -// { -// class CBasePlayer *plr; // 3211 -// edict(CBaseEntity *const this); // 3215 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3215 -// } -// edict(CBaseEntity *const this); // 3226 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3226 -// edict(CBaseEntity *const this); // 3231 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3231 -// edict(CBaseEntity *const this); // 3236 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3236 -// edict(CBaseEntity *const this); // 3240 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3240 -// { -// class CBasePlayer *plr; // 3255 -// entindex(CBaseEntity *const this); // 3283 -// edict(CBaseEntity *const this); // 3259 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3259 -// entindex(CBaseEntity *const this); // 3260 -// edict(CBaseEntity *const this); // 3287 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3287 -// entindex(CBaseEntity *const this); // 3288 -// } -// { -// class CBaseEntity *pWeaponC4; // 3301 -// edict(CBaseEntity *const this); // 3306 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3306 -// } -// edict(CBaseEntity *const this); // 3175 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3175 -// edict(CBaseEntity *const this); // 3248 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3248 -// } -} - -/* <1137c1> ../cstrike/dlls/multiplay_gamerules.cpp:3318 */ -NOBODY void CHalfLifeMultiplay::ClientDisconnected_(edict_t *pClient) -{ -// { -// class CBasePlayer *pPlayer; // 3322 -// Instance(edict_t *pent); // 3322 -// { -// char *team; // 3389 -// class CBasePlayer *client; // 3403 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3365 -// ENTINDEX(edict_t *pEdict); // 3366 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3373 -// ENTINDEX(edict_t *pEdict); // 3374 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3378 -// ENTINDEX(edict_t *pEdict); // 3379 -// GetTeam(int teamNo); // 3389 -// edict(CBaseEntity *const this); // 3395 -// edict(CBaseEntity *const this); // 3395 -// edict(CBaseEntity *const this); // 3404 -// FNullEnt(const edict_t *pent); // 3404 -// { -// int iMode; // 3415 -// } -// } -// } -} - -/* <112a05> ../cstrike/dlls/multiplay_gamerules.cpp:3428 */ -NOBODY float CHalfLifeMultiplay::FlPlayerFallDamage_(CBasePlayer *pPlayer) -{ -} - -/* <112a3d> ../cstrike/dlls/multiplay_gamerules.cpp:3436 */ -NOBODY BOOL CHalfLifeMultiplay::FPlayerCanTakeDamage_(CBasePlayer *pPlayer, CBaseEntity *pAttacker) -{ -} - -/* <11370c> ../cstrike/dlls/multiplay_gamerules.cpp:3454 */ -NOBODY void CHalfLifeMultiplay::PlayerThink_(CBasePlayer *pPlayer) -{ -// { -// class CBasePlayerWeapon *pWeapon; // 3476 -// } -// { -// int team; // 3484 -// IsCareer(CHalfLifeMultiplay *const this); // 3513 -// } -// IsCareer(CHalfLifeMultiplay *const this); // 3459 -} - -/* <113bcf> ../cstrike/dlls/multiplay_gamerules.cpp:3523 */ -NOBODY void CHalfLifeMultiplay::PlayerSpawn_(CBasePlayer *pPlayer) -{ -// { -// BOOL addDefault; // 3525 -// class CBaseEntity *pWeaponEntity; // 3526 -// } -} - -/* <113d74> ../cstrike/dlls/multiplay_gamerules.cpp:3553 */ -NOBODY BOOL CHalfLifeMultiplay::FPlayerCanRespawn_(CBasePlayer *pPlayer) -{ -// FPlayerCanRespawn(CHalfLifeMultiplay *const this, -// class CBasePlayer *pPlayer); // 3553 -} - -/* <112a86> ../cstrike/dlls/multiplay_gamerules.cpp:3591 */ -NOBODY float CHalfLifeMultiplay::FlPlayerSpawnTime_(CBasePlayer *pPlayer) -{ - return -1.0f; -} - -/* <112abe> ../cstrike/dlls/multiplay_gamerules.cpp:3596 */ -NOBODY BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair_(void) -{ - return FALSE; -} - -/* <112ae6> ../cstrike/dlls/multiplay_gamerules.cpp:3619 */ -NOBODY int CHalfLifeMultiplay::IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled) -{ -} - -/* <116cbd> ../cstrike/dlls/multiplay_gamerules.cpp:3627 */ -NOBODY void CHalfLifeMultiplay::PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) -{ -// { -// class CBasePlayer *peKiller; // 3644 -// class CBaseEntity *ktmp; // 3645 -// class CBaseEntity *ep; // 3751 -// edict(CBaseEntity *const this); // 3642 -// Instance(entvars_t *pev); // 3645 -// { -// class CBasePlayer *pDriver; // 3650 -// } -// { -// class CBasePlayer *killer; // 3667 -// { -// int iUserID; // 3685 -// edict(CBaseEntity *const this); // 3685 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3708 -// edict(CBaseEntity *const this); // 3711 -// ENTINDEX(edict_t *pEdict); // 3711 -// ENTINDEX(edict_t *pEdict); // 3712 -// edict(CBaseEntity *const this); // 3720 -// edict(CBaseEntity *const this); // 3720 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3742 -// edict(CBaseEntity *const this); // 3743 -// ENTINDEX(edict_t *pEdict); // 3743 -// Instance(entvars_t *pev); // 3751 -// { -// class CBasePlayer *PK; // 3754 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3756 -// edict(CBaseEntity *const this); // 3757 -// ENTINDEX(edict_t *pEdict); // 3757 -// } -// } -} - -/* <113273> ../cstrike/dlls/multiplay_gamerules.cpp:3772 */ -NOBODY void CHalfLifeMultiplay::DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) -{ -// { -// class CBaseEntity *Killer; // 3775 -// const char *killer_weapon_name; // 3777 -// int killer_index; // 3778 -// char *tau; // 3781 -// char *gluon; // 3782 -// int iGotHeadshot; // 3819 -// Instance(entvars_t *pev); // 3775 -// ENTINDEX(edict_t *pEdict); // 3786 -// { -// class CBasePlayer *pPlayer; // 3793 -// Instance(entvars_t *pev); // 3793 -// pszName(CBasePlayerItem *const this); // 3797 -// } -// { -// class CBasePlayer *pPlayer; // 3856 -// char *VictimTeam; // 3858 -// char *KillerTeam; // 3859 -// Instance(entvars_t *pev); // 3856 -// GetTeam(int teamNo); // 3858 -// edict(CBaseEntity *const this); // 3872 -// } -// { -// char *team; // 3877 -// GetTeam(int teamNo); // 3877 -// edict(CBaseEntity *const this); // 3884 -// } -// { -// char *team; // 3845 -// GetTeam(int teamNo); // 3845 -// edict(CBaseEntity *const this); // 3852 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3890 -// edict(CBaseEntity *const this); // 3893 -// ENTINDEX(edict_t *pEdict); // 3893 -// ENTINDEX(edict_t *pEdict); // 3895 -// ENTINDEX(edict_t *pEdict); // 3897 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3829 -// edict(CBaseEntity *const this); // 3831 -// ENTINDEX(edict_t *pEdict); // 3831 -// } -} - -/* <112b2e> ../cstrike/dlls/multiplay_gamerules.cpp:3916 */ -void CHalfLifeMultiplay::PlayerGotWeapon_(CBasePlayer *pPlayer, class CBasePlayerItem *pWeapon) -{ - ; -} - -/* <112b76> ../cstrike/dlls/multiplay_gamerules.cpp:3924 */ -NOBODY float CHalfLifeMultiplay::FlWeaponRespawnTime_(CBasePlayerItem *pWeapon) -{ -} - -/* <114058> ../cstrike/dlls/multiplay_gamerules.cpp:3938 */ -NOBODY float CHalfLifeMultiplay::FlWeaponTryRespawn_(CBasePlayerItem *pWeapon) -{ -// iFlags(CBasePlayerItem *const this); // 3940 -// FlWeaponTryRespawn(CHalfLifeMultiplay *const this, -// class CBasePlayerItem *pWeapon); // 3938 -} - -/* <112bae> ../cstrike/dlls/multiplay_gamerules.cpp:3956 */ -NOBODY Vector CHalfLifeMultiplay::VecWeaponRespawnSpot_(CBasePlayerItem *pWeapon) -{ -// Vector(Vector *const this, -// const Vector &v); // 3958 -} - -/* <112c11> ../cstrike/dlls/multiplay_gamerules.cpp:3965 */ -int CHalfLifeMultiplay::WeaponShouldRespawn_(CBasePlayerItem *pWeapon) -{ + return FALSE; +} + +NOBODY BOOL CHalfLifeMultiplay::ClientCommand_(CBasePlayer *pPlayer, const char *pcmd) +{ + return FALSE; +} + +/* <113aa5> ../cstrike/dlls/multiplay_gamerules.cpp:3132 */ +NOBODY BOOL CHalfLifeMultiplay::ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd) +{ +} + +/* <113a3c> ../cstrike/dlls/multiplay_gamerules.cpp:3145 */ +NOBODY BOOL CHalfLifeMultiplay::ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) +{ +} + +/* <11298b> ../cstrike/dlls/multiplay_gamerules.cpp:3156 */ +NOBODY void CHalfLifeMultiplay::UpdateGameMode_(CBasePlayer *pPlayer) +{ +// edict(CBaseEntity *const this); // 3158 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3158 +} + +/* <11642b> ../cstrike/dlls/multiplay_gamerules.cpp:3163 */ +NOBODY void CHalfLifeMultiplay::InitHUD_(CBasePlayer *pl) +{ +// { +// int i; // 3207 +// edict(CBaseEntity *const this); // 3168 +// edict(CBaseEntity *const this); // 3168 +// edict(CBaseEntity *const this); // 3181 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3181 +// edict(CBaseEntity *const this); // 3182 +// ENTINDEX(edict_t *pEdict); // 3182 +// edict(CBaseEntity *const this); // 3189 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3189 +// IsCareer(CHalfLifeMultiplay *const this); // 3193 +// edict(CBaseEntity *const this); // 3196 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3196 +// { +// class CBasePlayer *plr; // 3211 +// edict(CBaseEntity *const this); // 3215 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3215 +// } +// edict(CBaseEntity *const this); // 3226 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3226 +// edict(CBaseEntity *const this); // 3231 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3231 +// edict(CBaseEntity *const this); // 3236 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3236 +// edict(CBaseEntity *const this); // 3240 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3240 +// { +// class CBasePlayer *plr; // 3255 +// entindex(CBaseEntity *const this); // 3283 +// edict(CBaseEntity *const this); // 3259 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3259 +// entindex(CBaseEntity *const this); // 3260 +// edict(CBaseEntity *const this); // 3287 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3287 +// entindex(CBaseEntity *const this); // 3288 +// } +// { +// class CBaseEntity *pWeaponC4; // 3301 +// edict(CBaseEntity *const this); // 3306 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3306 +// } +// edict(CBaseEntity *const this); // 3175 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3175 +// edict(CBaseEntity *const this); // 3248 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3248 +// } +} + +/* <1137c1> ../cstrike/dlls/multiplay_gamerules.cpp:3318 */ +NOBODY void CHalfLifeMultiplay::ClientDisconnected_(edict_t *pClient) +{ +// { +// class CBasePlayer *pPlayer; // 3322 +// Instance(edict_t *pent); // 3322 +// { +// char *team; // 3389 +// class CBasePlayer *client; // 3403 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3365 +// ENTINDEX(edict_t *pEdict); // 3366 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3373 +// ENTINDEX(edict_t *pEdict); // 3374 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3378 +// ENTINDEX(edict_t *pEdict); // 3379 +// GetTeam(int teamNo); // 3389 +// edict(CBaseEntity *const this); // 3395 +// edict(CBaseEntity *const this); // 3395 +// edict(CBaseEntity *const this); // 3404 +// FNullEnt(const edict_t *pent); // 3404 +// { +// int iMode; // 3415 +// } +// } +// } +} + +/* <112a05> ../cstrike/dlls/multiplay_gamerules.cpp:3428 */ +NOBODY float CHalfLifeMultiplay::FlPlayerFallDamage_(CBasePlayer *pPlayer) +{ +} + +/* <112a3d> ../cstrike/dlls/multiplay_gamerules.cpp:3436 */ +NOBODY BOOL CHalfLifeMultiplay::FPlayerCanTakeDamage_(CBasePlayer *pPlayer, CBaseEntity *pAttacker) +{ +} + +/* <11370c> ../cstrike/dlls/multiplay_gamerules.cpp:3454 */ +NOBODY void CHalfLifeMultiplay::PlayerThink_(CBasePlayer *pPlayer) +{ +// { +// class CBasePlayerWeapon *pWeapon; // 3476 +// } +// { +// int team; // 3484 +// IsCareer(CHalfLifeMultiplay *const this); // 3513 +// } +// IsCareer(CHalfLifeMultiplay *const this); // 3459 +} + +/* <113bcf> ../cstrike/dlls/multiplay_gamerules.cpp:3523 */ +NOBODY void CHalfLifeMultiplay::PlayerSpawn_(CBasePlayer *pPlayer) +{ +// { +// BOOL addDefault; // 3525 +// class CBaseEntity *pWeaponEntity; // 3526 +// } +} + +/* <113d74> ../cstrike/dlls/multiplay_gamerules.cpp:3553 */ +NOBODY BOOL CHalfLifeMultiplay::FPlayerCanRespawn_(CBasePlayer *pPlayer) +{ +// FPlayerCanRespawn(CHalfLifeMultiplay *const this, +// class CBasePlayer *pPlayer); // 3553 +} + +/* <112a86> ../cstrike/dlls/multiplay_gamerules.cpp:3591 */ +NOBODY float CHalfLifeMultiplay::FlPlayerSpawnTime_(CBasePlayer *pPlayer) +{ + return -1.0f; +} + +/* <112abe> ../cstrike/dlls/multiplay_gamerules.cpp:3596 */ +NOBODY BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair_(void) +{ + return FALSE; +} + +/* <112ae6> ../cstrike/dlls/multiplay_gamerules.cpp:3619 */ +NOBODY int CHalfLifeMultiplay::IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled) +{ +} + +/* <116cbd> ../cstrike/dlls/multiplay_gamerules.cpp:3627 */ +NOBODY void CHalfLifeMultiplay::PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) +{ +// { +// class CBasePlayer *peKiller; // 3644 +// class CBaseEntity *ktmp; // 3645 +// class CBaseEntity *ep; // 3751 +// edict(CBaseEntity *const this); // 3642 +// Instance(entvars_t *pev); // 3645 +// { +// class CBasePlayer *pDriver; // 3650 +// } +// { +// class CBasePlayer *killer; // 3667 +// { +// int iUserID; // 3685 +// edict(CBaseEntity *const this); // 3685 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3708 +// edict(CBaseEntity *const this); // 3711 +// ENTINDEX(edict_t *pEdict); // 3711 +// ENTINDEX(edict_t *pEdict); // 3712 +// edict(CBaseEntity *const this); // 3720 +// edict(CBaseEntity *const this); // 3720 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3742 +// edict(CBaseEntity *const this); // 3743 +// ENTINDEX(edict_t *pEdict); // 3743 +// Instance(entvars_t *pev); // 3751 +// { +// class CBasePlayer *PK; // 3754 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3756 +// edict(CBaseEntity *const this); // 3757 +// ENTINDEX(edict_t *pEdict); // 3757 +// } +// } +} + +/* <113273> ../cstrike/dlls/multiplay_gamerules.cpp:3772 */ +NOBODY void CHalfLifeMultiplay::DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) +{ +// { +// class CBaseEntity *Killer; // 3775 +// const char *killer_weapon_name; // 3777 +// int killer_index; // 3778 +// char *tau; // 3781 +// char *gluon; // 3782 +// int iGotHeadshot; // 3819 +// Instance(entvars_t *pev); // 3775 +// ENTINDEX(edict_t *pEdict); // 3786 +// { +// class CBasePlayer *pPlayer; // 3793 +// Instance(entvars_t *pev); // 3793 +// pszName(CBasePlayerItem *const this); // 3797 +// } +// { +// class CBasePlayer *pPlayer; // 3856 +// char *VictimTeam; // 3858 +// char *KillerTeam; // 3859 +// Instance(entvars_t *pev); // 3856 +// GetTeam(int teamNo); // 3858 +// edict(CBaseEntity *const this); // 3872 +// } +// { +// char *team; // 3877 +// GetTeam(int teamNo); // 3877 +// edict(CBaseEntity *const this); // 3884 +// } +// { +// char *team; // 3845 +// GetTeam(int teamNo); // 3845 +// edict(CBaseEntity *const this); // 3852 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3890 +// edict(CBaseEntity *const this); // 3893 +// ENTINDEX(edict_t *pEdict); // 3893 +// ENTINDEX(edict_t *pEdict); // 3895 +// ENTINDEX(edict_t *pEdict); // 3897 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3829 +// edict(CBaseEntity *const this); // 3831 +// ENTINDEX(edict_t *pEdict); // 3831 +// } +} + +/* <112b2e> ../cstrike/dlls/multiplay_gamerules.cpp:3916 */ +void CHalfLifeMultiplay::PlayerGotWeapon_(CBasePlayer *pPlayer, class CBasePlayerItem *pWeapon) +{ + ; +} + +/* <112b76> ../cstrike/dlls/multiplay_gamerules.cpp:3924 */ +NOBODY float CHalfLifeMultiplay::FlWeaponRespawnTime_(CBasePlayerItem *pWeapon) +{ +} + +/* <114058> ../cstrike/dlls/multiplay_gamerules.cpp:3938 */ +NOBODY float CHalfLifeMultiplay::FlWeaponTryRespawn_(CBasePlayerItem *pWeapon) +{ +// iFlags(CBasePlayerItem *const this); // 3940 +// FlWeaponTryRespawn(CHalfLifeMultiplay *const this, +// class CBasePlayerItem *pWeapon); // 3938 +} + +/* <112bae> ../cstrike/dlls/multiplay_gamerules.cpp:3956 */ +NOBODY Vector CHalfLifeMultiplay::VecWeaponRespawnSpot_(CBasePlayerItem *pWeapon) +{ +// Vector(Vector *const this, +// const Vector &v); // 3958 +} + +/* <112c11> ../cstrike/dlls/multiplay_gamerules.cpp:3965 */ +int CHalfLifeMultiplay::WeaponShouldRespawn_(CBasePlayerItem *pWeapon) +{ if (pWeapon->pev->spawnflags & SF_NORESPAWN) return GR_WEAPON_RESPAWN_NO; - return GR_WEAPON_RESPAWN_YES; -} - -/* <11322b> ../cstrike/dlls/multiplay_gamerules.cpp:3979 */ -NOBODY BOOL CHalfLifeMultiplay::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem) -{ - return CGameRules::CanHavePlayerItem(pPlayer, pItem); -} - -/* <112c49> ../cstrike/dlls/multiplay_gamerules.cpp:3986 */ -BOOL CHalfLifeMultiplay::CanHaveItem_(CBasePlayer *pPlayer, CItem *pItem) -{ - return TRUE; -} - -/* <112c91> ../cstrike/dlls/multiplay_gamerules.cpp:3993 */ -void CHalfLifeMultiplay::PlayerGotItem_(CBasePlayer *pPlayer, CItem *pItem) -{ - ; -} - -/* <112cd9> ../cstrike/dlls/multiplay_gamerules.cpp:3999 */ -int CHalfLifeMultiplay::ItemShouldRespawn_(CItem *pItem) -{ + return GR_WEAPON_RESPAWN_YES; +} + +/* <11322b> ../cstrike/dlls/multiplay_gamerules.cpp:3979 */ +NOBODY BOOL CHalfLifeMultiplay::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem) +{ + return CGameRules::CanHavePlayerItem(pPlayer, pItem); +} + +/* <112c49> ../cstrike/dlls/multiplay_gamerules.cpp:3986 */ +BOOL CHalfLifeMultiplay::CanHaveItem_(CBasePlayer *pPlayer, CItem *pItem) +{ + return TRUE; +} + +/* <112c91> ../cstrike/dlls/multiplay_gamerules.cpp:3993 */ +void CHalfLifeMultiplay::PlayerGotItem_(CBasePlayer *pPlayer, CItem *pItem) +{ + ; +} + +/* <112cd9> ../cstrike/dlls/multiplay_gamerules.cpp:3999 */ +int CHalfLifeMultiplay::ItemShouldRespawn_(CItem *pItem) +{ if (pItem->pev->spawnflags & SF_NORESPAWN) return GR_ITEM_RESPAWN_NO; - return GR_ITEM_RESPAWN_YES; -} - -/* <112d11> ../cstrike/dlls/multiplay_gamerules.cpp:4013 */ -float CHalfLifeMultiplay::FlItemRespawnTime_(CItem *pItem) -{ - return gpGlobals->time + ITEM_RESPAWN_TIME; -} - -/* <112d49> ../cstrike/dlls/multiplay_gamerules.cpp:4022 */ -Vector CHalfLifeMultiplay::VecItemRespawnSpot_(CItem *pItem) -{ - return pItem->pev->origin; -} - -/* <112dac> ../cstrike/dlls/multiplay_gamerules.cpp:4029 */ -NOBODY void CHalfLifeMultiplay::PlayerGotAmmo_(CBasePlayer *pPlayer, char *szName, int iCount) -{ -} - -/* <112e04> ../cstrike/dlls/multiplay_gamerules.cpp:4035 */ -NOBODY BOOL CHalfLifeMultiplay::IsAllowedToSpawn_(CBaseEntity *pEntity) -{ -} - -/* <112e3c> ../cstrike/dlls/multiplay_gamerules.cpp:4045 */ -int CHalfLifeMultiplay::AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo) -{ + return GR_ITEM_RESPAWN_YES; +} + +/* <112d11> ../cstrike/dlls/multiplay_gamerules.cpp:4013 */ +float CHalfLifeMultiplay::FlItemRespawnTime_(CItem *pItem) +{ + return gpGlobals->time + ITEM_RESPAWN_TIME; +} + +/* <112d49> ../cstrike/dlls/multiplay_gamerules.cpp:4022 */ +Vector CHalfLifeMultiplay::VecItemRespawnSpot_(CItem *pItem) +{ + return pItem->pev->origin; +} + +/* <112dac> ../cstrike/dlls/multiplay_gamerules.cpp:4029 */ +NOBODY void CHalfLifeMultiplay::PlayerGotAmmo_(CBasePlayer *pPlayer, char *szName, int iCount) +{ +} + +/* <112e04> ../cstrike/dlls/multiplay_gamerules.cpp:4035 */ +NOBODY BOOL CHalfLifeMultiplay::IsAllowedToSpawn_(CBaseEntity *pEntity) +{ +} + +/* <112e3c> ../cstrike/dlls/multiplay_gamerules.cpp:4045 */ +int CHalfLifeMultiplay::AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo) +{ if (pAmmo->pev->spawnflags & SF_NORESPAWN) return GR_AMMO_RESPAWN_NO; - return GR_AMMO_RESPAWN_YES; -} - -/* <112e74> ../cstrike/dlls/multiplay_gamerules.cpp:4057 */ -float CHalfLifeMultiplay::FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo) -{ - return gpGlobals->time + 20.0f; -} - -/* <112eac> ../cstrike/dlls/multiplay_gamerules.cpp:4064 */ -Vector CHalfLifeMultiplay::VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo) -{ - return pAmmo->pev->origin; -} - -/* <112f0f> ../cstrike/dlls/multiplay_gamerules.cpp:4071 */ -NOBODY float CHalfLifeMultiplay::FlHealthChargerRechargeTime_(void) -{ -} - -/* <112f37> ../cstrike/dlls/multiplay_gamerules.cpp:4077 */ -NOBODY float CHalfLifeMultiplay::FlHEVChargerRechargeTime_(void) -{ -} - -/* <112f5f> ../cstrike/dlls/multiplay_gamerules.cpp:4084 */ -int CHalfLifeMultiplay::DeadPlayerWeapons_(CBasePlayer *pPlayer) -{ - return GR_PLR_DROP_GUN_ACTIVE; -} - -/* <112f97> ../cstrike/dlls/multiplay_gamerules.cpp:4091 */ -int CHalfLifeMultiplay::DeadPlayerAmmo_(CBasePlayer *pPlayer) -{ - return GR_PLR_DROP_AMMO_ACTIVE; -} - -/* <1131d6> ../cstrike/dlls/multiplay_gamerules.cpp:4096 */ -NOBODY edict_t *CHalfLifeMultiplay::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) -{ -// { -// edict_t *pentSpawnSpot; // 4098 -// } -} - -/* <116c24> ../cstrike/dlls/multiplay_gamerules.cpp:4110 */ -NOBODY int CHalfLifeMultiplay::PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget) -{ -// { -// class CBasePlayer *player; // 4118 -// class CBasePlayer *target; // 4119 -// } -} - -/* <112fcf> ../cstrike/dlls/multiplay_gamerules.cpp:4128 */ -BOOL CHalfLifeMultiplay::FAllowFlashlight_(void) -{ + return GR_AMMO_RESPAWN_YES; +} + +/* <112e74> ../cstrike/dlls/multiplay_gamerules.cpp:4057 */ +float CHalfLifeMultiplay::FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo) +{ + return gpGlobals->time + 20.0f; +} + +/* <112eac> ../cstrike/dlls/multiplay_gamerules.cpp:4064 */ +Vector CHalfLifeMultiplay::VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo) +{ + return pAmmo->pev->origin; +} + +/* <112f0f> ../cstrike/dlls/multiplay_gamerules.cpp:4071 */ +NOBODY float CHalfLifeMultiplay::FlHealthChargerRechargeTime_(void) +{ +} + +/* <112f37> ../cstrike/dlls/multiplay_gamerules.cpp:4077 */ +NOBODY float CHalfLifeMultiplay::FlHEVChargerRechargeTime_(void) +{ +} + +/* <112f5f> ../cstrike/dlls/multiplay_gamerules.cpp:4084 */ +int CHalfLifeMultiplay::DeadPlayerWeapons_(CBasePlayer *pPlayer) +{ + return GR_PLR_DROP_GUN_ACTIVE; +} + +/* <112f97> ../cstrike/dlls/multiplay_gamerules.cpp:4091 */ +int CHalfLifeMultiplay::DeadPlayerAmmo_(CBasePlayer *pPlayer) +{ + return GR_PLR_DROP_AMMO_ACTIVE; +} + +/* <1131d6> ../cstrike/dlls/multiplay_gamerules.cpp:4096 */ +NOBODY edict_t *CHalfLifeMultiplay::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) +{ +// { +// edict_t *pentSpawnSpot; // 4098 +// } +} + +/* <116c24> ../cstrike/dlls/multiplay_gamerules.cpp:4110 */ +NOBODY int CHalfLifeMultiplay::PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget) +{ +// { +// class CBasePlayer *player; // 4118 +// class CBasePlayer *target; // 4119 +// } +} + +/* <112fcf> ../cstrike/dlls/multiplay_gamerules.cpp:4128 */ +BOOL CHalfLifeMultiplay::FAllowFlashlight_(void) +{ static cvar_t *mp_flashlight = NULL; if (!mp_flashlight) @@ -1409,53 +1410,53 @@ BOOL CHalfLifeMultiplay::FAllowFlashlight_(void) if (mp_flashlight) return mp_flashlight->value != 0; - return FALSE; -} - -/* <113012> ../cstrike/dlls/multiplay_gamerules.cpp:4145 */ -NOBODY BOOL CHalfLifeMultiplay::FAllowMonsters_(void) -{ -} - -/* <114155> ../cstrike/dlls/multiplay_gamerules.cpp:4156 */ -NOBODY void CHalfLifeMultiplay::GoToIntermission_(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 4161 -// int time; // 4200 -// } -// GoToIntermission(CHalfLifeMultiplay *const this); // 4156 -} - -NOBODY void CHalfLifeMultiplay::ServerDeactivate_(void) -{ - if (IsCareer()) - { - CVAR_SET_FLOAT("pausable", 0); - CVAR_SET_FLOAT("mp_windifference", 1.0); - UTIL_LogPrintf("Career End\n"); - } -} - -/* <115c98> ../cstrike/dlls/multiplay_gamerules.cpp:4241 */ -NOBODY void DestroyMapCycle(mapcycle_t *cycle) -{ -// { -// mapcycle_item_t *p; // 4243 -// mapcycle_item_t *n; // 4243 -// mapcycle_item_t *start; // 4243 -// } -} - -/* <115d30> ../cstrike/dlls/multiplay_gamerules.cpp:4271 */ -char *MP_COM_GetToken(void) -{ - return mp_com_token; -} - -/* <115d4d> ../cstrike/dlls/multiplay_gamerules.cpp:4283 */ -char *MP_COM_Parse(char *data) -{ + return FALSE; +} + +/* <113012> ../cstrike/dlls/multiplay_gamerules.cpp:4145 */ +NOBODY BOOL CHalfLifeMultiplay::FAllowMonsters_(void) +{ +} + +/* <114155> ../cstrike/dlls/multiplay_gamerules.cpp:4156 */ +NOBODY void CHalfLifeMultiplay::GoToIntermission_(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 4161 +// int time; // 4200 +// } +// GoToIntermission(CHalfLifeMultiplay *const this); // 4156 +} + +NOBODY void CHalfLifeMultiplay::ServerDeactivate_(void) +{ + if (IsCareer()) + { + CVAR_SET_FLOAT("pausable", 0); + CVAR_SET_FLOAT("mp_windifference", 1.0); + UTIL_LogPrintf("Career End\n"); + } +} + +/* <115c98> ../cstrike/dlls/multiplay_gamerules.cpp:4241 */ +NOBODY void DestroyMapCycle(mapcycle_t *cycle) +{ +// { +// mapcycle_item_t *p; // 4243 +// mapcycle_item_t *n; // 4243 +// mapcycle_item_t *start; // 4243 +// } +} + +/* <115d30> ../cstrike/dlls/multiplay_gamerules.cpp:4271 */ +char *MP_COM_GetToken(void) +{ + return mp_com_token; +} + +/* <115d4d> ../cstrike/dlls/multiplay_gamerules.cpp:4283 */ +char *MP_COM_Parse(char *data) +{ int c; int len; @@ -1530,12 +1531,12 @@ skipwhite: while (c > 32); mp_com_token[len] = '\0'; - return data; -} - -/* <115db1> ../cstrike/dlls/multiplay_gamerules.cpp:4360 */ -NOXREF int MP_COM_TokenWaiting(char *buffer) -{ + return data; +} + +/* <115db1> ../cstrike/dlls/multiplay_gamerules.cpp:4360 */ +NOXREF int MP_COM_TokenWaiting(char *buffer) +{ char *p; p = buffer; @@ -1547,455 +1548,455 @@ NOXREF int MP_COM_TokenWaiting(char *buffer) p++; } - return 0; -} - -/* <115e11> ../cstrike/dlls/multiplay_gamerules.cpp:4384 */ -NOBODY int ReloadMapCycleFile(char *filename, mapcycle_t *cycle) -{ -// { -// char szBuffer; // 4386 -// char szMap; // 4387 -// int length; // 4388 -// char *pFileList; // 4389 -// char *aFileList; // 4390 -// int hasbuffer; // 4391 -// class mapcycle_item_s *item; // 4392 -// class mapcycle_item_s *newlist; // 4392 -// class mapcycle_item_s *next; // 4392 -// MP_COM_TokenWaiting(char *buffer); // 4410 -// { -// char *s; // 4424 -// atoi(const char *__nptr); // 4440 -// atoi(const char *__nptr); // 4447 -// } -// } -} - -/* <115f76> ../cstrike/dlls/multiplay_gamerules.cpp:4510 */ -NOBODY int CountPlayers(void) -{ -// { -// int num; // 4512 -// { -// int i; // 4514 -// { -// class CBaseEntity *pEnt; // 4516 -// } -// } -// } -} - -/* <116002> ../cstrike/dlls/multiplay_gamerules.cpp:4535 */ -NOBODY void ExtractCommandString(char *s, char *szCommand) -{ -// { -// char pkey; // 4538 -// char value; // 4539 -// char *o; // 4541 -// } -} - -/* <116b52> ../cstrike/dlls/multiplay_gamerules.cpp:4582 */ -NOBODY void CHalfLifeMultiplay::ResetAllMapVotes(void) -{ -// { -// int j; // 4584 -// class CBaseEntity *pTempEntity; // 4585 -// class CBasePlayer *pTempPlayer; // 4586 -// } -} - -/* <11624e> ../cstrike/dlls/multiplay_gamerules.cpp:4608 */ -NOBODY int GetMapCount(void) -{ -// { -// mapcycle_t mapcycle2; // 4610 -// char *mapcfile; // 4611 -// class mapcycle_item_s *item; // 4612 -// int iCount; // 4613 -// int iDone; // 4613 -// DestroyMapCycle(mapcycle_t *cycle); // 4615 -// } -} - -/* <1187d2> ../cstrike/dlls/multiplay_gamerules.cpp:4629 */ -NOBODY void CHalfLifeMultiplay::DisplayMaps(CBasePlayer *player, int iVote) -{ -// { -// mapcycle_t mapcycle2; // 4631 -// char *mapcfile; // 4632 -// class mapcycle_item_s *item; // 4633 -// int iCount; // 4634 -// char *pszNewMap; // 4635 -// int done; // 4640 -// DestroyMapCycle(mapcycle_t *cycle); // 4637 -// ResetAllMapVotes(CHalfLifeMultiplay *const this); // 4691 -// } -} - -/* <11895b> ../cstrike/dlls/multiplay_gamerules.cpp:4702 */ -NOBODY void CHalfLifeMultiplay::ProcessMapVote(CBasePlayer *player, int iVote) -{ -// { -// class CBaseEntity *pTempEntity; // 4704 -// class CBasePlayer *pTempPlayer; // 4705 -// int iValidVotes; // 4706 -// int iRequiredVotes; // 4707 -// int iNumPlayers; // 4708 -// float ratio; // 4730 -// edict(CBaseEntity *const this); // 4712 -// FNullEnt(const edict_t *pent); // 4712 -// } -} - -/* <116089> ../cstrike/dlls/multiplay_gamerules.cpp:4773 */ -NOBODY void CHalfLifeMultiplay::ChangeLevel_(void) -{ -// { -// char szPreviousMapCycleFile; // 4775 -// mapcycle_t mapcycle; // 4776 -// char szNextMap; // 4778 -// char szFirstMapInList; // 4779 -// char szCommands; // 4780 -// char szRules; // 4781 -// int minplayers; // 4782 -// int maxplayers; // 4782 -// int curplayers; // 4785 -// BOOL do_cycle; // 4786 -// char *mapcfile; // 4789 -// CountPlayers(void); // 4795 -// { -// BOOL keeplooking; // 4813 -// BOOL found; // 4814 -// class mapcycle_item_s *item; // 4815 -// } -// DestroyMapCycle(mapcycle_t *cycle); // 4802 -// } -} - -/* <116317> ../cstrike/dlls/multiplay_gamerules.cpp:4903 */ -NOBODY void CHalfLifeMultiplay::SendMOTDToClient(edict_t *client) -{ -// { -// int length; // 4906 -// int char_count; // 4906 -// char *pFileList; // 4907 -// char *aFileList; // 4908 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 4911 -// { -// char chunk; // 4920 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 4938 -// } -// } -} - -NOBODY void CHalfLifeMultiplay::ClientUserInfoChanged_(CBasePlayer *pPlayer, char *infobuffer) -{ - -} - -#ifdef HOOK_GAMEDLL - + return 0; +} + +/* <115e11> ../cstrike/dlls/multiplay_gamerules.cpp:4384 */ +NOBODY int ReloadMapCycleFile(char *filename, mapcycle_t *cycle) +{ +// { +// char szBuffer; // 4386 +// char szMap; // 4387 +// int length; // 4388 +// char *pFileList; // 4389 +// char *aFileList; // 4390 +// int hasbuffer; // 4391 +// class mapcycle_item_s *item; // 4392 +// class mapcycle_item_s *newlist; // 4392 +// class mapcycle_item_s *next; // 4392 +// MP_COM_TokenWaiting(char *buffer); // 4410 +// { +// char *s; // 4424 +// atoi(const char *__nptr); // 4440 +// atoi(const char *__nptr); // 4447 +// } +// } +} + +/* <115f76> ../cstrike/dlls/multiplay_gamerules.cpp:4510 */ +NOBODY int CountPlayers(void) +{ +// { +// int num; // 4512 +// { +// int i; // 4514 +// { +// class CBaseEntity *pEnt; // 4516 +// } +// } +// } +} + +/* <116002> ../cstrike/dlls/multiplay_gamerules.cpp:4535 */ +NOBODY void ExtractCommandString(char *s, char *szCommand) +{ +// { +// char pkey; // 4538 +// char value; // 4539 +// char *o; // 4541 +// } +} + +/* <116b52> ../cstrike/dlls/multiplay_gamerules.cpp:4582 */ +NOBODY void CHalfLifeMultiplay::ResetAllMapVotes(void) +{ +// { +// int j; // 4584 +// class CBaseEntity *pTempEntity; // 4585 +// class CBasePlayer *pTempPlayer; // 4586 +// } +} + +/* <11624e> ../cstrike/dlls/multiplay_gamerules.cpp:4608 */ +NOBODY int GetMapCount(void) +{ +// { +// mapcycle_t mapcycle2; // 4610 +// char *mapcfile; // 4611 +// class mapcycle_item_s *item; // 4612 +// int iCount; // 4613 +// int iDone; // 4613 +// DestroyMapCycle(mapcycle_t *cycle); // 4615 +// } +} + +/* <1187d2> ../cstrike/dlls/multiplay_gamerules.cpp:4629 */ +NOBODY void CHalfLifeMultiplay::DisplayMaps(CBasePlayer *player, int iVote) +{ +// { +// mapcycle_t mapcycle2; // 4631 +// char *mapcfile; // 4632 +// class mapcycle_item_s *item; // 4633 +// int iCount; // 4634 +// char *pszNewMap; // 4635 +// int done; // 4640 +// DestroyMapCycle(mapcycle_t *cycle); // 4637 +// ResetAllMapVotes(CHalfLifeMultiplay *const this); // 4691 +// } +} + +/* <11895b> ../cstrike/dlls/multiplay_gamerules.cpp:4702 */ +NOBODY void CHalfLifeMultiplay::ProcessMapVote(CBasePlayer *player, int iVote) +{ +// { +// class CBaseEntity *pTempEntity; // 4704 +// class CBasePlayer *pTempPlayer; // 4705 +// int iValidVotes; // 4706 +// int iRequiredVotes; // 4707 +// int iNumPlayers; // 4708 +// float ratio; // 4730 +// edict(CBaseEntity *const this); // 4712 +// FNullEnt(const edict_t *pent); // 4712 +// } +} + +/* <116089> ../cstrike/dlls/multiplay_gamerules.cpp:4773 */ +NOBODY void CHalfLifeMultiplay::ChangeLevel_(void) +{ +// { +// char szPreviousMapCycleFile; // 4775 +// mapcycle_t mapcycle; // 4776 +// char szNextMap; // 4778 +// char szFirstMapInList; // 4779 +// char szCommands; // 4780 +// char szRules; // 4781 +// int minplayers; // 4782 +// int maxplayers; // 4782 +// int curplayers; // 4785 +// BOOL do_cycle; // 4786 +// char *mapcfile; // 4789 +// CountPlayers(void); // 4795 +// { +// BOOL keeplooking; // 4813 +// BOOL found; // 4814 +// class mapcycle_item_s *item; // 4815 +// } +// DestroyMapCycle(mapcycle_t *cycle); // 4802 +// } +} + +/* <116317> ../cstrike/dlls/multiplay_gamerules.cpp:4903 */ +NOBODY void CHalfLifeMultiplay::SendMOTDToClient(edict_t *client) +{ +// { +// int length; // 4906 +// int char_count; // 4906 +// char *pFileList; // 4907 +// char *aFileList; // 4908 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 4911 +// { +// char chunk; // 4920 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 4938 +// } +// } +} + +NOBODY void CHalfLifeMultiplay::ClientUserInfoChanged_(CBasePlayer *pPlayer, char *infobuffer) +{ + +} + +#ifdef HOOK_GAMEDLL + void CMapInfo::Spawn(void) { Spawn_(); } -void CMapInfo::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -void CHalfLifeMultiplay::RefreshSkillData(void) -{ - RefreshSkillData_(); -} - -void CHalfLifeMultiplay::Think(void) -{ - Think_(); -} - -BOOL CHalfLifeMultiplay::IsAllowedToSpawn(CBaseEntity *pEntity) -{ - return IsAllowedToSpawn_(pEntity); -} - -BOOL CHalfLifeMultiplay::FAllowFlashlight(void) -{ - return FAllowFlashlight_(); -} - -BOOL CHalfLifeMultiplay::FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ - return FShouldSwitchWeapon_(pPlayer, pWeapon); -} - -BOOL CHalfLifeMultiplay::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) -{ - return GetNextBestWeapon_(pPlayer, pCurrentWeapon); -} - -BOOL CHalfLifeMultiplay::IsMultiplayer(void) -{ - return IsMultiplayer_(); -} - -BOOL CHalfLifeMultiplay::IsDeathmatch(void) -{ - return IsDeathmatch_(); -} - -BOOL CHalfLifeMultiplay::IsCoOp(void) -{ - return IsCoOp_(); -} - -BOOL CHalfLifeMultiplay::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]) -{ - return ClientConnected_(pEntity, pszName, pszAddress, szRejectReason); -} - -void CHalfLifeMultiplay::InitHUD(CBasePlayer *pl) -{ - InitHUD_(pl); -} - -void CHalfLifeMultiplay::ClientDisconnected(edict_t *pClient) -{ - ClientDisconnected_(pClient); -} - -void CHalfLifeMultiplay::UpdateGameMode(CBasePlayer *pPlayer) -{ - UpdateGameMode_(pPlayer); -} - -float CHalfLifeMultiplay::FlPlayerFallDamage(CBasePlayer *pPlayer) -{ - return FlPlayerFallDamage_(pPlayer); -} - -BOOL CHalfLifeMultiplay::FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) -{ - return FPlayerCanTakeDamage_(pPlayer, pAttacker); -} - -void CHalfLifeMultiplay::PlayerSpawn(CBasePlayer *pPlayer) -{ - PlayerSpawn_(pPlayer); -} - -void CHalfLifeMultiplay::PlayerThink(CBasePlayer *pPlayer) -{ - PlayerThink_(pPlayer); -} - -BOOL CHalfLifeMultiplay::FPlayerCanRespawn(CBasePlayer *pPlayer) -{ - return FPlayerCanRespawn_(pPlayer); -} - -float CHalfLifeMultiplay::FlPlayerSpawnTime(CBasePlayer *pPlayer) -{ - return FlPlayerSpawnTime_(pPlayer); -} - -edict_t *CHalfLifeMultiplay::GetPlayerSpawnSpot(CBasePlayer *pPlayer) -{ - return GetPlayerSpawnSpot_(pPlayer); -} - -BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair(void) -{ - return AllowAutoTargetCrosshair_(); -} - -BOOL CHalfLifeMultiplay::ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd) -{ - return ClientCommand_DeadOrAlive_(pPlayer, pcmd); -} - -BOOL CHalfLifeMultiplay::ClientCommand(CBasePlayer *pPlayer, const char *pcmd) -{ - return ClientCommand_(pPlayer, pcmd); -} - -void CHalfLifeMultiplay::ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) -{ - ClientUserInfoChanged_(pPlayer, infobuffer); -} - -int CHalfLifeMultiplay::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) -{ - return IPointsForKill_(pAttacker, pKilled); -} - -void CHalfLifeMultiplay::PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) -{ - PlayerKilled_(pVictim, pKiller, pInflictor); -} - -void CHalfLifeMultiplay::DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) -{ - DeathNotice_(pVictim, pKiller, pInflictor); -} - -BOOL CHalfLifeMultiplay::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ - return CanHavePlayerItem_(pPlayer, pWeapon); -} - -void CHalfLifeMultiplay::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) -{ - PlayerGotWeapon_(pPlayer, pWeapon); -} - -int CHalfLifeMultiplay::WeaponShouldRespawn(CBasePlayerItem *pWeapon) -{ - return WeaponShouldRespawn_(pWeapon); -} - -float CHalfLifeMultiplay::FlWeaponRespawnTime(CBasePlayerItem *pWeapon) -{ - return FlWeaponRespawnTime_(pWeapon); -} - -float CHalfLifeMultiplay::FlWeaponTryRespawn(CBasePlayerItem *pWeapon) -{ - return FlWeaponTryRespawn_(pWeapon); -} - -Vector CHalfLifeMultiplay::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon) -{ - return VecWeaponRespawnSpot_(pWeapon); -} - -BOOL CHalfLifeMultiplay::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem) -{ - return CanHaveItem_(pPlayer, pItem); -} - -void CHalfLifeMultiplay::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem) -{ - PlayerGotItem_(pPlayer, pItem); -} - -int CHalfLifeMultiplay::ItemShouldRespawn(CItem *pItem) -{ - return ItemShouldRespawn_(pItem); -} - -float CHalfLifeMultiplay::FlItemRespawnTime(CItem *pItem) -{ - return FlItemRespawnTime_(pItem); -} - -Vector CHalfLifeMultiplay::VecItemRespawnSpot(CItem *pItem) -{ - return VecItemRespawnSpot_(pItem); -} - -void CHalfLifeMultiplay::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount) -{ - PlayerGotAmmo_(pPlayer, szName, iCount); -} - -int CHalfLifeMultiplay::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) -{ - return AmmoShouldRespawn_(pAmmo); -} - -float CHalfLifeMultiplay::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) -{ - return FlAmmoRespawnTime_(pAmmo); -} - -Vector CHalfLifeMultiplay::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) -{ - return VecAmmoRespawnSpot_(pAmmo); -} - -float CHalfLifeMultiplay::FlHealthChargerRechargeTime(void) -{ - return FlHealthChargerRechargeTime_(); -} - -float CHalfLifeMultiplay::FlHEVChargerRechargeTime(void) -{ - return FlHEVChargerRechargeTime_(); -} - -int CHalfLifeMultiplay::DeadPlayerWeapons(CBasePlayer *pPlayer) -{ - return DeadPlayerWeapons_(pPlayer); -} - -int CHalfLifeMultiplay::DeadPlayerAmmo(CBasePlayer *pPlayer) -{ - return DeadPlayerAmmo_(pPlayer); -} - -int CHalfLifeMultiplay::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) -{ - return PlayerRelationship_(pPlayer, pTarget); -} - -BOOL CHalfLifeMultiplay::FAllowMonsters(void) -{ - return FAllowMonsters_(); -} - -void CHalfLifeMultiplay::ServerDeactivate(void) -{ - ServerDeactivate_(); -} - -void CHalfLifeMultiplay::CheckMapConditions(void) -{ - CheckMapConditions_(); -} - -void CHalfLifeMultiplay::CleanUpMap(void) -{ - CleanUpMap_(); -} - -void CHalfLifeMultiplay::RestartRound(void) -{ - RestartRound_(); -} - -void CHalfLifeMultiplay::CheckWinConditions(void) -{ - CheckWinConditions_(); -} - -void CHalfLifeMultiplay::RemoveGuns(void) -{ - RemoveGuns_(); -} - -void CHalfLifeMultiplay::GiveC4(void) -{ - GiveC4_(); -} - -void CHalfLifeMultiplay::ChangeLevel(void) -{ - ChangeLevel_(); -} - -void CHalfLifeMultiplay::GoToIntermission(void) -{ - GoToIntermission_(); -} - -#endif // HOOK_GAMEDLL +void CMapInfo::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +void CHalfLifeMultiplay::RefreshSkillData(void) +{ + RefreshSkillData_(); +} + +void CHalfLifeMultiplay::Think(void) +{ + Think_(); +} + +BOOL CHalfLifeMultiplay::IsAllowedToSpawn(CBaseEntity *pEntity) +{ + return IsAllowedToSpawn_(pEntity); +} + +BOOL CHalfLifeMultiplay::FAllowFlashlight(void) +{ + return FAllowFlashlight_(); +} + +BOOL CHalfLifeMultiplay::FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ + return FShouldSwitchWeapon_(pPlayer, pWeapon); +} + +BOOL CHalfLifeMultiplay::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) +{ + return GetNextBestWeapon_(pPlayer, pCurrentWeapon); +} + +BOOL CHalfLifeMultiplay::IsMultiplayer(void) +{ + return IsMultiplayer_(); +} + +BOOL CHalfLifeMultiplay::IsDeathmatch(void) +{ + return IsDeathmatch_(); +} + +BOOL CHalfLifeMultiplay::IsCoOp(void) +{ + return IsCoOp_(); +} + +BOOL CHalfLifeMultiplay::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]) +{ + return ClientConnected_(pEntity, pszName, pszAddress, szRejectReason); +} + +void CHalfLifeMultiplay::InitHUD(CBasePlayer *pl) +{ + InitHUD_(pl); +} + +void CHalfLifeMultiplay::ClientDisconnected(edict_t *pClient) +{ + ClientDisconnected_(pClient); +} + +void CHalfLifeMultiplay::UpdateGameMode(CBasePlayer *pPlayer) +{ + UpdateGameMode_(pPlayer); +} + +float CHalfLifeMultiplay::FlPlayerFallDamage(CBasePlayer *pPlayer) +{ + return FlPlayerFallDamage_(pPlayer); +} + +BOOL CHalfLifeMultiplay::FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) +{ + return FPlayerCanTakeDamage_(pPlayer, pAttacker); +} + +void CHalfLifeMultiplay::PlayerSpawn(CBasePlayer *pPlayer) +{ + PlayerSpawn_(pPlayer); +} + +void CHalfLifeMultiplay::PlayerThink(CBasePlayer *pPlayer) +{ + PlayerThink_(pPlayer); +} + +BOOL CHalfLifeMultiplay::FPlayerCanRespawn(CBasePlayer *pPlayer) +{ + return FPlayerCanRespawn_(pPlayer); +} + +float CHalfLifeMultiplay::FlPlayerSpawnTime(CBasePlayer *pPlayer) +{ + return FlPlayerSpawnTime_(pPlayer); +} + +edict_t *CHalfLifeMultiplay::GetPlayerSpawnSpot(CBasePlayer *pPlayer) +{ + return GetPlayerSpawnSpot_(pPlayer); +} + +BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair(void) +{ + return AllowAutoTargetCrosshair_(); +} + +BOOL CHalfLifeMultiplay::ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd) +{ + return ClientCommand_DeadOrAlive_(pPlayer, pcmd); +} + +BOOL CHalfLifeMultiplay::ClientCommand(CBasePlayer *pPlayer, const char *pcmd) +{ + return ClientCommand_(pPlayer, pcmd); +} + +void CHalfLifeMultiplay::ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) +{ + ClientUserInfoChanged_(pPlayer, infobuffer); +} + +int CHalfLifeMultiplay::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) +{ + return IPointsForKill_(pAttacker, pKilled); +} + +void CHalfLifeMultiplay::PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) +{ + PlayerKilled_(pVictim, pKiller, pInflictor); +} + +void CHalfLifeMultiplay::DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) +{ + DeathNotice_(pVictim, pKiller, pInflictor); +} + +BOOL CHalfLifeMultiplay::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ + return CanHavePlayerItem_(pPlayer, pWeapon); +} + +void CHalfLifeMultiplay::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) +{ + PlayerGotWeapon_(pPlayer, pWeapon); +} + +int CHalfLifeMultiplay::WeaponShouldRespawn(CBasePlayerItem *pWeapon) +{ + return WeaponShouldRespawn_(pWeapon); +} + +float CHalfLifeMultiplay::FlWeaponRespawnTime(CBasePlayerItem *pWeapon) +{ + return FlWeaponRespawnTime_(pWeapon); +} + +float CHalfLifeMultiplay::FlWeaponTryRespawn(CBasePlayerItem *pWeapon) +{ + return FlWeaponTryRespawn_(pWeapon); +} + +Vector CHalfLifeMultiplay::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon) +{ + return VecWeaponRespawnSpot_(pWeapon); +} + +BOOL CHalfLifeMultiplay::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem) +{ + return CanHaveItem_(pPlayer, pItem); +} + +void CHalfLifeMultiplay::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem) +{ + PlayerGotItem_(pPlayer, pItem); +} + +int CHalfLifeMultiplay::ItemShouldRespawn(CItem *pItem) +{ + return ItemShouldRespawn_(pItem); +} + +float CHalfLifeMultiplay::FlItemRespawnTime(CItem *pItem) +{ + return FlItemRespawnTime_(pItem); +} + +Vector CHalfLifeMultiplay::VecItemRespawnSpot(CItem *pItem) +{ + return VecItemRespawnSpot_(pItem); +} + +void CHalfLifeMultiplay::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount) +{ + PlayerGotAmmo_(pPlayer, szName, iCount); +} + +int CHalfLifeMultiplay::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) +{ + return AmmoShouldRespawn_(pAmmo); +} + +float CHalfLifeMultiplay::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) +{ + return FlAmmoRespawnTime_(pAmmo); +} + +Vector CHalfLifeMultiplay::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) +{ + return VecAmmoRespawnSpot_(pAmmo); +} + +float CHalfLifeMultiplay::FlHealthChargerRechargeTime(void) +{ + return FlHealthChargerRechargeTime_(); +} + +float CHalfLifeMultiplay::FlHEVChargerRechargeTime(void) +{ + return FlHEVChargerRechargeTime_(); +} + +int CHalfLifeMultiplay::DeadPlayerWeapons(CBasePlayer *pPlayer) +{ + return DeadPlayerWeapons_(pPlayer); +} + +int CHalfLifeMultiplay::DeadPlayerAmmo(CBasePlayer *pPlayer) +{ + return DeadPlayerAmmo_(pPlayer); +} + +int CHalfLifeMultiplay::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) +{ + return PlayerRelationship_(pPlayer, pTarget); +} + +BOOL CHalfLifeMultiplay::FAllowMonsters(void) +{ + return FAllowMonsters_(); +} + +void CHalfLifeMultiplay::ServerDeactivate(void) +{ + ServerDeactivate_(); +} + +void CHalfLifeMultiplay::CheckMapConditions(void) +{ + CheckMapConditions_(); +} + +void CHalfLifeMultiplay::CleanUpMap(void) +{ + CleanUpMap_(); +} + +void CHalfLifeMultiplay::RestartRound(void) +{ + RestartRound_(); +} + +void CHalfLifeMultiplay::CheckWinConditions(void) +{ + CheckWinConditions_(); +} + +void CHalfLifeMultiplay::RemoveGuns(void) +{ + RemoveGuns_(); +} + +void CHalfLifeMultiplay::GiveC4(void) +{ + GiveC4_(); +} + +void CHalfLifeMultiplay::ChangeLevel(void) +{ + ChangeLevel_(); +} + +void CHalfLifeMultiplay::GoToIntermission(void) +{ + GoToIntermission_(); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/nodes.h b/regamedll/dlls/nodes.h index 4b846245..f2003b76 100644 --- a/regamedll/dlls/nodes.h +++ b/regamedll/dlls/nodes.h @@ -32,9 +32,9 @@ #pragma once #endif -#define bits_NODE_LAND ( 1 << 0 ) // Land node, so nudge if necessary. -#define bits_NODE_AIR ( 1 << 1 ) // Air node, don't nudge. -#define bits_NODE_WATER ( 1 << 2 ) // Water node, don't nudge. +#define bits_NODE_LAND (1 << 0) // Land node, so nudge if necessary. +#define bits_NODE_AIR (1 << 1) // Air node, don't nudge. +#define bits_NODE_WATER (1 << 2) // Water node, don't nudge. #define bits_NODE_GROUP_REALM (bits_NODE_LAND | bits_NODE_AIR | bits_NODE_WATER) class CBaseEntity; diff --git a/regamedll/dlls/observer.cpp b/regamedll/dlls/observer.cpp index 6860f953..372ffbdb 100644 --- a/regamedll/dlls/observer.cpp +++ b/regamedll/dlls/observer.cpp @@ -237,14 +237,14 @@ void CBasePlayer::Observer_HandleButtons(void) // Attack moves to the next player if (m_afButtonPressed & IN_ATTACK) { - Observer_FindNextPlayer( false ); + Observer_FindNextPlayer(false); m_flNextObserverInput = gpGlobals->time + 0.2f; } // Attack2 moves to the prev player if (m_afButtonPressed & IN_ATTACK2) { - Observer_FindNextPlayer( true ); + Observer_FindNextPlayer(true); m_flNextObserverInput = gpGlobals->time + 0.2f; } } @@ -475,7 +475,7 @@ void CBasePlayer::Observer_SetMode(int iMode) // if we are not roaming, we need a valid target to track if (iMode != OBS_ROAMING && m_hObserverTarget == NULL) { - Observer_FindNextPlayer(false); // TODO: Reverse me + Observer_FindNextPlayer(false); // if we didn't find a valid target switch to roaming if (m_hObserverTarget == NULL) @@ -501,7 +501,7 @@ void CBasePlayer::Observer_SetMode(int iMode) WRITE_BYTE((iMode == OBS_ROAMING) != 0); MESSAGE_END(); - UpdateClientEffects(this, oldMode); // TODO: Reverse me + UpdateClientEffects(this, oldMode); // print spepctaor mode on client screen diff --git a/regamedll/dlls/plane.cpp b/regamedll/dlls/plane.cpp index 048a057f..85c77c18 100644 --- a/regamedll/dlls/plane.cpp +++ b/regamedll/dlls/plane.cpp @@ -1,22 +1,22 @@ -#include "precompiled.h" - -/* <1262b3> ../cstrike/dlls/plane.cpp:24 */ -NOBODY CPlane::CPlane(void) -{ - m_fInitialized = FALSE; -} - -/* <1262d4> ../cstrike/dlls/plane.cpp:33 */ -NOBODY void CPlane::InitializePlane(const Vector &vecNormal, const Vector &vecPoint) -{ +#include "precompiled.h" + +/* <1262b3> ../cstrike/dlls/plane.cpp:24 */ +NOBODY CPlane::CPlane(void) +{ + m_fInitialized = FALSE; +} + +/* <1262d4> ../cstrike/dlls/plane.cpp:33 */ +NOBODY void CPlane::InitializePlane(const Vector &vecNormal, const Vector &vecPoint) +{ m_vecNormal = vecNormal; m_flDist = DotProduct(m_vecNormal, vecPoint); - m_fInitialized = TRUE; -} - -/* <126343> ../cstrike/dlls/plane.cpp:45 */ -NOBODY BOOL CPlane::PointInFront(const Vector &vecPoint) -{ + m_fInitialized = TRUE; +} + +/* <126343> ../cstrike/dlls/plane.cpp:45 */ +NOBODY BOOL CPlane::PointInFront(const Vector &vecPoint) +{ if (!m_fInitialized) return FALSE; @@ -25,5 +25,5 @@ NOBODY BOOL CPlane::PointInFront(const Vector &vecPoint) if (flFace >= 0.0f) return TRUE; - return FALSE; -} + return FALSE; +} diff --git a/regamedll/dlls/plats.cpp b/regamedll/dlls/plats.cpp index f4620ca6..2ba4aa8b 100644 --- a/regamedll/dlls/plats.cpp +++ b/regamedll/dlls/plats.cpp @@ -1,30 +1,30 @@ -#include "precompiled.h" - +#include "precompiled.h" + /* * Globals initialization */ #ifndef HOOK_GAMEDLL - + TYPEDESCRIPTION CBasePlatTrain::m_SaveData[] = { DEFINE_FIELD(CBasePlatTrain, m_bMoveSnd, FIELD_CHARACTER), DEFINE_FIELD(CBasePlatTrain, m_bStopSnd, FIELD_CHARACTER), DEFINE_FIELD(CBasePlatTrain, m_volume, FIELD_FLOAT), -}; +}; TYPEDESCRIPTION CFuncPlatRot::m_SaveData[] = { DEFINE_FIELD(CFuncPlatRot, m_end, FIELD_VECTOR), DEFINE_FIELD(CFuncPlatRot, m_start, FIELD_VECTOR), -}; - +}; + TYPEDESCRIPTION CFuncTrain::m_SaveData[] = { DEFINE_FIELD(CFuncTrain, m_sounds, FIELD_INTEGER), DEFINE_FIELD(CFuncTrain, m_pevCurrentTarget, FIELD_EVARS), DEFINE_FIELD(CFuncTrain, m_activated, FIELD_BOOLEAN), -}; - +}; + TYPEDESCRIPTION CFuncTrackTrain::m_SaveData[] = { DEFINE_FIELD(CFuncTrackTrain, m_ppath, FIELD_CLASSPTR), @@ -39,8 +39,8 @@ TYPEDESCRIPTION CFuncTrackTrain::m_SaveData[] = DEFINE_FIELD(CFuncTrackTrain, m_flVolume, FIELD_FLOAT), DEFINE_FIELD(CFuncTrackTrain, m_flBank, FIELD_FLOAT), DEFINE_FIELD(CFuncTrackTrain, m_oldSpeed, FIELD_FLOAT), -}; - +}; + TYPEDESCRIPTION CFuncTrackChange::m_SaveData[] = { DEFINE_GLOBAL_FIELD(CFuncTrackChange, m_trackTop, FIELD_CLASSPTR), @@ -52,944 +52,944 @@ TYPEDESCRIPTION CFuncTrackChange::m_SaveData[] = DEFINE_FIELD(CFuncTrackChange, m_code, FIELD_INTEGER), DEFINE_FIELD(CFuncTrackChange, m_targetState, FIELD_INTEGER), DEFINE_FIELD(CFuncTrackChange, m_use, FIELD_INTEGER), -}; - +}; + TYPEDESCRIPTION CGunTarget::m_SaveData[] = { DEFINE_FIELD(CGunTarget, m_on, FIELD_BOOLEAN), -}; - -#else - -TYPEDESCRIPTION (*CBasePlatTrain::pm_SaveData)[3]; -TYPEDESCRIPTION (*CFuncPlatRot::pm_SaveData)[2]; -TYPEDESCRIPTION (*CFuncTrain::pm_SaveData)[3]; -TYPEDESCRIPTION (*CFuncTrackTrain::pm_SaveData)[12]; -TYPEDESCRIPTION (*CFuncTrackChange::pm_SaveData)[9]; -TYPEDESCRIPTION (*CGunTarget::pm_SaveData)[1]; - -#endif // HOOK_GAMEDLL - -/* <12e11a> ../cstrike/dlls/plats.cpp:59 */ -IMPLEMENT_SAVERESTORE(CBasePlatTrain, CBaseToggle); - -/* <12ea9b> ../cstrike/dlls/plats.cpp:61 */ -NOBODY void CBasePlatTrain::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 73 -// FStrEq(const char *sz1, -// const char *sz2); // 78 -// FStrEq(const char *sz1, -// const char *sz2); // 83 -// FStrEq(const char *sz1, -// const char *sz2); // 88 -// FStrEq(const char *sz1, -// const char *sz2); // 93 -// atof(const char *__nptr); // 75 -// atof(const char *__nptr); // 85 -// atof(const char *__nptr); // 80 -// atof(const char *__nptr); // 95 -// atof(const char *__nptr); // 90 -} - -#define noiseMoving noise -#define noiseArrived noise1 - -/* <12d675> ../cstrike/dlls/plats.cpp:105 */ -NOBODY void CBasePlatTrain::Precache_(void) -{ -} - -/* <12d69c> ../cstrike/dlls/plats.cpp:235 */ -NOBODY void CFuncPlat::CallGoDown(void) -{ - GoDown(); -} - -/* <12d6c2> ../cstrike/dlls/plats.cpp:236 */ -NOBODY void CFuncPlat::CallHitTop(void) -{ - HitTop(); -} - -/* <12d6e8> ../cstrike/dlls/plats.cpp:237 */ -NOBODY void CFuncPlat::CallHitBottom(void) -{ - HitBottom(); -} - -/* <130666> ../cstrike/dlls/plats.cpp:244 */ -LINK_ENTITY_TO_CLASS(func_plat, CFuncPlat); - -#define noiseMovement noise -#define noiseStopMoving noise1 - -/* <130730> ../cstrike/dlls/plats.cpp:275 */ -NOBODY void CFuncPlat::Setup(void) -{ -} - -/* <13088e> ../cstrike/dlls/plats.cpp:309 */ -NOBODY void CFuncPlat::Precache_(void) -{ -// PlatSpawnInsideTrigger(entvars_t *pevPlatform); // 315 -} - -/* <130757> ../cstrike/dlls/plats.cpp:319 */ -NOBODY void CFuncPlat::Spawn_(void) -{ -// Spawn(CFuncPlat *const this); // 319 -} - -/* <12c8bb> ../cstrike/dlls/plats.cpp:342 */ -NOBODY void PlatSpawnInsideTrigger(entvars_t *pevPlatform) -{ -} - -/* <130792> ../cstrike/dlls/plats.cpp:351 */ -NOBODY void CPlatTrigger::SpawnInsideTrigger(CFuncPlat *pPlatform) -{ -// { -// Vector vecTMin; // 360 -// Vector vecTMax; // 361 -// operator+(const Vector *const this, -// const Vector &v); // 360 -// operator+(const Vector *const this, -// const Vector &v); // 361 -// } -} - -/* <12e7e7> ../cstrike/dlls/plats.cpp:380 */ -NOBODY void CPlatTrigger::Touch_(CBaseEntity *pOther) -{ -// { -// entvars_t *pevToucher; // 383 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 384 -// } -// Touch(CPlatTrigger *const this, -// class CBaseEntity *pOther); // 380 -} - -/* <12df02> ../cstrike/dlls/plats.cpp:403 */ -NOBODY void CFuncPlat::PlatUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// BOOL on; // 408 -// } -// PlatUse(CFuncPlat *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 403 -} - -/* <12e49b> ../cstrike/dlls/plats.cpp:431 */ -NOBODY void CFuncPlat::GoDown_(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 434 -// Vector(Vector *const this, -// const Vector &v); // 439 -} - -/* <12f381> ../cstrike/dlls/plats.cpp:446 */ -NOBODY void CFuncPlat::HitBottom_(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 452 -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 449 -} - -/* <12e52d> ../cstrike/dlls/plats.cpp:462 */ -NOBODY void CFuncPlat::GoUp_(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 465 -// Vector(Vector *const this, -// const Vector &v); // 470 -} - -/* <12f452> ../cstrike/dlls/plats.cpp:477 */ -NOBODY void CFuncPlat::HitTop_(void) -{ -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 480 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 483 -} - -/* <12f524> ../cstrike/dlls/plats.cpp:497 */ -NOBODY void CFuncPlat::Blocked_(CBaseEntity *pOther) -{ -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 504 -} - -/* <130a7b> ../cstrike/dlls/plats.cpp:533 */ -LINK_ENTITY_TO_CLASS(func_platrot, CFuncPlatRot); - -/* <12f1ce> ../cstrike/dlls/plats.cpp:540 */ -IMPLEMENT_SAVERESTORE(CFuncPlatRot, CFuncPlat); - -/* <130b48> ../cstrike/dlls/plats.cpp:543 */ -NOBODY void CFuncPlatRot::SetupRotation(void) -{ -// operator*(const Vector ::SetupRotation(// float fl); // 549 -// operator+(const Vector *const this, -// const Vector &v); // 549 -} - -/* <130bc4> ../cstrike/dlls/plats.cpp:563 */ -NOBODY void CFuncPlatRot::Spawn_(void) -{ -// Spawn(CFuncPlat *const this); // 565 -} - -/* <12fe63> ../cstrike/dlls/plats.cpp:569 */ -NOBODY void CFuncPlatRot::GoDown_(void) -{ -// RotMove(CFuncPlatRot::GoDown(// Vector &destAngle, -// float time); // 572 -} - -/* <12f430> ../cstrike/dlls/plats.cpp:579 */ -NOBODY void CFuncPlatRot::HitBottom_(void) -{ -} - -/* <12fdad> ../cstrike/dlls/plats.cpp:590 */ -NOBODY void CFuncPlatRot::GoUp_(void) -{ -// RotMove(CFuncPlatRot::GoUp(// Vector &destAngle, -// float time); // 593 -} - -/* <12f502> ../cstrike/dlls/plats.cpp:600 */ -NOBODY void CFuncPlatRot::HitTop_(void) -{ -} - -/* <130c54> ../cstrike/dlls/plats.cpp:608 */ -NOBODY void CFuncPlatRot::RotMove(Vector &destAngle, float time) -{ -// { -// Vector vecDestDelta; // 611 -// operator-(const Vector *const this, -// const Vector &v); // 611 -// operator/(const Vector *const this, -// float fl); // 615 -// } -} - -/* <130ce8> ../cstrike/dlls/plats.cpp:657 */ -LINK_ENTITY_TO_CLASS(func_train, CFuncTrain); - -/* <12f13d> ../cstrike/dlls/plats.cpp:665 */ -IMPLEMENT_SAVERESTORE(CFuncTrain, CBasePlatTrain); - -/* <130390> ../cstrike/dlls/plats.cpp:668 */ -NOBODY void CFuncTrain::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 670 -// KeyValue(CBasePlatTrain *const this, -// KeyValueData *pkvd); // 676 -// KeyValue(CFuncTrain *const this, -// KeyValueData *pkvd); // 668 -} - -/* <12de63> ../cstrike/dlls/plats.cpp:679 */ -NOBODY void CFuncTrain::Blocked_(CBaseEntity *pOther) -{ -// Blocked(CFuncTrain *const this, -// class CBaseEntity *pOther); // 679 -} - - -/* <12fa23> ../cstrike/dlls/plats.cpp:691 */ -NOBODY void CFuncTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 708 -} - -/* <12f914> ../cstrike/dlls/plats.cpp:713 */ -NOBODY void CFuncTrain::Wait(void) -{ -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 734 -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 732 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 747 -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 745 -} - -/* <12f6a8> ../cstrike/dlls/plats.cpp:760 */ -NOBODY void CFuncTrain::Next(void) -{ -// { -// class CBaseEntity *pTarg; // 762 -// edict(CBaseEntity *const this); // 791 -// operator+(const Vector *const this, -// const Vector &v); // 813 -// operator*(const Vector *const this, -// float fl); // 813 -// operator-(const Vector *const this, -// const Vector &v); // 813 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 774 -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 808 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 810 -// operator+(const Vector *const this, -// const Vector &v); // 797 -// operator*(const Vector *const this, -// float fl); // 797 -// operator-(const Vector *const this, -// const Vector &v); // 797 -// STOP_SOUND(edict_t *entity, -// int channel, -// const char *sample); // 771 -// } -} - -/* <12e1fd> ../cstrike/dlls/plats.cpp:818 */ -NOBODY void CFuncTrain::Activate_(void) -{ -// { -// entvars_t *pevTarg; // 824 -// } -// Activate(CFuncTrain *const this); // 818 -} - -/* <12dcad> ../cstrike/dlls/plats.cpp:852 */ -NOBODY void CFuncTrain::Spawn_(void) -{ -} - -/* <12dab7> ../cstrike/dlls/plats.cpp:886 */ -NOBODY void CFuncTrain::Restart_(void) -{ -} - -/* <12d734> ../cstrike/dlls/plats.cpp:907 */ -NOBODY void CFuncTrain::Precache_(void) -{ -} - -/* <12e166> ../cstrike/dlls/plats.cpp:913 */ -NOBODY void CFuncTrain::OverrideReset_(void) -{ -// { -// class CBaseEntity *pTarg; // 915 -// operator!=(const Vector *const this, -// const Vector &v); // 918 -// } -// OverrideReset(CFuncTrain *const this); // 913 -} - -/* <12e0cd> ../cstrike/dlls/plats.cpp:961 */ -IMPLEMENT_SAVERESTORE(CFuncTrackTrain, CBaseEntity); - -/* <130db5> ../cstrike/dlls/plats.cpp:962 */ -LINK_ENTITY_TO_CLASS(func_tracktrain, CFuncTrackTrain); - -/* <12e88e> ../cstrike/dlls/plats.cpp:964 */ -NOBODY void CFuncTrackTrain::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 966 -// FStrEq(const char *sz1, -// const char *sz2); // 971 -// KeyValue(CFuncTrackTrain *const this, -// KeyValueData *pkvd); // 964 -// atof(const char *__nptr); // 968 -// atof(const char *__nptr); // 973 -} - -/* <130e82> ../cstrike/dlls/plats.cpp:1002 */ -NOBODY void CFuncTrackTrain::NextThink(float thinkTime, BOOL alwaysThink) -{ -} - -/* <12ee6d> ../cstrike/dlls/plats.cpp:1013 */ -NOBODY void CFuncTrackTrain::Blocked_(CBaseEntity *pOther) -{ -// { -// entvars_t *pevOther; // 1015 -// VARS(edict_t *pent); // 1018 -// operator-(const Vector *const this, -// const Vector &v); // 1028 -// Normalize(const Vector *const this); // 1028 -// operator*(const Vector *const this, -// float fl); // 1028 -// { -// float deltaSpeed; // 1020 -// fabs(double __x); // 1020 -// } -// } -} - -/* <1312c7> ../cstrike/dlls/plats.cpp:1038 */ -NOBODY void CFuncTrackTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// float delta; // 1062 -// } -} - -/* <12bc89> ../cstrike/dlls/plats.cpp:1082 */ -NOBODY float Fix(float angle) -{ +}; + +#else + +TYPEDESCRIPTION (*CBasePlatTrain::pm_SaveData)[3]; +TYPEDESCRIPTION (*CFuncPlatRot::pm_SaveData)[2]; +TYPEDESCRIPTION (*CFuncTrain::pm_SaveData)[3]; +TYPEDESCRIPTION (*CFuncTrackTrain::pm_SaveData)[12]; +TYPEDESCRIPTION (*CFuncTrackChange::pm_SaveData)[9]; +TYPEDESCRIPTION (*CGunTarget::pm_SaveData)[1]; + +#endif // HOOK_GAMEDLL + +/* <12e11a> ../cstrike/dlls/plats.cpp:59 */ +IMPLEMENT_SAVERESTORE(CBasePlatTrain, CBaseToggle); + +/* <12ea9b> ../cstrike/dlls/plats.cpp:61 */ +NOBODY void CBasePlatTrain::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 73 +// FStrEq(const char *sz1, +// const char *sz2); // 78 +// FStrEq(const char *sz1, +// const char *sz2); // 83 +// FStrEq(const char *sz1, +// const char *sz2); // 88 +// FStrEq(const char *sz1, +// const char *sz2); // 93 +// atof(const char *__nptr); // 75 +// atof(const char *__nptr); // 85 +// atof(const char *__nptr); // 80 +// atof(const char *__nptr); // 95 +// atof(const char *__nptr); // 90 +} + +#define noiseMoving noise +#define noiseArrived noise1 + +/* <12d675> ../cstrike/dlls/plats.cpp:105 */ +NOBODY void CBasePlatTrain::Precache_(void) +{ +} + +/* <12d69c> ../cstrike/dlls/plats.cpp:235 */ +NOBODY void CFuncPlat::CallGoDown(void) +{ + GoDown(); +} + +/* <12d6c2> ../cstrike/dlls/plats.cpp:236 */ +NOBODY void CFuncPlat::CallHitTop(void) +{ + HitTop(); +} + +/* <12d6e8> ../cstrike/dlls/plats.cpp:237 */ +NOBODY void CFuncPlat::CallHitBottom(void) +{ + HitBottom(); +} + +/* <130666> ../cstrike/dlls/plats.cpp:244 */ +LINK_ENTITY_TO_CLASS(func_plat, CFuncPlat); + +#define noiseMovement noise +#define noiseStopMoving noise1 + +/* <130730> ../cstrike/dlls/plats.cpp:275 */ +NOBODY void CFuncPlat::Setup(void) +{ +} + +/* <13088e> ../cstrike/dlls/plats.cpp:309 */ +NOBODY void CFuncPlat::Precache_(void) +{ +// PlatSpawnInsideTrigger(entvars_t *pevPlatform); // 315 +} + +/* <130757> ../cstrike/dlls/plats.cpp:319 */ +NOBODY void CFuncPlat::Spawn_(void) +{ +// Spawn(CFuncPlat *const this); // 319 +} + +/* <12c8bb> ../cstrike/dlls/plats.cpp:342 */ +NOBODY void PlatSpawnInsideTrigger(entvars_t *pevPlatform) +{ +} + +/* <130792> ../cstrike/dlls/plats.cpp:351 */ +NOBODY void CPlatTrigger::SpawnInsideTrigger(CFuncPlat *pPlatform) +{ +// { +// Vector vecTMin; // 360 +// Vector vecTMax; // 361 +// operator+(const Vector *const this, +// const Vector &v); // 360 +// operator+(const Vector *const this, +// const Vector &v); // 361 +// } +} + +/* <12e7e7> ../cstrike/dlls/plats.cpp:380 */ +NOBODY void CPlatTrigger::Touch_(CBaseEntity *pOther) +{ +// { +// entvars_t *pevToucher; // 383 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 384 +// } +// Touch(CPlatTrigger *const this, +// class CBaseEntity *pOther); // 380 +} + +/* <12df02> ../cstrike/dlls/plats.cpp:403 */ +NOBODY void CFuncPlat::PlatUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// BOOL on; // 408 +// } +// PlatUse(CFuncPlat *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 403 +} + +/* <12e49b> ../cstrike/dlls/plats.cpp:431 */ +NOBODY void CFuncPlat::GoDown_(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 434 +// Vector(Vector *const this, +// const Vector &v); // 439 +} + +/* <12f381> ../cstrike/dlls/plats.cpp:446 */ +NOBODY void CFuncPlat::HitBottom_(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 452 +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 449 +} + +/* <12e52d> ../cstrike/dlls/plats.cpp:462 */ +NOBODY void CFuncPlat::GoUp_(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 465 +// Vector(Vector *const this, +// const Vector &v); // 470 +} + +/* <12f452> ../cstrike/dlls/plats.cpp:477 */ +NOBODY void CFuncPlat::HitTop_(void) +{ +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 480 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 483 +} + +/* <12f524> ../cstrike/dlls/plats.cpp:497 */ +NOBODY void CFuncPlat::Blocked_(CBaseEntity *pOther) +{ +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 504 +} + +/* <130a7b> ../cstrike/dlls/plats.cpp:533 */ +LINK_ENTITY_TO_CLASS(func_platrot, CFuncPlatRot); + +/* <12f1ce> ../cstrike/dlls/plats.cpp:540 */ +IMPLEMENT_SAVERESTORE(CFuncPlatRot, CFuncPlat); + +/* <130b48> ../cstrike/dlls/plats.cpp:543 */ +NOBODY void CFuncPlatRot::SetupRotation(void) +{ +// operator*(const Vector ::SetupRotation(// float fl); // 549 +// operator+(const Vector *const this, +// const Vector &v); // 549 +} + +/* <130bc4> ../cstrike/dlls/plats.cpp:563 */ +NOBODY void CFuncPlatRot::Spawn_(void) +{ +// Spawn(CFuncPlat *const this); // 565 +} + +/* <12fe63> ../cstrike/dlls/plats.cpp:569 */ +NOBODY void CFuncPlatRot::GoDown_(void) +{ +// RotMove(CFuncPlatRot::GoDown(// Vector &destAngle, +// float time); // 572 +} + +/* <12f430> ../cstrike/dlls/plats.cpp:579 */ +NOBODY void CFuncPlatRot::HitBottom_(void) +{ +} + +/* <12fdad> ../cstrike/dlls/plats.cpp:590 */ +NOBODY void CFuncPlatRot::GoUp_(void) +{ +// RotMove(CFuncPlatRot::GoUp(// Vector &destAngle, +// float time); // 593 +} + +/* <12f502> ../cstrike/dlls/plats.cpp:600 */ +NOBODY void CFuncPlatRot::HitTop_(void) +{ +} + +/* <130c54> ../cstrike/dlls/plats.cpp:608 */ +NOBODY void CFuncPlatRot::RotMove(Vector &destAngle, float time) +{ +// { +// Vector vecDestDelta; // 611 +// operator-(const Vector *const this, +// const Vector &v); // 611 +// operator/(const Vector *const this, +// float fl); // 615 +// } +} + +/* <130ce8> ../cstrike/dlls/plats.cpp:657 */ +LINK_ENTITY_TO_CLASS(func_train, CFuncTrain); + +/* <12f13d> ../cstrike/dlls/plats.cpp:665 */ +IMPLEMENT_SAVERESTORE(CFuncTrain, CBasePlatTrain); + +/* <130390> ../cstrike/dlls/plats.cpp:668 */ +NOBODY void CFuncTrain::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 670 +// KeyValue(CBasePlatTrain *const this, +// KeyValueData *pkvd); // 676 +// KeyValue(CFuncTrain *const this, +// KeyValueData *pkvd); // 668 +} + +/* <12de63> ../cstrike/dlls/plats.cpp:679 */ +NOBODY void CFuncTrain::Blocked_(CBaseEntity *pOther) +{ +// Blocked(CFuncTrain *const this, +// class CBaseEntity *pOther); // 679 +} + + +/* <12fa23> ../cstrike/dlls/plats.cpp:691 */ +NOBODY void CFuncTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 708 +} + +/* <12f914> ../cstrike/dlls/plats.cpp:713 */ +NOBODY void CFuncTrain::Wait(void) +{ +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 734 +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 732 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 747 +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 745 +} + +/* <12f6a8> ../cstrike/dlls/plats.cpp:760 */ +NOBODY void CFuncTrain::Next(void) +{ +// { +// class CBaseEntity *pTarg; // 762 +// edict(CBaseEntity *const this); // 791 +// operator+(const Vector *const this, +// const Vector &v); // 813 +// operator*(const Vector *const this, +// float fl); // 813 +// operator-(const Vector *const this, +// const Vector &v); // 813 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 774 +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 808 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 810 +// operator+(const Vector *const this, +// const Vector &v); // 797 +// operator*(const Vector *const this, +// float fl); // 797 +// operator-(const Vector *const this, +// const Vector &v); // 797 +// STOP_SOUND(edict_t *entity, +// int channel, +// const char *sample); // 771 +// } +} + +/* <12e1fd> ../cstrike/dlls/plats.cpp:818 */ +NOBODY void CFuncTrain::Activate_(void) +{ +// { +// entvars_t *pevTarg; // 824 +// } +// Activate(CFuncTrain *const this); // 818 +} + +/* <12dcad> ../cstrike/dlls/plats.cpp:852 */ +NOBODY void CFuncTrain::Spawn_(void) +{ +} + +/* <12dab7> ../cstrike/dlls/plats.cpp:886 */ +NOBODY void CFuncTrain::Restart_(void) +{ +} + +/* <12d734> ../cstrike/dlls/plats.cpp:907 */ +NOBODY void CFuncTrain::Precache_(void) +{ +} + +/* <12e166> ../cstrike/dlls/plats.cpp:913 */ +NOBODY void CFuncTrain::OverrideReset_(void) +{ +// { +// class CBaseEntity *pTarg; // 915 +// operator!=(const Vector *const this, +// const Vector &v); // 918 +// } +// OverrideReset(CFuncTrain *const this); // 913 +} + +/* <12e0cd> ../cstrike/dlls/plats.cpp:961 */ +IMPLEMENT_SAVERESTORE(CFuncTrackTrain, CBaseEntity); + +/* <130db5> ../cstrike/dlls/plats.cpp:962 */ +LINK_ENTITY_TO_CLASS(func_tracktrain, CFuncTrackTrain); + +/* <12e88e> ../cstrike/dlls/plats.cpp:964 */ +NOBODY void CFuncTrackTrain::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 966 +// FStrEq(const char *sz1, +// const char *sz2); // 971 +// KeyValue(CFuncTrackTrain *const this, +// KeyValueData *pkvd); // 964 +// atof(const char *__nptr); // 968 +// atof(const char *__nptr); // 973 +} + +/* <130e82> ../cstrike/dlls/plats.cpp:1002 */ +NOBODY void CFuncTrackTrain::NextThink(float thinkTime, BOOL alwaysThink) +{ +} + +/* <12ee6d> ../cstrike/dlls/plats.cpp:1013 */ +NOBODY void CFuncTrackTrain::Blocked_(CBaseEntity *pOther) +{ +// { +// entvars_t *pevOther; // 1015 +// VARS(edict_t *pent); // 1018 +// operator-(const Vector *const this, +// const Vector &v); // 1028 +// Normalize(const Vector *const this); // 1028 +// operator*(const Vector *const this, +// float fl); // 1028 +// { +// float deltaSpeed; // 1020 +// fabs(double __x); // 1020 +// } +// } +} + +/* <1312c7> ../cstrike/dlls/plats.cpp:1038 */ +NOBODY void CFuncTrackTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// float delta; // 1062 +// } +} + +/* <12bc89> ../cstrike/dlls/plats.cpp:1082 */ +NOBODY float Fix(float angle) +{ while (angle < 0) angle += 360; while (angle > 360) angle -= 360; - return angle; -} - -/* <130f04> ../cstrike/dlls/plats.cpp:1093 */ -NOBODY void FixupAngles(Vector &v) -{ + return angle; +} + +/* <130f04> ../cstrike/dlls/plats.cpp:1093 */ +NOBODY void FixupAngles(Vector &v) +{ v.x = Fix(v.x); v.y = Fix(v.y); - v.z = Fix(v.z); -} - -/* <130eb3> ../cstrike/dlls/plats.cpp:1104 */ -NOBODY void CFuncTrackTrain::StopSound(void) -{ -// { -// short unsigned int us_encode; // 1109 -// short unsigned int us_sound; // 1110 -// } -} - -/* <12e31d> ../cstrike/dlls/plats.cpp:1130 */ -NOBODY void CFuncTrackTrain::UpdateSound(void) -{ -// { -// float flpitch; // 1132 -// { -// short unsigned int us_encode; // 1157 -// short unsigned int us_sound; // 1158 -// short unsigned int us_pitch; // 1159 -// short unsigned int us_volume; // 1160 -// } -// } -} - -/* <130f1c> ../cstrike/dlls/plats.cpp:1171 */ -NOBODY void CFuncTrackTrain::Next(void) -{ -// { -// float time; // 1173 -// Vector nextPos; // 1195 -// class CPathTrack *pnext; // 1198 -// Vector nextFront; // 1202 -// Vector delta; // 1211 -// Vector angles; // 1212 -// float vy; // 1223 -// float vx; // 1223 -// UpdateSound(CFuncTrackTrain *const this); // 1193 -// Vector(Vector *const this, -// const Vector &v); // 1195 -// operator-(const Vector *const this, -// const Vector &v); // 1201 -// operator*(const Vector *const this, -// float fl); // 1201 -// Vector(Vector *const this, -// const Vector &v); // 1202 -// operator-(const Vector *const this, -// const Vector &v); // 1211 -// FixupAngles(Vector &v); // 1217 -// FixupAngles(Vector &v); // 1218 -// { -// class CPathTrack *pFire; // 1247 -// } -// NextThink(CFuncTrackTrain *const this, -// float thinkTime, -// BOOL alwaysThink); // 1276 -// { -// float distance; // 1283 -// operator-(const Vector *const this, -// const Vector &v); // 1281 -// Length(const Vector *const this); // 1283 -// operator*(const Vector *const this, -// float fl); // 1296 -// NextThink(CFuncTrackTrain *const this, -// float thinkTime, -// BOOL alwaysThink); // 1298 -// } -// } -} - -/* <12de16> ../cstrike/dlls/plats.cpp:1308 */ -NOBODY void CFuncTrackTrain::DeadEnd(void) -{ -// { -// class CPathTrack *pTrack; // 1311 -// class CPathTrack *pNext; // 1311 -// } -} - -/* <131370> ../cstrike/dlls/plats.cpp:1354 */ -NOBODY void CFuncTrackTrain::SetControls(entvars_t *pevControls) -{ -// { -// Vector offset; // 1356 -// operator-(const Vector *const this, -// const Vector &v); // 1356 -// operator+(const Vector *const this, -// const Vector &v); // 1358 -// operator+(const Vector *const this, -// const Vector &v); // 1359 -// } -} - -/* <12dd23> ../cstrike/dlls/plats.cpp:1363 */ -NOBODY BOOL CFuncTrackTrain::OnControls_(entvars_t *pevTest) -{ -// { -// Vector offset; // 1365 -// Vector local; // 1372 -// operator-(const Vector *const this, -// const Vector &v); // 1365 -// DotProduct(Vector &a, -// const Vector &b); // 1373 -// DotProduct(Vector &a, -// const Vector &b); // 1374 -// DotProduct(Vector &a, -// const Vector &b); // 1375 -// } -} - -/* <12e636> ../cstrike/dlls/plats.cpp:1385 */ -NOBODY void CFuncTrackTrain::Find(void) -{ -// { -// entvars_t *pevTarget; // 1391 -// Vector nextPos; // 1399 -// Vector look; // 1402 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1387 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 1392 -// Vector(Vector *const this, -// const Vector &v); // 1399 -// Vector(Vector *const this, -// const Vector &v); // 1402 -// operator-(const Vector *const this, -// const Vector &v); // 1407 -// NextThink(CFuncTrackTrain *const this, -// float thinkTime, -// BOOL alwaysThink); // 1414 -// UpdateSound(CFuncTrackTrain *const this); // 1418 -// } -} - -/* <12ecdd> ../cstrike/dlls/plats.cpp:1422 */ -NOBODY void CFuncTrackTrain::NearestPath(void) -{ -// { -// class CBaseEntity *pTrack; // 1424 -// class CBaseEntity *pNearest; // 1425 -// float dist; // 1426 -// float closest; // 1426 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 1433 -// operator-(const Vector *const this, -// const Vector &v); // 1435 -// Length(const Vector *const this); // 1435 -// operator-(const Vector *const this, -// const Vector &v); // 1456 -// Length(const Vector *const this); // 1456 -// operator-(const Vector *const this, -// const Vector &v); // 1456 -// Length(const Vector *const this); // 1456 -// NextThink(CFuncTrackTrain *const this, -// float thinkTime, -// BOOL alwaysThink); // 1464 -// } -} - -/* <12d75a> ../cstrike/dlls/plats.cpp:1470 */ -NOBODY void CFuncTrackTrain::OverrideReset_(void) -{ -// NextThink(CFuncTrackTrain::OverrideReset(// float thinkTime, -// BOOL alwaysThink); // 1472 -} - -/* <131434> ../cstrike/dlls/plats.cpp:1477 */ -NOBODY CFuncTrackTrain *CFuncTrackTrain::Instance(edict_t *pent) -{ -// FClassnameIs(edict_t *pent, -// const char *szClassname); // 1479 -// GET_PRIVATE(edict_t *pent); // 1480 -} - -/* <12dcd4> ../cstrike/dlls/plats.cpp:1495 */ -NOBODY void CFuncTrackTrain::Spawn_(void) -{ -// NextThink(CFuncTrackTrain::Spawn(// float thinkTime, -// BOOL alwaysThink); // 1533 -} - -/* <12dbdf> ../cstrike/dlls/plats.cpp:1539 */ -NOBODY void CFuncTrackTrain::Restart_(void) -{ -// NextThink(CFuncTrackTrain::Restart(// float thinkTime, -// BOOL alwaysThink); // 1557 -} - -/* <12d7a5> ../cstrike/dlls/plats.cpp:1562 */ -NOBODY void CFuncTrackTrain::Precache_(void) -{ -} - -/* <1314d9> ../cstrike/dlls/plats.cpp:1595 */ -LINK_ENTITY_TO_CLASS(func_traincontrols, CFuncTrainControls); - -/* <12fb10> ../cstrike/dlls/plats.cpp:1598 */ -NOBODY void CFuncTrainControls::Find(void) -{ -// { -// edict_t *pTarget; // 1600 -// class CFuncTrackTrain *ptrain; // 1613 -// Instance(edict_t *pent); // 1613 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1604 -// FNullEnt(const edict_t *pent); // 1605 -// FNullEnt(const edict_t *pent); // 1607 -// SetControls(CFuncTrackTrain *const this, -// entvars_t *pevControls); // 1614 -// FClassnameIs(edict_t *pent, -// const char *szClassname); // 1605 -// } -} - -/* <12dc86> ../cstrike/dlls/plats.cpp:1619 */ -NOBODY void CFuncTrainControls::Spawn_(void) -{ -} - -/* <12d7f2> ../cstrike/dlls/plats.cpp:1673 */ -NOBODY BOOL CFuncTrackChange::IsTogglePlat_(void) -{ - return TRUE; -} - -/* <1315a6> ../cstrike/dlls/plats.cpp:1698 */ -LINK_ENTITY_TO_CLASS(func_trackchange, CFuncTrackChange); - -/* <12ef8f> ../cstrike/dlls/plats.cpp:1713 */ -IMPLEMENT_SAVERESTORE(CFuncTrackChange, CFuncPlatRot); - -/* <130c1d> ../cstrike/dlls/plats.cpp:1715 */ -NOBODY void CFuncTrackChange::Spawn_(void) -{ -// EnableUse(CFuncTrackChange *const this); // 1738 -} - -/* <130a3b> ../cstrike/dlls/plats.cpp:1744 */ -NOBODY void CFuncTrackChange::Precache_(void) -{ -// Precache(CFuncPlat *const this); // 1749 -} - -/* <12d818> ../cstrike/dlls/plats.cpp:1753 */ -NOBODY void CFuncTrackChange::Touch_(CBaseEntity *pOther) -{ -} - -/* <1304ca> ../cstrike/dlls/plats.cpp:1758 */ -NOBODY void CFuncTrackChange::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1760 -// FStrEq(const char *sz1, -// const char *sz2); // 1765 -// KeyValue(CFuncTrackChange *const this, -// KeyValueData *pkvd); // 1758 -} - -/* <12d84d> ../cstrike/dlls/plats.cpp:1782 */ -NOBODY void CFuncTrackChange::OverrideReset_(void) -{ -} - -/* <12ff19> ../cstrike/dlls/plats.cpp:1788 */ -NOBODY void CFuncTrackChange::Find(void) -{ -// { -// edict_t *target; // 1791 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1793 -// FNullEnt(const edict_t *pent); // 1794 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1797 -// FNullEnt(const edict_t *pent); // 1798 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1801 -// FNullEnt(const edict_t *pent); // 1802 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1820 -// { -// Vector center; // 1810 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1804 -// Instance(edict_t *pent); // 1804 -// operator+(const Vector *const this, -// const Vector &v); // 1810 -// operator*(const Vector *const this, -// float fl); // 1810 -// Vector(Vector *const this, -// const Vector &v); // 1811 -// Vector(Vector *const this, -// const Vector &v); // 1812 -// } -// } -} - -/* <131673> ../cstrike/dlls/plats.cpp:1832 */ -NOBODY TRAIN_CODE CFuncTrackChange::EvaluateTrain(CPathTrack *pcurrent) -{ -// { -// Vector dist; // 1844 -// float length; // 1845 -// } -// EvaluateTrain(CFuncTrackChange *const this, -// class CPathTrack *pcurrent); // 1832 -} - -/* <1317f9> ../cstrike/dlls/plats.cpp:1858 */ -NOBODY void CFuncTrackChange::UpdateTrain(Vector &dest) -{ -// { -// float time; // 1860 -// Vector offset; // 1870 -// Vector delta; // 1871 -// Vector local; // 1874 -// NextThink(CFuncTrackTrain *const this, -// float thinkTime, -// BOOL alwaysThink); // 1864 -// operator-(const Vector *const this, -// const Vector &v); // 1870 -// operator-(const Vector *const this, -// const Vector &v); // 1871 -// DotProduct(Vector &a, -// const Vector &b); // 1877 -// operator-(const Vector *const this, -// const Vector &v); // 1879 -// operator*(const Vector *const this, -// float fl); // 1880 -// operator+(const Vector *const this, -// const Vector &v); // 1880 -// DotProduct(Vector &a, -// const Vector &b); // 1876 -// DotProduct(Vector &a, -// const Vector &b); // 1875 -// } -} - -/* <131ade> ../cstrike/dlls/plats.cpp:1883 */ -NOBODY void CFuncTrackChange::GoDown_(void) -{ -// GoDown(CFuncTrackChange *const this); // 1883 -} - -/* <1319f9> ../cstrike/dlls/plats.cpp:1919 */ -NOBODY void CFuncTrackChange::GoUp_(void) -{ -// GoUp(CFuncTrackChange *const this); // 1919 -} - -/* <12deb0> ../cstrike/dlls/plats.cpp:1954 */ -NOBODY void CFuncTrackChange::UpdateAutoTargets_(int toggleState) -{ -// UpdateAutoTargets(CFuncTrackChange *const this, -// int toggleState); // 1954 -} - -/* <131725> ../cstrike/dlls/plats.cpp:1971 */ -NOBODY void CFuncTrackChange::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Use(CFuncTrackChange *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 1971 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 1986 -} - -/* <12f618> ../cstrike/dlls/plats.cpp:2005 */ -NOBODY void CFuncTrackChange::HitBottom_(void) -{ -// HitBottom(CFuncPlatRot *const this); // 2007 -// EnableUse(CFuncTrackChange *const this); // 2018 -// SetTrack(CFuncTrackTrain *const this, -// class CPathTrack *track); // 2011 -} - -/* <12f588> ../cstrike/dlls/plats.cpp:2025 */ -NOBODY void CFuncTrackChange::HitTop_(void) -{ -// HitTop(CFuncPlatRot *const this); // 2027 -// EnableUse(CFuncTrackChange *const this); // 2038 -// SetTrack(CFuncTrackTrain *const this, -// class CPathTrack *track); // 2031 -} - -/* <131bc3> ../cstrike/dlls/plats.cpp:2050 */ -LINK_ENTITY_TO_CLASS(func_trackautochange, CFuncTrackAuto); - -/* <12dc2a> ../cstrike/dlls/plats.cpp:2053 */ -NOBODY void CFuncTrackAuto::UpdateAutoTargets_(int toggleState) -{ -// { -// class CPathTrack *pTarget; // 2055 -// class CPathTrack *pNextTarget; // 2055 -// } -} - -/* <1301f9> ../cstrike/dlls/plats.cpp:2083 */ -NOBODY void CFuncTrackAuto::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// class CPathTrack *pTarget; // 2085 -// } -// Use(CFuncTrackAuto *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 2083 -} - -/* <131c90> ../cstrike/dlls/plats.cpp:2163 */ -LINK_ENTITY_TO_CLASS(func_guntarget, CGunTarget); - -/* <12e080> ../cstrike/dlls/plats.cpp:2170 */ -IMPLEMENT_SAVERESTORE(CGunTarget, CBaseMonster); - -/* <12dbb8> ../cstrike/dlls/plats.cpp:2173 */ -NOBODY void CGunTarget::Spawn_(void) -{ -} - -/* <12dade> ../cstrike/dlls/plats.cpp:2199 */ -NOBODY void CGunTarget::Activate_(void) -{ -// { -// class CBaseEntity *pTarg; // 2201 -// operator+(const Vector *const this, -// const Vector &v); // 2208 -// operator*(const Vector *const this, -// float fl); // 2208 -// operator-(const Vector *const this, -// const Vector &v); // 2208 -// } -} - -/* <12d947> ../cstrike/dlls/plats.cpp:2213 */ -NOBODY void CGunTarget::Start(void) -{ -} - -/* <12d96e> ../cstrike/dlls/plats.cpp:2219 */ -NOBODY void CGunTarget::Next(void) -{ -// { -// class CBaseEntity *pTarget; // 2224 -// operator+(const Vector *const this, -// const Vector &v); // 2232 -// operator*(const Vector *const this, -// float fl); // 2232 -// operator-(const Vector *const this, -// const Vector &v); // 2232 -// Stop(CGunTarget *const this); // 2228 -// } -} - -/* <12da61> ../cstrike/dlls/plats.cpp:2236 */ -NOBODY void CGunTarget::Wait(void) -{ -// { -// class CBaseEntity *pTarget; // 2238 -// Stop(CGunTarget *const this); // 2242 -// } -} - -/* <131d5d> ../cstrike/dlls/plats.cpp:2269 */ -NOBODY void CGunTarget::Stop(void) -{ -} - -/* <12e371> ../cstrike/dlls/plats.cpp:2277 */ -NOBODY int CGunTarget::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType) -{ -// Stop(CGunTarget *const this); // 2285 -// TakeDamage(CGunTarget *const this, -// entvars_t *pevInflictor, -// entvars_t *pevAttacker, -// float flDamage, -// int bitsDamageType); // 2277 -} - -/* <12e408> ../cstrike/dlls/plats.cpp:2294 */ -NOBODY void CGunTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Stop(CGunTarget *const this); // 2301 -// Use(CGunTarget *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 2294 -} - + v.z = Fix(v.z); +} + +/* <130eb3> ../cstrike/dlls/plats.cpp:1104 */ +NOBODY void CFuncTrackTrain::StopSound(void) +{ +// { +// short unsigned int us_encode; // 1109 +// short unsigned int us_sound; // 1110 +// } +} + +/* <12e31d> ../cstrike/dlls/plats.cpp:1130 */ +NOBODY void CFuncTrackTrain::UpdateSound(void) +{ +// { +// float flpitch; // 1132 +// { +// short unsigned int us_encode; // 1157 +// short unsigned int us_sound; // 1158 +// short unsigned int us_pitch; // 1159 +// short unsigned int us_volume; // 1160 +// } +// } +} + +/* <130f1c> ../cstrike/dlls/plats.cpp:1171 */ +NOBODY void CFuncTrackTrain::Next(void) +{ +// { +// float time; // 1173 +// Vector nextPos; // 1195 +// class CPathTrack *pnext; // 1198 +// Vector nextFront; // 1202 +// Vector delta; // 1211 +// Vector angles; // 1212 +// float vy; // 1223 +// float vx; // 1223 +// UpdateSound(CFuncTrackTrain *const this); // 1193 +// Vector(Vector *const this, +// const Vector &v); // 1195 +// operator-(const Vector *const this, +// const Vector &v); // 1201 +// operator*(const Vector *const this, +// float fl); // 1201 +// Vector(Vector *const this, +// const Vector &v); // 1202 +// operator-(const Vector *const this, +// const Vector &v); // 1211 +// FixupAngles(Vector &v); // 1217 +// FixupAngles(Vector &v); // 1218 +// { +// class CPathTrack *pFire; // 1247 +// } +// NextThink(CFuncTrackTrain *const this, +// float thinkTime, +// BOOL alwaysThink); // 1276 +// { +// float distance; // 1283 +// operator-(const Vector *const this, +// const Vector &v); // 1281 +// Length(const Vector *const this); // 1283 +// operator*(const Vector *const this, +// float fl); // 1296 +// NextThink(CFuncTrackTrain *const this, +// float thinkTime, +// BOOL alwaysThink); // 1298 +// } +// } +} + +/* <12de16> ../cstrike/dlls/plats.cpp:1308 */ +NOBODY void CFuncTrackTrain::DeadEnd(void) +{ +// { +// class CPathTrack *pTrack; // 1311 +// class CPathTrack *pNext; // 1311 +// } +} + +/* <131370> ../cstrike/dlls/plats.cpp:1354 */ +NOBODY void CFuncTrackTrain::SetControls(entvars_t *pevControls) +{ +// { +// Vector offset; // 1356 +// operator-(const Vector *const this, +// const Vector &v); // 1356 +// operator+(const Vector *const this, +// const Vector &v); // 1358 +// operator+(const Vector *const this, +// const Vector &v); // 1359 +// } +} + +/* <12dd23> ../cstrike/dlls/plats.cpp:1363 */ +NOBODY BOOL CFuncTrackTrain::OnControls_(entvars_t *pevTest) +{ +// { +// Vector offset; // 1365 +// Vector local; // 1372 +// operator-(const Vector *const this, +// const Vector &v); // 1365 +// DotProduct(Vector &a, +// const Vector &b); // 1373 +// DotProduct(Vector &a, +// const Vector &b); // 1374 +// DotProduct(Vector &a, +// const Vector &b); // 1375 +// } +} + +/* <12e636> ../cstrike/dlls/plats.cpp:1385 */ +NOBODY void CFuncTrackTrain::Find(void) +{ +// { +// entvars_t *pevTarget; // 1391 +// Vector nextPos; // 1399 +// Vector look; // 1402 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1387 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 1392 +// Vector(Vector *const this, +// const Vector &v); // 1399 +// Vector(Vector *const this, +// const Vector &v); // 1402 +// operator-(const Vector *const this, +// const Vector &v); // 1407 +// NextThink(CFuncTrackTrain *const this, +// float thinkTime, +// BOOL alwaysThink); // 1414 +// UpdateSound(CFuncTrackTrain *const this); // 1418 +// } +} + +/* <12ecdd> ../cstrike/dlls/plats.cpp:1422 */ +NOBODY void CFuncTrackTrain::NearestPath(void) +{ +// { +// class CBaseEntity *pTrack; // 1424 +// class CBaseEntity *pNearest; // 1425 +// float dist; // 1426 +// float closest; // 1426 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 1433 +// operator-(const Vector *const this, +// const Vector &v); // 1435 +// Length(const Vector *const this); // 1435 +// operator-(const Vector *const this, +// const Vector &v); // 1456 +// Length(const Vector *const this); // 1456 +// operator-(const Vector *const this, +// const Vector &v); // 1456 +// Length(const Vector *const this); // 1456 +// NextThink(CFuncTrackTrain *const this, +// float thinkTime, +// BOOL alwaysThink); // 1464 +// } +} + +/* <12d75a> ../cstrike/dlls/plats.cpp:1470 */ +NOBODY void CFuncTrackTrain::OverrideReset_(void) +{ +// NextThink(CFuncTrackTrain::OverrideReset(// float thinkTime, +// BOOL alwaysThink); // 1472 +} + +/* <131434> ../cstrike/dlls/plats.cpp:1477 */ +NOBODY CFuncTrackTrain *CFuncTrackTrain::Instance(edict_t *pent) +{ +// FClassnameIs(edict_t *pent, +// const char *szClassname); // 1479 +// GET_PRIVATE(edict_t *pent); // 1480 +} + +/* <12dcd4> ../cstrike/dlls/plats.cpp:1495 */ +NOBODY void CFuncTrackTrain::Spawn_(void) +{ +// NextThink(CFuncTrackTrain::Spawn(// float thinkTime, +// BOOL alwaysThink); // 1533 +} + +/* <12dbdf> ../cstrike/dlls/plats.cpp:1539 */ +NOBODY void CFuncTrackTrain::Restart_(void) +{ +// NextThink(CFuncTrackTrain::Restart(// float thinkTime, +// BOOL alwaysThink); // 1557 +} + +/* <12d7a5> ../cstrike/dlls/plats.cpp:1562 */ +NOBODY void CFuncTrackTrain::Precache_(void) +{ +} + +/* <1314d9> ../cstrike/dlls/plats.cpp:1595 */ +LINK_ENTITY_TO_CLASS(func_traincontrols, CFuncTrainControls); + +/* <12fb10> ../cstrike/dlls/plats.cpp:1598 */ +NOBODY void CFuncTrainControls::Find(void) +{ +// { +// edict_t *pTarget; // 1600 +// class CFuncTrackTrain *ptrain; // 1613 +// Instance(edict_t *pent); // 1613 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1604 +// FNullEnt(const edict_t *pent); // 1605 +// FNullEnt(const edict_t *pent); // 1607 +// SetControls(CFuncTrackTrain *const this, +// entvars_t *pevControls); // 1614 +// FClassnameIs(edict_t *pent, +// const char *szClassname); // 1605 +// } +} + +/* <12dc86> ../cstrike/dlls/plats.cpp:1619 */ +NOBODY void CFuncTrainControls::Spawn_(void) +{ +} + +/* <12d7f2> ../cstrike/dlls/plats.cpp:1673 */ +NOBODY BOOL CFuncTrackChange::IsTogglePlat_(void) +{ + return TRUE; +} + +/* <1315a6> ../cstrike/dlls/plats.cpp:1698 */ +LINK_ENTITY_TO_CLASS(func_trackchange, CFuncTrackChange); + +/* <12ef8f> ../cstrike/dlls/plats.cpp:1713 */ +IMPLEMENT_SAVERESTORE(CFuncTrackChange, CFuncPlatRot); + +/* <130c1d> ../cstrike/dlls/plats.cpp:1715 */ +NOBODY void CFuncTrackChange::Spawn_(void) +{ +// EnableUse(CFuncTrackChange *const this); // 1738 +} + +/* <130a3b> ../cstrike/dlls/plats.cpp:1744 */ +NOBODY void CFuncTrackChange::Precache_(void) +{ +// Precache(CFuncPlat *const this); // 1749 +} + +/* <12d818> ../cstrike/dlls/plats.cpp:1753 */ +NOBODY void CFuncTrackChange::Touch_(CBaseEntity *pOther) +{ +} + +/* <1304ca> ../cstrike/dlls/plats.cpp:1758 */ +NOBODY void CFuncTrackChange::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1760 +// FStrEq(const char *sz1, +// const char *sz2); // 1765 +// KeyValue(CFuncTrackChange *const this, +// KeyValueData *pkvd); // 1758 +} + +/* <12d84d> ../cstrike/dlls/plats.cpp:1782 */ +NOBODY void CFuncTrackChange::OverrideReset_(void) +{ +} + +/* <12ff19> ../cstrike/dlls/plats.cpp:1788 */ +NOBODY void CFuncTrackChange::Find(void) +{ +// { +// edict_t *target; // 1791 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1793 +// FNullEnt(const edict_t *pent); // 1794 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1797 +// FNullEnt(const edict_t *pent); // 1798 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1801 +// FNullEnt(const edict_t *pent); // 1802 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1820 +// { +// Vector center; // 1810 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1804 +// Instance(edict_t *pent); // 1804 +// operator+(const Vector *const this, +// const Vector &v); // 1810 +// operator*(const Vector *const this, +// float fl); // 1810 +// Vector(Vector *const this, +// const Vector &v); // 1811 +// Vector(Vector *const this, +// const Vector &v); // 1812 +// } +// } +} + +/* <131673> ../cstrike/dlls/plats.cpp:1832 */ +NOBODY TRAIN_CODE CFuncTrackChange::EvaluateTrain(CPathTrack *pcurrent) +{ +// { +// Vector dist; // 1844 +// float length; // 1845 +// } +// EvaluateTrain(CFuncTrackChange *const this, +// class CPathTrack *pcurrent); // 1832 +} + +/* <1317f9> ../cstrike/dlls/plats.cpp:1858 */ +NOBODY void CFuncTrackChange::UpdateTrain(Vector &dest) +{ +// { +// float time; // 1860 +// Vector offset; // 1870 +// Vector delta; // 1871 +// Vector local; // 1874 +// NextThink(CFuncTrackTrain *const this, +// float thinkTime, +// BOOL alwaysThink); // 1864 +// operator-(const Vector *const this, +// const Vector &v); // 1870 +// operator-(const Vector *const this, +// const Vector &v); // 1871 +// DotProduct(Vector &a, +// const Vector &b); // 1877 +// operator-(const Vector *const this, +// const Vector &v); // 1879 +// operator*(const Vector *const this, +// float fl); // 1880 +// operator+(const Vector *const this, +// const Vector &v); // 1880 +// DotProduct(Vector &a, +// const Vector &b); // 1876 +// DotProduct(Vector &a, +// const Vector &b); // 1875 +// } +} + +/* <131ade> ../cstrike/dlls/plats.cpp:1883 */ +NOBODY void CFuncTrackChange::GoDown_(void) +{ +// GoDown(CFuncTrackChange *const this); // 1883 +} + +/* <1319f9> ../cstrike/dlls/plats.cpp:1919 */ +NOBODY void CFuncTrackChange::GoUp_(void) +{ +// GoUp(CFuncTrackChange *const this); // 1919 +} + +/* <12deb0> ../cstrike/dlls/plats.cpp:1954 */ +NOBODY void CFuncTrackChange::UpdateAutoTargets_(int toggleState) +{ +// UpdateAutoTargets(CFuncTrackChange *const this, +// int toggleState); // 1954 +} + +/* <131725> ../cstrike/dlls/plats.cpp:1971 */ +NOBODY void CFuncTrackChange::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Use(CFuncTrackChange *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 1971 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 1986 +} + +/* <12f618> ../cstrike/dlls/plats.cpp:2005 */ +NOBODY void CFuncTrackChange::HitBottom_(void) +{ +// HitBottom(CFuncPlatRot *const this); // 2007 +// EnableUse(CFuncTrackChange *const this); // 2018 +// SetTrack(CFuncTrackTrain *const this, +// class CPathTrack *track); // 2011 +} + +/* <12f588> ../cstrike/dlls/plats.cpp:2025 */ +NOBODY void CFuncTrackChange::HitTop_(void) +{ +// HitTop(CFuncPlatRot *const this); // 2027 +// EnableUse(CFuncTrackChange *const this); // 2038 +// SetTrack(CFuncTrackTrain *const this, +// class CPathTrack *track); // 2031 +} + +/* <131bc3> ../cstrike/dlls/plats.cpp:2050 */ +LINK_ENTITY_TO_CLASS(func_trackautochange, CFuncTrackAuto); + +/* <12dc2a> ../cstrike/dlls/plats.cpp:2053 */ +NOBODY void CFuncTrackAuto::UpdateAutoTargets_(int toggleState) +{ +// { +// class CPathTrack *pTarget; // 2055 +// class CPathTrack *pNextTarget; // 2055 +// } +} + +/* <1301f9> ../cstrike/dlls/plats.cpp:2083 */ +NOBODY void CFuncTrackAuto::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// class CPathTrack *pTarget; // 2085 +// } +// Use(CFuncTrackAuto *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 2083 +} + +/* <131c90> ../cstrike/dlls/plats.cpp:2163 */ +LINK_ENTITY_TO_CLASS(func_guntarget, CGunTarget); + +/* <12e080> ../cstrike/dlls/plats.cpp:2170 */ +IMPLEMENT_SAVERESTORE(CGunTarget, CBaseMonster); + +/* <12dbb8> ../cstrike/dlls/plats.cpp:2173 */ +NOBODY void CGunTarget::Spawn_(void) +{ +} + +/* <12dade> ../cstrike/dlls/plats.cpp:2199 */ +NOBODY void CGunTarget::Activate_(void) +{ +// { +// class CBaseEntity *pTarg; // 2201 +// operator+(const Vector *const this, +// const Vector &v); // 2208 +// operator*(const Vector *const this, +// float fl); // 2208 +// operator-(const Vector *const this, +// const Vector &v); // 2208 +// } +} + +/* <12d947> ../cstrike/dlls/plats.cpp:2213 */ +NOBODY void CGunTarget::Start(void) +{ +} + +/* <12d96e> ../cstrike/dlls/plats.cpp:2219 */ +NOBODY void CGunTarget::Next(void) +{ +// { +// class CBaseEntity *pTarget; // 2224 +// operator+(const Vector *const this, +// const Vector &v); // 2232 +// operator*(const Vector *const this, +// float fl); // 2232 +// operator-(const Vector *const this, +// const Vector &v); // 2232 +// Stop(CGunTarget *const this); // 2228 +// } +} + +/* <12da61> ../cstrike/dlls/plats.cpp:2236 */ +NOBODY void CGunTarget::Wait(void) +{ +// { +// class CBaseEntity *pTarget; // 2238 +// Stop(CGunTarget *const this); // 2242 +// } +} + +/* <131d5d> ../cstrike/dlls/plats.cpp:2269 */ +NOBODY void CGunTarget::Stop(void) +{ +} + +/* <12e371> ../cstrike/dlls/plats.cpp:2277 */ +NOBODY int CGunTarget::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType) +{ +// Stop(CGunTarget *const this); // 2285 +// TakeDamage(CGunTarget *const this, +// entvars_t *pevInflictor, +// entvars_t *pevAttacker, +// float flDamage, +// int bitsDamageType); // 2277 +} + +/* <12e408> ../cstrike/dlls/plats.cpp:2294 */ +NOBODY void CGunTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Stop(CGunTarget *const this); // 2301 +// Use(CGunTarget *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 2294 +} + #ifdef HOOK_GAMEDLL void CBasePlatTrain::Precache(void) @@ -1086,56 +1086,56 @@ void CFuncPlatRot::HitBottom(void) { HitBottom_(); } - -void CFuncTrain::Spawn(void) -{ - Spawn_(); -} - -void CFuncTrain::Precache(void) -{ - Precache_(); -} - -void CFuncTrain::Restart(void) -{ - Restart_(); -} - -void CFuncTrain::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CFuncTrain::Save(CSave &save) -{ - return Save_(save); -} - -int CFuncTrain::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CFuncTrain::Activate(void) -{ - Activate_(); -} - -void CFuncTrain::OverrideReset(void) -{ - OverrideReset_(); -} - -void CFuncTrain::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CFuncTrain::Blocked(CBaseEntity *pOther) -{ - Blocked_(pOther); -} + +void CFuncTrain::Spawn(void) +{ + Spawn_(); +} + +void CFuncTrain::Precache(void) +{ + Precache_(); +} + +void CFuncTrain::Restart(void) +{ + Restart_(); +} + +void CFuncTrain::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CFuncTrain::Save(CSave &save) +{ + return Save_(save); +} + +int CFuncTrain::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CFuncTrain::Activate(void) +{ + Activate_(); +} + +void CFuncTrain::OverrideReset(void) +{ + OverrideReset_(); +} + +void CFuncTrain::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CFuncTrain::Blocked(CBaseEntity *pOther) +{ + Blocked_(pOther); +} void CFuncTrackTrain::Spawn(void) { diff --git a/regamedll/dlls/player.cpp b/regamedll/dlls/player.cpp index e38f7ede..c998d2e9 100644 --- a/regamedll/dlls/player.cpp +++ b/regamedll/dlls/player.cpp @@ -1,323 +1,397 @@ -#include "precompiled.h" - -#define DEFINE_WEAPON(m_wpnid, m_cost, m_slotnum, m_acost)\ - { m_wpnid, m_cost, 3, m_slotnum, m_acost } - -/* <14e3fc> ../cstrike/dlls/player.cpp:5868 */ -struct ZombieSpawn -{ - CBaseEntity *entity; - CountdownTimer useableTimer; -};/* size: 12, cachelines: 1, members: 2 */ - -/* -* Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -int giPrecacheGrunt = 0; -int gmsgFlashlight = 0; -int gmsgFlashBattery = 0; -int gmsgResetHUD = 0; -int gmsgInitHUD = 0; -int gmsgViewMode = 0; -int gmsgShowGameTitle = 0; -int gmsgCurWeapon = 0; -int gmsgHealth = 0; -int gmsgDamage = 0; -int gmsgBattery = 0; -int gmsgTrain = 0; -int gmsgLogo = 0; -int gmsgWeaponList = 0; -int gmsgAmmoX = 0; -int gmsgDeathMsg = 0; -int gmsgScoreAttrib = 0; -int gmsgScoreInfo = 0; -int gmsgTeamInfo = 0; -int gmsgTeamScore = 0; -int gmsgGameMode = 0; -int gmsgMOTD = 0; -int gmsgServerName = 0; -int gmsgAmmoPickup = 0; -int gmsgItemPickup = 0; -int gmsgHideWeapon = 0; -int gmsgSayText = 0; -int gmsgTextMsg = 0; -int gmsgSetFOV = 0; -int gmsgShowMenu = 0; -int gmsgSendAudio = 0; -int gmsgRoundTime = 0; -int gmsgMoney = 0; -int gmsgBlinkAcct = 0; -int gmsgArmorType = 0; -int gmsgStatusValue = 0; -int gmsgStatusText = 0; -int gmsgStatusIcon = 0; -int gmsgBarTime = 0; -int gmsgReloadSound = 0; -int gmsgCrosshair = 0; -int gmsgNVGToggle = 0; -int gmsgRadar = 0; -int gmsgSpectator = 0; -int gmsgVGUIMenu = 0; -int gmsgCZCareer = 0; -int gmsgCZCareerHUD = 0; -int gmsgTaskTime = 0; -int gmsgTutorText = 0; -int gmsgTutorLine = 0; -int gmsgShadowIdx = 0; -int gmsgTutorState = 0; -int gmsgTutorClose = 0; -int gmsgAllowSpec = 0; -int gmsgBombDrop = 0; -int gmsgBombPickup = 0; -int gmsgHostagePos = 0; -int gmsgHostageK = 0; -int gmsgGeigerRange = 0; -int gmsgSendCorpse = 0; -int gmsgHLTV = 0; -int gmsgSpecHealth = 0; -int gmsgForceCam = 0; -int gmsgADStop = 0; -int gmsgReceiveW = 0; -int gmsgScenarioIcon = 0; -int gmsgBotVoice = 0; -int gmsgBuyClose = 0; -int gmsgItemStatus = 0; -int gmsgLocation = 0; -int gmsgSpecHealth2 = 0; -int gmsgBarTime2 = 0; -int gmsgBotProgress = 0; -int gmsgBrass = 0; -int gmsgFog = 0; -int gmsgShowTimer = 0; - -BOOL gInitHUD = TRUE; -cvar_t *sv_aim = NULL; - -TYPEDESCRIPTION CRevertSaved::m_SaveData[] = -{ - DEFINE_FIELD(CRevertSaved, m_messageTime, FIELD_FLOAT), - DEFINE_FIELD(CRevertSaved, m_loadTime, FIELD_FLOAT), -}; - -TYPEDESCRIPTION CBasePlayer::m_playerSaveData[] = -{ - DEFINE_FIELD(CBasePlayer, m_flFlashLightTime, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_iFlashBattery, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_afButtonLast, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_afButtonPressed, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_afButtonReleased, FIELD_INTEGER), - DEFINE_ARRAY(CBasePlayer, m_rgItems, FIELD_INTEGER, MAX_ITEMS), - DEFINE_FIELD(CBasePlayer, m_afPhysicsFlags, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_flTimeStepSound, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_flTimeWeaponIdle, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_flSwimTime, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_flDuckTime, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_flWallJumpTime, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_flSuitUpdate, FIELD_TIME), - DEFINE_ARRAY(CBasePlayer, m_rgSuitPlayList, FIELD_INTEGER, CSUITPLAYLIST), - DEFINE_FIELD(CBasePlayer, m_iSuitPlayNext, FIELD_INTEGER), - DEFINE_ARRAY(CBasePlayer, m_rgiSuitNoRepeat, FIELD_INTEGER, CSUITNOREPEAT), - DEFINE_ARRAY(CBasePlayer, m_rgflSuitNoRepeatTime, FIELD_TIME, CSUITNOREPEAT), - DEFINE_FIELD(CBasePlayer, m_lastDamageAmount, FIELD_INTEGER), - DEFINE_ARRAY(CBasePlayer, m_rgpPlayerItems, FIELD_CLASSPTR, MAX_ITEM_TYPES), - DEFINE_FIELD(CBasePlayer, m_pActiveItem, FIELD_CLASSPTR), - DEFINE_FIELD(CBasePlayer, m_pLastItem, FIELD_CLASSPTR), - DEFINE_ARRAY(CBasePlayer, m_rgAmmo, FIELD_INTEGER, MAX_AMMO_SLOTS), - DEFINE_FIELD(CBasePlayer, m_idrowndmg, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_idrownrestored, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_tSneaking, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_iTrain, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_bitsHUDDamage, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_flFallVelocity, FIELD_FLOAT), - DEFINE_FIELD(CBasePlayer, m_iTargetVolume, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_iWeaponVolume, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_iExtraSoundTypes, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_iWeaponFlash, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_fLongJump, FIELD_BOOLEAN), - DEFINE_FIELD(CBasePlayer, m_fInitHUD, FIELD_BOOLEAN), - DEFINE_FIELD(CBasePlayer, m_tbdPrev, FIELD_TIME), - DEFINE_FIELD(CBasePlayer, m_pTank, FIELD_EHANDLE), - DEFINE_FIELD(CBasePlayer, m_iHideHUD, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_iFOV, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_flDisplayHistory, FIELD_INTEGER), - DEFINE_FIELD(CBasePlayer, m_iJoiningState, FIELD_INTEGER), -}; - -//TODO: check it m_side - for restrict to team? CT changed to TERRORIST, and on the contrary? -WeaponStruct g_weaponStruct[MAX_WEAPONS] = -{ - { 0, 0, 0, 0, 0 }, - - { WEAPON_P228, P228_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_357SIG_PRICE }, - { WEAPON_SCOUT, SCOUT_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, - { WEAPON_XM1014, XM1014_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_BUCKSHOT_PRICE }, - { WEAPON_MAC10, MAC10_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_45ACP_PRICE }, - { WEAPON_AUG, AUG_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_ELITE, ELITE_PRICE, CT, AUTOBUYCLASS_SECONDARY, AMMO_9MM_PRICE }, - { WEAPON_FIVESEVEN, FIVESEVEN_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_57MM_PRICE }, - { WEAPON_UMP45, UMP45_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_45ACP_PRICE }, - { WEAPON_SG550, SG550_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_USP, USP_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_45ACP_PRICE }, - { WEAPON_GLOCK18, GLOCK18_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_9MM_PRICE }, - { WEAPON_MP5N, MP5NAVY_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_9MM_PRICE }, - { WEAPON_AWP, AWP_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_338MAG_PRICE }, - { WEAPON_M249, M249_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_M3, M3_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_BUCKSHOT_PRICE }, - { WEAPON_M4A1, M4A1_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_TMP, TMP_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_9MM_PRICE }, - { WEAPON_G3SG1, G3SG1_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, - { WEAPON_DEAGLE, DEAGLE_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_50AE_PRICE }, - { WEAPON_SG552, SG552_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_AK47, AK47_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, - { WEAPON_P90, P90_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_57MM_PRICE }, - { WEAPON_FAMAS, FAMAS_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - { WEAPON_GALIL, GALIL_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, - // TODO: this have bug, the cost of galil $2000, but not $2250 - - { WEAPON_SHIELDGUN, SHIELDGUN_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, 0 }, - - { 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0 } -}; - -char *CDeadHEV::m_szPoses[] = -{ - "deadback", - "deadsitting", - "deadstomach", - "deadtable" -}; - -#else //HOOK_GAMEDLL - -int giPrecacheGrunt; -int gmsgWeapPickup; -int gmsgHudText; -int gmsgHudTextArgs; -int gmsgShake; -int gmsgFade; -int gmsgFlashlight; -//int gmsgFlashBattery; -//int gmsgResetHUD; -//int gmsgInitHUD; -//int gmsgViewMode; -//int gmsgShowGameTitle; -int gmsgCurWeapon; -//int gmsgHealth; -//int gmsgDamage; -//int gmsgBattery; -//int gmsgTrain; -int gmsgLogo; -int gmsgWeaponList; -int gmsgAmmoX; -//int gmsgDeathMsg; -int gmsgScoreAttrib; -int gmsgScoreInfo; -int gmsgTeamInfo; -//int gmsgTeamScore; -//int gmsgGameMode; -//int gmsgMOTD; -//int gmsgServerName; -int gmsgAmmoPickup; -int gmsgItemPickup; -//int gmsgHideWeapon; -int gmsgSayText; -int gmsgTextMsg; -int gmsgSetFOV; -int gmsgShowMenu; -int gmsgSendAudio; -int gmsgRoundTime; -int gmsgMoney; -int gmsgBlinkAcct; -int gmsgArmorType; -int gmsgStatusValue; -int gmsgStatusText; -int gmsgStatusIcon; -int gmsgBarTime; -int gmsgReloadSound; -int gmsgCrosshair; -int gmsgNVGToggle; -//int gmsgRadar; -int gmsgSpectator; -//int gmsgVGUIMenu; -int gmsgCZCareer; -//int gmsgCZCareerHUD; -int gmsgTaskTime; -//int gmsgTutorText; -int gmsgTutorLine; -//int gmsgShadowIdx; -int gmsgTutorState; -int gmsgTutorClose; -//int gmsgAllowSpec; -int gmsgBombDrop; -//int gmsgBombPickup; -int gmsgHostagePos; -//int gmsgHostageK; -int gmsgGeigerRange; -int gmsgSendCorpse; -//int gmsgHLTV; -//int gmsgSpecHealth; -//int gmsgForceCam; -//int gmsgADStop; -int gmsgReceiveW; -int gmsgScenarioIcon; -int gmsgBotVoice; -int gmsgBuyClose; -int gmsgItemStatus; -int gmsgLocation; -int gmsgSpecHealth2; -int gmsgBarTime2; -int gmsgBotProgress; -//int gmsgBrass; -//int gmsgFog; -//int gmsgShowTimer; - -BOOL gInitHUD; -cvar_t *sv_aim; - -TYPEDESCRIPTION (*CRevertSaved::pm_SaveData)[2]; -TYPEDESCRIPTION (*CBasePlayer::pm_playerSaveData)[40]; -WeaponStruct g_weaponStruct[ MAX_WEAPONS ]; -char *(*CDeadHEV::pm_szPoses)[4]; - -#endif //HOOK_GAMEDLL - -//int giPrecacheGrunt; -int gEvilImpulse101; -char g_szMapBriefingText[512]; - -//extern cvar_t fadetoblack; // move player.h -//extern cvar_t playerid; // move player.h - -//CBaseEntity *g_pSelectedZombieSpawn; - -//entvars_t *g_pevLastInflictor; -//extern cvar_t startmoney; // move player.h -//CBaseEntity *g_pLastSpawn; -//CBaseEntity *g_pLastCTSpawn; -//CBaseEntity *g_pLastTerroristSpawn; -//ZombieSpawn zombieSpawn[256]; -//int zombieSpawnCount; -//extern float g_flWeaponCheat; -//float g_flWeaponCheat; // move player.h - -//const char *BotArgs[4]; -//bool UseBotArgs; - -/* <15353b> ../cstrike/dlls/player.cpp:282 */ -NOBODY void LinkUserMessages(void) -{ -} - -/* <1535a5> ../cstrike/dlls/player.cpp:380 */ -void WriteSigonMessages(void) -{ +#include "precompiled.h" + +#define DEFINE_WEAPON(m_wpnid, m_cost, m_slotnum, m_acost)\ + { m_wpnid, m_cost, 3, m_slotnum, m_acost } + +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + +int giPrecacheGrunt = 0; +int gmsgFlashlight = 0; +int gmsgFlashBattery = 0; +int gmsgResetHUD = 0; +int gmsgInitHUD = 0; +int gmsgViewMode = 0; +int gmsgShowGameTitle = 0; +int gmsgCurWeapon = 0; +int gmsgHealth = 0; +int gmsgDamage = 0; +int gmsgBattery = 0; +int gmsgTrain = 0; +int gmsgLogo = 0; +int gmsgWeaponList = 0; +int gmsgAmmoX = 0; +int gmsgDeathMsg = 0; +int gmsgScoreAttrib = 0; +int gmsgScoreInfo = 0; +int gmsgTeamInfo = 0; +int gmsgTeamScore = 0; +int gmsgGameMode = 0; +int gmsgMOTD = 0; +int gmsgServerName = 0; +int gmsgAmmoPickup = 0; +int gmsgItemPickup = 0; +int gmsgHideWeapon = 0; +int gmsgSayText = 0; +int gmsgTextMsg = 0; +int gmsgSetFOV = 0; +int gmsgShowMenu = 0; +int gmsgSendAudio = 0; +int gmsgRoundTime = 0; +int gmsgMoney = 0; +int gmsgBlinkAcct = 0; +int gmsgArmorType = 0; +int gmsgStatusValue = 0; +int gmsgStatusText = 0; +int gmsgStatusIcon = 0; +int gmsgBarTime = 0; +int gmsgReloadSound = 0; +int gmsgCrosshair = 0; +int gmsgNVGToggle = 0; +int gmsgRadar = 0; +int gmsgSpectator = 0; +int gmsgVGUIMenu = 0; +int gmsgCZCareer = 0; +int gmsgCZCareerHUD = 0; +int gmsgTaskTime = 0; +int gmsgTutorText = 0; +int gmsgTutorLine = 0; +int gmsgShadowIdx = 0; +int gmsgTutorState = 0; +int gmsgTutorClose = 0; +int gmsgAllowSpec = 0; +int gmsgBombDrop = 0; +int gmsgBombPickup = 0; +int gmsgHostagePos = 0; +int gmsgHostageK = 0; +int gmsgGeigerRange = 0; +int gmsgSendCorpse = 0; +int gmsgHLTV = 0; +int gmsgSpecHealth = 0; +int gmsgForceCam = 0; +int gmsgADStop = 0; +int gmsgReceiveW = 0; +int gmsgScenarioIcon = 0; +int gmsgBotVoice = 0; +int gmsgBuyClose = 0; +int gmsgItemStatus = 0; +int gmsgLocation = 0; +int gmsgSpecHealth2 = 0; +int gmsgBarTime2 = 0; +int gmsgBotProgress = 0; +int gmsgBrass = 0; +int gmsgFog = 0; +int gmsgShowTimer = 0; + +BOOL gInitHUD = TRUE; +cvar_t *sv_aim = NULL; + +TYPEDESCRIPTION CRevertSaved::m_SaveData[] = +{ + DEFINE_FIELD(CRevertSaved, m_messageTime, FIELD_FLOAT), + DEFINE_FIELD(CRevertSaved, m_loadTime, FIELD_FLOAT), +}; + +TYPEDESCRIPTION CBasePlayer::m_playerSaveData[] = +{ + DEFINE_FIELD(CBasePlayer, m_flFlashLightTime, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_iFlashBattery, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_afButtonLast, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_afButtonPressed, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_afButtonReleased, FIELD_INTEGER), + DEFINE_ARRAY(CBasePlayer, m_rgItems, FIELD_INTEGER, MAX_ITEMS), + DEFINE_FIELD(CBasePlayer, m_afPhysicsFlags, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_flTimeStepSound, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_flTimeWeaponIdle, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_flSwimTime, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_flDuckTime, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_flWallJumpTime, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_flSuitUpdate, FIELD_TIME), + DEFINE_ARRAY(CBasePlayer, m_rgSuitPlayList, FIELD_INTEGER, CSUITPLAYLIST), + DEFINE_FIELD(CBasePlayer, m_iSuitPlayNext, FIELD_INTEGER), + DEFINE_ARRAY(CBasePlayer, m_rgiSuitNoRepeat, FIELD_INTEGER, CSUITNOREPEAT), + DEFINE_ARRAY(CBasePlayer, m_rgflSuitNoRepeatTime, FIELD_TIME, CSUITNOREPEAT), + DEFINE_FIELD(CBasePlayer, m_lastDamageAmount, FIELD_INTEGER), + DEFINE_ARRAY(CBasePlayer, m_rgpPlayerItems, FIELD_CLASSPTR, MAX_ITEM_TYPES), + DEFINE_FIELD(CBasePlayer, m_pActiveItem, FIELD_CLASSPTR), + DEFINE_FIELD(CBasePlayer, m_pLastItem, FIELD_CLASSPTR), + DEFINE_ARRAY(CBasePlayer, m_rgAmmo, FIELD_INTEGER, MAX_AMMO_SLOTS), + DEFINE_FIELD(CBasePlayer, m_idrowndmg, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_idrownrestored, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_tSneaking, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_iTrain, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_bitsHUDDamage, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_flFallVelocity, FIELD_FLOAT), + DEFINE_FIELD(CBasePlayer, m_iTargetVolume, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_iWeaponVolume, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_iExtraSoundTypes, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_iWeaponFlash, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_fLongJump, FIELD_BOOLEAN), + DEFINE_FIELD(CBasePlayer, m_fInitHUD, FIELD_BOOLEAN), + DEFINE_FIELD(CBasePlayer, m_tbdPrev, FIELD_TIME), + DEFINE_FIELD(CBasePlayer, m_pTank, FIELD_EHANDLE), + DEFINE_FIELD(CBasePlayer, m_iHideHUD, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_iFOV, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_flDisplayHistory, FIELD_INTEGER), + DEFINE_FIELD(CBasePlayer, m_iJoiningState, FIELD_INTEGER), +}; + +//TODO: check it m_side - for restrict to team? CT changed to TERRORIST, and on the contrary? +WeaponStruct g_weaponStruct[MAX_WEAPONS] = +{ + { 0, 0, 0, 0, 0 }, + + { WEAPON_P228, P228_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_357SIG_PRICE }, + { WEAPON_SCOUT, SCOUT_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, + { WEAPON_XM1014, XM1014_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_BUCKSHOT_PRICE }, + { WEAPON_MAC10, MAC10_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_45ACP_PRICE }, + { WEAPON_AUG, AUG_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_ELITE, ELITE_PRICE, CT, AUTOBUYCLASS_SECONDARY, AMMO_9MM_PRICE }, + { WEAPON_FIVESEVEN, FIVESEVEN_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_57MM_PRICE }, + { WEAPON_UMP45, UMP45_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_45ACP_PRICE }, + { WEAPON_SG550, SG550_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_USP, USP_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_45ACP_PRICE }, + { WEAPON_GLOCK18, GLOCK18_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_9MM_PRICE }, + { WEAPON_MP5N, MP5NAVY_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_9MM_PRICE }, + { WEAPON_AWP, AWP_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_338MAG_PRICE }, + { WEAPON_M249, M249_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_M3, M3_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_BUCKSHOT_PRICE }, + { WEAPON_M4A1, M4A1_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_TMP, TMP_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_9MM_PRICE }, + { WEAPON_G3SG1, G3SG1_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, + { WEAPON_DEAGLE, DEAGLE_PRICE, TERRORIST|CT, AUTOBUYCLASS_SECONDARY, AMMO_50AE_PRICE }, + { WEAPON_SG552, SG552_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_AK47, AK47_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_762MM_PRICE }, + { WEAPON_P90, P90_PRICE, TERRORIST|CT, AUTOBUYCLASS_PRIMARY, AMMO_57MM_PRICE }, + { WEAPON_FAMAS, FAMAS_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + { WEAPON_GALIL, GALIL_PRICE, CT, AUTOBUYCLASS_PRIMARY, AMMO_556MM_PRICE }, + // TODO: this have bug, the cost of galil $2000, but not $2250 + + { WEAPON_SHIELDGUN, SHIELDGUN_PRICE, TERRORIST, AUTOBUYCLASS_PRIMARY, 0 }, + + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 } +}; + +char *CDeadHEV::m_szPoses[] = +{ + "deadback", + "deadsitting", + "deadstomach", + "deadtable" +}; + +#else //HOOK_GAMEDLL + +int giPrecacheGrunt; +int gmsgWeapPickup; +int gmsgHudText; +int gmsgHudTextArgs; +int gmsgShake; +int gmsgFade; +int gmsgFlashlight; +int gmsgFlashBattery; +int gmsgResetHUD; +int gmsgInitHUD; +int gmsgViewMode; +int gmsgShowGameTitle; +int gmsgCurWeapon; +int gmsgHealth; +int gmsgDamage; +int gmsgBattery; +int gmsgTrain; +int gmsgLogo; +int gmsgWeaponList; +int gmsgAmmoX; +int gmsgDeathMsg; +int gmsgScoreAttrib; +int gmsgScoreInfo; +int gmsgTeamInfo; +int gmsgTeamScore; +int gmsgGameMode; +int gmsgMOTD; +int gmsgServerName; +int gmsgAmmoPickup; +int gmsgItemPickup; +int gmsgHideWeapon; +int gmsgSayText; +int gmsgTextMsg; +int gmsgSetFOV; +int gmsgShowMenu; +int gmsgSendAudio; +int gmsgRoundTime; +int gmsgMoney; +int gmsgBlinkAcct; +int gmsgArmorType; +int gmsgStatusValue; +int gmsgStatusText; +int gmsgStatusIcon; +int gmsgBarTime; +int gmsgReloadSound; +int gmsgCrosshair; +int gmsgNVGToggle; +int gmsgRadar; +int gmsgSpectator; +int gmsgVGUIMenu; +int gmsgCZCareer; +int gmsgCZCareerHUD; +int gmsgTaskTime; +int gmsgTutorText; +int gmsgTutorLine; +int gmsgShadowIdx; +int gmsgTutorState; +int gmsgTutorClose; +int gmsgAllowSpec; +int gmsgBombDrop; +int gmsgBombPickup; +int gmsgHostagePos; +int gmsgHostageK; +int gmsgGeigerRange; +int gmsgSendCorpse; +int gmsgHLTV; +int gmsgSpecHealth; +int gmsgForceCam; +int gmsgADStop; +int gmsgReceiveW; +int gmsgScenarioIcon; +int gmsgBotVoice; +int gmsgBuyClose; +int gmsgItemStatus; +int gmsgLocation; +int gmsgSpecHealth2; +int gmsgBarTime2; +int gmsgBotProgress; +int gmsgBrass; +int gmsgFog; +int gmsgShowTimer; + +BOOL gInitHUD; +cvar_t *sv_aim; + +TYPEDESCRIPTION (*CRevertSaved::pm_SaveData)[2]; +TYPEDESCRIPTION (*CBasePlayer::pm_playerSaveData)[40]; +WeaponStruct g_weaponStruct[ MAX_WEAPONS ]; +char *(*CDeadHEV::pm_szPoses)[4]; + +#endif //HOOK_GAMEDLL + +//int giPrecacheGrunt; +int gEvilImpulse101; +char g_szMapBriefingText[512]; + +//entvars_t *g_pevLastInflictor; +CBaseEntity *g_pLastSpawn; +CBaseEntity *g_pLastCTSpawn; +CBaseEntity *g_pLastTerroristSpawn; + +/* <14e3fc> ../cstrike/dlls/player.cpp:5868 */ +struct ZombieSpawn +{ + CBaseEntity *entity; + CountdownTimer useableTimer; + +};/* size: 12, cachelines: 1, members: 2 */ + +ZombieSpawn zombieSpawn[256]; +int zombieSpawnCount; + +/* <15353b> ../cstrike/dlls/player.cpp:282 */ +void LinkUserMessages(void) +{ + if (gmsgCurWeapon) + return; + + gmsgCurWeapon = REG_USER_MSG("CurWeapon", 3); + gmsgGeigerRange = REG_USER_MSG("Geiger", 1); + gmsgFlashlight = REG_USER_MSG("Flashlight", 2); + gmsgFlashBattery = REG_USER_MSG("FlashBat", 1); + gmsgHealth = REG_USER_MSG("Health", 1); + gmsgDamage = REG_USER_MSG("Damage", 12); + gmsgBattery = REG_USER_MSG("Battery", 2); + gmsgTrain = REG_USER_MSG("Train", 1); + gmsgHudText = REG_USER_MSG("HudTextPro", -1); + REG_USER_MSG("HudText", -1); + gmsgSayText = REG_USER_MSG("SayText", -1); + gmsgTextMsg = REG_USER_MSG("TextMsg", -1); + gmsgWeaponList = REG_USER_MSG("WeaponList", -1); + gmsgResetHUD = REG_USER_MSG("ResetHUD", 0); + gmsgInitHUD = REG_USER_MSG("InitHUD", 0); + gmsgViewMode = REG_USER_MSG("ViewMode", 0); + gmsgShowGameTitle = REG_USER_MSG("GameTitle", 1); + gmsgDeathMsg = REG_USER_MSG("DeathMsg", -1); + gmsgScoreAttrib = REG_USER_MSG("ScoreAttrib", 2); + gmsgScoreInfo = REG_USER_MSG("ScoreInfo", 9); + gmsgTeamInfo = REG_USER_MSG("TeamInfo", -1); + gmsgTeamScore = REG_USER_MSG("TeamScore", -1); + gmsgGameMode = REG_USER_MSG("GameMode", 1); + gmsgMOTD = REG_USER_MSG("MOTD", -1); + gmsgServerName = REG_USER_MSG("ServerName", -1); + gmsgAmmoPickup = REG_USER_MSG("AmmoPickup", 2); + gmsgWeapPickup = REG_USER_MSG("WeapPickup", 1); + gmsgItemPickup = REG_USER_MSG("ItemPickup", -1); + gmsgHideWeapon = REG_USER_MSG("HideWeapon", 1); + gmsgSetFOV = REG_USER_MSG("SetFOV", 1); + gmsgShowMenu = REG_USER_MSG("ShowMenu", -1); + gmsgShake = REG_USER_MSG("ScreenShake", 6); + gmsgFade = REG_USER_MSG("ScreenFade", 10); + gmsgAmmoX = REG_USER_MSG("AmmoX", 2); + gmsgSendAudio = REG_USER_MSG("SendAudio", -1); + gmsgRoundTime = REG_USER_MSG("RoundTime", 2); + gmsgMoney = REG_USER_MSG("Money", 5); + gmsgArmorType = REG_USER_MSG("ArmorType", 1); + gmsgBlinkAcct = REG_USER_MSG("BlinkAcct", 1); + gmsgStatusValue = REG_USER_MSG("StatusValue", -1); + gmsgStatusText = REG_USER_MSG("StatusText", -1); + gmsgStatusIcon = REG_USER_MSG("StatusIcon", -1); + gmsgBarTime = REG_USER_MSG("BarTime", 2); + gmsgReloadSound = REG_USER_MSG("ReloadSound", 2); + gmsgCrosshair = REG_USER_MSG("Crosshair", 1); + gmsgNVGToggle = REG_USER_MSG("NVGToggle", 1); + gmsgRadar = REG_USER_MSG("Radar", 7); + gmsgSpectator = REG_USER_MSG("Spectator", 2); + gmsgVGUIMenu = REG_USER_MSG("VGUIMenu", -1); + gmsgTutorText = REG_USER_MSG("TutorText", -1); + gmsgTutorLine = REG_USER_MSG("TutorLine", -1); + gmsgTutorState = REG_USER_MSG("TutorState", -1); + gmsgTutorClose = REG_USER_MSG("TutorClose", -1); + gmsgAllowSpec = REG_USER_MSG("AllowSpec", 1); + gmsgBombDrop = REG_USER_MSG("BombDrop", 7); + gmsgBombPickup = REG_USER_MSG("BombPickup", 0); + gmsgSendCorpse = REG_USER_MSG("ClCorpse", -1); + gmsgHostagePos = REG_USER_MSG("HostagePos", 8); + gmsgHostageK = REG_USER_MSG("HostageK", 1); + gmsgHLTV = REG_USER_MSG("HLTV", 2); + gmsgSpecHealth = REG_USER_MSG("SpecHealth", 1); + gmsgForceCam = REG_USER_MSG("ForceCam", 3); + gmsgADStop = REG_USER_MSG("ADStop", 0); + gmsgReceiveW = REG_USER_MSG("ReceiveW", 1); + gmsgCZCareer = REG_USER_MSG("CZCareer", -1); + gmsgCZCareerHUD = REG_USER_MSG("CZCareerHUD", -1); + gmsgShadowIdx = REG_USER_MSG("ShadowIdx", 4); + gmsgTaskTime = REG_USER_MSG("TaskTime", 4); + gmsgScenarioIcon = REG_USER_MSG("Scenario", -1); + gmsgBotVoice = REG_USER_MSG("BotVoice", 2); + gmsgBuyClose = REG_USER_MSG("BuyClose", 0); + gmsgSpecHealth2 = REG_USER_MSG("SpecHealth2", 2); + gmsgBarTime2 = REG_USER_MSG("BarTime2", 4); + gmsgItemStatus = REG_USER_MSG("ItemStatus", 1); + gmsgLocation = REG_USER_MSG("Location", -1); + gmsgBotProgress = REG_USER_MSG("BotProgress", -1); + gmsgBrass = REG_USER_MSG("Brass", -1); + gmsgFog = REG_USER_MSG("Fog", 7); + gmsgShowTimer = REG_USER_MSG("ShowTimer", 0); + gmsgHudTextArgs = REG_USER_MSG("HudTextArgs", -1); +} + +/* <1535a5> ../cstrike/dlls/player.cpp:380 */ +void WriteSigonMessages(void) +{ for (int i = 0; i < MAX_WEAPONS; i++) { ItemInfo &II = IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, ItemInfoArray)[i]; @@ -342,14 +416,14 @@ void WriteSigonMessages(void) WRITE_BYTE(II.iId); WRITE_BYTE(II.iFlags); MESSAGE_END(); - } -} - -/* <15f281> ../cstrike/dlls/player.cpp:425 */ -LINK_ENTITY_TO_CLASS(player, CBasePlayer); - -/* <1536a9> ../cstrike/dlls/player.cpp:429 */ -void SendItemStatus(CBasePlayer *pPlayer) + } +} + +/* <15f281> ../cstrike/dlls/player.cpp:425 */ +LINK_ENTITY_TO_CLASS(player, CBasePlayer); + +/* <1536a9> ../cstrike/dlls/player.cpp:429 */ +void SendItemStatus(CBasePlayer *pPlayer) { int itemStatus = 0; if (pPlayer->m_bHasNightVision) @@ -360,113 +434,113 @@ void SendItemStatus(CBasePlayer *pPlayer) MESSAGE_BEGIN(MSG_ONE, gmsgItemStatus, NULL, pPlayer->pev); WRITE_BYTE(itemStatus); - MESSAGE_END(); -} - -/* <150ed5> ../cstrike/dlls/player.cpp:438 */ -const char *GetCSModelName(int item_id) -{ + MESSAGE_END(); +} + +/* <150ed5> ../cstrike/dlls/player.cpp:438 */ +const char *GetCSModelName(int item_id) +{ const char *modelName = NULL; switch (item_id) { - case WEAPON_P228: - modelName = "models/w_p228.mdl"; - break; - case WEAPON_SCOUT: - modelName = "models/w_scout.mdl"; - break; - case WEAPON_HEGRENADE: - modelName = "models/w_hegrenade.mdl"; - break; - case WEAPON_XM1014: - modelName = "models/w_xm1014.mdl"; - break; - case WEAPON_C4: - modelName = "models/w_backpack.mdl"; - break; - case WEAPON_MAC10: - modelName = "models/w_mac10.mdl"; - break; - case WEAPON_AUG: - modelName = "models/w_aug.mdl"; - break; - case WEAPON_SMOKEGRENADE: - modelName = "models/w_smokegrenade.mdl"; - break; - case WEAPON_ELITE: - modelName = "models/w_elite.mdl"; - break; - case WEAPON_FIVESEVEN: - modelName = "models/w_fiveseven.mdl"; - break; - case WEAPON_UMP45: - modelName = "models/w_ump45.mdl"; - break; - case WEAPON_SG550: - modelName = "models/w_sg550.mdl"; - break; - case WEAPON_GALIL: - modelName = "models/w_galil.mdl"; - break; - case WEAPON_FAMAS: - modelName = "models/w_famas.mdl"; - break; - case WEAPON_USP: - modelName = "models/w_usp.mdl"; - break; - case WEAPON_GLOCK18: - modelName = "models/w_glock18.mdl"; - break; - case WEAPON_AWP: - modelName = "models/w_awp.mdl"; - break; - case WEAPON_MP5N: - modelName = "models/w_mp5.mdl"; - break; - case WEAPON_M249: - modelName = "models/w_m249.mdl"; - break; - case WEAPON_M3: - modelName = "models/w_m3.mdl"; - break; - case WEAPON_M4A1: - modelName = "models/w_m4a1.mdl"; - break; - case WEAPON_TMP: - modelName = "models/w_tmp.mdl"; - break; - case WEAPON_G3SG1: - modelName = "models/w_g3sg1.mdl"; - break; - case WEAPON_FLASHBANG: - modelName = "models/w_flashbang.mdl"; - break; - case WEAPON_DEAGLE: - modelName = "models/w_deagle.mdl"; - break; - case WEAPON_SG552: - modelName = "models/w_sg552.mdl"; - break; - case WEAPON_AK47: - modelName = "models/w_ak47.mdl"; - break; - case WEAPON_KNIFE: - modelName = "models/w_knife.mdl"; - break; - case WEAPON_P90: - modelName = "models/w_p90.mdl"; - break; - case WEAPON_SHIELDGUN: - modelName = "models/w_shield.mdl"; + case WEAPON_P228: + modelName = "models/w_p228.mdl"; + break; + case WEAPON_SCOUT: + modelName = "models/w_scout.mdl"; + break; + case WEAPON_HEGRENADE: + modelName = "models/w_hegrenade.mdl"; + break; + case WEAPON_XM1014: + modelName = "models/w_xm1014.mdl"; + break; + case WEAPON_C4: + modelName = "models/w_backpack.mdl"; + break; + case WEAPON_MAC10: + modelName = "models/w_mac10.mdl"; + break; + case WEAPON_AUG: + modelName = "models/w_aug.mdl"; + break; + case WEAPON_SMOKEGRENADE: + modelName = "models/w_smokegrenade.mdl"; + break; + case WEAPON_ELITE: + modelName = "models/w_elite.mdl"; + break; + case WEAPON_FIVESEVEN: + modelName = "models/w_fiveseven.mdl"; + break; + case WEAPON_UMP45: + modelName = "models/w_ump45.mdl"; + break; + case WEAPON_SG550: + modelName = "models/w_sg550.mdl"; + break; + case WEAPON_GALIL: + modelName = "models/w_galil.mdl"; + break; + case WEAPON_FAMAS: + modelName = "models/w_famas.mdl"; + break; + case WEAPON_USP: + modelName = "models/w_usp.mdl"; + break; + case WEAPON_GLOCK18: + modelName = "models/w_glock18.mdl"; + break; + case WEAPON_AWP: + modelName = "models/w_awp.mdl"; + break; + case WEAPON_MP5N: + modelName = "models/w_mp5.mdl"; + break; + case WEAPON_M249: + modelName = "models/w_m249.mdl"; + break; + case WEAPON_M3: + modelName = "models/w_m3.mdl"; + break; + case WEAPON_M4A1: + modelName = "models/w_m4a1.mdl"; + break; + case WEAPON_TMP: + modelName = "models/w_tmp.mdl"; + break; + case WEAPON_G3SG1: + modelName = "models/w_g3sg1.mdl"; + break; + case WEAPON_FLASHBANG: + modelName = "models/w_flashbang.mdl"; + break; + case WEAPON_DEAGLE: + modelName = "models/w_deagle.mdl"; + break; + case WEAPON_SG552: + modelName = "models/w_sg552.mdl"; + break; + case WEAPON_AK47: + modelName = "models/w_ak47.mdl"; + break; + case WEAPON_KNIFE: + modelName = "models/w_knife.mdl"; + break; + case WEAPON_P90: + modelName = "models/w_p90.mdl"; + break; + case WEAPON_SHIELDGUN: + modelName = "models/w_shield.mdl"; break; default: ALERT(at_console, "CBasePlayer::PackDeadPlayerItems(): Unhandled item- not creating weaponbox\n"); } - return modelName; -} - -/* <153737> ../cstrike/dlls/player.cpp:572 */ -void CBasePlayer::SetPlayerModel(BOOL HasC4) + return modelName; +} + +/* <153737> ../cstrike/dlls/player.cpp:572 */ +void CBasePlayer::SetPlayerModel(BOOL HasC4) { char *infobuffer = GET_INFO_BUFFER(edict()); char *model; @@ -552,54 +626,54 @@ void CBasePlayer::SetPlayerModel(BOOL HasC4) model = "urban"; if (Q_strcmp(GET_KEY_VALUE(infobuffer, "model"), model)) - SET_CLIENT_KEY_VALUE(entindex(), infobuffer, "model", model); -} - -/* <15f129> ../cstrike/dlls/player.cpp:659 */ -NOXREF CBasePlayer *CBasePlayer::GetNextRadioRecipient(CBasePlayer *pStartPlayer) -{ - CBaseEntity *pEntity = (CBaseEntity *)pStartPlayer; - while ((pEntity = UTIL_FindEntityByClassname(pEntity, "player")) != NULL) - { + SET_CLIENT_KEY_VALUE(entindex(), infobuffer, "model", model); +} + +/* <15f129> ../cstrike/dlls/player.cpp:659 */ +NOXREF CBasePlayer *CBasePlayer::GetNextRadioRecipient(CBasePlayer *pStartPlayer) +{ + CBaseEntity *pEntity = (CBaseEntity *)pStartPlayer; + while ((pEntity = UTIL_FindEntityByClassname(pEntity, "player")) != NULL) + { if (FNullEnt(pEntity->edict())) - break; - - BOOL bSend = FALSE; - CBasePlayer *pPlayer = GetClassPtr((CBasePlayer *)pEntity->pev); - - if (pEntity->IsPlayer()) - { + break; + + BOOL bSend = FALSE; + CBasePlayer *pPlayer = GetClassPtr((CBasePlayer *)pEntity->pev); + + if (pEntity->IsPlayer()) + { if (pEntity->IsDormant()) continue; if (pPlayer && pPlayer->m_iTeam == m_iTeam) - bSend = TRUE; - } - else if (pPlayer) - { - int iSpecMode = IsObserver(); - + bSend = TRUE; + } + else if (pPlayer) + { + int iSpecMode = IsObserver(); + if (iSpecMode != OBS_CHASE_LOCKED && iSpecMode != OBS_CHASE_FREE && iSpecMode != OBS_IN_EYE) - continue; - - if (!FNullEnt(m_hObserverTarget)) - continue; - - CBasePlayer *pTarget = (CBasePlayer *)CBaseEntity::Instance( pPlayer->m_hObserverTarget->pev ); - - if (pTarget && pTarget->m_iTeam == m_iTeam) - bSend = TRUE; - } - - if (bSend) - return pPlayer; - } - return NULL; -} - -/* <15edd2> ../cstrike/dlls/player.cpp:705 */ -void CBasePlayer::Radio(const char *msg_id, const char *msg_verbose, short pitch, bool showIcon) -{ + continue; + + if (!FNullEnt(m_hObserverTarget)) + continue; + + CBasePlayer *pTarget = (CBasePlayer *)CBaseEntity::Instance( pPlayer->m_hObserverTarget->pev ); + + if (pTarget && pTarget->m_iTeam == m_iTeam) + bSend = TRUE; + } + + if (bSend) + return pPlayer; + } + return NULL; +} + +/* <15edd2> ../cstrike/dlls/player.cpp:705 */ +void CBasePlayer::Radio(const char *msg_id, const char *msg_verbose, short pitch, bool showIcon) +{ if (!IsPlayer()) return; @@ -612,7 +686,7 @@ void CBasePlayer::Radio(const char *msg_id, const char *msg_verbose, short pitch if (FNullEnt(pEntity->edict())) break; - BOOL bSend = FALSE; + BOOL bSend = FALSE; CBasePlayer *pPlayer = GetClassPtr((CBasePlayer *)pEntity->pev); // TODO: check out! checking used is here pEntity or pPlayer? @@ -631,12 +705,12 @@ void CBasePlayer::Radio(const char *msg_id, const char *msg_verbose, short pitch if (iSpecMode != OBS_CHASE_LOCKED && iSpecMode != OBS_CHASE_FREE && iSpecMode != OBS_IN_EYE) continue; - if (!FNullEnt(m_hObserverTarget)) - continue; - - CBasePlayer *pTarget = (CBasePlayer *)CBaseEntity::Instance(pPlayer->m_hObserverTarget->pev); - - if (pTarget && pTarget->m_iTeam == m_iTeam) + if (!FNullEnt(m_hObserverTarget)) + continue; + + CBasePlayer *pTarget = (CBasePlayer *)CBaseEntity::Instance(pPlayer->m_hObserverTarget->pev); + + if (pTarget && pTarget->m_iTeam == m_iTeam) bSend = TRUE; } @@ -681,18 +755,18 @@ void CBasePlayer::Radio(const char *msg_id, const char *msg_verbose, short pitch WRITE_SHORT(15); // life MESSAGE_END(); } - } -} - -/* <1537f3> ../cstrike/dlls/player.cpp:812 */ -void CBasePlayer::SmartRadio(void) -{ - ; -} - -/* <15381b> ../cstrike/dlls/player.cpp:816 */ -void CBasePlayer::Pain(int m_LastHitGroup, bool HasArmour) -{ + } +} + +/* <1537f3> ../cstrike/dlls/player.cpp:812 */ +void CBasePlayer::SmartRadio(void) +{ + ; +} + +/* <15381b> ../cstrike/dlls/player.cpp:816 */ +void CBasePlayer::Pain(int m_LastHitGroup, bool HasArmour) +{ int temp = RANDOM_LONG(0, 2); if (m_LastHitGroup == HITGROUP_HEAD) @@ -739,12 +813,12 @@ void CBasePlayer::Pain(int m_LastHitGroup, bool HasArmour) EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/bhit_flesh-3.wav", VOL_NORM, ATTN_NORM); break; } - } -} - -/* <153b48> ../cstrike/dlls/player.cpp:864 */ -Vector VecVelocityForDamage(float flDamage) -{ + } +} + +/* <153b48> ../cstrike/dlls/player.cpp:864 */ +Vector VecVelocityForDamage(float flDamage) +{ Vector vec(RANDOM_FLOAT(-100, 100), RANDOM_FLOAT(-100, 100), RANDOM_FLOAT(200, 300)); if (flDamage > -50.0f) @@ -754,14 +828,14 @@ Vector VecVelocityForDamage(float flDamage) else vec = vec * 10.0f; - return vec; -} - -/* <14edfb> ../cstrike/dlls/player.cpp:878 */ -int TrainSpeed(int iSpeed, int iMax) + return vec; +} + +/* <14edfb> ../cstrike/dlls/player.cpp:878 */ +int TrainSpeed(int iSpeed, int iMax) { float fMax; - float fSpeed; + float fSpeed; int iRet = 0; fMax = (float)iMax; @@ -778,12 +852,12 @@ int TrainSpeed(int iSpeed, int iMax) else iRet = TRAIN_FAST; - return iRet; -} - -/* <153c8e> ../cstrike/dlls/player.cpp:902 */ -NOXREF void CBasePlayer::DeathSound(void) -{ + return iRet; +} + +/* <153c8e> ../cstrike/dlls/player.cpp:902 */ +NOXREF void CBasePlayer::DeathSound(void) +{ switch (RANDOM_LONG(1, 4)) { case 1: EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/die1.wav", VOL_NORM, ATTN_NORM); @@ -794,24 +868,24 @@ NOXREF void CBasePlayer::DeathSound(void) break; case 4: EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/death6.wav", VOL_NORM, ATTN_NORM); break; - } -} - -/* <151213> ../cstrike/dlls/player.cpp:937 */ -int CBasePlayer::TakeHealth_(float flHealth, int bitsDamageType) -{ - return CBaseMonster::TakeHealth(flHealth, bitsDamageType); -} - -/* <150f1c> ../cstrike/dlls/player.cpp:943 */ -Vector CBasePlayer::GetGunPosition_(void) -{ - return pev->origin + pev->view_ofs; -} - -/* <15412b> ../cstrike/dlls/player.cpp:953 */ -bool CBasePlayer::IsHittingShield(Vector &vecDirection, TraceResult *ptr) -{ + } +} + +/* <151213> ../cstrike/dlls/player.cpp:937 */ +int CBasePlayer::TakeHealth_(float flHealth, int bitsDamageType) +{ + return CBaseMonster::TakeHealth(flHealth, bitsDamageType); +} + +/* <150f1c> ../cstrike/dlls/player.cpp:943 */ +Vector CBasePlayer::GetGunPosition_(void) +{ + return pev->origin + pev->view_ofs; +} + +/* <15412b> ../cstrike/dlls/player.cpp:953 */ +bool CBasePlayer::IsHittingShield(Vector &vecDirection, TraceResult *ptr) +{ if ((m_pActiveItem && m_pActiveItem->m_iId == WEAPON_C4) || !HasShield()) return false; @@ -821,158 +895,158 @@ bool CBasePlayer::IsHittingShield(Vector &vecDirection, TraceResult *ptr) if (m_bShieldDrawn) UTIL_MakeVectors(pev->angles); - return false; -} - -/* <152b58> ../cstrike/dlls/player.cpp:989 */ -void CBasePlayer::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType) -{ - bool bShouldBleed = true; - bool bShouldSpark = false; - bool bHitShield = IsHittingShield(vecDir, ptr); - CBasePlayer *pAttacker = (CBasePlayer *)CBasePlayer::Instance(pevAttacker); - - if (CVAR_GET_FLOAT("mp_friendlyfire") == 0 && m_iTeam == pAttacker->m_iTeam) - bShouldBleed = false; - - if (pev->takedamage == DAMAGE_NO) - return; - - m_LastHitGroup = ptr->iHitgroup; - if (bHitShield) - { - flDamage = 0; - - if (RANDOM_LONG(0, 1)) - EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/ric_metal-1.wav", VOL_NORM, ATTN_NORM); - else - EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/ric_metal-2.wav", VOL_NORM, ATTN_NORM); - - UTIL_Sparks(ptr->vecEndPos); - - pev->punchangle.x = flDamage * RANDOM_FLOAT(-0.15, 0.15); - pev->punchangle.z = flDamage * RANDOM_FLOAT(-0.15, 0.15); - - if (pev->punchangle.x < 4) - pev->punchangle.x = -4; - - if (pev->punchangle.z < -5) - pev->punchangle.z = -5; - - else if (pev->punchangle.z > 5) - pev->punchangle.z = 5; - } - else - { - switch (ptr->iHitgroup) - { - case HITGROUP_GENERIC: - break; - - case HITGROUP_HEAD: - { - if (m_iKevlar == ARMOR_TYPE_HELMET) - { - bShouldBleed = false; - bShouldSpark = true; - } - - flDamage *= 4; - if (bShouldBleed) - { - pev->punchangle.x = flDamage * -0.5; - - if (pev->punchangle.x < -12) - pev->punchangle.x = -12; - - pev->punchangle.z = flDamage * RANDOM_FLOAT(-1, 1); - - if (pev->punchangle.z < -9) - pev->punchangle.z = -9; - - else if (pev->punchangle.z > 9) - pev->punchangle.z = 9; - } - break; - } - case HITGROUP_CHEST: - { - flDamage *= 1; - - if (m_iKevlar != ARMOR_TYPE_EMPTY) - bShouldBleed = false; - - else if (bShouldBleed) - { - pev->punchangle.x = flDamage * -0.1; - - if (pev->punchangle.x < -4) - pev->punchangle.x = -4; - } - break; - } - case HITGROUP_STOMACH: - { - flDamage = flDamage * 1.25; - - if (m_iKevlar != ARMOR_TYPE_EMPTY) - bShouldBleed = false; - - else if (bShouldBleed) - { - pev->punchangle.x = flDamage * -0.1; - - if (pev->punchangle.x < -4) - pev->punchangle.x = -4; - } - break; - } - case HITGROUP_LEFTARM: - case HITGROUP_RIGHTARM: - { - if (m_iKevlar != ARMOR_TYPE_EMPTY) - bShouldBleed = false; - - break; - } - case HITGROUP_LEFTLEG: - case HITGROUP_RIGHTLEG: - { - flDamage *= 0.75; - break; - } - } - } - - if (bShouldBleed) - { - BloodSplat(ptr->vecEndPos, vecDir, ptr->iHitgroup, flDamage * 5); - SpawnBlood(ptr->vecEndPos, BloodColor(), flDamage); - TraceBleed(flDamage, vecDir, ptr, bitsDamageType); - } - else if (ptr->iHitgroup == HITGROUP_HEAD && bShouldSpark == true) - { - MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, ptr->vecEndPos); - WRITE_BYTE(TE_STREAK_SPLASH); - WRITE_COORD(ptr->vecEndPos.x); - WRITE_COORD(ptr->vecEndPos.y); - WRITE_COORD(ptr->vecEndPos.z); - WRITE_COORD(ptr->vecPlaneNormal.x); - WRITE_COORD(ptr->vecPlaneNormal.y); - WRITE_COORD(ptr->vecPlaneNormal.z); - WRITE_BYTE(5); // color - WRITE_SHORT(22); // count - WRITE_SHORT(25); // base speed - WRITE_SHORT(65); // ramdon velocity - MESSAGE_END(); - } - - AddMultiDamage(pevAttacker, this, flDamage, bitsDamageType); -} - -/* <1541c2> ../cstrike/dlls/player.cpp:1171 */ -const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller) -{ + return false; +} + +/* <152b58> ../cstrike/dlls/player.cpp:989 */ +void CBasePlayer::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType) +{ + bool bShouldBleed = true; + bool bShouldSpark = false; + bool bHitShield = IsHittingShield(vecDir, ptr); + CBasePlayer *pAttacker = (CBasePlayer *)CBasePlayer::Instance(pevAttacker); + + if (CVAR_GET_FLOAT("mp_friendlyfire") == 0 && m_iTeam == pAttacker->m_iTeam) + bShouldBleed = false; + + if (pev->takedamage == DAMAGE_NO) + return; + + m_LastHitGroup = ptr->iHitgroup; + if (bHitShield) + { + flDamage = 0; + + if (RANDOM_LONG(0, 1)) + EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/ric_metal-1.wav", VOL_NORM, ATTN_NORM); + else + EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/ric_metal-2.wav", VOL_NORM, ATTN_NORM); + + UTIL_Sparks(ptr->vecEndPos); + + pev->punchangle.x = flDamage * RANDOM_FLOAT(-0.15, 0.15); + pev->punchangle.z = flDamage * RANDOM_FLOAT(-0.15, 0.15); + + if (pev->punchangle.x < 4) + pev->punchangle.x = -4; + + if (pev->punchangle.z < -5) + pev->punchangle.z = -5; + + else if (pev->punchangle.z > 5) + pev->punchangle.z = 5; + } + else + { + switch (ptr->iHitgroup) + { + case HITGROUP_GENERIC: + break; + + case HITGROUP_HEAD: + { + if (m_iKevlar == ARMOR_TYPE_HELMET) + { + bShouldBleed = false; + bShouldSpark = true; + } + + flDamage *= 4; + if (bShouldBleed) + { + pev->punchangle.x = flDamage * -0.5; + + if (pev->punchangle.x < -12) + pev->punchangle.x = -12; + + pev->punchangle.z = flDamage * RANDOM_FLOAT(-1, 1); + + if (pev->punchangle.z < -9) + pev->punchangle.z = -9; + + else if (pev->punchangle.z > 9) + pev->punchangle.z = 9; + } + break; + } + case HITGROUP_CHEST: + { + flDamage *= 1; + + if (m_iKevlar != ARMOR_TYPE_EMPTY) + bShouldBleed = false; + + else if (bShouldBleed) + { + pev->punchangle.x = flDamage * -0.1; + + if (pev->punchangle.x < -4) + pev->punchangle.x = -4; + } + break; + } + case HITGROUP_STOMACH: + { + flDamage = flDamage * 1.25; + + if (m_iKevlar != ARMOR_TYPE_EMPTY) + bShouldBleed = false; + + else if (bShouldBleed) + { + pev->punchangle.x = flDamage * -0.1; + + if (pev->punchangle.x < -4) + pev->punchangle.x = -4; + } + break; + } + case HITGROUP_LEFTARM: + case HITGROUP_RIGHTARM: + { + if (m_iKevlar != ARMOR_TYPE_EMPTY) + bShouldBleed = false; + + break; + } + case HITGROUP_LEFTLEG: + case HITGROUP_RIGHTLEG: + { + flDamage *= 0.75; + break; + } + } + } + + if (bShouldBleed) + { + BloodSplat(ptr->vecEndPos, vecDir, ptr->iHitgroup, flDamage * 5); + SpawnBlood(ptr->vecEndPos, BloodColor(), flDamage); + TraceBleed(flDamage, vecDir, ptr, bitsDamageType); + } + else if (ptr->iHitgroup == HITGROUP_HEAD && bShouldSpark == true) + { + MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, ptr->vecEndPos); + WRITE_BYTE(TE_STREAK_SPLASH); + WRITE_COORD(ptr->vecEndPos.x); + WRITE_COORD(ptr->vecEndPos.y); + WRITE_COORD(ptr->vecEndPos.z); + WRITE_COORD(ptr->vecPlaneNormal.x); + WRITE_COORD(ptr->vecPlaneNormal.y); + WRITE_COORD(ptr->vecPlaneNormal.z); + WRITE_BYTE(5); // color + WRITE_SHORT(22); // count + WRITE_SHORT(25); // base speed + WRITE_SHORT(65); // ramdon velocity + MESSAGE_END(); + } + + AddMultiDamage(pevAttacker, this, flDamage, bitsDamageType); +} + +/* <1541c2> ../cstrike/dlls/player.cpp:1171 */ +const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller) +{ const char *killer_weapon_name = "world"; if (pKiller->flags & FL_CLIENT) @@ -1009,12 +1083,12 @@ const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller) else if (Q_strncmp(killer_weapon_name, "func_", 5)) killer_weapon_name += 5; - return killer_weapon_name; -} - -/* <14e061> ../cstrike/dlls/player.cpp:1214 */ -void LogAttack(CBasePlayer *pAttacker, class CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name) -{ + return killer_weapon_name; +} + +/* <14e061> ../cstrike/dlls/player.cpp:1214 */ +void LogAttack(CBasePlayer *pAttacker, class CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name) +{ int detail = logdetail.value; if (!detail) @@ -1025,201 +1099,201 @@ void LogAttack(CBasePlayer *pAttacker, class CBasePlayer *pVictim, int teamAttac if ((teamAttack && (detail & LOG_TEAMMATEATTACK)) || (!teamAttack && (detail & LOG_ENEMYATTACK))) { - UTIL_LogPrintf - ( - "\"%s<%i><%s><%s>\" attacked \"%s<%i><%s><%s>\" with \"%s\" (damage \"%d\") (damage_armor \"%d\") (health \"%d\") (armor \"%d\")\n", - STRING(pAttacker->pev->netname), - GETPLAYERUSERID(pAttacker->edict()), - GETPLAYERAUTHID(pAttacker->edict()), - GetTeam(pAttacker->m_iTeam), - STRING(pVictim->pev->netname), - GETPLAYERUSERID(pVictim->edict()), - GETPLAYERAUTHID(pVictim->edict()), - GetTeam(pVictim->m_iTeam), - killer_weapon_name, - healthHit, - armorHit, - newHealth, - newArmor - ); - } -} - -/* <15dff9> ../cstrike/dlls/player.cpp:1241 */ -NOBODY int CBasePlayer::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType) -{ -// { -// int fTookDamage; // 1243 -// float flRatio; // 1244 -// float flBonus; // 1245 -// float flHealthPrev; // 1246 -// int iGunType; // 1247 -// float flShieldRatio; // 1248 -// int teamAttack; // 1251 -// int armorHit; // 1251 -// class CBasePlayer *pAttack; // 1252 -// class CBaseEntity *pAttacker; // 1452 -// class CBaseEntity *attacker; // 1472 -// int i; // 1662 -// { -// float fTookDamage; // 1386 -// { -// class CGrenade *pGrenade; // 1290 -// class CBaseEntity *temp; // 1291 -// GetClassPtr(CBaseEntity *a); // 1291 -// GetClassPtr(CGrenade *a); // 1295 -// edict(CBaseEntity *const this); // 1299 -// Instance(entvars_t *pev); // 1312 -// } -// FNullEnt(const edict_t *pent); // 1318 -// IsArmored(CBasePlayer *const this, -// int nHitGroup); // 1324 -// { -// float flNew; // 1326 -// float flArmor; // 1327 -// { -// int oldValue; // 1343 -// } -// } -// LogAttack(CBasePlayer *pAttacker, -// class CBasePlayer *pVictim, -// int teamAttack, -// int healthHit, -// int armorHit, -// int newHealth, -// int newArmor, -// const char *killer_weapon_name); // 1384 -// { -// class CHalfLifeMultiplay *mp; // 1395 -// { -// int i; // 1398 -// { -// class CBasePlayer *pPlayer; // 1400 -// { -// bool killedByHumanPlayer; // 1403 -// } -// } -// } -// } -// { -// int i; // 1414 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1420 -// edict(CBaseEntity *const this); // 1423 -// ENTINDEX(edict_t *pEdict); // 1423 -// ENTINDEX(edict_t *pEdict); // 1424 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1429 -// edict(CBaseEntity *const this); // 1430 -// ENTINDEX(edict_t *pEdict); // 1430 -// { -// int i; // 1434 -// { -// class CBasePlayer *pPlayer; // 1436 -// edict(CBaseEntity *const this); // 1440 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1440 -// } -// } -// operator-(const class Vector *const this, -// const class Vector &v); // 1320 -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 1372 -// } -// Instance(entvars_t *pev); // 1452 -// GetClassPtr(CBaseEntity *a); // 1472 -// { -// class CBasePlayer *player; // 1475 -// { -// class CBaseEntity *pBasePlayer; // 1496 -// class CBasePlayer *basePlayer; // 1497 -// edict(CBaseEntity *const this); // 1500 -// FNullEnt(const edict_t *pent); // 1500 -// } -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 1484 -// ShouldDoLargeFlinch(CBasePlayer *const this, -// int nHitGroup, -// int nGunType); // 1557 -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 1579 -// Length(const class Vector *const this); // 1559 -// { -// class Vector attack_velocity; // 1561 -// operator-(const class Vector *const this, -// const class Vector &v); // 1563 -// Normalize(const class Vector *const this); // 1564 -// operator+(const class Vector *const this, -// const class Vector &v); // 1568 -// } -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 1570 -// } -// IsArmored(CBasePlayer *const this, -// int nHitGroup); // 1587 -// { -// float flNew; // 1589 -// float flArmor; // 1590 -// { -// int oldValue; // 1604 -// } -// } -// LogAttack(CBasePlayer *pAttacker, -// class CBasePlayer *pVictim, -// int teamAttack, -// int healthHit, -// int armorHit, -// int newHealth, -// int newArmor, -// const char *killer_weapon_name); // 1630 -// { -// class CHalfLifeMultiplay *mp; // 1643 -// { -// int i; // 1646 -// { -// class CBasePlayer *pPlayer; // 1648 -// { -// bool killedByHumanPlayer; // 1651 -// } -// } -// } -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1670 -// edict(CBaseEntity *const this); // 1673 -// ENTINDEX(edict_t *pEdict); // 1673 -// ENTINDEX(edict_t *pEdict); // 1674 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1679 -// edict(CBaseEntity *const this); // 1680 -// ENTINDEX(edict_t *pEdict); // 1680 -// { -// class CBasePlayer *pPlayer; // 1686 -// edict(CBaseEntity *const this); // 1690 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1690 -// } -// } -} - -/* <1516a0> ../cstrike/dlls/player.cpp:1706 */ -void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo) -{ + UTIL_LogPrintf + ( + "\"%s<%i><%s><%s>\" attacked \"%s<%i><%s><%s>\" with \"%s\" (damage \"%d\") (damage_armor \"%d\") (health \"%d\") (armor \"%d\")\n", + STRING(pAttacker->pev->netname), + GETPLAYERUSERID(pAttacker->edict()), + GETPLAYERAUTHID(pAttacker->edict()), + GetTeam(pAttacker->m_iTeam), + STRING(pVictim->pev->netname), + GETPLAYERUSERID(pVictim->edict()), + GETPLAYERAUTHID(pVictim->edict()), + GetTeam(pVictim->m_iTeam), + killer_weapon_name, + healthHit, + armorHit, + newHealth, + newArmor + ); + } +} + +/* <15dff9> ../cstrike/dlls/player.cpp:1241 */ +NOBODY int CBasePlayer::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType) +{ +// { +// int fTookDamage; // 1243 +// float flRatio; // 1244 +// float flBonus; // 1245 +// float flHealthPrev; // 1246 +// int iGunType; // 1247 +// float flShieldRatio; // 1248 +// int teamAttack; // 1251 +// int armorHit; // 1251 +// class CBasePlayer *pAttack; // 1252 +// class CBaseEntity *pAttacker; // 1452 +// class CBaseEntity *attacker; // 1472 +// int i; // 1662 +// { +// float fTookDamage; // 1386 +// { +// class CGrenade *pGrenade; // 1290 +// class CBaseEntity *temp; // 1291 +// GetClassPtr(CBaseEntity *a); // 1291 +// GetClassPtr(CGrenade *a); // 1295 +// edict(CBaseEntity *const this); // 1299 +// Instance(entvars_t *pev); // 1312 +// } +// FNullEnt(const edict_t *pent); // 1318 +// IsArmored(CBasePlayer *const this, +// int nHitGroup); // 1324 +// { +// float flNew; // 1326 +// float flArmor; // 1327 +// { +// int oldValue; // 1343 +// } +// } +// LogAttack(CBasePlayer *pAttacker, +// class CBasePlayer *pVictim, +// int teamAttack, +// int healthHit, +// int armorHit, +// int newHealth, +// int newArmor, +// const char *killer_weapon_name); // 1384 +// { +// class CHalfLifeMultiplay *mp; // 1395 +// { +// int i; // 1398 +// { +// class CBasePlayer *pPlayer; // 1400 +// { +// bool killedByHumanPlayer; // 1403 +// } +// } +// } +// } +// { +// int i; // 1414 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1420 +// edict(CBaseEntity *const this); // 1423 +// ENTINDEX(edict_t *pEdict); // 1423 +// ENTINDEX(edict_t *pEdict); // 1424 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1429 +// edict(CBaseEntity *const this); // 1430 +// ENTINDEX(edict_t *pEdict); // 1430 +// { +// int i; // 1434 +// { +// class CBasePlayer *pPlayer; // 1436 +// edict(CBaseEntity *const this); // 1440 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1440 +// } +// } +// operator-(const class Vector *const this, +// const class Vector &v); // 1320 +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 1372 +// } +// Instance(entvars_t *pev); // 1452 +// GetClassPtr(CBaseEntity *a); // 1472 +// { +// class CBasePlayer *player; // 1475 +// { +// class CBaseEntity *pBasePlayer; // 1496 +// class CBasePlayer *basePlayer; // 1497 +// edict(CBaseEntity *const this); // 1500 +// FNullEnt(const edict_t *pent); // 1500 +// } +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 1484 +// ShouldDoLargeFlinch(CBasePlayer *const this, +// int nHitGroup, +// int nGunType); // 1557 +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 1579 +// Length(const class Vector *const this); // 1559 +// { +// class Vector attack_velocity; // 1561 +// operator-(const class Vector *const this, +// const class Vector &v); // 1563 +// Normalize(const class Vector *const this); // 1564 +// operator+(const class Vector *const this, +// const class Vector &v); // 1568 +// } +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 1570 +// } +// IsArmored(CBasePlayer *const this, +// int nHitGroup); // 1587 +// { +// float flNew; // 1589 +// float flArmor; // 1590 +// { +// int oldValue; // 1604 +// } +// } +// LogAttack(CBasePlayer *pAttacker, +// class CBasePlayer *pVictim, +// int teamAttack, +// int healthHit, +// int armorHit, +// int newHealth, +// int newArmor, +// const char *killer_weapon_name); // 1630 +// { +// class CHalfLifeMultiplay *mp; // 1643 +// { +// int i; // 1646 +// { +// class CBasePlayer *pPlayer; // 1648 +// { +// bool killedByHumanPlayer; // 1651 +// } +// } +// } +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1670 +// edict(CBaseEntity *const this); // 1673 +// ENTINDEX(edict_t *pEdict); // 1673 +// ENTINDEX(edict_t *pEdict); // 1674 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1679 +// edict(CBaseEntity *const this); // 1680 +// ENTINDEX(edict_t *pEdict); // 1680 +// { +// class CBasePlayer *pPlayer; // 1686 +// edict(CBaseEntity *const this); // 1690 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1690 +// } +// } +} + +/* <1516a0> ../cstrike/dlls/player.cpp:1706 */ +void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo) +{ if (pItem) { const char *modelName = GetCSModelName(pItem->m_iId); @@ -1241,14 +1315,14 @@ void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo) SET_MODEL(ENT(pWeaponBox->pev), modelName); } - } -} - -/* <15f739> ../cstrike/dlls/player.cpp:1756 */ -void CBasePlayer::PackDeadPlayerItems(void) -{ - bool bPackGun = (g_pGameRules->DeadPlayerWeapons(this) != GR_PLR_DROP_GUN_NO); - bool bPackAmmo = (g_pGameRules->DeadPlayerAmmo(this) != GR_PLR_DROP_AMMO_NO); + } +} + +/* <15f739> ../cstrike/dlls/player.cpp:1756 */ +void CBasePlayer::PackDeadPlayerItems(void) +{ + bool bPackGun = (g_pGameRules->DeadPlayerWeapons(this) != GR_PLR_DROP_GUN_NO); + bool bPackAmmo = (g_pGameRules->DeadPlayerAmmo(this) != GR_PLR_DROP_AMMO_NO); if (bPackGun) { @@ -1259,73 +1333,73 @@ void CBasePlayer::PackDeadPlayerItems(void) bShieldDropped = true; } - int nBestWeight = 0; - CBasePlayerItem *pBestItem = NULL; - - for (int n = 0; n < MAX_ITEM_TYPES; n++) - { - CBasePlayerItem *pPlayerItem = m_rgpPlayerItems[ n ]; - - while (pPlayerItem != NULL) + int nBestWeight = 0; + CBasePlayerItem *pBestItem = NULL; + + for (int n = 0; n < MAX_ITEM_TYPES; n++) + { + CBasePlayerItem *pPlayerItem = m_rgpPlayerItems[ n ]; + + while (pPlayerItem != NULL) { - ItemInfo info; - if (pPlayerItem->iItemSlot() < KNIFE_SLOT && !bShieldDropped) - { - if (pPlayerItem->GetItemInfo(&info)) - { - if (info.iWeight > nBestWeight) - { - nBestWeight = info.iWeight; - pBestItem = pPlayerItem; - } - } - } - else if (pPlayerItem->iItemSlot() == GRENADE_SLOT && UTIL_IsGame("czero")) - packPlayerItem(this, pPlayerItem, true); - + ItemInfo info; + if (pPlayerItem->iItemSlot() < KNIFE_SLOT && !bShieldDropped) + { + if (pPlayerItem->GetItemInfo(&info)) + { + if (info.iWeight > nBestWeight) + { + nBestWeight = info.iWeight; + pBestItem = pPlayerItem; + } + } + } + else if (pPlayerItem->iItemSlot() == GRENADE_SLOT && UTIL_IsGame("czero")) + packPlayerItem(this, pPlayerItem, true); + pPlayerItem = pPlayerItem->m_pNext; } } packPlayerItem(this, pBestItem, bPackAmmo); } - RemoveAllItems(TRUE); -} - -/* <15f710> ../cstrike/dlls/player.cpp:1829 */ -void CBasePlayer::GiveDefaultItems(void) -{ - RemoveAllItems(FALSE); - m_bHasPrimary = false; - - switch (m_iTeam) - { - case CT: - { - GiveNamedItem("weapon_knife"); - GiveNamedItem("weapon_usp"); - - GiveAmmo(m_bIsVIP ? 12 : 24, "45acp", MAX_AMMO_45ACP); - - break; - } - case TERRORIST: - { - GiveNamedItem("weapon_knife"); - GiveNamedItem("weapon_glock18"); - - GiveAmmo(40, "9mm", MAX_AMMO_9MM); - - break; - } - } -} - -/* <15f406> ../cstrike/dlls/player.cpp:1871 */ -void CBasePlayer::RemoveAllItems(BOOL removeSuit) -{ + RemoveAllItems(TRUE); +} + +/* <15f710> ../cstrike/dlls/player.cpp:1829 */ +void CBasePlayer::GiveDefaultItems(void) +{ + RemoveAllItems(FALSE); + m_bHasPrimary = false; + + switch (m_iTeam) + { + case CT: + { + GiveNamedItem("weapon_knife"); + GiveNamedItem("weapon_usp"); + + GiveAmmo(m_bIsVIP ? 12 : 24, "45acp", MAX_AMMO_45ACP); + + break; + } + case TERRORIST: + { + GiveNamedItem("weapon_knife"); + GiveNamedItem("weapon_glock18"); + + GiveAmmo(40, "9mm", MAX_AMMO_9MM); + + break; + } + } +} + +/* <15f406> ../cstrike/dlls/player.cpp:1871 */ +void CBasePlayer::RemoveAllItems(BOOL removeSuit) +{ BOOL bKillProgBar = false; - int i; - + int i; + if (m_bHasDefuser) { m_bHasDefuser = false; @@ -1338,8 +1412,8 @@ void CBasePlayer::RemoveAllItems(BOOL removeSuit) SendItemStatus(this); bKillProgBar = true; - } - + } + if (m_bHasC4) { m_bHasC4 = false; @@ -1351,22 +1425,22 @@ void CBasePlayer::RemoveAllItems(BOOL removeSuit) MESSAGE_END(); bKillProgBar = true; - } - - RemoveShield(); - + } + + RemoveShield(); + if (bKillProgBar) - SetProgressBarTime(0); - + SetProgressBarTime(0); + if (m_pActiveItem) { ResetAutoaim(); m_pActiveItem->Holster(); m_pActiveItem = NULL; - } - m_pLastItem = NULL; - + } + m_pLastItem = NULL; + for (i = 0; i < MAX_ITEM_TYPES; i++) { m_pActiveItem = m_rgpPlayerItems[i]; @@ -1380,8 +1454,8 @@ void CBasePlayer::RemoveAllItems(BOOL removeSuit) } m_rgpPlayerItems[i] = NULL; - } - + } + m_pActiveItem = NULL; m_bHasPrimary = NULL; @@ -1396,18 +1470,18 @@ void CBasePlayer::RemoveAllItems(BOOL removeSuit) for (i = 0; i < MAX_AMMO_SLOTS; i++) m_rgAmmo[i] = 0; - UpdateClientData(); - + UpdateClientData(); + MESSAGE_BEGIN(MSG_ONE, gmsgCurWeapon, NULL, pev); WRITE_BYTE(0); WRITE_BYTE(0); WRITE_BYTE(0); - MESSAGE_END(); -} - -/* <15436c> ../cstrike/dlls/player.cpp:1962 */ -void CBasePlayer::SetBombIcon(BOOL bFlash) -{ + MESSAGE_END(); +} + +/* <15436c> ../cstrike/dlls/player.cpp:1962 */ +void CBasePlayer::SetBombIcon(BOOL bFlash) +{ if (m_bHasC4) { MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, pev); @@ -1426,12 +1500,12 @@ void CBasePlayer::SetBombIcon(BOOL bFlash) MESSAGE_END(); } - SetScoreboardAttributes(); -} - -/* <15f2ab> ../cstrike/dlls/player.cpp:1985 */ -void CBasePlayer::SetProgressBarTime(int time) -{ + SetScoreboardAttributes(); +} + +/* <15f2ab> ../cstrike/dlls/player.cpp:1985 */ +void CBasePlayer::SetProgressBarTime(int time) +{ if (time) { m_progressStart = gpGlobals->time; @@ -1463,12 +1537,12 @@ void CBasePlayer::SetProgressBarTime(int time) WRITE_SHORT(time); MESSAGE_END(); } - } -} - -/* <15dcb4> ../cstrike/dlls/player.cpp:2027 */ -void CBasePlayer::SetProgressBarTime2(int time, float timeElapsed) -{ + } +} + +/* <15dcb4> ../cstrike/dlls/player.cpp:2027 */ +void CBasePlayer::SetProgressBarTime2(int time, float timeElapsed) +{ if (time) { m_progressStart = gpGlobals->time - timeElapsed; @@ -1505,24 +1579,24 @@ void CBasePlayer::SetProgressBarTime2(int time, float timeElapsed) WRITE_SHORT(iTimeElapsed); MESSAGE_END(); } - } -} - -/* <14e0e9> ../cstrike/dlls/player.cpp:2073 */ -void BuyZoneIcon_Set(CBasePlayer *player) -{ + } +} + +/* <14e0e9> ../cstrike/dlls/player.cpp:2073 */ +void BuyZoneIcon_Set(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_SHOW); WRITE_STRING("buyzone"); WRITE_BYTE(0); WRITE_BYTE(160); WRITE_BYTE(0); - MESSAGE_END(); -} - -/* <14e106> ../cstrike/dlls/player.cpp:2086 */ -void BuyZoneIcon_Clear(CBasePlayer *player) -{ + MESSAGE_END(); +} + +/* <14e106> ../cstrike/dlls/player.cpp:2086 */ +void BuyZoneIcon_Clear(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_HIDE); WRITE_STRING("buyzone"); @@ -1539,29 +1613,29 @@ void BuyZoneIcon_Clear(CBasePlayer *player) MESSAGE_BEGIN(MSG_ONE, gmsgBuyClose, NULL, player->pev); MESSAGE_END(); } - } -} - -/* <14e62c> ../cstrike/dlls/player.cpp:2115 */ -void BombTargetFlash_Set(CBasePlayer *player) -{ + } +} + +/* <14e62c> ../cstrike/dlls/player.cpp:2115 */ +void BombTargetFlash_Set(CBasePlayer *player) +{ if (player->m_bHasC4 && !(player->m_flDisplayHistory & DHF_IN_TARGET_ZONE)) { player->m_flDisplayHistory |= DHF_IN_TARGET_ZONE; player->HintMessage("#Hint_you_are_in_targetzone"); - } - player->SetBombIcon(TRUE); -} - -/* <14e649> ../cstrike/dlls/player.cpp:2129 */ -void BombTargetFlash_Clear(CBasePlayer *player) -{ - player->SetBombIcon(FALSE); -} - -/* <158292> ../cstrike/dlls/player.cpp:2136 */ -void RescueZoneIcon_Set(CBasePlayer *player) -{ + } + player->SetBombIcon(TRUE); +} + +/* <14e649> ../cstrike/dlls/player.cpp:2129 */ +void BombTargetFlash_Clear(CBasePlayer *player) +{ + player->SetBombIcon(FALSE); +} + +/* <158292> ../cstrike/dlls/player.cpp:2136 */ +void RescueZoneIcon_Set(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_SHOW); WRITE_STRING("rescue"); @@ -1574,12 +1648,12 @@ void RescueZoneIcon_Set(CBasePlayer *player) { player->m_flDisplayHistory |= DHF_IN_RESCUE_ZONE; player->HintMessage("#Hint_hostage_rescue_zone"); - } -} - -/* <14e666> ../cstrike/dlls/player.cpp:2156 */ -void RescueZoneIcon_Clear(CBasePlayer *player) -{ + } +} + +/* <14e666> ../cstrike/dlls/player.cpp:2156 */ +void RescueZoneIcon_Clear(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_HIDE); WRITE_STRING("rescue"); @@ -1596,12 +1670,12 @@ void RescueZoneIcon_Clear(CBasePlayer *player) MESSAGE_BEGIN(MSG_ONE, gmsgBuyClose, NULL, player->pev); MESSAGE_END(); } - } -} - -/* <1582af> ../cstrike/dlls/player.cpp:2185 */ -void EscapeZoneIcon_Set(CBasePlayer *player) -{ + } +} + +/* <1582af> ../cstrike/dlls/player.cpp:2185 */ +void EscapeZoneIcon_Set(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_SHOW); WRITE_STRING("escape"); @@ -1617,12 +1691,12 @@ void EscapeZoneIcon_Set(CBasePlayer *player) player->m_flDisplayHistory |= DHF_IN_ESCAPE_ZONE; player->HintMessage("#Hint_terrorist_escape_zone", TRUE); } - } -} - -/* <14e683> ../cstrike/dlls/player.cpp:2203 */ -void EscapeZoneIcon_Clear(CBasePlayer *player) -{ + } +} + +/* <14e683> ../cstrike/dlls/player.cpp:2203 */ +void EscapeZoneIcon_Clear(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_HIDE); WRITE_STRING("escape"); @@ -1639,12 +1713,12 @@ void EscapeZoneIcon_Clear(CBasePlayer *player) MESSAGE_BEGIN(MSG_ONE, gmsgBuyClose, NULL, player->pev); MESSAGE_END(); } - } -} - -/* <1582cc> ../cstrike/dlls/player.cpp:2231 */ -void VIP_SafetyZoneIcon_Set(CBasePlayer *player) -{ + } +} + +/* <1582cc> ../cstrike/dlls/player.cpp:2231 */ +void VIP_SafetyZoneIcon_Set(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_SHOW); WRITE_STRING("vipsafety"); @@ -1653,7 +1727,7 @@ void VIP_SafetyZoneIcon_Set(CBasePlayer *player) WRITE_BYTE(0); MESSAGE_END(); - if(!(player->m_flDisplayHistory & DHF_IN_VIPSAFETY_ZONE)) + if (!(player->m_flDisplayHistory & DHF_IN_VIPSAFETY_ZONE)) { if (player->m_iTeam == CT) { @@ -1664,13 +1738,13 @@ void VIP_SafetyZoneIcon_Set(CBasePlayer *player) { player->m_flDisplayHistory |= DHF_IN_VIPSAFETY_ZONE; player->HintMessage("#Hint_terrorist_vip_zone"); - } - } -} - -/* <14e6a0> ../cstrike/dlls/player.cpp:2255 */ -void VIP_SafetyZoneIcon_Clear(CBasePlayer *player) -{ + } + } +} + +/* <14e6a0> ../cstrike/dlls/player.cpp:2255 */ +void VIP_SafetyZoneIcon_Clear(CBasePlayer *player) +{ MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, player->pev); WRITE_BYTE(STATUSICON_HIDE); WRITE_STRING("vipsafety"); @@ -1687,769 +1761,769 @@ void VIP_SafetyZoneIcon_Clear(CBasePlayer *player) MESSAGE_BEGIN(MSG_ONE, gmsgBuyClose, NULL, player->pev); MESSAGE_END(); } - } -} - -/* <154417> ../cstrike/dlls/player.cpp:2282 */ -NOXREF void CBasePlayer::SendFOV(int fov) -{ - pev->fov = (float_precision)fov; - m_iClientFOV = fov; - m_iFOV = fov; - - MESSAGE_BEGIN(MSG_ONE, gmsgSetFOV, NULL, pev); - WRITE_BYTE(fov); - MESSAGE_END(); -} - -/* <160a1a> ../cstrike/dlls/player.cpp:2300 */ -NOBODY void CBasePlayer::Killed_(entvars_t *pevAttacker, int iGib) -{ -// { -// class CSound *pSound; // 2302 -// Instance(entvars_t *pev); // 2310 -// { -// class CBaseEntity *pAttackerEntity; // 2374 -// class CBasePlayer *pAttacker; // 2375 -// bool killerHasShield; // 2378 -// bool wasBlind; // 2380 -// Instance(entvars_t *pev); // 2374 -// HasShield(CBasePlayer *const this); // 2378 -// { -// class CCSBot *pBot; // 2383 -// IsBlind(const class CBasePlayer *const this); // 2384 -// } -// { -// int i; // 2386 -// { -// class CBasePlayer *pPlayer; // 2388 -// { -// bool killedByHumanPlayer; // 2391 -// } -// } -// } -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2405 -// { -// int i; // 2411 -// { -// class CBasePlayer *pObserver; // 2413 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2416 -// } -// } -// edict(CBaseEntity *const this); // 2431 -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 2439 -// { -// class CSmokeGrenade *pSmoke; // 2461 -// Vector(Vector *const this, -// const Vector &v); // 2462 -// operator+(const Vector *const this, -// const Vector &v); // 2462 -// } -// Vector(Vector *const this, -// const Vector &v); // 2455 -// operator+(const Vector *const this, -// const Vector &v); // 2455 -// { -// class CHEGrenade *pHEGrenade; // 2448 -// Vector(Vector *const this, -// const Vector &v); // 2449 -// operator+(const Vector *const this, -// const Vector &v); // 2449 -// } -// { -// int gmsgADStop; // 2489 -// ENTINDEX(edict_t *pEdict); // 2486 -// ENTINDEX(edict_t *pEdict); // 2487 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2490 -// } -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 2480 -// operator-(const Vector *const this); // 2535 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2545 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2550 -// SendFOV(CBasePlayer *const this, -// int fov); // 2556 -// BuyZoneIcon_Clear(CBasePlayer *player); // 2588 -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 2618 -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 2599 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 2575 -// SendItemStatus(CBasePlayer *pPlayer); // 2579 -// operator*(const Vector *const this, -// float fl); // 2508 -// operator*(const Vector *const this, -// float fl); // 2515 -// operator*(const Vector *const this, -// float fl); // 2532 -// Length(const Vector *const this); // 2525 -// Length(const Vector *const this); // 2525 -// operator/(const Vector *const this, -// float fl); // 2525 -// operator*(const Vector *const this, -// float fl); // 2525 -// Length(const Vector *const this); // 2526 -// Length(const Vector *const this); // 2520 -// Length(const Vector *const this); // 2520 -// operator/(const Vector *const this, -// float fl); // 2520 -// operator*(const Vector *const this, -// float fl); // 2520 -// operator/(const Vector *const this, -// float fl); // 2520 -// Length(const Vector *const this); // 2521 -// } -} - -/* <154478> ../cstrike/dlls/player.cpp:2625 */ -BOOL CBasePlayer::IsBombGuy(void) -{ + } +} + +/* <154417> ../cstrike/dlls/player.cpp:2282 */ +NOXREF void CBasePlayer::SendFOV(int fov) +{ + pev->fov = (float_precision)fov; + m_iClientFOV = fov; + m_iFOV = fov; + + MESSAGE_BEGIN(MSG_ONE, gmsgSetFOV, NULL, pev); + WRITE_BYTE(fov); + MESSAGE_END(); +} + +/* <160a1a> ../cstrike/dlls/player.cpp:2300 */ +NOBODY void CBasePlayer::Killed_(entvars_t *pevAttacker, int iGib) +{ +// { +// class CSound *pSound; // 2302 +// Instance(entvars_t *pev); // 2310 +// { +// class CBaseEntity *pAttackerEntity; // 2374 +// class CBasePlayer *pAttacker; // 2375 +// bool killerHasShield; // 2378 +// bool wasBlind; // 2380 +// Instance(entvars_t *pev); // 2374 +// HasShield(CBasePlayer *const this); // 2378 +// { +// class CCSBot *pBot; // 2383 +// IsBlind(const class CBasePlayer *const this); // 2384 +// } +// { +// int i; // 2386 +// { +// class CBasePlayer *pPlayer; // 2388 +// { +// bool killedByHumanPlayer; // 2391 +// } +// } +// } +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2405 +// { +// int i; // 2411 +// { +// class CBasePlayer *pObserver; // 2413 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2416 +// } +// } +// edict(CBaseEntity *const this); // 2431 +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 2439 +// { +// class CSmokeGrenade *pSmoke; // 2461 +// Vector(Vector *const this, +// const Vector &v); // 2462 +// operator+(const Vector *const this, +// const Vector &v); // 2462 +// } +// Vector(Vector *const this, +// const Vector &v); // 2455 +// operator+(const Vector *const this, +// const Vector &v); // 2455 +// { +// class CHEGrenade *pHEGrenade; // 2448 +// Vector(Vector *const this, +// const Vector &v); // 2449 +// operator+(const Vector *const this, +// const Vector &v); // 2449 +// } +// { +// int gmsgADStop; // 2489 +// ENTINDEX(edict_t *pEdict); // 2486 +// ENTINDEX(edict_t *pEdict); // 2487 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2490 +// } +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 2480 +// operator-(const Vector *const this); // 2535 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2545 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2550 +// SendFOV(CBasePlayer *const this, +// int fov); // 2556 +// BuyZoneIcon_Clear(CBasePlayer *player); // 2588 +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 2618 +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 2599 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 2575 +// SendItemStatus(CBasePlayer *pPlayer); // 2579 +// operator*(const Vector *const this, +// float fl); // 2508 +// operator*(const Vector *const this, +// float fl); // 2515 +// operator*(const Vector *const this, +// float fl); // 2532 +// Length(const Vector *const this); // 2525 +// Length(const Vector *const this); // 2525 +// operator/(const Vector *const this, +// float fl); // 2525 +// operator*(const Vector *const this, +// float fl); // 2525 +// Length(const Vector *const this); // 2526 +// Length(const Vector *const this); // 2520 +// Length(const Vector *const this); // 2520 +// operator/(const Vector *const this, +// float fl); // 2520 +// operator*(const Vector *const this, +// float fl); // 2520 +// operator/(const Vector *const this, +// float fl); // 2520 +// Length(const Vector *const this); // 2521 +// } +} + +/* <154478> ../cstrike/dlls/player.cpp:2625 */ +BOOL CBasePlayer::IsBombGuy(void) +{ if (!g_pGameRules->IsMultiplayer()) return FALSE; - return m_bHasC4; -} - -/* <1544a1> ../cstrike/dlls/player.cpp:2636 */ -void CBasePlayer::SetAnimation(PLAYER_ANIM playerAnim) -{ - int animDesired; - float speed; - char szAnim[64]; - int hopSeq; - int leapSeq; - - if (!pev->modelindex) - return; - - if ((playerAnim == PLAYER_FLINCH || playerAnim == PLAYER_LARGE_FLINCH) && HasShield()) - return; - - if (playerAnim != PLAYER_FLINCH && playerAnim != PLAYER_LARGE_FLINCH && m_flFlinchTime > gpGlobals->time && pev->health > 0.0f) - return; - - speed = pev->velocity.Length2D(); - - if (pev->flags & FL_FROZEN) - { - speed = 0; - playerAnim = PLAYER_IDLE; - } - - hopSeq = LookupActivity(ACT_HOP); - leapSeq = LookupActivity(ACT_LEAP); - - switch (playerAnim) - { - case PLAYER_JUMP: - { - if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) - m_IdealActivity = m_Activity; - else - { - m_IdealActivity = ACT_HOP; - TheBots->OnEvent(EVENT_PLAYER_JUMPED, this); - } - break; - } - case PLAYER_SUPERJUMP: - { - if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) - m_IdealActivity = m_Activity; - else - m_IdealActivity = ACT_LEAP; - break; - } - case PLAYER_DIE: - { - m_IdealActivity = ACT_DIESIMPLE; - DeathSound(); - break; - } - case PLAYER_ATTACK1: - { - if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) - m_IdealActivity = m_Activity; - else - { - m_IdealActivity = ACT_RANGE_ATTACK1; - TheBots->OnEvent(EVENT_WEAPON_FIRED, this); - } - break; - } - case PLAYER_ATTACK2: - { - if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) - m_IdealActivity = m_Activity; - else - { - m_IdealActivity = ACT_RANGE_ATTACK2; - TheBots->OnEvent(EVENT_WEAPON_FIRED, this); - } - break; - } - case PLAYER_RELOAD: - { - if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) - m_IdealActivity = m_Activity; - else - { - m_IdealActivity = ACT_RELOAD; - TheBots->OnEvent(EVENT_WEAPON_RELOADED, this); - } - break; - } - case PLAYER_IDLE: - case PLAYER_WALK: - { - if (pev->flags & FL_ONGROUND || (m_Activity != ACT_HOP && m_Activity != ACT_LEAP)) - { - if (pev->waterlevel <= 1) - m_IdealActivity = ACT_WALK; - - else if (speed == 0.0f) - m_IdealActivity = ACT_HOVER; - - else - m_IdealActivity = ACT_SWIM; - } - else - m_IdealActivity = m_Activity; - break; - } - case PLAYER_HOLDBOMB: - m_IdealActivity = ACT_HOLDBOMB; - break; - case PLAYER_FLINCH: - m_IdealActivity = ACT_FLINCH; - break; - case PLAYER_LARGE_FLINCH: - m_IdealActivity = ACT_LARGE_FLINCH; - break; - default: - break; - } - switch (m_IdealActivity) - { - case ACT_HOP: - case ACT_LEAP: - { - if (m_Activity == m_IdealActivity) - return; - - switch (m_Activity) - { - case ACT_RANGE_ATTACK1: - Q_strcpy(szAnim, "ref_shoot_"); - break; - case ACT_RANGE_ATTACK2: - Q_strcpy(szAnim, "ref_shoot2_"); - break; - case ACT_RELOAD: - Q_strcpy(szAnim, "ref_reload_"); - break; - default: - Q_strcpy(szAnim, "ref_aim_"); - break; - } - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - if (pev->sequence != animDesired || !m_fSequenceLoops) - pev->frame = 0; - - if (!m_fSequenceLoops) - pev->effects |= EF_NOINTERP; - - if (m_IdealActivity == ACT_LEAP) - pev->gaitsequence = LookupActivity(ACT_LEAP); - else - pev->gaitsequence = LookupActivity(ACT_HOP); - - m_Activity = m_IdealActivity; - break; - } - case ACT_RANGE_ATTACK1: - { - m_flLastFired = gpGlobals->time; - - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_shoot_"); - else - Q_strcpy(szAnim, "ref_shoot_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - pev->sequence = animDesired; - pev->frame = 0; - - ResetSequenceInfo(); - m_Activity = m_IdealActivity; - break; - } - case ACT_RANGE_ATTACK2: - { - m_flLastFired = gpGlobals->time; - - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_shoot2_"); - else - Q_strcpy(szAnim, "ref_shoot2_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - pev->sequence = animDesired; - pev->frame = 0; - - ResetSequenceInfo(); - m_Activity = m_IdealActivity; - break; - } - case ACT_RELOAD: - { - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_reload_"); - else - Q_strcpy(szAnim, "ref_reload_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - if (pev->sequence != animDesired || !m_fSequenceLoops) - pev->frame = 0; - - if (!m_fSequenceLoops) - pev->effects |= EF_NOINTERP; - - m_Activity = m_IdealActivity; - break; - } - case ACT_HOLDBOMB: - { - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_aim_"); - else - Q_strcpy(szAnim, "ref_aim_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - m_Activity = m_IdealActivity; - break; - } - case ACT_WALK: - { - if ((m_Activity != ACT_RANGE_ATTACK1 || m_fSequenceFinished) - && (m_Activity != ACT_RANGE_ATTACK2 || m_fSequenceFinished) - && (m_Activity != ACT_FLINCH || m_fSequenceFinished) - && (m_Activity != ACT_LARGE_FLINCH || m_fSequenceFinished) - && (m_Activity != ACT_RELOAD || m_fSequenceFinished)) - { - if (speed <= 135.0f || m_flLastFired + 4.0 >= gpGlobals->time) - { - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_aim_"); - else - Q_strcpy(szAnim, "ref_aim_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - m_Activity = ACT_WALK; - } - else - { - Q_strcpy(szAnim, "run_"); - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - { - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_aim_"); - else - Q_strcpy(szAnim, "ref_aim_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - animDesired = 0; - - m_Activity = ACT_RUN; - pev->gaitsequence = LookupActivity(ACT_RUN); - } - else - { - m_Activity = ACT_RUN; - pev->gaitsequence = animDesired; - } - if (m_Activity == ACT_RUN) - { - //TODO: maybe away used variable 'speed'? - //if (speed > 150.0f) - if (pev->velocity.Length2D() > 150.0f) - TheBots->OnEvent(EVENT_PLAYER_FOOTSTEP, this); - } - } - } - else - animDesired = pev->sequence; - - if (speed > 135.0f) - pev->gaitsequence = LookupActivity(ACT_RUN); - else - pev->gaitsequence = LookupActivity(ACT_WALK); - break; - } - case ACT_FLINCH: - case ACT_LARGE_FLINCH: - { - m_Activity = m_IdealActivity; - -#ifndef REGAMEDLL_FIXES - // TODO: why? this condition was checked! - if ((playerAnim == PLAYER_FLINCH || playerAnim == PLAYER_LARGE_FLINCH) && HasShield()) - return; -#endif // REGAMEDLL_FIXES - - switch (m_LastHitGroup) - { - case HITGROUP_GENERIC: - { - if (RANDOM_LONG(0, 1)) - animDesired = LookupSequence("head_flinch"); - else - animDesired = LookupSequence("gut_flinch"); - break; - } - case HITGROUP_HEAD: - case HITGROUP_CHEST: - animDesired = LookupSequence("head_flinch"); - break; - case HITGROUP_SHIELD: - animDesired = 0; - break; - default: - animDesired = LookupSequence("gut_flinch"); - break; - } - - if (animDesired == -1) - animDesired = 0; - - break; - } - case ACT_DIESIMPLE: - { - if (m_Activity == m_IdealActivity) - return; - - m_Activity = m_IdealActivity; - m_flDeathThrowTime = 0; - m_iThrowDirection = THROW_NONE; - - switch (m_LastHitGroup) - { - case HITGROUP_GENERIC: - { - switch (RANDOM_LONG(0, 8)) - { - case 0: - animDesired = LookupActivity(ACT_DIE_HEADSHOT); - m_iThrowDirection = THROW_BACKWARD; - break; - case 1: - animDesired = LookupActivity(ACT_DIE_GUTSHOT); - break; - case 2: - animDesired = LookupActivity(ACT_DIE_BACKSHOT); - m_iThrowDirection = THROW_HITVEL; - break; - case 3: - animDesired = LookupActivity(ACT_DIESIMPLE); - break; - case 4: - animDesired = LookupActivity(ACT_DIEBACKWARD); - m_iThrowDirection = THROW_HITVEL; - break; - case 5: - animDesired = LookupActivity(ACT_DIEFORWARD); - m_iThrowDirection = THROW_FORWARD; - break; - case 6: - animDesired = LookupActivity(ACT_DIE_CHESTSHOT); - break; - case 7: - animDesired = LookupActivity(ACT_DIE_GUTSHOT); - break; - case 8: - animDesired = LookupActivity(ACT_DIE_HEADSHOT); - break; - default: - break; - } - break; - } - case HITGROUP_HEAD: - { - int random = RANDOM_LONG(0, 8); - m_bHeadshotKilled = true; - - if (m_bHighDamage) - ++random; - - switch (random) - { - case 1: - case 2: - m_iThrowDirection = THROW_BACKWARD; - break; - case 3: - case 4: - m_iThrowDirection = THROW_FORWARD; - break; - case 5: - case 6: - m_iThrowDirection = THROW_HITVEL; - break; - default: - m_iThrowDirection = THROW_NONE; - break; - } - - animDesired = LookupActivity(ACT_DIE_HEADSHOT); - break; - } - case HITGROUP_CHEST: - animDesired = LookupActivity(ACT_DIE_CHESTSHOT); - break; - case HITGROUP_STOMACH: - animDesired = LookupActivity(ACT_DIE_GUTSHOT); - break; - case HITGROUP_LEFTARM: - animDesired = LookupSequence("left"); - break; - case HITGROUP_RIGHTARM: - { - m_iThrowDirection = RANDOM_LONG(0, 1) ? THROW_HITVEL : THROW_HITVEL_MINUS_AIRVEL; - animDesired = LookupSequence("right"); - break; - } - default: - { - animDesired = LookupActivity(ACT_DIESIMPLE); - break; - } - } - if (pev->flags & FL_DUCKING) - { - animDesired = LookupSequence("crouch_die"); - m_iThrowDirection = THROW_BACKWARD; - } - else if (m_bKilledByBomb || m_bKilledByGrenade) - { - UTIL_MakeVectors(pev->angles); - - if (DotProduct(gpGlobals->v_forward, m_vBlastVector) > 0.0f) - animDesired = LookupSequence("left"); - - else - { - if (RANDOM_LONG(0, 1)) - animDesired = LookupSequence("crouch_die"); - else - animDesired = LookupActivity(ACT_DIE_HEADSHOT); - } - - if (m_bKilledByBomb) - m_iThrowDirection = THROW_BOMB; - - else if (m_bKilledByGrenade) - m_iThrowDirection = THROW_GRENADE; - } - - if (animDesired == -1) - animDesired = 0; - - if (pev->sequence != animDesired) - { - pev->gaitsequence = 0; - pev->sequence = animDesired; - pev->frame = 0.0f; - ResetSequenceInfo(); - } - return; - } - default: - { - if (m_Activity == m_IdealActivity) - return; - - m_Activity = m_IdealActivity; - animDesired = LookupActivity(m_IdealActivity); - - if (pev->sequence != animDesired) - { - pev->gaitsequence = 0; - pev->sequence = animDesired; - pev->frame = 0; - - ResetSequenceInfo(); - } - return; - } - } - - if (pev->gaitsequence != hopSeq && pev->gaitsequence != leapSeq) - { - if (pev->flags & FL_DUCKING) - { - if (speed != 0.0f) - pev->gaitsequence = LookupActivity(ACT_CROUCH); - else - pev->gaitsequence = LookupActivity(ACT_CROUCHIDLE); - } - else - { - if (speed > 135.0f) - { - if (m_flLastFired + 4.0f < gpGlobals->time) - { - if (m_Activity != ACT_FLINCH && m_Activity != ACT_LARGE_FLINCH) - { - Q_strcpy(szAnim, "run_"); - Q_strcat(szAnim, m_szAnimExtention); - - animDesired = LookupSequence(szAnim); - if (animDesired == -1) - { - if (pev->flags & FL_DUCKING) - Q_strcpy(szAnim, "crouch_aim_"); - else - Q_strcpy(szAnim, "ref_aim_"); - - Q_strcat(szAnim, m_szAnimExtention); - animDesired = LookupSequence(szAnim); - } - else - pev->gaitsequence = animDesired; - - m_Activity = ACT_RUN; - } - } - pev->gaitsequence = LookupActivity(ACT_RUN); - } - else - { - if (speed > 0.0f) - pev->gaitsequence = LookupActivity(ACT_WALK); - else - pev->gaitsequence = LookupActivity(ACT_IDLE); - } - } - } - if (pev->sequence != animDesired) - { - pev->sequence = animDesired; - pev->frame = 0; - - ResetSequenceInfo(); - } -} - -/* <1544f4> ../cstrike/dlls/player.cpp:3264 */ -NOBODY void CBasePlayer::WaterMove(void) -{ -// { -// int air; // 3266 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3285 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3287 -// VARS(EOFFSET eoffset); // 3322 -// VARS(EOFFSET eoffset); // 3322 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3356 -// VARS(EOFFSET eoffset); // 3363 -// VARS(EOFFSET eoffset); // 3363 -// VARS(EOFFSET eoffset); // 3368 -// VARS(EOFFSET eoffset); // 3368 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3355 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3354 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 3353 -// } -} - -/* <15493f> ../cstrike/dlls/player.cpp:3380 */ -BOOL CBasePlayer::IsOnLadder(void) -{ - return pev->movetype == MOVETYPE_FLY; -} - -/* <160720> ../cstrike/dlls/player.cpp:3387 */ -NOXREF void CBasePlayer::ThrowWeapon(char *pszItemName) -{ + return m_bHasC4; +} + +/* <1544a1> ../cstrike/dlls/player.cpp:2636 */ +void CBasePlayer::SetAnimation(PLAYER_ANIM playerAnim) +{ + int animDesired; + float speed; + char szAnim[64]; + int hopSeq; + int leapSeq; + + if (!pev->modelindex) + return; + + if ((playerAnim == PLAYER_FLINCH || playerAnim == PLAYER_LARGE_FLINCH) && HasShield()) + return; + + if (playerAnim != PLAYER_FLINCH && playerAnim != PLAYER_LARGE_FLINCH && m_flFlinchTime > gpGlobals->time && pev->health > 0.0f) + return; + + speed = pev->velocity.Length2D(); + + if (pev->flags & FL_FROZEN) + { + speed = 0; + playerAnim = PLAYER_IDLE; + } + + hopSeq = LookupActivity(ACT_HOP); + leapSeq = LookupActivity(ACT_LEAP); + + switch (playerAnim) + { + case PLAYER_JUMP: + { + if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) + m_IdealActivity = m_Activity; + else + { + m_IdealActivity = ACT_HOP; + TheBots->OnEvent(EVENT_PLAYER_JUMPED, this); + } + break; + } + case PLAYER_SUPERJUMP: + { + if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) + m_IdealActivity = m_Activity; + else + m_IdealActivity = ACT_LEAP; + break; + } + case PLAYER_DIE: + { + m_IdealActivity = ACT_DIESIMPLE; + DeathSound(); + break; + } + case PLAYER_ATTACK1: + { + if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) + m_IdealActivity = m_Activity; + else + { + m_IdealActivity = ACT_RANGE_ATTACK1; + TheBots->OnEvent(EVENT_WEAPON_FIRED, this); + } + break; + } + case PLAYER_ATTACK2: + { + if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) + m_IdealActivity = m_Activity; + else + { + m_IdealActivity = ACT_RANGE_ATTACK2; + TheBots->OnEvent(EVENT_WEAPON_FIRED, this); + } + break; + } + case PLAYER_RELOAD: + { + if (m_Activity == ACT_SWIM || m_Activity == ACT_DIESIMPLE || m_Activity == ACT_HOVER) + m_IdealActivity = m_Activity; + else + { + m_IdealActivity = ACT_RELOAD; + TheBots->OnEvent(EVENT_WEAPON_RELOADED, this); + } + break; + } + case PLAYER_IDLE: + case PLAYER_WALK: + { + if (pev->flags & FL_ONGROUND || (m_Activity != ACT_HOP && m_Activity != ACT_LEAP)) + { + if (pev->waterlevel <= 1) + m_IdealActivity = ACT_WALK; + + else if (speed == 0.0f) + m_IdealActivity = ACT_HOVER; + + else + m_IdealActivity = ACT_SWIM; + } + else + m_IdealActivity = m_Activity; + break; + } + case PLAYER_HOLDBOMB: + m_IdealActivity = ACT_HOLDBOMB; + break; + case PLAYER_FLINCH: + m_IdealActivity = ACT_FLINCH; + break; + case PLAYER_LARGE_FLINCH: + m_IdealActivity = ACT_LARGE_FLINCH; + break; + default: + break; + } + switch (m_IdealActivity) + { + case ACT_HOP: + case ACT_LEAP: + { + if (m_Activity == m_IdealActivity) + return; + + switch (m_Activity) + { + case ACT_RANGE_ATTACK1: + Q_strcpy(szAnim, "ref_shoot_"); + break; + case ACT_RANGE_ATTACK2: + Q_strcpy(szAnim, "ref_shoot2_"); + break; + case ACT_RELOAD: + Q_strcpy(szAnim, "ref_reload_"); + break; + default: + Q_strcpy(szAnim, "ref_aim_"); + break; + } + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + if (pev->sequence != animDesired || !m_fSequenceLoops) + pev->frame = 0; + + if (!m_fSequenceLoops) + pev->effects |= EF_NOINTERP; + + if (m_IdealActivity == ACT_LEAP) + pev->gaitsequence = LookupActivity(ACT_LEAP); + else + pev->gaitsequence = LookupActivity(ACT_HOP); + + m_Activity = m_IdealActivity; + break; + } + case ACT_RANGE_ATTACK1: + { + m_flLastFired = gpGlobals->time; + + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_shoot_"); + else + Q_strcpy(szAnim, "ref_shoot_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + pev->sequence = animDesired; + pev->frame = 0; + + ResetSequenceInfo(); + m_Activity = m_IdealActivity; + break; + } + case ACT_RANGE_ATTACK2: + { + m_flLastFired = gpGlobals->time; + + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_shoot2_"); + else + Q_strcpy(szAnim, "ref_shoot2_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + pev->sequence = animDesired; + pev->frame = 0; + + ResetSequenceInfo(); + m_Activity = m_IdealActivity; + break; + } + case ACT_RELOAD: + { + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_reload_"); + else + Q_strcpy(szAnim, "ref_reload_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + if (pev->sequence != animDesired || !m_fSequenceLoops) + pev->frame = 0; + + if (!m_fSequenceLoops) + pev->effects |= EF_NOINTERP; + + m_Activity = m_IdealActivity; + break; + } + case ACT_HOLDBOMB: + { + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_aim_"); + else + Q_strcpy(szAnim, "ref_aim_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + m_Activity = m_IdealActivity; + break; + } + case ACT_WALK: + { + if ((m_Activity != ACT_RANGE_ATTACK1 || m_fSequenceFinished) + && (m_Activity != ACT_RANGE_ATTACK2 || m_fSequenceFinished) + && (m_Activity != ACT_FLINCH || m_fSequenceFinished) + && (m_Activity != ACT_LARGE_FLINCH || m_fSequenceFinished) + && (m_Activity != ACT_RELOAD || m_fSequenceFinished)) + { + if (speed <= 135.0f || m_flLastFired + 4.0 >= gpGlobals->time) + { + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_aim_"); + else + Q_strcpy(szAnim, "ref_aim_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + m_Activity = ACT_WALK; + } + else + { + Q_strcpy(szAnim, "run_"); + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + { + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_aim_"); + else + Q_strcpy(szAnim, "ref_aim_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + animDesired = 0; + + m_Activity = ACT_RUN; + pev->gaitsequence = LookupActivity(ACT_RUN); + } + else + { + m_Activity = ACT_RUN; + pev->gaitsequence = animDesired; + } + if (m_Activity == ACT_RUN) + { + //TODO: maybe away used variable 'speed'? + //if (speed > 150.0f) + if (pev->velocity.Length2D() > 150.0f) + TheBots->OnEvent(EVENT_PLAYER_FOOTSTEP, this); + } + } + } + else + animDesired = pev->sequence; + + if (speed > 135.0f) + pev->gaitsequence = LookupActivity(ACT_RUN); + else + pev->gaitsequence = LookupActivity(ACT_WALK); + break; + } + case ACT_FLINCH: + case ACT_LARGE_FLINCH: + { + m_Activity = m_IdealActivity; + +#ifndef REGAMEDLL_FIXES + // TODO: why? this condition was checked! + if ((playerAnim == PLAYER_FLINCH || playerAnim == PLAYER_LARGE_FLINCH) && HasShield()) + return; +#endif // REGAMEDLL_FIXES + + switch (m_LastHitGroup) + { + case HITGROUP_GENERIC: + { + if (RANDOM_LONG(0, 1)) + animDesired = LookupSequence("head_flinch"); + else + animDesired = LookupSequence("gut_flinch"); + break; + } + case HITGROUP_HEAD: + case HITGROUP_CHEST: + animDesired = LookupSequence("head_flinch"); + break; + case HITGROUP_SHIELD: + animDesired = 0; + break; + default: + animDesired = LookupSequence("gut_flinch"); + break; + } + + if (animDesired == -1) + animDesired = 0; + + break; + } + case ACT_DIESIMPLE: + { + if (m_Activity == m_IdealActivity) + return; + + m_Activity = m_IdealActivity; + m_flDeathThrowTime = 0; + m_iThrowDirection = THROW_NONE; + + switch (m_LastHitGroup) + { + case HITGROUP_GENERIC: + { + switch (RANDOM_LONG(0, 8)) + { + case 0: + animDesired = LookupActivity(ACT_DIE_HEADSHOT); + m_iThrowDirection = THROW_BACKWARD; + break; + case 1: + animDesired = LookupActivity(ACT_DIE_GUTSHOT); + break; + case 2: + animDesired = LookupActivity(ACT_DIE_BACKSHOT); + m_iThrowDirection = THROW_HITVEL; + break; + case 3: + animDesired = LookupActivity(ACT_DIESIMPLE); + break; + case 4: + animDesired = LookupActivity(ACT_DIEBACKWARD); + m_iThrowDirection = THROW_HITVEL; + break; + case 5: + animDesired = LookupActivity(ACT_DIEFORWARD); + m_iThrowDirection = THROW_FORWARD; + break; + case 6: + animDesired = LookupActivity(ACT_DIE_CHESTSHOT); + break; + case 7: + animDesired = LookupActivity(ACT_DIE_GUTSHOT); + break; + case 8: + animDesired = LookupActivity(ACT_DIE_HEADSHOT); + break; + default: + break; + } + break; + } + case HITGROUP_HEAD: + { + int random = RANDOM_LONG(0, 8); + m_bHeadshotKilled = true; + + if (m_bHighDamage) + ++random; + + switch (random) + { + case 1: + case 2: + m_iThrowDirection = THROW_BACKWARD; + break; + case 3: + case 4: + m_iThrowDirection = THROW_FORWARD; + break; + case 5: + case 6: + m_iThrowDirection = THROW_HITVEL; + break; + default: + m_iThrowDirection = THROW_NONE; + break; + } + + animDesired = LookupActivity(ACT_DIE_HEADSHOT); + break; + } + case HITGROUP_CHEST: + animDesired = LookupActivity(ACT_DIE_CHESTSHOT); + break; + case HITGROUP_STOMACH: + animDesired = LookupActivity(ACT_DIE_GUTSHOT); + break; + case HITGROUP_LEFTARM: + animDesired = LookupSequence("left"); + break; + case HITGROUP_RIGHTARM: + { + m_iThrowDirection = RANDOM_LONG(0, 1) ? THROW_HITVEL : THROW_HITVEL_MINUS_AIRVEL; + animDesired = LookupSequence("right"); + break; + } + default: + { + animDesired = LookupActivity(ACT_DIESIMPLE); + break; + } + } + if (pev->flags & FL_DUCKING) + { + animDesired = LookupSequence("crouch_die"); + m_iThrowDirection = THROW_BACKWARD; + } + else if (m_bKilledByBomb || m_bKilledByGrenade) + { + UTIL_MakeVectors(pev->angles); + + if (DotProduct(gpGlobals->v_forward, m_vBlastVector) > 0.0f) + animDesired = LookupSequence("left"); + + else + { + if (RANDOM_LONG(0, 1)) + animDesired = LookupSequence("crouch_die"); + else + animDesired = LookupActivity(ACT_DIE_HEADSHOT); + } + + if (m_bKilledByBomb) + m_iThrowDirection = THROW_BOMB; + + else if (m_bKilledByGrenade) + m_iThrowDirection = THROW_GRENADE; + } + + if (animDesired == -1) + animDesired = 0; + + if (pev->sequence != animDesired) + { + pev->gaitsequence = 0; + pev->sequence = animDesired; + pev->frame = 0.0f; + ResetSequenceInfo(); + } + return; + } + default: + { + if (m_Activity == m_IdealActivity) + return; + + m_Activity = m_IdealActivity; + animDesired = LookupActivity(m_IdealActivity); + + if (pev->sequence != animDesired) + { + pev->gaitsequence = 0; + pev->sequence = animDesired; + pev->frame = 0; + + ResetSequenceInfo(); + } + return; + } + } + + if (pev->gaitsequence != hopSeq && pev->gaitsequence != leapSeq) + { + if (pev->flags & FL_DUCKING) + { + if (speed != 0.0f) + pev->gaitsequence = LookupActivity(ACT_CROUCH); + else + pev->gaitsequence = LookupActivity(ACT_CROUCHIDLE); + } + else + { + if (speed > 135.0f) + { + if (m_flLastFired + 4.0f < gpGlobals->time) + { + if (m_Activity != ACT_FLINCH && m_Activity != ACT_LARGE_FLINCH) + { + Q_strcpy(szAnim, "run_"); + Q_strcat(szAnim, m_szAnimExtention); + + animDesired = LookupSequence(szAnim); + if (animDesired == -1) + { + if (pev->flags & FL_DUCKING) + Q_strcpy(szAnim, "crouch_aim_"); + else + Q_strcpy(szAnim, "ref_aim_"); + + Q_strcat(szAnim, m_szAnimExtention); + animDesired = LookupSequence(szAnim); + } + else + pev->gaitsequence = animDesired; + + m_Activity = ACT_RUN; + } + } + pev->gaitsequence = LookupActivity(ACT_RUN); + } + else + { + if (speed > 0.0f) + pev->gaitsequence = LookupActivity(ACT_WALK); + else + pev->gaitsequence = LookupActivity(ACT_IDLE); + } + } + } + if (pev->sequence != animDesired) + { + pev->sequence = animDesired; + pev->frame = 0; + + ResetSequenceInfo(); + } +} + +/* <1544f4> ../cstrike/dlls/player.cpp:3264 */ +NOBODY void CBasePlayer::WaterMove(void) +{ +// { +// int air; // 3266 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3285 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3287 +// VARS(EOFFSET eoffset); // 3322 +// VARS(EOFFSET eoffset); // 3322 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3356 +// VARS(EOFFSET eoffset); // 3363 +// VARS(EOFFSET eoffset); // 3363 +// VARS(EOFFSET eoffset); // 3368 +// VARS(EOFFSET eoffset); // 3368 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3355 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3354 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 3353 +// } +} + +/* <15493f> ../cstrike/dlls/player.cpp:3380 */ +BOOL CBasePlayer::IsOnLadder(void) +{ + return pev->movetype == MOVETYPE_FLY; +} + +/* <160720> ../cstrike/dlls/player.cpp:3387 */ +NOXREF void CBasePlayer::ThrowWeapon(char *pszItemName) +{ for (int i = 0; i < MAX_WEAPON_SLOTS; i++) { CBasePlayerItem *pWeapon = m_rgpPlayerItems[i]; @@ -2464,49 +2538,49 @@ NOXREF void CBasePlayer::ThrowWeapon(char *pszItemName) pWeapon = pWeapon->m_pNext; } - } -} - -/* <154967> ../cstrike/dlls/player.cpp:3424 */ -LINK_ENTITY_TO_CLASS(weapon_shield, CWShield); - -/* <151962> ../cstrike/dlls/player.cpp:3426 */ -NOBODY void CWShield::Spawn(void) -{ -} - -/* <152e95> ../cstrike/dlls/player.cpp:3436 */ -NOBODY void CWShield::Touch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *pPlayer; // 3457 -// } -// Touch(CWShield *const this, -// class CBaseEntity *pOther); // 3436 -} - -/* <154a43> ../cstrike/dlls/player.cpp:3480 */ -NOBODY void CBasePlayer::GiveShield(bool bDeploy) -{ -} - -/* <154a70> ../cstrike/dlls/player.cpp:3504 */ -void CBasePlayer::RemoveShield(void) -{ - if (HasShield()) - { - m_bOwnsShield = false; - m_bHasPrimary = false; - m_bShieldDrawn = false; - pev->gamestate = 1; - - UpdateShieldCrosshair(true); - } -} - -/* <154ad5> ../cstrike/dlls/player.cpp:3521 */ -void CBasePlayer::DropShield(bool bDeploy) -{ + } +} + +/* <154967> ../cstrike/dlls/player.cpp:3424 */ +LINK_ENTITY_TO_CLASS(weapon_shield, CWShield); + +/* <151962> ../cstrike/dlls/player.cpp:3426 */ +NOBODY void CWShield::Spawn(void) +{ +} + +/* <152e95> ../cstrike/dlls/player.cpp:3436 */ +NOBODY void CWShield::Touch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *pPlayer; // 3457 +// } +// Touch(CWShield *const this, +// class CBaseEntity *pOther); // 3436 +} + +/* <154a43> ../cstrike/dlls/player.cpp:3480 */ +NOBODY void CBasePlayer::GiveShield(bool bDeploy) +{ +} + +/* <154a70> ../cstrike/dlls/player.cpp:3504 */ +void CBasePlayer::RemoveShield(void) +{ + if (HasShield()) + { + m_bOwnsShield = false; + m_bHasPrimary = false; + m_bShieldDrawn = false; + pev->gamestate = 1; + + UpdateShieldCrosshair(true); + } +} + +/* <154ad5> ../cstrike/dlls/player.cpp:3521 */ +void CBasePlayer::DropShield(bool bDeploy) +{ if (!HasShield()) return; @@ -2524,23 +2598,23 @@ void CBasePlayer::DropShield(bool bDeploy) } } - if (m_pActiveItem) - { - CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; - - if (pWeapon->m_flStartThrow != 0) - m_pActiveItem->Holster(); + if (m_pActiveItem) + { + CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; + + if (pWeapon->m_flStartThrow != 0) + m_pActiveItem->Holster(); } - if (IsReloading()) - { - CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; - - pWeapon->m_fInReload = FALSE; - m_flNextAttack = 0; + if (IsReloading()) + { + CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; + + pWeapon->m_fInReload = FALSE; + m_flNextAttack = 0; } - if (IsProtectedByShield() && m_pActiveItem) + if (IsProtectedByShield() && m_pActiveItem) ((CBasePlayerWeapon *)m_pActiveItem)->SecondaryAttack(); m_bShieldDrawn = false; @@ -2562,18 +2636,18 @@ void CBasePlayer::DropShield(bool bDeploy) pShield->SetThink(&CBaseEntity::SUB_Remove); pShield->pev->nextthink = gpGlobals->time + 300; - pShield->SetCantBePickedUpByUser(this, 2.0); -} - -/* <154b15> ../cstrike/dlls/player.cpp:3588 */ -bool CBasePlayer::HasShield(void) -{ - return m_bOwnsShield; -} - -/* <1615d2> ../cstrike/dlls/player.cpp:3593 */ -NOXREF void CBasePlayer::ThrowPrimary(void) -{ + pShield->SetCantBePickedUpByUser(this, 2.0); +} + +/* <154b15> ../cstrike/dlls/player.cpp:3588 */ +bool CBasePlayer::HasShield(void) +{ + return m_bOwnsShield; +} + +/* <1615d2> ../cstrike/dlls/player.cpp:3593 */ +NOXREF void CBasePlayer::ThrowPrimary(void) +{ ThrowWeapon("weapon_m249"); ThrowWeapon("weapon_g3sg1"); ThrowWeapon("weapon_sg550"); @@ -2589,12 +2663,12 @@ NOXREF void CBasePlayer::ThrowPrimary(void) ThrowWeapon("weapon_galil"); ThrowWeapon("weapon_famas"); - DropShield(true); -} - -/* <154b6d> ../cstrike/dlls/player.cpp:3624 */ -void CBasePlayer::AddAccount(int amount, bool bTrackChange) -{ + DropShield(true); +} + +/* <154b6d> ../cstrike/dlls/player.cpp:3624 */ +void CBasePlayer::AddAccount(int amount, bool bTrackChange) +{ m_iAccount += amount; if (m_iAccount < 0) @@ -2606,28 +2680,28 @@ void CBasePlayer::AddAccount(int amount, bool bTrackChange) MESSAGE_BEGIN(MSG_ONE, gmsgMoney, NULL, pev); WRITE_LONG(m_iAccount); WRITE_BYTE(bTrackChange); - MESSAGE_END(); -} - -/* <154bf8> ../cstrike/dlls/player.cpp:3640 */ -void CBasePlayer::ResetMenu(void) -{ + MESSAGE_END(); +} + +/* <154bf8> ../cstrike/dlls/player.cpp:3640 */ +void CBasePlayer::ResetMenu(void) +{ MESSAGE_BEGIN(MSG_ONE, gmsgShowMenu, NULL, pev); WRITE_SHORT(0); WRITE_CHAR(0); WRITE_BYTE(0); WRITE_STRING(""); - MESSAGE_END(); - -#ifdef REGAMEDLL_FIXES - m_iMenu = Menu_OFF; -#endif // REGAMEDLL_FIXES - -} - -/* <154c50> ../cstrike/dlls/player.cpp:3651 */ -void CBasePlayer::SyncRoundTimer(void) -{ + MESSAGE_END(); + +#ifdef REGAMEDLL_FIXES + m_iMenu = Menu_OFF; +#endif // REGAMEDLL_FIXES + +} + +/* <154c50> ../cstrike/dlls/player.cpp:3651 */ +void CBasePlayer::SyncRoundTimer(void) +{ float tmRemaining; CHalfLifeMultiplay *mp = g_pGameRules; @@ -2642,61 +2716,61 @@ void CBasePlayer::SyncRoundTimer(void) MESSAGE_BEGIN(MSG_ONE, gmsgRoundTime, NULL, pev); WRITE_SHORT(tmRemaining); MESSAGE_END(); - - if (!mp->IsMultiplayer()) - return; - - if (mp->IsFreezePeriod() && TheTutor && !IsObserver()) - { + + if (!mp->IsMultiplayer()) + return; + + if (mp->IsFreezePeriod() && TheTutor && !IsObserver()) + { MESSAGE_BEGIN(MSG_ONE, gmsgBlinkAcct, NULL, pev); WRITE_BYTE( MONEY_BLINK_AMOUNT ); - MESSAGE_END(); - } - - if (mp->IsCareer()) - { - int remaining; - bool shouldCountDown = false; - int fadeOutDelay = 0; - - if (tmRemaining) - remaining = (int)((float_precision)TheCareerTasks->GetTaskTime() - (gpGlobals->time - mp->m_fRoundCount)); - + MESSAGE_END(); + } + + if (mp->IsCareer()) + { + int remaining; + bool shouldCountDown = false; + int fadeOutDelay = 0; + + if (tmRemaining) + remaining = (int)((float_precision)TheCareerTasks->GetTaskTime() - (gpGlobals->time - mp->m_fRoundCount)); + if (remaining < 0) - remaining = 0; - - if (mp->IsFreezePeriod()) - remaining = -1; - - if (TheCareerTasks->GetFinishedTaskTime()) - remaining = -TheCareerTasks->GetFinishedTaskTime(); - - if (!mp->IsFreezePeriod() && !TheCareerTasks->GetFinishedTaskTime()) - shouldCountDown = true; - - if (!mp->IsFreezePeriod()) - { - if (TheCareerTasks->GetFinishedTaskTime() || ((float_precision)TheCareerTasks->GetTaskTime() <= TheCareerTasks->GetRoundElapsedTime())) - fadeOutDelay = 3; - } - - if (!TheCareerTasks->GetFinishedTaskTime() || TheCareerTasks->GetFinishedTaskRound() == mp->m_iTotalRoundsPlayed) - { - MESSAGE_BEGIN(MSG_ONE, gmsgTaskTime, NULL, pev); - WRITE_SHORT(remaining); - WRITE_BYTE(shouldCountDown); - WRITE_BYTE(fadeOutDelay); - MESSAGE_END(); - } - } -} - -/* <154db6> ../cstrike/dlls/player.cpp:3711 */ -void CBasePlayer::RemoveLevelText(void) -{ - ResetMenu(); -} - + remaining = 0; + + if (mp->IsFreezePeriod()) + remaining = -1; + + if (TheCareerTasks->GetFinishedTaskTime()) + remaining = -TheCareerTasks->GetFinishedTaskTime(); + + if (!mp->IsFreezePeriod() && !TheCareerTasks->GetFinishedTaskTime()) + shouldCountDown = true; + + if (!mp->IsFreezePeriod()) + { + if (TheCareerTasks->GetFinishedTaskTime() || ((float_precision)TheCareerTasks->GetTaskTime() <= TheCareerTasks->GetRoundElapsedTime())) + fadeOutDelay = 3; + } + + if (!TheCareerTasks->GetFinishedTaskTime() || TheCareerTasks->GetFinishedTaskRound() == mp->m_iTotalRoundsPlayed) + { + MESSAGE_BEGIN(MSG_ONE, gmsgTaskTime, NULL, pev); + WRITE_SHORT(remaining); + WRITE_BYTE(shouldCountDown); + WRITE_BYTE(fadeOutDelay); + MESSAGE_END(); + } + } +} + +/* <154db6> ../cstrike/dlls/player.cpp:3711 */ +void CBasePlayer::RemoveLevelText(void) +{ + ResetMenu(); +} + void ShowMenu2(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, int fNeedMore, char *pszText) { MESSAGE_BEGIN(MSG_ONE, gmsgShowMenu, NULL, pPlayer->pev); @@ -2705,11 +2779,11 @@ void ShowMenu2(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, int f WRITE_BYTE(fNeedMore); WRITE_STRING(pszText); MESSAGE_END(); -} - -/* <154e29> ../cstrike/dlls/player.cpp:3721 */ -void WINAPI_HOOK CBasePlayer::MenuPrint(const char *msg) -{ +} + +/* <154e29> ../cstrike/dlls/player.cpp:3721 */ +void WINAPI_HOOK CBasePlayer::MenuPrint(const char *msg) +{ const char *msg_portion = msg; char sbuf[MAX_BUFFER_MENU_BRIEFING + 1]; @@ -2732,12 +2806,12 @@ void WINAPI_HOOK CBasePlayer::MenuPrint(const char *msg) WRITE_CHAR(-1); WRITE_BYTE(0); // multipart WRITE_STRING(msg_portion); - MESSAGE_END(); -} - -/* <154f3d> ../cstrike/dlls/player.cpp:3753 */ -void CBasePlayer::MakeVIP(void) -{ + MESSAGE_END(); +} + +/* <154f3d> ../cstrike/dlls/player.cpp:3753 */ +void CBasePlayer::MakeVIP(void) +{ pev->body = 0; m_iModelName = MODEL_VIP; @@ -2749,110 +2823,110 @@ void CBasePlayer::MakeVIP(void) m_bNotKilled = false; g_pGameRules->m_pVIP = this; - g_pGameRules->m_iConsecutiveVIP = 1; -} - -/* <154fe5> ../cstrike/dlls/player.cpp:3785 */ -NOBODY void CBasePlayer::JoiningThink(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 3787 -// { -// class CHalfLifeMultiplay *MPRules; // 3843 -// RemoveLevelText(CBasePlayer *const this); // 3815 -// { -// edict_t *pentSpawnSpot; // 3861 -// MAKE_STRING_CLASS(const char *str, -// entvars_t *pev); // 3857 -// VARS(edict_t *pent); // 3862 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3866 -// Vector(Vector *const this, -// const Vector &v); // 3862 -// Vector(Vector *const this, -// const Vector &v); // 3862 -// entindex(CBaseEntity *const this); // 3867 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3878 -// entindex(CBaseEntity *const this); // 3879 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 3884 -// edict(CBaseEntity *const this); // 3885 -// ENTINDEX(edict_t *pEdict); // 3885 -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 3894 -// } -// ResetMenu(CBasePlayer *const this); // 3794 -// SendItemStatus(CBasePlayer *pPlayer); // 3806 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 3798 -// AddAccount(CBasePlayer *const this, -// int amount, -// bool bTrackChange); // 3850 -// } -// { -// class CBaseEntity *Target; // 3919 -// Vector CamAngles; // 3920 -// operator-(const Vector *const this, -// const Vector &v); // 3935 -// Normalize(const Vector *const this); // 3936 -// } -// } -} - -/* <16076f> ../cstrike/dlls/player.cpp:3952 */ -NOBODY void CBasePlayer::Disappear(void) -{ -// { -// class CSound *pSound; // 3954 -// edict(CBaseEntity *const this); // 3964 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 3987 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 3992 -// SendFOV(CBasePlayer *const this, -// int fov); // 3998 -// BuyZoneIcon_Clear(CBasePlayer *player); // 4026 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 4017 -// SendItemStatus(CBasePlayer *pPlayer); // 4021 -// } -} - -/* <15f83d> ../cstrike/dlls/player.cpp:4039 */ -NOBODY void CBasePlayer::PlayerDeathThink(void) -{ -// { -// float flForward; // 4041 -// BOOL fAnyButtonDown; // 4088 -// HasWeapons(CBasePlayer *const this); // 4056 -// StopAnimation(CBaseMonster *const this); // 4084 -// Length(const Vector *const this); // 4049 -// Normalize(const Vector *const this); // 4053 -// operator*(float fl, -// const Vector &v); // 4053 -// } -} - -/* <153042> ../cstrike/dlls/player.cpp:4134 */ -void CBasePlayer::RoundRespawn_(void) -{ + g_pGameRules->m_iConsecutiveVIP = 1; +} + +/* <154fe5> ../cstrike/dlls/player.cpp:3785 */ +NOBODY void CBasePlayer::JoiningThink(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 3787 +// { +// class CHalfLifeMultiplay *MPRules; // 3843 +// RemoveLevelText(CBasePlayer *const this); // 3815 +// { +// edict_t *pentSpawnSpot; // 3861 +// MAKE_STRING_CLASS(const char *str, +// entvars_t *pev); // 3857 +// VARS(edict_t *pent); // 3862 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3866 +// Vector(Vector *const this, +// const Vector &v); // 3862 +// Vector(Vector *const this, +// const Vector &v); // 3862 +// entindex(CBaseEntity *const this); // 3867 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3878 +// entindex(CBaseEntity *const this); // 3879 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 3884 +// edict(CBaseEntity *const this); // 3885 +// ENTINDEX(edict_t *pEdict); // 3885 +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 3894 +// } +// ResetMenu(CBasePlayer *const this); // 3794 +// SendItemStatus(CBasePlayer *pPlayer); // 3806 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 3798 +// AddAccount(CBasePlayer *const this, +// int amount, +// bool bTrackChange); // 3850 +// } +// { +// class CBaseEntity *Target; // 3919 +// Vector CamAngles; // 3920 +// operator-(const Vector *const this, +// const Vector &v); // 3935 +// Normalize(const Vector *const this); // 3936 +// } +// } +} + +/* <16076f> ../cstrike/dlls/player.cpp:3952 */ +NOBODY void CBasePlayer::Disappear(void) +{ +// { +// class CSound *pSound; // 3954 +// edict(CBaseEntity *const this); // 3964 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 3987 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 3992 +// SendFOV(CBasePlayer *const this, +// int fov); // 3998 +// BuyZoneIcon_Clear(CBasePlayer *player); // 4026 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 4017 +// SendItemStatus(CBasePlayer *pPlayer); // 4021 +// } +} + +/* <15f83d> ../cstrike/dlls/player.cpp:4039 */ +NOBODY void CBasePlayer::PlayerDeathThink(void) +{ +// { +// float flForward; // 4041 +// BOOL fAnyButtonDown; // 4088 +// HasWeapons(CBasePlayer *const this); // 4056 +// StopAnimation(CBaseMonster *const this); // 4084 +// Length(const Vector *const this); // 4049 +// Normalize(const Vector *const this); // 4053 +// operator*(float fl, +// const Vector &v); // 4053 +// } +} + +/* <153042> ../cstrike/dlls/player.cpp:4134 */ +void CBasePlayer::RoundRespawn_(void) +{ m_canSwitchObserverModes = true; if (m_bJustKilledTeammate && CVAR_GET_FLOAT("mp_tkpunish")) @@ -2875,39 +2949,39 @@ void CBasePlayer::RoundRespawn_(void) SwitchWeapon(m_pActiveItem); } - m_lastLocation[0] = 0; -} - -/* <155577> ../cstrike/dlls/player.cpp:4172 */ -NOXREF void CBasePlayer::StartDeathCam(void) -{ - if (pev->view_ofs == g_vecZero) - return; - - StartObserver(pev->origin, pev->angles); - - if (TheBots) - TheBots->OnEvent(EVENT_DEATH_CAMERA_START, this); -} - -/* <155616> ../cstrike/dlls/player.cpp:4190 */ -NOBODY void CBasePlayer::StartObserver(Vector vecPosition, Vector vecViewAngle) -{ -// { -// int iFirstTime; // 4194 -// class CHalfLifeMultiplay *mp; // 4246 -// entindex(CBaseEntity *const this); // 4199 - -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 4262 -// edict(CBaseEntity *const this); // 4263 -// ENTINDEX(edict_t *pEdict); // 4263 -// edict(CBaseEntity *const this); // 4250 -// } - - // clear any clientside entities attached to this player + m_lastLocation[0] = 0; +} + +/* <155577> ../cstrike/dlls/player.cpp:4172 */ +NOXREF void CBasePlayer::StartDeathCam(void) +{ + if (pev->view_ofs == g_vecZero) + return; + + StartObserver(pev->origin, pev->angles); + + if (TheBots) + TheBots->OnEvent(EVENT_DEATH_CAMERA_START, this); +} + +/* <155616> ../cstrike/dlls/player.cpp:4190 */ +NOBODY void CBasePlayer::StartObserver(Vector vecPosition, Vector vecViewAngle) +{ +// { +// int iFirstTime; // 4194 +// class CHalfLifeMultiplay *mp; // 4246 +// entindex(CBaseEntity *const this); // 4199 + +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 4262 +// edict(CBaseEntity *const this); // 4263 +// ENTINDEX(edict_t *pEdict); // 4263 +// edict(CBaseEntity *const this); // 4250 +// } + + // clear any clientside entities attached to this player MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, pev->origin); WRITE_BYTE(TE_KILLPLAYERATTACHMENTS); WRITE_BYTE(entindex()); @@ -2984,43 +3058,43 @@ NOBODY void CBasePlayer::StartObserver(Vector vecPosition, Vector vecViewAngle) MESSAGE_BEGIN(MSG_ALL, gmsgSpectator); WRITE_BYTE(entindex()); WRITE_BYTE(1); - MESSAGE_END(); -} - -/* <14d785> ../cstrike/dlls/player.cpp:4272 */ -bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity) -{ - TraceResult result; - Vector eye = me->pev->origin + me->pev->view_ofs; - - if (FClassnameIs(entity->pev, "hostage_entity")) - { - Vector chest = entity->pev->origin + Vector(0, 0, 36); - Vector head = entity->pev->origin + Vector(0, 0, 72 * 0.9); - Vector knees = entity->pev->origin + Vector(0, 0, 18); - - UTIL_TraceLine(eye, chest, ignore_monsters, ignore_glass, me->edict(), &result); - if (result.flFraction < 1.0f) - { - UTIL_TraceLine(eye, head, ignore_monsters, ignore_glass, entity->edict(), &result); - if (result.flFraction < 1.0f) - { - UTIL_TraceLine(eye, knees, ignore_monsters, ignore_glass, entity->edict(), &result); - if (result.flFraction < 1.0f) - { - return false; - } - } - } - } - - return true; -} - -/* <155815> ../cstrike/dlls/player.cpp:4307 */ -void CBasePlayer::PlayerUse(void) -{ - // Was use pressed or released? + MESSAGE_END(); +} + +/* <14d785> ../cstrike/dlls/player.cpp:4272 */ +bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity) +{ + TraceResult result; + Vector eye = me->pev->origin + me->pev->view_ofs; + + if (FClassnameIs(entity->pev, "hostage_entity")) + { + Vector chest = entity->pev->origin + Vector(0, 0, 36); + Vector head = entity->pev->origin + Vector(0, 0, 72 * 0.9); + Vector knees = entity->pev->origin + Vector(0, 0, 18); + + UTIL_TraceLine(eye, chest, ignore_monsters, ignore_glass, me->edict(), &result); + if (result.flFraction < 1.0f) + { + UTIL_TraceLine(eye, head, ignore_monsters, ignore_glass, entity->edict(), &result); + if (result.flFraction < 1.0f) + { + UTIL_TraceLine(eye, knees, ignore_monsters, ignore_glass, entity->edict(), &result); + if (result.flFraction < 1.0f) + { + return false; + } + } + } + } + + return true; +} + +/* <155815> ../cstrike/dlls/player.cpp:4307 */ +void CBasePlayer::PlayerUse(void) +{ + // Was use pressed or released? if (!((pev->button | m_afButtonPressed | m_afButtonReleased) & IN_USE)) return; @@ -3029,7 +3103,7 @@ void CBasePlayer::PlayerUse(void) { if (m_pTank != NULL) { - // Stop controlling the tank + // Stop controlling the tank // TODO: Send HUD Update m_pTank->Use(this, this, USE_OFF, 0); m_pTank = NULL; @@ -3077,7 +3151,7 @@ void CBasePlayer::PlayerUse(void) CBaseEntity *pObject = NULL; CBaseEntity *pClosest = NULL; Vector vecLOS; - float flMaxDot = VIEW_FIELD_NARROW; + float flMaxDot = VIEW_FIELD_NARROW; float flDot; // so we know which way we are facing @@ -3127,8 +3201,8 @@ void CBasePlayer::PlayerUse(void) { if (pObject->ObjectCaps() & (FCAP_IMPULSE_USE | FCAP_CONTINUOUS_USE | FCAP_ONOFF_USE)) { - // !!!PERFORMANCE- should this check be done on a per case basis AFTER we've determined that - // this object is actually usable? This dot is being done for every object within PLAYER_SEARCH_RADIUS + // !!!PERFORMANCE- should this check be done on a per case basis AFTER we've determined that + // this object is actually usable? This dot is being done for every object within PLAYER_SEARCH_RADIUS // when player hits the use key. How many objects can be in that area, anyway? (sjb) vecLOS = (VecBModelOrigin(pObject->pev) - (pev->origin + pev->view_ofs)); vecLOS.NormalizeInPlace(); @@ -3177,61 +3251,61 @@ void CBasePlayer::PlayerUse(void) { if (m_afButtonPressed & IN_USE) EMIT_SOUND(ENT(pev), CHAN_ITEM, "common/wpn_denyselect.wav", 0.4, ATTN_NORM); - } -} - -/* <155f41> ../cstrike/dlls/player.cpp:4486 */ -NOBODY void CBasePlayer::HostageUsed(void) -{ -// HintMessage(CBasePlayer::HostageUsed(// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 4493 -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 4497 -} - -/* <153f69> ../cstrike/dlls/player.cpp:4507 */ -NOBODY void CBasePlayer::Jump_(void) -{ -// { -// Vector vecWallCheckDir; // 4509 -// Vector vecAdjustedVelocity; // 4510 -// Vector vecSpot; // 4511 -// TraceResult tr; // 4512 -// entvars_t *pevGround; // 4549 -// } -// Jump(CBasePlayer *const this); // 4507 -} - -/* <155fe2> ../cstrike/dlls/player.cpp:4565 */ -NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer) -{ -// { -// TraceResult trace; // 4567 -// { -// int i; // 4570 -// } -// } -} - -/* <153ef5> ../cstrike/dlls/player.cpp:4580 */ -NOBODY void CBasePlayer::Duck_(void) -{ - if (pev->button & IN_DUCK) - SetAnimation(PLAYER_WALK); -} - -/* <150f8f> ../cstrike/dlls/player.cpp:4591 */ -int CBasePlayer::Classify_(void) -{ - return CLASS_PLAYER; -} - -/* <150fb7> ../cstrike/dlls/player.cpp:4597 */ -void CBasePlayer::AddPoints_(int score, BOOL bAllowNegativeScore) -{ + } +} + +/* <155f41> ../cstrike/dlls/player.cpp:4486 */ +NOBODY void CBasePlayer::HostageUsed(void) +{ +// HintMessage(CBasePlayer::HostageUsed(// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 4493 +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 4497 +} + +/* <153f69> ../cstrike/dlls/player.cpp:4507 */ +NOBODY void CBasePlayer::Jump_(void) +{ +// { +// Vector vecWallCheckDir; // 4509 +// Vector vecAdjustedVelocity; // 4510 +// Vector vecSpot; // 4511 +// TraceResult tr; // 4512 +// entvars_t *pevGround; // 4549 +// } +// Jump(CBasePlayer *const this); // 4507 +} + +/* <155fe2> ../cstrike/dlls/player.cpp:4565 */ +NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer) +{ +// { +// TraceResult trace; // 4567 +// { +// int i; // 4570 +// } +// } +} + +/* <153ef5> ../cstrike/dlls/player.cpp:4580 */ +void CBasePlayer::Duck_(void) +{ + if (pev->button & IN_DUCK) + SetAnimation(PLAYER_WALK); +} + +/* <150f8f> ../cstrike/dlls/player.cpp:4591 */ +int CBasePlayer::Classify_(void) +{ + return CLASS_PLAYER; +} + +/* <150fb7> ../cstrike/dlls/player.cpp:4597 */ +void CBasePlayer::AddPoints_(int score, BOOL bAllowNegativeScore) +{ if (score < 0 && !bAllowNegativeScore) { if (pev->frags < 0) @@ -3249,66 +3323,66 @@ void CBasePlayer::AddPoints_(int score, BOOL bAllowNegativeScore) WRITE_SHORT(m_iDeaths); WRITE_SHORT(0); WRITE_SHORT(m_iTeam); - MESSAGE_END(); -} - -/* <15125b> ../cstrike/dlls/player.cpp:4626 */ -NOBODY void CBasePlayer::AddPointsToTeam_(int score, BOOL bAllowNegativeScore) -{ -// { -// int index; // 4628 -// entindex(CBaseEntity *const this); // 4628 -// { -// int i; // 4630 -// { -// class CBaseEntity *pPlayer; // 4632 -// } -// } -// } -} - -/* <156047> ../cstrike/dlls/player.cpp:4645 */ -NOBODY bool CBasePlayer::CanPlayerBuy(bool display) -{ -// { -// bool result; // 4647 -// class CHalfLifeMultiplay *mp; // 4666 -// int buyTime; // 4668 -// } -} - -/* <15f9ac> ../cstrike/dlls/player.cpp:4717 */ -NOBODY void CBasePlayer::PreThink_(void) -{ -// { -// int buttonsChanged; // 4719 -// class CBaseEntity *pGroundEntity; // 4831 -// { -// class CBaseEntity *pTrain; // 4845 -// float vel; // 4846 -// { -// TraceResult trainTrace; // 4850 -// } -// } -// } -} - -/* <156096> ../cstrike/dlls/player.cpp:5146 */ -NOBODY void CBasePlayer::CheckTimeBasedDamage(void) -{ -// { -// int i; // 5148 -// BYTE bDuration; // 5149 -// float gtbdPrev; // 5151 -// { -// int idif; // 5190 -// } -// } -} - -/* <156112> ../cstrike/dlls/player.cpp:5312 */ -NOXREF void CBasePlayer::UpdateGeigerCounter(void) -{ + MESSAGE_END(); +} + +/* <15125b> ../cstrike/dlls/player.cpp:4626 */ +NOBODY void CBasePlayer::AddPointsToTeam_(int score, BOOL bAllowNegativeScore) +{ +// { +// int index; // 4628 +// entindex(CBaseEntity *const this); // 4628 +// { +// int i; // 4630 +// { +// class CBaseEntity *pPlayer; // 4632 +// } +// } +// } +} + +/* <156047> ../cstrike/dlls/player.cpp:4645 */ +NOBODY bool CBasePlayer::CanPlayerBuy(bool display) +{ +// { +// bool result; // 4647 +// class CHalfLifeMultiplay *mp; // 4666 +// int buyTime; // 4668 +// } +} + +/* <15f9ac> ../cstrike/dlls/player.cpp:4717 */ +NOBODY void CBasePlayer::PreThink_(void) +{ +// { +// int buttonsChanged; // 4719 +// class CBaseEntity *pGroundEntity; // 4831 +// { +// class CBaseEntity *pTrain; // 4845 +// float vel; // 4846 +// { +// TraceResult trainTrace; // 4850 +// } +// } +// } +} + +/* <156096> ../cstrike/dlls/player.cpp:5146 */ +NOBODY void CBasePlayer::CheckTimeBasedDamage(void) +{ +// { +// int i; // 5148 +// BYTE bDuration; // 5149 +// float gtbdPrev; // 5151 +// { +// int idif; // 5190 +// } +// } +} + +/* <156112> ../cstrike/dlls/player.cpp:5312 */ +NOXREF void CBasePlayer::UpdateGeigerCounter(void) +{ if (gpGlobals->time < m_flgeigerDelay) return; @@ -3325,91 +3399,138 @@ NOXREF void CBasePlayer::UpdateGeigerCounter(void) } if (!RANDOM_LONG(0, 3)) - m_flgeigerRange = 1000.0; -} - -/* <156189> ../cstrike/dlls/player.cpp:5352 */ -NOBODY void CBasePlayer::CheckSuitUpdate(void) -{ -// { -// int i; // 5354 -// int isentence; // 5355 -// int isearch; // 5356 -// { -// char sentence; // 5390 -// } -// } -} - -/* <156201> ../cstrike/dlls/player.cpp:5414 */ -void CBasePlayer::SetSuitUpdate(char *name, int fgroup, int iNoRepeatTime) -{ - ; -} - -/* <15623f> ../cstrike/dlls/player.cpp:5519 */ -NOXREF void CBasePlayer::CheckPowerups(entvars_t *pev) -{ + m_flgeigerRange = 1000.0; +} + +/* <156189> ../cstrike/dlls/player.cpp:5352 */ +void CBasePlayer::CheckSuitUpdate(void) +{ + _LOG_TRACE + + int i; + int isentence = 0; + int isearch = m_iSuitPlayNext; + + // Ignore suit updates if no suit + if (!(pev->weapons & (1<IsMultiplayer()) + { + // don't bother updating HEV voice in multiplayer. + return; + } + + if (gpGlobals->time >= m_flSuitUpdate && m_flSuitUpdate > 0) + { + // play a sentence off of the end of the queue + for (i = 0; i < CSUITPLAYLIST; i++) + { + if (isentence = m_rgSuitPlayList[ isearch ]) + break; + + if (++isearch == CSUITPLAYLIST) + isearch = 0; + } + + if (isentence) + { + m_rgSuitPlayList[ isearch ] = 0; + + if (isentence > 0) + { + // play sentence number + + char sentence[CBSENTENCENAME_MAX + 1]; + Q_strcpy(sentence, "!"); + Q_strcat(sentence, gszallsentencenames[isentence]); + EMIT_SOUND_SUIT(ENT(pev), sentence); + } + else + { + // play sentence group + EMIT_GROUPID_SUIT(ENT(pev), -isentence); + } + m_flSuitUpdate = gpGlobals->time + SUITUPDATETIME; + } + else + // queue is empty, don't check + m_flSuitUpdate = 0; + } +} + +/* <156201> ../cstrike/dlls/player.cpp:5414 */ +void CBasePlayer::SetSuitUpdate(char *name, int fgroup, int iNoRepeatTime) +{ + ; +} + +/* <15623f> ../cstrike/dlls/player.cpp:5519 */ +NOXREF void CBasePlayer::CheckPowerups(entvars_t *pev) +{ if (pev->health > 0.0f) - pev->modelindex = m_modelIndexPlayer; -} - -/* <15626b> ../cstrike/dlls/player.cpp:5531 */ -void CBasePlayer::SetNewPlayerModel(const char *modelName) -{ + pev->modelindex = m_modelIndexPlayer; +} + +/* <15626b> ../cstrike/dlls/player.cpp:5531 */ +void CBasePlayer::SetNewPlayerModel(const char *modelName) +{ SET_MODEL(edict(), modelName); - m_modelIndexPlayer = pev->modelindex; -} - -/* <1562a4> ../cstrike/dlls/player.cpp:5543 */ -NOBODY void CBasePlayer::UpdatePlayerSound(void) -{ -// { -// int iBodyVolume; // 5545 -// int iVolume; // 5546 -// class CSound *pSound; // 5547 -// edict(CBaseEntity *const this); // 5549 -// Length(const Vector *const this); // 5564 -// } -} - -/* <15a182> ../cstrike/dlls/player.cpp:5667 */ -NOBODY void CBasePlayer::PostThink_(void) -{ -// -//pt_end: // 5767 -// { -// float flFallDamage; // 5712 -// VARS(EOFFSET eoffset); // 5723 -// EMIT_SOUND(edict_t *entity, -// int channel, -// const char *sample, -// float volume, -// float attenuation); // 5717 -// VARS(EOFFSET eoffset); // 5723 -// } -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 5733 -// { -// int i; // 5771 -// { -// class CBasePlayerItem *pPlayerItem; // 5775 -// { -// class CBasePlayerWeapon *gun; // 5779 -// } -// } -// } -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 5752 -// CheckPowerups(CBasePlayer *const this, -// entvars_t *pev); // 5761 -// SetAnimation(CBasePlayer *const this, -// PLAYER_ANIM playerAnim); // 5757 -} - -/* <14e39d> ../cstrike/dlls/player.cpp:5837 */ -NOXREF BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot) -{ + m_modelIndexPlayer = pev->modelindex; +} + +/* <1562a4> ../cstrike/dlls/player.cpp:5543 */ +NOBODY void CBasePlayer::UpdatePlayerSound(void) +{ +// { +// int iBodyVolume; // 5545 +// int iVolume; // 5546 +// class CSound *pSound; // 5547 +// edict(CBaseEntity *const this); // 5549 +// Length(const Vector *const this); // 5564 +// } +} + +/* <15a182> ../cstrike/dlls/player.cpp:5667 */ +NOBODY void CBasePlayer::PostThink_(void) +{ +// +//pt_end: // 5767 +// { +// float flFallDamage; // 5712 +// VARS(EOFFSET eoffset); // 5723 +// EMIT_SOUND(edict_t *entity, +// int channel, +// const char *sample, +// float volume, +// float attenuation); // 5717 +// VARS(EOFFSET eoffset); // 5723 +// } +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 5733 +// { +// int i; // 5771 +// { +// class CBasePlayerItem *pPlayerItem; // 5775 +// { +// class CBasePlayerWeapon *gun; // 5779 +// } +// } +// } +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 5752 +// CheckPowerups(CBasePlayer *const this, +// entvars_t *pev); // 5761 +// SetAnimation(CBasePlayer *const this, +// PLAYER_ANIM playerAnim); // 5757 +} + +/* <14e39d> ../cstrike/dlls/player.cpp:5837 */ +BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot) +{ CBaseEntity *ent = NULL; if (!pSpot->IsTriggered(pPlayer)) @@ -3421,289 +3542,545 @@ NOXREF BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot) return FALSE; } - return TRUE; -} - -/* <1563a8> ../cstrike/dlls/player.cpp:5879 */ -NOBODY void InitZombieSpawns(void) -{ -// { -// class CBaseEntity *spot; // 5884 -// operator!=(const Vector *const this, -// const Vector &v); // 5889 -// Invalidate(CountdownTimer *const this); // 5892 -// } -} - -/* <14e440> ../cstrike/dlls/player.cpp:5906 */ -CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn) -{ - return NULL; -} - -/* <15645f> ../cstrike/dlls/player.cpp:6060 */ -edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer) -{ -// -//CTSpawn: // 6095 -// -//ReturnSpot: // 6222 -// { -// class CBaseEntity *pSpot; // 6062 -// edict_t *player; // 6063 -// edict(CBaseEntity *const this); // 6065 -// FNullEnt(CBaseEntity *ent); // 6071 -// FNullEnt(CBaseEntity *ent); // 6085 -// { -// class CBaseEntity *pFirstSpot; // 6116 -// FNullEnt(CBaseEntity *ent); // 6113 -// IsSpawnPointValid(CBaseEntity *pPlayer, -// class CBaseEntity *pSpot); // 6123 -// FNullEnt(CBaseEntity *ent); // 6140 -// { -// class CBaseEntity *ent; // 6142 -// edict(CBaseEntity *const this); // 6146 -// VARS(edict_t *pent); // 6147 -// INDEXENT(int iEdictNum); // 6147 -// INDEXENT(int iEdictNum); // 6147 -// VARS(edict_t *pent); // 6147 -// } -// operator==(const Vector *const this, -// const Vector &v); // 6125 -// } -// { -// class CBaseEntity *pFirstSpot; // 6168 -// FNullEnt(CBaseEntity *ent); // 6165 -// IsSpawnPointValid(CBaseEntity *pPlayer, -// class CBaseEntity *pSpot); // 6175 -// FNullEnt(CBaseEntity *ent); // 6192 -// { -// class CBaseEntity *ent; // 6194 -// edict(CBaseEntity *const this); // 6198 -// VARS(edict_t *pent); // 6199 -// INDEXENT(int iEdictNum); // 6199 -// INDEXENT(int iEdictNum); // 6199 -// VARS(edict_t *pent); // 6199 -// } -// operator==(const Vector *const this, -// const Vector &v); // 6177 -// } -// FNullEnt(CBaseEntity *ent); // 6074 -// FNullEnt(CBaseEntity *ent); // 6218 -// FNullEnt(CBaseEntity *ent); // 6223 -// INDEXENT(int iEdictNum); // 6226 -// edict(CBaseEntity *const this); // 6234 -// FNullEnt(CBaseEntity *ent); // 6212 -// } -} - -/* <15331b> ../cstrike/dlls/player.cpp:6237 */ -void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src) -{ - int state = 0; - if (src->pev->deadflag != DEAD_NO) - state |= SCORE_STATUS_DEAD; - - if (src->m_bHasC4) - state |= SCORE_STATUS_BOMB; - - if (src->m_bIsVIP) - state |= SCORE_STATUS_VIP; - + return TRUE; +} + +/* <1563a8> ../cstrike/dlls/player.cpp:5879 */ +NOXREF void InitZombieSpawns(void) +{ + CBaseEntity *spot = NULL; + + g_pSelectedZombieSpawn = NULL; + zombieSpawnCount = 0; + + while ((spot = UTIL_FindEntityByClassname(spot, "info_player_start")) != NULL) + { + if (spot->pev->origin != Vector(0, 0, 0)) + { + zombieSpawn[ zombieSpawnCount ].entity = spot; + zombieSpawn[ zombieSpawnCount ].useableTimer.Invalidate(); + + zombieSpawnCount++; + } + } +} + +/* <14e440> ../cstrike/dlls/player.cpp:5906 */ +NOXREF CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn) +{ + return NULL; +} + +/* <15645f> ../cstrike/dlls/player.cpp:6060 */ +edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer) +{ + CBaseEntity *pSpot; + edict_t *player = pPlayer->edict(); + + // choose a info_player_deathmatch point + if (g_pGameRules->IsCoOp()) + { + pSpot = UTIL_FindEntityByClassname(g_pLastSpawn, "info_player_coop"); + + if (!FNullEnt(pSpot)) + goto ReturnSpot; + + pSpot = UTIL_FindEntityByClassname(g_pLastSpawn, "info_player_start"); + + if (!FNullEnt(pSpot)) + goto ReturnSpot; + } + else if (g_pGameRules->IsDeathmatch() && ((CBasePlayer *)pPlayer)->m_bIsVIP) + { + pSpot = UTIL_FindEntityByClassname(NULL, "info_vip_start"); + + if (!FNullEnt(pSpot)) + goto ReturnSpot; + + goto CTSpawn; + } + else if (g_pGameRules->IsDeathmatch() && ((CBasePlayer *)pPlayer)->m_iTeam == CT) + { +CTSpawn: + pSpot = UTIL_FindEntityByClassname(g_pLastCTSpawn, "info_player_start"); + + // skip over the null point + if (FNullEnt(pSpot)) + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_start"); + + CBaseEntity *pFirstSpot = pSpot; + + do + { + if (pSpot) + { + // check if pSpot is valid + if (IsSpawnPointValid(pPlayer, pSpot)) + { + if (pSpot->pev->origin == Vector(0, 0, 0)) + { + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_start"); + continue; + } + + // if so, go to pSpot + goto ReturnSpot; + } + } + + // increment pSpot + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_start"); + } + // loop if we're not back to the start + while (pSpot != pFirstSpot); + + // we haven't found a place to spawn yet, so kill any guy at the first spawn point and spawn there + if (!FNullEnt(pSpot)) + { + CBaseEntity *ent = NULL; + while ((ent = UTIL_FindEntityInSphere(ent, pSpot->pev->origin, 64)) != NULL) + { + // if ent is a client, kill em (unless they are ourselves) + if (ent->IsPlayer() && ent->edict() != player) + ent->TakeDamage(VARS(INDEXENT(0)), VARS(INDEXENT(0)), 200, DMG_GENERIC); + } + goto ReturnSpot; + } + } + else if (g_pGameRules->IsDeathmatch() && ((CBasePlayer *)pPlayer)->m_iTeam == TERRORIST) + { + pSpot = UTIL_FindEntityByClassname(g_pLastTerroristSpawn, "info_player_deathmatch"); + + // skip over the null point + if (FNullEnt(pSpot)) + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_deathmatch"); + + CBaseEntity *pFirstSpot = pSpot; + + do + { + if (pSpot) + { + // check if pSpot is valid + if (IsSpawnPointValid(pPlayer, pSpot)) + { + if (pSpot->pev->origin == Vector(0, 0, 0)) + { + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_deathmatch"); + continue; + } + + // if so, go to pSpot + goto ReturnSpot; + } + } + + // increment pSpot + pSpot = UTIL_FindEntityByClassname(pSpot, "info_player_deathmatch"); + } + // loop if we're not back to the start + while (pSpot != pFirstSpot); + + // we haven't found a place to spawn yet, so kill any guy at the first spawn point and spawn there + if (!FNullEnt(pSpot)) + { + CBaseEntity *ent = NULL; + while ((ent = UTIL_FindEntityInSphere(ent, pSpot->pev->origin, 64)) != NULL) + { + // if ent is a client, kill em (unless they are ourselves) + if (ent->IsPlayer() && ent->edict() != player) + ent->TakeDamage(VARS(INDEXENT(0)), VARS(INDEXENT(0)), 200, DMG_GENERIC); + } + goto ReturnSpot; + } + } + + // If startspot is set, (re)spawn there. + if (FStringNull(gpGlobals->startspot) || !Q_strlen(STRING(gpGlobals->startspot))) + { + pSpot = UTIL_FindEntityByClassname(NULL, "info_player_deathmatch"); + + if (!FNullEnt(pSpot)) + goto ReturnSpot; + } + else + { + pSpot = UTIL_FindEntityByTargetname(NULL, STRING(gpGlobals->startspot)); + + if (!FNullEnt(pSpot)) + goto ReturnSpot; + } + +ReturnSpot: + if (FNullEnt(pSpot)) + { + ALERT(at_error, "PutClientInServer: no info_player_start on level"); + return INDEXENT(0); + } + + if (((CBasePlayer *)pPlayer)->m_iTeam == TERRORIST) + g_pLastTerroristSpawn = pSpot; + else + g_pLastCTSpawn = pSpot; + + return pSpot->edict(); +} + +/* <15331b> ../cstrike/dlls/player.cpp:6237 */ +void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src) +{ + int state = 0; + if (src->pev->deadflag != DEAD_NO) + state |= SCORE_STATUS_DEAD; + + if (src->m_bHasC4) + state |= SCORE_STATUS_BOMB; + + if (src->m_bIsVIP) + state |= SCORE_STATUS_VIP; + if (gmsgScoreAttrib) { MESSAGE_BEGIN(MSG_ONE, gmsgScoreAttrib, NULL, dest->pev); WRITE_BYTE(src->entindex()); WRITE_BYTE(state); MESSAGE_END(); - } -} - -/* <15fdba> ../cstrike/dlls/player.cpp:6264 */ -NOBODY void CBasePlayer::Spawn_(void) -{ -// { -// int i; // 6394 -// MAKE_STRING_CLASS(const char *str, -// entvars_t *pev); // 6275 -// ResetStamina(CBasePlayer *const this); // 6308 -// edict(CBaseEntity *const this); // 6314 -// edict(CBaseEntity *const this); // 6315 -// edict(CBaseEntity *const this); // 6340 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 6461 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 6461 -// { -// int i; // 6497 -// } -// SendItemStatus(CBasePlayer *pPlayer); // 6502 -// { -// int i; // 6507 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 6512 -// { -// class CBasePlayer *pObserver; // 6520 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 6523 -// } -// HintMessage(CBasePlayer *const this, -// const char *pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); // 6547 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 6553 -// entindex(CBaseEntity *const this); // 6554 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 6568 -// edict(CBaseEntity *const this); // 6569 -// ENTINDEX(edict_t *pEdict); // 6569 -// { -// char *infobuffer; // 6580 -// edict(CBaseEntity *const this); // 6580 -// FStrEq(const char *sz1, -// const char *sz2); // 6582 -// entindex(CBaseEntity *const this); // 6584 -// } -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 6591 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 6463 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 6463 -// RemoveLevelText(CBasePlayer *const this); // 6439 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 6374 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 6365 -// } -} - -/* <153555> ../cstrike/dlls/player.cpp:6620 */ -NOBODY void CBasePlayer::Precache_(void) -{ -} - -/* <151a77> ../cstrike/dlls/player.cpp:6671 */ -NOBODY int CBasePlayer::Save_(CSave &save) -{ -// Save(CBasePlayer *const this, -// class CSave &save); // 6671 -} - -/* <153355> ../cstrike/dlls/player.cpp:6685 */ -void CBasePlayer::SetScoreboardAttributes(CBasePlayer *destination) -{ - if (destination != NULL) - { - SetScoreAttrib(destination, this); - return; - } - + } +} + +/* <15fdba> ../cstrike/dlls/player.cpp:6264 */ +NOBODY void CBasePlayer::Spawn_(void) +{ +// { +// int i; // 6394 +// MAKE_STRING_CLASS(const char *str, +// entvars_t *pev); // 6275 +// ResetStamina(CBasePlayer *const this); // 6308 +// edict(CBaseEntity *const this); // 6314 +// edict(CBaseEntity *const this); // 6315 +// edict(CBaseEntity *const this); // 6340 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 6461 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 6461 +// { +// int i; // 6497 +// } +// SendItemStatus(CBasePlayer *pPlayer); // 6502 +// { +// int i; // 6507 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 6512 +// { +// class CBasePlayer *pObserver; // 6520 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 6523 +// } +// HintMessage(CBasePlayer *const this, +// const char *pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); // 6547 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 6553 +// entindex(CBaseEntity *const this); // 6554 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 6568 +// edict(CBaseEntity *const this); // 6569 +// ENTINDEX(edict_t *pEdict); // 6569 +// { +// char *infobuffer; // 6580 +// edict(CBaseEntity *const this); // 6580 +// FStrEq(const char *sz1, +// const char *sz2); // 6582 +// entindex(CBaseEntity *const this); // 6584 +// } +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 6591 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 6463 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 6463 +// RemoveLevelText(CBasePlayer *const this); // 6439 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 6374 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 6365 +// } +} + +/* <153555> ../cstrike/dlls/player.cpp:6620 */ +void CBasePlayer::Precache_(void) +{ + // in the event that the player JUST spawned, and the level node graph + // was loaded, fix all of the node graph pointers before the game starts. + + // !!!BUGBUG - now that we have multiplayer, this needs to be moved! + if (WorldGraph.m_fGraphPresent && !WorldGraph.m_fGraphPointersSet) + { + if (!WorldGraph.FSetGraphPointers()) + { + ALERT(at_console, "**Graph pointers were not set!\n"); + } + else + { + ALERT(at_console, "**Graph Pointers Set!\n"); + } + } + + // SOUNDS / MODELS ARE PRECACHED in ClientPrecache() (game specific) + // because they need to precache before any clients have connected + + // init geiger counter vars during spawn and each time + // we cross a level transition + + m_flgeigerRange = 1000; + m_igeigerRangePrev = 1000; + m_bitsDamageType = 0; + m_bitsHUDDamage = -1; + m_iClientBattery = -1; + m_iTrain = (TRAIN_NEW | TRAIN_OFF); + + // Make sure any necessary user messages have been registered + LinkUserMessages(); + + // won't update for 1/2 a second + m_iUpdateTime = 5; + + if (gInitHUD) + m_fInitHUD = TRUE; +} + +/* <151a77> ../cstrike/dlls/player.cpp:6671 */ +int CBasePlayer::Save_(CSave &save) +{ + if (!CBaseMonster::Save(save)) + return 0; + + return save.WriteFields("PLAYER", this, IMPLEMENT_ARRAY_CLASS(CBasePlayer, m_playerSaveData), ARRAYSIZE(IMPLEMENT_ARRAY_CLASS(CBasePlayer, m_playerSaveData))); +} + +/* <153355> ../cstrike/dlls/player.cpp:6685 */ +void CBasePlayer::SetScoreboardAttributes(CBasePlayer *destination) +{ + if (destination != NULL) + { + SetScoreAttrib(destination, this); + return; + } + for (int i = 1; i <= gpGlobals->maxClients; i++) { CBasePlayer *player = (CBasePlayer *)UTIL_PlayerByIndex(i); if (player && !FNullEnt(player->edict())) SetScoreboardAttributes(player); - } -} - -/* <156e88> ../cstrike/dlls/player.cpp:6712 */ -NOBODY void CBasePlayer::RenewItems(void) -{ -} - -/* <156b9b> ../cstrike/dlls/player.cpp:6718 */ -NOBODY int CBasePlayer::Restore_(CRestore &restore) -{ -// { -// int status; // 6723 -// SAVERESTOREDATA *pSaveData; // 6725 -// } -// Restore(CBasePlayer *const this, -// class CRestore &restore); // 6718 -} - -/* <156eab> ../cstrike/dlls/player.cpp:6771 */ -NOBODY void CBasePlayer::Reset(void) -{ -// AddAccount(CBasePlayer::Reset(// int amount, -// bool bTrackChange); // 6776 -// RemoveShield(CBasePlayer *const this); // 6779 -// AddAccount(CBasePlayer *const this, -// int amount, -// bool bTrackChange); // 6782 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 6784 -// edict(CBaseEntity *const this); // 6785 -// ENTINDEX(edict_t *pEdict); // 6785 -} - -/* <157066> ../cstrike/dlls/player.cpp:6794 */ -NOBODY void CBasePlayer::SelectNextItem(int iItem) -{ -// { -// class CBasePlayerItem *pItem; // 6796 -// { -// class CBasePlayerItem *pLast; // 6812 -// } -// ResetAutoaim(CBasePlayer *const this); // 6823 -// { -// class CBasePlayerWeapon *pWeapon; // 6833 -// } -// UpdateShieldCrosshair(CBasePlayer *const this, -// bool draw); // 6844 -// } -} - -/* <15714a> ../cstrike/dlls/player.cpp:6851 */ -NOBODY void CBasePlayer::SelectItem(const char *pstr) -{ -// { -// class CBasePlayerItem *pItem; // 6856 -// { -// int i; // 6858 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 6866 -// } -// ResetAutoaim(CBasePlayer *const this); // 6883 -// { -// class CBasePlayerWeapon *pWeapon; // 6896 -// UpdateShieldCrosshair(CBasePlayer *const this, -// bool draw); // 6901 -// } -// } -} - -/* <157268> ../cstrike/dlls/player.cpp:6909 */ -void CBasePlayer::SelectLastItem(void) -{ + } +} + +/* <156e88> ../cstrike/dlls/player.cpp:6712 */ +NOXREF void CBasePlayer::RenewItems(void) +{ + ; +} + +/* <156b9b> ../cstrike/dlls/player.cpp:6718 */ +int CBasePlayer::Restore_(CRestore &restore) +{ + if (!CBaseMonster::Restore(restore)) + return 0; + + int status = restore.ReadFields("PLAYER", this, IMPLEMENT_ARRAY_CLASS(CBasePlayer, m_playerSaveData), ARRAYSIZE(IMPLEMENT_ARRAY_CLASS(CBasePlayer, m_playerSaveData))); + SAVERESTOREDATA *pSaveData = (SAVERESTOREDATA *)gpGlobals->pSaveData; + + if (!pSaveData->fUseLandmark) + { + ALERT(at_console, "No Landmark:%s\n", pSaveData->szLandmarkName); + + edict_t *pentSpawnSpot = EntSelectSpawnPoint(this); + + pev->origin = VARS(pentSpawnSpot)->origin + Vector(0, 0, 1); + pev->angles = VARS(pentSpawnSpot)->angles; + } + + pev->v_angle.z = 0; + pev->angles = pev->v_angle; + pev->fixangle = 1; + + m_bloodColor = BLOOD_COLOR_RED; + m_modelIndexPlayer = pev->modelindex; + + if (pev->flags & FL_DUCKING) + UTIL_SetSize(pev, VEC_DUCK_HULL_MIN, VEC_DUCK_HULL_MAX); + else + UTIL_SetSize(pev, VEC_HULL_MIN, VEC_HULL_MAX); + + m_flDisplayHistory &= ~DHM_CONNECT_CLEAR; + SetScoreboardAttributes(); + + return status; +} + +/* <156eab> ../cstrike/dlls/player.cpp:6771 */ +void CBasePlayer::Reset(void) +{ + pev->frags = 0; + m_iDeaths = 0; + m_iAccount = 0; + + MESSAGE_BEGIN(MSG_ONE, gmsgMoney, NULL, pev); + WRITE_LONG(m_iAccount); + WRITE_BYTE(0); + MESSAGE_END(); + + m_bNotKilled = false; + + RemoveShield(); + CheckStartMoney(); + AddAccount(startmoney.value); + + MESSAGE_BEGIN(MSG_ALL, gmsgScoreInfo); + WRITE_BYTE(ENTINDEX(edict())); + WRITE_SHORT(0); + WRITE_SHORT(0); + WRITE_SHORT(0); + WRITE_SHORT(m_iTeam); + MESSAGE_END(); +} + +/* <157066> ../cstrike/dlls/player.cpp:6794 */ +NOXREF void CBasePlayer::SelectNextItem(int iItem) +{ + CBasePlayerItem *pItem = m_rgpPlayerItems[ iItem ]; + + if (!pItem) + return; + + if (pItem == m_pActiveItem) + { + pItem = m_pActiveItem->m_pNext; + + if (!pItem) + return; + + CBasePlayerItem *pLast = pItem; + + while (pLast->m_pNext != NULL) + pLast = pLast->m_pNext; + + pLast->m_pNext = m_pActiveItem; + m_pActiveItem->m_pNext = NULL; + m_rgpPlayerItems[ iItem ] = pItem; + } + + ResetAutoaim(); + + if (m_pActiveItem) + m_pActiveItem->Holster(); + + if (HasShield()) + { + CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; + pWeapon->m_iWeaponState &= ~WPNSTATE_SHIELD_DRAWN; + m_bShieldDrawn = false; + } + + m_pLastItem = m_pActiveItem; + m_pActiveItem = pItem; + + if (m_pActiveItem) + { + UpdateShieldCrosshair(true); + + m_pActiveItem->Deploy(); + m_pActiveItem->UpdateItemInfo(); + + ResetMaxSpeed(); + } +} + +/* <15714a> ../cstrike/dlls/player.cpp:6851 */ +void CBasePlayer::SelectItem(const char *pstr) +{ + if (!pstr) + return; + + CBasePlayerItem *pItem = NULL; + + for (int i = 0; i < MAX_ITEM_TYPES; i++) + { + pItem = m_rgpPlayerItems[ i ]; + + if (pItem != NULL) + { + while (pItem != NULL) + { + if (FClassnameIs(pItem->pev, pstr)) + break; + + pItem = pItem->m_pNext; + } + + if (pItem) + break; + } + } + + if (!pItem) + return; + + if (pItem == m_pActiveItem) + return; + + ResetAutoaim(); + + // FIX, this needs to queue them up and delay + if (m_pActiveItem) + m_pActiveItem->Holster(); + + m_pLastItem = m_pActiveItem; + m_pActiveItem = pItem; + + if (m_pActiveItem) + { + CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)m_pActiveItem; + pWeapon->m_iWeaponState &= ~WPNSTATE_SHIELD_DRAWN; + + m_bShieldDrawn = false; + UpdateShieldCrosshair(true); + + m_pActiveItem->Deploy(); + m_pActiveItem->UpdateItemInfo(); + + ResetMaxSpeed(); + } +} + +/* <157268> ../cstrike/dlls/player.cpp:6909 */ +void CBasePlayer::SelectLastItem(void) +{ if (m_pActiveItem && !m_pActiveItem->CanHolster()) return; @@ -3712,7 +4089,7 @@ void CBasePlayer::SelectLastItem(void) for (int i = 1; i < MAX_ITEMS; i++) { CBasePlayerItem *pItem = m_rgpPlayerItems[i]; - if(pItem && pItem != m_pActiveItem) + if (pItem && pItem != m_pActiveItem) { m_pLastItem = pItem; break; @@ -3720,7 +4097,7 @@ void CBasePlayer::SelectLastItem(void) } } - if(!m_pLastItem || m_pLastItem == m_pActiveItem) + if (!m_pLastItem || m_pLastItem == m_pActiveItem) return; ResetAutoaim(); @@ -3748,159 +4125,159 @@ void CBasePlayer::SelectLastItem(void) UpdateShieldCrosshair(true); - ResetMaxSpeed(); -} - -// HasWeapons - do I have any weapons at all? - -/* <15733a> ../cstrike/dlls/player.cpp:6967 */ -NOXREF BOOL CBasePlayer::HasWeapons(void) -{ + ResetMaxSpeed(); +} + +// HasWeapons - do I have any weapons at all? + +/* <15733a> ../cstrike/dlls/player.cpp:6967 */ +NOXREF BOOL CBasePlayer::HasWeapons(void) +{ for (int i = 0; i < MAX_ITEM_TYPES; i++) { if (m_rgpPlayerItems[i]) return TRUE; } - return FALSE; -} - -/* <157372> ../cstrike/dlls/player.cpp:6982 */ -NOXREF void CBasePlayer::SelectPrevItem(int iItem) -{ - -} - -/* <15106c> ../cstrike/dlls/player.cpp:6987 */ -const char *CBasePlayer::TeamID_(void) -{ - // Not fully connected yet - if (pev == NULL) - return ""; - - // return their team name - return m_szTeamName; -} - -/* <1573aa> ../cstrike/dlls/player.cpp:7010 */ -void CSprayCan::Spawn(entvars_t *pevOwner) -{ - pev->origin = pevOwner->origin + Vector(0, 0, 32); - pev->angles = pevOwner->v_angle; - pev->owner = ENT(pevOwner); - pev->frame = 0; - - pev->nextthink = gpGlobals->time + 0.1; - EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/sprayer.wav", VOL_NORM, ATTN_NORM); -} - -/* <151815> ../cstrike/dlls/player.cpp:7021 */ -NOBODY void CSprayCan::Think_(void) -{ - TraceResult tr; - int playernum; - int nFrames; - CBasePlayer *pPlayer; - - pPlayer = (CBasePlayer *)GET_PRIVATE(pev->owner); - - if (pPlayer) - nFrames = pPlayer->GetCustomDecalFrames(); - else - nFrames = -1; - - playernum = ENTINDEX(pev->owner); - - UTIL_MakeVectors(pev->angles); - UTIL_TraceLine(pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, &tr); - - // No customization present. - if (nFrames == -1) - { - UTIL_DecalTrace(&tr, DECAL_LAMBDA6); - UTIL_Remove(this); - } - else - { - UTIL_PlayerDecalTrace(&tr, playernum, pev->frame, TRUE); - - // Just painted last custom frame. - if (pev->frame++ >= (nFrames - 1)) - UTIL_Remove(this); - } - - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <157481> ../cstrike/dlls/player.cpp:7064 */ -NOXREF void CBloodSplat::Spawn(entvars_t *pevOwner) -{ - pev->origin = pevOwner->origin + Vector(0, 0, 32); - pev->angles = pevOwner->v_angle; - pev->owner = ENT(pevOwner); - - SetThink(&CBloodSplat::Spray); - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <151758> ../cstrike/dlls/player.cpp:7074 */ -NOXREF void CBloodSplat::Spray(void) -{ - TraceResult tr; - if (g_Language != LANGUAGE_GERMAN) - { - UTIL_MakeVectors(pev->angles); - UTIL_TraceLine(pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, &tr); - UTIL_BloodDecalTrace(&tr, BLOOD_COLOR_RED); - } - - SetThink(&CBloodSplat::SUB_Remove); - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <1574d3> ../cstrike/dlls/player.cpp:7093 */ -void CBasePlayer::GiveNamedItem(const char *pszName) -{ - string_t istr = MAKE_STRING(pszName); - edict_t *pent = CREATE_NAMED_ENTITY(istr); - - if (FNullEnt(pent)) - { - ALERT(at_console, "NULL Ent in GiveNamedItem!\n"); - return; - } - - VARS(pent)->origin = pev->origin; - pent->v.spawnflags |= SF_NORESPAWN; - - DispatchSpawn(pent); - DispatchTouch(pent, ENT(pev)); -} - -/* <157568> ../cstrike/dlls/player.cpp:7114 */ -NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe) -{ - TraceResult tr; - - UTIL_MakeVectors(pMe->pev->v_angle); - UTIL_TraceLine(pMe->pev->origin + pMe->pev->view_ofs, pMe->pev->origin + pMe->pev->view_ofs + gpGlobals->v_forward * 8192, dont_ignore_monsters, pMe->edict(), &tr); - - if (tr.flFraction != 1.0 && !FNullEnt(tr.pHit)) - { - CBaseEntity *pHit = CBaseEntity::Instance(tr.pHit); - return pHit; - } - return NULL; -} - -/* <15777b> ../cstrike/dlls/player.cpp:7129 */ -BOOL CBasePlayer::FlashlightIsOn(void) -{ - return pev->effects & EF_DIMLIGHT; -} - -/* <15779e> ../cstrike/dlls/player.cpp:7135 */ -void CBasePlayer::FlashlightTurnOn(void) -{ + return FALSE; +} + +/* <157372> ../cstrike/dlls/player.cpp:6982 */ +NOXREF void CBasePlayer::SelectPrevItem(int iItem) +{ + +} + +/* <15106c> ../cstrike/dlls/player.cpp:6987 */ +const char *CBasePlayer::TeamID_(void) +{ + // Not fully connected yet + if (pev == NULL) + return ""; + + // return their team name + return m_szTeamName; +} + +/* <1573aa> ../cstrike/dlls/player.cpp:7010 */ +void CSprayCan::Spawn(entvars_t *pevOwner) +{ + pev->origin = pevOwner->origin + Vector(0, 0, 32); + pev->angles = pevOwner->v_angle; + pev->owner = ENT(pevOwner); + pev->frame = 0; + + pev->nextthink = gpGlobals->time + 0.1; + EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/sprayer.wav", VOL_NORM, ATTN_NORM); +} + +/* <151815> ../cstrike/dlls/player.cpp:7021 */ +void CSprayCan::Think_(void) +{ + TraceResult tr; + int playernum; + int nFrames; + CBasePlayer *pPlayer; + + pPlayer = (CBasePlayer *)GET_PRIVATE(pev->owner); + + if (pPlayer) + nFrames = pPlayer->GetCustomDecalFrames(); + else + nFrames = -1; + + playernum = ENTINDEX(pev->owner); + + UTIL_MakeVectors(pev->angles); + UTIL_TraceLine(pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, &tr); + + // No customization present. + if (nFrames == -1) + { + UTIL_DecalTrace(&tr, DECAL_LAMBDA6); + UTIL_Remove(this); + } + else + { + UTIL_PlayerDecalTrace(&tr, playernum, pev->frame, TRUE); + + // Just painted last custom frame. + if (pev->frame++ >= (nFrames - 1)) + UTIL_Remove(this); + } + + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <157481> ../cstrike/dlls/player.cpp:7064 */ +NOXREF void CBloodSplat::Spawn(entvars_t *pevOwner) +{ + pev->origin = pevOwner->origin + Vector(0, 0, 32); + pev->angles = pevOwner->v_angle; + pev->owner = ENT(pevOwner); + + SetThink(&CBloodSplat::Spray); + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <151758> ../cstrike/dlls/player.cpp:7074 */ +NOXREF void CBloodSplat::Spray(void) +{ + TraceResult tr; + if (g_Language != LANGUAGE_GERMAN) + { + UTIL_MakeVectors(pev->angles); + UTIL_TraceLine(pev->origin, pev->origin + gpGlobals->v_forward * 128, ignore_monsters, pev->owner, &tr); + UTIL_BloodDecalTrace(&tr, BLOOD_COLOR_RED); + } + + SetThink(&CBloodSplat::SUB_Remove); + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <1574d3> ../cstrike/dlls/player.cpp:7093 */ +void CBasePlayer::GiveNamedItem(const char *pszName) +{ + string_t istr = MAKE_STRING(pszName); + edict_t *pent = CREATE_NAMED_ENTITY(istr); + + if (FNullEnt(pent)) + { + ALERT(at_console, "NULL Ent in GiveNamedItem!\n"); + return; + } + + VARS(pent)->origin = pev->origin; + pent->v.spawnflags |= SF_NORESPAWN; + + DispatchSpawn(pent); + DispatchTouch(pent, ENT(pev)); +} + +/* <157568> ../cstrike/dlls/player.cpp:7114 */ +NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe) +{ + TraceResult tr; + + UTIL_MakeVectors(pMe->pev->v_angle); + UTIL_TraceLine(pMe->pev->origin + pMe->pev->view_ofs, pMe->pev->origin + pMe->pev->view_ofs + gpGlobals->v_forward * 8192, dont_ignore_monsters, pMe->edict(), &tr); + + if (tr.flFraction != 1.0 && !FNullEnt(tr.pHit)) + { + CBaseEntity *pHit = CBaseEntity::Instance(tr.pHit); + return pHit; + } + return NULL; +} + +/* <15777b> ../cstrike/dlls/player.cpp:7129 */ +BOOL CBasePlayer::FlashlightIsOn(void) +{ + return pev->effects & EF_DIMLIGHT; +} + +/* <15779e> ../cstrike/dlls/player.cpp:7135 */ +void CBasePlayer::FlashlightTurnOn(void) +{ if (!g_pGameRules->FAllowFlashlight()) return; @@ -3916,12 +4293,12 @@ void CBasePlayer::FlashlightTurnOn(void) MESSAGE_END(); m_flFlashLightTime = gpGlobals->time + 1.2; - } -} - -/* <157816> ../cstrike/dlls/player.cpp:7157 */ -void CBasePlayer::FlashlightTurnOff(void) -{ + } +} + +/* <157816> ../cstrike/dlls/player.cpp:7157 */ +void CBasePlayer::FlashlightTurnOff(void) +{ EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/flashlight1.wav", VOL_NORM, ATTN_NORM); pev->effects &= ~EF_DIMLIGHT; @@ -3930,28 +4307,28 @@ void CBasePlayer::FlashlightTurnOff(void) WRITE_BYTE(m_iFlashBattery); MESSAGE_END(); - m_flFlashLightTime = gpGlobals->time + 0.2; -} - -/* <158ae7> ../cstrike/dlls/player.cpp:7179 */ -NOBODY void CBasePlayer::ForceClientDllUpdate(void) -{ - m_fInitHUD = TRUE; + m_flFlashLightTime = gpGlobals->time + 0.2; +} + +/* <158ae7> ../cstrike/dlls/player.cpp:7179 */ +void CBasePlayer::ForceClientDllUpdate(void) +{ m_iClientHealth = -1; m_iClientBattery = -1; - m_iTrain |= TRAIN_NEW; m_fWeapon = FALSE; + m_fInitHUD = TRUE; + m_iTrain |= (TRAIN_NEW | TRAIN_OFF); UpdateClientData(); - HandleSignals();// TODO: Reverse me! -} - -/* <157f8d> ../cstrike/dlls/player.cpp:7202 */ -NOBODY void CBasePlayer::ImpulseCommands_(void) + HandleSignals(); +} + +/* <157f8d> ../cstrike/dlls/player.cpp:7202 */ +void CBasePlayer::ImpulseCommands_(void) { TraceResult tr; - // Handle use events + // Handle use events PlayerUse(); int iImpulse = pev->impulse; @@ -4017,16 +4394,16 @@ NOBODY void CBasePlayer::ImpulseCommands_(void) CheatImpulseCommands(iImpulse); } - pev->impulse = 0; -} - -/* <15786e> ../cstrike/dlls/player.cpp:7280 */ -void CBasePlayer::CheatImpulseCommands(int iImpulse) + pev->impulse = 0; +} + +/* <15786e> ../cstrike/dlls/player.cpp:7280 */ +void CBasePlayer::CheatImpulseCommands(int iImpulse) { if (!g_flWeaponCheat) return; - CBaseEntity *pEntity; + CBaseEntity *pEntity; TraceResult tr; switch (iImpulse) @@ -4167,40 +4544,40 @@ void CBasePlayer::CheatImpulseCommands(int iImpulse) break; } case 204: - { - TraceResult tr; - Vector dir = Vector(0, 0, 1); - - UTIL_BloodDrips(pev->origin, dir, BLOOD_COLOR_RED, 2000); - - for (int r = 1; r < 4; r++) - { - float bloodRange = r * 50.0f; - - for (int i = 0; i < 50; i++) - { - dir.x = RANDOM_FLOAT(-1, 1); - dir.y = RANDOM_FLOAT(-1, 1); - dir.z = RANDOM_FLOAT(-1, 1); - - if (dir.x || dir.y || dir.z) - dir.NormalizeInPlace(); - else - dir.z = -1.0f; - - UTIL_TraceLine(EyePosition(), EyePosition() + dir * bloodRange, ignore_monsters, pev->pContainingEntity, &tr); - - if (tr.flFraction < 1.0f) - UTIL_BloodDecalTrace(&tr, BLOOD_COLOR_RED); - } + { + TraceResult tr; + Vector dir = Vector(0, 0, 1); + + UTIL_BloodDrips(pev->origin, dir, BLOOD_COLOR_RED, 2000); + + for (int r = 1; r < 4; r++) + { + float bloodRange = r * 50.0f; + + for (int i = 0; i < 50; i++) + { + dir.x = RANDOM_FLOAT(-1, 1); + dir.y = RANDOM_FLOAT(-1, 1); + dir.z = RANDOM_FLOAT(-1, 1); + + if (dir.x || dir.y || dir.z) + dir.NormalizeInPlace(); + else + dir.z = -1.0f; + + UTIL_TraceLine(EyePosition(), EyePosition() + dir * bloodRange, ignore_monsters, pev->pContainingEntity, &tr); + + if (tr.flFraction < 1.0f) + UTIL_BloodDecalTrace(&tr, BLOOD_COLOR_RED); + } } break; } - } -} - -/* <158256> ../cstrike/dlls/player.cpp:7474 */ -void OLD_CheckBuyZone(CBasePlayer *player) + } +} + +/* <158256> ../cstrike/dlls/player.cpp:7474 */ +void OLD_CheckBuyZone(CBasePlayer *player) { const char *pszSpawnClass = NULL; @@ -4218,36 +4595,36 @@ void OLD_CheckBuyZone(CBasePlayer *player) if ((pSpot->pev->origin - player->pev->origin).Length() < 200.0f) player->m_signals.Signal(SIGNAL_BUY); } - } -} - -/* <14e5a9> ../cstrike/dlls/player.cpp:7514 */ -void OLD_CheckBombTarget(CBasePlayer *player) + } +} + +/* <14e5a9> ../cstrike/dlls/player.cpp:7514 */ +void OLD_CheckBombTarget(CBasePlayer *player) { CBaseEntity *pSpot = NULL; while ((pSpot = UTIL_FindEntityByClassname(pSpot, "info_bomb_target")) != NULL) { if ((pSpot->pev->origin - player->pev->origin).Length() <= 256.0f) player->m_signals.Signal(SIGNAL_BOMB); - } -} - -/* <14e5d5> ../cstrike/dlls/player.cpp:7532 */ -void OLD_CheckRescueZone(CBasePlayer *player) + } +} + +/* <14e5d5> ../cstrike/dlls/player.cpp:7532 */ +void OLD_CheckRescueZone(CBasePlayer *player) { CBaseEntity *pSpot = NULL; while ((pSpot = UTIL_FindEntityByClassname(pSpot, "info_hostage_rescue")) != NULL) { if ((pSpot->pev->origin - player->pev->origin).Length() <= 256) player->m_signals.Signal(SIGNAL_RESCUE); - } -} - -/* <1582e9> ../cstrike/dlls/player.cpp:7553 */ -void CBasePlayer::HandleSignals(void) -{ + } +} + +/* <1582e9> ../cstrike/dlls/player.cpp:7553 */ +void CBasePlayer::HandleSignals(void) +{ CHalfLifeMultiplay *mp = g_pGameRules; - + if (mp->IsMultiplayer()) { if (!mp->m_bMapHasBuyZone) @@ -4258,34 +4635,34 @@ void CBasePlayer::HandleSignals(void) if (!mp->m_bMapHasRescueZone) OLD_CheckRescueZone(this); - } + } int state = m_signals.GetSignal(); int changed = m_signals.GetState() ^ state; - m_signals.Update(); - + m_signals.Update(); + if (changed & SIGNAL_BUY) { if (state & SIGNAL_BUY) BuyZoneIcon_Set(this); else BuyZoneIcon_Clear(this); - } + } if (changed & SIGNAL_BOMB) { if (state & SIGNAL_BOMB) BombTargetFlash_Set(this); else BombTargetFlash_Clear(this); - } + } if (changed & SIGNAL_RESCUE) { if (state & SIGNAL_RESCUE) RescueZoneIcon_Set(this); else RescueZoneIcon_Clear(this); - } + } if (changed & SIGNAL_ESCAPE) { if (state & SIGNAL_ESCAPE) @@ -4299,14 +4676,14 @@ void CBasePlayer::HandleSignals(void) VIP_SafetyZoneIcon_Set(this); else VIP_SafetyZoneIcon_Clear(this); - } -} - -// Add a weapon to the player (Item == Weapon == Selectable Object) - -/* <15325f> ../cstrike/dlls/player.cpp:7625 */ -BOOL CBasePlayer::AddPlayerItem_(CBasePlayerItem *pItem) -{ + } +} + +// Add a weapon to the player (Item == Weapon == Selectable Object) + +/* <15325f> ../cstrike/dlls/player.cpp:7625 */ +BOOL CBasePlayer::AddPlayerItem_(CBasePlayerItem *pItem) +{ CBasePlayerItem *pInsert = m_rgpPlayerItems[ pItem->iItemSlot() ]; while (pInsert != NULL) { @@ -4358,12 +4735,12 @@ BOOL CBasePlayer::AddPlayerItem_(CBasePlayerItem *pItem) else if (gEvilImpulse101) pItem->Kill(); - return FALSE; -} - -/* <1534bd> ../cstrike/dlls/player.cpp:7692 */ -BOOL CBasePlayer::RemovePlayerItem_(CBasePlayerItem *pItem) -{ + return FALSE; +} + +/* <1534bd> ../cstrike/dlls/player.cpp:7692 */ +BOOL CBasePlayer::RemovePlayerItem_(CBasePlayerItem *pItem) +{ if (m_pActiveItem == pItem) { ResetAutoaim(); @@ -4393,59 +4770,59 @@ BOOL CBasePlayer::RemovePlayerItem_(CBasePlayerItem *pItem) pPrev->m_pNext = pItem->m_pNext; return TRUE; } - return FALSE; -} - -// Returns the unique ID for the ammo, or -1 if error - -/* <15997b> ../cstrike/dlls/player.cpp:7731 */ -int CBasePlayer::GiveAmmo_(int iCount, char *szName, int iMax) -{ + return FALSE; +} + +// Returns the unique ID for the ammo, or -1 if error + +/* <15997b> ../cstrike/dlls/player.cpp:7731 */ +int CBasePlayer::GiveAmmo_(int iCount, char *szName, int iMax) +{ if (pev->flags & FL_SPECTATOR) return -1; if (!szName) - { - // no ammo. - return -1; + { + // no ammo. + return -1; } if (!g_pGameRules->CanHaveAmmo(this, szName, iMax)) - { - // game rules say I can't have any more of this ammo type. - return -1; - } - - int i = GetAmmoIndex( szName ); - - if (i < 0 || i >= MAX_AMMO_SLOTS) - return -1; - - int iAdd = min(iCount, iMax - m_rgAmmo[i]); - if (iAdd < 1) - return i; - - m_rgAmmo[i] += iAdd; - - // make sure the ammo messages have been linked first - if (gmsgAmmoPickup) - { - // Send the message that ammo has been picked up - MESSAGE_BEGIN(MSG_ONE, gmsgAmmoPickup, NULL, pev); - WRITE_BYTE(GetAmmoIndex(szName)); // ammo ID - WRITE_BYTE(iAdd); // amount - MESSAGE_END(); - } - TabulateAmmo(); - - return i; -} - -// Called every frame by the player PreThink - -/* <158b10> ../cstrike/dlls/player.cpp:7784 */ -NOXREF void CBasePlayer::ItemPreFrame(void) -{ + { + // game rules say I can't have any more of this ammo type. + return -1; + } + + int i = GetAmmoIndex( szName ); + + if (i < 0 || i >= MAX_AMMO_SLOTS) + return -1; + + int iAdd = min(iCount, iMax - m_rgAmmo[i]); + if (iAdd < 1) + return i; + + m_rgAmmo[i] += iAdd; + + // make sure the ammo messages have been linked first + if (gmsgAmmoPickup) + { + // Send the message that ammo has been picked up + MESSAGE_BEGIN(MSG_ONE, gmsgAmmoPickup, NULL, pev); + WRITE_BYTE(GetAmmoIndex(szName)); // ammo ID + WRITE_BYTE(iAdd); // amount + MESSAGE_END(); + } + TabulateAmmo(); + + return i; +} + +// Called every frame by the player PreThink + +/* <158b10> ../cstrike/dlls/player.cpp:7784 */ +NOXREF void CBasePlayer::ItemPreFrame(void) +{ #ifdef CLIENT_WEAPONS if (m_flNextAttack > 0) return; @@ -4454,23 +4831,23 @@ NOXREF void CBasePlayer::ItemPreFrame(void) return; #endif // CLIENT_WEAPONS - if (!m_pActiveItem) - return; - - m_pActiveItem->ItemPreFrame(); -} - -// Called every frame by the player PostThink - -/* <158b33> ../cstrike/dlls/player.cpp:7805 */ -NOXREF void CBasePlayer::ItemPostFrame(void) -{ - static int fInSelect = FALSE; - - // check if the player is using a tank - if (m_pTank != NULL) - return; - + if (!m_pActiveItem) + return; + + m_pActiveItem->ItemPreFrame(); +} + +// Called every frame by the player PostThink + +/* <158b33> ../cstrike/dlls/player.cpp:7805 */ +NOXREF void CBasePlayer::ItemPostFrame(void) +{ + static int fInSelect = FALSE; + + // check if the player is using a tank + if (m_pTank != NULL) + return; + if (m_pActiveItem != NULL) { if (HasShield() && IsReloading()) @@ -4478,38 +4855,34 @@ NOXREF void CBasePlayer::ItemPostFrame(void) if (pev->button & IN_ATTACK2) m_flNextAttack = 0; } - } - -#ifdef CLIENT_WEAPONS - if (m_flNextAttack > 0) -#else - if (gpGlobals->time < m_flNextAttack) -#endif // CLIENT_WEAPONS - { - return; - } - - // TODO: Reverse me! - ImpulseCommands(); - - if (!m_pActiveItem) - return; - - m_pActiveItem->ItemPostFrame(); -} - -/* <158b71> ../cstrike/dlls/player.cpp:7834 */ -int CBasePlayer::AmmoInventory(int iAmmoIndex) -{ + } + +#ifdef CLIENT_WEAPONS + if (m_flNextAttack > 0) +#else + if (gpGlobals->time < m_flNextAttack) +#endif // CLIENT_WEAPONS + return; + + // TODO: Reverse me! + ImpulseCommands(); + + if (m_pActiveItem != NULL) + m_pActiveItem->ItemPostFrame(); +} + +/* <158b71> ../cstrike/dlls/player.cpp:7834 */ +int CBasePlayer::AmmoInventory(int iAmmoIndex) +{ if (iAmmoIndex == -1) return -1; - return m_rgAmmo[iAmmoIndex]; -} - -/* <158b9d> ../cstrike/dlls/player.cpp:7844 */ -int CBasePlayer::GetAmmoIndex(const char *psz) -{ + return m_rgAmmo[iAmmoIndex]; +} + +/* <158b9d> ../cstrike/dlls/player.cpp:7844 */ +int CBasePlayer::GetAmmoIndex(const char *psz) +{ if (!psz) return -1; @@ -4521,29 +4894,29 @@ int CBasePlayer::GetAmmoIndex(const char *psz) if (!Q_stricmp(psz, IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, AmmoInfoArray)[ i ].pszName)) return i; } - return -1; -} - -/* <158bf7> ../cstrike/dlls/player.cpp:7865 */ -void CBasePlayer::SendAmmoUpdate(void) -{ - for (int i = 0; i < MAX_AMMO_SLOTS; i++) - { - if (m_rgAmmo[i] != m_rgAmmoLast[i]) - { - m_rgAmmoLast[i] = m_rgAmmo[i]; - - // send "Ammo" update message - MESSAGE_BEGIN(MSG_ONE, gmsgAmmoX, NULL, pev); - WRITE_BYTE(i); - WRITE_BYTE( max( min( m_rgAmmo[i], 254 ), 0 ) ); // clamp the value to one byte - MESSAGE_END(); - } - } -} - -/* <158d4b> ../cstrike/dlls/player.cpp:7885 */ -NOXREF void CBasePlayer::SendHostagePos(void) + return -1; +} + +/* <158bf7> ../cstrike/dlls/player.cpp:7865 */ +void CBasePlayer::SendAmmoUpdate(void) +{ + for (int i = 0; i < MAX_AMMO_SLOTS; i++) + { + if (m_rgAmmo[i] != m_rgAmmoLast[i]) + { + m_rgAmmoLast[i] = m_rgAmmo[i]; + + // send "Ammo" update message + MESSAGE_BEGIN(MSG_ONE, gmsgAmmoX, NULL, pev); + WRITE_BYTE(i); + WRITE_BYTE( max( min( m_rgAmmo[i], 254 ), 0 ) ); // clamp the value to one byte + MESSAGE_END(); + } + } +} + +/* <158d4b> ../cstrike/dlls/player.cpp:7885 */ +NOXREF void CBasePlayer::SendHostagePos(void) { CHostage *pHostage = NULL; @@ -4558,52 +4931,52 @@ NOXREF void CBasePlayer::SendHostagePos(void) MESSAGE_END(); } - SendHostageIcons(); -} - -/* <158c66> ../cstrike/dlls/player.cpp:7908 */ -void CBasePlayer::SendHostageIcons(void) -{ - CBaseEntity *pHostage = NULL; - int numHostages = 0; - char buf[16]; - - if (!UTIL_IsGame("czero")) - return; - - while ((pHostage = UTIL_FindEntityByClassname(pHostage, "hostage_entity")) != NULL) - { - if (pHostage && pHostage->pev->deadflag == DEAD_NO) - numHostages++; - } - - if (numHostages > 4) - numHostages = 4; - - Q_snprintf(buf, ARRAYSIZE(buf), "hostage%d", numHostages); - - if(numHostages) - { - MESSAGE_BEGIN(MSG_ONE, gmsgScenarioIcon, NULL, pev); - WRITE_BYTE(1); - WRITE_STRING(buf); - WRITE_BYTE(0); - MESSAGE_END(); - } - else - { - MESSAGE_BEGIN(MSG_ONE, gmsgScenarioIcon, NULL, pev); - WRITE_BYTE(0); - MESSAGE_END(); - } -} - -/* <158dc6> ../cstrike/dlls/player.cpp:7949 */ -void CBasePlayer::SendWeatherInfo(void) -{ - CBaseEntity *pPoint = UTIL_FindEntityByClassname(NULL, "env_rain"); - CBaseEntity *pPoint2 = UTIL_FindEntityByClassname(NULL, "func_rain"); - + SendHostageIcons(); +} + +/* <158c66> ../cstrike/dlls/player.cpp:7908 */ +void CBasePlayer::SendHostageIcons(void) +{ + CBaseEntity *pHostage = NULL; + int numHostages = 0; + char buf[16]; + + if (!UTIL_IsGame("czero")) + return; + + while ((pHostage = UTIL_FindEntityByClassname(pHostage, "hostage_entity")) != NULL) + { + if (pHostage && pHostage->pev->deadflag == DEAD_NO) + numHostages++; + } + + if (numHostages > 4) + numHostages = 4; + + Q_snprintf(buf, ARRAYSIZE(buf), "hostage%d", numHostages); + + if (numHostages) + { + MESSAGE_BEGIN(MSG_ONE, gmsgScenarioIcon, NULL, pev); + WRITE_BYTE(1); + WRITE_STRING(buf); + WRITE_BYTE(0); + MESSAGE_END(); + } + else + { + MESSAGE_BEGIN(MSG_ONE, gmsgScenarioIcon, NULL, pev); + WRITE_BYTE(0); + MESSAGE_END(); + } +} + +/* <158dc6> ../cstrike/dlls/player.cpp:7949 */ +void CBasePlayer::SendWeatherInfo(void) +{ + CBaseEntity *pPoint = UTIL_FindEntityByClassname(NULL, "env_rain"); + CBaseEntity *pPoint2 = UTIL_FindEntityByClassname(NULL, "func_rain"); + if (pPoint != NULL || pPoint2 != NULL) { MESSAGE_BEGIN(MSG_ONE, gmsgReceiveW, NULL, pev); @@ -4612,7 +4985,7 @@ void CBasePlayer::SendWeatherInfo(void) } else { - pPoint = UTIL_FindEntityByClassname(NULL, "env_snow"); + pPoint = UTIL_FindEntityByClassname(NULL, "env_snow"); pPoint2 = UTIL_FindEntityByClassname(NULL, "func_snow"); if (pPoint != NULL || pPoint2 != NULL) @@ -4620,198 +4993,198 @@ void CBasePlayer::SendWeatherInfo(void) MESSAGE_BEGIN(MSG_ONE, gmsgReceiveW, NULL, pev); WRITE_BYTE(2); MESSAGE_END(); - } - } -} - -void (*CBasePlayer__UpdateClientData)(void); - -// resends any changed player HUD info to the client. -// Called every frame by PlayerPreThink -// Also called at start of demo recording and playback by -// ForceClientDllUpdate to ensure the demo gets messages -// reflecting all of the HUD state info. - -/* <159d3c> ../cstrike/dlls/player.cpp:7963 */ -NOBODY void __declspec(naked) CBasePlayer::UpdateClientData_(void) -{ - __asm - { - jmp CBasePlayer__UpdateClientData - } -// { -// int i; -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// Update(class CUnifiedSignals *const this); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// { -// class CBaseEntity * pEntity; -// { -// class CClientFog * pFog; -// int r; -// int g; -// int b; -// union density; -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// } -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// edict_t * ed); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// edict(class CBaseEntity *const this); -// ENTINDEX(edict_t * pEdict); -// { -// int iHealth; -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// { -// class Vector damageOrigin; -// edict_t * other; -// int visibleDamageBits; -// Vector(class Vector *const this, -// const class Vector &const v); -// { -// class CBaseEntity * pEntity; -// Instance(edict_t * pent); -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// } -// SendAmmoUpdate(class CBasePlayer *const this); -// { -// int weapon_id; -// } -// { -// class CBasePlayerWeapon * w; -// iFlags(class CBasePlayerItem *const this); -// AmmoInventory(class CBasePlayer *const this, -// int iAmmoIndex); -// HintMessage(class CBasePlayer *const this, -// const char * pMessage, -// BOOL bDisplayIfPlayerDead, -// BOOL bOverride); -// } -// operator-(const class Vector *const this, -// const class Vector &const v); -// Length(const class Vector *const this); -// { -// class CBaseEntity * pPlayer; -// entindex(class CBaseEntity *const this); -// { -// class CBasePlayer * player; -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// entindex(class CBaseEntity *const this); -// } -// } -// FlashlightIsOn(class CBasePlayer *const this); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float * pOrigin, -// entvars_t * ent); -// FlashlightTurnOff(class CBasePlayer *const this); -// } -} - -/* <1510bc> ../cstrike/dlls/player.cpp:8330 */ -BOOL CBasePlayer::FBecomeProne_(void) -{ - m_afPhysicsFlags |= PFLAG_ONBARNACLE; - return TRUE; -} - -/* <158e8a> ../cstrike/dlls/player.cpp:8341 */ -NOXREF void CBasePlayer::BarnacleVictimBitten(entvars_t *pevBarnacle) -{ - TakeDamage(pevBarnacle, pevBarnacle, pev->armorvalue + pev->health, DMG_SLASH | DMG_ALWAYSGIB); -} - -/* <158ec3> ../cstrike/dlls/player.cpp:8350 */ -NOXREF void CBasePlayer::BarnacleVictimReleased(void) -{ - m_afPhysicsFlags &= ~PFLAG_ONBARNACLE; -} - -// return player light level plus virtual muzzle flash - -/* <1510e4> ../cstrike/dlls/player.cpp:8360 */ -int CBasePlayer::Illumination_(void) -{ - int iIllum = CBaseEntity::Illumination(); - - iIllum += m_iWeaponFlash; - - if (iIllum > 255) - return 255; - - return iIllum; -} - -/* <158eeb> ../cstrike/dlls/player.cpp:8371 */ -void CBasePlayer::EnableControl(BOOL fControl) -{ - if (!fControl) - pev->flags |= FL_FROZEN; - else - pev->flags &= ~FL_FROZEN; -} - -/* <151142> ../cstrike/dlls/player.cpp:8387 */ -void CBasePlayer::ResetMaxSpeed_(void) -{ + } + } +} + +void (*CBasePlayer__UpdateClientData)(void); + +// resends any changed player HUD info to the client. +// Called every frame by PlayerPreThink +// Also called at start of demo recording and playback by +// ForceClientDllUpdate to ensure the demo gets messages +// reflecting all of the HUD state info. + +/* <159d3c> ../cstrike/dlls/player.cpp:7963 */ +NOBODY void __declspec(naked) CBasePlayer::UpdateClientData_(void) +{ + __asm + { + jmp CBasePlayer__UpdateClientData + } +// { +// int i; +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// Update(class CUnifiedSignals *const this); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// { +// class CBaseEntity * pEntity; +// { +// class CClientFog * pFog; +// int r; +// int g; +// int b; +// union density; +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// } +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// edict_t * ed); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// edict(class CBaseEntity *const this); +// ENTINDEX(edict_t * pEdict); +// { +// int iHealth; +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// { +// class Vector damageOrigin; +// edict_t * other; +// int visibleDamageBits; +// Vector(class Vector *const this, +// const class Vector &const v); +// { +// class CBaseEntity * pEntity; +// Instance(edict_t * pent); +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// } +// SendAmmoUpdate(class CBasePlayer *const this); +// { +// int weapon_id; +// } +// { +// class CBasePlayerWeapon * w; +// iFlags(class CBasePlayerItem *const this); +// AmmoInventory(class CBasePlayer *const this, +// int iAmmoIndex); +// HintMessage(class CBasePlayer *const this, +// const char * pMessage, +// BOOL bDisplayIfPlayerDead, +// BOOL bOverride); +// } +// operator-(const class Vector *const this, +// const class Vector &const v); +// Length(const class Vector *const this); +// { +// class CBaseEntity * pPlayer; +// entindex(class CBaseEntity *const this); +// { +// class CBasePlayer * player; +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// entindex(class CBaseEntity *const this); +// } +// } +// FlashlightIsOn(class CBasePlayer *const this); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float * pOrigin, +// entvars_t * ent); +// FlashlightTurnOff(class CBasePlayer *const this); +// } +} + +/* <1510bc> ../cstrike/dlls/player.cpp:8330 */ +BOOL CBasePlayer::FBecomeProne_(void) +{ + m_afPhysicsFlags |= PFLAG_ONBARNACLE; + return TRUE; +} + +/* <158e8a> ../cstrike/dlls/player.cpp:8341 */ +NOXREF void CBasePlayer::BarnacleVictimBitten(entvars_t *pevBarnacle) +{ + TakeDamage(pevBarnacle, pevBarnacle, pev->armorvalue + pev->health, DMG_SLASH | DMG_ALWAYSGIB); +} + +/* <158ec3> ../cstrike/dlls/player.cpp:8350 */ +NOXREF void CBasePlayer::BarnacleVictimReleased(void) +{ + m_afPhysicsFlags &= ~PFLAG_ONBARNACLE; +} + +// return player light level plus virtual muzzle flash + +/* <1510e4> ../cstrike/dlls/player.cpp:8360 */ +int CBasePlayer::Illumination_(void) +{ + int iIllum = CBaseEntity::Illumination(); + + iIllum += m_iWeaponFlash; + + if (iIllum > 255) + return 255; + + return iIllum; +} + +/* <158eeb> ../cstrike/dlls/player.cpp:8371 */ +void CBasePlayer::EnableControl(BOOL fControl) +{ + if (!fControl) + pev->flags |= FL_FROZEN; + else + pev->flags &= ~FL_FROZEN; +} + +/* <151142> ../cstrike/dlls/player.cpp:8387 */ +void CBasePlayer::ResetMaxSpeed_(void) +{ float speed = 240.0f; if (IsObserver()) @@ -4826,28 +5199,28 @@ void CBasePlayer::ResetMaxSpeed_(void) else if (m_pActiveItem) speed = m_pActiveItem->GetMaxSpeed(); - pev->maxspeed = speed; -} - -/* <158f23> ../cstrike/dlls/player.cpp:8436 */ -bool CBasePlayer::HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead, BOOL bOverride) -{ + pev->maxspeed = speed; +} + +/* <158f23> ../cstrike/dlls/player.cpp:8436 */ +bool CBasePlayer::HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead, BOOL bOverride) +{ if (!bDisplayIfPlayerDead && !IsAlive()) return false; if (bOverride || m_bShowHints) return m_hintMessageQueue.AddMessage(pMessage, 6.0, true, NULL); - return true; -} - -/* <1513f7> ../cstrike/dlls/player.cpp:8473 */ -Vector CBasePlayer::GetAutoaimVector_(float flDelta) -{ - Vector vecSrc; - BOOL m_fOldTargeting; - Vector angles; - + return true; +} + +/* <1513f7> ../cstrike/dlls/player.cpp:8473 */ +Vector CBasePlayer::GetAutoaimVector_(float flDelta) +{ + Vector vecSrc; + BOOL m_fOldTargeting; + Vector angles; + if (g_iSkillLevel == SKILL_HARD) { UTIL_MakeVectors(pev->v_angle + pev->punchangle); @@ -4867,14 +5240,14 @@ Vector CBasePlayer::GetAutoaimVector_(float flDelta) else m_fOnTarget = FALSE; - if (angles.x > 180.0f) - angles.x -= 360.0f; - if (angles.x < -180.0f) - angles.x += 360.0f; - - if (angles.y > 180.0f) - angles.y -= 360.0f; - if (angles.y < -180.0f) + if (angles.x > 180.0f) + angles.x -= 360.0f; + if (angles.x < -180.0f) + angles.x += 360.0f; + + if (angles.y > 180.0f) + angles.y -= 360.0f; + if (angles.y < -180.0f) angles.y += 360.0f; if (angles.x > 25.0f) @@ -4903,99 +5276,99 @@ Vector CBasePlayer::GetAutoaimVector_(float flDelta) } } UTIL_MakeVectors(pev->v_angle + pev->punchangle + m_vecAutoAim); - return gpGlobals->v_forward; -} - -/* <158f62> ../cstrike/dlls/player.cpp:8553 */ -Vector CBasePlayer::AutoaimDeflection(Vector &vecSrc, float flDist, float flDelta) -{ + return gpGlobals->v_forward; +} + +/* <158f62> ../cstrike/dlls/player.cpp:8553 */ +Vector CBasePlayer::AutoaimDeflection(Vector &vecSrc, float flDist, float flDelta) +{ m_fOnTarget = FALSE; - return g_vecZero; -} - -/* <158fc1> ../cstrike/dlls/player.cpp:8686 */ -void CBasePlayer::ResetAutoaim(void) -{ + return g_vecZero; +} + +/* <158fc1> ../cstrike/dlls/player.cpp:8686 */ +void CBasePlayer::ResetAutoaim(void) +{ if (m_vecAutoAim.x != 0.0f || m_vecAutoAim.y != 0.0f) { m_vecAutoAim = Vector(0, 0, 0); SET_CROSSHAIRANGLE(ENT(pev), 0, 0); } - m_fOnTarget = FALSE; -} - -// UNDONE: Determine real frame limit, 8 is a placeholder. -// Note: -1 means no custom frames present. - -/* <158ff6> ../cstrike/dlls/player.cpp:8704 */ -void CBasePlayer::SetCustomDecalFrames(int nFrames) -{ + m_fOnTarget = FALSE; +} + +// UNDONE: Determine real frame limit, 8 is a placeholder. +// Note: -1 means no custom frames present. + +/* <158ff6> ../cstrike/dlls/player.cpp:8704 */ +void CBasePlayer::SetCustomDecalFrames(int nFrames) +{ if (nFrames > 0 && nFrames < 8) m_nCustomSprayFrames = nFrames; else - m_nCustomSprayFrames = -1; -} - -// Returns the # of custom frames this player's custom clan logo contains. - -/* <15902e> ../cstrike/dlls/player.cpp:8720 */ -NOXREF int CBasePlayer::GetCustomDecalFrames(void) -{ - return m_nCustomSprayFrames; -} - -/* <151183> ../cstrike/dlls/player.cpp:8731 */ -void CBasePlayer::Blind_(float duration, float holdTime, float fadeTime, int alpha) -{ - m_blindUntilTime = gpGlobals->time + duration; - m_blindStartTime = gpGlobals->time; - - m_blindHoldTime = holdTime; - m_blindFadeTime = fadeTime; - m_blindAlpha = alpha; -} - -/* <159051> ../cstrike/dlls/player.cpp:8741 */ -NOXREF void CBasePlayer::InitStatusBar(void) -{ - m_flStatusBarDisappearDelay = 0.0f; - m_SbarString0[0] = '\0'; -} - -/* <159079> ../cstrike/dlls/player.cpp:8749 */ -void CBasePlayer::UpdateStatusBar(void) -{ - int newSBarState[ SBAR_END ]; - char sbuf0[ SBAR_STRING_SIZE ]; - - Q_memset(newSBarState, 0, sizeof(newSBarState)); - Q_strcpy(sbuf0, m_SbarString0); - - // Find an ID Target - TraceResult tr; - UTIL_MakeVectors(pev->v_angle + pev->punchangle); - - Vector vecSrc = EyePosition(); - Vector vecEnd = vecSrc + (gpGlobals->v_forward * ((pev->flags & FL_SPECTATOR) != 0 ? MAX_SPECTATOR_ID_RANGE : MAX_ID_RANGE)); - - UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, edict(), &tr); - - if (tr.flFraction != 1.0f) - { - if (!FNullEnt(tr.pHit)) - { - CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit); - bool isVisiblePlayer = (!TheBots->IsLineBlockedBySmoke(&pev->origin, &pEntity->pev->origin) && pEntity->Classify() == CLASS_PLAYER); - - if (gpGlobals->time >= m_blindUntilTime && isVisiblePlayer) - { - CBasePlayer *pTarget = (CBasePlayer *)pEntity; - - newSBarState[ SBAR_ID_TARGETNAME ] = ENTINDEX( pTarget->edict() ); - newSBarState[ SBAR_ID_TARGETTYPE ] = (pTarget->m_iTeam == m_iTeam) ? SBAR_TARGETTYPE_TEAMMATE : SBAR_TARGETTYPE_ENEMY; - - if (pTarget->m_iTeam == m_iTeam || IsObserver()) - { + m_nCustomSprayFrames = -1; +} + +// Returns the # of custom frames this player's custom clan logo contains. + +/* <15902e> ../cstrike/dlls/player.cpp:8720 */ +NOXREF int CBasePlayer::GetCustomDecalFrames(void) +{ + return m_nCustomSprayFrames; +} + +/* <151183> ../cstrike/dlls/player.cpp:8731 */ +void CBasePlayer::Blind_(float duration, float holdTime, float fadeTime, int alpha) +{ + m_blindUntilTime = gpGlobals->time + duration; + m_blindStartTime = gpGlobals->time; + + m_blindHoldTime = holdTime; + m_blindFadeTime = fadeTime; + m_blindAlpha = alpha; +} + +/* <159051> ../cstrike/dlls/player.cpp:8741 */ +NOXREF void CBasePlayer::InitStatusBar(void) +{ + m_flStatusBarDisappearDelay = 0.0f; + m_SbarString0[0] = '\0'; +} + +/* <159079> ../cstrike/dlls/player.cpp:8749 */ +void CBasePlayer::UpdateStatusBar(void) +{ + int newSBarState[ SBAR_END ]; + char sbuf0[ SBAR_STRING_SIZE ]; + + Q_memset(newSBarState, 0, sizeof(newSBarState)); + Q_strcpy(sbuf0, m_SbarString0); + + // Find an ID Target + TraceResult tr; + UTIL_MakeVectors(pev->v_angle + pev->punchangle); + + Vector vecSrc = EyePosition(); + Vector vecEnd = vecSrc + (gpGlobals->v_forward * ((pev->flags & FL_SPECTATOR) != 0 ? MAX_SPECTATOR_ID_RANGE : MAX_ID_RANGE)); + + UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, edict(), &tr); + + if (tr.flFraction != 1.0f) + { + if (!FNullEnt(tr.pHit)) + { + CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit); + bool isVisiblePlayer = (!TheBots->IsLineBlockedBySmoke(&pev->origin, &pEntity->pev->origin) && pEntity->Classify() == CLASS_PLAYER); + + if (gpGlobals->time >= m_blindUntilTime && isVisiblePlayer) + { + CBasePlayer *pTarget = (CBasePlayer *)pEntity; + + newSBarState[ SBAR_ID_TARGETNAME ] = ENTINDEX( pTarget->edict() ); + newSBarState[ SBAR_ID_TARGETTYPE ] = (pTarget->m_iTeam == m_iTeam) ? SBAR_TARGETTYPE_TEAMMATE : SBAR_TARGETTYPE_ENEMY; + + if (pTarget->m_iTeam == m_iTeam || IsObserver()) + { if (playerid.value != PLAYERID_MODE_OFF || IsObserver()) Q_strcpy(sbuf0, "1 %c1: %p2\n2 %h: %i3%%"); else @@ -5007,8 +5380,8 @@ void CBasePlayer::UpdateStatusBar(void) { m_flDisplayHistory |= DHF_FRIEND_SEEN; HintMessage("#Hint_spotted_a_friend"); - } - } + } + } else if (!IsObserver()) { if (playerid.value != PLAYERID_MODE_TEAMONLY && playerid.value != PLAYERID_MODE_OFF) @@ -5020,11 +5393,11 @@ void CBasePlayer::UpdateStatusBar(void) { m_flDisplayHistory |= DHF_ENEMY_SEEN; HintMessage("#Hint_spotted_an_enemy"); - } - } + } + } - m_flStatusBarDisappearDelay = gpGlobals->time + 2.0f; - } + m_flStatusBarDisappearDelay = gpGlobals->time + 2.0f; + } else if (pEntity->Classify() == CLASS_HUMAN_PASSIVE) { if (playerid.value != PLAYERID_MODE_OFF || IsObserver()) @@ -5032,7 +5405,7 @@ void CBasePlayer::UpdateStatusBar(void) else Q_strcpy(sbuf0, " "); - newSBarState[ SBAR_ID_TARGETTYPE ] = SBAR_TARGETTYPE_HOSTAGE; + newSBarState[ SBAR_ID_TARGETTYPE ] = SBAR_TARGETTYPE_HOSTAGE; newSBarState[ SBAR_ID_TARGETHEALTH ] = (int)((pEntity->pev->health / pEntity->pev->max_health) * 100); if (!(m_flDisplayHistory & DHF_HOSTAGE_SEEN_FAR) && tr.flFraction > 0.1f) @@ -5045,25 +5418,25 @@ void CBasePlayer::UpdateStatusBar(void) else if (m_iTeam == CT) HintMessage("#Hint_rescue_the_hostages", TRUE); } - else if (m_iTeam == CT && !(m_flDisplayHistory & DHF_HOSTAGE_SEEN_NEAR) && tr.flFraction <= 0.1f) - { - m_flDisplayHistory |= (DHF_HOSTAGE_SEEN_NEAR | DHF_HOSTAGE_SEEN_FAR); - HintMessage("#Hint_press_use_so_hostage_will_follow"); + else if (m_iTeam == CT && !(m_flDisplayHistory & DHF_HOSTAGE_SEEN_NEAR) && tr.flFraction <= 0.1f) + { + m_flDisplayHistory |= (DHF_HOSTAGE_SEEN_NEAR | DHF_HOSTAGE_SEEN_FAR); + HintMessage("#Hint_press_use_so_hostage_will_follow"); } m_flStatusBarDisappearDelay = gpGlobals->time + 2.0f; - } - } - } - else if (m_flStatusBarDisappearDelay > gpGlobals->time) - { - // hold the values for a short amount of time after viewing the object - + } + } + } + else if (m_flStatusBarDisappearDelay > gpGlobals->time) + { + // hold the values for a short amount of time after viewing the object + newSBarState[ SBAR_ID_TARGETTYPE ] = m_izSBarState[ SBAR_ID_TARGETTYPE ]; newSBarState[ SBAR_ID_TARGETNAME ] = m_izSBarState[ SBAR_ID_TARGETNAME ]; - newSBarState[ SBAR_ID_TARGETHEALTH ] = m_izSBarState[ SBAR_ID_TARGETHEALTH ]; - } - + newSBarState[ SBAR_ID_TARGETHEALTH ] = m_izSBarState[ SBAR_ID_TARGETHEALTH ]; + } + BOOL bForceResend = FALSE; if (Q_strcmp(sbuf0, m_SbarString0)) @@ -5091,16 +5464,16 @@ void CBasePlayer::UpdateStatusBar(void) m_izSBarState[ i ] = newSBarState[ i ]; } - } -} - -/* <1603f0> ../cstrike/dlls/player.cpp:8926 */ -void CBasePlayer::DropPlayerItem(const char *pszItemName) -{ + } +} + +/* <1603f0> ../cstrike/dlls/player.cpp:8926 */ +void CBasePlayer::DropPlayerItem(const char *pszItemName) +{ if (!Q_strlen(pszItemName)) { - // if this string has no length, the client didn't type a name! - // assume player wants to drop the active item. + // if this string has no length, the client didn't type a name! + // assume player wants to drop the active item. // make the string null to make future operations in this function easier pszItemName = NULL; } @@ -5233,13 +5606,13 @@ void CBasePlayer::DropPlayerItem(const char *pszItemName) SET_MODEL(ENT(pWeaponBox->pev), modelname); return; - } - } -} - -/* <1594a2> ../cstrike/dlls/player.cpp:9094 */ -BOOL CBasePlayer::HasPlayerItem(CBasePlayerItem *pCheckItem) -{ + } + } +} + +/* <1594a2> ../cstrike/dlls/player.cpp:9094 */ +BOOL CBasePlayer::HasPlayerItem(CBasePlayerItem *pCheckItem) +{ CBasePlayerItem *pItem = m_rgpPlayerItems[ pCheckItem->iItemSlot() ]; while (pItem != NULL) { @@ -5248,227 +5621,227 @@ BOOL CBasePlayer::HasPlayerItem(CBasePlayerItem *pCheckItem) pItem = pItem->m_pNext; } - return FALSE; -} - -/* <159534> ../cstrike/dlls/player.cpp:9113 */ -BOOL CBasePlayer::HasNamedPlayerItem(const char *pszItemName) -{ - CBasePlayerItem *pItem; - int i; - - for (i = 0; i < MAX_ITEM_TYPES ; i++) - { - pItem = m_rgpPlayerItems[ i ]; - - while (pItem != NULL) - { - if (!Q_strcmp(pszItemName, STRING(pItem->pev->classname))) - return TRUE; - - pItem = pItem->m_pNext; - } - } - - return FALSE; -} - -/* <1619fd> ../cstrike/dlls/player.cpp:9137 */ -void CBasePlayer::SwitchTeam(void) -{ - int oldTeam; - char *szOldTeam; - char *szNewTeam; - const char *szName; - - oldTeam = m_iTeam; - - if (m_iTeam == CT) - { - m_iTeam = TERRORIST; - - switch (m_iModelName) - { - case MODEL_URBAN: - m_iModelName = MODEL_LEET; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "leet"); - break; - case MODEL_GIGN: - m_iModelName = MODEL_GUERILLA; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "guerilla"); - break; - case MODEL_SAS: - m_iModelName = MODEL_ARCTIC; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "arctic"); - break; - case MODEL_SPETSNAZ: - if (UTIL_IsGame("czero")) - { - m_iModelName = MODEL_MILITIA; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "militia"); - break; - } - default: - if (m_iModelName == MODEL_GSG9 || !IsBot() || !TheBotProfiles->GetCustomSkinModelname(m_iModelName)) - { - m_iModelName = MODEL_TERROR; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "terror"); - } - break; - } - } - else if (m_iTeam == TERRORIST) - { - m_iTeam = CT; - - switch (m_iModelName) - { - case MODEL_TERROR: - m_iModelName = MODEL_GSG9; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "gsg9"); - break; - - case MODEL_ARCTIC: - m_iModelName = MODEL_SAS; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "sas"); - break; - - case MODEL_GUERILLA: - m_iModelName = MODEL_GIGN; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "gign"); - break; - - case MODEL_MILITIA: - if (UTIL_IsGame("czero")) - { - m_iModelName = MODEL_SPETSNAZ; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "spetsnaz"); - break; - } - default: - if (m_iModelName == MODEL_LEET || !IsBot() || !TheBotProfiles->GetCustomSkinModelname(m_iModelName)) - { - m_iModelName = MODEL_URBAN; - SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "urban"); - } - break; - } - } - - MESSAGE_BEGIN(MSG_ALL, gmsgTeamInfo); - WRITE_BYTE(entindex()); - switch (m_iTeam) - { - case CT: - WRITE_STRING("CT"); - break; - case TERRORIST: - WRITE_STRING("TERRORIST"); - break; - case SPECTATOR: - WRITE_STRING("SPECTATOR"); - break; - default: - WRITE_STRING("UNASSIGNED"); - break; - } - MESSAGE_END(); - - TheBots->OnEvent(EVENT_PLAYER_CHANGED_TEAM, this); - - UpdateLocation(TRUE); - - if (m_iTeam) - { - SetScoreboardAttributes(); - } - - if (pev->netname) - { - szName = STRING(pev->netname); - - if (!szName[0]) - szName = ""; - } - else - szName = ""; - - UTIL_ClientPrintAll(HUD_PRINTNOTIFY, (m_iTeam == TERRORIST) ? "#Game_join_terrorist_auto" : "#Game_join_ct_auto", szName); - - if (m_bHasDefuser) - { - m_bHasDefuser = false; - pev->body = 0; - - MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, pev); - WRITE_BYTE(STATUSICON_HIDE); - WRITE_STRING("defuser"); - MESSAGE_END(); - - SendItemStatus(this); - SetProgressBarTime(0); - - for (int i = 0; i < MAX_ITEM_TYPES; i++) - { - m_pActiveItem = m_rgpPlayerItems[ i ]; - - if (m_pActiveItem && FClassnameIs(m_pActiveItem->pev, "item_thighpack")) - { - m_pActiveItem->Drop(); - m_rgpPlayerItems[i] = NULL; - } - } - } - - szOldTeam = GetTeam(oldTeam); - szNewTeam = GetTeam(m_iTeam); - - UTIL_LogPrintf - ( - "\"%s<%i><%s><%s>\" joined team \"%s\" (auto)\n", - STRING(pev->netname), - GETPLAYERUSERID(edict()), - GETPLAYERAUTHID(edict()), - szOldTeam, - szNewTeam - ); - - CCSBot *pBot = reinterpret_cast(this); - - if (pBot->IsBot()) - { - const BotProfile *pProfile = pBot->GetProfile(); - - if (pProfile != NULL) - { - bool kick = false; - - if (m_iTeam == CT && !pProfile->IsValidForTeam( BOT_TEAM_CT )) - kick = true; - - else if (m_iTeam == TERRORIST && !pProfile->IsValidForTeam( BOT_TEAM_T )) - kick = true; - - if (kick) - { - SERVER_COMMAND( UTIL_VarArgs("kick \"%s\"\n", STRING(pev->netname)) ); - } - } - } -} - -/* <159594> ../cstrike/dlls/player.cpp:9302 */ -void CBasePlayer::UpdateShieldCrosshair(bool draw) -{ - if (draw) - m_iHideHUD &= ~HIDEHUD_CROSSHAIR; - else - m_iHideHUD |= HIDEHUD_CROSSHAIR; -} - -/* <152fbc> ../cstrike/dlls/player.cpp:9313 */ -BOOL CBasePlayer::SwitchWeapon(CBasePlayerItem *pWeapon) -{ + return FALSE; +} + +/* <159534> ../cstrike/dlls/player.cpp:9113 */ +BOOL CBasePlayer::HasNamedPlayerItem(const char *pszItemName) +{ + CBasePlayerItem *pItem; + int i; + + for (i = 0; i < MAX_ITEM_TYPES ; i++) + { + pItem = m_rgpPlayerItems[ i ]; + + while (pItem != NULL) + { + if (!Q_strcmp(pszItemName, STRING(pItem->pev->classname))) + return TRUE; + + pItem = pItem->m_pNext; + } + } + + return FALSE; +} + +/* <1619fd> ../cstrike/dlls/player.cpp:9137 */ +void CBasePlayer::SwitchTeam(void) +{ + int oldTeam; + char *szOldTeam; + char *szNewTeam; + const char *szName; + + oldTeam = m_iTeam; + + if (m_iTeam == CT) + { + m_iTeam = TERRORIST; + + switch (m_iModelName) + { + case MODEL_URBAN: + m_iModelName = MODEL_LEET; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "leet"); + break; + case MODEL_GIGN: + m_iModelName = MODEL_GUERILLA; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "guerilla"); + break; + case MODEL_SAS: + m_iModelName = MODEL_ARCTIC; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "arctic"); + break; + case MODEL_SPETSNAZ: + if (UTIL_IsGame("czero")) + { + m_iModelName = MODEL_MILITIA; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "militia"); + break; + } + default: + if (m_iModelName == MODEL_GSG9 || !IsBot() || !TheBotProfiles->GetCustomSkinModelname(m_iModelName)) + { + m_iModelName = MODEL_TERROR; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "terror"); + } + break; + } + } + else if (m_iTeam == TERRORIST) + { + m_iTeam = CT; + + switch (m_iModelName) + { + case MODEL_TERROR: + m_iModelName = MODEL_GSG9; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "gsg9"); + break; + + case MODEL_ARCTIC: + m_iModelName = MODEL_SAS; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "sas"); + break; + + case MODEL_GUERILLA: + m_iModelName = MODEL_GIGN; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "gign"); + break; + + case MODEL_MILITIA: + if (UTIL_IsGame("czero")) + { + m_iModelName = MODEL_SPETSNAZ; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "spetsnaz"); + break; + } + default: + if (m_iModelName == MODEL_LEET || !IsBot() || !TheBotProfiles->GetCustomSkinModelname(m_iModelName)) + { + m_iModelName = MODEL_URBAN; + SET_CLIENT_KEY_VALUE(entindex(), GET_INFO_BUFFER(edict()), "model", "urban"); + } + break; + } + } + + MESSAGE_BEGIN(MSG_ALL, gmsgTeamInfo); + WRITE_BYTE(entindex()); + switch (m_iTeam) + { + case CT: + WRITE_STRING("CT"); + break; + case TERRORIST: + WRITE_STRING("TERRORIST"); + break; + case SPECTATOR: + WRITE_STRING("SPECTATOR"); + break; + default: + WRITE_STRING("UNASSIGNED"); + break; + } + MESSAGE_END(); + + TheBots->OnEvent(EVENT_PLAYER_CHANGED_TEAM, this); + + UpdateLocation(TRUE); + + if (m_iTeam) + { + SetScoreboardAttributes(); + } + + if (pev->netname) + { + szName = STRING(pev->netname); + + if (!szName[0]) + szName = ""; + } + else + szName = ""; + + UTIL_ClientPrintAll(HUD_PRINTNOTIFY, (m_iTeam == TERRORIST) ? "#Game_join_terrorist_auto" : "#Game_join_ct_auto", szName); + + if (m_bHasDefuser) + { + m_bHasDefuser = false; + pev->body = 0; + + MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, pev); + WRITE_BYTE(STATUSICON_HIDE); + WRITE_STRING("defuser"); + MESSAGE_END(); + + SendItemStatus(this); + SetProgressBarTime(0); + + for (int i = 0; i < MAX_ITEM_TYPES; i++) + { + m_pActiveItem = m_rgpPlayerItems[ i ]; + + if (m_pActiveItem && FClassnameIs(m_pActiveItem->pev, "item_thighpack")) + { + m_pActiveItem->Drop(); + m_rgpPlayerItems[i] = NULL; + } + } + } + + szOldTeam = GetTeam(oldTeam); + szNewTeam = GetTeam(m_iTeam); + + UTIL_LogPrintf + ( + "\"%s<%i><%s><%s>\" joined team \"%s\" (auto)\n", + STRING(pev->netname), + GETPLAYERUSERID(edict()), + GETPLAYERAUTHID(edict()), + szOldTeam, + szNewTeam + ); + + CCSBot *pBot = reinterpret_cast(this); + + if (pBot->IsBot()) + { + const BotProfile *pProfile = pBot->GetProfile(); + + if (pProfile != NULL) + { + bool kick = false; + + if (m_iTeam == CT && !pProfile->IsValidForTeam( BOT_TEAM_CT )) + kick = true; + + else if (m_iTeam == TERRORIST && !pProfile->IsValidForTeam( BOT_TEAM_T )) + kick = true; + + if (kick) + { + SERVER_COMMAND( UTIL_VarArgs("kick \"%s\"\n", STRING(pev->netname)) ); + } + } + } +} + +/* <159594> ../cstrike/dlls/player.cpp:9302 */ +void CBasePlayer::UpdateShieldCrosshair(bool draw) +{ + if (draw) + m_iHideHUD &= ~HIDEHUD_CROSSHAIR; + else + m_iHideHUD |= HIDEHUD_CROSSHAIR; +} + +/* <152fbc> ../cstrike/dlls/player.cpp:9313 */ +BOOL CBasePlayer::SwitchWeapon(CBasePlayerItem *pWeapon) +{ if (!pWeapon->CanDeploy()) return FALSE; @@ -5488,12 +5861,12 @@ BOOL CBasePlayer::SwitchWeapon(CBasePlayerItem *pWeapon) if (HasShield()) UpdateShieldCrosshair(true); - return TRUE; -} - -/* <1595ed> ../cstrike/dlls/player.cpp:9342 */ -void CBasePlayer::TabulateAmmo(void) -{ + return TRUE; +} + +/* <1595ed> ../cstrike/dlls/player.cpp:9342 */ +void CBasePlayer::TabulateAmmo(void) +{ ammo_buckshot = AmmoInventory(GetAmmoIndex("buckshot")); ammo_9mm = AmmoInventory(GetAmmoIndex("9mm")); ammo_556nato = AmmoInventory(GetAmmoIndex("556Nato")); @@ -5503,33 +5876,33 @@ void CBasePlayer::TabulateAmmo(void) ammo_50ae = AmmoInventory(GetAmmoIndex("50AE")); ammo_338mag = AmmoInventory(GetAmmoIndex("338Magnum")); ammo_57mm = AmmoInventory(GetAmmoIndex("57mm")); - ammo_357sig = AmmoInventory(GetAmmoIndex("357SIG")); -} - -/* <1511eb> ../cstrike/dlls/player.cpp:9365 */ -int CDeadHEV::Classify_(void) -{ - return CLASS_HUMAN_MILITARY; -} - -/* <152451> ../cstrike/dlls/player.cpp:9375 */ -void CDeadHEV::KeyValue_(KeyValueData *pkvd) -{ + ammo_357sig = AmmoInventory(GetAmmoIndex("357SIG")); +} + +/* <1511eb> ../cstrike/dlls/player.cpp:9365 */ +int CDeadHEV::Classify_(void) +{ + return CLASS_HUMAN_MILITARY; +} + +/* <152451> ../cstrike/dlls/player.cpp:9375 */ +void CDeadHEV::KeyValue_(KeyValueData *pkvd) +{ if (FStrEq(pkvd->szKeyName, "pose")) { m_iPose = atoi(pkvd->szValue); pkvd->fHandled = TRUE; } else - CBaseMonster::KeyValue(pkvd); -} - -/* <159a88> ../cstrike/dlls/player.cpp:9386 */ -LINK_ENTITY_TO_CLASS(monster_hevsuit_dead, CDeadHEV); - -/* <1513ce> ../cstrike/dlls/player.cpp:9391 */ -void CDeadHEV::Spawn_(void) -{ + CBaseMonster::KeyValue(pkvd); +} + +/* <159a88> ../cstrike/dlls/player.cpp:9386 */ +LINK_ENTITY_TO_CLASS(monster_hevsuit_dead, CDeadHEV); + +/* <1513ce> ../cstrike/dlls/player.cpp:9391 */ +void CDeadHEV::Spawn_(void) +{ PRECACHE_MODEL("models/player.mdl"); SET_MODEL(ENT(pev), "models/player.mdl"); @@ -5550,15 +5923,15 @@ void CDeadHEV::Spawn_(void) } pev->health = 8; - MonsterInitDead(); -} - -/* <159b64> ../cstrike/dlls/player.cpp:9426 */ -LINK_ENTITY_TO_CLASS(player_weaponstrip, CStripWeapons); - -/* <15f62f> ../cstrike/dlls/player.cpp:9428 */ -void CStripWeapons::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ + MonsterInitDead(); +} + +/* <159b64> ../cstrike/dlls/player.cpp:9426 */ +LINK_ENTITY_TO_CLASS(player_weaponstrip, CStripWeapons); + +/* <15f62f> ../cstrike/dlls/player.cpp:9428 */ +void CStripWeapons::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ CBasePlayer *pPlayer = NULL; if (pActivator && pActivator->IsPlayer()) @@ -5568,18 +5941,18 @@ void CStripWeapons::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE pPlayer = (CBasePlayer *)Instance(INDEXENT(1)); if (pPlayer) - pPlayer->RemoveAllItems(FALSE); -} - -/* <159c40> ../cstrike/dlls/player.cpp:9473 */ -LINK_ENTITY_TO_CLASS(player_loadsaved, CRevertSaved); - -/* <151a24> ../cstrike/dlls/player.cpp:9481 */ -IMPLEMENT_SAVERESTORE(CRevertSaved, CPointEntity); - -/* <152540> ../cstrike/dlls/player.cpp:9483 */ -void CRevertSaved::KeyValue_(KeyValueData *pkvd) -{ + pPlayer->RemoveAllItems(FALSE); +} + +/* <159c40> ../cstrike/dlls/player.cpp:9473 */ +LINK_ENTITY_TO_CLASS(player_loadsaved, CRevertSaved); + +/* <151a24> ../cstrike/dlls/player.cpp:9481 */ +IMPLEMENT_SAVERESTORE(CRevertSaved, CPointEntity); + +/* <152540> ../cstrike/dlls/player.cpp:9483 */ +void CRevertSaved::KeyValue_(KeyValueData *pkvd) +{ if (FStrEq(pkvd->szKeyName, "duration")) { SetDuration( atof(pkvd->szValue) ); @@ -5601,21 +5974,21 @@ void CRevertSaved::KeyValue_(KeyValueData *pkvd) pkvd->fHandled = TRUE; } else - CPointEntity::KeyValue(pkvd); -} - -/* <151365> ../cstrike/dlls/player.cpp:9509 */ -void CRevertSaved::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ + CPointEntity::KeyValue(pkvd); +} + +/* <151365> ../cstrike/dlls/player.cpp:9509 */ +void CRevertSaved::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ UTIL_ScreenFadeAll(pev->rendercolor, Duration(), HoldTime(), (int)pev->renderamt, FFADE_OUT); pev->nextthink = gpGlobals->time + MessageTime(); - SetThink(&CRevertSaved::MessageThink); -} - -/* <152a96> ../cstrike/dlls/player.cpp:9517 */ -void CRevertSaved::MessageThink(void) -{ - float nextThink = LoadTime() - MessageTime(); + SetThink(&CRevertSaved::MessageThink); +} + +/* <152a96> ../cstrike/dlls/player.cpp:9517 */ +void CRevertSaved::MessageThink(void) +{ + float nextThink = LoadTime() - MessageTime(); UTIL_ShowMessageAll(STRING(pev->message)); if (nextThink > 0) @@ -5624,54 +5997,54 @@ void CRevertSaved::MessageThink(void) SetThink(&CRevertSaved::LoadThink); } else - LoadThink(); -} - -/* <15198b> ../cstrike/dlls/player.cpp:9531 */ -void CRevertSaved::LoadThink(void) -{ + LoadThink(); +} + +/* <15198b> ../cstrike/dlls/player.cpp:9531 */ +void CRevertSaved::LoadThink(void) +{ if (!gpGlobals->deathmatch) - SERVER_COMMAND("reload\n"); -} - -/* <15133c> ../cstrike/dlls/player.cpp:9549 */ -void CInfoIntermission::Spawn_(void) -{ + SERVER_COMMAND("reload\n"); +} + +/* <15133c> ../cstrike/dlls/player.cpp:9549 */ +void CInfoIntermission::Spawn_(void) +{ UTIL_SetOrigin(pev, pev->origin); pev->solid = SOLID_NOT; pev->effects = EF_NODRAW; pev->v_angle = g_vecZero; - pev->nextthink = gpGlobals->time + 2; -} - -/* <1530e6> ../cstrike/dlls/player.cpp:9560 */ -void CInfoIntermission::Think_(void) -{ + pev->nextthink = gpGlobals->time + 2; +} + +/* <1530e6> ../cstrike/dlls/player.cpp:9560 */ +void CInfoIntermission::Think_(void) +{ edict_t *pTarget = FIND_ENTITY_BY_TARGETNAME(NULL, STRING(pev->target)); if (!FNullEnt(pTarget)) { pev->v_angle = UTIL_VecToAngles((pTarget->v.origin - pev->origin).Normalize()); pev->v_angle.x = -pev->v_angle.x; - } -} - -/* <159d1c> ../cstrike/dlls/player.cpp:9574 */ -LINK_ENTITY_TO_CLASS(info_intermission, CInfoIntermission); - -/* <159df8> ../cstrike/dlls/player.cpp:9586 */ -void CBasePlayer::StudioEstimateGait(void) -{ + } +} + +/* <159d1c> ../cstrike/dlls/player.cpp:9574 */ +LINK_ENTITY_TO_CLASS(info_intermission, CInfoIntermission); + +/* <159df8> ../cstrike/dlls/player.cpp:9586 */ +void CBasePlayer::StudioEstimateGait(void) +{ float_precision dt; Vector est_velocity; dt = gpGlobals->frametime; - if (dt < 0) - dt = 0; - - else if (dt > 1.0) + if (dt < 0) + dt = 0; + + else if (dt > 1.0) dt = 1; if (dt == 0) @@ -5740,73 +6113,73 @@ void CBasePlayer::StudioEstimateGait(void) if (m_flGaityaw < -180) m_flGaityaw = -180; - } -} - -/* <159f01> ../cstrike/dlls/player.cpp:9685 */ -NOXREF void CBasePlayer::StudioPlayerBlend(int *pBlend, float *pPitch) -{ - // calc up/down pointing - float range = (float)(int64_t)(*pPitch * 3.0f); - - *pBlend = range; - - if (range <= -45.0f) - { - *pBlend = 255; - *pPitch = 0; - } - else if (range >= 45.0f) - { - *pBlend = 0; - *pPitch = 0; - } - else - { - *pBlend = (int64_t)((45.0f - range) * (255.0f / 90.0f)); - *pPitch = 0; - } -} - -/* <159f81> ../cstrike/dlls/player.cpp:9709 */ -NOXREF void CBasePlayer::CalculatePitchBlend(void) -{ - int iBlend; - float temp = pev->angles.x; - - StudioPlayerBlend(&iBlend, &temp); - - pev->blending[1] = iBlend; - m_flPitch = iBlend; -} - -/* <15a007> ../cstrike/dlls/player.cpp:9720 */ -void CBasePlayer::CalculateYawBlend(void) -{ - float dt; - float maxyaw = 255.0f; - - float_precision flYaw; - float_precision blend_yaw; - - dt = gpGlobals->frametime; - - if (dt < 0) - dt = 0; - - else if (dt > 1) - dt = 1; - - StudioEstimateGait(); - - flYaw = fmod((float_precision)(pev->angles.y - m_flGaityaw), 360); - - if (flYaw < -180) - flYaw += 360; - - else if (flYaw > 180) - flYaw -= 360; - + } +} + +/* <159f01> ../cstrike/dlls/player.cpp:9685 */ +NOXREF void CBasePlayer::StudioPlayerBlend(int *pBlend, float *pPitch) +{ + // calc up/down pointing + float range = (float)(int64_t)(*pPitch * 3.0f); + + *pBlend = range; + + if (range <= -45.0f) + { + *pBlend = 255; + *pPitch = 0; + } + else if (range >= 45.0f) + { + *pBlend = 0; + *pPitch = 0; + } + else + { + *pBlend = (int64_t)((45.0f - range) * (255.0f / 90.0f)); + *pPitch = 0; + } +} + +/* <159f81> ../cstrike/dlls/player.cpp:9709 */ +NOXREF void CBasePlayer::CalculatePitchBlend(void) +{ + int iBlend; + float temp = pev->angles.x; + + StudioPlayerBlend(&iBlend, &temp); + + pev->blending[1] = iBlend; + m_flPitch = iBlend; +} + +/* <15a007> ../cstrike/dlls/player.cpp:9720 */ +void CBasePlayer::CalculateYawBlend(void) +{ + float dt; + float maxyaw = 255.0f; + + float_precision flYaw; + float_precision blend_yaw; + + dt = gpGlobals->frametime; + + if (dt < 0) + dt = 0; + + else if (dt > 1) + dt = 1; + + StudioEstimateGait(); + + flYaw = fmod((float_precision)(pev->angles.y - m_flGaityaw), 360); + + if (flYaw < -180) + flYaw += 360; + + else if (flYaw > 180) + flYaw -= 360; + if (m_flGaitMovement != 0.0) { if (flYaw > 120) @@ -5821,9 +6194,9 @@ void CBasePlayer::CalculateYawBlend(void) m_flGaitMovement = -m_flGaitMovement; flYaw += 180; } - } - - flYaw = (flYaw / 90) * 128 + 127; + } + + flYaw = (flYaw / 90) * 128 + 127; if (flYaw > 255) flYaw = 255; @@ -5834,12 +6207,12 @@ void CBasePlayer::CalculateYawBlend(void) blend_yaw = maxyaw - flYaw; pev->blending[0] = (int64_t)blend_yaw; - m_flYaw = blend_yaw; -} - -/* <15a07b> ../cstrike/dlls/player.cpp:9776 */ -void CBasePlayer::StudioProcessGait(void) -{ + m_flYaw = blend_yaw; +} + +/* <15a07b> ../cstrike/dlls/player.cpp:9776 */ +void CBasePlayer::StudioProcessGait(void) +{ mstudioseqdesc_t *pseqdesc; float_precision dt = gpGlobals->frametime; @@ -5869,59 +6242,59 @@ void CBasePlayer::StudioProcessGait(void) m_flGaitframe -= (int)(m_flGaitframe / pseqdesc->numframes) * pseqdesc->numframes; if (m_flGaitframe < 0) - m_flGaitframe += pseqdesc->numframes; -} - -/* <15a444> ../cstrike/dlls/player.cpp:9821 */ -NOXREF void CBasePlayer::ResetStamina(void) -{ + m_flGaitframe += pseqdesc->numframes; +} + +/* <15a444> ../cstrike/dlls/player.cpp:9821 */ +NOXREF void CBasePlayer::ResetStamina(void) +{ pev->fuser1 = 0; pev->fuser3 = 0; - pev->fuser2 = 0; -} - -/* <15a467> ../cstrike/dlls/player.cpp:9829 */ -float GetPlayerPitch(const edict_t *pEdict) -{ + pev->fuser2 = 0; +} + +/* <15a467> ../cstrike/dlls/player.cpp:9829 */ +float GetPlayerPitch(const edict_t *pEdict) +{ entvars_t *pev = VARS((edict_t *)pEdict); CBasePlayer *pPlayer = reinterpret_cast< CBasePlayer * >(CBasePlayer::Instance( pev )); if (!pPlayer) return 0.0f; - return pPlayer->m_flPitch; -} - -/* <15a530> ../cstrike/dlls/player.cpp:9846 */ -float GetPlayerYaw(const edict_t *pEdict) -{ + return pPlayer->m_flPitch; +} + +/* <15a530> ../cstrike/dlls/player.cpp:9846 */ +float GetPlayerYaw(const edict_t *pEdict) +{ entvars_t *pev = VARS((edict_t *)pEdict); - CBasePlayer *pPlayer = reinterpret_cast< CBasePlayer * >(CBasePlayer::Instance( pev )); + CBasePlayer *pPlayer = reinterpret_cast< CBasePlayer * >(CBasePlayer::Instance( pev )); if (!pPlayer) return 0.0f; - return pPlayer->m_flYaw; -} - -/* <15a5f9> ../cstrike/dlls/player.cpp:9863 */ -int GetPlayerGaitsequence(edict_t *pEdict) -{ + return pPlayer->m_flYaw; +} + +/* <15a5f9> ../cstrike/dlls/player.cpp:9863 */ +int GetPlayerGaitsequence(const edict_t *pEdict) +{ entvars_t *pev = VARS((edict_t *)pEdict); - CBasePlayer *pPlayer = reinterpret_cast< CBasePlayer * >(CBasePlayer::Instance( pev )); + CBasePlayer *pPlayer = reinterpret_cast< CBasePlayer * >(CBasePlayer::Instance( pev )); if (!pPlayer) return 1; - return pPlayer->m_iGaitsequence; -} - -/* <15a6c2> ../cstrike/dlls/player.cpp:9880 */ -void CBasePlayer::SpawnClientSideCorpse(void) -{ + return pPlayer->m_iGaitsequence; +} + +/* <15a6c2> ../cstrike/dlls/player.cpp:9880 */ +void CBasePlayer::SpawnClientSideCorpse(void) +{ char *infobuffer = GET_INFO_BUFFER(edict()); - char *pModel = GET_KEY_VALUE(infobuffer, "model"); - + char *pModel = GET_KEY_VALUE(infobuffer, "model"); + MESSAGE_BEGIN(MSG_ALL, gmsgSendCorpse); WRITE_STRING(pModel); WRITE_LONG(pev->origin.x * 128); @@ -5937,17 +6310,17 @@ void CBasePlayer::SpawnClientSideCorpse(void) WRITE_BYTE(entindex()); MESSAGE_END(); - m_canSwitchObserverModes = true; - - if (TheTutor) - TheTutor->OnEvent(EVENT_CLIENT_CORPSE_SPAWNED, this, NULL); -} - -/* <15a7a2> ../cstrike/dlls/player.cpp:9909 */ -NOXREF BOOL CBasePlayer::IsArmored(int nHitGroup) -{ - BOOL fApplyArmor = FALSE; - + m_canSwitchObserverModes = true; + + if (TheTutor) + TheTutor->OnEvent(EVENT_CLIENT_CORPSE_SPAWNED, this, NULL); +} + +/* <15a7a2> ../cstrike/dlls/player.cpp:9909 */ +NOXREF BOOL CBasePlayer::IsArmored(int nHitGroup) +{ + BOOL fApplyArmor = FALSE; + if (m_iKevlar == ARMOR_TYPE_EMPTY) return FALSE; @@ -5967,17 +6340,17 @@ NOXREF BOOL CBasePlayer::IsArmored(int nHitGroup) break; } - return fApplyArmor; -} - -/* <15a847> ../cstrike/dlls/player.cpp:9939 */ -NOXREF BOOL CBasePlayer::ShouldDoLargeFlinch(int nHitGroup, int nGunType) -{ + return fApplyArmor; +} + +/* <15a847> ../cstrike/dlls/player.cpp:9939 */ +NOXREF BOOL CBasePlayer::ShouldDoLargeFlinch(int nHitGroup, int nGunType) +{ if (pev->flags & FL_DUCKING) return FALSE; if (nHitGroup != HITGROUP_LEFTLEG && nHitGroup != HITGROUP_RIGHTLEG) - { + { switch (nGunType) { case WEAPON_SCOUT: @@ -5993,15 +6366,15 @@ NOXREF BOOL CBasePlayer::ShouldDoLargeFlinch(int nHitGroup, int nGunType) case WEAPON_SG552: case WEAPON_AK47: return TRUE; - } - } - - return FALSE; -} - -/* <15a87d> ../cstrike/dlls/player.cpp:9971 */ -void CBasePlayer::SetPrefsFromUserinfo(char *infobuffer) -{ + } + } + + return FALSE; +} + +/* <15a87d> ../cstrike/dlls/player.cpp:9971 */ +void CBasePlayer::SetPrefsFromUserinfo(char *infobuffer) +{ const char *pszKeyVal; pszKeyVal = GET_KEY_VALUE(infobuffer, "_cl_autowepswitch"); @@ -6023,187 +6396,187 @@ void CBasePlayer::SetPrefsFromUserinfo(char *infobuffer) if (Q_strcmp(pszKeyVal, "")) m_bShowHints = atoi(pszKeyVal) != 0; else - m_bShowHints = true; -} - -/* <15a92a> ../cstrike/dlls/player.cpp:10013 */ -bool CBasePlayer::IsLookingAtPosition(Vector *pos, float angleTolerance) -{ - Vector to = *pos - EyePosition(); - Vector idealAngle = UTIL_VecToAngles( to ); - - idealAngle.x = 360.0 - idealAngle.x; - - float deltaYaw = NormalizeAngle(idealAngle.y - pev->v_angle.y); - float deltaPitch = NormalizeAngle(idealAngle.x - pev->v_angle.x); - - return (abs(deltaYaw) < angleTolerance - && abs(deltaPitch) < angleTolerance); -} - -/* <15aa7b> ../cstrike/dlls/player.cpp:10083 */ -bool CBasePlayer::CanAffordPrimary(void) -{ - int account = m_iAccount; - - if (m_iTeam == CT) - { - WeaponStruct *temp; - for (int i = 0; i < MAX_WEAPONS; i++) - { - temp = &g_weaponStruct[ i ]; - - if ((temp->m_side & TERRORIST) && temp->m_slot == PRIMARY_WEAPON_SLOT && account >= temp->m_price) - return true; - } - } - else if (m_iTeam == TERRORIST) - { - WeaponStruct *temp; - for (int i = 0; i < MAX_WEAPONS; i++) - { - temp = &g_weaponStruct[ i ]; - - if ((temp->m_side & CT) && temp->m_slot == PRIMARY_WEAPON_SLOT && account >= temp->m_price) - return true; - } - } - - return false; -} - -/* <15ab2c> ../cstrike/dlls/player.cpp:10139 */ -bool CBasePlayer::CanAffordPrimaryAmmo(void) -{ - CBasePlayerWeapon *primary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; - - for (int i = 0; i < MAX_WEAPONS; i++) - { - WeaponStruct *temp = &g_weaponStruct[ i ]; - - if (temp->m_type == primary->m_iId && m_iAccount >= temp->m_ammoPrice) - return true; - } - - return false; -} - -/* <15aba0> ../cstrike/dlls/player.cpp:10169 */ -bool CBasePlayer::CanAffordSecondaryAmmo(void) -{ - CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PISTOL_SLOT ]; - - for (int i = 0; i < MAX_WEAPONS; i++) - { - WeaponStruct *temp = &g_weaponStruct[ i ]; - - if (temp->m_type == secondary->m_iId && m_iAccount >= temp->m_ammoPrice) - return true; - } - - return false; -} - -/* <15ac14> ../cstrike/dlls/player.cpp:10199 */ -bool CBasePlayer::CanAffordArmor(void) -{ - if (m_iKevlar == ARMOR_TYPE_KEVLAR && pev->armorvalue == 100.0f && m_iAccount >= HELMET_PRICE) - return true; - - return (m_iAccount >= KEVLAR_PRICE); -} - -/* <15ac3c> ../cstrike/dlls/player.cpp:10217 */ -bool CBasePlayer::CanAffordDefuseKit(void) -{ - return (m_iAccount >= DEFUSEKIT_PRICE); -} - -/* <15ac64> ../cstrike/dlls/player.cpp:10227 */ -bool CBasePlayer::CanAffordGrenade(void) -{ - return (m_iAccount >= FLASHBANG_PRICE); -} - -/* <15ac8c> ../cstrike/dlls/player.cpp:10247 */ -bool CBasePlayer::NeedsPrimaryAmmo(void) -{ - CBasePlayerWeapon *primary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; - - if (!primary || primary->m_iId == WEAPON_SHIELDGUN) - return false; - - return (m_rgAmmo[ primary->m_iPrimaryAmmoType ] < primary->iMaxAmmo1()); -} - -/* <15ace1> ../cstrike/dlls/player.cpp:10268 */ -bool CBasePlayer::NeedsSecondaryAmmo(void) -{ - CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PISTOL_SLOT ]; - - if (!secondary) - return false; - - return (m_rgAmmo[ secondary->m_iPrimaryAmmoType ] < secondary->iMaxAmmo1()); -} - -/* <15ad36> ../cstrike/dlls/player.cpp:10285 */ -bool CBasePlayer::NeedsArmor(void) -{ - if (m_iKevlar == ARMOR_TYPE_EMPTY) - return true; - - return (pev->armorvalue < 50.0f); -} - -/* <15ad5e> ../cstrike/dlls/player.cpp:10300 */ -bool CBasePlayer::NeedsDefuseKit(void) -{ - CHalfLifeMultiplay *mpRules = g_pGameRules; - - if (m_bHasDefuser || m_iTeam != CT) - return false; - - return (mpRules->m_bMapHasBombTarget); -} - -/* <15ad9a> ../cstrike/dlls/player.cpp:10325 */ -bool CBasePlayer::NeedsGrenade(void) -{ - int iAmmoIndex = GetAmmoIndex("HEGrenade"); - - if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) - return false; - - iAmmoIndex = GetAmmoIndex("Flashbang"); - - if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) - return false; - - iAmmoIndex = GetAmmoIndex("SmokeGrenade"); - - if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) - return false; - - return true; -} - -/* <15aeab> ../cstrike/dlls/player.cpp:10381 */ + m_bShowHints = true; +} + +/* <15a92a> ../cstrike/dlls/player.cpp:10013 */ +bool CBasePlayer::IsLookingAtPosition(Vector *pos, float angleTolerance) +{ + Vector to = *pos - EyePosition(); + Vector idealAngle = UTIL_VecToAngles( to ); + + idealAngle.x = 360.0 - idealAngle.x; + + float deltaYaw = NormalizeAngle(idealAngle.y - pev->v_angle.y); + float deltaPitch = NormalizeAngle(idealAngle.x - pev->v_angle.x); + + return (abs(deltaYaw) < angleTolerance + && abs(deltaPitch) < angleTolerance); +} + +/* <15aa7b> ../cstrike/dlls/player.cpp:10083 */ +bool CBasePlayer::CanAffordPrimary(void) +{ + int account = m_iAccount; + + if (m_iTeam == CT) + { + WeaponStruct *temp; + for (int i = 0; i < MAX_WEAPONS; i++) + { + temp = &g_weaponStruct[ i ]; + + if ((temp->m_side & TERRORIST) && temp->m_slot == PRIMARY_WEAPON_SLOT && account >= temp->m_price) + return true; + } + } + else if (m_iTeam == TERRORIST) + { + WeaponStruct *temp; + for (int i = 0; i < MAX_WEAPONS; i++) + { + temp = &g_weaponStruct[ i ]; + + if ((temp->m_side & CT) && temp->m_slot == PRIMARY_WEAPON_SLOT && account >= temp->m_price) + return true; + } + } + + return false; +} + +/* <15ab2c> ../cstrike/dlls/player.cpp:10139 */ +bool CBasePlayer::CanAffordPrimaryAmmo(void) +{ + CBasePlayerWeapon *primary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; + + for (int i = 0; i < MAX_WEAPONS; i++) + { + WeaponStruct *temp = &g_weaponStruct[ i ]; + + if (temp->m_type == primary->m_iId && m_iAccount >= temp->m_ammoPrice) + return true; + } + + return false; +} + +/* <15aba0> ../cstrike/dlls/player.cpp:10169 */ +bool CBasePlayer::CanAffordSecondaryAmmo(void) +{ + CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PISTOL_SLOT ]; + + for (int i = 0; i < MAX_WEAPONS; i++) + { + WeaponStruct *temp = &g_weaponStruct[ i ]; + + if (temp->m_type == secondary->m_iId && m_iAccount >= temp->m_ammoPrice) + return true; + } + + return false; +} + +/* <15ac14> ../cstrike/dlls/player.cpp:10199 */ +bool CBasePlayer::CanAffordArmor(void) +{ + if (m_iKevlar == ARMOR_TYPE_KEVLAR && pev->armorvalue == 100.0f && m_iAccount >= HELMET_PRICE) + return true; + + return (m_iAccount >= KEVLAR_PRICE); +} + +/* <15ac3c> ../cstrike/dlls/player.cpp:10217 */ +bool CBasePlayer::CanAffordDefuseKit(void) +{ + return (m_iAccount >= DEFUSEKIT_PRICE); +} + +/* <15ac64> ../cstrike/dlls/player.cpp:10227 */ +bool CBasePlayer::CanAffordGrenade(void) +{ + return (m_iAccount >= FLASHBANG_PRICE); +} + +/* <15ac8c> ../cstrike/dlls/player.cpp:10247 */ +bool CBasePlayer::NeedsPrimaryAmmo(void) +{ + CBasePlayerWeapon *primary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; + + if (!primary || primary->m_iId == WEAPON_SHIELDGUN) + return false; + + return (m_rgAmmo[ primary->m_iPrimaryAmmoType ] < primary->iMaxAmmo1()); +} + +/* <15ace1> ../cstrike/dlls/player.cpp:10268 */ +bool CBasePlayer::NeedsSecondaryAmmo(void) +{ + CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)&m_rgpPlayerItems[ PISTOL_SLOT ]; + + if (!secondary) + return false; + + return (m_rgAmmo[ secondary->m_iPrimaryAmmoType ] < secondary->iMaxAmmo1()); +} + +/* <15ad36> ../cstrike/dlls/player.cpp:10285 */ +bool CBasePlayer::NeedsArmor(void) +{ + if (m_iKevlar == ARMOR_TYPE_EMPTY) + return true; + + return (pev->armorvalue < 50.0f); +} + +/* <15ad5e> ../cstrike/dlls/player.cpp:10300 */ +bool CBasePlayer::NeedsDefuseKit(void) +{ + CHalfLifeMultiplay *mpRules = g_pGameRules; + + if (m_bHasDefuser || m_iTeam != CT) + return false; + + return (mpRules->m_bMapHasBombTarget); +} + +/* <15ad9a> ../cstrike/dlls/player.cpp:10325 */ +bool CBasePlayer::NeedsGrenade(void) +{ + int iAmmoIndex = GetAmmoIndex("HEGrenade"); + + if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) + return false; + + iAmmoIndex = GetAmmoIndex("Flashbang"); + + if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) + return false; + + iAmmoIndex = GetAmmoIndex("SmokeGrenade"); + + if (iAmmoIndex > 0 && m_rgAmmo[ iAmmoIndex ]) + return false; + + return true; +} + +/* <15aeab> ../cstrike/dlls/player.cpp:10381 */ void CBasePlayer::ClientCommand(const char *cmd, const char *arg1, const char *arg2, const char *arg3) { BotArgs[0] = cmd; BotArgs[1] = arg1; BotArgs[2] = arg2; BotArgs[3] = arg3; - + UseBotArgs = true; ::ClientCommand(ENT(pev)); UseBotArgs = false; -} - -/* <15aea9> ../cstrike/dlls/player.cpp:10401 */ -NOXREF const char *GetBuyStringForWeaponClass(int weaponClass) -{ +} + +/* <15aea9> ../cstrike/dlls/player.cpp:10401 */ +NOXREF const char *GetBuyStringForWeaponClass(int weaponClass) +{ switch (weaponClass) { case WEAPONCLASS_PISTOL: @@ -6222,18 +6595,18 @@ NOXREF const char *GetBuyStringForWeaponClass(int weaponClass) return "sg552 aug ak47 m4a1 galil famas"; } - return NULL; -} - -/* <15aee9> ../cstrike/dlls/player.cpp:10454 */ -void CBasePlayer::ClearAutoBuyData(void) -{ - m_autoBuyString[0] = '\0'; -} - -/* <15af11> ../cstrike/dlls/player.cpp:10459 */ -void CBasePlayer::AddAutoBuyData(const char *str) -{ + return NULL; +} + +/* <15aee9> ../cstrike/dlls/player.cpp:10454 */ +void CBasePlayer::ClearAutoBuyData(void) +{ + m_autoBuyString[0] = '\0'; +} + +/* <15af11> ../cstrike/dlls/player.cpp:10459 */ +void CBasePlayer::AddAutoBuyData(const char *str) +{ int len = Q_strlen(m_autoBuyString); if (len < MAX_AUTOBUY_LENGTH - 1) @@ -6242,11 +6615,11 @@ void CBasePlayer::AddAutoBuyData(const char *str) m_autoBuyString[ len ] = ' '; Q_strncat(m_autoBuyString, str, MAX_AUTOBUY_LENGTH - len); - } -} - -/* <15af66> ../cstrike/dlls/player.cpp:10478 */ -void CBasePlayer::InitRebuyData(const char *str) + } +} + +/* <15af66> ../cstrike/dlls/player.cpp:10478 */ +void CBasePlayer::InitRebuyData(const char *str) { if (!str || Q_strlen(str) > MAX_REBUY_LENGTH) { @@ -6261,14 +6634,14 @@ void CBasePlayer::InitRebuyData(const char *str) m_rebuyString = new char[ Q_strlen(str) + 1 ]; Q_strcpy(m_rebuyString, str); - m_rebuyString[ Q_strlen(str) ] = '\0'; -} - -/* <15be4f> ../cstrike/dlls/player.cpp:10500 */ -NOBODY void CBasePlayer::AutoBuy(void) -{ - const int d = sizeof(g_SentBanMasks); - const char *c = NULL; + m_rebuyString[ Q_strlen(str) ] = '\0'; +} + +/* <15be4f> ../cstrike/dlls/player.cpp:10500 */ +NOBODY void CBasePlayer::AutoBuy(void) +{ + const int d = sizeof(g_SentBanMasks); + const char *c = NULL; bool boughtPrimary = false; bool boughtSecondary = false; char prioritizedString[ MAX_AUTOBUY_LENGTH ]; @@ -6309,217 +6682,217 @@ NOBODY void CBasePlayer::AutoBuy(void) ParseAutoBuyString(prioritizedString, boughtPrimary, boughtSecondary); } - ParseAutoBuyString(m_autoBuyString, boughtPrimary, boughtSecondary); - + ParseAutoBuyString(m_autoBuyString, boughtPrimary, boughtSecondary); + c = PickFlashKillWeaponString(); if (c != NULL) { ParseAutoBuyString(c, boughtPrimary, boughtSecondary); - } - + } + if (TheTutor) - TheTutor->OnEvent( EVENT_PLAYER_LEFT_BUY_ZONE ); -} - -/* <14ea4e> ../cstrike/dlls/player.cpp:10556 */ -NOXREF bool IsPrimaryWeaponClass(int classId) -{ - return (classId >= WEAPONCLASS_SUBMACHINEGUN && classId <= WEAPONCLASS_SNIPERRIFLE); -} - -/* <15afbe> ../cstrike/dlls/player.cpp:10571 */ -NOXREF bool IsPrimaryWeaponId(int id) -{ - int classId = WEAPONCLASS_NONE; - const char *alias = WeaponIDToAlias( id ); - - if (alias) - { - classId = AliasToWeaponClass(alias); - } - - return IsPrimaryWeaponClass(classId); -} - -/* <14ea6f> ../cstrike/dlls/player.cpp:10583 */ -NOXREF bool IsSecondaryWeaponClass(int classId) -{ - return (classId == WEAPONCLASS_PISTOL); -} - -/* <15b059> ../cstrike/dlls/player.cpp:10588 */ -NOXREF bool IsSecondaryWeaponId(int id) -{ - int classId = WEAPONCLASS_NONE; - const char *alias = WeaponIDToAlias( id ); - - if (alias) - { - classId = AliasToWeaponClass(alias); - } - - return IsSecondaryWeaponClass(classId); -} - -/* <15b0f1> ../cstrike/dlls/player.cpp:10600 */ -NOXREF const char *GetWeaponAliasFromName(const char *weaponName) -{ - UNTESTED - - if (!Q_strncmp(weaponName, "weapon_", 7)) - weaponName += 7; - - return weaponName; -} - -/* <15b133> ../cstrike/dlls/player.cpp:10607 */ -NOXREF bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId) -{ - if (pWeapon == NULL) - return false; - - const char *weaponName = GetWeaponAliasFromName( pWeapon->pszName() ); - - if (id && AliasToWeaponID( weaponName ) == id) - return true; - - if (classId && AliasToWeaponClass( weaponName ) == classId) - return true; - - return false; -} - -/* <15b1eb> ../cstrike/dlls/player.cpp:10623 */ -NOBODY const char *CBasePlayer::PickPrimaryCareerTaskWeapon(void) -{ -// { -// intconst BufLen; // 10625 -// char buf; // 10626 -// class CBasePlayerWeapon *primary; // 10632 -// class vector > taskVector; // 10634 -// CareerTaskListIt it; // 10635 -// vector(vector > *const this); // 10634 -// { -// class CCareerTask *pTask; // 10638 -// push_back(vector > *const this, -// const value_type &__x); // 10656 -// IsPrimaryWeaponId(int id); // 10644 -// CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, -// int id, -// int classId); // 10647 -// IsPrimaryWeaponId(int id); // 10649 -// GetBuyStringForWeaponClass(int weaponClass); // 10652 -// } -// operator++(_List_iterator *const this); // 10636 -// { -// int taskNum; // 10664 -// class CCareerTask *temp; // 10666 -// operator[](vector > *const this, -// size_type __n); // 10667 -// } -// { -// int i; // 10673 -// { -// class CCareerTask *pTask; // 10675 -// IsPrimaryWeaponId(int id); // 10676 -// GetBuyStringForWeaponClass(int weaponClass); // 10682 -// } -// size(const class vector > *const this); // 10673 -// } -// ~vector(vector > *const this, -// intconst __in_chrg); // 10634 -// } -} - -/* <15b5d7> ../cstrike/dlls/player.cpp:10690 */ -NOBODY const char *CBasePlayer::PickSecondaryCareerTaskWeapon(void) -{ -// { -// intconst BufLen; // 10692 -// char buf; // 10693 -// class CBasePlayerWeapon *secondary; // 10699 -// class vector > taskVector; // 10701 -// CareerTaskListIt it; // 10702 -// vector(vector > *const this); // 10701 -// { -// class CCareerTask *pTask; // 10705 -// IsSecondaryWeaponId(int id); // 10711 -// CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, -// int id, -// int classId); // 10714 -// push_back(vector > *const this, -// const value_type &__x); // 10723 -// IsSecondaryWeaponId(int id); // 10716 -// GetBuyStringForWeaponClass(int weaponClass); // 10719 -// } -// operator++(_List_iterator *const this); // 10703 -// { -// int taskNum; // 10731 -// class CCareerTask *temp; // 10733 -// operator[](vector > *const this, -// size_type __n); // 10734 -// } -// { -// int i; // 10740 -// { -// class CCareerTask *pTask; // 10742 -// IsSecondaryWeaponId(int id); // 10743 -// } -// size(const class vector > *const this); // 10740 -// } -// ~vector(vector > *const this, -// intconst __in_chrg); // 10701 -// } -} - -/* <15b9ea> ../cstrike/dlls/player.cpp:10759 */ -NOXREF const char *CBasePlayer::PickFlashKillWeaponString(void) -{ - bool foundOne = false; - - for (CareerTaskListIt it = TheCareerTasks->GetTasks()->begin(); it != TheCareerTasks->GetTasks()->end(); ++it) - { - CCareerTask *pTask = (*it); - - if (!pTask->IsComplete() && !Q_strcmp(pTask->GetTaskName(), "killblind")) - { - foundOne = true; - break; - } - } - - if (foundOne) - return "flash flash"; - - return NULL; -} - -/* <15baa1> ../cstrike/dlls/player.cpp:10787 */ -NOXREF const char *CBasePlayer::PickGrenadeKillWeaponString(void) -{ - bool foundOne = false; - - for (CareerTaskListIt it = TheCareerTasks->GetTasks()->begin(); it != TheCareerTasks->GetTasks()->end(); ++it) - { - CCareerTask *pTask = (*it); - - if (!pTask->IsComplete() && pTask->GetWeaponId() == WEAPON_HEGRENADE) - { - foundOne = true; - break; - } - } - - if (foundOne) - return "hegren"; - - return NULL; -} - -/* <15bb0c> ../cstrike/dlls/player.cpp:10816 */ -void CBasePlayer::PrioritizeAutoBuyString(char *autobuyString, const char *priorityString) -{ + TheTutor->OnEvent( EVENT_PLAYER_LEFT_BUY_ZONE ); +} + +/* <14ea4e> ../cstrike/dlls/player.cpp:10556 */ +NOXREF bool IsPrimaryWeaponClass(int classId) +{ + return (classId >= WEAPONCLASS_SUBMACHINEGUN && classId <= WEAPONCLASS_SNIPERRIFLE); +} + +/* <15afbe> ../cstrike/dlls/player.cpp:10571 */ +NOXREF bool IsPrimaryWeaponId(int id) +{ + int classId = WEAPONCLASS_NONE; + const char *alias = WeaponIDToAlias( id ); + + if (alias) + { + classId = AliasToWeaponClass(alias); + } + + return IsPrimaryWeaponClass(classId); +} + +/* <14ea6f> ../cstrike/dlls/player.cpp:10583 */ +NOXREF bool IsSecondaryWeaponClass(int classId) +{ + return (classId == WEAPONCLASS_PISTOL); +} + +/* <15b059> ../cstrike/dlls/player.cpp:10588 */ +NOXREF bool IsSecondaryWeaponId(int id) +{ + int classId = WEAPONCLASS_NONE; + const char *alias = WeaponIDToAlias( id ); + + if (alias) + { + classId = AliasToWeaponClass(alias); + } + + return IsSecondaryWeaponClass(classId); +} + +/* <15b0f1> ../cstrike/dlls/player.cpp:10600 */ +NOXREF const char *GetWeaponAliasFromName(const char *weaponName) +{ + UNTESTED + + if (!Q_strncmp(weaponName, "weapon_", 7)) + weaponName += 7; + + return weaponName; +} + +/* <15b133> ../cstrike/dlls/player.cpp:10607 */ +NOXREF bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId) +{ + if (pWeapon == NULL) + return false; + + const char *weaponName = GetWeaponAliasFromName( pWeapon->pszName() ); + + if (id && AliasToWeaponID( weaponName ) == id) + return true; + + if (classId && AliasToWeaponClass( weaponName ) == classId) + return true; + + return false; +} + +/* <15b1eb> ../cstrike/dlls/player.cpp:10623 */ +NOBODY const char *CBasePlayer::PickPrimaryCareerTaskWeapon(void) +{ +// { +// intconst BufLen; // 10625 +// char buf; // 10626 +// class CBasePlayerWeapon *primary; // 10632 +// class vector > taskVector; // 10634 +// CareerTaskListIt it; // 10635 +// vector(vector > *const this); // 10634 +// { +// class CCareerTask *pTask; // 10638 +// push_back(vector > *const this, +// const value_type &__x); // 10656 +// IsPrimaryWeaponId(int id); // 10644 +// CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, +// int id, +// int classId); // 10647 +// IsPrimaryWeaponId(int id); // 10649 +// GetBuyStringForWeaponClass(int weaponClass); // 10652 +// } +// operator++(_List_iterator *const this); // 10636 +// { +// int taskNum; // 10664 +// class CCareerTask *temp; // 10666 +// operator[](vector > *const this, +// size_type __n); // 10667 +// } +// { +// int i; // 10673 +// { +// class CCareerTask *pTask; // 10675 +// IsPrimaryWeaponId(int id); // 10676 +// GetBuyStringForWeaponClass(int weaponClass); // 10682 +// } +// size(const class vector > *const this); // 10673 +// } +// ~vector(vector > *const this, +// intconst __in_chrg); // 10634 +// } +} + +/* <15b5d7> ../cstrike/dlls/player.cpp:10690 */ +NOBODY const char *CBasePlayer::PickSecondaryCareerTaskWeapon(void) +{ +// { +// intconst BufLen; // 10692 +// char buf; // 10693 +// class CBasePlayerWeapon *secondary; // 10699 +// class vector > taskVector; // 10701 +// CareerTaskListIt it; // 10702 +// vector(vector > *const this); // 10701 +// { +// class CCareerTask *pTask; // 10705 +// IsSecondaryWeaponId(int id); // 10711 +// CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, +// int id, +// int classId); // 10714 +// push_back(vector > *const this, +// const value_type &__x); // 10723 +// IsSecondaryWeaponId(int id); // 10716 +// GetBuyStringForWeaponClass(int weaponClass); // 10719 +// } +// operator++(_List_iterator *const this); // 10703 +// { +// int taskNum; // 10731 +// class CCareerTask *temp; // 10733 +// operator[](vector > *const this, +// size_type __n); // 10734 +// } +// { +// int i; // 10740 +// { +// class CCareerTask *pTask; // 10742 +// IsSecondaryWeaponId(int id); // 10743 +// } +// size(const class vector > *const this); // 10740 +// } +// ~vector(vector > *const this, +// intconst __in_chrg); // 10701 +// } +} + +/* <15b9ea> ../cstrike/dlls/player.cpp:10759 */ +NOXREF const char *CBasePlayer::PickFlashKillWeaponString(void) +{ + bool foundOne = false; + + for (CareerTaskListIt it = TheCareerTasks->GetTasks()->begin(); it != TheCareerTasks->GetTasks()->end(); ++it) + { + CCareerTask *pTask = (*it); + + if (!pTask->IsComplete() && !Q_strcmp(pTask->GetTaskName(), "killblind")) + { + foundOne = true; + break; + } + } + + if (foundOne) + return "flash flash"; + + return NULL; +} + +/* <15baa1> ../cstrike/dlls/player.cpp:10787 */ +NOXREF const char *CBasePlayer::PickGrenadeKillWeaponString(void) +{ + bool foundOne = false; + + for (CareerTaskListIt it = TheCareerTasks->GetTasks()->begin(); it != TheCareerTasks->GetTasks()->end(); ++it) + { + CCareerTask *pTask = (*it); + + if (!pTask->IsComplete() && pTask->GetWeaponId() == WEAPON_HEGRENADE) + { + foundOne = true; + break; + } + } + + if (foundOne) + return "hegren"; + + return NULL; +} + +/* <15bb0c> ../cstrike/dlls/player.cpp:10816 */ +void CBasePlayer::PrioritizeAutoBuyString(char *autobuyString, const char *priorityString) +{ char newString[ MAX_AUTOBUY_LENGTH ]; int newStringPos = 0; char priorityToken[32]; @@ -6581,12 +6954,12 @@ void CBasePlayer::PrioritizeAutoBuyString(char *autobuyString, const char *prior } newString[ newStringPos ] = 0; - Q_sprintf(autobuyString, "%s", newString); -} - -/* <15bcd5> ../cstrike/dlls/player.cpp:10899 */ -void CBasePlayer::ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary) -{ + Q_sprintf(autobuyString, "%s", newString); +} + +/* <15bcd5> ../cstrike/dlls/player.cpp:10899 */ +void CBasePlayer::ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary) +{ char command[32]; const char *c = string; @@ -6630,12 +7003,12 @@ void CBasePlayer::ParseAutoBuyString(const char *string, bool &boughtPrimary, bo ClientCommand(commandInfo->m_command); PostAutoBuyCommandProcessing(commandInfo, boughtPrimary, boughtSecondary); } - } -} - -/* <15bb6b> ../cstrike/dlls/player.cpp:10957 */ -NOXREF bool CBasePlayer::ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary) -{ + } +} + +/* <15bb6b> ../cstrike/dlls/player.cpp:10957 */ +NOXREF bool CBasePlayer::ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary) +{ if (!commandInfo) return false; @@ -6645,12 +7018,12 @@ NOXREF bool CBasePlayer::ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandI if (boughtSecondary && (commandInfo->m_class & AUTOBUYCLASS_SECONDARY) != 0 && !(commandInfo->m_class & AUTOBUYCLASS_AMMO)) return false; - return true; -} - -/* <15bbfa> ../cstrike/dlls/player.cpp:10978 */ -NOXREF AutoBuyInfoStruct *CBasePlayer::GetAutoBuyCommandInfo(const char *command) -{ + return true; +} + +/* <15bbfa> ../cstrike/dlls/player.cpp:10978 */ +NOXREF AutoBuyInfoStruct *CBasePlayer::GetAutoBuyCommandInfo(const char *command) +{ int i = 0; AutoBuyInfoStruct *ret = NULL; AutoBuyInfoStruct *temp = NULL; @@ -6668,15 +7041,15 @@ NOXREF AutoBuyInfoStruct *CBasePlayer::GetAutoBuyCommandInfo(const char *command i++; } - return ret; -} - -/* <15bc49> ../cstrike/dlls/player.cpp:11000 */ -void CBasePlayer::PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary) -{ + return ret; +} + +/* <15bc49> ../cstrike/dlls/player.cpp:11000 */ +void CBasePlayer::PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary) +{ CBasePlayerWeapon *primary = (CBasePlayerWeapon *)m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; - CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)m_rgpPlayerItems[ PISTOL_SLOT ]; - + CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)m_rgpPlayerItems[ PISTOL_SLOT ]; + if (!commandInfo) return; @@ -6687,14 +7060,14 @@ void CBasePlayer::PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, b boughtPrimary = true; else if (secondary != NULL && !Q_stricmp(STRING(secondary->pev->classname), commandInfo->m_classname)) - boughtSecondary = true; -} - -/* <15c0b4> ../cstrike/dlls/player.cpp:11027 */ -void CBasePlayer::BuildRebuyStruct(void) -{ - int iAmmoIndex; - + boughtSecondary = true; +} + +/* <15c0b4> ../cstrike/dlls/player.cpp:11027 */ +void CBasePlayer::BuildRebuyStruct(void) +{ + int iAmmoIndex; + if (m_bIsInRebuy) return; @@ -6750,16 +7123,16 @@ void CBasePlayer::BuildRebuyStruct(void) m_rebuyStruct.m_defuser = m_bHasDefuser; m_rebuyStruct.m_nightVision = m_bHasNightVision; - m_rebuyStruct.m_armor = m_iKevlar; -} - -/* <15c37d> ../cstrike/dlls/player.cpp:11134 */ -void CBasePlayer::Rebuy(void) -{ - char *fileData = m_rebuyString; - char *token; - - m_bIsInRebuy = true; + m_rebuyStruct.m_armor = m_iKevlar; +} + +/* <15c37d> ../cstrike/dlls/player.cpp:11134 */ +void CBasePlayer::Rebuy(void) +{ + char *fileData = m_rebuyString; + char *token; + + m_bIsInRebuy = true; while (true) { @@ -6794,38 +7167,38 @@ void CBasePlayer::Rebuy(void) m_bIsInRebuy = false; if (TheTutor) - TheTutor->OnEvent(EVENT_PLAYER_LEFT_BUY_ZONE); -} - -/* <15c96a> ../cstrike/dlls/player.cpp:11200 */ -NOXREF void CBasePlayer::RebuyPrimaryWeapon(void) -{ - if (!m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]) - { + TheTutor->OnEvent(EVENT_PLAYER_LEFT_BUY_ZONE); +} + +/* <15c96a> ../cstrike/dlls/player.cpp:11200 */ +NOXREF void CBasePlayer::RebuyPrimaryWeapon(void) +{ + if (!m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]) + { if (m_rebuyStruct.m_primaryWeapon) { const char *alias = WeaponIDToAlias(m_rebuyStruct.m_primaryWeapon); if (alias != NULL) ClientCommand(alias); - } - } -} - -/* <15c9e4> ../cstrike/dlls/player.cpp:11217 */ -NOXREF void CBasePlayer::RebuyPrimaryAmmo(void) -{ + } + } +} + +/* <15c9e4> ../cstrike/dlls/player.cpp:11217 */ +NOXREF void CBasePlayer::RebuyPrimaryAmmo(void) +{ CBasePlayerWeapon *primary = (CBasePlayerWeapon *)m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ]; if (primary != NULL) { if (m_rebuyStruct.m_primaryAmmo > m_rgAmmo[ primary->m_iPrimaryAmmoType ]) - ClientCommand("primammo"); - } -} - -/* <15ca68> ../cstrike/dlls/player.cpp:11233 */ -NOXREF void CBasePlayer::RebuySecondaryWeapon(void) + ClientCommand("primammo"); + } +} + +/* <15ca68> ../cstrike/dlls/player.cpp:11233 */ +NOXREF void CBasePlayer::RebuySecondaryWeapon(void) { if (m_rebuyStruct.m_secondaryWeapon) { @@ -6833,24 +7206,24 @@ NOXREF void CBasePlayer::RebuySecondaryWeapon(void) if (alias != NULL) ClientCommand(alias); - } -} - -/* <15cae2> ../cstrike/dlls/player.cpp:11245 */ -NOXREF void CBasePlayer::RebuySecondaryAmmo(void) -{ + } +} + +/* <15cae2> ../cstrike/dlls/player.cpp:11245 */ +NOXREF void CBasePlayer::RebuySecondaryAmmo(void) +{ CBasePlayerWeapon *secondary = (CBasePlayerWeapon *)m_rgpPlayerItems[ PISTOL_SLOT ]; if (secondary) { if (m_rebuyStruct.m_secondaryAmmo > m_rgAmmo[ secondary->m_iPrimaryAmmoType ]) ClientCommand("secammo"); - } -} - -/* <15cb66> ../cstrike/dlls/player.cpp:11259 */ -NOXREF void CBasePlayer::RebuyHEGrenade(void) -{ + } +} + +/* <15cb66> ../cstrike/dlls/player.cpp:11259 */ +NOXREF void CBasePlayer::RebuyHEGrenade(void) +{ int iAmmoIndex = GetAmmoIndex("HEGrenade"); if (iAmmoIndex == -1) @@ -6859,12 +7232,12 @@ NOXREF void CBasePlayer::RebuyHEGrenade(void) int numToBuy = m_rebuyStruct.m_heGrenade - m_rgAmmo[ iAmmoIndex ]; for (int i = 0; i < numToBuy; i++) - ClientCommand("hegren"); -} - -/* <15cc3f> ../cstrike/dlls/player.cpp:11279 */ -NOXREF void CBasePlayer::RebuyFlashbang(void) -{ + ClientCommand("hegren"); +} + +/* <15cc3f> ../cstrike/dlls/player.cpp:11279 */ +NOXREF void CBasePlayer::RebuyFlashbang(void) +{ int iAmmoIndex = GetAmmoIndex("Flashbang"); if (iAmmoIndex == -1) @@ -6873,12 +7246,12 @@ NOXREF void CBasePlayer::RebuyFlashbang(void) int numToBuy = m_rebuyStruct.m_flashbang - m_rgAmmo[ iAmmoIndex ]; for (int i = 0; i < numToBuy; i++) - ClientCommand("flash"); -} - -/* <15cd18> ../cstrike/dlls/player.cpp:11299 */ -NOXREF void CBasePlayer::RebuySmokeGrenade(void) -{ + ClientCommand("flash"); +} + +/* <15cd18> ../cstrike/dlls/player.cpp:11299 */ +NOXREF void CBasePlayer::RebuySmokeGrenade(void) +{ int iAmmoIndex = GetAmmoIndex("SmokeGrenade"); if (iAmmoIndex == -1) @@ -6887,32 +7260,32 @@ NOXREF void CBasePlayer::RebuySmokeGrenade(void) int numToBuy = m_rebuyStruct.m_smokeGrenade - m_rgAmmo[ iAmmoIndex ]; for (int i = 0; i < numToBuy; i++) - ClientCommand("sgren"); -} - -/* <15cdf1> ../cstrike/dlls/player.cpp:11319 */ -void CBasePlayer::RebuyDefuser(void) -{ + ClientCommand("sgren"); +} + +/* <15cdf1> ../cstrike/dlls/player.cpp:11319 */ +void CBasePlayer::RebuyDefuser(void) +{ if (m_rebuyStruct.m_defuser) { if (!m_bHasDefuser) ClientCommand("defuser"); - } -} - -/* <15ce59> ../cstrike/dlls/player.cpp:11330 */ -void CBasePlayer::RebuyNightVision(void) -{ + } +} + +/* <15ce59> ../cstrike/dlls/player.cpp:11330 */ +void CBasePlayer::RebuyNightVision(void) +{ if (m_rebuyStruct.m_nightVision) { if (!m_bHasNightVision) ClientCommand("nvgs"); - } -} - -/* <15cec1> ../cstrike/dlls/player.cpp:11341 */ -void CBasePlayer::RebuyArmor(void) -{ + } +} + +/* <15cec1> ../cstrike/dlls/player.cpp:11341 */ +void CBasePlayer::RebuyArmor(void) +{ if (m_rebuyStruct.m_armor) { if (m_rebuyStruct.m_armor > m_iKevlar) @@ -6922,24 +7295,24 @@ void CBasePlayer::RebuyArmor(void) else ClientCommand("vesthelm"); } - } -} - -/* <15cf7c> ../cstrike/dlls/player.cpp:11366 */ -bool CBasePlayer::IsObservingPlayer(CBasePlayer *pPlayer) -{ + } +} + +/* <15cf7c> ../cstrike/dlls/player.cpp:11366 */ +bool CBasePlayer::IsObservingPlayer(CBasePlayer *pPlayer) +{ if (!pPlayer || pev->flags == FL_DORMANT) return false; if (FNullEnt(pPlayer)) return false; - return (IsObserver() == OBS_IN_EYE && pev->iuser2 == pPlayer->entindex()) != 0; -} - -/* <15d049> ../cstrike/dlls/player.cpp:11380 */ -void CBasePlayer::UpdateLocation(bool forceUpdate) -{ + return (IsObserver() == OBS_IN_EYE && pev->iuser2 == pPlayer->entindex()) != 0; +} + +/* <15d049> ../cstrike/dlls/player.cpp:11380 */ +void CBasePlayer::UpdateLocation(bool forceUpdate) +{ if (!forceUpdate && m_flLastUpdateTime >= gpGlobals->time + 2) return; @@ -6989,204 +7362,204 @@ void CBasePlayer::UpdateLocation(bool forceUpdate) WRITE_STRING(""); MESSAGE_END(); } - } -} - -#ifdef HOOK_GAMEDLL - -void CBasePlayer::Spawn(void) -{ - Spawn_(); -} - -void CBasePlayer::Precache(void) -{ - Precache_(); -} - -int CBasePlayer::Save(CSave &save) -{ - return Save_(save); -} - -int CBasePlayer::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -int CBasePlayer::Classify(void) -{ - return Classify_(); -} - -void CBasePlayer::TraceAttack(entvars_t *pevAttacker,float flDamage,Vector vecDir,TraceResult *ptr,int bitsDamageType) -{ - TraceAttack_(pevAttacker,flDamage,vecDir,ptr,bitsDamageType); -} - -int CBasePlayer::TakeDamage(entvars_t *pevInflictor,entvars_t *pevAttacker,float flDamage,int bitsDamageType) -{ - return TakeDamage_(pevInflictor,pevAttacker,flDamage,bitsDamageType); -} - -int CBasePlayer::TakeHealth(float flHealth,int bitsDamageType) -{ - return TakeHealth_(flHealth,bitsDamageType); -} - -void CBasePlayer::Killed(entvars_t *pevAttacker,int iGib) -{ - Killed_(pevAttacker,iGib); -} - -void CBasePlayer::AddPoints(int score,BOOL bAllowNegativeScore) -{ - AddPoints_(score,bAllowNegativeScore); -} - -void CBasePlayer::AddPointsToTeam(int score,BOOL bAllowNegativeScore) -{ - AddPointsToTeam_(score,bAllowNegativeScore); -} - -BOOL CBasePlayer::AddPlayerItem(CBasePlayerItem *pItem) -{ - return AddPlayerItem_(pItem); -} - -BOOL CBasePlayer::RemovePlayerItem(CBasePlayerItem *pItem) -{ - return RemovePlayerItem_(pItem); -} - -int CBasePlayer::GiveAmmo(int iAmount,char *szName,int iMax) -{ - return GiveAmmo_(iAmount,szName,iMax); -} - -const char *CBasePlayer::TeamID(void) -{ - return TeamID_(); -} - -BOOL CBasePlayer::FBecomeProne(void) -{ - return FBecomeProne_(); -} - -int CBasePlayer::Illumination(void) -{ - return Illumination_(); -} - -void CBasePlayer::ResetMaxSpeed(void) -{ - ResetMaxSpeed_(); -} - -void CBasePlayer::Jump(void) -{ - Jump_(); -} - -void CBasePlayer::Duck(void) -{ - Duck_(); -} - -void CBasePlayer::PreThink(void) -{ - PreThink_(); -} - -void CBasePlayer::PostThink(void) -{ - PostThink_(); -} - -Vector CBasePlayer::GetGunPosition(void) -{ - return GetGunPosition_(); -} - -void CBasePlayer::UpdateClientData(void) -{ - UpdateClientData_(); -} - -void CBasePlayer::ImpulseCommands(void) -{ - ImpulseCommands_(); -} - -void CBasePlayer::RoundRespawn(void) -{ - RoundRespawn_(); -} - -Vector CBasePlayer::GetAutoaimVector(float flDelta) -{ - return GetAutoaimVector_(flDelta); -} - -void CBasePlayer::Blind(float flUntilTime,float flHoldTime,float flFadeTime,int iAlpha) -{ - Blind_(flUntilTime,flHoldTime,flFadeTime,iAlpha); -} - -void CStripWeapons::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CRevertSaved::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CRevertSaved::Save(CSave &save) -{ - return Save_(save); -} - -int CRevertSaved::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CRevertSaved::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - -void CDeadHEV::Spawn(void) -{ - Spawn_(); -} - -void CDeadHEV::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CDeadHEV::Classify(void) -{ - return Classify_(); -} - -void CSprayCan::Think(void) -{ - Think_(); -} - -void CInfoIntermission::Spawn(void) -{ - Spawn_(); -} - -void CInfoIntermission::Think(void) -{ - Think_(); -} - -#endif // HOOK_GAMEDLL + } +} + +#ifdef HOOK_GAMEDLL + +void CBasePlayer::Spawn(void) +{ + Spawn_(); +} + +void CBasePlayer::Precache(void) +{ + Precache_(); +} + +int CBasePlayer::Save(CSave &save) +{ + return Save_(save); +} + +int CBasePlayer::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +int CBasePlayer::Classify(void) +{ + return Classify_(); +} + +void CBasePlayer::TraceAttack(entvars_t *pevAttacker,float flDamage,Vector vecDir,TraceResult *ptr,int bitsDamageType) +{ + TraceAttack_(pevAttacker,flDamage,vecDir,ptr,bitsDamageType); +} + +int CBasePlayer::TakeDamage(entvars_t *pevInflictor,entvars_t *pevAttacker,float flDamage,int bitsDamageType) +{ + return TakeDamage_(pevInflictor,pevAttacker,flDamage,bitsDamageType); +} + +int CBasePlayer::TakeHealth(float flHealth,int bitsDamageType) +{ + return TakeHealth_(flHealth,bitsDamageType); +} + +void CBasePlayer::Killed(entvars_t *pevAttacker,int iGib) +{ + Killed_(pevAttacker,iGib); +} + +void CBasePlayer::AddPoints(int score,BOOL bAllowNegativeScore) +{ + AddPoints_(score,bAllowNegativeScore); +} + +void CBasePlayer::AddPointsToTeam(int score,BOOL bAllowNegativeScore) +{ + AddPointsToTeam_(score,bAllowNegativeScore); +} + +BOOL CBasePlayer::AddPlayerItem(CBasePlayerItem *pItem) +{ + return AddPlayerItem_(pItem); +} + +BOOL CBasePlayer::RemovePlayerItem(CBasePlayerItem *pItem) +{ + return RemovePlayerItem_(pItem); +} + +int CBasePlayer::GiveAmmo(int iAmount,char *szName,int iMax) +{ + return GiveAmmo_(iAmount,szName,iMax); +} + +const char *CBasePlayer::TeamID(void) +{ + return TeamID_(); +} + +BOOL CBasePlayer::FBecomeProne(void) +{ + return FBecomeProne_(); +} + +int CBasePlayer::Illumination(void) +{ + return Illumination_(); +} + +void CBasePlayer::ResetMaxSpeed(void) +{ + ResetMaxSpeed_(); +} + +void CBasePlayer::Jump(void) +{ + Jump_(); +} + +void CBasePlayer::Duck(void) +{ + Duck_(); +} + +void CBasePlayer::PreThink(void) +{ + PreThink_(); +} + +void CBasePlayer::PostThink(void) +{ + PostThink_(); +} + +Vector CBasePlayer::GetGunPosition(void) +{ + return GetGunPosition_(); +} + +void CBasePlayer::UpdateClientData(void) +{ + UpdateClientData_(); +} + +void CBasePlayer::ImpulseCommands(void) +{ + ImpulseCommands_(); +} + +void CBasePlayer::RoundRespawn(void) +{ + RoundRespawn_(); +} + +Vector CBasePlayer::GetAutoaimVector(float flDelta) +{ + return GetAutoaimVector_(flDelta); +} + +void CBasePlayer::Blind(float flUntilTime,float flHoldTime,float flFadeTime,int iAlpha) +{ + Blind_(flUntilTime,flHoldTime,flFadeTime,iAlpha); +} + +void CStripWeapons::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CRevertSaved::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CRevertSaved::Save(CSave &save) +{ + return Save_(save); +} + +int CRevertSaved::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CRevertSaved::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + +void CDeadHEV::Spawn(void) +{ + Spawn_(); +} + +void CDeadHEV::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CDeadHEV::Classify(void) +{ + return Classify_(); +} + +void CSprayCan::Think(void) +{ + Think_(); +} + +void CInfoIntermission::Spawn(void) +{ + Spawn_(); +} + +void CInfoIntermission::Think(void) +{ + Think_(); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/player.h b/regamedll/dlls/player.h index 04063603..7f17ebcd 100644 --- a/regamedll/dlls/player.h +++ b/regamedll/dlls/player.h @@ -1,1151 +1,1178 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -* In addition, as a special exception, the author gives permission to -* link the code of this program with the Half-Life Game Engine ("HL -* Engine") and Modified Game Libraries ("MODs") developed by Valve, -* L.L.C ("Valve"). You must obey the GNU General Public License in all -* respects for all of the code used other than the HL Engine and MODs -* from Valve. If you modify this file, you may extend this exception -* to your version of the file, but you are not obligated to do so. If -* you do not wish to do so, delete this exception statement from your -* version. -* -*/ - -#ifndef PLAYER_H -#define PLAYER_H -#ifdef _WIN32 -#pragma once -#endif - -#include "hintmessage.h" -//#include "weapons.h" - -#define MAX_BUFFER_MENU 175//? -#define MAX_BUFFER_MENU_BRIEFING 50 - -#define MAX_PLAYER_NAME_LENGTH 32 -#define MAX_AUTOBUY_LENGTH 256 -#define MAX_REBUY_LENGTH 256 - -#define MAX_RECENT_PATH 20 - -#define PLAYER_FATAL_FALL_SPEED 1100.0f -#define PLAYER_MAX_SAFE_FALL_SPEED 500.0f -#define PLAYER_SEARCH_RADIUS 64.0f - -// damage per unit per second. -#define DAMAGE_FOR_FALL_SPEED 100.0f / (PLAYER_FATAL_FALL_SPEED - PLAYER_MAX_SAFE_FALL_SPEED) -#define PLAYER_MIN_BOUNCE_SPEED 350.0f - -// won't punch player's screen/make scrape noise unless player falling at least this fast. -#define PLAYER_FALL_PUNCH_THRESHHOLD 250.0f - -// Money blinks few of times on the freeze period -// NOTE: It works for CZ -#define MONEY_BLINK_AMOUNT 30 - -#define PFLAG_ONLADDER (1<<0) -#define PFLAG_ONSWING (1<<0) -#define PFLAG_ONTRAIN (1<<1) -#define PFLAG_ONBARNACLE (1<<2) -#define PFLAG_DUCKING (1<<3) -#define PFLAG_USING (1<<4) -#define PFLAG_OBSERVER (1<<5) - -#define TRAIN_OFF 0x00 -#define TRAIN_NEUTRAL 0x01 -#define TRAIN_SLOW 0x02 -#define TRAIN_MEDIUM 0x03 -#define TRAIN_FAST 0x04 -#define TRAIN_BACK 0x05 - -#define TRAIN_ACTIVE 0x80 -#define TRAIN_NEW 0xc0 - -#define DHF_ROUND_STARTED (1<<1) -#define DHF_HOSTAGE_SEEN_FAR (1<<2) -#define DHF_HOSTAGE_SEEN_NEAR (1<<3) -#define DHF_HOSTAGE_USED (1<<4) -#define DHF_HOSTAGE_INJURED (1<<5) -#define DHF_HOSTAGE_KILLED (1<<6) -#define DHF_FRIEND_SEEN (1<<7) -#define DHF_ENEMY_SEEN (1<<8) -#define DHF_FRIEND_INJURED (1<<9) -#define DHF_FRIEND_KILLED (1<<10) -#define DHF_ENEMY_KILLED (1<<11) -#define DHF_BOMB_RETRIEVED (1<<12) -#define DHF_AMMO_EXHAUSTED (1<<15) -#define DHF_IN_TARGET_ZONE (1<<16) -#define DHF_IN_RESCUE_ZONE (1<<17) -#define DHF_IN_ESCAPE_ZONE (1<<18) -#define DHF_IN_VIPSAFETY_ZONE (1<<19) -#define DHF_NIGHTVISION (1<<20) -#define DHF_HOSTAGE_CTMOVE (1<<21) -#define DHF_SPEC_DUCK (1<<22) - -#define DHM_ROUND_CLEAR (DHF_ROUND_STARTED | DHF_HOSTAGE_KILLED | DHF_FRIEND_KILLED | DHF_BOMB_RETRIEVED) -#define DHM_CONNECT_CLEAR (DHF_HOSTAGE_SEEN_FAR | DHF_HOSTAGE_SEEN_NEAR | DHF_HOSTAGE_USED | DHF_HOSTAGE_INJURED | DHF_FRIEND_SEEN | DHF_ENEMY_SEEN | DHF_FRIEND_INJURED | DHF_ENEMY_KILLED | DHF_AMMO_EXHAUSTED | DHF_IN_TARGET_ZONE | DHF_IN_RESCUE_ZONE | DHF_IN_ESCAPE_ZONE | DHF_IN_VIPSAFETY_ZONE | DHF_HOSTAGE_CTMOVE | DHF_SPEC_DUCK) - -#define SIGNAL_BUY (1<<0) -#define SIGNAL_BOMB (1<<1) -#define SIGNAL_RESCUE (1<<2) -#define SIGNAL_ESCAPE (1<<3) -#define SIGNAL_VIPSAFETY (1<<4) - -#define IGNOREMSG_NONE 0 -#define IGNOREMSG_ENEMY 1 -#define IGNOREMSG_TEAM 2 - -// max of 4 suit sentences queued up at any time -#define CSUITPLAYLIST 4 - -#define SUIT_GROUP TRUE -#define SUIT_SENTENCE FALSE - -#define SUIT_REPEAT_OK 0 -#define SUIT_NEXT_IN_30SEC 30 -#define SUIT_NEXT_IN_1MIN 60 -#define SUIT_NEXT_IN_5MIN 300 -#define SUIT_NEXT_IN_10MIN 600 -#define SUIT_NEXT_IN_30MIN 1800 -#define SUIT_NEXT_IN_1HOUR 3600 - -#define TEAM_NAME_LENGTH 16 - -#define MAX_ID_RANGE 2048 -#define MAX_SPECTATOR_ID_RANGE 8192 -#define SBAR_STRING_SIZE 128 - -#define SBAR_TARGETTYPE_TEAMMATE 1 -#define SBAR_TARGETTYPE_ENEMY 2 -#define SBAR_TARGETTYPE_HOSTAGE 3 - -#define CHAT_INTERVAL 1.0f -#define CSUITNOREPEAT 32 - -//#define SOUND_FLASHLIGHT_ON "items/flashlight1.wav" -//#define SOUND_FLASHLIGHT_OFF "items/flashlight1.wav" - -typedef enum -{ - PLAYER_IDLE, - PLAYER_WALK, - PLAYER_JUMP, - PLAYER_SUPERJUMP, - PLAYER_DIE, - PLAYER_ATTACK1, - PLAYER_ATTACK2, - PLAYER_FLINCH, - PLAYER_LARGE_FLINCH, - PLAYER_RELOAD, - PLAYER_HOLDBOMB -} PLAYER_ANIM; - -typedef enum -{ - Menu_OFF, - Menu_ChooseTeam, - Menu_IGChooseTeam, - Menu_ChooseAppearance, - Menu_Buy, - Menu_BuyPistol, - Menu_BuyRifle, - Menu_BuyMachineGun, - Menu_BuyShotgun, - Menu_BuySubMachineGun, - Menu_BuyItem, - Menu_Radio1, - Menu_Radio2, - Menu_Radio3, - Menu_ClientBuy -} _Menu; - -typedef enum -{ - UNASSIGNED, - TERRORIST, - CT, - SPECTATOR, -} TeamName; - -typedef enum -{ - MODEL_UNASSIGNED, - MODEL_URBAN, - MODEL_TERROR, - MODEL_LEET, - MODEL_ARCTIC, - MODEL_GSG9, - MODEL_GIGN, - MODEL_SAS, - MODEL_GUERILLA, - MODEL_VIP, - MODEL_MILITIA, - MODEL_SPETSNAZ -} ModelName; - -typedef enum -{ - JOINED, - SHOWLTEXT, - READINGLTEXT, - SHOWTEAMSELECT, - PICKINGTEAM, - GETINTOGAME -} JoinState; - -typedef enum -{ - CMD_SAY = 0, - CMD_SAYTEAM, - CMD_FULLUPDATE, - CMD_VOTE, - CMD_VOTEMAP, - CMD_LISTMAPS, - CMD_LISTPLAYERS, - CMD_NIGHTVISION, - COMMANDS_TO_TRACK, -} TrackCommands; - -typedef struct -{ - int m_primaryWeapon; - int m_primaryAmmo; - int m_secondaryWeapon; - int m_secondaryAmmo; - int m_heGrenade; - int m_flashbang; - int m_smokeGrenade; - int m_defuser; - int m_nightVision; - int m_armor; -} RebuyStruct; - -typedef enum -{ - THROW_NONE, - THROW_FORWARD, - THROW_BACKWARD, - THROW_HITVEL, - THROW_BOMB, - THROW_GRENADE, - THROW_HITVEL_MINUS_AIRVEL -} ThrowDirection; - -enum sbar_data -{ - SBAR_ID_TARGETTYPE = 1, - SBAR_ID_TARGETNAME, - SBAR_ID_TARGETHEALTH, - SBAR_END -}; - -typedef enum -{ - SILENT, - CALM, - INTENSE -} MusicState; - -struct WeaponStruct -{ - int m_type; - int m_price; - int m_side; - int m_slot; - int m_ammoPrice; - -};/* size: 20, cachelines: 1, members: 5 */ - -#ifdef HOOK_GAMEDLL - -#define m_szPoses (*pm_szPoses) -#define g_weaponStruct (*pg_weaponStruct) +/* +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at +* your option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software Foundation, +* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* +* In addition, as a special exception, the author gives permission to +* link the code of this program with the Half-Life Game Engine ("HL +* Engine") and Modified Game Libraries ("MODs") developed by Valve, +* L.L.C ("Valve"). You must obey the GNU General Public License in all +* respects for all of the code used other than the HL Engine and MODs +* from Valve. If you modify this file, you may extend this exception +* to your version of the file, but you are not obligated to do so. If +* you do not wish to do so, delete this exception statement from your +* version. +* +*/ + +#ifndef PLAYER_H +#define PLAYER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "hintmessage.h" +//#include "weapons.h" + +#define MAX_BUFFER_MENU 175//? +#define MAX_BUFFER_MENU_BRIEFING 50 + +#define MAX_PLAYER_NAME_LENGTH 32 +#define MAX_AUTOBUY_LENGTH 256 +#define MAX_REBUY_LENGTH 256 + +#define MAX_RECENT_PATH 20 + +#define SUITUPDATETIME 3.5 +#define SUITFIRSTUPDATETIME 0.1 + +#define PLAYER_FATAL_FALL_SPEED 1100.0f +#define PLAYER_MAX_SAFE_FALL_SPEED 500.0f +#define PLAYER_SEARCH_RADIUS 64.0f + +// damage per unit per second. +#define DAMAGE_FOR_FALL_SPEED 100.0f / (PLAYER_FATAL_FALL_SPEED - PLAYER_MAX_SAFE_FALL_SPEED) +#define PLAYER_MIN_BOUNCE_SPEED 350.0f + +// won't punch player's screen/make scrape noise unless player falling at least this fast. +#define PLAYER_FALL_PUNCH_THRESHHOLD 250.0f + +// Money blinks few of times on the freeze period +// NOTE: It works for CZ +#define MONEY_BLINK_AMOUNT 30 + +#define PFLAG_ONLADDER (1<<0) +#define PFLAG_ONSWING (1<<0) +#define PFLAG_ONTRAIN (1<<1) +#define PFLAG_ONBARNACLE (1<<2) +#define PFLAG_DUCKING (1<<3) +#define PFLAG_USING (1<<4) +#define PFLAG_OBSERVER (1<<5) + +#define TRAIN_OFF 0x00 +#define TRAIN_NEUTRAL 0x01 +#define TRAIN_SLOW 0x02 +#define TRAIN_MEDIUM 0x03 +#define TRAIN_FAST 0x04 +#define TRAIN_BACK 0x05 + +#define TRAIN_ACTIVE 0x80 +#define TRAIN_NEW 0xc0 + +#define DHF_ROUND_STARTED (1<<1) +#define DHF_HOSTAGE_SEEN_FAR (1<<2) +#define DHF_HOSTAGE_SEEN_NEAR (1<<3) +#define DHF_HOSTAGE_USED (1<<4) +#define DHF_HOSTAGE_INJURED (1<<5) +#define DHF_HOSTAGE_KILLED (1<<6) +#define DHF_FRIEND_SEEN (1<<7) +#define DHF_ENEMY_SEEN (1<<8) +#define DHF_FRIEND_INJURED (1<<9) +#define DHF_FRIEND_KILLED (1<<10) +#define DHF_ENEMY_KILLED (1<<11) +#define DHF_BOMB_RETRIEVED (1<<12) +#define DHF_AMMO_EXHAUSTED (1<<15) +#define DHF_IN_TARGET_ZONE (1<<16) +#define DHF_IN_RESCUE_ZONE (1<<17) +#define DHF_IN_ESCAPE_ZONE (1<<18) +#define DHF_IN_VIPSAFETY_ZONE (1<<19) +#define DHF_NIGHTVISION (1<<20) +#define DHF_HOSTAGE_CTMOVE (1<<21) +#define DHF_SPEC_DUCK (1<<22) + +#define DHM_ROUND_CLEAR (DHF_ROUND_STARTED | DHF_HOSTAGE_KILLED | DHF_FRIEND_KILLED | DHF_BOMB_RETRIEVED) +#define DHM_CONNECT_CLEAR (DHF_HOSTAGE_SEEN_FAR | DHF_HOSTAGE_SEEN_NEAR | DHF_HOSTAGE_USED | DHF_HOSTAGE_INJURED | DHF_FRIEND_SEEN | DHF_ENEMY_SEEN | DHF_FRIEND_INJURED | DHF_ENEMY_KILLED | DHF_AMMO_EXHAUSTED | DHF_IN_TARGET_ZONE | DHF_IN_RESCUE_ZONE | DHF_IN_ESCAPE_ZONE | DHF_IN_VIPSAFETY_ZONE | DHF_HOSTAGE_CTMOVE | DHF_SPEC_DUCK) + +#define SIGNAL_BUY (1<<0) +#define SIGNAL_BOMB (1<<1) +#define SIGNAL_RESCUE (1<<2) +#define SIGNAL_ESCAPE (1<<3) +#define SIGNAL_VIPSAFETY (1<<4) + +#define IGNOREMSG_NONE 0 +#define IGNOREMSG_ENEMY 1 +#define IGNOREMSG_TEAM 2 + +// max of 4 suit sentences queued up at any time +#define CSUITPLAYLIST 4 + +#define SUIT_GROUP TRUE +#define SUIT_SENTENCE FALSE + +#define SUIT_REPEAT_OK 0 +#define SUIT_NEXT_IN_30SEC 30 +#define SUIT_NEXT_IN_1MIN 60 +#define SUIT_NEXT_IN_5MIN 300 +#define SUIT_NEXT_IN_10MIN 600 +#define SUIT_NEXT_IN_30MIN 1800 +#define SUIT_NEXT_IN_1HOUR 3600 + +#define TEAM_NAME_LENGTH 16 + +#define MAX_ID_RANGE 2048 +#define MAX_SPECTATOR_ID_RANGE 8192 +#define SBAR_STRING_SIZE 128 + +#define SBAR_TARGETTYPE_TEAMMATE 1 +#define SBAR_TARGETTYPE_ENEMY 2 +#define SBAR_TARGETTYPE_HOSTAGE 3 + +#define CHAT_INTERVAL 1.0f +#define CSUITNOREPEAT 32 + +//#define SOUND_FLASHLIGHT_ON "items/flashlight1.wav" +//#define SOUND_FLASHLIGHT_OFF "items/flashlight1.wav" + +typedef enum +{ + PLAYER_IDLE, + PLAYER_WALK, + PLAYER_JUMP, + PLAYER_SUPERJUMP, + PLAYER_DIE, + PLAYER_ATTACK1, + PLAYER_ATTACK2, + PLAYER_FLINCH, + PLAYER_LARGE_FLINCH, + PLAYER_RELOAD, + PLAYER_HOLDBOMB +} PLAYER_ANIM; + +typedef enum +{ + Menu_OFF, + Menu_ChooseTeam, + Menu_IGChooseTeam, + Menu_ChooseAppearance, + Menu_Buy, + Menu_BuyPistol, + Menu_BuyRifle, + Menu_BuyMachineGun, + Menu_BuyShotgun, + Menu_BuySubMachineGun, + Menu_BuyItem, + Menu_Radio1, + Menu_Radio2, + Menu_Radio3, + Menu_ClientBuy +} _Menu; + +typedef enum +{ + UNASSIGNED, + TERRORIST, + CT, + SPECTATOR, +} TeamName; + +typedef enum +{ + MODEL_UNASSIGNED, + MODEL_URBAN, + MODEL_TERROR, + MODEL_LEET, + MODEL_ARCTIC, + MODEL_GSG9, + MODEL_GIGN, + MODEL_SAS, + MODEL_GUERILLA, + MODEL_VIP, + MODEL_MILITIA, + MODEL_SPETSNAZ +} ModelName; + +typedef enum +{ + JOINED, + SHOWLTEXT, + READINGLTEXT, + SHOWTEAMSELECT, + PICKINGTEAM, + GETINTOGAME +} JoinState; + +typedef enum +{ + CMD_SAY = 0, + CMD_SAYTEAM, + CMD_FULLUPDATE, + CMD_VOTE, + CMD_VOTEMAP, + CMD_LISTMAPS, + CMD_LISTPLAYERS, + CMD_NIGHTVISION, + COMMANDS_TO_TRACK, +} TrackCommands; + +typedef struct +{ + int m_primaryWeapon; + int m_primaryAmmo; + int m_secondaryWeapon; + int m_secondaryAmmo; + int m_heGrenade; + int m_flashbang; + int m_smokeGrenade; + int m_defuser; + int m_nightVision; + int m_armor; +} RebuyStruct; + +typedef enum +{ + THROW_NONE, + THROW_FORWARD, + THROW_BACKWARD, + THROW_HITVEL, + THROW_BOMB, + THROW_GRENADE, + THROW_HITVEL_MINUS_AIRVEL +} ThrowDirection; + +enum sbar_data +{ + SBAR_ID_TARGETTYPE = 1, + SBAR_ID_TARGETNAME, + SBAR_ID_TARGETHEALTH, + SBAR_END +}; + +typedef enum +{ + SILENT, + CALM, + INTENSE +} MusicState; + +struct WeaponStruct +{ + int m_type; + int m_price; + int m_side; + int m_slot; + int m_ammoPrice; + +};/* size: 20, cachelines: 1, members: 5 */ + +#ifdef HOOK_GAMEDLL + +#define m_szPoses (*pm_szPoses) +#define g_weaponStruct (*pg_weaponStruct) #define gEvilImpulse101 (*pgEvilImpulse101) #define g_szMapBriefingText (*pg_szMapBriefingText) -#define gInitHUD (*pgInitHUD) -#define sv_aim (*psv_aim) -#define giPrecacheGrunt (*pgiPrecacheGrunt) -#define gmsgWeapPickup (*pgmsgWeapPickup) -#define gmsgHudText (*pgmsgHudText) -#define gmsgHudTextArgs (*pgmsgHudTextArgs) -#define gmsgShake (*pgmsgShake) -#define gmsgFade (*pgmsgFade) -#define gmsgFlashlight (*pgmsgFlashlight) -//#define gmsgFlashBattery (*pgmsgFlashBattery) -//#define gmsgResetHUD (*pgmsgResetHUD) -//#define gmsgInitHUD (*pgmsgInitHUD) -//#define gmsgViewMode (*pgmsgViewMode) -//#define gmsgShowGameTitle (*pgmsgShowGameTitle) -#define gmsgCurWeapon (*pgmsgCurWeapon) -//#define gmsgHealth (*pgmsgHealth) -//#define gmsgDamage (*pgmsgDamage) -//#define gmsgBattery (*pgmsgBattery) -//#define gmsgTrain (*pgmsgTrain) -#define gmsgLogo (*pgmsgLogo) -#define gmsgWeaponList (*pgmsgWeaponList) -#define gmsgAmmoX (*pgmsgAmmoX) -//#define gmsgDeathMsg (*pgmsgDeathMsg) -#define gmsgScoreAttrib (*pgmsgScoreAttrib) -#define gmsgScoreInfo (*pgmsgScoreInfo) -#define gmsgTeamInfo (*pgmsgTeamInfo) -//#define gmsgTeamScore (*pgmsgTeamScore) -//#define gmsgGameMode (*pgmsgGameMode) -//#define gmsgMOTD (*pgmsgMOTD) -//#define gmsgServerName (*pgmsgServerName) -#define gmsgAmmoPickup (*pgmsgAmmoPickup) -#define gmsgItemPickup (*pgmsgItemPickup) -//#define gmsgHideWeapon (*pgmsgHideWeapon) -#define gmsgSayText (*pgmsgSayText) -#define gmsgTextMsg (*pgmsgTextMsg) -#define gmsgSetFOV (*pgmsgSetFOV) -#define gmsgShowMenu (*pgmsgShowMenu) -#define gmsgSendAudio (*pgmsgSendAudio) -#define gmsgRoundTime (*pgmsgRoundTime) -#define gmsgMoney (*pgmsgMoney) -#define gmsgBlinkAcct (*pgmsgBlinkAcct) -#define gmsgArmorType (*pgmsgArmorType) -#define gmsgStatusValue (*pgmsgStatusValue) -#define gmsgStatusText (*pgmsgStatusText) -#define gmsgStatusIcon (*pgmsgStatusIcon) -#define gmsgBarTime (*pgmsgBarTime) -#define gmsgReloadSound (*pgmsgReloadSound) -#define gmsgCrosshair (*pgmsgCrosshair) -#define gmsgNVGToggle (*pgmsgNVGToggle) -//#define gmsgRadar (*pgmsgRadar) -#define gmsgSpectator (*pgmsgSpectator) -//#define gmsgVGUIMenu (*pgmsgVGUIMenu) -#define gmsgCZCareer (*pgmsgCZCareer) -//#define gmsgCZCareerHUD (*pgmsgCZCareerHUD) -#define gmsgTaskTime (*pgmsgTaskTime) -//#define gmsgTutorText (*pgmsgTutorText) -#define gmsgTutorLine (*pgmsgTutorLine) -//#define gmsgShadowIdx (*pgmsgShadowIdx) -#define gmsgTutorState (*pgmsgTutorState) -#define gmsgTutorClose (*pgmsgTutorClose) -//#define gmsgAllowSpec (*pgmsgAllowSpec) -#define gmsgBombDrop (*pgmsgBombDrop) -//#define gmsgBombPickup (*pgmsgBombPickup) -#define gmsgHostagePos (*pgmsgHostagePos) -//#define gmsgHostageK (*pgmsgHostageK) -#define gmsgGeigerRange (*pgmsgGeigerRange) -#define gmsgSendCorpse (*pgmsgSendCorpse) -//#define gmsgHLTV (*pgmsgHLTV) -//#define gmsgSpecHealth (*pgmsgSpecHealth) -//#define gmsgForceCam (*pgmsgForceCam) -//#define gmsgADStop (*pgmsgADStop) -#define gmsgReceiveW (*pgmsgReceiveW) -#define gmsgScenarioIcon (*pgmsgScenarioIcon) -#define gmsgBotVoice (*pgmsgBotVoice) -#define gmsgBuyClose (*pgmsgBuyClose) -#define gmsgItemStatus (*pgmsgItemStatus) -#define gmsgLocation (*pgmsgLocation) -#define gmsgSpecHealth2 (*pgmsgSpecHealth2) -#define gmsgBarTime2 (*pgmsgBarTime2) -#define gmsgBotProgress (*pgmsgBotProgress) -//#define gmsgBrass (*pgmsgBrass) -//#define gmsgFog (*pgmsgFog) -//#define gmsgShowTimer (*pgmsgShowTimer) - -#endif // HOOK_GAMEDLL - -/* <14efbf> ../cstrike/dlls/player.cpp:9418 */ -class CStripWeapons: public CPointEntity -{ -public: - virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); - -#ifdef HOOK_GAMEDLL - - void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); - -#endif // HOOK_GAMEDLL - -};/* size: 152, cachelines: 3, members: 1 */ - -/* <14f06c> ../cstrike/dlls/player.cpp:9543 */ -class CInfoIntermission: public CPointEntity -{ -public: - virtual void Spawn(void); - virtual void Think(void); - -#ifdef HOOK_GAMEDLL - - void Spawn_(void); - void Think_(void); - -#endif // HOOK_GAMEDLL - -};/* size: 152, cachelines: 3, members: 1 */ - -/* <14ef4d> ../cstrike/dlls/player.cpp:9361 */ -class CDeadHEV: public CBaseMonster -{ -public: - virtual void Spawn(void); - virtual void KeyValue(KeyValueData *pkvd); - virtual int Classify(void); - -#ifdef HOOK_GAMEDLL - - void Spawn_(void); - void KeyValue_(KeyValueData *pkvd); - int Classify_(void); - -#endif // HOOK_GAMEDLL - -public: - - int m_iPose; - static char *m_szPoses[4]; - -};/* size: 408, cachelines: 7, members: 3 */ - -/* <14ee80> ../cstrike/dlls/player.cpp:7001 */ -class CSprayCan: public CBaseEntity -{ -public: - virtual void Think(void); - virtual int ObjectCaps(void) - { - return ObjectCaps_(); - } - -#ifdef HOOK_GAMEDLL - - void Think_(void); - int ObjectCaps_(void) - { - return FCAP_DONT_SAVE; - } - -#endif // HOOK_GAMEDLL - -public: - NOBODY void Spawn(entvars_t *pevOwner); - -};/* size: 152, cachelines: 3, members: 1 */ - -/* <14eea3> ../cstrike/dlls/player.cpp:7057 */ -class CBloodSplat: public CBaseEntity -{ -public: - void Spawn(entvars_t *pevOwner); - void Spray(void); - -};/* size: 152, cachelines: 3, members: 1 */ - -/* <48ed5e> ../cstrike/dlls/player.h:250 */ -class CBasePlayer: public CBaseMonster -{ -public: - enum { MaxLocationLen = 32 }; - - NOBODY virtual void Spawn(void); - NOBODY virtual void Precache(void); - NOBODY virtual int Save(CSave &save); - NOBODY virtual int Restore(CRestore &restore); - NOBODY virtual int ObjectCaps(void) - { - return ObjectCaps_(); - } - virtual int Classify(void); - virtual void TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType); - NOBODY virtual int TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType); - NOBODY virtual int TakeHealth(float flHealth, int bitsDamageType); - NOBODY virtual void Killed(entvars_t *pevAttacker, int iGib); - virtual void AddPoints(int score, BOOL bAllowNegativeScore); - NOBODY virtual void AddPointsToTeam(int score, BOOL bAllowNegativeScore); - virtual BOOL AddPlayerItem(CBasePlayerItem *pItem); - virtual BOOL RemovePlayerItem(CBasePlayerItem *pItem); - virtual int GiveAmmo(int iAmount, char *szName, int iMax); - NOBODY virtual void StartSneaking(void) - { - StartSneaking_(); - } - NOBODY virtual void StopSneaking(void) - { - StopSneaking_(); - } - NOBODY virtual BOOL IsSneaking(void) - { - return IsSneaking_(); - } - NOBODY virtual BOOL IsAlive(void) - { - return IsAlive_(); - } - NOBODY virtual BOOL IsPlayer(void) - { - return IsPlayer_(); - } - NOBODY virtual BOOL IsNetClient(void) - { - return IsNetClient_(); - } - virtual const char *TeamID(void); - virtual BOOL FBecomeProne(void); - NOBODY virtual Vector BodyTarget(const Vector &posSrc) - { - return BodyTarget_(posSrc); - } - virtual int Illumination(void); - NOBODY virtual BOOL ShouldFadeOnDeath(void) - { - return ShouldFadeOnDeath_(); - } - NOBODY virtual void ResetMaxSpeed(void); - NOBODY virtual void Jump(void); - NOBODY virtual void Duck(void); - NOBODY virtual void PreThink(void); - NOBODY virtual void PostThink(void); - NOBODY virtual Vector GetGunPosition(void); - NOBODY virtual BOOL IsBot(void) - { - return IsBot_(); - } - NOBODY virtual void UpdateClientData(void); - NOBODY virtual void ImpulseCommands(void); - virtual void RoundRespawn(void); - virtual Vector GetAutoaimVector(float flDelta); - virtual void Blind(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha); - NOBODY virtual void OnTouchingWeapon(CWeaponBox *pWeapon) - { - OnTouchingWeapon_(pWeapon); - } - -#ifdef HOOK_GAMEDLL - - void Spawn_(void); - void Precache_(void); - int Save_(CSave &save); - int Restore_(CRestore &restore); - int ObjectCaps_(void) - { - return (CBaseMonster::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); - } - int Classify_(void); - void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType); - int TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType); - int TakeHealth_(float flHealth, int bitsDamageType); - void Killed_(entvars_t *pevAttacker, int iGib); - void AddPoints_(int score, BOOL bAllowNegativeScore); - void AddPointsToTeam_(int score, BOOL bAllowNegativeScore); - BOOL AddPlayerItem_(CBasePlayerItem *pItem); - BOOL RemovePlayerItem_(CBasePlayerItem *pItem); - int GiveAmmo_(int iAmount,char *szName,int iMax); - void StartSneaking_(void) - { - m_tSneaking = gpGlobals->time - 1; - } - void StopSneaking_(void) - { - m_tSneaking = gpGlobals->time + 30; - } - BOOL IsSneaking_(void) - { - return m_tSneaking <= gpGlobals->time; - } - BOOL IsAlive_(void) - { - return (pev->deadflag == DEAD_NO && pev->health > 0.0f); - } - BOOL IsPlayer_(void) - { - return (pev->flags & FL_SPECTATOR) != FL_SPECTATOR; - } - BOOL IsNetClient_(void) - { - return TRUE; - } - const char *TeamID_(void); - BOOL FBecomeProne_(void); - Vector BodyTarget_(const Vector &posSrc) - { - return Center() + pev->view_ofs * RANDOM_FLOAT(0.5, 1.1); - } - int Illumination_(void); - BOOL ShouldFadeOnDeath_(void) - { - return FALSE; - } - void ResetMaxSpeed_(void); - void Jump_(void); - void Duck_(void); - void PreThink_(void); - void PostThink_(void); - Vector GetGunPosition_(void); - BOOL IsBot_(void) - { - return FALSE; - } - void UpdateClientData_(void); - void ImpulseCommands_(void); - void RoundRespawn_(void); - Vector GetAutoaimVector_(float flDelta); - void Blind_(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha); - void OnTouchingWeapon_(CWeaponBox *pWeapon) - { - ; - } - -#endif // HOOK_GAMEDLL - -public: - void SpawnClientSideCorpse(void); - void Observer_FindNextPlayer(bool bReverse, const char *name = NULL); - CBaseEntity *Observer_IsValidTarget(int iPlayerIndex, bool bSameTeam); - void Observer_HandleButtons(void); - void Observer_SetMode(int iMode); - void Observer_CheckTarget(void); - void Observer_CheckProperties(void); - int IsObserver(void) - { - return pev->iuser1; - } - NOBODY void PlantC4(void); - void Radio(const char *msg_id, const char *msg_verbose, short pitch = 100, bool showIcon = true); - NOXREF CBasePlayer *GetNextRadioRecipient(CBasePlayer *pStartPlayer); - void SmartRadio(void); - NOXREF void ThrowWeapon(char *pszItemName); - NOXREF void ThrowPrimary(void); - void AddAccount(int amount, bool bTrackChange = true); - NOBODY void Disappear(void); - void MakeVIP(void); - NOBODY bool CanPlayerBuy(bool display); - void SwitchTeam(void); - void TabulateAmmo(void); - void Pain(int m_LastHitGroup, bool HasArmour); - BOOL IsBombGuy(void); - bool IsLookingAtPosition(Vector *pos, float angleTolerance = 20.0f); - NOBODY void Reset(); - void SetScoreboardAttributes(CBasePlayer *destination = NULL); - NOBODY void RenewItems(void); - void PackDeadPlayerItems(void); - void GiveDefaultItems(void); - void RemoveAllItems(BOOL removeSuit); - void SetBombIcon(BOOL bFlash); - void SetProgressBarTime(int time); - void SetProgressBarTime2(int time, float timeElapsed); - void SetPlayerModel(BOOL HasC4); - void SetNewPlayerModel(const char *modelName); - BOOL SwitchWeapon(CBasePlayerItem *pWeapon); - NOXREF void CheckPowerups(entvars_t *pev); - bool CanAffordPrimary(void); - bool CanAffordPrimaryAmmo(void); - bool CanAffordSecondaryAmmo(void); - bool CanAffordArmor(void); - bool CanAffordDefuseKit(void); - bool CanAffordGrenade(void); - bool NeedsPrimaryAmmo(void); - bool NeedsSecondaryAmmo(void); - bool NeedsArmor(void); - bool NeedsDefuseKit(void); - bool NeedsGrenade(void); - BOOL IsOnLadder(void); - BOOL FlashlightIsOn(void); - void FlashlightTurnOn(void); - void FlashlightTurnOff(void); - NOBODY void UpdatePlayerSound(void); - NOXREF void DeathSound(void); - void SetAnimation(PLAYER_ANIM playerAnim); - NOBODY void SetWeaponAnimType(const char *szExtention); - void CheatImpulseCommands(int iImpulse); - NOXREF void StartDeathCam(void); - NOBODY void StartObserver(Vector vecPosition, Vector vecViewAngle); - NOBODY void HandleSignals(void); - void DropPlayerItem(const char *pszItemName); - BOOL HasPlayerItem(CBasePlayerItem *pCheckItem); - BOOL HasNamedPlayerItem(const char *pszItemName); - NOXREF BOOL HasWeapons(void); - NOXREF void SelectPrevItem(int iItem); - NOBODY void SelectNextItem(int iItem); - void SelectLastItem(void); - NOBODY void SelectItem(const char *pstr); - NOXREF void ItemPreFrame(void); - NOXREF void ItemPostFrame(void); - void GiveNamedItem(const char *pszName); - void EnableControl(BOOL fControl); - NOBODY bool HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead = FALSE, BOOL bOverride = FALSE); - void SendAmmoUpdate(void); - NOXREF void SendFOV(int fov); - NOBODY void WaterMove(void); - NOBODY void EXPORT PlayerDeathThink(void); - void PlayerUse(void); - NOBODY void HostageUsed(void); - NOBODY void JoiningThink(void); - NOBODY void RemoveLevelText(void); - void WINAPI_HOOK MenuPrint(const char *msg); - void ResetMenu(void); - void SyncRoundTimer(void); - NOBODY void CheckSuitUpdate(void); - void SetSuitUpdate(char *name = NULL, int fgroup = 0, int iNoRepeatTime = 0); - NOXREF void UpdateGeigerCounter(void); - NOBODY void CheckTimeBasedDamage(void); - NOXREF void BarnacleVictimBitten(entvars_t *pevBarnacle); - NOXREF void BarnacleVictimReleased(void); - static int GetAmmoIndex(const char *psz); - int AmmoInventory(int iAmmoIndex); - NOBODY void ResetAutoaim(void); - Vector AutoaimDeflection(class Vector &vecSrc, float flDist, float flDelta); - NOBODY void ForceClientDllUpdate(void); - void DeathMessage(entvars_t *pevAttacker) { }; - void SetCustomDecalFrames(int); - NOXREF int GetCustomDecalFrames(void); - NOXREF void InitStatusBar(void); - void UpdateStatusBar(void); - void StudioEstimateGait(void); - NOXREF void StudioPlayerBlend(int *pBlend, float *pPitch); - NOXREF void CalculatePitchBlend(void); - void CalculateYawBlend(void); - void StudioProcessGait(void); - NOXREF void SendHostagePos(void); - void SendHostageIcons(void); - NOXREF void ResetStamina(void); - NOXREF BOOL IsArmored(int nHitGroup); - NOXREF BOOL ShouldDoLargeFlinch(int nHitGroup, int nGunType); - void SetPrefsFromUserinfo(char *infobuffer); - void SendWeatherInfo(void); - void UpdateShieldCrosshair(bool); - bool HasShield(void); - bool IsProtectedByShield(void) - { - return HasShield() && m_bShieldDrawn; - } - void RemoveShield(void); - void DropShield(bool); - NOBODY void GiveShield(bool); - bool IsHittingShield(Vector &vecDirection, TraceResult *ptr); - bool IsReloading(void) - { - if (m_pActiveItem && ((CBasePlayerWeapon *)m_pActiveItem)->m_fInReload) - return true; - - return false; - } - NOBODY bool IsBlind(void); - NOBODY bool IsAutoFollowAllowed(void); - NOBODY void InhibitAutoFollow(float); - NOBODY void AllowAutoFollow(void); - void ClearAutoBuyData(void); - void AddAutoBuyData(const char *str); - NOBODY void AutoBuy(void); - NOBODY void ClientCommand(const char *cmd, const char *arg1 = NULL, const char *arg2 = NULL, const char *arg3 = NULL); - void PrioritizeAutoBuyString(char *autobuyString, const char *priorityString); - NOBODY const char *PickPrimaryCareerTaskWeapon(void); - NOBODY const char *PickSecondaryCareerTaskWeapon(void); - NOXREF const char *PickFlashKillWeaponString(void); - NOXREF const char *PickGrenadeKillWeaponString(void); - NOXREF bool ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary); - void PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary); - void ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary); - NOXREF AutoBuyInfoStruct *GetAutoBuyCommandInfo(const char *command); - NOBODY void InitRebuyData(const char *str); - void BuildRebuyStruct(void); - void Rebuy(void); - NOXREF void RebuyPrimaryWeapon(void); - NOXREF void RebuyPrimaryAmmo(void); - NOXREF void RebuySecondaryWeapon(void); - NOXREF void RebuySecondaryAmmo(void); - NOXREF void RebuyHEGrenade(void); - NOXREF void RebuyFlashbang(void); - NOXREF void RebuySmokeGrenade(void); - void RebuyDefuser(void); - void RebuyNightVision(void); - void RebuyArmor(void); - void UpdateLocation(bool forceUpdate); - void SetObserverAutoDirector(bool val) - { - m_bObserverAutoDirector = val; - } - bool IsObservingPlayer(CBasePlayer *pPlayer); - bool CanSwitchObserverModes(void) - { - return m_canSwitchObserverModes; - } - NOBODY void Intense(void) - { - //m_musicState = INTENSE; - //m_intenseTimestamp = gpGlobals->time; - } - -public: - int random_seed; - unsigned short m_usPlayerBleed; - EHANDLE m_hObserverTarget; - float m_flNextObserverInput; - int m_iObserverWeapon; - int m_iObserverC4State; - bool m_bObserverHasDefuser; - int m_iObserverLastMode; - float m_flFlinchTime; - float m_flAnimTime; - bool m_bHighDamage; - float m_flVelocityModifier; - int m_iLastZoom; - bool m_bResumeZoom; - float m_flEjectBrass; - int m_iKevlar; - bool m_bNotKilled; - TeamName m_iTeam; - int m_iAccount; - bool m_bHasPrimary; - float m_flDeathThrowTime; - int m_iThrowDirection; - float m_flLastTalk; - bool m_bJustConnected; - bool m_bContextHelp; - JoinState m_iJoiningState; - CBaseEntity *m_pIntroCamera; - float m_fIntroCamTime; - float m_fLastMovement; - bool m_bMissionBriefing; - bool m_bTeamChanged; - ModelName m_iModelName; - int m_iTeamKills; - int m_iIgnoreGlobalChat; - bool m_bHasNightVision; - bool m_bNightVisionOn; - Vector m_vRecentPath[ MAX_RECENT_PATH ]; - float m_flIdleCheckTime; - float m_flRadioTime; - int m_iRadioMessages; - bool m_bIgnoreRadio; - bool m_bHasC4; - bool m_bHasDefuser; - bool m_bKilledByBomb; - Vector m_vBlastVector; - bool m_bKilledByGrenade; - CHintMessageQueue m_hintMessageQueue; - int m_flDisplayHistory; - _Menu m_iMenu; - int m_iChaseTarget; - CBaseEntity *m_pChaseTarget; - float m_fCamSwitch; - bool m_bEscaped; - bool m_bIsVIP; - float m_tmNextRadarUpdate; - Vector m_vLastOrigin; - int m_iCurrentKickVote; - float m_flNextVoteTime; - bool m_bJustKilledTeammate; - int m_iHostagesKilled; - int m_iMapVote; - bool m_bCanShoot; - float m_flLastFired; - float m_flLastAttackedTeammate; - bool m_bHeadshotKilled; - bool m_bPunishedForTK; - bool m_bReceivesNoMoneyNextRound; - int m_iTimeCheckAllowed; - bool m_bHasChangedName; - char m_szNewName[ MAX_PLAYER_NAME_LENGTH ]; - bool m_bIsDefusing; - float m_tmHandleSignals; - CUnifiedSignals m_signals; - edict_t *m_pentCurBombTarget; - int m_iPlayerSound; - int m_iTargetVolume; - int m_iWeaponVolume; - int m_iExtraSoundTypes; - int m_iWeaponFlash; - float m_flStopExtraSoundTime; - float m_flFlashLightTime; - int m_iFlashBattery; - int m_afButtonLast; - int m_afButtonPressed; - int m_afButtonReleased; - edict_t *m_pentSndLast; - float m_flSndRoomtype; - float m_flSndRange; - float m_flFallVelocity; - int m_rgItems[ MAX_ITEMS ]; - int m_fNewAmmo; - unsigned int m_afPhysicsFlags; - float m_fNextSuicideTime; - float m_flTimeStepSound; - float m_flTimeWeaponIdle; - float m_flSwimTime; - float m_flDuckTime; - float m_flWallJumpTime; - float m_flSuitUpdate; - int m_rgSuitPlayList[ CSUITPLAYLIST ]; - int m_iSuitPlayNext; - int m_rgiSuitNoRepeat[ CSUITNOREPEAT ]; - float m_rgflSuitNoRepeatTime[ CSUITNOREPEAT ]; - int m_lastDamageAmount; - float m_tbdPrev; - float m_flgeigerRange; - float m_flgeigerDelay; - int m_igeigerRangePrev; - int m_iStepLeft; - char m_szTextureName[ CBTEXTURENAMEMAX ]; - char m_chTextureType; - int m_idrowndmg; - int m_idrownrestored; - int m_bitsHUDDamage; - BOOL m_fInitHUD; - BOOL m_fGameHUDInitialized; - int m_iTrain; - BOOL m_fWeapon; - EHANDLE m_pTank; - float m_fDeadTime; - BOOL m_fNoPlayerSound; - BOOL m_fLongJump; - float m_tSneaking; - int m_iUpdateTime; - int m_iClientHealth; - int m_iClientBattery; - int m_iHideHUD; - int m_iClientHideHUD; - int m_iFOV; - int m_iClientFOV; - int m_iNumSpawns; - CBaseEntity *m_pObserver; - CBasePlayerItem *m_rgpPlayerItems[ MAX_ITEM_TYPES ]; - CBasePlayerItem *m_pActiveItem; - CBasePlayerItem *m_pClientActiveItem; - CBasePlayerItem *m_pLastItem; - int m_rgAmmo[ MAX_AMMO_SLOTS ]; - int m_rgAmmoLast[ MAX_AMMO_SLOTS ]; - Vector m_vecAutoAim; - BOOL m_fOnTarget; - int m_iDeaths; - int m_izSBarState[SBAR_END]; - float m_flNextSBarUpdateTime; - float m_flStatusBarDisappearDelay; - char m_SbarString0[ SBAR_STRING_SIZE ]; - int m_lastx; - int m_lasty; - int m_nCustomSprayFrames; - float m_flNextDecalTime; - char m_szTeamName[ TEAM_NAME_LENGTH ]; - - static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_playerSaveData)[40]; - -//TOOD: check out! -//protected: - - int m_modelIndexPlayer;//++1964 - char m_szAnimExtention[32]; - int m_iGaitsequence; - - float m_flGaitframe; - float m_flGaityaw; - Vector m_prevgaitorigin; - float m_flPitch; - float m_flYaw; - float m_flGaitMovement; - int m_iAutoWepSwitch; - bool m_bVGUIMenus; - bool m_bShowHints; - bool m_bShieldDrawn; - bool m_bOwnsShield; - bool m_bWasFollowing; - float m_flNextFollowTime; - float m_flYawModifier; - float m_blindUntilTime; - float m_blindStartTime; - float m_blindHoldTime; - float m_blindFadeTime; - int m_blindAlpha; - float m_allowAutoFollowTime; - char m_autoBuyString[ MAX_AUTOBUY_LENGTH ]; - char *m_rebuyString; - RebuyStruct m_rebuyStruct; - bool m_bIsInRebuy; - float m_flLastUpdateTime; - char m_lastLocation[ MaxLocationLen ]; - float m_progressStart; - float m_progressEnd; - bool m_bObserverAutoDirector; - bool m_canSwitchObserverModes; - float m_heartBeatTime; - float m_intenseTimestamp; - float m_silentTimestamp; - MusicState m_musicState; - float m_flLastCommandTime[8]; - -};/* size: 2500, cachelines: 40, members: 190 */ -/* Line - 2500 | Windows - 2480 */ - -/* <14ed87> ../cstrike/dlls/player.cpp:3407 */ -class CWShield: public CBaseEntity -{ -public: - NOBODY virtual void Spawn(void); - NOBODY virtual void EXPORT Touch(CBaseEntity *pOther); -public: - /* <14e77d> ../cstrike/dlls/player.cpp:3410 */ - void SetCantBePickedUpByUser(CBaseEntity *pEntity, float time) - { +#define g_pLastSpawn (*pg_pLastSpawn) +#define g_pLastCTSpawn (*pg_pLastCTSpawn) +#define g_pLastTerroristSpawn (*pg_pLastTerroristSpawn) +#define gInitHUD (*pgInitHUD) +#define sv_aim (*psv_aim) +#define zombieSpawnCount (*pzombieSpawnCount) +#define zombieSpawn (*pzombieSpawn) +#define g_pSelectedZombieSpawn (*pg_pSelectedZombieSpawn) +#define giPrecacheGrunt (*pgiPrecacheGrunt) +#define gmsgWeapPickup (*pgmsgWeapPickup) +#define gmsgHudText (*pgmsgHudText) +#define gmsgHudTextArgs (*pgmsgHudTextArgs) +#define gmsgShake (*pgmsgShake) +#define gmsgFade (*pgmsgFade) +#define gmsgFlashlight (*pgmsgFlashlight) +#define gmsgFlashBattery (*pgmsgFlashBattery) +#define gmsgResetHUD (*pgmsgResetHUD) +#define gmsgInitHUD (*pgmsgInitHUD) +#define gmsgViewMode (*pgmsgViewMode) +#define gmsgShowGameTitle (*pgmsgShowGameTitle) +#define gmsgCurWeapon (*pgmsgCurWeapon) +#define gmsgHealth (*pgmsgHealth) +#define gmsgDamage (*pgmsgDamage) +#define gmsgBattery (*pgmsgBattery) +#define gmsgTrain (*pgmsgTrain) +#define gmsgLogo (*pgmsgLogo) +#define gmsgWeaponList (*pgmsgWeaponList) +#define gmsgAmmoX (*pgmsgAmmoX) +#define gmsgDeathMsg (*pgmsgDeathMsg) +#define gmsgScoreAttrib (*pgmsgScoreAttrib) +#define gmsgScoreInfo (*pgmsgScoreInfo) +#define gmsgTeamInfo (*pgmsgTeamInfo) +#define gmsgTeamScore (*pgmsgTeamScore) +#define gmsgGameMode (*pgmsgGameMode) +#define gmsgMOTD (*pgmsgMOTD) +#define gmsgServerName (*pgmsgServerName) +#define gmsgAmmoPickup (*pgmsgAmmoPickup) +#define gmsgItemPickup (*pgmsgItemPickup) +#define gmsgHideWeapon (*pgmsgHideWeapon) +#define gmsgSayText (*pgmsgSayText) +#define gmsgTextMsg (*pgmsgTextMsg) +#define gmsgSetFOV (*pgmsgSetFOV) +#define gmsgShowMenu (*pgmsgShowMenu) +#define gmsgSendAudio (*pgmsgSendAudio) +#define gmsgRoundTime (*pgmsgRoundTime) +#define gmsgMoney (*pgmsgMoney) +#define gmsgBlinkAcct (*pgmsgBlinkAcct) +#define gmsgArmorType (*pgmsgArmorType) +#define gmsgStatusValue (*pgmsgStatusValue) +#define gmsgStatusText (*pgmsgStatusText) +#define gmsgStatusIcon (*pgmsgStatusIcon) +#define gmsgBarTime (*pgmsgBarTime) +#define gmsgReloadSound (*pgmsgReloadSound) +#define gmsgCrosshair (*pgmsgCrosshair) +#define gmsgNVGToggle (*pgmsgNVGToggle) +#define gmsgRadar (*pgmsgRadar) +#define gmsgSpectator (*pgmsgSpectator) +#define gmsgVGUIMenu (*pgmsgVGUIMenu) +#define gmsgCZCareer (*pgmsgCZCareer) +#define gmsgCZCareerHUD (*pgmsgCZCareerHUD) +#define gmsgTaskTime (*pgmsgTaskTime) +#define gmsgTutorText (*pgmsgTutorText) +#define gmsgTutorLine (*pgmsgTutorLine) +#define gmsgShadowIdx (*pgmsgShadowIdx) +#define gmsgTutorState (*pgmsgTutorState) +#define gmsgTutorClose (*pgmsgTutorClose) +#define gmsgAllowSpec (*pgmsgAllowSpec) +#define gmsgBombDrop (*pgmsgBombDrop) +#define gmsgBombPickup (*pgmsgBombPickup) +#define gmsgHostagePos (*pgmsgHostagePos) +#define gmsgHostageK (*pgmsgHostageK) +#define gmsgGeigerRange (*pgmsgGeigerRange) +#define gmsgSendCorpse (*pgmsgSendCorpse) +#define gmsgHLTV (*pgmsgHLTV) +#define gmsgSpecHealth (*pgmsgSpecHealth) +#define gmsgForceCam (*pgmsgForceCam) +#define gmsgADStop (*pgmsgADStop) +#define gmsgReceiveW (*pgmsgReceiveW) +#define gmsgScenarioIcon (*pgmsgScenarioIcon) +#define gmsgBotVoice (*pgmsgBotVoice) +#define gmsgBuyClose (*pgmsgBuyClose) +#define gmsgItemStatus (*pgmsgItemStatus) +#define gmsgLocation (*pgmsgLocation) +#define gmsgSpecHealth2 (*pgmsgSpecHealth2) +#define gmsgBarTime2 (*pgmsgBarTime2) +#define gmsgBotProgress (*pgmsgBotProgress) +#define gmsgBrass (*pgmsgBrass) +#define gmsgFog (*pgmsgFog) +#define gmsgShowTimer (*pgmsgShowTimer) + +#endif // HOOK_GAMEDLL + +/* <14efbf> ../cstrike/dlls/player.cpp:9418 */ +class CStripWeapons: public CPointEntity +{ +public: + virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); + +#ifdef HOOK_GAMEDLL + + void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); + +#endif // HOOK_GAMEDLL + +};/* size: 152, cachelines: 3, members: 1 */ + +/* <14f06c> ../cstrike/dlls/player.cpp:9543 */ +class CInfoIntermission: public CPointEntity +{ +public: + virtual void Spawn(void); + virtual void Think(void); + +#ifdef HOOK_GAMEDLL + + void Spawn_(void); + void Think_(void); + +#endif // HOOK_GAMEDLL + +};/* size: 152, cachelines: 3, members: 1 */ + +/* <14ef4d> ../cstrike/dlls/player.cpp:9361 */ +class CDeadHEV: public CBaseMonster +{ +public: + virtual void Spawn(void); + virtual void KeyValue(KeyValueData *pkvd); + virtual int Classify(void); + +#ifdef HOOK_GAMEDLL + + void Spawn_(void); + void KeyValue_(KeyValueData *pkvd); + int Classify_(void); + +#endif // HOOK_GAMEDLL + +public: + + int m_iPose; + static char *m_szPoses[4]; + +};/* size: 408, cachelines: 7, members: 3 */ + +/* <14ee80> ../cstrike/dlls/player.cpp:7001 */ +class CSprayCan: public CBaseEntity +{ +public: + virtual void Think(void); + virtual int ObjectCaps(void) + { + return ObjectCaps_(); + } + +#ifdef HOOK_GAMEDLL + + void Think_(void); + int ObjectCaps_(void) + { + return FCAP_DONT_SAVE; + } + +#endif // HOOK_GAMEDLL + +public: + void Spawn(entvars_t *pevOwner); + +};/* size: 152, cachelines: 3, members: 1 */ + +/* <14eea3> ../cstrike/dlls/player.cpp:7057 */ +class CBloodSplat: public CBaseEntity +{ +public: + void Spawn(entvars_t *pevOwner); + void Spray(void); + +};/* size: 152, cachelines: 3, members: 1 */ + +/* <48ed5e> ../cstrike/dlls/player.h:250 */ +class CBasePlayer: public CBaseMonster +{ +public: + enum { MaxLocationLen = 32 }; + + NOBODY virtual void Spawn(void); + virtual void Precache(void); + virtual int Save(CSave &save); + virtual int Restore(CRestore &restore); + virtual int ObjectCaps(void) + { + return ObjectCaps_(); + } + virtual int Classify(void); + virtual void TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType); + NOBODY virtual int TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType); + NOBODY virtual int TakeHealth(float flHealth, int bitsDamageType); + NOBODY virtual void Killed(entvars_t *pevAttacker, int iGib); + virtual void AddPoints(int score, BOOL bAllowNegativeScore); + NOBODY virtual void AddPointsToTeam(int score, BOOL bAllowNegativeScore); + virtual BOOL AddPlayerItem(CBasePlayerItem *pItem); + virtual BOOL RemovePlayerItem(CBasePlayerItem *pItem); + virtual int GiveAmmo(int iAmount, char *szName, int iMax); + NOBODY virtual void StartSneaking(void) + { + StartSneaking_(); + } + NOBODY virtual void StopSneaking(void) + { + StopSneaking_(); + } + NOBODY virtual BOOL IsSneaking(void) + { + return IsSneaking_(); + } + NOBODY virtual BOOL IsAlive(void) + { + return IsAlive_(); + } + NOBODY virtual BOOL IsPlayer(void) + { + return IsPlayer_(); + } + NOBODY virtual BOOL IsNetClient(void) + { + return IsNetClient_(); + } + virtual const char *TeamID(void); + virtual BOOL FBecomeProne(void); + NOBODY virtual Vector BodyTarget(const Vector &posSrc) + { + return BodyTarget_(posSrc); + } + virtual int Illumination(void); + NOBODY virtual BOOL ShouldFadeOnDeath(void) + { + return ShouldFadeOnDeath_(); + } + virtual void ResetMaxSpeed(void); + NOBODY virtual void Jump(void); + NOBODY virtual void Duck(void); + NOBODY virtual void PreThink(void); + NOBODY virtual void PostThink(void); + NOBODY virtual Vector GetGunPosition(void); + NOBODY virtual BOOL IsBot(void) + { + return IsBot_(); + } + NOBODY virtual void UpdateClientData(void); + virtual void ImpulseCommands(void); + virtual void RoundRespawn(void); + virtual Vector GetAutoaimVector(float flDelta); + virtual void Blind(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha); + NOBODY virtual void OnTouchingWeapon(CWeaponBox *pWeapon) + { + OnTouchingWeapon_(pWeapon); + } + +#ifdef HOOK_GAMEDLL + + void Spawn_(void); + void Precache_(void); + int Save_(CSave &save); + int Restore_(CRestore &restore); + int ObjectCaps_(void) + { + return (CBaseMonster::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); + } + int Classify_(void); + void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType); + int TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType); + int TakeHealth_(float flHealth, int bitsDamageType); + void Killed_(entvars_t *pevAttacker, int iGib); + void AddPoints_(int score, BOOL bAllowNegativeScore); + void AddPointsToTeam_(int score, BOOL bAllowNegativeScore); + BOOL AddPlayerItem_(CBasePlayerItem *pItem); + BOOL RemovePlayerItem_(CBasePlayerItem *pItem); + int GiveAmmo_(int iAmount,char *szName,int iMax); + void StartSneaking_(void) + { + m_tSneaking = gpGlobals->time - 1; + } + void StopSneaking_(void) + { + m_tSneaking = gpGlobals->time + 30; + } + BOOL IsSneaking_(void) + { + return m_tSneaking <= gpGlobals->time; + } + BOOL IsAlive_(void) + { + return (pev->deadflag == DEAD_NO && pev->health > 0.0f); + } + BOOL IsPlayer_(void) + { + return (pev->flags & FL_SPECTATOR) != FL_SPECTATOR; + } + BOOL IsNetClient_(void) + { + return TRUE; + } + const char *TeamID_(void); + BOOL FBecomeProne_(void); + Vector BodyTarget_(const Vector &posSrc) + { + return Center() + pev->view_ofs * RANDOM_FLOAT(0.5, 1.1); + } + int Illumination_(void); + BOOL ShouldFadeOnDeath_(void) + { + return FALSE; + } + void ResetMaxSpeed_(void); + void Jump_(void); + void Duck_(void); + void PreThink_(void); + void PostThink_(void); + Vector GetGunPosition_(void); + BOOL IsBot_(void) + { + return FALSE; + } + void UpdateClientData_(void); + void ImpulseCommands_(void); + void RoundRespawn_(void); + Vector GetAutoaimVector_(float flDelta); + void Blind_(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha); + void OnTouchingWeapon_(CWeaponBox *pWeapon) + { + ; + } + +#endif // HOOK_GAMEDLL + +public: + void SpawnClientSideCorpse(void); + void Observer_FindNextPlayer(bool bReverse, const char *name = NULL); + CBaseEntity *Observer_IsValidTarget(int iPlayerIndex, bool bSameTeam); + void Observer_HandleButtons(void); + void Observer_SetMode(int iMode); + void Observer_CheckTarget(void); + void Observer_CheckProperties(void); + int IsObserver(void) + { + return pev->iuser1; + } + NOBODY void PlantC4(void); + void Radio(const char *msg_id, const char *msg_verbose, short pitch = 100, bool showIcon = true); + NOXREF CBasePlayer *GetNextRadioRecipient(CBasePlayer *pStartPlayer); + void SmartRadio(void); + NOXREF void ThrowWeapon(char *pszItemName); + NOXREF void ThrowPrimary(void); + void AddAccount(int amount, bool bTrackChange = true); + NOBODY void Disappear(void); + void MakeVIP(void); + NOBODY bool CanPlayerBuy(bool display); + void SwitchTeam(void); + void TabulateAmmo(void); + void Pain(int m_LastHitGroup, bool HasArmour); + BOOL IsBombGuy(void); + bool IsLookingAtPosition(Vector *pos, float angleTolerance = 20.0f); + void Reset(); + void SetScoreboardAttributes(CBasePlayer *destination = NULL); + NOXREF void RenewItems(void); + void PackDeadPlayerItems(void); + void GiveDefaultItems(void); + void RemoveAllItems(BOOL removeSuit); + void SetBombIcon(BOOL bFlash); + void SetProgressBarTime(int time); + void SetProgressBarTime2(int time, float timeElapsed); + void SetPlayerModel(BOOL HasC4); + void SetNewPlayerModel(const char *modelName); + BOOL SwitchWeapon(CBasePlayerItem *pWeapon); + NOXREF void CheckPowerups(entvars_t *pev); + bool CanAffordPrimary(void); + bool CanAffordPrimaryAmmo(void); + bool CanAffordSecondaryAmmo(void); + bool CanAffordArmor(void); + bool CanAffordDefuseKit(void); + bool CanAffordGrenade(void); + bool NeedsPrimaryAmmo(void); + bool NeedsSecondaryAmmo(void); + bool NeedsArmor(void); + bool NeedsDefuseKit(void); + bool NeedsGrenade(void); + BOOL IsOnLadder(void); + BOOL FlashlightIsOn(void); + void FlashlightTurnOn(void); + void FlashlightTurnOff(void); + NOBODY void UpdatePlayerSound(void); + NOXREF void DeathSound(void); + void SetAnimation(PLAYER_ANIM playerAnim); + NOBODY void SetWeaponAnimType(const char *szExtention); + void CheatImpulseCommands(int iImpulse); + NOXREF void StartDeathCam(void); + NOBODY void StartObserver(Vector vecPosition, Vector vecViewAngle); + void HandleSignals(void); + void DropPlayerItem(const char *pszItemName); + BOOL HasPlayerItem(CBasePlayerItem *pCheckItem); + BOOL HasNamedPlayerItem(const char *pszItemName); + NOXREF BOOL HasWeapons(void); + NOXREF void SelectPrevItem(int iItem); + NOXREF void SelectNextItem(int iItem); + void SelectLastItem(void); + void SelectItem(const char *pstr); + NOXREF void ItemPreFrame(void); + NOXREF void ItemPostFrame(void); + void GiveNamedItem(const char *pszName); + void EnableControl(BOOL fControl); + bool HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead = FALSE, BOOL bOverride = FALSE); + void SendAmmoUpdate(void); + NOXREF void SendFOV(int fov); + NOBODY void WaterMove(void); + NOBODY void EXPORT PlayerDeathThink(void); + void PlayerUse(void); + NOBODY void HostageUsed(void); + NOBODY void JoiningThink(void); + NOBODY void RemoveLevelText(void); + void WINAPI_HOOK MenuPrint(const char *msg); + void ResetMenu(void); + void SyncRoundTimer(void); + NOXREF void CheckSuitUpdate(void); + void SetSuitUpdate(char *name = NULL, int fgroup = 0, int iNoRepeatTime = 0); + NOXREF void UpdateGeigerCounter(void); + NOBODY void CheckTimeBasedDamage(void); + NOXREF void BarnacleVictimBitten(entvars_t *pevBarnacle); + NOXREF void BarnacleVictimReleased(void); + static int GetAmmoIndex(const char *psz); + int AmmoInventory(int iAmmoIndex); + void ResetAutoaim(void); + Vector AutoaimDeflection(class Vector &vecSrc, float flDist, float flDelta); + void ForceClientDllUpdate(void); + void DeathMessage(entvars_t *pevAttacker) { }; + void SetCustomDecalFrames(int); + NOXREF int GetCustomDecalFrames(void); + NOXREF void InitStatusBar(void); + void UpdateStatusBar(void); + void StudioEstimateGait(void); + NOXREF void StudioPlayerBlend(int *pBlend, float *pPitch); + NOXREF void CalculatePitchBlend(void); + void CalculateYawBlend(void); + void StudioProcessGait(void); + NOXREF void SendHostagePos(void); + void SendHostageIcons(void); + NOXREF void ResetStamina(void); + NOXREF BOOL IsArmored(int nHitGroup); + NOXREF BOOL ShouldDoLargeFlinch(int nHitGroup, int nGunType); + void SetPrefsFromUserinfo(char *infobuffer); + void SendWeatherInfo(void); + void UpdateShieldCrosshair(bool); + bool HasShield(void); + bool IsProtectedByShield(void) + { + return HasShield() && m_bShieldDrawn; + } + void RemoveShield(void); + void DropShield(bool); + NOBODY void GiveShield(bool); + bool IsHittingShield(Vector &vecDirection, TraceResult *ptr); + bool IsReloading(void) + { + if (m_pActiveItem && ((CBasePlayerWeapon *)m_pActiveItem)->m_fInReload) + return true; + + return false; + } + bool IsBlind(void) + { + return (gpGlobals->time > m_blindUntilTime); + } + bool IsAutoFollowAllowed(void) + { + return (gpGlobals->time > m_allowAutoFollowTime); + } + void InhibitAutoFollow(float duration) + { + m_allowAutoFollowTime = duration; + } + void AllowAutoFollow(void) + { + m_allowAutoFollowTime = 0; + } + void ClearAutoBuyData(void); + void AddAutoBuyData(const char *str); + NOBODY void AutoBuy(void); + void ClientCommand(const char *cmd, const char *arg1 = NULL, const char *arg2 = NULL, const char *arg3 = NULL); + void PrioritizeAutoBuyString(char *autobuyString, const char *priorityString); + NOBODY const char *PickPrimaryCareerTaskWeapon(void); + NOBODY const char *PickSecondaryCareerTaskWeapon(void); + NOXREF const char *PickFlashKillWeaponString(void); + NOXREF const char *PickGrenadeKillWeaponString(void); + NOXREF bool ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary); + void PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary); + void ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary); + NOXREF AutoBuyInfoStruct *GetAutoBuyCommandInfo(const char *command); + void InitRebuyData(const char *str); + void BuildRebuyStruct(void); + void Rebuy(void); + NOXREF void RebuyPrimaryWeapon(void); + NOXREF void RebuyPrimaryAmmo(void); + NOXREF void RebuySecondaryWeapon(void); + NOXREF void RebuySecondaryAmmo(void); + NOXREF void RebuyHEGrenade(void); + NOXREF void RebuyFlashbang(void); + NOXREF void RebuySmokeGrenade(void); + void RebuyDefuser(void); + void RebuyNightVision(void); + void RebuyArmor(void); + void UpdateLocation(bool forceUpdate); + void SetObserverAutoDirector(bool val) + { + m_bObserverAutoDirector = val; + } + bool IsObservingPlayer(CBasePlayer *pPlayer); + bool CanSwitchObserverModes(void) + { + return m_canSwitchObserverModes; + } + NOBODY void Intense(void) + { + //m_musicState = INTENSE; + //m_intenseTimestamp = gpGlobals->time; + } + +public: + int random_seed; + unsigned short m_usPlayerBleed; + EHANDLE m_hObserverTarget; + float m_flNextObserverInput; + int m_iObserverWeapon; + int m_iObserverC4State; + bool m_bObserverHasDefuser; + int m_iObserverLastMode; + float m_flFlinchTime; + float m_flAnimTime; + bool m_bHighDamage; + float m_flVelocityModifier; + int m_iLastZoom; + bool m_bResumeZoom; + float m_flEjectBrass; + int m_iKevlar; + bool m_bNotKilled; + TeamName m_iTeam; + int m_iAccount; + bool m_bHasPrimary; + float m_flDeathThrowTime; + int m_iThrowDirection; + float m_flLastTalk; + bool m_bJustConnected; + bool m_bContextHelp; + JoinState m_iJoiningState; + CBaseEntity *m_pIntroCamera; + float m_fIntroCamTime; + float m_fLastMovement; + bool m_bMissionBriefing; + bool m_bTeamChanged; + ModelName m_iModelName; + int m_iTeamKills; + int m_iIgnoreGlobalChat; + bool m_bHasNightVision; + bool m_bNightVisionOn; + Vector m_vRecentPath[ MAX_RECENT_PATH ]; + float m_flIdleCheckTime; + float m_flRadioTime; + int m_iRadioMessages; + bool m_bIgnoreRadio; + bool m_bHasC4; + bool m_bHasDefuser; + bool m_bKilledByBomb; + Vector m_vBlastVector; + bool m_bKilledByGrenade; + CHintMessageQueue m_hintMessageQueue; + int m_flDisplayHistory; + _Menu m_iMenu; + int m_iChaseTarget; + CBaseEntity *m_pChaseTarget; + float m_fCamSwitch; + bool m_bEscaped; + bool m_bIsVIP; + float m_tmNextRadarUpdate; + Vector m_vLastOrigin; + int m_iCurrentKickVote; + float m_flNextVoteTime; + bool m_bJustKilledTeammate; + int m_iHostagesKilled; + int m_iMapVote; + bool m_bCanShoot; + float m_flLastFired; + float m_flLastAttackedTeammate; + bool m_bHeadshotKilled; + bool m_bPunishedForTK; + bool m_bReceivesNoMoneyNextRound; + int m_iTimeCheckAllowed; + bool m_bHasChangedName; + char m_szNewName[ MAX_PLAYER_NAME_LENGTH ]; + bool m_bIsDefusing; + float m_tmHandleSignals; + CUnifiedSignals m_signals; + edict_t *m_pentCurBombTarget; + int m_iPlayerSound; + int m_iTargetVolume; + int m_iWeaponVolume; + int m_iExtraSoundTypes; + int m_iWeaponFlash; + float m_flStopExtraSoundTime; + float m_flFlashLightTime; + int m_iFlashBattery; + int m_afButtonLast; + int m_afButtonPressed; + int m_afButtonReleased; + edict_t *m_pentSndLast; + float m_flSndRoomtype; + float m_flSndRange; + float m_flFallVelocity; + int m_rgItems[ MAX_ITEMS ]; + int m_fNewAmmo; + unsigned int m_afPhysicsFlags; + float m_fNextSuicideTime; + float m_flTimeStepSound; + float m_flTimeWeaponIdle; + float m_flSwimTime; + float m_flDuckTime; + float m_flWallJumpTime; + float m_flSuitUpdate; + int m_rgSuitPlayList[ CSUITPLAYLIST ]; + int m_iSuitPlayNext; + int m_rgiSuitNoRepeat[ CSUITNOREPEAT ]; + float m_rgflSuitNoRepeatTime[ CSUITNOREPEAT ]; + int m_lastDamageAmount; + float m_tbdPrev; + float m_flgeigerRange; + float m_flgeigerDelay; + int m_igeigerRangePrev; + int m_iStepLeft; + char m_szTextureName[ CBTEXTURENAMEMAX ]; + char m_chTextureType; + int m_idrowndmg; + int m_idrownrestored; + int m_bitsHUDDamage; + BOOL m_fInitHUD; + BOOL m_fGameHUDInitialized; + int m_iTrain; + BOOL m_fWeapon; + EHANDLE m_pTank; + float m_fDeadTime; + BOOL m_fNoPlayerSound; + BOOL m_fLongJump; + float m_tSneaking; + int m_iUpdateTime; + int m_iClientHealth; + int m_iClientBattery; + int m_iHideHUD; + int m_iClientHideHUD; + int m_iFOV; + int m_iClientFOV; + int m_iNumSpawns; + CBaseEntity *m_pObserver; + CBasePlayerItem *m_rgpPlayerItems[ MAX_ITEM_TYPES ]; + CBasePlayerItem *m_pActiveItem; + CBasePlayerItem *m_pClientActiveItem; + CBasePlayerItem *m_pLastItem; + int m_rgAmmo[ MAX_AMMO_SLOTS ]; + int m_rgAmmoLast[ MAX_AMMO_SLOTS ]; + Vector m_vecAutoAim; + BOOL m_fOnTarget; + int m_iDeaths; + int m_izSBarState[SBAR_END]; + float m_flNextSBarUpdateTime; + float m_flStatusBarDisappearDelay; + char m_SbarString0[ SBAR_STRING_SIZE ]; + int m_lastx; + int m_lasty; + int m_nCustomSprayFrames; + float m_flNextDecalTime; + char m_szTeamName[ TEAM_NAME_LENGTH ]; + + static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_playerSaveData)[40]; + +//TOOD: check out! +//protected: + + int m_modelIndexPlayer;//++1964 + char m_szAnimExtention[32]; + int m_iGaitsequence; + + float m_flGaitframe; + float m_flGaityaw; + Vector m_prevgaitorigin; + float m_flPitch; + float m_flYaw; + float m_flGaitMovement; + int m_iAutoWepSwitch; + bool m_bVGUIMenus; + bool m_bShowHints; + bool m_bShieldDrawn; + bool m_bOwnsShield; + bool m_bWasFollowing; + float m_flNextFollowTime; + float m_flYawModifier; + float m_blindUntilTime; + float m_blindStartTime; + float m_blindHoldTime; + float m_blindFadeTime; + int m_blindAlpha; + float m_allowAutoFollowTime; + char m_autoBuyString[ MAX_AUTOBUY_LENGTH ]; + char *m_rebuyString; + RebuyStruct m_rebuyStruct; + bool m_bIsInRebuy; + float m_flLastUpdateTime; + char m_lastLocation[ MaxLocationLen ]; + float m_progressStart; + float m_progressEnd; + bool m_bObserverAutoDirector; + bool m_canSwitchObserverModes; + float m_heartBeatTime; + float m_intenseTimestamp; + float m_silentTimestamp; + MusicState m_musicState; + float m_flLastCommandTime[8]; + +};/* size: 2500, cachelines: 40, members: 190 */ +/* Line - 2500 | Windows - 2480 */ + +/* <14ed87> ../cstrike/dlls/player.cpp:3407 */ +class CWShield: public CBaseEntity +{ +public: + NOBODY virtual void Spawn(void); + NOBODY virtual void EXPORT Touch(CBaseEntity *pOther); +public: + /* <14e77d> ../cstrike/dlls/player.cpp:3410 */ + void SetCantBePickedUpByUser(CBaseEntity *pEntity, float time) + { m_hEntToIgnoreTouchesFrom = pEntity; - m_flTimeToIgnoreTouches = gpGlobals->time + time; - } -public: - EHANDLE m_hEntToIgnoreTouchesFrom; - float m_flTimeToIgnoreTouches; -};/* size: 164, cachelines: 3, members: 3 */ - -extern char *m_szPoses[4]; -extern WeaponStruct g_weaponStruct[MAX_WEAPONS]; - + m_flTimeToIgnoreTouches = gpGlobals->time + time; + } +public: + EHANDLE m_hEntToIgnoreTouchesFrom; + float m_flTimeToIgnoreTouches; +};/* size: 164, cachelines: 3, members: 3 */ + +extern char *m_szPoses[4]; +extern WeaponStruct g_weaponStruct[MAX_WEAPONS]; + extern int gEvilImpulse101; extern char g_szMapBriefingText[512]; -extern BOOL gInitHUD; -extern cvar_t *sv_aim; - -extern int giPrecacheGrunt; -extern int gmsgWeapPickup; -extern int gmsgHudText; -extern int gmsgHudTextArgs; -extern int gmsgShake; -extern int gmsgFade; -extern int gmsgFlashlight; -//extern int gmsgFlashBattery; -//extern int gmsgResetHUD; -//extern int gmsgInitHUD; -//extern int gmsgViewMode; -//extern int gmsgShowGameTitle; -extern int gmsgCurWeapon; -//extern int gmsgHealth; -//extern int gmsgDamage; -//extern int gmsgBattery; -//extern int gmsgTrain; -extern int gmsgLogo; -extern int gmsgWeaponList; -extern int gmsgAmmoX; -//extern int gmsgDeathMsg; -extern int gmsgScoreAttrib; -extern int gmsgScoreInfo; -extern int gmsgTeamInfo; -//extern int gmsgTeamScore; -//extern int gmsgGameMode; -//extern int gmsgMOTD; -//extern int gmsgServerName; -extern int gmsgAmmoPickup; -extern int gmsgItemPickup; -//extern int gmsgHideWeapon; -extern int gmsgSayText; -extern int gmsgTextMsg; -extern int gmsgSetFOV; -extern int gmsgShowMenu; -extern int gmsgSendAudio; -extern int gmsgRoundTime; -extern int gmsgMoney; -extern int gmsgBlinkAcct; -extern int gmsgArmorType; -extern int gmsgStatusValue; -extern int gmsgStatusText; -extern int gmsgStatusIcon; -extern int gmsgBarTime; -extern int gmsgReloadSound; -extern int gmsgCrosshair; -extern int gmsgNVGToggle; -//extern int gmsgRadar; -extern int gmsgSpectator; -//extern int gmsgVGUIMenu; -extern int gmsgCZCareer; -//extern int gmsgCZCareerHUD; -extern int gmsgTaskTime; -//extern int gmsgTutorText; -extern int gmsgTutorLine; -//extern int gmsgShadowIdx; -extern int gmsgTutorState; -extern int gmsgTutorClose; -//extern int gmsgAllowSpec; -extern int gmsgBombDrop; -//extern int gmsgBombPickup; -extern int gmsgHostagePos; -//extern int gmsgHostageK; -extern int gmsgGeigerRange; -extern int gmsgSendCorpse; -//extern int gmsgHLTV; -//extern int gmsgSpecHealth; -//extern int gmsgForceCam; -//extern int gmsgADStop; -extern int gmsgReceiveW; -extern int gmsgScenarioIcon; -extern int gmsgBotVoice; -extern int gmsgBuyClose; -extern int gmsgItemStatus; -extern int gmsgLocation; -extern int gmsgSpecHealth2; -extern int gmsgBarTime2; -extern int gmsgBotProgress; -//extern int gmsgBrass; -//extern int gmsgFog; -//extern int gmsgShowTimer; - -//NOBODY void player(entvars_t *pev); -//NOBODY void weapon_shield(entvars_t *pev); -//NOBODY void info_intermission(entvars_t *pev); -//NOBODY void player_loadsaved(entvars_t *pev); -//NOBODY void player_weaponstrip(entvars_t *pev); -//NOBODY void monster_hevsuit_dead(entvars_t *pev); - -void OLD_CheckBuyZone(CBasePlayer *player); -void OLD_CheckBombTarget(CBasePlayer *player); -void OLD_CheckRescueZone(CBasePlayer *player); - -void BuyZoneIcon_Set(CBasePlayer *player); -void BuyZoneIcon_Clear(CBasePlayer *player); -void BombTargetFlash_Set(CBasePlayer *player); -void BombTargetFlash_Clear(CBasePlayer *player); -void RescueZoneIcon_Set(CBasePlayer *player); -void RescueZoneIcon_Clear(CBasePlayer *player); -void EscapeZoneIcon_Set(CBasePlayer *player); -void EscapeZoneIcon_Clear(CBasePlayer *player); -void EscapeZoneIcon_Set(CBasePlayer *player); -void EscapeZoneIcon_Clear(CBasePlayer *player); -void VIP_SafetyZoneIcon_Set(CBasePlayer *player); -void VIP_SafetyZoneIcon_Clear(CBasePlayer *player); - -NOBODY void LinkUserMessages(void); -void WriteSigonMessages(void); -void SendItemStatus(CBasePlayer *pPlayer); -const char *GetCSModelName(int item_id); -Vector VecVelocityForDamage(float flDamage); -int TrainSpeed(int iSpeed, int iMax); -const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller); -void LogAttack(CBasePlayer *pAttacker, CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name); -void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo); -bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity); -NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer); -NOXREF BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot); -NOBODY void InitZombieSpawns(void); -NOBODY CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn); -NOBODY edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer); -void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src); -NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe); -float GetPlayerPitch(const edict_t *pEdict); -float GetPlayerYaw(const edict_t *pEdict); -int GetPlayerGaitsequence(edict_t *pEdict); -NOXREF const char *GetBuyStringForWeaponClass(int weaponClass); -NOXREF bool IsPrimaryWeaponClass(int classId); -NOXREF bool IsPrimaryWeaponId(int id); -NOXREF bool IsSecondaryWeaponClass(int classId); -NOXREF bool IsSecondaryWeaponId(int id); -NOXREF const char *GetWeaponAliasFromName(const char *weaponName); -NOXREF bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId); - -// refs -extern void (*CBasePlayer__UpdateClientData)(void); - -#endif // PLAYER_H +extern CBaseEntity *g_pLastSpawn; +extern CBaseEntity *g_pLastCTSpawn; +extern CBaseEntity *g_pLastTerroristSpawn; +extern BOOL gInitHUD; +extern cvar_t *sv_aim; +extern int zombieSpawnCount; +extern struct ZombieSpawn zombieSpawn[256]; +extern CBaseEntity *g_pSelectedZombieSpawn; + +extern int giPrecacheGrunt; +extern int gmsgWeapPickup; +extern int gmsgHudText; +extern int gmsgHudTextArgs; +extern int gmsgShake; +extern int gmsgFade; +extern int gmsgFlashlight; +extern int gmsgFlashBattery; +extern int gmsgResetHUD; +extern int gmsgInitHUD; +extern int gmsgViewMode; +extern int gmsgShowGameTitle; +extern int gmsgCurWeapon; +extern int gmsgHealth; +extern int gmsgDamage; +extern int gmsgBattery; +extern int gmsgTrain; +extern int gmsgLogo; +extern int gmsgWeaponList; +extern int gmsgAmmoX; +extern int gmsgDeathMsg; +extern int gmsgScoreAttrib; +extern int gmsgScoreInfo; +extern int gmsgTeamInfo; +extern int gmsgTeamScore; +extern int gmsgGameMode; +extern int gmsgMOTD; +extern int gmsgServerName; +extern int gmsgAmmoPickup; +extern int gmsgItemPickup; +extern int gmsgHideWeapon; +extern int gmsgSayText; +extern int gmsgTextMsg; +extern int gmsgSetFOV; +extern int gmsgShowMenu; +extern int gmsgSendAudio; +extern int gmsgRoundTime; +extern int gmsgMoney; +extern int gmsgBlinkAcct; +extern int gmsgArmorType; +extern int gmsgStatusValue; +extern int gmsgStatusText; +extern int gmsgStatusIcon; +extern int gmsgBarTime; +extern int gmsgReloadSound; +extern int gmsgCrosshair; +extern int gmsgNVGToggle; +extern int gmsgRadar; +extern int gmsgSpectator; +extern int gmsgVGUIMenu; +extern int gmsgCZCareer; +extern int gmsgCZCareerHUD; +extern int gmsgTaskTime; +extern int gmsgTutorText; +extern int gmsgTutorLine; +extern int gmsgShadowIdx; +extern int gmsgTutorState; +extern int gmsgTutorClose; +extern int gmsgAllowSpec; +extern int gmsgBombDrop; +extern int gmsgBombPickup; +extern int gmsgHostagePos; +extern int gmsgHostageK; +extern int gmsgGeigerRange; +extern int gmsgSendCorpse; +extern int gmsgHLTV; +extern int gmsgSpecHealth; +extern int gmsgForceCam; +extern int gmsgADStop; +extern int gmsgReceiveW; +extern int gmsgScenarioIcon; +extern int gmsgBotVoice; +extern int gmsgBuyClose; +extern int gmsgItemStatus; +extern int gmsgLocation; +extern int gmsgSpecHealth2; +extern int gmsgBarTime2; +extern int gmsgBotProgress; +extern int gmsgBrass; +extern int gmsgFog; +extern int gmsgShowTimer; + +//NOBODY void player(entvars_t *pev); +//NOBODY void weapon_shield(entvars_t *pev); +//NOBODY void info_intermission(entvars_t *pev); +//NOBODY void player_loadsaved(entvars_t *pev); +//NOBODY void player_weaponstrip(entvars_t *pev); +//NOBODY void monster_hevsuit_dead(entvars_t *pev); + +void OLD_CheckBuyZone(CBasePlayer *player); +void OLD_CheckBombTarget(CBasePlayer *player); +void OLD_CheckRescueZone(CBasePlayer *player); + +void BuyZoneIcon_Set(CBasePlayer *player); +void BuyZoneIcon_Clear(CBasePlayer *player); +void BombTargetFlash_Set(CBasePlayer *player); +void BombTargetFlash_Clear(CBasePlayer *player); +void RescueZoneIcon_Set(CBasePlayer *player); +void RescueZoneIcon_Clear(CBasePlayer *player); +void EscapeZoneIcon_Set(CBasePlayer *player); +void EscapeZoneIcon_Clear(CBasePlayer *player); +void EscapeZoneIcon_Set(CBasePlayer *player); +void EscapeZoneIcon_Clear(CBasePlayer *player); +void VIP_SafetyZoneIcon_Set(CBasePlayer *player); +void VIP_SafetyZoneIcon_Clear(CBasePlayer *player); + +NOBODY void LinkUserMessages(void); +void WriteSigonMessages(void); +void SendItemStatus(CBasePlayer *pPlayer); +const char *GetCSModelName(int item_id); +Vector VecVelocityForDamage(float flDamage); +int TrainSpeed(int iSpeed, int iMax); +const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller); +void LogAttack(CBasePlayer *pAttacker, CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name); +void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo); +bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity); +NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer); +BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot); +NOXREF void InitZombieSpawns(void); +NOXREF CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn); +edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer); +void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src); +NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe); +float GetPlayerPitch(const edict_t *pEdict); +float GetPlayerYaw(const edict_t *pEdict); +int GetPlayerGaitsequence(const edict_t *pEdict); +NOXREF const char *GetBuyStringForWeaponClass(int weaponClass); +NOXREF bool IsPrimaryWeaponClass(int classId); +NOXREF bool IsPrimaryWeaponId(int id); +NOXREF bool IsSecondaryWeaponClass(int classId); +NOXREF bool IsSecondaryWeaponId(int id); +NOXREF const char *GetWeaponAliasFromName(const char *weaponName); +NOXREF bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId); + +// refs +extern void (*CBasePlayer__UpdateClientData)(void); + +#endif // PLAYER_H diff --git a/regamedll/dlls/saverestore.h b/regamedll/dlls/saverestore.h index 41ca3f8b..52b2ea1c 100644 --- a/regamedll/dlls/saverestore.h +++ b/regamedll/dlls/saverestore.h @@ -1,254 +1,254 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -* In addition, as a special exception, the author gives permission to -* link the code of this program with the Half-Life Game Engine ("HL -* Engine") and Modified Game Libraries ("MODs") developed by Valve, -* L.L.C ("Valve"). You must obey the GNU General Public License in all -* respects for all of the code used other than the HL Engine and MODs -* from Valve. If you modify this file, you may extend this exception -* to your version of the file, but you are not obligated to do so. If -* you do not wish to do so, delete this exception statement from your -* version. -* -*/ - -#ifndef SAVERESTORE_H -#define SAVERESTORE_H -#ifdef _WIN32 -#pragma once -#endif - -#define MAX_ENTITYARRAY 64 - -#ifndef HOOK_GAMEDLL - +/* +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at +* your option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software Foundation, +* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* +* In addition, as a special exception, the author gives permission to +* link the code of this program with the Half-Life Game Engine ("HL +* Engine") and Modified Game Libraries ("MODs") developed by Valve, +* L.L.C ("Valve"). You must obey the GNU General Public License in all +* respects for all of the code used other than the HL Engine and MODs +* from Valve. If you modify this file, you may extend this exception +* to your version of the file, but you are not obligated to do so. If +* you do not wish to do so, delete this exception statement from your +* version. +* +*/ + +#ifndef SAVERESTORE_H +#define SAVERESTORE_H +#ifdef _WIN32 +#pragma once +#endif + +#define MAX_ENTITYARRAY 64 + +#ifndef HOOK_GAMEDLL + #define IMPLEMENT_ARRAY(var)\ var #define IMPLEMENT_ARRAY_CLASS(baseClass,var)\ - baseClass::var - -#define IMPLEMENT_SAVERESTORE(derivedClass,baseClass)\ - int derivedClass::Save(CSave &save)\ - {\ - if(!baseClass::Save(save))\ - return 0;\ - return save.WriteFields(#derivedClass, this, m_SaveData, ARRAYSIZE(m_SaveData));\ - }\ - int derivedClass::Restore(CRestore &restore)\ - {\ - if(!baseClass::Restore(restore))\ - return 0;\ - return restore.ReadFields(#derivedClass, this, m_SaveData, ARRAYSIZE(m_SaveData));\ - } - -#else // HOOK_GAMEDLL - + baseClass::var + +#define IMPLEMENT_SAVERESTORE(derivedClass,baseClass)\ + int derivedClass::Save(CSave &save)\ + {\ + if (!baseClass::Save(save))\ + return 0;\ + return save.WriteFields(#derivedClass, this, m_SaveData, ARRAYSIZE(m_SaveData));\ + }\ + int derivedClass::Restore(CRestore &restore)\ + {\ + if (!baseClass::Restore(restore))\ + return 0;\ + return restore.ReadFields(#derivedClass, this, m_SaveData, ARRAYSIZE(m_SaveData));\ + } + +#else // HOOK_GAMEDLL + #define IMPLEMENT_ARRAY(var)\ (*p##var) #define IMPLEMENT_ARRAY_CLASS(baseClass,var)\ - (*baseClass::p##var) - -#define IMPLEMENT_SAVERESTORE(derivedClass, baseClass)\ - int derivedClass::Save_(CSave &save)\ - {\ - if(!baseClass::Save(save))\ - return 0;\ - return save.WriteFields(#derivedClass, this, (*pm_SaveData), ARRAYSIZE(*pm_SaveData));\ - }\ - int derivedClass::Restore_(CRestore &restore)\ - {\ - if(!baseClass::Restore(restore))\ - return 0;\ - return restore.ReadFields(#derivedClass, this, (*pm_SaveData), ARRAYSIZE(*pm_SaveData));\ - } - -#endif // HOOK_GAMEDLL - -typedef enum -{ - GLOBAL_OFF, - GLOBAL_ON, - GLOBAL_DEAD -} GLOBALESTATE; - -typedef struct globalentity_s -{ - char name[64]; - char levelName[32]; - GLOBALESTATE state; - struct globalentity_s *pNext; -} globalentity_t; - -typedef struct -{ - unsigned short size; - unsigned short token; - char *pData; -} HEADER; - -class CBaseEntity; - -/* <39a4f3> ../cstrike/dlls/saverestore.h:33 */ -class CSaveRestoreBuffer -{ -public: - CSaveRestoreBuffer(void); - CSaveRestoreBuffer(SAVERESTOREDATA *pdata); - ~CSaveRestoreBuffer(void); - - int EntityIndex(entvars_t *pevLookup); - int EntityIndex(edict_t *pentLookup); - int EntityIndex(EOFFSET eoLookup); - int EntityIndex(CBaseEntity *pEntity); - int EntityFlags(int entityIndex, int flags = 0) - { - return EntityFlagsSet(entityIndex, flags); - } - int EntityFlagsSet(int entityIndex, int flags); - edict_t *EntityFromIndex(int entityIndex); - unsigned short TokenHash(const char *pszToken); - -protected: - - SAVERESTOREDATA *m_pdata; - void BufferRewind(int size); - unsigned int HashString(const char *pszToken); - -};/* size: 4, cachelines: 1, members: 1 */ - -/* <19e94e> ../cstrike/dlls/saverestore.h:50 */ -class CSave: public CSaveRestoreBuffer -{ -public: - CSave(SAVERESTOREDATA *pdata) : CSaveRestoreBuffer(pdata) {}; - - void WriteShort(const char *pname, const short *value, int count); - void WriteInt(const char *pname, const int *value, int count); - void WriteFloat(const char *pname, const float *value, int count); - void WriteTime(const char *pname, const float *value, int count); - void WriteData(const char *pname, int size, const char *pdata); - void WriteString(const char *pname, const char *pstring); - void WriteString(const char *pname, const int *stringId, int count); - void WriteVector(const char *pname, const Vector &value); - void WriteVector(const char *pname, const float *value, int count); - void WritePositionVector(const char *pname, const Vector &value); - void WritePositionVector(const char *pname, const float *value, int count); - void WriteFunction(const char *pname, void **data, int count); - int WriteEntVars(const char *pname, entvars_t *pev); - int WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount); -private: - -#ifdef HOOK_GAMEDLL -public: -#endif // HOOK_GAMEDLL - - int DataEmpty(const char *pdata, int size); - void BufferField(const char *pname, int size, const char *pdata); - void BufferString(char *pdata, int len); - void BufferData(const char *pdata, int size); - void BufferHeader(const char *pname, int size); - -};/* size: 4, cachelines: 1, members: 1 */ - -/* <1d9f06> ../cstrike/dlls/saverestore.h:82 */ -class CRestore: public CSaveRestoreBuffer -{ -public: - CRestore(SAVERESTOREDATA *pdata) : CSaveRestoreBuffer(pdata) - { - m_global = 0; - m_precache = TRUE; - } - int ReadEntVars(const char *pname, entvars_t *pev); - int ReadFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount); - int ReadField(void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount, int startField, int size, char *pName, void *pData); - int ReadInt(void); - short ReadShort(void); - int ReadNamedInt(const char *pName); - char *ReadNamedString(const char *pName); - inline int Empty(void) - { - return (m_pdata == NULL || ((m_pdata->pCurrentData - m_pdata->pBaseData) >= m_pdata->bufferSize)); - } - inline void SetGlobalMode(int global) - { - m_global = global; - } - inline void PrecacheMode(BOOL mode) - { - m_precache = mode; - } - -#ifdef HOOK_GAMEDLL -public: -#else -private: -#endif // HOOK_GAMEDLL - - char *BufferPointer(void); - void BufferReadBytes(char *pOutput, int size); - void BufferSkipBytes(int bytes); - int BufferSkipZString(void); - int BufferCheckZString(const char *string); - void BufferReadHeader(HEADER *pheader); - -private: - int m_global; - BOOL m_precache; - -};/* size: 12, cachelines: 1, members: 3 */ - -/* <245f6> ../cstrike/dlls/saverestore.h:153 */ -class CGlobalState -{ -public: - NOBODY CGlobalState(); - NOBODY void Reset(void); - NOBODY void ClearStates(void); - NOBODY void EntityAdd(string_t globalname, string_t mapName, GLOBALESTATE state); - void EntitySetState(string_t globalname, GLOBALESTATE state); - NOBODY void EntityUpdate(string_t globalname, string_t mapname); - NOBODY const globalentity_t *EntityFromTable(string_t globalname); - NOBODY GLOBALESTATE EntityGetState(string_t globalname); - int EntityInTable(string_t globalname) - { - if(Find(globalname) != NULL) - return 1; - return 0; - } - NOBODY int Save(CSave &save); - NOBODY int Restore(CRestore &restore); - void DumpGlobals(void); - - static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1]; - -#ifdef HOOK_GAMEDLL -public: -#else -private: -#endif // HOOK_GAMEDLL - globalentity_t *Find(string_t globalname); - -private: - globalentity_t *m_pList; - int m_listCount; - -};/* size: 8, cachelines: 1, members: 3 */ - -#endif // SAVERESTORE_H + (*baseClass::p##var) + +#define IMPLEMENT_SAVERESTORE(derivedClass, baseClass)\ + int derivedClass::Save_(CSave &save)\ + {\ + if (!baseClass::Save(save))\ + return 0;\ + return save.WriteFields(#derivedClass, this, (*pm_SaveData), ARRAYSIZE(*pm_SaveData));\ + }\ + int derivedClass::Restore_(CRestore &restore)\ + {\ + if (!baseClass::Restore(restore))\ + return 0;\ + return restore.ReadFields(#derivedClass, this, (*pm_SaveData), ARRAYSIZE(*pm_SaveData));\ + } + +#endif // HOOK_GAMEDLL + +typedef enum +{ + GLOBAL_OFF, + GLOBAL_ON, + GLOBAL_DEAD +} GLOBALESTATE; + +typedef struct globalentity_s +{ + char name[64]; + char levelName[32]; + GLOBALESTATE state; + struct globalentity_s *pNext; +} globalentity_t; + +typedef struct +{ + unsigned short size; + unsigned short token; + char *pData; +} HEADER; + +class CBaseEntity; + +/* <39a4f3> ../cstrike/dlls/saverestore.h:33 */ +class CSaveRestoreBuffer +{ +public: + CSaveRestoreBuffer(void); + CSaveRestoreBuffer(SAVERESTOREDATA *pdata); + ~CSaveRestoreBuffer(void); + + int EntityIndex(entvars_t *pevLookup); + int EntityIndex(edict_t *pentLookup); + int EntityIndex(EOFFSET eoLookup); + int EntityIndex(CBaseEntity *pEntity); + int EntityFlags(int entityIndex, int flags = 0) + { + return EntityFlagsSet(entityIndex, flags); + } + int EntityFlagsSet(int entityIndex, int flags); + edict_t *EntityFromIndex(int entityIndex); + unsigned short TokenHash(const char *pszToken); + +protected: + + SAVERESTOREDATA *m_pdata; + void BufferRewind(int size); + unsigned int HashString(const char *pszToken); + +};/* size: 4, cachelines: 1, members: 1 */ + +/* <19e94e> ../cstrike/dlls/saverestore.h:50 */ +class CSave: public CSaveRestoreBuffer +{ +public: + CSave(SAVERESTOREDATA *pdata) : CSaveRestoreBuffer(pdata) {}; + + void WriteShort(const char *pname, const short *value, int count); + void WriteInt(const char *pname, const int *value, int count); + void WriteFloat(const char *pname, const float *value, int count); + void WriteTime(const char *pname, const float *value, int count); + void WriteData(const char *pname, int size, const char *pdata); + void WriteString(const char *pname, const char *pstring); + void WriteString(const char *pname, const int *stringId, int count); + void WriteVector(const char *pname, const Vector &value); + void WriteVector(const char *pname, const float *value, int count); + void WritePositionVector(const char *pname, const Vector &value); + void WritePositionVector(const char *pname, const float *value, int count); + void WriteFunction(const char *pname, void **data, int count); + int WriteEntVars(const char *pname, entvars_t *pev); + int WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount); +private: + +#ifdef HOOK_GAMEDLL +public: +#endif // HOOK_GAMEDLL + + int DataEmpty(const char *pdata, int size); + void BufferField(const char *pname, int size, const char *pdata); + void BufferString(char *pdata, int len); + void BufferData(const char *pdata, int size); + void BufferHeader(const char *pname, int size); + +};/* size: 4, cachelines: 1, members: 1 */ + +/* <1d9f06> ../cstrike/dlls/saverestore.h:82 */ +class CRestore: public CSaveRestoreBuffer +{ +public: + CRestore(SAVERESTOREDATA *pdata) : CSaveRestoreBuffer(pdata) + { + m_global = 0; + m_precache = TRUE; + } + int ReadEntVars(const char *pname, entvars_t *pev); + int ReadFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount); + int ReadField(void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount, int startField, int size, char *pName, void *pData); + int ReadInt(void); + short ReadShort(void); + int ReadNamedInt(const char *pName); + char *ReadNamedString(const char *pName); + inline int Empty(void) + { + return (m_pdata == NULL || ((m_pdata->pCurrentData - m_pdata->pBaseData) >= m_pdata->bufferSize)); + } + inline void SetGlobalMode(int global) + { + m_global = global; + } + inline void PrecacheMode(BOOL mode) + { + m_precache = mode; + } + +#ifdef HOOK_GAMEDLL +public: +#else +private: +#endif // HOOK_GAMEDLL + + char *BufferPointer(void); + void BufferReadBytes(char *pOutput, int size); + void BufferSkipBytes(int bytes); + int BufferSkipZString(void); + int BufferCheckZString(const char *string); + void BufferReadHeader(HEADER *pheader); + +private: + int m_global; + BOOL m_precache; + +};/* size: 12, cachelines: 1, members: 3 */ + +/* <245f6> ../cstrike/dlls/saverestore.h:153 */ +class CGlobalState +{ +public: + NOBODY CGlobalState(); + NOBODY void Reset(void); + NOBODY void ClearStates(void); + NOBODY void EntityAdd(string_t globalname, string_t mapName, GLOBALESTATE state); + void EntitySetState(string_t globalname, GLOBALESTATE state); + NOBODY void EntityUpdate(string_t globalname, string_t mapname); + NOBODY const globalentity_t *EntityFromTable(string_t globalname); + NOBODY GLOBALESTATE EntityGetState(string_t globalname); + int EntityInTable(string_t globalname) + { + if (Find(globalname) != NULL) + return 1; + return 0; + } + NOBODY int Save(CSave &save); + NOBODY int Restore(CRestore &restore); + void DumpGlobals(void); + + static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1]; + +#ifdef HOOK_GAMEDLL +public: +#else +private: +#endif // HOOK_GAMEDLL + globalentity_t *Find(string_t globalname); + +private: + globalentity_t *m_pList; + int m_listCount; + +};/* size: 8, cachelines: 1, members: 3 */ + +#endif // SAVERESTORE_H diff --git a/regamedll/dlls/sound.cpp b/regamedll/dlls/sound.cpp index 541292fc..82a90643 100644 --- a/regamedll/dlls/sound.cpp +++ b/regamedll/dlls/sound.cpp @@ -1,666 +1,666 @@ -#include "precompiled.h" -#include "talkmonster.h" - -#ifndef HOOK_GAMEDLL - -UNTESTED dynpitchvol_t rgdpvpreset[27] = -{ - { 1, 255, 75, 95, 95, 10, 1, 50, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 2, 255, 85, 70, 88, 10, 1, 20, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 3, 255, 100, 50, 75, 10, 1, 10, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 4, 100, 100, 0, 0, 10, 1, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 5, 100, 100, 0, 0, 10, 1, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 6, 100, 100, 0, 0, 10, 1, 50, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 7, 100, 100, 0, 0, 5, 1, 40, 50, 1, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 8, 100, 100, 0, 0, 5, 1, 40, 50, 1, 150, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 9, 100, 100, 0, 0, 5, 1, 40, 50, 1, 750, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 10, 128, 100, 50, 75, 10, 1, 30, 40, 2, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 11, 128, 100, 50, 75, 10, 1, 30, 40, 2, 25, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 12, 128, 100, 50, 75, 10, 1, 30, 40, 2, 70, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 13, 50, 50, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 14, 70, 70, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 15, 90, 90, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 16, 120, 120, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 17, 180, 180, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 18, 255, 255, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 19, 200, 75, 90, 90, 10, 1, 50, 90, 2, 100, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 20, 255, 75, 97, 90, 10, 1, 50, 90, 1, 40, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 21, 100, 100, 0, 0, 10, 1, 30, 50, 3, 15, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 22, 160, 160, 0, 0, 10, 1, 50, 50, 3, 500, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 23, 255, 75, 88, 0, 10, 1, 40, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 24, 200, 20, 95, 70, 10, 1, 70, 70, 3, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 25, 180, 100, 50, 60, 10, 1, 40, 60, 2, 90, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 26, 60, 60, 0, 0, 10, 1, 40, 70, 3, 80, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 27, 128, 90, 10, 10, 10, 1, 20, 40, 1, 5, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } -}; - -int gcallsentences = 0; -int fSentencesInit = FALSE; - +#include "precompiled.h" +#include "talkmonster.h" + +#ifndef HOOK_GAMEDLL + +UNTESTED dynpitchvol_t rgdpvpreset[27] = +{ + { 1, 255, 75, 95, 95, 10, 1, 50, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 2, 255, 85, 70, 88, 10, 1, 20, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 3, 255, 100, 50, 75, 10, 1, 10, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 4, 100, 100, 0, 0, 10, 1, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 5, 100, 100, 0, 0, 10, 1, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 6, 100, 100, 0, 0, 10, 1, 50, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 7, 100, 100, 0, 0, 5, 1, 40, 50, 1, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 8, 100, 100, 0, 0, 5, 1, 40, 50, 1, 150, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 9, 100, 100, 0, 0, 5, 1, 40, 50, 1, 750, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 10, 128, 100, 50, 75, 10, 1, 30, 40, 2, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 11, 128, 100, 50, 75, 10, 1, 30, 40, 2, 25, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 12, 128, 100, 50, 75, 10, 1, 30, 40, 2, 70, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 13, 50, 50, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 14, 70, 70, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 15, 90, 90, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 16, 120, 120, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 17, 180, 180, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 18, 255, 255, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 19, 200, 75, 90, 90, 10, 1, 50, 90, 2, 100, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 20, 255, 75, 97, 90, 10, 1, 50, 90, 1, 40, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 21, 100, 100, 0, 0, 10, 1, 30, 50, 3, 15, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 22, 160, 160, 0, 0, 10, 1, 50, 50, 3, 500, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 23, 255, 75, 88, 0, 10, 1, 40, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 24, 200, 20, 95, 70, 10, 1, 70, 70, 3, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 25, 180, 100, 50, 60, 10, 1, 40, 60, 2, 90, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 26, 60, 60, 0, 0, 10, 1, 40, 70, 3, 80, 20, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 27, 128, 90, 10, 10, 10, 1, 20, 40, 1, 5, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +int gcallsentences = 0; +int fSentencesInit = FALSE; + TYPEDESCRIPTION CAmbientGeneric::m_SaveData[] = { DEFINE_FIELD(CAmbientGeneric, m_flAttenuation, FIELD_FLOAT), DEFINE_FIELD(CAmbientGeneric, m_fActive, FIELD_BOOLEAN), DEFINE_FIELD(CAmbientGeneric, m_fLooping, FIELD_BOOLEAN), DEFINE_ARRAY(CAmbientGeneric, m_dpv, FIELD_CHARACTER, sizeof(dynpitchvol_t)), -}; +}; TYPEDESCRIPTION CEnvSound::m_SaveData[] = { DEFINE_FIELD(CEnvSound, m_flRadius, FIELD_FLOAT), DEFINE_FIELD(CEnvSound, m_flRoomtype, FIELD_FLOAT), -}; - +}; + TYPEDESCRIPTION CSpeaker::m_SaveData[] = { DEFINE_FIELD(CSpeaker, m_preset, FIELD_INTEGER), -}; - -#else - -//dynpitchvol_t rgdpvpreset[27] -int fSentencesInit; -int gcallsentences; - +}; + +#else + +//dynpitchvol_t rgdpvpreset[27] +int fSentencesInit; +int gcallsentences; + TYPEDESCRIPTION (*CAmbientGeneric::pm_SaveData)[4]; -TYPEDESCRIPTION (*CEnvSound::pm_SaveData)[2]; -TYPEDESCRIPTION (*CSpeaker::pm_SaveData)[1]; - -#endif // HOOK_GAMEDLL - -char gszallsentencenames[ CVOXFILESENTENCEMAX ][ CBSENTENCENAME_MAX ]; -sentenceg rgsentenceg[ CSENTENCEG_MAX ]; - -char grgszTextureName[ CTEXTURESMAX ][ CBTEXTURENAMEMAX ]; -char grgchTextureType[ CTEXTURESMAX ]; -int fTextureTypeInit; -int gcTextures; - -/* <172311> ../cstrike/dlls/sound.cpp:140 */ -LINK_ENTITY_TO_CLASS(ambient_generic, CAmbientGeneric); - -/* <171c1f> ../cstrike/dlls/sound.cpp:155 */ -IMPLEMENT_SAVERESTORE(CAmbientGeneric, CBaseEntity); - -/* <1718ea> ../cstrike/dlls/sound.cpp:160 */ -NOBODY void CAmbientGeneric::Spawn(void) -{ -// { -// char *szSoundFile; // 191 -// } -} - -/* <1724f8> ../cstrike/dlls/sound.cpp:223 */ -NOBODY void CAmbientGeneric::Restart(void) -{ -// { -// char *szSoundFile; // 247 -// } -} - -/* <1724bb> ../cstrike/dlls/sound.cpp:296 */ -NOBODY void CAmbientGeneric::Precache(void) -{ -// { -// char *szSoundFile; // 298 -// } -} - -/* <171973> ../cstrike/dlls/sound.cpp:328 */ -NOBODY void CAmbientGeneric::RampThink(void) -{ -// { -// char *szSoundFile; // 330 -// int pitch; // 331 -// int vol; // 332 -// int flags; // 333 -// int fChanged; // 334 -// int prev; // 335 -// { -// int pos; // 429 -// } -// } -} - -/* <1723db> ../cstrike/dlls/sound.cpp:521 */ -NOBODY void CAmbientGeneric::InitModulationParms(void) -{ -// { -// int pitchinc; // 523 -// } -} - -/* <172418> ../cstrike/dlls/sound.cpp:605 */ -NOBODY void CAmbientGeneric::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// char *szSoundFile; // 607 -// float fraction; // 608 -// { -// int pitchinc; // 649 -// } -// } -} - -/* <171f38> ../cstrike/dlls/sound.cpp:717 */ -NOBODY void CAmbientGeneric::KeyValue(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 723 -// FStrEq(const char *sz1, -// const char *sz2); // 730 -// FStrEq(const char *sz1, -// const char *sz2); // 740 -// FStrEq(const char *sz1, -// const char *sz2); // 750 -// FStrEq(const char *sz1, -// const char *sz2); // 764 -// FStrEq(const char *sz1, -// const char *sz2); // 778 -// FStrEq(const char *sz1, -// const char *sz2); // 791 -// FStrEq(const char *sz1, -// const char *sz2); // 805 -// FStrEq(const char *sz1, -// const char *sz2); // 819 -// FStrEq(const char *sz1, -// const char *sz2); // 827 -// FStrEq(const char *sz1, -// const char *sz2); // 839 -// FStrEq(const char *sz1, -// const char *sz2); // 850 -// FStrEq(const char *sz1, -// const char *sz2); // 860 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 869 -// atoi(const char *__nptr); // 732 -// atoi(const char *__nptr); // 725 -// atoi(const char *__nptr); // 742 -// atoi(const char *__nptr); // 780 -// atoi(const char *__nptr); // 752 -// atoi(const char *__nptr); // 766 -// atoi(const char *__nptr); // 829 -// atoi(const char *__nptr); // 793 -// atoi(const char *__nptr); // 807 -// atoi(const char *__nptr); // 821 -// atoi(const char *__nptr); // 841 -// atoi(const char *__nptr); // 852 -// atoi(const char *__nptr); // 862 -} - -/* <172566> ../cstrike/dlls/sound.cpp:891 */ -LINK_ENTITY_TO_CLASS(env_sound, CEnvSound); - -/* <171bd2> ../cstrike/dlls/sound.cpp:898 */ -IMPLEMENT_SAVERESTORE(CEnvSound, CBaseEntity); - -/* <171d61> ../cstrike/dlls/sound.cpp:901 */ -NOBODY void CEnvSound::KeyValue(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 904 -// FStrEq(const char *sz1, -// const char *sz2); // 909 -// KeyValue(CEnvSound *const this, -// KeyValueData *pkvd); // 901 -// atof(const char *__nptr); // 906 -} - -/* <172633> ../cstrike/dlls/sound.cpp:919 */ -NOBODY BOOL FEnvSoundInRange(entvars_t *pev, entvars_t *pevTarget, float *pflRange) -{ -// { -// class CEnvSound *pSound; // 921 -// Vector vecSpot1; // 922 -// Vector vecSpot2; // 923 -// Vector vecRange; // 924 -// float flRange; // 925 -// TraceResult tr; // 926 -// GetClassPtr(CEnvSound *a); // 921 -// operator+(const Vector *const this, -// const Vector &v); // 922 -// operator+(const Vector *const this, -// const Vector &v); // 923 -// operator-(const Vector *const this, -// const Vector &v); // 937 -// Length(const Vector *const this); // 938 -// } -} - -/* <17428e> ../cstrike/dlls/sound.cpp:960 */ -NOBODY void CEnvSound::Think(void) -{ -// -//env_sound_Think_fast: // 1039 -// -//env_sound_Think_slow: // 1043 -// { -// edict_t *pentPlayer; // 965 -// class CBasePlayer *pPlayer; // 966 -// float flRange; // 972 -// edict(CBaseEntity *const this); // 965 -// FNullEnt(const edict_t *pent); // 968 -// VARS(edict_t *pent); // 971 -// FNullEnt(const edict_t *pent); // 977 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1024 -// } -} - -/* <171926> ../cstrike/dlls/sound.cpp:1053 */ -NOBODY void CEnvSound::Spawn(void) -{ -} - -// randomize list of sentence name indices - -/* <17093f> ../cstrike/dlls/sound.cpp:1084 */ -NOXREF void USENTENCEG_InitLRU(unsigned char *plru, int count) -{ - int i, j, k; - unsigned char temp; - - if (!fSentencesInit) - return; - - if (count > CSENTENCE_LRU_MAX) - count = CSENTENCE_LRU_MAX; - - for (i = 0; i < count; i++) - plru[i] = (unsigned char)i; - - // randomize array - for (i = 0; i < (count * 4); i++) - { - j = RANDOM_LONG(0, count - 1); - k = RANDOM_LONG(0, count - 1); - - temp = plru[j]; - plru[j] = plru[k]; - plru[k] = temp; - } -} - -// ignore lru. pick next sentence from sentence group. Go in order until we hit the last sentence, -// then repeat list if freset is true. If freset is false, then repeat last sentence. -// ipick is passed in as the requested sentence ordinal. -// ipick 'next' is returned. -// return of -1 indicates an error. - -/* <17290a> ../cstrike/dlls/sound.cpp:1115 */ -int USENTENCEG_PickSequential(int isentenceg, char *szfound, int ipick, int freset) -{ - char *szgroupname; - unsigned char count; - char sznum[8]; - - if (!fSentencesInit) - return -1; - - if (isentenceg < 0) - return -1; - - szgroupname = rgsentenceg[isentenceg].szgroupname; - count = rgsentenceg[isentenceg].count; - - if (count == 0) - return -1; - - if (ipick >= count) - ipick = count - 1; - - Q_strcpy(szfound, "!"); - Q_strcat(szfound, szgroupname); - Q_sprintf(sznum, "%d", ipick); - Q_strcat(szfound, sznum); - - if (ipick >= count) - { - if (freset) - return 0; // reset at end of list - else - return count; - } - - return ipick + 1; -} - -// pick a random sentence from rootname0 to rootnameX. -// picks from the rgsentenceg[isentenceg] least -// recently used, modifies lru array. returns the sentencename. -// note, lru must be seeded with 0-n randomized sentence numbers, with the -// rest of the lru filled with -1. The first integer in the lru is -// actually the size of the list. Returns ipick, the ordinal -// of the picked sentence within the group. - -/* <1729cb> ../cstrike/dlls/sound.cpp:1163 */ -int USENTENCEG_Pick(int isentenceg, char *szfound) -{ - char *szgroupname; - unsigned char *plru; - unsigned char i; - unsigned char count; - char sznum[8]; - unsigned char ipick; - BOOL ffound = FALSE; - - if (!fSentencesInit) - return -1; - - if (isentenceg < 0) - return -1; - - szgroupname = rgsentenceg[isentenceg].szgroupname; - count = rgsentenceg[isentenceg].count; - plru = rgsentenceg[isentenceg].rgblru; - - while (!ffound) - { - for (i = 0; i < count; i++) - if (plru[i] != 0xFF) - { - ipick = plru[i]; - plru[i] = 0xFF; - ffound = TRUE; - break; - } - - if (!ffound) - USENTENCEG_InitLRU(plru, count); - else - { - Q_strcpy(szfound, "!"); - Q_strcat(szfound, szgroupname); - Q_sprintf(sznum, "%d", ipick); - Q_strcat(szfound, sznum); - return ipick; - } - } - return -1; -} - -// Given sentence group rootname (name without number suffix), -// get sentence group index (isentenceg). Returns -1 if no such name. - -/* <172b0c> ../cstrike/dlls/sound.cpp:1213 */ -NOXREF int SENTENCEG_GetIndex(const char *szgroupname) -{ - int i; - - if (!fSentencesInit || !szgroupname) - return -1; - - // search rgsentenceg for match on szgroupname - - i = 0; - while (rgsentenceg[i].count != 0) - { - if (!Q_strcmp(szgroupname, rgsentenceg[i].szgroupname)) - return i; - - i++; - } - - return -1; -} - -// given sentence group index, play random sentence for given entity. -// returns ipick - which sentence was picked to -// play from the group. Ipick is only needed if you plan on stopping -// the sound before playback is done (see SENTENCEG_Stop). - -/* <170eb5> ../cstrike/dlls/sound.cpp:1238 */ -NOXREF int SENTENCEG_PlayRndI(edict_t *entity, int isentenceg, float volume, float attenuation, int flags, int pitch) -{ - char name[64]; - int ipick; - - if (!fSentencesInit) - return -1; - - name[0] = 0; - - ipick = USENTENCEG_Pick(isentenceg, name); - if (ipick > 0 && name) - EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); - - return ipick; -} - -/* <170a36> ../cstrike/dlls/sound.cpp:1257 */ -NOXREF int SENTENCEG_PlayRndSz(edict_t *entity, const char *szgroupname, float volume, float attenuation, int flags, int pitch) -{ - char name[64]; - int ipick; - int isentenceg; - - if (!fSentencesInit) - return -1; - - name[0] = 0; - - isentenceg = SENTENCEG_GetIndex(szgroupname); - if (isentenceg < 0) - { - ALERT( at_console, "No such sentence group %s\n", szgroupname ); - return -1; - } - - ipick = USENTENCEG_Pick(isentenceg, name); - - if (ipick >= 0 && name[0]) - EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); - - return ipick; -} - -// play sentences in sequential order from sentence group. Reset after last sentence. - -/* <173125> ../cstrike/dlls/sound.cpp:1285 */ -int SENTENCEG_PlaySequentialSz(edict_t *entity, const char *szgroupname, float volume, float attenuation, int flags, int pitch, int ipick, int freset) -{ - char name[64]; - int ipicknext; - int isentenceg; - - if (!fSentencesInit) - return -1; - - name[0] = 0; - - isentenceg = SENTENCEG_GetIndex(szgroupname); - if (isentenceg < 0) - return -1; - - ipicknext = USENTENCEG_PickSequential(isentenceg, name, ipick, freset); - if (ipicknext >= 0 && name[0]) - EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); - - return ipicknext; -} - -// for this entity, for the given sentence within the sentence group, stop -// the sentence. - -/* <173360> ../cstrike/dlls/sound.cpp:1311 */ -NOXREF void SENTENCEG_Stop(edict_t *entity, int isentenceg, int ipick) -{ - char buffer[64]; - char sznum[8]; - - if (!fSentencesInit) - return; - - if (isentenceg < 0 || ipick < 0) - return; - - Q_strcpy(buffer, "!"); - Q_strcat(buffer, rgsentenceg[isentenceg].szgroupname); - Q_sprintf(sznum, "%d", ipick); - Q_strcat(buffer, sznum); - - STOP_SOUND(entity, CHAN_VOICE, buffer); -} - -// open sentences.txt, scan for groups, build rgsentenceg -// Should be called from world spawn, only works on the -// first call and is ignored subsequently. - -/* <1734e4> ../cstrike/dlls/sound.cpp:1334 */ -void SENTENCEG_Init(void) -{ - char buffer[512]; - char szgroup[64]; - int i, j; - int isentencegs; - - if (fSentencesInit) - return; - - Q_memset(gszallsentencenames, 0, sizeof(gszallsentencenames)); - gcallsentences = 0; - - Q_memset(rgsentenceg, 0, CSENTENCEG_MAX * sizeof(sentenceg)); - Q_memset(buffer, 0, sizeof(buffer)); - Q_memset(szgroup, 0, sizeof(szgroup)); - - isentencegs = -1; - - int filePos = 0, fileSize; - byte *pMemFile = LOAD_FILE_FOR_ME("sound/sentences.txt", &fileSize); - if (!pMemFile) - return; - - // for each line in the file... - while (memfgets(pMemFile, fileSize, filePos, buffer, sizeof(buffer) - 1) != NULL) - { - // skip whitespace - i = 0; - while(buffer[i] && buffer[i] == ' ') - i++; - - if (!buffer[i]) - continue; - - if (buffer[i] == '/' || !isalpha(buffer[i])) - continue; - - // get sentence name - j = i; - while (buffer[j] && buffer[j] != ' ') - j++; - - if (!buffer[j]) - continue; - - if (gcallsentences > CVOXFILESENTENCEMAX) - { - ALERT (at_error, "Too many sentences in sentences.txt!\n"); - break; - } - - // null-terminate name and save in sentences array - buffer[j] = 0; - const char *pString = buffer + i; - - if (Q_strlen( pString ) >= CBSENTENCENAME_MAX) - ALERT( at_warning, "Sentence %s longer than %d letters\n", pString, CBSENTENCENAME_MAX - 1); - - Q_strcpy(gszallsentencenames[gcallsentences++], pString); - - j--; - if (j <= i) - continue; - - if (!isdigit(buffer[j])) - continue; - - // cut out suffix numbers - while (j > i && isdigit(buffer[j])) - j--; - - if (j <= i) - continue; - - buffer[j + 1] = 0; - - // if new name doesn't match previous group name, - // make a new group. - - if (Q_strcmp(szgroup, &(buffer[i]))) - { - // name doesn't match with prev name, - // copy name into group, init count to 1 - isentencegs++; - if (isentencegs >= CSENTENCEG_MAX) - { - ALERT(at_error, "Too many sentence groups in sentences.txt!\n"); - break; - } - - Q_strcpy(rgsentenceg[isentencegs].szgroupname, &(buffer[i])); - rgsentenceg[isentencegs].count = 1; - - Q_strcpy(szgroup, &(buffer[i])); - - continue; - } - else - { - //name matches with previous, increment group count - if (isentencegs >= 0) - rgsentenceg[isentencegs].count++; - } - } - - FREE_FILE(pMemFile); - - fSentencesInit = TRUE; - - // init lru lists - - i = 0; - - while (rgsentenceg[i].count && i < CSENTENCEG_MAX) - { - USENTENCEG_InitLRU(&(rgsentenceg[i].rgblru[0]), rgsentenceg[i].count); - i++; - } -} - -// convert sentence (sample) name to !sentencenum, return !sentencenum - -/* <172b37> ../cstrike/dlls/sound.cpp:1457 */ -int SENTENCEG_Lookup(const char *sample, char *sentencenum) -{ - char sznum[8]; - int i; - - // this is a sentence name; lookup sentence number - // and give to engine as string. - for (i = 0; i < gcallsentences; i++) - { - if (!Q_stricmp(gszallsentencenames[i], sample + 1)) - { - if (sentencenum) - { - Q_strcpy(sentencenum, "!"); - Q_sprintf(sznum, "%d", i); - Q_strcat(sentencenum, sznum); - } - return i; - } - } - - // sentence name not found! - return -1; -} - -/* <170992> ../cstrike/dlls/sound.cpp:1483 */ -void EMIT_SOUND_DYN(edict_t *entity, int channel, const char *sample, float volume, float attenuation, int flags, int pitch) -{ +TYPEDESCRIPTION (*CEnvSound::pm_SaveData)[2]; +TYPEDESCRIPTION (*CSpeaker::pm_SaveData)[1]; + +#endif // HOOK_GAMEDLL + +char gszallsentencenames[ CVOXFILESENTENCEMAX ][ CBSENTENCENAME_MAX ]; +sentenceg rgsentenceg[ CSENTENCEG_MAX ]; + +char grgszTextureName[ CTEXTURESMAX ][ CBTEXTURENAMEMAX ]; +char grgchTextureType[ CTEXTURESMAX ]; +int fTextureTypeInit; +int gcTextures; + +/* <172311> ../cstrike/dlls/sound.cpp:140 */ +LINK_ENTITY_TO_CLASS(ambient_generic, CAmbientGeneric); + +/* <171c1f> ../cstrike/dlls/sound.cpp:155 */ +IMPLEMENT_SAVERESTORE(CAmbientGeneric, CBaseEntity); + +/* <1718ea> ../cstrike/dlls/sound.cpp:160 */ +NOBODY void CAmbientGeneric::Spawn(void) +{ +// { +// char *szSoundFile; // 191 +// } +} + +/* <1724f8> ../cstrike/dlls/sound.cpp:223 */ +NOBODY void CAmbientGeneric::Restart(void) +{ +// { +// char *szSoundFile; // 247 +// } +} + +/* <1724bb> ../cstrike/dlls/sound.cpp:296 */ +NOBODY void CAmbientGeneric::Precache(void) +{ +// { +// char *szSoundFile; // 298 +// } +} + +/* <171973> ../cstrike/dlls/sound.cpp:328 */ +NOBODY void CAmbientGeneric::RampThink(void) +{ +// { +// char *szSoundFile; // 330 +// int pitch; // 331 +// int vol; // 332 +// int flags; // 333 +// int fChanged; // 334 +// int prev; // 335 +// { +// int pos; // 429 +// } +// } +} + +/* <1723db> ../cstrike/dlls/sound.cpp:521 */ +NOBODY void CAmbientGeneric::InitModulationParms(void) +{ +// { +// int pitchinc; // 523 +// } +} + +/* <172418> ../cstrike/dlls/sound.cpp:605 */ +NOBODY void CAmbientGeneric::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// char *szSoundFile; // 607 +// float fraction; // 608 +// { +// int pitchinc; // 649 +// } +// } +} + +/* <171f38> ../cstrike/dlls/sound.cpp:717 */ +NOBODY void CAmbientGeneric::KeyValue(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 723 +// FStrEq(const char *sz1, +// const char *sz2); // 730 +// FStrEq(const char *sz1, +// const char *sz2); // 740 +// FStrEq(const char *sz1, +// const char *sz2); // 750 +// FStrEq(const char *sz1, +// const char *sz2); // 764 +// FStrEq(const char *sz1, +// const char *sz2); // 778 +// FStrEq(const char *sz1, +// const char *sz2); // 791 +// FStrEq(const char *sz1, +// const char *sz2); // 805 +// FStrEq(const char *sz1, +// const char *sz2); // 819 +// FStrEq(const char *sz1, +// const char *sz2); // 827 +// FStrEq(const char *sz1, +// const char *sz2); // 839 +// FStrEq(const char *sz1, +// const char *sz2); // 850 +// FStrEq(const char *sz1, +// const char *sz2); // 860 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 869 +// atoi(const char *__nptr); // 732 +// atoi(const char *__nptr); // 725 +// atoi(const char *__nptr); // 742 +// atoi(const char *__nptr); // 780 +// atoi(const char *__nptr); // 752 +// atoi(const char *__nptr); // 766 +// atoi(const char *__nptr); // 829 +// atoi(const char *__nptr); // 793 +// atoi(const char *__nptr); // 807 +// atoi(const char *__nptr); // 821 +// atoi(const char *__nptr); // 841 +// atoi(const char *__nptr); // 852 +// atoi(const char *__nptr); // 862 +} + +/* <172566> ../cstrike/dlls/sound.cpp:891 */ +LINK_ENTITY_TO_CLASS(env_sound, CEnvSound); + +/* <171bd2> ../cstrike/dlls/sound.cpp:898 */ +IMPLEMENT_SAVERESTORE(CEnvSound, CBaseEntity); + +/* <171d61> ../cstrike/dlls/sound.cpp:901 */ +NOBODY void CEnvSound::KeyValue(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 904 +// FStrEq(const char *sz1, +// const char *sz2); // 909 +// KeyValue(CEnvSound *const this, +// KeyValueData *pkvd); // 901 +// atof(const char *__nptr); // 906 +} + +/* <172633> ../cstrike/dlls/sound.cpp:919 */ +NOBODY BOOL FEnvSoundInRange(entvars_t *pev, entvars_t *pevTarget, float *pflRange) +{ +// { +// class CEnvSound *pSound; // 921 +// Vector vecSpot1; // 922 +// Vector vecSpot2; // 923 +// Vector vecRange; // 924 +// float flRange; // 925 +// TraceResult tr; // 926 +// GetClassPtr(CEnvSound *a); // 921 +// operator+(const Vector *const this, +// const Vector &v); // 922 +// operator+(const Vector *const this, +// const Vector &v); // 923 +// operator-(const Vector *const this, +// const Vector &v); // 937 +// Length(const Vector *const this); // 938 +// } +} + +/* <17428e> ../cstrike/dlls/sound.cpp:960 */ +NOBODY void CEnvSound::Think(void) +{ +// +//env_sound_Think_fast: // 1039 +// +//env_sound_Think_slow: // 1043 +// { +// edict_t *pentPlayer; // 965 +// class CBasePlayer *pPlayer; // 966 +// float flRange; // 972 +// edict(CBaseEntity *const this); // 965 +// FNullEnt(const edict_t *pent); // 968 +// VARS(edict_t *pent); // 971 +// FNullEnt(const edict_t *pent); // 977 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1024 +// } +} + +/* <171926> ../cstrike/dlls/sound.cpp:1053 */ +NOBODY void CEnvSound::Spawn(void) +{ +} + +// randomize list of sentence name indices + +/* <17093f> ../cstrike/dlls/sound.cpp:1084 */ +NOXREF void USENTENCEG_InitLRU(unsigned char *plru, int count) +{ + int i, j, k; + unsigned char temp; + + if (!fSentencesInit) + return; + + if (count > CSENTENCE_LRU_MAX) + count = CSENTENCE_LRU_MAX; + + for (i = 0; i < count; i++) + plru[i] = (unsigned char)i; + + // randomize array + for (i = 0; i < (count * 4); i++) + { + j = RANDOM_LONG(0, count - 1); + k = RANDOM_LONG(0, count - 1); + + temp = plru[j]; + plru[j] = plru[k]; + plru[k] = temp; + } +} + +// ignore lru. pick next sentence from sentence group. Go in order until we hit the last sentence, +// then repeat list if freset is true. If freset is false, then repeat last sentence. +// ipick is passed in as the requested sentence ordinal. +// ipick 'next' is returned. +// return of -1 indicates an error. + +/* <17290a> ../cstrike/dlls/sound.cpp:1115 */ +int USENTENCEG_PickSequential(int isentenceg, char *szfound, int ipick, int freset) +{ + char *szgroupname; + unsigned char count; + char sznum[8]; + + if (!fSentencesInit) + return -1; + + if (isentenceg < 0) + return -1; + + szgroupname = rgsentenceg[isentenceg].szgroupname; + count = rgsentenceg[isentenceg].count; + + if (count == 0) + return -1; + + if (ipick >= count) + ipick = count - 1; + + Q_strcpy(szfound, "!"); + Q_strcat(szfound, szgroupname); + Q_sprintf(sznum, "%d", ipick); + Q_strcat(szfound, sznum); + + if (ipick >= count) + { + if (freset) + return 0; // reset at end of list + else + return count; + } + + return ipick + 1; +} + +// pick a random sentence from rootname0 to rootnameX. +// picks from the rgsentenceg[isentenceg] least +// recently used, modifies lru array. returns the sentencename. +// note, lru must be seeded with 0-n randomized sentence numbers, with the +// rest of the lru filled with -1. The first integer in the lru is +// actually the size of the list. Returns ipick, the ordinal +// of the picked sentence within the group. + +/* <1729cb> ../cstrike/dlls/sound.cpp:1163 */ +int USENTENCEG_Pick(int isentenceg, char *szfound) +{ + char *szgroupname; + unsigned char *plru; + unsigned char i; + unsigned char count; + char sznum[8]; + unsigned char ipick; + BOOL ffound = FALSE; + + if (!fSentencesInit) + return -1; + + if (isentenceg < 0) + return -1; + + szgroupname = rgsentenceg[isentenceg].szgroupname; + count = rgsentenceg[isentenceg].count; + plru = rgsentenceg[isentenceg].rgblru; + + while (!ffound) + { + for (i = 0; i < count; i++) + if (plru[i] != 0xFF) + { + ipick = plru[i]; + plru[i] = 0xFF; + ffound = TRUE; + break; + } + + if (!ffound) + USENTENCEG_InitLRU(plru, count); + else + { + Q_strcpy(szfound, "!"); + Q_strcat(szfound, szgroupname); + Q_sprintf(sznum, "%d", ipick); + Q_strcat(szfound, sznum); + return ipick; + } + } + return -1; +} + +// Given sentence group rootname (name without number suffix), +// get sentence group index (isentenceg). Returns -1 if no such name. + +/* <172b0c> ../cstrike/dlls/sound.cpp:1213 */ +NOXREF int SENTENCEG_GetIndex(const char *szgroupname) +{ + int i; + + if (!fSentencesInit || !szgroupname) + return -1; + + // search rgsentenceg for match on szgroupname + + i = 0; + while (rgsentenceg[i].count != 0) + { + if (!Q_strcmp(szgroupname, rgsentenceg[i].szgroupname)) + return i; + + i++; + } + + return -1; +} + +// given sentence group index, play random sentence for given entity. +// returns ipick - which sentence was picked to +// play from the group. Ipick is only needed if you plan on stopping +// the sound before playback is done (see SENTENCEG_Stop). + +/* <170eb5> ../cstrike/dlls/sound.cpp:1238 */ +NOXREF int SENTENCEG_PlayRndI(edict_t *entity, int isentenceg, float volume, float attenuation, int flags, int pitch) +{ + char name[64]; + int ipick; + + if (!fSentencesInit) + return -1; + + name[0] = 0; + + ipick = USENTENCEG_Pick(isentenceg, name); + if (ipick > 0 && name) + EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); + + return ipick; +} + +/* <170a36> ../cstrike/dlls/sound.cpp:1257 */ +NOXREF int SENTENCEG_PlayRndSz(edict_t *entity, const char *szgroupname, float volume, float attenuation, int flags, int pitch) +{ + char name[64]; + int ipick; + int isentenceg; + + if (!fSentencesInit) + return -1; + + name[0] = 0; + + isentenceg = SENTENCEG_GetIndex(szgroupname); + if (isentenceg < 0) + { + ALERT( at_console, "No such sentence group %s\n", szgroupname ); + return -1; + } + + ipick = USENTENCEG_Pick(isentenceg, name); + + if (ipick >= 0 && name[0]) + EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); + + return ipick; +} + +// play sentences in sequential order from sentence group. Reset after last sentence. + +/* <173125> ../cstrike/dlls/sound.cpp:1285 */ +int SENTENCEG_PlaySequentialSz(edict_t *entity, const char *szgroupname, float volume, float attenuation, int flags, int pitch, int ipick, int freset) +{ + char name[64]; + int ipicknext; + int isentenceg; + + if (!fSentencesInit) + return -1; + + name[0] = 0; + + isentenceg = SENTENCEG_GetIndex(szgroupname); + if (isentenceg < 0) + return -1; + + ipicknext = USENTENCEG_PickSequential(isentenceg, name, ipick, freset); + if (ipicknext >= 0 && name[0]) + EMIT_SOUND_DYN(entity, CHAN_VOICE, name, volume, attenuation, flags, pitch); + + return ipicknext; +} + +// for this entity, for the given sentence within the sentence group, stop +// the sentence. + +/* <173360> ../cstrike/dlls/sound.cpp:1311 */ +NOXREF void SENTENCEG_Stop(edict_t *entity, int isentenceg, int ipick) +{ + char buffer[64]; + char sznum[8]; + + if (!fSentencesInit) + return; + + if (isentenceg < 0 || ipick < 0) + return; + + Q_strcpy(buffer, "!"); + Q_strcat(buffer, rgsentenceg[isentenceg].szgroupname); + Q_sprintf(sznum, "%d", ipick); + Q_strcat(buffer, sznum); + + STOP_SOUND(entity, CHAN_VOICE, buffer); +} + +// open sentences.txt, scan for groups, build rgsentenceg +// Should be called from world spawn, only works on the +// first call and is ignored subsequently. + +/* <1734e4> ../cstrike/dlls/sound.cpp:1334 */ +void SENTENCEG_Init(void) +{ + char buffer[512]; + char szgroup[64]; + int i, j; + int isentencegs; + + if (fSentencesInit) + return; + + Q_memset(gszallsentencenames, 0, sizeof(gszallsentencenames)); + gcallsentences = 0; + + Q_memset(rgsentenceg, 0, CSENTENCEG_MAX * sizeof(sentenceg)); + Q_memset(buffer, 0, sizeof(buffer)); + Q_memset(szgroup, 0, sizeof(szgroup)); + + isentencegs = -1; + + int filePos = 0, fileSize; + byte *pMemFile = LOAD_FILE_FOR_ME("sound/sentences.txt", &fileSize); + if (!pMemFile) + return; + + // for each line in the file... + while (memfgets(pMemFile, fileSize, filePos, buffer, sizeof(buffer) - 1) != NULL) + { + // skip whitespace + i = 0; + while (buffer[i] && buffer[i] == ' ') + i++; + + if (!buffer[i]) + continue; + + if (buffer[i] == '/' || !isalpha(buffer[i])) + continue; + + // get sentence name + j = i; + while (buffer[j] && buffer[j] != ' ') + j++; + + if (!buffer[j]) + continue; + + if (gcallsentences > CVOXFILESENTENCEMAX) + { + ALERT (at_error, "Too many sentences in sentences.txt!\n"); + break; + } + + // null-terminate name and save in sentences array + buffer[j] = 0; + const char *pString = buffer + i; + + if (Q_strlen( pString ) >= CBSENTENCENAME_MAX) + ALERT( at_warning, "Sentence %s longer than %d letters\n", pString, CBSENTENCENAME_MAX - 1); + + Q_strcpy(gszallsentencenames[gcallsentences++], pString); + + j--; + if (j <= i) + continue; + + if (!isdigit(buffer[j])) + continue; + + // cut out suffix numbers + while (j > i && isdigit(buffer[j])) + j--; + + if (j <= i) + continue; + + buffer[j + 1] = 0; + + // if new name doesn't match previous group name, + // make a new group. + + if (Q_strcmp(szgroup, &(buffer[i]))) + { + // name doesn't match with prev name, + // copy name into group, init count to 1 + isentencegs++; + if (isentencegs >= CSENTENCEG_MAX) + { + ALERT(at_error, "Too many sentence groups in sentences.txt!\n"); + break; + } + + Q_strcpy(rgsentenceg[isentencegs].szgroupname, &(buffer[i])); + rgsentenceg[isentencegs].count = 1; + + Q_strcpy(szgroup, &(buffer[i])); + + continue; + } + else + { + //name matches with previous, increment group count + if (isentencegs >= 0) + rgsentenceg[isentencegs].count++; + } + } + + FREE_FILE(pMemFile); + + fSentencesInit = TRUE; + + // init lru lists + + i = 0; + + while (rgsentenceg[i].count && i < CSENTENCEG_MAX) + { + USENTENCEG_InitLRU(&(rgsentenceg[i].rgblru[0]), rgsentenceg[i].count); + i++; + } +} + +// convert sentence (sample) name to !sentencenum, return !sentencenum + +/* <172b37> ../cstrike/dlls/sound.cpp:1457 */ +int SENTENCEG_Lookup(const char *sample, char *sentencenum) +{ + char sznum[8]; + int i; + + // this is a sentence name; lookup sentence number + // and give to engine as string. + for (i = 0; i < gcallsentences; i++) + { + if (!Q_stricmp(gszallsentencenames[i], sample + 1)) + { + if (sentencenum) + { + Q_strcpy(sentencenum, "!"); + Q_sprintf(sznum, "%d", i); + Q_strcat(sentencenum, sznum); + } + return i; + } + } + + // sentence name not found! + return -1; +} + +/* <170992> ../cstrike/dlls/sound.cpp:1483 */ +void EMIT_SOUND_DYN(edict_t *entity, int channel, const char *sample, float volume, float attenuation, int flags, int pitch) +{ if (sample && *sample == '!') { char name[32]; @@ -670,484 +670,484 @@ void EMIT_SOUND_DYN(edict_t *entity, int channel, const char *sample, float volu ALERT(at_aiconsole, "Unable to find %s in sentences.txt\n", sample); } else - EMIT_SOUND_DYN2(entity, channel, sample, volume, attenuation, flags, pitch); -} - -// play a specific sentence over the HEV suit speaker - just pass player entity, and !sentencename - -/* <173770> ../cstrike/dlls/sound.cpp:1500 */ -void EMIT_SOUND_SUIT(edict_t *entity, const char *sample) -{ - float fvol; - int pitch = PITCH_NORM; - - fvol = CVAR_GET_FLOAT("suitvolume"); - if (RANDOM_LONG(0, 1)) - pitch = RANDOM_LONG(0, 6) + 98; - - if (fvol > 0.05) - EMIT_SOUND_DYN(entity, CHAN_STATIC, sample, fvol, ATTN_NORM, 0, pitch); -} - -// play a sentence, randomly selected from the passed in group id, over the HEV suit speaker - -/* <1738c3> ../cstrike/dlls/sound.cpp:1515 */ -void EMIT_GROUPID_SUIT(edict_t *entity, int isentenceg) -{ - float fvol; - int pitch = PITCH_NORM; - - fvol = CVAR_GET_FLOAT("suitvolume"); - if (RANDOM_LONG(0, 1)) - pitch = RANDOM_LONG(0, 6) + 98; - - if (fvol > 0.05) - SENTENCEG_PlayRndI(entity, isentenceg, fvol, ATTN_NORM, 0, pitch); -} - -// play a sentence, randomly selected from the passed in groupname - -/* <173a7b> ../cstrike/dlls/sound.cpp:1530 */ -NOXREF void EMIT_GROUPNAME_SUIT(edict_t *entity, const char *groupname) -{ - float fvol; - int pitch = PITCH_NORM; - - fvol = CVAR_GET_FLOAT("suitvolume"); - if (RANDOM_LONG(0, 1)) - pitch = RANDOM_LONG(0, 6) + 98; - - if (fvol > 0.05) - SENTENCEG_PlayRndSz(entity, groupname, fvol, ATTN_NORM, 0, pitch); -} - -/* <171cc9> ../cstrike/dlls/sound.cpp:1561 */ -char *memfgets(byte *pMemFile, int fileSize, int &filePos, char *pBuffer, int bufferSize) -{ - // Bullet-proofing - if (!pMemFile || !pBuffer) - return NULL; - - if (filePos >= fileSize) - return NULL; - - int i = filePos; - int last = fileSize; - - // fgets always NULL terminates, so only read bufferSize-1 characters - if (last - filePos > (bufferSize - 1)) - last = filePos + (bufferSize - 1); - - int stop = 0; - - // Stop at the next newline (inclusive) or end of buffer - while (i < last && !stop) - { - if (pMemFile[i] == '\n') - stop = 1; - i++; - } - - // If we actually advanced the pointer, copy it over - if (i != filePos) - { - // We read in size bytes - int size = i - filePos; - // copy it out - Q_memcpy(pBuffer, pMemFile + filePos, sizeof(byte) * size); - - // If the buffer isn't full, terminate (this is always true) - if (size < bufferSize) - pBuffer[size] = 0; - - // Update file pointer - filePos = i; - return pBuffer; - } - - // No data read, bail - return NULL; -} - -/* <173cc2> ../cstrike/dlls/sound.cpp:1610 */ -void TEXTURETYPE_Init(void) -{ - char buffer[512]; - int i, j; - byte *pMemFile; - int fileSize, filePos = 0; - - if (fTextureTypeInit) - return; - - Q_memset(&(grgszTextureName[0][0]), 0, sizeof(grgszTextureName)); - Q_memset(grgchTextureType, 0, sizeof(grgchTextureType)); - - gcTextures = 0; - Q_memset(buffer, 0, sizeof(buffer)); - - pMemFile = LOAD_FILE_FOR_ME("sound/materials.txt", &fileSize); - - if (!pMemFile) - return; - - // for each line in the file... - while (memfgets(pMemFile, fileSize, filePos, buffer, sizeof(buffer) - 1) != NULL && (gcTextures < CTEXTURESMAX)) - { - // skip whitespace - i = 0; - while(buffer[i] && isspace(buffer[i])) - i++; - - if (!buffer[i]) - continue; - - // skip comment lines - if (buffer[i] == '/' || !isalpha(buffer[i])) - continue; - - // get texture type - grgchTextureType[gcTextures] = toupper(buffer[i++]); - - // skip whitespace - while(buffer[i] && isspace(buffer[i])) - i++; - - if (!buffer[i]) - continue; - - // get sentence name - j = i; - while (buffer[j] && !isspace(buffer[j])) - j++; - - if (!buffer[j]) - continue; - - // null-terminate name and save in sentences array - j = min(j, CBTEXTURENAMEMAX - 1 + i); - buffer[j] = 0; - Q_strcpy(&(grgszTextureName[gcTextures++][0]), &(buffer[i])); - } - - FREE_FILE(pMemFile); - - fTextureTypeInit = TRUE; -} - -// given texture name, find texture type -// if not found, return type 'concrete' - -// NOTE: this routine should ONLY be called if the -// current texture under the player changes! - -/* <173d41> ../cstrike/dlls/sound.cpp:1680 */ -char TEXTURETYPE_Find(char *name) -{ - // CONSIDER: pre-sort texture names and perform faster binary search here - + EMIT_SOUND_DYN2(entity, channel, sample, volume, attenuation, flags, pitch); +} + +// play a specific sentence over the HEV suit speaker - just pass player entity, and !sentencename + +/* <173770> ../cstrike/dlls/sound.cpp:1500 */ +void EMIT_SOUND_SUIT(edict_t *entity, const char *sample) +{ + float fvol; + int pitch = PITCH_NORM; + + fvol = CVAR_GET_FLOAT("suitvolume"); + if (RANDOM_LONG(0, 1)) + pitch = RANDOM_LONG(0, 6) + 98; + + if (fvol > 0.05) + EMIT_SOUND_DYN(entity, CHAN_STATIC, sample, fvol, ATTN_NORM, 0, pitch); +} + +// play a sentence, randomly selected from the passed in group id, over the HEV suit speaker + +/* <1738c3> ../cstrike/dlls/sound.cpp:1515 */ +void EMIT_GROUPID_SUIT(edict_t *entity, int isentenceg) +{ + float fvol; + int pitch = PITCH_NORM; + + fvol = CVAR_GET_FLOAT("suitvolume"); + if (RANDOM_LONG(0, 1)) + pitch = RANDOM_LONG(0, 6) + 98; + + if (fvol > 0.05) + SENTENCEG_PlayRndI(entity, isentenceg, fvol, ATTN_NORM, 0, pitch); +} + +// play a sentence, randomly selected from the passed in groupname + +/* <173a7b> ../cstrike/dlls/sound.cpp:1530 */ +NOXREF void EMIT_GROUPNAME_SUIT(edict_t *entity, const char *groupname) +{ + float fvol; + int pitch = PITCH_NORM; + + fvol = CVAR_GET_FLOAT("suitvolume"); + if (RANDOM_LONG(0, 1)) + pitch = RANDOM_LONG(0, 6) + 98; + + if (fvol > 0.05) + SENTENCEG_PlayRndSz(entity, groupname, fvol, ATTN_NORM, 0, pitch); +} + +/* <171cc9> ../cstrike/dlls/sound.cpp:1561 */ +char *memfgets(byte *pMemFile, int fileSize, int &filePos, char *pBuffer, int bufferSize) +{ + // Bullet-proofing + if (!pMemFile || !pBuffer) + return NULL; + + if (filePos >= fileSize) + return NULL; + + int i = filePos; + int last = fileSize; + + // fgets always NULL terminates, so only read bufferSize-1 characters + if (last - filePos > (bufferSize - 1)) + last = filePos + (bufferSize - 1); + + int stop = 0; + + // Stop at the next newline (inclusive) or end of buffer + while (i < last && !stop) + { + if (pMemFile[i] == '\n') + stop = 1; + i++; + } + + // If we actually advanced the pointer, copy it over + if (i != filePos) + { + // We read in size bytes + int size = i - filePos; + // copy it out + Q_memcpy(pBuffer, pMemFile + filePos, sizeof(byte) * size); + + // If the buffer isn't full, terminate (this is always true) + if (size < bufferSize) + pBuffer[size] = 0; + + // Update file pointer + filePos = i; + return pBuffer; + } + + // No data read, bail + return NULL; +} + +/* <173cc2> ../cstrike/dlls/sound.cpp:1610 */ +void TEXTURETYPE_Init(void) +{ + char buffer[512]; + int i, j; + byte *pMemFile; + int fileSize, filePos = 0; + + if (fTextureTypeInit) + return; + + Q_memset(&(grgszTextureName[0][0]), 0, sizeof(grgszTextureName)); + Q_memset(grgchTextureType, 0, sizeof(grgchTextureType)); + + gcTextures = 0; + Q_memset(buffer, 0, sizeof(buffer)); + + pMemFile = LOAD_FILE_FOR_ME("sound/materials.txt", &fileSize); + + if (!pMemFile) + return; + + // for each line in the file... + while (memfgets(pMemFile, fileSize, filePos, buffer, sizeof(buffer) - 1) != NULL && (gcTextures < CTEXTURESMAX)) + { + // skip whitespace + i = 0; + while (buffer[i] && isspace(buffer[i])) + i++; + + if (!buffer[i]) + continue; + + // skip comment lines + if (buffer[i] == '/' || !isalpha(buffer[i])) + continue; + + // get texture type + grgchTextureType[gcTextures] = toupper(buffer[i++]); + + // skip whitespace + while (buffer[i] && isspace(buffer[i])) + i++; + + if (!buffer[i]) + continue; + + // get sentence name + j = i; + while (buffer[j] && !isspace(buffer[j])) + j++; + + if (!buffer[j]) + continue; + + // null-terminate name and save in sentences array + j = min(j, CBTEXTURENAMEMAX - 1 + i); + buffer[j] = 0; + Q_strcpy(&(grgszTextureName[gcTextures++][0]), &(buffer[i])); + } + + FREE_FILE(pMemFile); + + fTextureTypeInit = TRUE; +} + +// given texture name, find texture type +// if not found, return type 'concrete' + +// NOTE: this routine should ONLY be called if the +// current texture under the player changes! + +/* <173d41> ../cstrike/dlls/sound.cpp:1680 */ +char TEXTURETYPE_Find(char *name) +{ + // CONSIDER: pre-sort texture names and perform faster binary search here + for (int i = 0; i < gcTextures; i++) { if (!Q_strnicmp(name, &(grgszTextureName[ i ][0]), CBTEXTURENAMEMAX - 1)) return (grgchTextureType[ i ]); } - return CHAR_TEX_CONCRETE; -} - -// play a strike sound based on the texture that was hit by the attack traceline. VecSrc/VecEnd are the -// original traceline endpoints used by the attacker, iBulletType is the type of bullet that hit the texture. -// returns volume of strike instrument (crowbar) to play - -/* <173d99> ../cstrike/dlls/sound.cpp:1697 */ -float TEXTURETYPE_PlaySound(TraceResult *ptr, Vector vecSrc, Vector vecEnd, int iBulletType) -{ - // hit the world, try to play sound based on texture material type - - char chTextureType; - float fvol; - float fvolbar; - char szbuffer[64]; - const char *pTextureName; - float rgfl1[3]; - float rgfl2[3]; - char *rgsz[4]; - int cnt; - float fattn = ATTN_NORM; - - if (!g_pGameRules->PlayTextureSounds()) - return 0.0; - - CBaseEntity *pEntity = CBaseEntity::Instance(ptr->pHit); - - chTextureType = 0; - - if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) - chTextureType = CHAR_TEX_FLESH; // hit body - else - { - // hit world - // find texture under strike, get material type - // copy trace vector into array for trace_texture - - vecSrc.CopyToArray(rgfl1); - vecEnd.CopyToArray(rgfl2); - - // get texture from entity or world (world is ent(0)) - - if (pEntity) - pTextureName = TRACE_TEXTURE(ENT(pEntity->pev), rgfl1, rgfl2); - else - pTextureName = TRACE_TEXTURE(ENT(0), rgfl1, rgfl2); - - if (pTextureName) - { - // strip leading '-0' or '+0~' or '{' or '!' - if (*pTextureName == '-' || *pTextureName == '+') - pTextureName += 2; - - if (*pTextureName == '{' || *pTextureName == '!' || *pTextureName == '~' || *pTextureName == ' ') - pTextureName++; - - // '}}' - Q_strcpy(szbuffer, pTextureName); - szbuffer[CBTEXTURENAMEMAX - 1] = 0; - - // get texture type - chTextureType = TEXTURETYPE_Find(szbuffer); - } - } - - switch (chTextureType) - { - default: - case CHAR_TEX_CONCRETE: - fvol = 0.9f; - fvolbar = 0.6f; - - rgsz[0] = "player/pl_step1.wav"; - rgsz[1] = "player/pl_step2.wav"; - cnt = 2; - break; - case CHAR_TEX_METAL: - fvol = 0.9f; - fvolbar = 0.3f; - - rgsz[0] = "player/pl_metal1.wav"; - rgsz[1] = "player/pl_metal2.wav"; - cnt = 2; - break; - case CHAR_TEX_DIRT: - fvol = 0.9f; - fvolbar = 0.1f; - - rgsz[0] = "player/pl_dirt1.wav"; - rgsz[1] = "player/pl_dirt2.wav"; - rgsz[2] = "player/pl_dirt3.wav"; - cnt = 3; - break; - case CHAR_TEX_VENT: - fvol = 0.5f; - fvolbar = 0.3f; - - rgsz[0] = "player/pl_duct1.wav"; - rgsz[1] = "player/pl_duct1.wav"; - cnt = 2; - break; - case CHAR_TEX_GRATE: - fvol = 0.9f; - fvolbar = 0.5f; - - rgsz[0] = "player/pl_grate1.wav"; - rgsz[1] = "player/pl_grate4.wav"; - cnt = 2; - break; - case CHAR_TEX_TILE: - fvol = 0.8f; - fvolbar = 0.2f; - - rgsz[0] = "player/pl_tile1.wav"; - rgsz[1] = "player/pl_tile3.wav"; - rgsz[2] = "player/pl_tile2.wav"; - rgsz[3] = "player/pl_tile4.wav"; - cnt = 4; - break; - case CHAR_TEX_SLOSH: - fvol = 0.9f; - fvolbar = 0.0f; - - rgsz[0] = "player/pl_slosh1.wav"; - rgsz[1] = "player/pl_slosh3.wav"; - rgsz[2] = "player/pl_slosh2.wav"; - rgsz[3] = "player/pl_slosh4.wav"; - cnt = 4; - break; - case CHAR_TEX_SNOW: - fvol = 0.7f; - fvolbar = 0.4f; - - rgsz[0] = "player/pl_snow1.wav"; - rgsz[1] = "player/pl_snow2.wav"; - rgsz[2] = "player/pl_snow3.wav"; - rgsz[3] = "player/pl_snow4.wav"; - cnt = 4; - break; - case CHAR_TEX_WOOD: - fvol = 0.9f; - fvolbar = 0.2f; - - rgsz[0] = "debris/wood1.wav"; - rgsz[1] = "debris/wood2.wav"; - rgsz[2] = "debris/wood3.wav"; - cnt = 3; - break; - case CHAR_TEX_GLASS: - case CHAR_TEX_COMPUTER: - fvol = 0.8f; - fvolbar = 0.2f; - - rgsz[0] = "debris/glass1.wav"; - rgsz[1] = "debris/glass2.wav"; - rgsz[2] = "debris/glass3.wav"; - cnt = 3; - break; - case CHAR_TEX_FLESH: - if (iBulletType == BULLET_PLAYER_CROWBAR) - return 0.0f; // crowbar already makes this sound - - fvol = 1.0f; - fvolbar = 0.2f; - - rgsz[0] = "weapons/bullet_hit1.wav"; - rgsz[1] = "weapons/bullet_hit2.wav"; - fattn = 1.0f; - cnt = 2; - break; - } - - // did we hit a breakable? - if (pEntity && FClassnameIs(pEntity->pev, "func_breakable")) - { - // drop volumes, the object will already play a damaged sound - fvol /= 1.5f; - fvolbar /= 2.0f; - } - else if (chTextureType == CHAR_TEX_COMPUTER) - { - // play random spark if computer - - if (ptr->flFraction != 1.0 && RANDOM_LONG(0, 1)) - { - UTIL_Sparks(ptr->vecEndPos); - - //random volume range - float flVolume = RANDOM_FLOAT(0.7 , 1.0); - - switch (RANDOM_LONG(0, 1)) - { - case 0: - UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, "buttons/spark5.wav", flVolume, ATTN_NORM, 0, 100); - break; - case 1: - UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, "buttons/spark6.wav", flVolume, ATTN_NORM, 0, 100); - break; - } - } - } - - // play material hit sound - UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, rgsz[RANDOM_LONG(0, cnt - 1)], fvol, fattn, 0, 96 + RANDOM_LONG(0, 0xf)); - - return fvolbar; -} - -/* <17406b> ../cstrike/dlls/sound.cpp:1885 */ -LINK_ENTITY_TO_CLASS(speaker, CSpeaker); - -/* <171b85> ../cstrike/dlls/sound.cpp:1891 */ -IMPLEMENT_SAVERESTORE(CSpeaker, CBaseEntity); - -/* <171c6b> ../cstrike/dlls/sound.cpp:1896 */ -NOBODY void CSpeaker::Spawn(void) -{ -// { -// char *szSoundFile; // 1898 -// } -// Spawn(CSpeaker *const this); // 1896 -} - -/* <171a16> ../cstrike/dlls/sound.cpp:1924 */ -NOBODY void CSpeaker::Precache(void) -{ -// Precache(CSpeaker *const this); // 1924 -} - -/* <172b7a> ../cstrike/dlls/sound.cpp:1930 */ -NOBODY void CSpeaker::SpeakerThink(void) -{ -// { -// char *szSoundFile; // 1932 -// float flvolume; // 1933 -// float flattenuation; // 1934 -// int flags; // 1935 -// int pitch; // 1936 -// SENTENCEG_PlayRndSz(edict_t *entity, -// const char *szgroupname, -// float volume, -// float attenuation, -// int flags, -// int pitch); // 1980 -// } -} - -/* <171a4e> ../cstrike/dlls/sound.cpp:1997 */ -NOBODY void CSpeaker::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// int fActive; // 1999 -// } -} - -/* <171e86> ../cstrike/dlls/sound.cpp:2044 */ -NOBODY void CSpeaker::KeyValue(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2048 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 2054 -// KeyValue(CSpeaker *const this, -// KeyValueData *pkvd); // 2044 -} - -#ifdef HOOK_GAMEDLL - -int CAmbientGeneric::Save(CSave &save) -{ - return Save_(save); -} - -int CAmbientGeneric::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -int CEnvSound::Save(CSave &save) -{ - return Save_(save); -} - -int CEnvSound::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -int CSpeaker::Save(CSave &save) -{ - return Save_(save); -} - -int CSpeaker::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -#endif // HOOK_GAMEDLL + return CHAR_TEX_CONCRETE; +} + +// play a strike sound based on the texture that was hit by the attack traceline. VecSrc/VecEnd are the +// original traceline endpoints used by the attacker, iBulletType is the type of bullet that hit the texture. +// returns volume of strike instrument (crowbar) to play + +/* <173d99> ../cstrike/dlls/sound.cpp:1697 */ +float TEXTURETYPE_PlaySound(TraceResult *ptr, Vector vecSrc, Vector vecEnd, int iBulletType) +{ + // hit the world, try to play sound based on texture material type + + char chTextureType; + float fvol; + float fvolbar; + char szbuffer[64]; + const char *pTextureName; + float rgfl1[3]; + float rgfl2[3]; + char *rgsz[4]; + int cnt; + float fattn = ATTN_NORM; + + if (!g_pGameRules->PlayTextureSounds()) + return 0.0; + + CBaseEntity *pEntity = CBaseEntity::Instance(ptr->pHit); + + chTextureType = 0; + + if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) + chTextureType = CHAR_TEX_FLESH; // hit body + else + { + // hit world + // find texture under strike, get material type + // copy trace vector into array for trace_texture + + vecSrc.CopyToArray(rgfl1); + vecEnd.CopyToArray(rgfl2); + + // get texture from entity or world (world is ent(0)) + + if (pEntity) + pTextureName = TRACE_TEXTURE(ENT(pEntity->pev), rgfl1, rgfl2); + else + pTextureName = TRACE_TEXTURE(ENT(0), rgfl1, rgfl2); + + if (pTextureName) + { + // strip leading '-0' or '+0~' or '{' or '!' + if (*pTextureName == '-' || *pTextureName == '+') + pTextureName += 2; + + if (*pTextureName == '{' || *pTextureName == '!' || *pTextureName == '~' || *pTextureName == ' ') + pTextureName++; + + // '}}' + Q_strcpy(szbuffer, pTextureName); + szbuffer[CBTEXTURENAMEMAX - 1] = 0; + + // get texture type + chTextureType = TEXTURETYPE_Find(szbuffer); + } + } + + switch (chTextureType) + { + default: + case CHAR_TEX_CONCRETE: + fvol = 0.9f; + fvolbar = 0.6f; + + rgsz[0] = "player/pl_step1.wav"; + rgsz[1] = "player/pl_step2.wav"; + cnt = 2; + break; + case CHAR_TEX_METAL: + fvol = 0.9f; + fvolbar = 0.3f; + + rgsz[0] = "player/pl_metal1.wav"; + rgsz[1] = "player/pl_metal2.wav"; + cnt = 2; + break; + case CHAR_TEX_DIRT: + fvol = 0.9f; + fvolbar = 0.1f; + + rgsz[0] = "player/pl_dirt1.wav"; + rgsz[1] = "player/pl_dirt2.wav"; + rgsz[2] = "player/pl_dirt3.wav"; + cnt = 3; + break; + case CHAR_TEX_VENT: + fvol = 0.5f; + fvolbar = 0.3f; + + rgsz[0] = "player/pl_duct1.wav"; + rgsz[1] = "player/pl_duct1.wav"; + cnt = 2; + break; + case CHAR_TEX_GRATE: + fvol = 0.9f; + fvolbar = 0.5f; + + rgsz[0] = "player/pl_grate1.wav"; + rgsz[1] = "player/pl_grate4.wav"; + cnt = 2; + break; + case CHAR_TEX_TILE: + fvol = 0.8f; + fvolbar = 0.2f; + + rgsz[0] = "player/pl_tile1.wav"; + rgsz[1] = "player/pl_tile3.wav"; + rgsz[2] = "player/pl_tile2.wav"; + rgsz[3] = "player/pl_tile4.wav"; + cnt = 4; + break; + case CHAR_TEX_SLOSH: + fvol = 0.9f; + fvolbar = 0.0f; + + rgsz[0] = "player/pl_slosh1.wav"; + rgsz[1] = "player/pl_slosh3.wav"; + rgsz[2] = "player/pl_slosh2.wav"; + rgsz[3] = "player/pl_slosh4.wav"; + cnt = 4; + break; + case CHAR_TEX_SNOW: + fvol = 0.7f; + fvolbar = 0.4f; + + rgsz[0] = "player/pl_snow1.wav"; + rgsz[1] = "player/pl_snow2.wav"; + rgsz[2] = "player/pl_snow3.wav"; + rgsz[3] = "player/pl_snow4.wav"; + cnt = 4; + break; + case CHAR_TEX_WOOD: + fvol = 0.9f; + fvolbar = 0.2f; + + rgsz[0] = "debris/wood1.wav"; + rgsz[1] = "debris/wood2.wav"; + rgsz[2] = "debris/wood3.wav"; + cnt = 3; + break; + case CHAR_TEX_GLASS: + case CHAR_TEX_COMPUTER: + fvol = 0.8f; + fvolbar = 0.2f; + + rgsz[0] = "debris/glass1.wav"; + rgsz[1] = "debris/glass2.wav"; + rgsz[2] = "debris/glass3.wav"; + cnt = 3; + break; + case CHAR_TEX_FLESH: + if (iBulletType == BULLET_PLAYER_CROWBAR) + return 0.0f; // crowbar already makes this sound + + fvol = 1.0f; + fvolbar = 0.2f; + + rgsz[0] = "weapons/bullet_hit1.wav"; + rgsz[1] = "weapons/bullet_hit2.wav"; + fattn = 1.0f; + cnt = 2; + break; + } + + // did we hit a breakable? + if (pEntity && FClassnameIs(pEntity->pev, "func_breakable")) + { + // drop volumes, the object will already play a damaged sound + fvol /= 1.5f; + fvolbar /= 2.0f; + } + else if (chTextureType == CHAR_TEX_COMPUTER) + { + // play random spark if computer + + if (ptr->flFraction != 1.0 && RANDOM_LONG(0, 1)) + { + UTIL_Sparks(ptr->vecEndPos); + + //random volume range + float flVolume = RANDOM_FLOAT(0.7 , 1.0); + + switch (RANDOM_LONG(0, 1)) + { + case 0: + UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, "buttons/spark5.wav", flVolume, ATTN_NORM, 0, 100); + break; + case 1: + UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, "buttons/spark6.wav", flVolume, ATTN_NORM, 0, 100); + break; + } + } + } + + // play material hit sound + UTIL_EmitAmbientSound(ENT(0), ptr->vecEndPos, rgsz[RANDOM_LONG(0, cnt - 1)], fvol, fattn, 0, 96 + RANDOM_LONG(0, 0xf)); + + return fvolbar; +} + +/* <17406b> ../cstrike/dlls/sound.cpp:1885 */ +LINK_ENTITY_TO_CLASS(speaker, CSpeaker); + +/* <171b85> ../cstrike/dlls/sound.cpp:1891 */ +IMPLEMENT_SAVERESTORE(CSpeaker, CBaseEntity); + +/* <171c6b> ../cstrike/dlls/sound.cpp:1896 */ +NOBODY void CSpeaker::Spawn(void) +{ +// { +// char *szSoundFile; // 1898 +// } +// Spawn(CSpeaker *const this); // 1896 +} + +/* <171a16> ../cstrike/dlls/sound.cpp:1924 */ +NOBODY void CSpeaker::Precache(void) +{ +// Precache(CSpeaker *const this); // 1924 +} + +/* <172b7a> ../cstrike/dlls/sound.cpp:1930 */ +NOBODY void CSpeaker::SpeakerThink(void) +{ +// { +// char *szSoundFile; // 1932 +// float flvolume; // 1933 +// float flattenuation; // 1934 +// int flags; // 1935 +// int pitch; // 1936 +// SENTENCEG_PlayRndSz(edict_t *entity, +// const char *szgroupname, +// float volume, +// float attenuation, +// int flags, +// int pitch); // 1980 +// } +} + +/* <171a4e> ../cstrike/dlls/sound.cpp:1997 */ +NOBODY void CSpeaker::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// int fActive; // 1999 +// } +} + +/* <171e86> ../cstrike/dlls/sound.cpp:2044 */ +NOBODY void CSpeaker::KeyValue(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2048 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 2054 +// KeyValue(CSpeaker *const this, +// KeyValueData *pkvd); // 2044 +} + +#ifdef HOOK_GAMEDLL + +int CAmbientGeneric::Save(CSave &save) +{ + return Save_(save); +} + +int CAmbientGeneric::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +int CEnvSound::Save(CSave &save) +{ + return Save_(save); +} + +int CEnvSound::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +int CSpeaker::Save(CSave &save) +{ + return Save_(save); +} + +int CSpeaker::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/spectator.cpp b/regamedll/dlls/spectator.cpp index 3d7d5481..77c4f631 100644 --- a/regamedll/dlls/spectator.cpp +++ b/regamedll/dlls/spectator.cpp @@ -1,38 +1,38 @@ -#include "precompiled.h" - -NOXREF void CBaseSpectator::SpectatorConnect(void) -{ - pev->flags = FL_SPECTATOR; - pev->solid = SOLID_NOT; - pev->movetype = MOVETYPE_NOCLIP; - - m_pGoalEnt = NULL; -} - -void CBaseSpectator::SpectatorDisconnect(void) -{ - ; -} - -/* <17d35d> ../cstrike/dlls/spectator.cpp:61 */ -void CBaseSpectator::SpectatorImpulseCommand(void) -{ - static edict_t *pGoal = NULL; - +#include "precompiled.h" + +NOXREF void CBaseSpectator::SpectatorConnect(void) +{ + pev->flags = FL_SPECTATOR; + pev->solid = SOLID_NOT; + pev->movetype = MOVETYPE_NOCLIP; + + m_pGoalEnt = NULL; +} + +void CBaseSpectator::SpectatorDisconnect(void) +{ + ; +} + +/* <17d35d> ../cstrike/dlls/spectator.cpp:61 */ +void CBaseSpectator::SpectatorImpulseCommand(void) +{ + static edict_t *pGoal = NULL; + edict_t *pPreviousGoal; - edict_t *pCurrentGoal; - BOOL bFound; - + edict_t *pCurrentGoal; + BOOL bFound; + switch (pev->impulse) { case 1: { - // teleport the spectator to the next spawn point - // note that if the spectator is tracking, this doesn't do - // much - pPreviousGoal = pGoal; - pCurrentGoal = pGoal; - // Start at the current goal, skip the world, and stop if we looped + // teleport the spectator to the next spawn point + // note that if the spectator is tracking, this doesn't do + // much + pPreviousGoal = pGoal; + pCurrentGoal = pGoal; + // Start at the current goal, skip the world, and stop if we looped // back around bFound = FALSE; @@ -71,36 +71,36 @@ void CBaseSpectator::SpectatorImpulseCommand(void) break; } - pev->impulse = 0; -} - -NOXREF void CBaseSpectator::SpectatorThink(void) -{ - if (!(pev->flags & FL_SPECTATOR)) - pev->flags = FL_SPECTATOR; - - pev->solid = SOLID_NOT; - pev->movetype = MOVETYPE_NOCLIP; - - if (pev->impulse) - SpectatorImpulseCommand(); -} - -/* <17d297> ../cstrike/dlls/spectator.cpp:142 */ -NOXREF void CBaseSpectator::Spawn_(void) -{ - pev->flags = FL_SPECTATOR; - pev->solid = SOLID_NOT; - pev->movetype = MOVETYPE_NOCLIP; - - m_pGoalEnt = NULL; -} - -#ifdef HOOK_GAMEDLL - -void CBaseSpectator::Spawn(void) -{ - Spawn_(); -} - -#endif // HOOK_GAMEDLL + pev->impulse = 0; +} + +NOXREF void CBaseSpectator::SpectatorThink(void) +{ + if (!(pev->flags & FL_SPECTATOR)) + pev->flags = FL_SPECTATOR; + + pev->solid = SOLID_NOT; + pev->movetype = MOVETYPE_NOCLIP; + + if (pev->impulse) + SpectatorImpulseCommand(); +} + +/* <17d297> ../cstrike/dlls/spectator.cpp:142 */ +NOXREF void CBaseSpectator::Spawn_(void) +{ + pev->flags = FL_SPECTATOR; + pev->solid = SOLID_NOT; + pev->movetype = MOVETYPE_NOCLIP; + + m_pGoalEnt = NULL; +} + +#ifdef HOOK_GAMEDLL + +void CBaseSpectator::Spawn(void) +{ + Spawn_(); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/subs.h b/regamedll/dlls/subs.h index d0a06d71..468fb1ad 100644 --- a/regamedll/dlls/subs.h +++ b/regamedll/dlls/subs.h @@ -1,69 +1,69 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -* In addition, as a special exception, the author gives permission to -* link the code of this program with the Half-Life Game Engine ("HL -* Engine") and Modified Game Libraries ("MODs") developed by Valve, -* L.L.C ("Valve"). You must obey the GNU General Public License in all -* respects for all of the code used other than the HL Engine and MODs -* from Valve. If you modify this file, you may extend this exception -* to your version of the file, but you are not obligated to do so. If -* you do not wish to do so, delete this exception statement from your -* version. -* -*/ - -#ifndef SUBS_H -#define SUBS_H -#ifdef _WIN32 -#pragma once -#endif - -/* <182770> ../cstrike/dlls/subs.cpp:45 */ -class CNullEntity: public CBaseEntity -{ -public: - NOBODY virtual void Spawn(void); - +/* +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at +* your option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software Foundation, +* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +* +* In addition, as a special exception, the author gives permission to +* link the code of this program with the Half-Life Game Engine ("HL +* Engine") and Modified Game Libraries ("MODs") developed by Valve, +* L.L.C ("Valve"). You must obey the GNU General Public License in all +* respects for all of the code used other than the HL Engine and MODs +* from Valve. If you modify this file, you may extend this exception +* to your version of the file, but you are not obligated to do so. If +* you do not wish to do so, delete this exception statement from your +* version. +* +*/ + +#ifndef SUBS_H +#define SUBS_H +#ifdef _WIN32 +#pragma once +#endif + +/* <182770> ../cstrike/dlls/subs.cpp:45 */ +class CNullEntity: public CBaseEntity +{ +public: + NOBODY virtual void Spawn(void); + #ifdef HOOK_GAMEDLL void Spawn_(void); -#endif // HOOK_GAMEDLL - -};/* size: 152, cachelines: 3, members: 1 */ - -/* <1827de> ../cstrike/dlls/subs.cpp:59 */ -class CBaseDMStart: public CPointEntity -{ -public: - NOBODY virtual void KeyValue(KeyValueData *pkvd); - NOBODY virtual BOOL IsTriggered(CBaseEntity *pEntity); - +#endif // HOOK_GAMEDLL + +};/* size: 152, cachelines: 3, members: 1 */ + +/* <1827de> ../cstrike/dlls/subs.cpp:59 */ +class CBaseDMStart: public CPointEntity +{ +public: + NOBODY virtual void KeyValue(KeyValueData *pkvd); + NOBODY virtual BOOL IsTriggered(CBaseEntity *pEntity); + #ifdef HOOK_GAMEDLL - void KeyValue_(KeyValueData *pkvd); + void KeyValue_(KeyValueData *pkvd); BOOL IsTriggered_(CBaseEntity *pEntity); -#endif // HOOK_GAMEDLL - -};/* size: 152, cachelines: 3, members: 1 */ - -void FireTargets(const char *targetName, CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); -void SetMovedir(entvars_t *pev); -NOBODY BOOL FEntIsVisible(entvars_t *pev, entvars_t *pevTarget); - +#endif // HOOK_GAMEDLL + +};/* size: 152, cachelines: 3, members: 1 */ + +void FireTargets(const char *targetName, CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); +void SetMovedir(entvars_t *pev); +NOBODY BOOL FEntIsVisible(entvars_t *pev, entvars_t *pevTarget); + #endif // SUBS_H \ No newline at end of file diff --git a/regamedll/dlls/training_gamerules.cpp b/regamedll/dlls/training_gamerules.cpp index a0a8e433..056984be 100644 --- a/regamedll/dlls/training_gamerules.cpp +++ b/regamedll/dlls/training_gamerules.cpp @@ -1,66 +1,66 @@ -#include "precompiled.h" - -/* -* Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -TYPEDESCRIPTION CFuncWeaponCheck::m_SaveData[] = -{ - DEFINE_FIELD(CFuncWeaponCheck, sTriggerWithItems, FIELD_STRING), - DEFINE_FIELD(CFuncWeaponCheck, sTriggerNoItems, FIELD_STRING), - DEFINE_FIELD(CFuncWeaponCheck, iItemCount, FIELD_INTEGER), - DEFINE_ARRAY(CFuncWeaponCheck, sMaster, FIELD_STRING, MAX_ITEM_COUNTS), - DEFINE_FIELD(CFuncWeaponCheck, sItemName, FIELD_STRING), - DEFINE_FIELD(CFuncWeaponCheck, iAnyWeapon, FIELD_INTEGER), -}; - -TYPEDESCRIPTION CBaseGrenCatch::m_SaveData[] = -{ - DEFINE_FIELD(CBaseGrenCatch, m_NeedGrenadeType, FIELD_INTEGER), - DEFINE_FIELD(CBaseGrenCatch, m_fSmokeTouching, FIELD_BOOLEAN), - DEFINE_FIELD(CBaseGrenCatch, m_fFlashTouched, FIELD_BOOLEAN), - DEFINE_FIELD(CBaseGrenCatch, sTriggerOnGrenade, FIELD_STRING), - DEFINE_FIELD(CBaseGrenCatch, sDisableOnGrenade, FIELD_STRING), -}; - -#else - -TYPEDESCRIPTION (*CFuncWeaponCheck::pm_SaveData)[6]; -TYPEDESCRIPTION (*CBaseGrenCatch::pm_SaveData)[5]; - -#endif // HOOK_GAMEDLL - -/* <18bcc4> ../cstrike/dlls/training_gamerules.cpp:23 */ -NOBODY CHalfLifeTraining::CHalfLifeTraining(void) -{ - PRECACHE_MODEL("models/w_weaponbox.mdl"); -} - -/* <18ae1b> ../cstrike/dlls/training_gamerules.cpp:27 */ -BOOL CHalfLifeTraining::IsDeathmatch_(void) -{ - return FALSE; -} - -/* <18ae41> ../cstrike/dlls/training_gamerules.cpp:28 */ -void CHalfLifeTraining::InitHUD_(CBasePlayer *pl) -{ - ; -} - -/* <18bcff> ../cstrike/dlls/training_gamerules.cpp:29 */ -void CHalfLifeTraining::HostageDied(void) -{ +#include "precompiled.h" + +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + +TYPEDESCRIPTION CFuncWeaponCheck::m_SaveData[] = +{ + DEFINE_FIELD(CFuncWeaponCheck, sTriggerWithItems, FIELD_STRING), + DEFINE_FIELD(CFuncWeaponCheck, sTriggerNoItems, FIELD_STRING), + DEFINE_FIELD(CFuncWeaponCheck, iItemCount, FIELD_INTEGER), + DEFINE_ARRAY(CFuncWeaponCheck, sMaster, FIELD_STRING, MAX_ITEM_COUNTS), + DEFINE_FIELD(CFuncWeaponCheck, sItemName, FIELD_STRING), + DEFINE_FIELD(CFuncWeaponCheck, iAnyWeapon, FIELD_INTEGER), +}; + +TYPEDESCRIPTION CBaseGrenCatch::m_SaveData[] = +{ + DEFINE_FIELD(CBaseGrenCatch, m_NeedGrenadeType, FIELD_INTEGER), + DEFINE_FIELD(CBaseGrenCatch, m_fSmokeTouching, FIELD_BOOLEAN), + DEFINE_FIELD(CBaseGrenCatch, m_fFlashTouched, FIELD_BOOLEAN), + DEFINE_FIELD(CBaseGrenCatch, sTriggerOnGrenade, FIELD_STRING), + DEFINE_FIELD(CBaseGrenCatch, sDisableOnGrenade, FIELD_STRING), +}; + +#else + +TYPEDESCRIPTION (*CFuncWeaponCheck::pm_SaveData)[6]; +TYPEDESCRIPTION (*CBaseGrenCatch::pm_SaveData)[5]; + +#endif // HOOK_GAMEDLL + +/* <18bcc4> ../cstrike/dlls/training_gamerules.cpp:23 */ +NOBODY CHalfLifeTraining::CHalfLifeTraining(void) +{ + PRECACHE_MODEL("models/w_weaponbox.mdl"); +} + +/* <18ae1b> ../cstrike/dlls/training_gamerules.cpp:27 */ +BOOL CHalfLifeTraining::IsDeathmatch_(void) +{ + return FALSE; +} + +/* <18ae41> ../cstrike/dlls/training_gamerules.cpp:28 */ +void CHalfLifeTraining::InitHUD_(CBasePlayer *pl) +{ + ; +} + +/* <18bcff> ../cstrike/dlls/training_gamerules.cpp:29 */ +void CHalfLifeTraining::HostageDied(void) +{ CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(1); if (pPlayer) - pPlayer->pev->radsuit_finished = gpGlobals->time + 3; -} - -/* <18b005> ../cstrike/dlls/training_gamerules.cpp:34 */ -edict_t *CHalfLifeTraining::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) -{ + pPlayer->pev->radsuit_finished = gpGlobals->time + 3; +} + +/* <18b005> ../cstrike/dlls/training_gamerules.cpp:34 */ +edict_t *CHalfLifeTraining::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) +{ CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start"); if (FNullEnt(pSpot)) @@ -76,37 +76,37 @@ edict_t *CHalfLifeTraining::GetPlayerSpawnSpot_(CBasePlayer *pPlayer) pPlayer->pev->punchangle = g_vecZero; pPlayer->pev->fixangle = 1; - return pSpot->edict(); -} - -/* <18b4aa> ../cstrike/dlls/training_gamerules.cpp:52 */ -NOBODY void CHalfLifeTraining::PlayerThink_(CBasePlayer *pPlayer) -{ -// { -// class CGrenade *pBomb; // 94 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 81 -// { -// class CBasePlayerWeapon *pWeapon; // 82 -// } -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 124 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 127 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 105 -// } -} - -/* <18b79c> ../cstrike/dlls/training_gamerules.cpp:151 */ -void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer) -{ + return pSpot->edict(); +} + +/* <18b4aa> ../cstrike/dlls/training_gamerules.cpp:52 */ +NOBODY void CHalfLifeTraining::PlayerThink_(CBasePlayer *pPlayer) +{ +// { +// class CGrenade *pBomb; // 94 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 81 +// { +// class CBasePlayerWeapon *pWeapon; // 82 +// } +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 124 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 127 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 105 +// } +} + +/* <18b79c> ../cstrike/dlls/training_gamerules.cpp:151 */ +void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer) +{ if (pPlayer->m_bNotKilled) return; @@ -130,162 +130,162 @@ void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer) pPlayer->SetPlayerModel(false); pPlayer->Spawn(); - pPlayer->m_iHideHUD |= (HIDEHUD_WEAPONS | HIDEHUD_HEALTH | HIDEHUD_TIMER | HIDEHUD_MONEY); -} - -/* <18ae74> ../cstrike/dlls/training_gamerules.cpp:182 */ -NOBODY int CHalfLifeTraining::ItemShouldRespawn_(CItem *pItem) -{ -} - -/* <18aea8> ../cstrike/dlls/training_gamerules.cpp:186 */ -NOBODY BOOL CHalfLifeTraining::FPlayerCanRespawn_(CBasePlayer *pPlayer) -{ -} - -/* <18bd40> ../cstrike/dlls/training_gamerules.cpp:190 */ -NOBODY bool CHalfLifeTraining::PlayerCanBuy(CBasePlayer *pPlayer) -{ -} - -/* <18afa5> ../cstrike/dlls/training_gamerules.cpp:195 */ -NOBODY void CHalfLifeTraining::PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) -{ -// edict(CBaseEntity *const this); // 198 -} - -/* <18b0fb> ../cstrike/dlls/training_gamerules.cpp:202 */ -NOBODY void CHalfLifeTraining::CheckWinConditions_(void) -{ -// { -// class CBaseEntity *pHostage; // 229 -// { -// class CGrenade *pBomb; // 217 -// Instance(edict_t *pent); // 225 -// Instance(edict_t *pent); // 225 -// } -// { -// class CGrenade *pBomb; // 205 -// Instance(edict_t *pent); // 213 -// Instance(edict_t *pent); // 213 -// } -// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, -// const char *pszName); // 229 -// Instance(edict_t *pent); // 229 -// { -// class CBaseEntity *pRescueArea; // 236 -// class CBaseEntity *pFirstRescueArea; // 237 -// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, -// const char *pszName); // 236 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 235 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 235 -// Instance(edict_t *pent); // 236 -// } -// } -} - -/* <18b74f> ../cstrike/dlls/training_gamerules.cpp:280 */ -IMPLEMENT_SAVERESTORE(CBaseGrenCatch, CBaseEntity); - -/* <18bd74> ../cstrike/dlls/training_gamerules.cpp:282 */ -LINK_ENTITY_TO_CLASS(func_grencatch, CBaseGrenCatch); - -/* <18af50> ../cstrike/dlls/training_gamerules.cpp:293 */ -NOBODY void CBaseGrenCatch::Touch_(CBaseEntity *pOther) -{ -// strstr(const char *__haystack, -// const char *__needle); // 297 -} - -/* <18af02> ../cstrike/dlls/training_gamerules.cpp:284 */ -NOBODY void CBaseGrenCatch::Spawn_(void) -{ -} - -/* <18b835> ../cstrike/dlls/training_gamerules.cpp:300 */ -NOBODY void CBaseGrenCatch::Think_(void) -{ -// { -// class CGrenade *pGrenade; // 302 -// BOOL m_fSmokeTouchingLastFrame; // 304 -// class CBaseEntity *pTrigger; // 320 -// { -// class Vector vMax; // 311 -// class Vector vMin; // 311 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 312 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 312 -// Vector(Vector *const this, -// const class Vector &const v); // 311 -// Vector(Vector *const this, -// const class Vector &const v); // 311 -// strstr(const char *__haystack, -// const char *__needle); // 314 -// Length(const class Vector *const this); // 315 -// } -// } -} - -/* <18ba09> ../cstrike/dlls/training_gamerules.cpp:358 */ -NOBODY void CBaseGrenCatch::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 360 -// FStrEq(const char *sz1, -// const char *sz2); // 365 -// FStrEq(const char *sz1, -// const char *sz2); // 370 -// FStrEq(const char *sz1, -// const char *sz2); // 372 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 376 -// FStrEq(const char *sz1, -// const char *sz2); // 373 -} - -/* <18af29> ../cstrike/dlls/training_gamerules.cpp:400 */ -NOBODY void CFuncWeaponCheck::Spawn_(void) -{ -} - -/* <18b702> ../cstrike/dlls/training_gamerules.cpp:420 */ -IMPLEMENT_SAVERESTORE(CFuncWeaponCheck, CBaseEntity); - -/* <18be46> ../cstrike/dlls/training_gamerules.cpp:422 */ -LINK_ENTITY_TO_CLASS(func_weaponcheck, CFuncWeaponCheck); - -/* <18b5f6> ../cstrike/dlls/training_gamerules.cpp:424 */ -NOBODY void CFuncWeaponCheck::Touch_(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *pPlayer; // 430 -// } -// Touch(CFuncWeaponCheck *const this, -// class CBaseEntity *pOther); // 424 -} - -/* <18bb28> ../cstrike/dlls/training_gamerules.cpp:462 */ -NOBODY void CFuncWeaponCheck::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 464 -// FStrEq(const char *sz1, -// const char *sz2); // 469 -// KeyValue(CFuncWeaponCheck *const this, -// KeyValueData *pkvd); // 462 -} - + pPlayer->m_iHideHUD |= (HIDEHUD_WEAPONS | HIDEHUD_HEALTH | HIDEHUD_TIMER | HIDEHUD_MONEY); +} + +/* <18ae74> ../cstrike/dlls/training_gamerules.cpp:182 */ +NOBODY int CHalfLifeTraining::ItemShouldRespawn_(CItem *pItem) +{ +} + +/* <18aea8> ../cstrike/dlls/training_gamerules.cpp:186 */ +NOBODY BOOL CHalfLifeTraining::FPlayerCanRespawn_(CBasePlayer *pPlayer) +{ +} + +/* <18bd40> ../cstrike/dlls/training_gamerules.cpp:190 */ +NOBODY bool CHalfLifeTraining::PlayerCanBuy(CBasePlayer *pPlayer) +{ +} + +/* <18afa5> ../cstrike/dlls/training_gamerules.cpp:195 */ +NOBODY void CHalfLifeTraining::PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) +{ +// edict(CBaseEntity *const this); // 198 +} + +/* <18b0fb> ../cstrike/dlls/training_gamerules.cpp:202 */ +NOBODY void CHalfLifeTraining::CheckWinConditions_(void) +{ +// { +// class CBaseEntity *pHostage; // 229 +// { +// class CGrenade *pBomb; // 217 +// Instance(edict_t *pent); // 225 +// Instance(edict_t *pent); // 225 +// } +// { +// class CGrenade *pBomb; // 205 +// Instance(edict_t *pent); // 213 +// Instance(edict_t *pent); // 213 +// } +// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, +// const char *pszName); // 229 +// Instance(edict_t *pent); // 229 +// { +// class CBaseEntity *pRescueArea; // 236 +// class CBaseEntity *pFirstRescueArea; // 237 +// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, +// const char *pszName); // 236 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 235 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 235 +// Instance(edict_t *pent); // 236 +// } +// } +} + +/* <18b74f> ../cstrike/dlls/training_gamerules.cpp:280 */ +IMPLEMENT_SAVERESTORE(CBaseGrenCatch, CBaseEntity); + +/* <18bd74> ../cstrike/dlls/training_gamerules.cpp:282 */ +LINK_ENTITY_TO_CLASS(func_grencatch, CBaseGrenCatch); + +/* <18af50> ../cstrike/dlls/training_gamerules.cpp:293 */ +NOBODY void CBaseGrenCatch::Touch_(CBaseEntity *pOther) +{ +// strstr(const char *__haystack, +// const char *__needle); // 297 +} + +/* <18af02> ../cstrike/dlls/training_gamerules.cpp:284 */ +NOBODY void CBaseGrenCatch::Spawn_(void) +{ +} + +/* <18b835> ../cstrike/dlls/training_gamerules.cpp:300 */ +NOBODY void CBaseGrenCatch::Think_(void) +{ +// { +// class CGrenade *pGrenade; // 302 +// BOOL m_fSmokeTouchingLastFrame; // 304 +// class CBaseEntity *pTrigger; // 320 +// { +// class Vector vMax; // 311 +// class Vector vMin; // 311 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 312 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 312 +// Vector(Vector *const this, +// const class Vector &const v); // 311 +// Vector(Vector *const this, +// const class Vector &const v); // 311 +// strstr(const char *__haystack, +// const char *__needle); // 314 +// Length(const class Vector *const this); // 315 +// } +// } +} + +/* <18ba09> ../cstrike/dlls/training_gamerules.cpp:358 */ +NOBODY void CBaseGrenCatch::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 360 +// FStrEq(const char *sz1, +// const char *sz2); // 365 +// FStrEq(const char *sz1, +// const char *sz2); // 370 +// FStrEq(const char *sz1, +// const char *sz2); // 372 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 376 +// FStrEq(const char *sz1, +// const char *sz2); // 373 +} + +/* <18af29> ../cstrike/dlls/training_gamerules.cpp:400 */ +NOBODY void CFuncWeaponCheck::Spawn_(void) +{ +} + +/* <18b702> ../cstrike/dlls/training_gamerules.cpp:420 */ +IMPLEMENT_SAVERESTORE(CFuncWeaponCheck, CBaseEntity); + +/* <18be46> ../cstrike/dlls/training_gamerules.cpp:422 */ +LINK_ENTITY_TO_CLASS(func_weaponcheck, CFuncWeaponCheck); + +/* <18b5f6> ../cstrike/dlls/training_gamerules.cpp:424 */ +NOBODY void CFuncWeaponCheck::Touch_(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *pPlayer; // 430 +// } +// Touch(CFuncWeaponCheck *const this, +// class CBaseEntity *pOther); // 424 +} + +/* <18bb28> ../cstrike/dlls/training_gamerules.cpp:462 */ +NOBODY void CFuncWeaponCheck::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 464 +// FStrEq(const char *sz1, +// const char *sz2); // 469 +// KeyValue(CFuncWeaponCheck *const this, +// KeyValueData *pkvd); // 462 +} + #ifdef HOOK_GAMEDLL void CBaseGrenCatch::Spawn(void) diff --git a/regamedll/dlls/triggers.cpp b/regamedll/dlls/triggers.cpp index 5d781262..2088eabb 100644 --- a/regamedll/dlls/triggers.cpp +++ b/regamedll/dlls/triggers.cpp @@ -1,1126 +1,1126 @@ -#include "precompiled.h" - -/* -* Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -TYPEDESCRIPTION CFrictionModifier::m_SaveData[] = -{ - DEFINE_FIELD(CFrictionModifier, m_frictionFraction, FIELD_FLOAT), -}; - -TYPEDESCRIPTION CAutoTrigger::m_SaveData[] = -{ - DEFINE_FIELD(CAutoTrigger, m_globalstate, FIELD_STRING), - DEFINE_FIELD(CAutoTrigger, triggerType, FIELD_INTEGER), -}; - -TYPEDESCRIPTION CTriggerRelay::m_SaveData[1] = -{ - DEFINE_FIELD(CTriggerRelay, triggerType, FIELD_INTEGER), -}; - -TYPEDESCRIPTION CMultiManager::m_SaveData[] = -{ - DEFINE_FIELD(CMultiManager, m_cTargets, FIELD_INTEGER), - DEFINE_FIELD(CMultiManager, m_index, FIELD_INTEGER), - DEFINE_FIELD(CMultiManager, m_startTime, FIELD_TIME), - DEFINE_ARRAY(CMultiManager, m_iTargetName, FIELD_STRING, MAX_MULTI_TARGETS), - DEFINE_ARRAY(CMultiManager, m_flTargetDelay, FIELD_FLOAT, MAX_MULTI_TARGETS), -}; - -TYPEDESCRIPTION CChangeLevel::m_SaveData[] = -{ - DEFINE_ARRAY(CChangeLevel, m_szMapName, FIELD_CHARACTER, 32), - DEFINE_ARRAY(CChangeLevel, m_szLandmarkName, FIELD_CHARACTER, 32), - DEFINE_FIELD(CChangeLevel, m_changeTarget, FIELD_STRING), - DEFINE_FIELD(CChangeLevel, m_changeTargetDelay, FIELD_FLOAT), -}; -TYPEDESCRIPTION CTriggerChangeTarget::m_SaveData[] = -{ - DEFINE_FIELD(CTriggerChangeTarget, m_iszNewTarget, FIELD_STRING), -}; - -TYPEDESCRIPTION CTriggerCamera::m_SaveData[] = -{ - DEFINE_FIELD(CTriggerCamera, m_hPlayer, FIELD_EHANDLE), - DEFINE_FIELD(CTriggerCamera, m_hTarget, FIELD_EHANDLE), - DEFINE_FIELD(CTriggerCamera, m_pentPath, FIELD_CLASSPTR), - DEFINE_FIELD(CTriggerCamera, m_sPath, FIELD_STRING), - DEFINE_FIELD(CTriggerCamera, m_flWait, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_flReturnTime, FIELD_TIME), - DEFINE_FIELD(CTriggerCamera, m_flStopTime, FIELD_TIME), - DEFINE_FIELD(CTriggerCamera, m_moveDistance, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_targetSpeed, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_initialSpeed, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_acceleration, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_deceleration, FIELD_FLOAT), - DEFINE_FIELD(CTriggerCamera, m_state, FIELD_INTEGER), -}; - -#else - -TYPEDESCRIPTION (*CFrictionModifier::pm_SaveData)[1]; -TYPEDESCRIPTION (*CAutoTrigger::pm_SaveData)[2]; -TYPEDESCRIPTION (*CTriggerRelay::pm_SaveData)[1]; -TYPEDESCRIPTION (*CMultiManager::pm_SaveData)[5]; -TYPEDESCRIPTION (*CChangeLevel::pm_SaveData)[4]; -TYPEDESCRIPTION (*CTriggerChangeTarget::pm_SaveData)[1]; -TYPEDESCRIPTION (*CTriggerCamera::pm_SaveData)[13]; - -#endif // HOOK_GAMEDLL - -/* <1a257e> ../cstrike/dlls/triggers.cpp:60 */ -LINK_ENTITY_TO_CLASS(func_friction, CFrictionModifier); - -/* <1a0ad7> ../cstrike/dlls/triggers.cpp:68 */ -IMPLEMENT_SAVERESTORE(CFrictionModifier, CBaseEntity); - -/* <19fa7d> ../cstrike/dlls/triggers.cpp:72 */ -NOBODY void CFrictionModifier::Spawn_(void) -{ -} - -/* <19faa6> ../cstrike/dlls/triggers.cpp:82 */ -NOBODY void CFrictionModifier::ChangeFriction(CBaseEntity *pOther) -{ -} - -/* <1a1c39> ../cstrike/dlls/triggers.cpp:91 */ -NOBODY void CFrictionModifier::KeyValue_(KeyValueData *pkvd) -{ -} - -/* <1a2657> ../cstrike/dlls/triggers.cpp:126 */ -LINK_ENTITY_TO_CLASS(trigger_auto, CAutoTrigger); - -/* <1a0a85> ../cstrike/dlls/triggers.cpp:134 */ -IMPLEMENT_SAVERESTORE(CAutoTrigger, CBaseDelay); - -/* <1a1b64> ../cstrike/dlls/triggers.cpp:136 */ -NOBODY void CAutoTrigger::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 138 -// FStrEq(const char *sz1, -// const char *sz2); // 143 -// { -// int type; // 145 -// atoi(const char *__nptr); // 145 -// } -// KeyValue(class CAutoTrigger *const this, -// KeyValueData *pkvd); // 136 -} - -/* <19fb05> ../cstrike/dlls/triggers.cpp:165 */ -NOBODY void CAutoTrigger::Spawn_(void) -{ -} - -/* <19fb2d> ../cstrike/dlls/triggers.cpp:171 */ -NOBODY void CAutoTrigger::Precache_(void) -{ -} - -/* <19d48c> ../cstrike/dlls/triggers.cpp:177 */ -NOBODY void CAutoTrigger::Think_(void) -{ -} - -/* <1a2730> ../cstrike/dlls/triggers.cpp:207 */ -LINK_ENTITY_TO_CLASS(trigger_relay, CTriggerRelay); - -/* <1a0a33> ../cstrike/dlls/triggers.cpp:214 */ -IMPLEMENT_SAVERESTORE(CTriggerRelay, CBaseDelay); - -/* <1a1abc> ../cstrike/dlls/triggers.cpp:216 */ -NOBODY void CTriggerRelay::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 218 -// KeyValue(class CTriggerRelay *const this, -// KeyValueData *pkvd); // 216 -} - -/* <19fb7e> ../cstrike/dlls/triggers.cpp:240 */ -NOBODY void CTriggerRelay::Spawn_(void) -{ -} - -/* <1a01d7> ../cstrike/dlls/triggers.cpp:247 */ -NOBODY void CTriggerRelay::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <1a283f> ../cstrike/dlls/triggers.cpp:304 */ -LINK_ENTITY_TO_CLASS(multi_manager, CMultiManager); - -/* <1a09e0> ../cstrike/dlls/triggers.cpp:316 */ -IMPLEMENT_SAVERESTORE(CMultiManager, CBaseToggle); - -/* <1a19ed> ../cstrike/dlls/triggers.cpp:318 */ -NOBODY void CMultiManager::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 325 -// { -// char tmp; // 335 -// atof(const char *__nptr); // 339 -// } -// KeyValue(class CMultiManager *const this, -// KeyValueData *pkvd); // 318 -} - -/* <19fbce> ../cstrike/dlls/triggers.cpp:347 */ -NOBODY void CMultiManager::Spawn_(void) -{ -// { -// int swapped; // 355 -// { -// int i; // 360 -// { -// int name; // 365 -// float delay; // 366 -// } -// } -// } -} - -/* <1a03e5> ../cstrike/dlls/triggers.cpp:377 */ -NOBODY void CMultiManager::Restart_(void) -{ -// { -// int i; // 379 -// edict_t *pentTarget; // 380 -// const char *name; // 381 -// { -// class CBaseEntity *pTarget; // 399 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 395 -// FNullEnt(const edict_t *pent); // 396 -// Instance(edict_t *pent); // 399 -// } -// IsClone(class CMultiManager *const this); // 410 -// } -} - -/* <1a1402> ../cstrike/dlls/triggers.cpp:420 */ -NOBODY BOOL CMultiManager::HasTarget_(string_t targetname) -{ -// { -// int i; // 422 -// FStrEq(const char *sz1, -// const char *sz2); // 423 -// } -} - -/* <1a0393> ../cstrike/dlls/triggers.cpp:432 */ -NOBODY void CMultiManager::ManagerThink(void) -{ -// { -// float time; // 434 -// IsClone(class CMultiManager *const this); // 446 -// } -} - -/* <1a291b> ../cstrike/dlls/triggers.cpp:457 */ -NOBODY CMultiManager *CMultiManager::Clone(void) -{ - CMultiManager *pMulti = GetClassPtr((CMultiManager *)NULL); - edict_t *pEdict = pMulti->pev->pContainingEntity; - - memcpy(pMulti->pev, pev, sizeof(*pev)); - pMulti->pev->pContainingEntity = pEdict; - pMulti->pev->spawnflags |= SF_MULTIMAN_CLONE; - pMulti->m_cTargets = m_cTargets; - memcpy(pMulti->m_iTargetName, m_iTargetName, sizeof(m_iTargetName)); - memcpy(pMulti->m_flTargetDelay, m_flTargetDelay, sizeof(m_flTargetDelay)); - return pMulti; -} - -/* <1a2a24> ../cstrike/dlls/triggers.cpp:475 */ -NOBODY void CMultiManager::ManagerUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// ShouldClone(class CMultiManager *const this); // 479 -// { -// class CMultiManager *pClone; // 481 -// } -} - -/* <1a2ada> ../cstrike/dlls/triggers.cpp:532 */ -LINK_ENTITY_TO_CLASS(env_render, CRenderFxManager); - -/* <19fc52> ../cstrike/dlls/triggers.cpp:535 */ -NOBODY void CRenderFxManager::Spawn_(void) -{ -} - -/* <1a0c95> ../cstrike/dlls/triggers.cpp:540 */ -NOBODY void CRenderFxManager::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Use(class CRenderFxManager *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 540 -} - -/* <1a2bb6> ../cstrike/dlls/triggers.cpp:583 */ -LINK_ENTITY_TO_CLASS(trigger, CBaseTrigger); - -/* <1a2c92> ../cstrike/dlls/triggers.cpp:590 */ -NOBODY void CBaseTrigger::InitTrigger(void) -{ -// operator!=(const class Vector *const this, -// const class Vector &const v); // 594 -} - -/* <1a17cf> ../cstrike/dlls/triggers.cpp:608 */ -NOBODY void CBaseTrigger::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 610 -// FStrEq(const char *sz1, -// const char *sz2); // 615 -// KeyValue(class CBaseTrigger *const this, -// KeyValueData *pkvd); // 608 -// atof(const char *__nptr); // 612 -// atof(const char *__nptr); // 617 -} - -/* <1a3060> ../cstrike/dlls/triggers.cpp:636 */ -LINK_ENTITY_TO_CLASS(trigger_hurt, CTriggerHurt); - -/* <1a313c> ../cstrike/dlls/triggers.cpp:649 */ -LINK_ENTITY_TO_CLASS(trigger_monsterjump, CTriggerMonsterJump); - -/* <1a2fdc> ../cstrike/dlls/triggers.cpp:652 */ -NOBODY void CTriggerMonsterJump::Spawn_(void) -{ -// Spawn(class CTriggerMonsterJump *const this); // 652 -} - -/* <1a00e4> ../cstrike/dlls/triggers.cpp:671 */ -NOBODY void CTriggerMonsterJump::Think_(void) -{ -} - -/* <19fca2> ../cstrike/dlls/triggers.cpp:678 */ -NOBODY void CTriggerMonsterJump::Touch_(CBaseEntity *pOther) -{ -// { -// entvars_t *pevOther; // 680 -// operator*(const class Vector *const this, -// float fl); // 695 -// } -} - -/* <1a3218> ../cstrike/dlls/triggers.cpp:715 */ -LINK_ENTITY_TO_CLASS(trigger_cdaudio, CTriggerCDAudio); - -/* <1a2382> ../cstrike/dlls/triggers.cpp:721 */ -NOBODY void CTriggerCDAudio::Touch_(CBaseEntity *pOther) -{ -// PlayTrack(class CTriggerCDAudio *const this); // 728 -} - -/* <1a2fb4> ../cstrike/dlls/triggers.cpp:731 */ -NOBODY void CTriggerCDAudio::Spawn_(void) -{ -} - -/* <1a2288> ../cstrike/dlls/triggers.cpp:736 */ -NOBODY void CTriggerCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// PlayTrack(class CTriggerCDAudio *const this); // 738 -} - -/* <19e08b> ../cstrike/dlls/triggers.cpp:741 */ -NOBODY void PlayCDTrack(int iTrack) -{ -// { -// edict_t *pClient; // 743 -// { -// char string; // 764 -// } -// } -} - -/* <1a3372> ../cstrike/dlls/triggers.cpp:773 */ -NOBODY void CTriggerCDAudio::PlayTrack(void) -{ -// PlayCDTrack(int iTrack); // 775 -} - -/* <1a340c> ../cstrike/dlls/triggers.cpp:794 */ -LINK_ENTITY_TO_CLASS(target_cdaudio, CTargetCDAudio); - -/* <1a170f> ../cstrike/dlls/triggers.cpp:796 */ -NOBODY void CTargetCDAudio::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 798 -// KeyValue(class CBaseEntity *const this, -// KeyValueData *pkvd); // 804 -// KeyValue(class CTargetCDAudio *const this, -// KeyValueData *pkvd); // 796 -} - -/* <1a066a> ../cstrike/dlls/triggers.cpp:807 */ -NOBODY void CTargetCDAudio::Spawn_(void) -{ -// Spawn(class CTargetCDAudio *const this); // 807 -} - -/* <1a2175> ../cstrike/dlls/triggers.cpp:816 */ -NOBODY void CTargetCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Play(class CTargetCDAudio *const this); // 818 -} - -/* <1a2465> ../cstrike/dlls/triggers.cpp:822 */ -NOBODY void CTargetCDAudio::Think_(void) -{ -// { -// edict_t *pClient; // 824 -// operator-(const class Vector *const this, -// const class Vector &const v); // 835 -// Length(const class Vector *const this); // 835 -// Play(class CTargetCDAudio *const this); // 836 -// } -} - -/* <1a34e8> ../cstrike/dlls/triggers.cpp:840 */ -NOBODY void CTargetCDAudio::Play(void) -{ -// PlayCDTrack(int iTrack); // 842 -} - -/* <1a2f8b> ../cstrike/dlls/triggers.cpp:853 */ -NOBODY void CTriggerHurt::Spawn_(void) -{ -} - -/* <1a5df2> ../cstrike/dlls/triggers.cpp:883 */ -NOBODY void CTriggerHurt::RadiationThink(void) -{ - -} - -/* <1a007c> ../cstrike/dlls/triggers.cpp:942 */ -NOBODY void CBaseTrigger::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <1a0d93> ../cstrike/dlls/triggers.cpp:959 */ -NOBODY void CBaseTrigger::HurtTouch(CBaseEntity *pOther) -{ -// { -// float fldmg; // 961 -// } -// HurtTouch(class CBaseTrigger *const this, -// class CBaseEntity *pOther); // 959 -} - -/* <1a3582> ../cstrike/dlls/triggers.cpp:1086 */ -LINK_ENTITY_TO_CLASS(trigger_multiple, CTriggerMultiple); - -/* <1a2f67> ../cstrike/dlls/triggers.cpp:1089 */ -NOBODY void CTriggerMultiple::Spawn_(void) -{ -} - -/* <1a365e> ../cstrike/dlls/triggers.cpp:1135 */ -LINK_ENTITY_TO_CLASS(trigger_once, CTriggerOnce); - -/* <1a301c> ../cstrike/dlls/triggers.cpp:1136 */ -NOBODY void CTriggerOnce::Spawn_(void) -{ -// Spawn(class CTriggerMultiple *const this); // 1140 -} - -/* <1a20a4> ../cstrike/dlls/triggers.cpp:1145 */ -NOBODY void CBaseTrigger::MultiTouch(CBaseEntity *pOther) -{ -// { -// entvars_t *pevToucher; // 1147 -// ActivateMultiTrigger(class CBaseTrigger *const this, -// class CBaseEntity *pActivator); // 1157 -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 1154 -// } -} - -/* <1a373a> ../cstrike/dlls/triggers.cpp:1167 */ -NOBODY void CBaseTrigger::ActivateMultiTrigger(CBaseEntity *pActivator) -{ -} - -/* <19fd1a> ../cstrike/dlls/triggers.cpp:1214 */ -NOBODY void CBaseTrigger::MultiWaitOver(void) -{ -} - -/* <1a1f98> ../cstrike/dlls/triggers.cpp:1231 */ -NOBODY void CBaseTrigger::CounterUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// BOOL fTellActivator; // 1239 -// } -// CounterUse(class CBaseTrigger *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 1231 -} - -/* <1a3767> ../cstrike/dlls/triggers.cpp:1278 */ -LINK_ENTITY_TO_CLASS(trigger_counter, CTriggerCounter); - -/* <19fd42> ../cstrike/dlls/triggers.cpp:1280 */ -NOBODY void CTriggerCounter::Spawn_(void) -{ -} - -/* <1a3843> ../cstrike/dlls/triggers.cpp:1299 */ -LINK_ENTITY_TO_CLASS(trigger_transition, CTriggerVolume); - -/* <19fd6a> ../cstrike/dlls/triggers.cpp:1302 */ -NOBODY void CTriggerVolume::Spawn_(void) -{ -} - -/* <1a3955> ../cstrike/dlls/triggers.cpp:1321 */ -LINK_ENTITY_TO_CLASS(fireanddie, CFireAndDie); - -/* <1a0618> ../cstrike/dlls/triggers.cpp:1323 */ -NOBODY void CFireAndDie::Spawn_(void) -{ -// MAKE_STRING_CLASS(const char *str, -// entvars_t *pev); // 1325 -} - -/* <19fdbb> ../cstrike/dlls/triggers.cpp:1330 */ -NOBODY void CFireAndDie::Precache_(void) -{ -} - -/* <1a01ae> ../cstrike/dlls/triggers.cpp:1337 */ -NOBODY void CFireAndDie::Think_(void) -{ -} - -/* <1a3a67> ../cstrike/dlls/triggers.cpp:1371 */ -LINK_ENTITY_TO_CLASS(trigger_changelevel, CChangeLevel); - -/* <1a098d> ../cstrike/dlls/triggers.cpp:1382 */ -IMPLEMENT_SAVERESTORE(CChangeLevel, CBaseTrigger); - -/* <1a1d4a> ../cstrike/dlls/triggers.cpp:1388 */ -NOBODY void CChangeLevel::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 1390 -// KeyValue(class CChangeLevel *const this, -// KeyValueData *pkvd); // 1388 -} - -/* <1a2f25> ../cstrike/dlls/triggers.cpp:1423 */ -NOBODY void CChangeLevel::Spawn_(void) -{ -} - -/* <19fde3> ../cstrike/dlls/triggers.cpp:1441 */ -NOBODY void CChangeLevel::ExecuteChangeLevel(void) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1443 -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// edict_t *ed); // 1448 -} - -/* <1a3b43> ../cstrike/dlls/triggers.cpp:1456 */ -NOXREF edict_t *CChangeLevel::FindLandmark(const char *pLandmarkName) -{ - edict_t *pentLandmark = FIND_ENTITY_BY_STRING(NULL, "targetname", pLandmarkName); - while (!FNullEnt(pentLandmark)) - { - // Found the landmark - if (FClassnameIs(pentLandmark, "info_landmark")) - return pentLandmark; - else - pentLandmark = FIND_ENTITY_BY_STRING(pentLandmark, "targetname", pLandmarkName); - } - ALERT(at_error, "Can't find landmark %s\n", pLandmarkName); - return NULL; -} - -/* <1a3e4f> ../cstrike/dlls/triggers.cpp:1479 */ -NOBODY void CChangeLevel::UseChangeLevel(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// ChangeLevelNow(class CChangeLevel *const this, -// class CBaseEntity *pActivator); // 1481 -} - -/* <1a3fb2> ../cstrike/dlls/triggers.cpp:1484 */ -NOBODY void CChangeLevel::ChangeLevelNow(CBaseEntity *pActivator) -{ -// { -// edict_t *pentLandmark; // 1486 -// LEVELLIST levels; // 1487 -// class CBaseEntity *pPlayer; // 1502 -// Instance(edict_t *pent); // 1502 -// InTransitionVolume(class CBaseEntity *pEntity, -// char *pVolumeName); // 1503 -// { -// class CFireAndDie *pFireAndDie; // 1512 -// GetClassPtr(class CFireAndDie *a); // 1512 -// edict(class CBaseEntity *const this); // 1520 -// } -// FNullEnt(const edict_t *pent); // 1532 -// } -} - -/* <1a3ef5> ../cstrike/dlls/triggers.cpp:1545 */ -NOBODY void CChangeLevel::TouchChangeLevel(CBaseEntity *pOther) -{ -// FClassnameIs(entvars_t *pev, -// const char *szClassname); // 1547 -// ChangeLevelNow(class CChangeLevel *const this, -// class CBaseEntity *pActivator); // 1550 -} - -/* <1a3ff8> ../cstrike/dlls/triggers.cpp:1556 */ -NOBODY int CChangeLevel::AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark) -{ -// { -// int i; // 1558 -// } -} - -/* <1a44ba> ../cstrike/dlls/triggers.cpp:1576 */ -NOBODY int BuildChangeList(LEVELLIST *pLevelList, int maxList) -{ - CChangeLevel::ChangeList(pLevelList, maxList); -} - -/* <1a4075> ../cstrike/dlls/triggers.cpp:1582 */ -NOBODY int CChangeLevel::InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName) -{ -// { -// edict_t *pentVolume; // 1584 -// int inVolume; // 1597 -// } -} - -/* <1a40b1> ../cstrike/dlls/triggers.cpp:1625 */ -NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList) -{ - edict_t *pentChangelevel, *pentLandmark; - int i, count = 0; - - // Find all of the possible level changes on this BSP - pentChangelevel = FIND_ENTITY_BY_STRING(NULL, "classname", "trigger_changelevel"); - - if (FNullEnt(pentChangelevel)) - return 0; - - while (!FNullEnt(pentChangelevel)) - { - CChangeLevel *pTrigger = GetClassPtr((CChangeLevel *)VARS(pentChangelevel)); - - if (pTrigger) - { - // Find the corresponding landmark - pentLandmark = FindLandmark(pTrigger->m_szLandmarkName); - if (pentLandmark) - { - // Build a list of unique transitions - if (AddTransitionToList( pLevelList, count, pTrigger->m_szMapName, pTrigger->m_szLandmarkName, pentLandmark)) - { - count++; - - if (count >= maxList) - break; - } - } - } - pentChangelevel = FIND_ENTITY_BY_STRING(pentChangelevel, "classname", "trigger_changelevel"); - } - - if (gpGlobals->pSaveData && ((SAVERESTOREDATA *)gpGlobals->pSaveData)->pTable) - { - CSave saveHelper((SAVERESTOREDATA *)gpGlobals->pSaveData); - - for (i = 0; i < count; i++) - { - int j, entityCount = 0; - CBaseEntity *pEntList[ MAX_ENTITY ]; - int entityFlags[ MAX_ENTITY ]; - - // Follow the linked list of entities in the PVS of the transition landmark - edict_t *pent = FIND_ENTITY_IN_PVS(pLevelList[i].pentLandmark); - - // Build a list of valid entities in this linked list (we're going to use pent->v.chain again) - while (!FNullEnt(pent)) - { - CBaseEntity *pEntity = CBaseEntity::Instance(pent); - if (pEntity) - { - int caps = pEntity->ObjectCaps(); - - if (!(caps & FCAP_DONT_SAVE)) - { - int flags = 0; - - // If this entity can be moved or is global, mark it - if (caps & FCAP_ACROSS_TRANSITION) - flags |= FENTTABLE_MOVEABLE; - - if (pEntity->pev->globalname && !pEntity->IsDormant()) - flags |= FENTTABLE_GLOBAL; - - if (flags) - { - pEntList[ entityCount ] = pEntity; - entityFlags[ entityCount ] = flags; - entityCount++; - - if (entityCount > MAX_ENTITY) - ALERT( at_error, "Too many entities across a transition!" ); - } - } - } - pent = pent->v.chain; - } - - for (j = 0; j < entityCount; j++) - { - // Check to make sure the entity isn't screened out by a trigger_transition - if (entityFlags[j] && InTransitionVolume(pEntList[j], pLevelList[i].landmarkName)) - { - // Mark entity table with 1< ../cstrike/dlls/triggers.cpp:1722 */ -NOBODY void NextLevel(void) -{ -// { -// edict_t *pent; // 1724 -// class CChangeLevel *pChange; // 1725 -// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, -// const char *pszName); // 1728 -// FNullEnt(const edict_t *pent); // 1731 -// GetClassPtr(class CChangeLevel *a); // 1738 -// VARS(edict_t *pent); // 1738 -// GetClassPtr(class CChangeLevel *a); // 1734 -// } -} - -/* <1a4709> ../cstrike/dlls/triggers.cpp:1760 */ -LINK_ENTITY_TO_CLASS(func_ladder, CLadder); - -/* <1a1937> ../cstrike/dlls/triggers.cpp:1763 */ -NOBODY void CLadder::KeyValue_(KeyValueData *pkvd) -{ -} - -/* <19fe6c> ../cstrike/dlls/triggers.cpp:1772 */ -NOBODY void CLadder::Precache_(void) -{ -} - -/* <19fe95> ../cstrike/dlls/triggers.cpp:1786 */ -NOBODY void CLadder::Spawn_(void) -{ -} - -/* <1a47e5> ../cstrike/dlls/triggers.cpp:1804 */ -LINK_ENTITY_TO_CLASS(trigger_push, CTriggerPush); - -/* <1a18ff> ../cstrike/dlls/triggers.cpp:1807 */ -NOBODY void CTriggerPush::KeyValue_(KeyValueData *pkvd) -{ -} - -/* <1a2eda> ../cstrike/dlls/triggers.cpp:1817 */ -NOBODY void CTriggerPush::Spawn_(void) -{ -// operator==(const class Vector *const this, -// const class Vector &const v); // 1819 -} - -/* <1a023c> ../cstrike/dlls/triggers.cpp:1835 */ -NOBODY void CTriggerPush::Touch_(CBaseEntity *pOther) -{ -// { -// entvars_t *pevToucher; // 1837 -// operator*(float fl, -// const class Vector &const v); // 1854 -// operator+(const class Vector *const this, -// const class Vector &const v); // 1854 -// { -// class Vector vecPush; // 1861 -// operator*(float fl, -// const class Vector &const v); // 1861 -// operator+(const class Vector *const this, -// const class Vector &const v); // 1863 -// } -// } -} - -/* <1a051f> ../cstrike/dlls/triggers.cpp:1878 */ -NOBODY void CBaseTrigger::TeleportTouch(CBaseEntity *pOther) -{ -// { -// entvars_t *pevToucher; // 1880 -// edict_t *pentTarget; // 1881 -// class Vector tmp; // 1910 -// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, -// const char *pszName); // 1906 -// FNullEnt(const edict_t *pent); // 1907 -// Vector(class Vector *const this, -// const class Vector &const v); // 1910 -// } -} - -/* <1a48c1> ../cstrike/dlls/triggers.cpp:1940 */ -LINK_ENTITY_TO_CLASS(trigger_teleport, CTriggerTeleport); - -/* <1a2eb1> ../cstrike/dlls/triggers.cpp:1942 */ -NOBODY void CTriggerTeleport::Spawn_(void) -{ -} - -/* <1a499d> ../cstrike/dlls/triggers.cpp:1950 */ -LINK_ENTITY_TO_CLASS(info_teleport_destination, CPointEntity); - -/* <1a4a79> ../cstrike/dlls/triggers.cpp:1970 */ -LINK_ENTITY_TO_CLASS(func_buyzone, CBuyZone); - -/* <1a2e71> ../cstrike/dlls/triggers.cpp:1973 */ -NOBODY void CBuyZone::Spawn_(void) -{ -// Spawn(class CBuyZone *const this); // 1973 -} - -/* <1a116b> ../cstrike/dlls/triggers.cpp:1986 */ -NOBODY void CBuyZone::BuyTouch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *p; // 1991 -// } -// BuyTouch(class CBuyZone *const this, -// class CBaseEntity *pOther); // 1986 -} - -/* <1a4b55> ../cstrike/dlls/triggers.cpp:2016 */ -LINK_ENTITY_TO_CLASS(func_bomb_target, CBombTarget); - -/* <1a2e48> ../cstrike/dlls/triggers.cpp:2019 */ -NOBODY void CBombTarget::Spawn_(void) -{ -} - -/* <1a10c1> ../cstrike/dlls/triggers.cpp:2027 */ -NOBODY void CBombTarget::BombTargetTouch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *p; // 2031 -// } -// BombTargetTouch(class CBombTarget *const this, -// class CBaseEntity *pOther); // 2027 -} - -/* <1a0014> ../cstrike/dlls/triggers.cpp:2042 */ -NOBODY void CBombTarget::BombTargetUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -} - -/* <1a4c31> ../cstrike/dlls/triggers.cpp:2064 */ -LINK_ENTITY_TO_CLASS(func_hostage_rescue, CHostageRescue); - -/* <1a2e1f> ../cstrike/dlls/triggers.cpp:2067 */ -NOBODY void CHostageRescue::Spawn_(void) -{ -} - -/* <19ffbf> ../cstrike/dlls/triggers.cpp:2074 */ -NOBODY void CHostageRescue::HostageRescueTouch(CBaseEntity *pOther) -{ -// Signal(class CUnifiedSignals *const this, -// int flSignal); // 2078 -} - -/* <1a4d0d> ../cstrike/dlls/triggers.cpp:2105 */ -LINK_ENTITY_TO_CLASS(func_escapezone, CEscapeZone); - -/* <1a2df6> ../cstrike/dlls/triggers.cpp:2108 */ -NOBODY void CEscapeZone::Spawn_(void) -{ -} - -/* <1a0f88> ../cstrike/dlls/triggers.cpp:2115 */ -NOBODY void CEscapeZone::EscapeTouch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *p; // 2120 -// Signal(class CUnifiedSignals *const this, -// int flSignal); // 2147 -// } -// EscapeTouch(class CEscapeZone *const this, -// class CBaseEntity *pOther); // 2115 -} - -/* <1a4de9> ../cstrike/dlls/triggers.cpp:2163 */ -LINK_ENTITY_TO_CLASS(func_vip_safetyzone, CVIP_SafetyZone); - -/* <1a2dcd> ../cstrike/dlls/triggers.cpp:2166 */ -NOBODY void CVIP_SafetyZone::Spawn_(void) -{ -} - -/* <1a0ec7> ../cstrike/dlls/triggers.cpp:2173 */ -NOBODY void CVIP_SafetyZone::VIP_SafetyTouch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *p; // 2178 -// Signal(class CUnifiedSignals *const this, -// int flSignal); // 2180 -// } -// VIP_SafetyTouch(class CVIP_SafetyZone *const this, -// class CBaseEntity *pOther); // 2173 -} - -/* <1a4ec5> ../cstrike/dlls/triggers.cpp:2204 */ -LINK_ENTITY_TO_CLASS(trigger_autosave, CTriggerSave); - -/* <1a2d8e> ../cstrike/dlls/triggers.cpp:2206 */ -NOBODY void CTriggerSave::Spawn_(void) -{ - //Spawn(class CTriggerSave *const this); // 2206 -} - -/* <1a0c01> ../cstrike/dlls/triggers.cpp:2218 */ -NOBODY void CTriggerSave::SaveTouch(CBaseEntity *pOther) -{ -// SaveTouch(class CTriggerSave *const this, -// class CBaseEntity *pOther); // 2218 -} - -/* <1a4fa1> ../cstrike/dlls/triggers.cpp:2242 */ -LINK_ENTITY_TO_CLASS(trigger_endsection, CTriggerEndSection); - -/* <1a0b7f> ../cstrike/dlls/triggers.cpp:2245 */ -NOBODY void CTriggerEndSection::EndSectionUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// EndSectionUse(class CTriggerEndSection *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 2245 -} - -/* <1a2d4f> ../cstrike/dlls/triggers.cpp:2260 */ -NOBODY void CTriggerEndSection::Spawn_(void) -{ -// Spawn(class CTriggerEndSection *const this); // 2260 -} - -/* <1a0b29> ../cstrike/dlls/triggers.cpp:2276 */ -NOBODY void CTriggerEndSection::EndSectionTouch(CBaseEntity *pOther) -{ -// EndSectionTouch(class CTriggerEndSection *const this, -// class CBaseEntity *pOther); // 2276 -} - -/* <1a196f> ../cstrike/dlls/triggers.cpp:2291 */ -NOBODY void CTriggerEndSection::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2293 -// KeyValue(class CTriggerEndSection *const this, -// KeyValueData *pkvd); // 2291 -} - -/* <1a507d> ../cstrike/dlls/triggers.cpp:2311 */ -LINK_ENTITY_TO_CLASS(trigger_gravity, CTriggerGravity); - -/* <1a2d26> ../cstrike/dlls/triggers.cpp:2313 */ -NOBODY void CTriggerGravity::Spawn_(void) -{ -} - -/* <19febe> ../cstrike/dlls/triggers.cpp:2319 */ -NOBODY void CTriggerGravity::GravityTouch(CBaseEntity *pOther) -{ -} - -/* <1a5159> ../cstrike/dlls/triggers.cpp:2351 */ -LINK_ENTITY_TO_CLASS(trigger_changetarget, CTriggerChangeTarget); - -/* <1a093a> ../cstrike/dlls/triggers.cpp:2358 */ -IMPLEMENT_SAVERESTORE(CTriggerChangeTarget, CBaseDelay); - -/* <1a1691> ../cstrike/dlls/triggers.cpp:2360 */ -NOBODY void CTriggerChangeTarget::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2362 -// KeyValue(class CTriggerChangeTarget *const this, -// KeyValueData *pkvd); // 2360 -} - -/* <19ff1f> ../cstrike/dlls/triggers.cpp:2371 */ -NOBODY void CTriggerChangeTarget::Spawn_(void) -{ -} - -/* <1a010d> ../cstrike/dlls/triggers.cpp:2376 */ -NOBODY void CTriggerChangeTarget::Use_(CBaseEntity *pActivator, class CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// { -// class CBaseEntity *pTarget; // 2378 -// { -// class CBaseMonster *pMonster; // 2383 -// } -// } -} - -/* <1a5235> ../cstrike/dlls/triggers.cpp:2425 */ -LINK_ENTITY_TO_CLASS(trigger_camera, CTriggerCamera); - -/* <1a08e7> ../cstrike/dlls/triggers.cpp:2445 */ -IMPLEMENT_SAVERESTORE(CTriggerCamera, CBaseDelay); - -/* <19ff6f> ../cstrike/dlls/triggers.cpp:2447 */ -NOBODY void CTriggerCamera::Spawn_(void) -{ -} - -/* <1a1537> ../cstrike/dlls/triggers.cpp:2462 */ -NOBODY void CTriggerCamera::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2464 -// FStrEq(const char *sz1, -// const char *sz2); // 2469 -// KeyValue(CTriggerCamera *const this, -// KeyValueData *pkvd); // 2462 -// atof(const char *__nptr); // 2466 -} - -/* <1a55e4> ../cstrike/dlls/triggers.cpp:2490 */ -NOBODY void CTriggerCamera::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ -// Use(CTriggerCamera *const this, -// class CBaseEntity *pActivator, -// class CBaseEntity *pCaller, -// USE_TYPE useType, -// float value); // 2490 -} - -/* <1a5494> ../cstrike/dlls/triggers.cpp:2587 */ -NOBODY void CTriggerCamera::FollowTarget(void) -{ -// { -// class Vector vecGoal; // 2606 -// float dx; // 2615 -// float dy; // 2616 -// } -// FollowTarget(CTriggerCamera *const this); // 2587 -} - -/* <1a5311> ../cstrike/dlls/triggers.cpp:2644 */ -NOBODY void CTriggerCamera::Move(void) -{ -// { -// float fraction; // 2688 -// { -// class Vector delta; // 2676 -// operator-(const class Vector *const this, -// const class Vector &const v); // 2676 -// Length(const class Vector *const this); // 2677 -// Normalize(const class Vector *const this); // 2678 -// } -// operator*(const class Vector *const this, -// float fl); // 2689 -// operator*(const class Vector *const this, -// float fl); // 2689 -// operator*(const class Vector *const this, -// float fl); // 2689 -// operator+(const class Vector *const this, -// const class Vector &const v); // 2689 -// } -} - -/* <1a5815> ../cstrike/dlls/triggers.cpp:2699 */ -LINK_ENTITY_TO_CLASS(env_snow, CWeather); - -/* <1a58f1> ../cstrike/dlls/triggers.cpp:2700 */ -LINK_ENTITY_TO_CLASS(func_snow, CWeather); - -/* <1a59cd> ../cstrike/dlls/triggers.cpp:2701 */ -LINK_ENTITY_TO_CLASS(env_rain, CWeather); - -/* <1a5aa9> ../cstrike/dlls/triggers.cpp:2702 */ -LINK_ENTITY_TO_CLASS(func_rain, CWeather); - -/* <1a1477> ../cstrike/dlls/triggers.cpp:2716 */ -NOBODY void CClientFog::KeyValue_(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2718 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 2730 -// KeyValue(CClientFog *const this, -// KeyValueData *pkvd); // 2716 -} - -/* <19ff97> ../cstrike/dlls/triggers.cpp:2735 */ -NOBODY void CClientFog::Spawn_(void) -{ -} - -/* <1a5ba9> ../cstrike/dlls/triggers.cpp:2744 */ -LINK_ENTITY_TO_CLASS(env_fog, CClientFog); - -#ifdef HOOK_GAMEDLL - -void CFrictionModifier::Spawn(void) -{ - Spawn_(); -} - -void CFrictionModifier::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - -int CFrictionModifier::Save(CSave &save) -{ - return Save_(save); -} - -int CFrictionModifier::Restore(CRestore &restore) -{ - return Restore_(restore); -} - +#include "precompiled.h" + +/* +* Globals initialization +*/ +#ifndef HOOK_GAMEDLL + +TYPEDESCRIPTION CFrictionModifier::m_SaveData[] = +{ + DEFINE_FIELD(CFrictionModifier, m_frictionFraction, FIELD_FLOAT), +}; + +TYPEDESCRIPTION CAutoTrigger::m_SaveData[] = +{ + DEFINE_FIELD(CAutoTrigger, m_globalstate, FIELD_STRING), + DEFINE_FIELD(CAutoTrigger, triggerType, FIELD_INTEGER), +}; + +TYPEDESCRIPTION CTriggerRelay::m_SaveData[1] = +{ + DEFINE_FIELD(CTriggerRelay, triggerType, FIELD_INTEGER), +}; + +TYPEDESCRIPTION CMultiManager::m_SaveData[] = +{ + DEFINE_FIELD(CMultiManager, m_cTargets, FIELD_INTEGER), + DEFINE_FIELD(CMultiManager, m_index, FIELD_INTEGER), + DEFINE_FIELD(CMultiManager, m_startTime, FIELD_TIME), + DEFINE_ARRAY(CMultiManager, m_iTargetName, FIELD_STRING, MAX_MULTI_TARGETS), + DEFINE_ARRAY(CMultiManager, m_flTargetDelay, FIELD_FLOAT, MAX_MULTI_TARGETS), +}; + +TYPEDESCRIPTION CChangeLevel::m_SaveData[] = +{ + DEFINE_ARRAY(CChangeLevel, m_szMapName, FIELD_CHARACTER, 32), + DEFINE_ARRAY(CChangeLevel, m_szLandmarkName, FIELD_CHARACTER, 32), + DEFINE_FIELD(CChangeLevel, m_changeTarget, FIELD_STRING), + DEFINE_FIELD(CChangeLevel, m_changeTargetDelay, FIELD_FLOAT), +}; +TYPEDESCRIPTION CTriggerChangeTarget::m_SaveData[] = +{ + DEFINE_FIELD(CTriggerChangeTarget, m_iszNewTarget, FIELD_STRING), +}; + +TYPEDESCRIPTION CTriggerCamera::m_SaveData[] = +{ + DEFINE_FIELD(CTriggerCamera, m_hPlayer, FIELD_EHANDLE), + DEFINE_FIELD(CTriggerCamera, m_hTarget, FIELD_EHANDLE), + DEFINE_FIELD(CTriggerCamera, m_pentPath, FIELD_CLASSPTR), + DEFINE_FIELD(CTriggerCamera, m_sPath, FIELD_STRING), + DEFINE_FIELD(CTriggerCamera, m_flWait, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_flReturnTime, FIELD_TIME), + DEFINE_FIELD(CTriggerCamera, m_flStopTime, FIELD_TIME), + DEFINE_FIELD(CTriggerCamera, m_moveDistance, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_targetSpeed, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_initialSpeed, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_acceleration, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_deceleration, FIELD_FLOAT), + DEFINE_FIELD(CTriggerCamera, m_state, FIELD_INTEGER), +}; + +#else + +TYPEDESCRIPTION (*CFrictionModifier::pm_SaveData)[1]; +TYPEDESCRIPTION (*CAutoTrigger::pm_SaveData)[2]; +TYPEDESCRIPTION (*CTriggerRelay::pm_SaveData)[1]; +TYPEDESCRIPTION (*CMultiManager::pm_SaveData)[5]; +TYPEDESCRIPTION (*CChangeLevel::pm_SaveData)[4]; +TYPEDESCRIPTION (*CTriggerChangeTarget::pm_SaveData)[1]; +TYPEDESCRIPTION (*CTriggerCamera::pm_SaveData)[13]; + +#endif // HOOK_GAMEDLL + +/* <1a257e> ../cstrike/dlls/triggers.cpp:60 */ +LINK_ENTITY_TO_CLASS(func_friction, CFrictionModifier); + +/* <1a0ad7> ../cstrike/dlls/triggers.cpp:68 */ +IMPLEMENT_SAVERESTORE(CFrictionModifier, CBaseEntity); + +/* <19fa7d> ../cstrike/dlls/triggers.cpp:72 */ +NOBODY void CFrictionModifier::Spawn_(void) +{ +} + +/* <19faa6> ../cstrike/dlls/triggers.cpp:82 */ +NOBODY void CFrictionModifier::ChangeFriction(CBaseEntity *pOther) +{ +} + +/* <1a1c39> ../cstrike/dlls/triggers.cpp:91 */ +NOBODY void CFrictionModifier::KeyValue_(KeyValueData *pkvd) +{ +} + +/* <1a2657> ../cstrike/dlls/triggers.cpp:126 */ +LINK_ENTITY_TO_CLASS(trigger_auto, CAutoTrigger); + +/* <1a0a85> ../cstrike/dlls/triggers.cpp:134 */ +IMPLEMENT_SAVERESTORE(CAutoTrigger, CBaseDelay); + +/* <1a1b64> ../cstrike/dlls/triggers.cpp:136 */ +NOBODY void CAutoTrigger::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 138 +// FStrEq(const char *sz1, +// const char *sz2); // 143 +// { +// int type; // 145 +// atoi(const char *__nptr); // 145 +// } +// KeyValue(class CAutoTrigger *const this, +// KeyValueData *pkvd); // 136 +} + +/* <19fb05> ../cstrike/dlls/triggers.cpp:165 */ +NOBODY void CAutoTrigger::Spawn_(void) +{ +} + +/* <19fb2d> ../cstrike/dlls/triggers.cpp:171 */ +NOBODY void CAutoTrigger::Precache_(void) +{ +} + +/* <19d48c> ../cstrike/dlls/triggers.cpp:177 */ +NOBODY void CAutoTrigger::Think_(void) +{ +} + +/* <1a2730> ../cstrike/dlls/triggers.cpp:207 */ +LINK_ENTITY_TO_CLASS(trigger_relay, CTriggerRelay); + +/* <1a0a33> ../cstrike/dlls/triggers.cpp:214 */ +IMPLEMENT_SAVERESTORE(CTriggerRelay, CBaseDelay); + +/* <1a1abc> ../cstrike/dlls/triggers.cpp:216 */ +NOBODY void CTriggerRelay::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 218 +// KeyValue(class CTriggerRelay *const this, +// KeyValueData *pkvd); // 216 +} + +/* <19fb7e> ../cstrike/dlls/triggers.cpp:240 */ +NOBODY void CTriggerRelay::Spawn_(void) +{ +} + +/* <1a01d7> ../cstrike/dlls/triggers.cpp:247 */ +NOBODY void CTriggerRelay::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <1a283f> ../cstrike/dlls/triggers.cpp:304 */ +LINK_ENTITY_TO_CLASS(multi_manager, CMultiManager); + +/* <1a09e0> ../cstrike/dlls/triggers.cpp:316 */ +IMPLEMENT_SAVERESTORE(CMultiManager, CBaseToggle); + +/* <1a19ed> ../cstrike/dlls/triggers.cpp:318 */ +NOBODY void CMultiManager::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 325 +// { +// char tmp; // 335 +// atof(const char *__nptr); // 339 +// } +// KeyValue(class CMultiManager *const this, +// KeyValueData *pkvd); // 318 +} + +/* <19fbce> ../cstrike/dlls/triggers.cpp:347 */ +NOBODY void CMultiManager::Spawn_(void) +{ +// { +// int swapped; // 355 +// { +// int i; // 360 +// { +// int name; // 365 +// float delay; // 366 +// } +// } +// } +} + +/* <1a03e5> ../cstrike/dlls/triggers.cpp:377 */ +NOBODY void CMultiManager::Restart_(void) +{ +// { +// int i; // 379 +// edict_t *pentTarget; // 380 +// const char *name; // 381 +// { +// class CBaseEntity *pTarget; // 399 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 395 +// FNullEnt(const edict_t *pent); // 396 +// Instance(edict_t *pent); // 399 +// } +// IsClone(class CMultiManager *const this); // 410 +// } +} + +/* <1a1402> ../cstrike/dlls/triggers.cpp:420 */ +NOBODY BOOL CMultiManager::HasTarget_(string_t targetname) +{ +// { +// int i; // 422 +// FStrEq(const char *sz1, +// const char *sz2); // 423 +// } +} + +/* <1a0393> ../cstrike/dlls/triggers.cpp:432 */ +NOBODY void CMultiManager::ManagerThink(void) +{ +// { +// float time; // 434 +// IsClone(class CMultiManager *const this); // 446 +// } +} + +/* <1a291b> ../cstrike/dlls/triggers.cpp:457 */ +NOBODY CMultiManager *CMultiManager::Clone(void) +{ + CMultiManager *pMulti = GetClassPtr((CMultiManager *)NULL); + edict_t *pEdict = pMulti->pev->pContainingEntity; + + memcpy(pMulti->pev, pev, sizeof(*pev)); + pMulti->pev->pContainingEntity = pEdict; + pMulti->pev->spawnflags |= SF_MULTIMAN_CLONE; + pMulti->m_cTargets = m_cTargets; + memcpy(pMulti->m_iTargetName, m_iTargetName, sizeof(m_iTargetName)); + memcpy(pMulti->m_flTargetDelay, m_flTargetDelay, sizeof(m_flTargetDelay)); + return pMulti; +} + +/* <1a2a24> ../cstrike/dlls/triggers.cpp:475 */ +NOBODY void CMultiManager::ManagerUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// ShouldClone(class CMultiManager *const this); // 479 +// { +// class CMultiManager *pClone; // 481 +// } +} + +/* <1a2ada> ../cstrike/dlls/triggers.cpp:532 */ +LINK_ENTITY_TO_CLASS(env_render, CRenderFxManager); + +/* <19fc52> ../cstrike/dlls/triggers.cpp:535 */ +NOBODY void CRenderFxManager::Spawn_(void) +{ +} + +/* <1a0c95> ../cstrike/dlls/triggers.cpp:540 */ +NOBODY void CRenderFxManager::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Use(class CRenderFxManager *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 540 +} + +/* <1a2bb6> ../cstrike/dlls/triggers.cpp:583 */ +LINK_ENTITY_TO_CLASS(trigger, CBaseTrigger); + +/* <1a2c92> ../cstrike/dlls/triggers.cpp:590 */ +NOBODY void CBaseTrigger::InitTrigger(void) +{ +// operator!=(const class Vector *const this, +// const class Vector &const v); // 594 +} + +/* <1a17cf> ../cstrike/dlls/triggers.cpp:608 */ +NOBODY void CBaseTrigger::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 610 +// FStrEq(const char *sz1, +// const char *sz2); // 615 +// KeyValue(class CBaseTrigger *const this, +// KeyValueData *pkvd); // 608 +// atof(const char *__nptr); // 612 +// atof(const char *__nptr); // 617 +} + +/* <1a3060> ../cstrike/dlls/triggers.cpp:636 */ +LINK_ENTITY_TO_CLASS(trigger_hurt, CTriggerHurt); + +/* <1a313c> ../cstrike/dlls/triggers.cpp:649 */ +LINK_ENTITY_TO_CLASS(trigger_monsterjump, CTriggerMonsterJump); + +/* <1a2fdc> ../cstrike/dlls/triggers.cpp:652 */ +NOBODY void CTriggerMonsterJump::Spawn_(void) +{ +// Spawn(class CTriggerMonsterJump *const this); // 652 +} + +/* <1a00e4> ../cstrike/dlls/triggers.cpp:671 */ +NOBODY void CTriggerMonsterJump::Think_(void) +{ +} + +/* <19fca2> ../cstrike/dlls/triggers.cpp:678 */ +NOBODY void CTriggerMonsterJump::Touch_(CBaseEntity *pOther) +{ +// { +// entvars_t *pevOther; // 680 +// operator*(const class Vector *const this, +// float fl); // 695 +// } +} + +/* <1a3218> ../cstrike/dlls/triggers.cpp:715 */ +LINK_ENTITY_TO_CLASS(trigger_cdaudio, CTriggerCDAudio); + +/* <1a2382> ../cstrike/dlls/triggers.cpp:721 */ +NOBODY void CTriggerCDAudio::Touch_(CBaseEntity *pOther) +{ +// PlayTrack(class CTriggerCDAudio *const this); // 728 +} + +/* <1a2fb4> ../cstrike/dlls/triggers.cpp:731 */ +NOBODY void CTriggerCDAudio::Spawn_(void) +{ +} + +/* <1a2288> ../cstrike/dlls/triggers.cpp:736 */ +NOBODY void CTriggerCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// PlayTrack(class CTriggerCDAudio *const this); // 738 +} + +/* <19e08b> ../cstrike/dlls/triggers.cpp:741 */ +NOBODY void PlayCDTrack(int iTrack) +{ +// { +// edict_t *pClient; // 743 +// { +// char string; // 764 +// } +// } +} + +/* <1a3372> ../cstrike/dlls/triggers.cpp:773 */ +NOBODY void CTriggerCDAudio::PlayTrack(void) +{ +// PlayCDTrack(int iTrack); // 775 +} + +/* <1a340c> ../cstrike/dlls/triggers.cpp:794 */ +LINK_ENTITY_TO_CLASS(target_cdaudio, CTargetCDAudio); + +/* <1a170f> ../cstrike/dlls/triggers.cpp:796 */ +NOBODY void CTargetCDAudio::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 798 +// KeyValue(class CBaseEntity *const this, +// KeyValueData *pkvd); // 804 +// KeyValue(class CTargetCDAudio *const this, +// KeyValueData *pkvd); // 796 +} + +/* <1a066a> ../cstrike/dlls/triggers.cpp:807 */ +NOBODY void CTargetCDAudio::Spawn_(void) +{ +// Spawn(class CTargetCDAudio *const this); // 807 +} + +/* <1a2175> ../cstrike/dlls/triggers.cpp:816 */ +NOBODY void CTargetCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Play(class CTargetCDAudio *const this); // 818 +} + +/* <1a2465> ../cstrike/dlls/triggers.cpp:822 */ +NOBODY void CTargetCDAudio::Think_(void) +{ +// { +// edict_t *pClient; // 824 +// operator-(const class Vector *const this, +// const class Vector &const v); // 835 +// Length(const class Vector *const this); // 835 +// Play(class CTargetCDAudio *const this); // 836 +// } +} + +/* <1a34e8> ../cstrike/dlls/triggers.cpp:840 */ +NOBODY void CTargetCDAudio::Play(void) +{ +// PlayCDTrack(int iTrack); // 842 +} + +/* <1a2f8b> ../cstrike/dlls/triggers.cpp:853 */ +NOBODY void CTriggerHurt::Spawn_(void) +{ +} + +/* <1a5df2> ../cstrike/dlls/triggers.cpp:883 */ +NOBODY void CTriggerHurt::RadiationThink(void) +{ + +} + +/* <1a007c> ../cstrike/dlls/triggers.cpp:942 */ +NOBODY void CBaseTrigger::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <1a0d93> ../cstrike/dlls/triggers.cpp:959 */ +NOBODY void CBaseTrigger::HurtTouch(CBaseEntity *pOther) +{ +// { +// float fldmg; // 961 +// } +// HurtTouch(class CBaseTrigger *const this, +// class CBaseEntity *pOther); // 959 +} + +/* <1a3582> ../cstrike/dlls/triggers.cpp:1086 */ +LINK_ENTITY_TO_CLASS(trigger_multiple, CTriggerMultiple); + +/* <1a2f67> ../cstrike/dlls/triggers.cpp:1089 */ +NOBODY void CTriggerMultiple::Spawn_(void) +{ +} + +/* <1a365e> ../cstrike/dlls/triggers.cpp:1135 */ +LINK_ENTITY_TO_CLASS(trigger_once, CTriggerOnce); + +/* <1a301c> ../cstrike/dlls/triggers.cpp:1136 */ +NOBODY void CTriggerOnce::Spawn_(void) +{ +// Spawn(class CTriggerMultiple *const this); // 1140 +} + +/* <1a20a4> ../cstrike/dlls/triggers.cpp:1145 */ +NOBODY void CBaseTrigger::MultiTouch(CBaseEntity *pOther) +{ +// { +// entvars_t *pevToucher; // 1147 +// ActivateMultiTrigger(class CBaseTrigger *const this, +// class CBaseEntity *pActivator); // 1157 +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 1154 +// } +} + +/* <1a373a> ../cstrike/dlls/triggers.cpp:1167 */ +NOBODY void CBaseTrigger::ActivateMultiTrigger(CBaseEntity *pActivator) +{ +} + +/* <19fd1a> ../cstrike/dlls/triggers.cpp:1214 */ +NOBODY void CBaseTrigger::MultiWaitOver(void) +{ +} + +/* <1a1f98> ../cstrike/dlls/triggers.cpp:1231 */ +NOBODY void CBaseTrigger::CounterUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// BOOL fTellActivator; // 1239 +// } +// CounterUse(class CBaseTrigger *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 1231 +} + +/* <1a3767> ../cstrike/dlls/triggers.cpp:1278 */ +LINK_ENTITY_TO_CLASS(trigger_counter, CTriggerCounter); + +/* <19fd42> ../cstrike/dlls/triggers.cpp:1280 */ +NOBODY void CTriggerCounter::Spawn_(void) +{ +} + +/* <1a3843> ../cstrike/dlls/triggers.cpp:1299 */ +LINK_ENTITY_TO_CLASS(trigger_transition, CTriggerVolume); + +/* <19fd6a> ../cstrike/dlls/triggers.cpp:1302 */ +NOBODY void CTriggerVolume::Spawn_(void) +{ +} + +/* <1a3955> ../cstrike/dlls/triggers.cpp:1321 */ +LINK_ENTITY_TO_CLASS(fireanddie, CFireAndDie); + +/* <1a0618> ../cstrike/dlls/triggers.cpp:1323 */ +NOBODY void CFireAndDie::Spawn_(void) +{ +// MAKE_STRING_CLASS(const char *str, +// entvars_t *pev); // 1325 +} + +/* <19fdbb> ../cstrike/dlls/triggers.cpp:1330 */ +NOBODY void CFireAndDie::Precache_(void) +{ +} + +/* <1a01ae> ../cstrike/dlls/triggers.cpp:1337 */ +NOBODY void CFireAndDie::Think_(void) +{ +} + +/* <1a3a67> ../cstrike/dlls/triggers.cpp:1371 */ +LINK_ENTITY_TO_CLASS(trigger_changelevel, CChangeLevel); + +/* <1a098d> ../cstrike/dlls/triggers.cpp:1382 */ +IMPLEMENT_SAVERESTORE(CChangeLevel, CBaseTrigger); + +/* <1a1d4a> ../cstrike/dlls/triggers.cpp:1388 */ +NOBODY void CChangeLevel::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 1390 +// KeyValue(class CChangeLevel *const this, +// KeyValueData *pkvd); // 1388 +} + +/* <1a2f25> ../cstrike/dlls/triggers.cpp:1423 */ +NOBODY void CChangeLevel::Spawn_(void) +{ +} + +/* <19fde3> ../cstrike/dlls/triggers.cpp:1441 */ +NOBODY void CChangeLevel::ExecuteChangeLevel(void) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1443 +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// edict_t *ed); // 1448 +} + +/* <1a3b43> ../cstrike/dlls/triggers.cpp:1456 */ +NOXREF edict_t *CChangeLevel::FindLandmark(const char *pLandmarkName) +{ + edict_t *pentLandmark = FIND_ENTITY_BY_STRING(NULL, "targetname", pLandmarkName); + while (!FNullEnt(pentLandmark)) + { + // Found the landmark + if (FClassnameIs(pentLandmark, "info_landmark")) + return pentLandmark; + else + pentLandmark = FIND_ENTITY_BY_STRING(pentLandmark, "targetname", pLandmarkName); + } + ALERT(at_error, "Can't find landmark %s\n", pLandmarkName); + return NULL; +} + +/* <1a3e4f> ../cstrike/dlls/triggers.cpp:1479 */ +NOBODY void CChangeLevel::UseChangeLevel(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// ChangeLevelNow(class CChangeLevel *const this, +// class CBaseEntity *pActivator); // 1481 +} + +/* <1a3fb2> ../cstrike/dlls/triggers.cpp:1484 */ +NOBODY void CChangeLevel::ChangeLevelNow(CBaseEntity *pActivator) +{ +// { +// edict_t *pentLandmark; // 1486 +// LEVELLIST levels; // 1487 +// class CBaseEntity *pPlayer; // 1502 +// Instance(edict_t *pent); // 1502 +// InTransitionVolume(class CBaseEntity *pEntity, +// char *pVolumeName); // 1503 +// { +// class CFireAndDie *pFireAndDie; // 1512 +// GetClassPtr(class CFireAndDie *a); // 1512 +// edict(class CBaseEntity *const this); // 1520 +// } +// FNullEnt(const edict_t *pent); // 1532 +// } +} + +/* <1a3ef5> ../cstrike/dlls/triggers.cpp:1545 */ +NOBODY void CChangeLevel::TouchChangeLevel(CBaseEntity *pOther) +{ +// FClassnameIs(entvars_t *pev, +// const char *szClassname); // 1547 +// ChangeLevelNow(class CChangeLevel *const this, +// class CBaseEntity *pActivator); // 1550 +} + +/* <1a3ff8> ../cstrike/dlls/triggers.cpp:1556 */ +NOBODY int CChangeLevel::AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark) +{ +// { +// int i; // 1558 +// } +} + +/* <1a44ba> ../cstrike/dlls/triggers.cpp:1576 */ +NOBODY int BuildChangeList(LEVELLIST *pLevelList, int maxList) +{ + CChangeLevel::ChangeList(pLevelList, maxList); +} + +/* <1a4075> ../cstrike/dlls/triggers.cpp:1582 */ +NOBODY int CChangeLevel::InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName) +{ +// { +// edict_t *pentVolume; // 1584 +// int inVolume; // 1597 +// } +} + +/* <1a40b1> ../cstrike/dlls/triggers.cpp:1625 */ +NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList) +{ + edict_t *pentChangelevel, *pentLandmark; + int i, count = 0; + + // Find all of the possible level changes on this BSP + pentChangelevel = FIND_ENTITY_BY_STRING(NULL, "classname", "trigger_changelevel"); + + if (FNullEnt(pentChangelevel)) + return 0; + + while (!FNullEnt(pentChangelevel)) + { + CChangeLevel *pTrigger = GetClassPtr((CChangeLevel *)VARS(pentChangelevel)); + + if (pTrigger) + { + // Find the corresponding landmark + pentLandmark = FindLandmark(pTrigger->m_szLandmarkName); + if (pentLandmark) + { + // Build a list of unique transitions + if (AddTransitionToList( pLevelList, count, pTrigger->m_szMapName, pTrigger->m_szLandmarkName, pentLandmark)) + { + count++; + + if (count >= maxList) + break; + } + } + } + pentChangelevel = FIND_ENTITY_BY_STRING(pentChangelevel, "classname", "trigger_changelevel"); + } + + if (gpGlobals->pSaveData && ((SAVERESTOREDATA *)gpGlobals->pSaveData)->pTable) + { + CSave saveHelper((SAVERESTOREDATA *)gpGlobals->pSaveData); + + for (i = 0; i < count; i++) + { + int j, entityCount = 0; + CBaseEntity *pEntList[ MAX_ENTITY ]; + int entityFlags[ MAX_ENTITY ]; + + // Follow the linked list of entities in the PVS of the transition landmark + edict_t *pent = FIND_ENTITY_IN_PVS(pLevelList[i].pentLandmark); + + // Build a list of valid entities in this linked list (we're going to use pent->v.chain again) + while (!FNullEnt(pent)) + { + CBaseEntity *pEntity = CBaseEntity::Instance(pent); + if (pEntity) + { + int caps = pEntity->ObjectCaps(); + + if (!(caps & FCAP_DONT_SAVE)) + { + int flags = 0; + + // If this entity can be moved or is global, mark it + if (caps & FCAP_ACROSS_TRANSITION) + flags |= FENTTABLE_MOVEABLE; + + if (pEntity->pev->globalname && !pEntity->IsDormant()) + flags |= FENTTABLE_GLOBAL; + + if (flags) + { + pEntList[ entityCount ] = pEntity; + entityFlags[ entityCount ] = flags; + entityCount++; + + if (entityCount > MAX_ENTITY) + ALERT( at_error, "Too many entities across a transition!" ); + } + } + } + pent = pent->v.chain; + } + + for (j = 0; j < entityCount; j++) + { + // Check to make sure the entity isn't screened out by a trigger_transition + if (entityFlags[j] && InTransitionVolume(pEntList[j], pLevelList[i].landmarkName)) + { + // Mark entity table with 1< ../cstrike/dlls/triggers.cpp:1722 */ +NOBODY void NextLevel(void) +{ +// { +// edict_t *pent; // 1724 +// class CChangeLevel *pChange; // 1725 +// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, +// const char *pszName); // 1728 +// FNullEnt(const edict_t *pent); // 1731 +// GetClassPtr(class CChangeLevel *a); // 1738 +// VARS(edict_t *pent); // 1738 +// GetClassPtr(class CChangeLevel *a); // 1734 +// } +} + +/* <1a4709> ../cstrike/dlls/triggers.cpp:1760 */ +LINK_ENTITY_TO_CLASS(func_ladder, CLadder); + +/* <1a1937> ../cstrike/dlls/triggers.cpp:1763 */ +NOBODY void CLadder::KeyValue_(KeyValueData *pkvd) +{ +} + +/* <19fe6c> ../cstrike/dlls/triggers.cpp:1772 */ +NOBODY void CLadder::Precache_(void) +{ +} + +/* <19fe95> ../cstrike/dlls/triggers.cpp:1786 */ +NOBODY void CLadder::Spawn_(void) +{ +} + +/* <1a47e5> ../cstrike/dlls/triggers.cpp:1804 */ +LINK_ENTITY_TO_CLASS(trigger_push, CTriggerPush); + +/* <1a18ff> ../cstrike/dlls/triggers.cpp:1807 */ +NOBODY void CTriggerPush::KeyValue_(KeyValueData *pkvd) +{ +} + +/* <1a2eda> ../cstrike/dlls/triggers.cpp:1817 */ +NOBODY void CTriggerPush::Spawn_(void) +{ +// operator==(const class Vector *const this, +// const class Vector &const v); // 1819 +} + +/* <1a023c> ../cstrike/dlls/triggers.cpp:1835 */ +NOBODY void CTriggerPush::Touch_(CBaseEntity *pOther) +{ +// { +// entvars_t *pevToucher; // 1837 +// operator*(float fl, +// const class Vector &const v); // 1854 +// operator+(const class Vector *const this, +// const class Vector &const v); // 1854 +// { +// class Vector vecPush; // 1861 +// operator*(float fl, +// const class Vector &const v); // 1861 +// operator+(const class Vector *const this, +// const class Vector &const v); // 1863 +// } +// } +} + +/* <1a051f> ../cstrike/dlls/triggers.cpp:1878 */ +NOBODY void CBaseTrigger::TeleportTouch(CBaseEntity *pOther) +{ +// { +// entvars_t *pevToucher; // 1880 +// edict_t *pentTarget; // 1881 +// class Vector tmp; // 1910 +// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart, +// const char *pszName); // 1906 +// FNullEnt(const edict_t *pent); // 1907 +// Vector(class Vector *const this, +// const class Vector &const v); // 1910 +// } +} + +/* <1a48c1> ../cstrike/dlls/triggers.cpp:1940 */ +LINK_ENTITY_TO_CLASS(trigger_teleport, CTriggerTeleport); + +/* <1a2eb1> ../cstrike/dlls/triggers.cpp:1942 */ +NOBODY void CTriggerTeleport::Spawn_(void) +{ +} + +/* <1a499d> ../cstrike/dlls/triggers.cpp:1950 */ +LINK_ENTITY_TO_CLASS(info_teleport_destination, CPointEntity); + +/* <1a4a79> ../cstrike/dlls/triggers.cpp:1970 */ +LINK_ENTITY_TO_CLASS(func_buyzone, CBuyZone); + +/* <1a2e71> ../cstrike/dlls/triggers.cpp:1973 */ +NOBODY void CBuyZone::Spawn_(void) +{ +// Spawn(class CBuyZone *const this); // 1973 +} + +/* <1a116b> ../cstrike/dlls/triggers.cpp:1986 */ +NOBODY void CBuyZone::BuyTouch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *p; // 1991 +// } +// BuyTouch(class CBuyZone *const this, +// class CBaseEntity *pOther); // 1986 +} + +/* <1a4b55> ../cstrike/dlls/triggers.cpp:2016 */ +LINK_ENTITY_TO_CLASS(func_bomb_target, CBombTarget); + +/* <1a2e48> ../cstrike/dlls/triggers.cpp:2019 */ +NOBODY void CBombTarget::Spawn_(void) +{ +} + +/* <1a10c1> ../cstrike/dlls/triggers.cpp:2027 */ +NOBODY void CBombTarget::BombTargetTouch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *p; // 2031 +// } +// BombTargetTouch(class CBombTarget *const this, +// class CBaseEntity *pOther); // 2027 +} + +/* <1a0014> ../cstrike/dlls/triggers.cpp:2042 */ +NOBODY void CBombTarget::BombTargetUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +} + +/* <1a4c31> ../cstrike/dlls/triggers.cpp:2064 */ +LINK_ENTITY_TO_CLASS(func_hostage_rescue, CHostageRescue); + +/* <1a2e1f> ../cstrike/dlls/triggers.cpp:2067 */ +NOBODY void CHostageRescue::Spawn_(void) +{ +} + +/* <19ffbf> ../cstrike/dlls/triggers.cpp:2074 */ +NOBODY void CHostageRescue::HostageRescueTouch(CBaseEntity *pOther) +{ +// Signal(class CUnifiedSignals *const this, +// int flSignal); // 2078 +} + +/* <1a4d0d> ../cstrike/dlls/triggers.cpp:2105 */ +LINK_ENTITY_TO_CLASS(func_escapezone, CEscapeZone); + +/* <1a2df6> ../cstrike/dlls/triggers.cpp:2108 */ +NOBODY void CEscapeZone::Spawn_(void) +{ +} + +/* <1a0f88> ../cstrike/dlls/triggers.cpp:2115 */ +NOBODY void CEscapeZone::EscapeTouch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *p; // 2120 +// Signal(class CUnifiedSignals *const this, +// int flSignal); // 2147 +// } +// EscapeTouch(class CEscapeZone *const this, +// class CBaseEntity *pOther); // 2115 +} + +/* <1a4de9> ../cstrike/dlls/triggers.cpp:2163 */ +LINK_ENTITY_TO_CLASS(func_vip_safetyzone, CVIP_SafetyZone); + +/* <1a2dcd> ../cstrike/dlls/triggers.cpp:2166 */ +NOBODY void CVIP_SafetyZone::Spawn_(void) +{ +} + +/* <1a0ec7> ../cstrike/dlls/triggers.cpp:2173 */ +NOBODY void CVIP_SafetyZone::VIP_SafetyTouch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *p; // 2178 +// Signal(class CUnifiedSignals *const this, +// int flSignal); // 2180 +// } +// VIP_SafetyTouch(class CVIP_SafetyZone *const this, +// class CBaseEntity *pOther); // 2173 +} + +/* <1a4ec5> ../cstrike/dlls/triggers.cpp:2204 */ +LINK_ENTITY_TO_CLASS(trigger_autosave, CTriggerSave); + +/* <1a2d8e> ../cstrike/dlls/triggers.cpp:2206 */ +NOBODY void CTriggerSave::Spawn_(void) +{ + //Spawn(class CTriggerSave *const this); // 2206 +} + +/* <1a0c01> ../cstrike/dlls/triggers.cpp:2218 */ +NOBODY void CTriggerSave::SaveTouch(CBaseEntity *pOther) +{ +// SaveTouch(class CTriggerSave *const this, +// class CBaseEntity *pOther); // 2218 +} + +/* <1a4fa1> ../cstrike/dlls/triggers.cpp:2242 */ +LINK_ENTITY_TO_CLASS(trigger_endsection, CTriggerEndSection); + +/* <1a0b7f> ../cstrike/dlls/triggers.cpp:2245 */ +NOBODY void CTriggerEndSection::EndSectionUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// EndSectionUse(class CTriggerEndSection *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 2245 +} + +/* <1a2d4f> ../cstrike/dlls/triggers.cpp:2260 */ +NOBODY void CTriggerEndSection::Spawn_(void) +{ +// Spawn(class CTriggerEndSection *const this); // 2260 +} + +/* <1a0b29> ../cstrike/dlls/triggers.cpp:2276 */ +NOBODY void CTriggerEndSection::EndSectionTouch(CBaseEntity *pOther) +{ +// EndSectionTouch(class CTriggerEndSection *const this, +// class CBaseEntity *pOther); // 2276 +} + +/* <1a196f> ../cstrike/dlls/triggers.cpp:2291 */ +NOBODY void CTriggerEndSection::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2293 +// KeyValue(class CTriggerEndSection *const this, +// KeyValueData *pkvd); // 2291 +} + +/* <1a507d> ../cstrike/dlls/triggers.cpp:2311 */ +LINK_ENTITY_TO_CLASS(trigger_gravity, CTriggerGravity); + +/* <1a2d26> ../cstrike/dlls/triggers.cpp:2313 */ +NOBODY void CTriggerGravity::Spawn_(void) +{ +} + +/* <19febe> ../cstrike/dlls/triggers.cpp:2319 */ +NOBODY void CTriggerGravity::GravityTouch(CBaseEntity *pOther) +{ +} + +/* <1a5159> ../cstrike/dlls/triggers.cpp:2351 */ +LINK_ENTITY_TO_CLASS(trigger_changetarget, CTriggerChangeTarget); + +/* <1a093a> ../cstrike/dlls/triggers.cpp:2358 */ +IMPLEMENT_SAVERESTORE(CTriggerChangeTarget, CBaseDelay); + +/* <1a1691> ../cstrike/dlls/triggers.cpp:2360 */ +NOBODY void CTriggerChangeTarget::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2362 +// KeyValue(class CTriggerChangeTarget *const this, +// KeyValueData *pkvd); // 2360 +} + +/* <19ff1f> ../cstrike/dlls/triggers.cpp:2371 */ +NOBODY void CTriggerChangeTarget::Spawn_(void) +{ +} + +/* <1a010d> ../cstrike/dlls/triggers.cpp:2376 */ +NOBODY void CTriggerChangeTarget::Use_(CBaseEntity *pActivator, class CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// { +// class CBaseEntity *pTarget; // 2378 +// { +// class CBaseMonster *pMonster; // 2383 +// } +// } +} + +/* <1a5235> ../cstrike/dlls/triggers.cpp:2425 */ +LINK_ENTITY_TO_CLASS(trigger_camera, CTriggerCamera); + +/* <1a08e7> ../cstrike/dlls/triggers.cpp:2445 */ +IMPLEMENT_SAVERESTORE(CTriggerCamera, CBaseDelay); + +/* <19ff6f> ../cstrike/dlls/triggers.cpp:2447 */ +NOBODY void CTriggerCamera::Spawn_(void) +{ +} + +/* <1a1537> ../cstrike/dlls/triggers.cpp:2462 */ +NOBODY void CTriggerCamera::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2464 +// FStrEq(const char *sz1, +// const char *sz2); // 2469 +// KeyValue(CTriggerCamera *const this, +// KeyValueData *pkvd); // 2462 +// atof(const char *__nptr); // 2466 +} + +/* <1a55e4> ../cstrike/dlls/triggers.cpp:2490 */ +NOBODY void CTriggerCamera::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ +// Use(CTriggerCamera *const this, +// class CBaseEntity *pActivator, +// class CBaseEntity *pCaller, +// USE_TYPE useType, +// float value); // 2490 +} + +/* <1a5494> ../cstrike/dlls/triggers.cpp:2587 */ +NOBODY void CTriggerCamera::FollowTarget(void) +{ +// { +// class Vector vecGoal; // 2606 +// float dx; // 2615 +// float dy; // 2616 +// } +// FollowTarget(CTriggerCamera *const this); // 2587 +} + +/* <1a5311> ../cstrike/dlls/triggers.cpp:2644 */ +NOBODY void CTriggerCamera::Move(void) +{ +// { +// float fraction; // 2688 +// { +// class Vector delta; // 2676 +// operator-(const class Vector *const this, +// const class Vector &const v); // 2676 +// Length(const class Vector *const this); // 2677 +// Normalize(const class Vector *const this); // 2678 +// } +// operator*(const class Vector *const this, +// float fl); // 2689 +// operator*(const class Vector *const this, +// float fl); // 2689 +// operator*(const class Vector *const this, +// float fl); // 2689 +// operator+(const class Vector *const this, +// const class Vector &const v); // 2689 +// } +} + +/* <1a5815> ../cstrike/dlls/triggers.cpp:2699 */ +LINK_ENTITY_TO_CLASS(env_snow, CWeather); + +/* <1a58f1> ../cstrike/dlls/triggers.cpp:2700 */ +LINK_ENTITY_TO_CLASS(func_snow, CWeather); + +/* <1a59cd> ../cstrike/dlls/triggers.cpp:2701 */ +LINK_ENTITY_TO_CLASS(env_rain, CWeather); + +/* <1a5aa9> ../cstrike/dlls/triggers.cpp:2702 */ +LINK_ENTITY_TO_CLASS(func_rain, CWeather); + +/* <1a1477> ../cstrike/dlls/triggers.cpp:2716 */ +NOBODY void CClientFog::KeyValue_(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2718 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 2730 +// KeyValue(CClientFog *const this, +// KeyValueData *pkvd); // 2716 +} + +/* <19ff97> ../cstrike/dlls/triggers.cpp:2735 */ +NOBODY void CClientFog::Spawn_(void) +{ +} + +/* <1a5ba9> ../cstrike/dlls/triggers.cpp:2744 */ +LINK_ENTITY_TO_CLASS(env_fog, CClientFog); + +#ifdef HOOK_GAMEDLL + +void CFrictionModifier::Spawn(void) +{ + Spawn_(); +} + +void CFrictionModifier::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + +int CFrictionModifier::Save(CSave &save) +{ + return Save_(save); +} + +int CFrictionModifier::Restore(CRestore &restore) +{ + return Restore_(restore); +} + void CAutoTrigger::Spawn(void) { Spawn_(); @@ -1135,22 +1135,22 @@ void CAutoTrigger::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); } - -int CAutoTrigger::Save(CSave &save) -{ - return Save_(save); -} - -int CAutoTrigger::Restore(CRestore &restore) -{ - return Restore_(restore); -} - + +int CAutoTrigger::Save(CSave &save) +{ + return Save_(save); +} + +int CAutoTrigger::Restore(CRestore &restore) +{ + return Restore_(restore); +} + void CAutoTrigger::Think(void) { Think_(); } - + void CTriggerRelay::Spawn(void) { Spawn_(); @@ -1159,23 +1159,23 @@ void CTriggerRelay::Spawn(void) void CTriggerRelay::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -int CTriggerRelay::Save(CSave &save) -{ - return Save_(save); -} - -int CTriggerRelay::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CTriggerRelay::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - +} + +int CTriggerRelay::Save(CSave &save) +{ + return Save_(save); +} + +int CTriggerRelay::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CTriggerRelay::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + void CMultiManager::Spawn(void) { Spawn_(); @@ -1189,78 +1189,78 @@ void CMultiManager::Restart(void) void CMultiManager::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -int CMultiManager::Save(CSave &save) -{ - return Save_(save); -} - -int CMultiManager::Restore(CRestore &restore) -{ - return Restore_(restore); -} - +} + +int CMultiManager::Save(CSave &save) +{ + return Save_(save); +} + +int CMultiManager::Restore(CRestore &restore) +{ + return Restore_(restore); +} + BOOL CMultiManager::HasTarget(string_t targetname) { return HasTarget_(targetname); -} - +} + void CRenderFxManager::Spawn(void) { Spawn_(); } -void CRenderFxManager::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) -{ - Use_(pActivator, pCaller, useType, value); -} - +void CRenderFxManager::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) +{ + Use_(pActivator, pCaller, useType, value); +} + void CBaseTrigger::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - +} + void CTriggerHurt::Spawn(void) { Spawn_(); -} - +} + void CTriggerMonsterJump::Spawn(void) { Spawn_(); -} - +} + void CTriggerMonsterJump::Think(void) { Think_(); -} +} -void CTriggerMonsterJump::Touch(CBaseEntity *pOther) +void CTriggerMonsterJump::Touch(CBaseEntity *pOther) { Touch_(pOther); -} - +} + void CTriggerCDAudio::Spawn(void) { Spawn_(); -} +} -void CTriggerCDAudio::Touch(CBaseEntity *pOther) +void CTriggerCDAudio::Touch(CBaseEntity *pOther) { Touch_(pOther); -} - +} + void CTriggerCDAudio::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { Use_(pActivator, pCaller, useType, value); -} - +} + void CTargetCDAudio::Spawn(void) { Spawn_(); } - + void CTargetCDAudio::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); @@ -1274,28 +1274,28 @@ void CTargetCDAudio::Think(void) void CTargetCDAudio::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { Use_(pActivator, pCaller, useType, value); -} - +} + void CTriggerMultiple::Spawn(void) { Spawn_(); } - + void CTriggerOnce::Spawn(void) { Spawn_(); } - + void CTriggerCounter::Spawn(void) { Spawn_(); } - + void CTriggerVolume::Spawn(void) { Spawn_(); -} - +} + void CFireAndDie::Spawn(void) { Spawn_(); @@ -1310,27 +1310,27 @@ void CFireAndDie::Think(void) { Think_(); } - + void CChangeLevel::Spawn(void) { Spawn_(); } - + void CChangeLevel::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -int CChangeLevel::Save(CSave &save) -{ - return Save_(save); -} - -int CChangeLevel::Restore(CRestore &restore) -{ - return Restore_(restore); -} - +} + +int CChangeLevel::Save(CSave &save) +{ + return Save_(save); +} + +int CChangeLevel::Restore(CRestore &restore) +{ + return Restore_(restore); +} + void CLadder::Spawn(void) { Spawn_(); @@ -1340,62 +1340,62 @@ void CLadder::Precache(void) { Precache_(); } - + void CLadder::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - +} + void CTriggerPush::Spawn(void) { Spawn_(); } - + void CTriggerPush::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -void CTriggerPush::Touch(CBaseEntity *pOther) +} + +void CTriggerPush::Touch(CBaseEntity *pOther) { Touch_(pOther); } - + void CHostageRescue::Spawn(void) { Spawn_(); -} - +} + void CEscapeZone::Spawn(void) { Spawn_(); -} - +} + void CVIP_SafetyZone::Spawn(void) { Spawn_(); -} - +} + void CTriggerSave::Spawn(void) { Spawn_(); -} - +} + void CTriggerEndSection::Spawn(void) { Spawn_(); } - + void CTriggerEndSection::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - +} + void CTriggerGravity::Spawn(void) { Spawn_(); } - + void CTriggerChangeTarget::Spawn(void) { Spawn_(); @@ -1403,23 +1403,23 @@ void CTriggerChangeTarget::Spawn(void) void CTriggerChangeTarget::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -int CTriggerChangeTarget::Save(CSave &save) -{ - return Save_(save); -} - -int CTriggerChangeTarget::Restore(CRestore &restore) -{ - return Restore_(restore); -} - +} + +int CTriggerChangeTarget::Save(CSave &save) +{ + return Save_(save); +} + +int CTriggerChangeTarget::Restore(CRestore &restore) +{ + return Restore_(restore); +} + void CTriggerChangeTarget::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { Use_(pActivator, pCaller, useType, value); -} - +} + void CTriggerCamera::Spawn(void) { Spawn_(); @@ -1427,23 +1427,23 @@ void CTriggerCamera::Spawn(void) void CTriggerCamera::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -int CTriggerCamera::Save(CSave &save) -{ - return Save_(save); -} - -int CTriggerCamera::Restore(CRestore &restore) -{ - return Restore_(restore); -} - +} + +int CTriggerCamera::Save(CSave &save) +{ + return Save_(save); +} + +int CTriggerCamera::Restore(CRestore &restore) +{ + return Restore_(restore); +} + void CTriggerCamera::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { Use_(pActivator, pCaller, useType, value); -} - +} + void CClientFog::Spawn(void) { Spawn_(); @@ -1451,6 +1451,6 @@ void CClientFog::Spawn(void) void CClientFog::KeyValue(KeyValueData *pkvd) { KeyValue_(pkvd); -} - -#endif // HOOK_GAMEDLL +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/dlls/triggers.h b/regamedll/dlls/triggers.h index 74b33199..1d38ba31 100644 --- a/regamedll/dlls/triggers.h +++ b/regamedll/dlls/triggers.h @@ -207,16 +207,16 @@ private: /* <19dfe1> ../cstrike/dlls/triggers.cpp:293 */ inline BOOL IsClone(void) { - if(pev->spawnflags & SF_MULTIMAN_CLONE) + if (pev->spawnflags & SF_MULTIMAN_CLONE) return TRUE; return FALSE; } /* <19e4f3> ../cstrike/dlls/triggers.cpp:294 */ inline BOOL ShouldClone(void) { - if(IsClone()) + if (IsClone()) return FALSE; - if(pev->spawnflags & SF_MULTIMAN_THREAD) + if (pev->spawnflags & SF_MULTIMAN_THREAD) return TRUE; return FALSE; } diff --git a/regamedll/dlls/util.cpp b/regamedll/dlls/util.cpp index 857b6f5e..3f5ba48a 100644 --- a/regamedll/dlls/util.cpp +++ b/regamedll/dlls/util.cpp @@ -1,281 +1,281 @@ -#include "precompiled.h" - -#if 1 - -void *addr_orig; -char patchByte[5]; -char patchByteOriginal[5]; - +#include "precompiled.h" + +#if 1 + +void *addr_orig; +char patchByte[5]; +char patchByteOriginal[5]; + //static DWORD oldProtection; -///VirtualProtect(addr_orig,5,PAGE_EXECUTE_READWRITE,&oldProtection); -//memcpy(addr_orig,patchByteOriginal,5); -//pWeaponUSP(a); -//int seedad = pUTIL_SharedRandomLong(seed,low,high); -//memcpy(addr_orig,patchByte,5); - -#endif - -unsigned int glSeed; -CUtlVector< hash_item_t > stringsHashTable; - +///VirtualProtect(addr_orig,5,PAGE_EXECUTE_READWRITE,&oldProtection); +//memcpy(addr_orig,patchByteOriginal,5); +//pWeaponUSP(a); +//int seedad = pUTIL_SharedRandomLong(seed,low,high); +//memcpy(addr_orig,patchByte,5); + +#endif + +unsigned int glSeed; +CUtlVector< hash_item_t > stringsHashTable; + /* * Globals initialization -*/ -#ifndef HOOK_GAMEDLL - -unsigned int seed_table[256] = -{ - 28985U, 27138U, 26457U, 9451U, 17764U, 10909U, 28790U, 8716U, 6361U, 4853U, 17798U, 21977U, 19643U, 20662U, 10834U, 20103, - 27067U, 28634U, 18623U, 25849U, 8576U, 26234U, 23887U, 18228U, 32587U, 4836U, 3306U, 1811U, 3035U, 24559U, 18399U, 315, - 26766U, 907U, 24102U, 12370U, 9674U, 2972U, 10472U, 16492U, 22683U, 11529U, 27968U, 30406U, 13213U, 2319U, 23620U, 16823, - 10013U, 23772U, 21567U, 1251U, 19579U, 20313U, 18241U, 30130U, 8402U, 20807U, 27354U, 7169U, 21211U, 17293U, 5410U, 19223, - 10255U, 22480U, 27388U, 9946U, 15628U, 24389U, 17308U, 2370U, 9530U, 31683U, 25927U, 23567U, 11694U, 26397U, 32602U, 15031, - 18255U, 17582U, 1422U, 28835U, 23607U, 12597U, 20602U, 10138U, 5212U, 1252U, 10074U, 23166U, 19823U, 31667U, 5902U, 24630, - 18948U, 14330U, 14950U, 8939U, 23540U, 21311U, 22428U, 22391U, 3583U, 29004U, 30498U, 18714U, 4278U, 2437U, 22430U, 3439, - 28313U, 23161U, 25396U, 13471U, 19324U, 15287U, 2563U, 18901U, 13103U, 16867U, 9714U, 14322U, 15197U, 26889U, 19372U, 26241, - 31925U, 14640U, 11497U, 8941U, 10056U, 6451U, 28656U, 10737U, 13874U, 17356U, 8281U, 25937U, 1661U, 4850U, 7448U, 12744, - 21826U, 5477U, 10167U, 16705U, 26897U, 8839U, 30947U, 27978U, 27283U, 24685U, 32298U, 3525U, 12398U, 28726U, 9475U, 10208, - 617U, 13467U, 22287U, 2376U, 6097U, 26312U, 2974U, 9114U, 21787U, 28010U, 4725U, 15387U, 3274U, 10762U, 31695U, 17320, - 18324U, 12441U, 16801U, 27376U, 22464U, 7500U, 5666U, 18144U, 15314U, 31914U, 31627U, 6495U, 5226U, 31203U, 2331U, 4668, - 12650U, 18275U, 351U, 7268U, 31319U, 30119U, 7600U, 2905U, 13826U, 11343U, 13053U, 15583U, 30055U, 31093U, 5067U, 761, - 9685U, 11070U, 21369U, 27155U, 3663U, 26542U, 20169U, 12161U, 15411U, 30401U, 7580U, 31784U, 8985U, 29367U, 20989U, 14203, - 29694U, 21167U, 10337U, 1706U, 28578U, 887U, 3373U, 19477U, 14382U, 675U, 7033U, 15111U, 26138U, 12252U, 30996U, 21409, - 25678U, 18555U, 13256U, 23316U, 22407U, 16727U, 991U, 9236U, 5373U, 29402U, 6117U, 15241U, 27715U, 19291U, 19888U, 19847U -}; - -TYPEDESCRIPTION gEntvarsDescription[86] = -{ - DEFINE_ENTITY_FIELD(classname, FIELD_STRING), - DEFINE_ENTITY_GLOBAL_FIELD(globalname, FIELD_STRING), - DEFINE_ENTITY_FIELD(origin, FIELD_POSITION_VECTOR), - DEFINE_ENTITY_FIELD(oldorigin, FIELD_POSITION_VECTOR), - DEFINE_ENTITY_FIELD(velocity, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(basevelocity, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(movedir, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(angles, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(avelocity, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(punchangle, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(v_angle, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(fixangle, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(idealpitch, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(pitch_speed, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(ideal_yaw, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(yaw_speed, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(modelindex, FIELD_INTEGER), - DEFINE_ENTITY_GLOBAL_FIELD(model, FIELD_MODELNAME), - DEFINE_ENTITY_FIELD(viewmodel, FIELD_MODELNAME), - DEFINE_ENTITY_FIELD(weaponmodel, FIELD_MODELNAME), - DEFINE_ENTITY_FIELD(absmin, FIELD_POSITION_VECTOR), - DEFINE_ENTITY_FIELD(absmax, FIELD_POSITION_VECTOR), - DEFINE_ENTITY_GLOBAL_FIELD(mins, FIELD_VECTOR), - DEFINE_ENTITY_GLOBAL_FIELD(maxs, FIELD_VECTOR), - DEFINE_ENTITY_GLOBAL_FIELD(size, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(ltime, FIELD_TIME), - DEFINE_ENTITY_FIELD(nextthink, FIELD_TIME), - DEFINE_ENTITY_FIELD(solid, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(movetype, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(skin, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(body, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(effects, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(gravity, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(friction, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(light_level, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(frame, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(scale, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(sequence, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(animtime, FIELD_TIME), - DEFINE_ENTITY_FIELD(framerate, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(controller, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(blending, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(rendermode, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(renderamt, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(rendercolor, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(renderfx, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(health, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(frags, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(weapons, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(takedamage, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(deadflag, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(view_ofs, FIELD_VECTOR), - DEFINE_ENTITY_FIELD(button, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(impulse, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(chain, FIELD_EDICT), - DEFINE_ENTITY_FIELD(dmg_inflictor, FIELD_EDICT), - DEFINE_ENTITY_FIELD(enemy, FIELD_EDICT), - DEFINE_ENTITY_FIELD(aiment, FIELD_EDICT), - DEFINE_ENTITY_FIELD(owner, FIELD_EDICT), - DEFINE_ENTITY_FIELD(groundentity, FIELD_EDICT), - DEFINE_ENTITY_FIELD(spawnflags, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(flags, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(colormap, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(team, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(max_health, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(teleport_time, FIELD_TIME), - DEFINE_ENTITY_FIELD(armortype, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(armorvalue, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(waterlevel, FIELD_INTEGER), - DEFINE_ENTITY_FIELD(watertype, FIELD_INTEGER), - DEFINE_ENTITY_GLOBAL_FIELD(target, FIELD_STRING), - DEFINE_ENTITY_GLOBAL_FIELD(targetname, FIELD_STRING), - DEFINE_ENTITY_FIELD(netname, FIELD_STRING), - DEFINE_ENTITY_FIELD(message, FIELD_STRING), - DEFINE_ENTITY_FIELD(dmg_take, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(dmg_save, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(dmg, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(dmgtime, FIELD_TIME), - DEFINE_ENTITY_FIELD(noise, FIELD_SOUNDNAME), - DEFINE_ENTITY_FIELD(noise1, FIELD_SOUNDNAME), - DEFINE_ENTITY_FIELD(noise2, FIELD_SOUNDNAME), - DEFINE_ENTITY_FIELD(noise3, FIELD_SOUNDNAME), - DEFINE_ENTITY_FIELD(speed, FIELD_FLOAT), - DEFINE_ENTITY_FIELD(air_finished, FIELD_TIME), - DEFINE_ENTITY_FIELD(pain_finished, FIELD_TIME), - DEFINE_ENTITY_FIELD(radsuit_finished, FIELD_TIME), -}; - -int g_groupmask = 0; -int g_groupop = 0; - -const int gSizes[18] = { 4, 4, 4, 4, 4, 4, 4, 12, 12, 4, 4, 4, 4, 2, 1, 4, 4, 4 }; - -#else //HOOK_GAMEDLL - -unsigned int seed_table[256]; -TYPEDESCRIPTION gEntvarsDescription[86]; - -int g_groupop; -int g_groupmask; - -const int gSizes[18]; - -#endif //HOOK_GAMEDLL - -/* <1ac4be> ../cstrike/dlls/util.cpp:59 */ -unsigned int U_Random(void) -{ - glSeed *= 69069; - glSeed += seed_table[glSeed & 0xFF] + 1; - return (glSeed & 0xFFFFFFF); -} - -/* <1ab992> ../cstrike/dlls/util.cpp:67 */ -void U_Srand(unsigned int seed) -{ - glSeed = seed_table[seed & 0xFF]; -} - -/* <1ac4f8> ../cstrike/dlls/util.cpp:78 */ -int UTIL_SharedRandomLong(unsigned int seed, int low, int high) -{ - unsigned int range = high - low + 1; - U_Srand((unsigned int)(high + low + seed)); - if(range != 1) - { +*/ +#ifndef HOOK_GAMEDLL + +unsigned int seed_table[256] = +{ + 28985U, 27138U, 26457U, 9451U, 17764U, 10909U, 28790U, 8716U, 6361U, 4853U, 17798U, 21977U, 19643U, 20662U, 10834U, 20103, + 27067U, 28634U, 18623U, 25849U, 8576U, 26234U, 23887U, 18228U, 32587U, 4836U, 3306U, 1811U, 3035U, 24559U, 18399U, 315, + 26766U, 907U, 24102U, 12370U, 9674U, 2972U, 10472U, 16492U, 22683U, 11529U, 27968U, 30406U, 13213U, 2319U, 23620U, 16823, + 10013U, 23772U, 21567U, 1251U, 19579U, 20313U, 18241U, 30130U, 8402U, 20807U, 27354U, 7169U, 21211U, 17293U, 5410U, 19223, + 10255U, 22480U, 27388U, 9946U, 15628U, 24389U, 17308U, 2370U, 9530U, 31683U, 25927U, 23567U, 11694U, 26397U, 32602U, 15031, + 18255U, 17582U, 1422U, 28835U, 23607U, 12597U, 20602U, 10138U, 5212U, 1252U, 10074U, 23166U, 19823U, 31667U, 5902U, 24630, + 18948U, 14330U, 14950U, 8939U, 23540U, 21311U, 22428U, 22391U, 3583U, 29004U, 30498U, 18714U, 4278U, 2437U, 22430U, 3439, + 28313U, 23161U, 25396U, 13471U, 19324U, 15287U, 2563U, 18901U, 13103U, 16867U, 9714U, 14322U, 15197U, 26889U, 19372U, 26241, + 31925U, 14640U, 11497U, 8941U, 10056U, 6451U, 28656U, 10737U, 13874U, 17356U, 8281U, 25937U, 1661U, 4850U, 7448U, 12744, + 21826U, 5477U, 10167U, 16705U, 26897U, 8839U, 30947U, 27978U, 27283U, 24685U, 32298U, 3525U, 12398U, 28726U, 9475U, 10208, + 617U, 13467U, 22287U, 2376U, 6097U, 26312U, 2974U, 9114U, 21787U, 28010U, 4725U, 15387U, 3274U, 10762U, 31695U, 17320, + 18324U, 12441U, 16801U, 27376U, 22464U, 7500U, 5666U, 18144U, 15314U, 31914U, 31627U, 6495U, 5226U, 31203U, 2331U, 4668, + 12650U, 18275U, 351U, 7268U, 31319U, 30119U, 7600U, 2905U, 13826U, 11343U, 13053U, 15583U, 30055U, 31093U, 5067U, 761, + 9685U, 11070U, 21369U, 27155U, 3663U, 26542U, 20169U, 12161U, 15411U, 30401U, 7580U, 31784U, 8985U, 29367U, 20989U, 14203, + 29694U, 21167U, 10337U, 1706U, 28578U, 887U, 3373U, 19477U, 14382U, 675U, 7033U, 15111U, 26138U, 12252U, 30996U, 21409, + 25678U, 18555U, 13256U, 23316U, 22407U, 16727U, 991U, 9236U, 5373U, 29402U, 6117U, 15241U, 27715U, 19291U, 19888U, 19847U +}; + +TYPEDESCRIPTION gEntvarsDescription[86] = +{ + DEFINE_ENTITY_FIELD(classname, FIELD_STRING), + DEFINE_ENTITY_GLOBAL_FIELD(globalname, FIELD_STRING), + DEFINE_ENTITY_FIELD(origin, FIELD_POSITION_VECTOR), + DEFINE_ENTITY_FIELD(oldorigin, FIELD_POSITION_VECTOR), + DEFINE_ENTITY_FIELD(velocity, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(basevelocity, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(movedir, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(angles, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(avelocity, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(punchangle, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(v_angle, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(fixangle, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(idealpitch, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(pitch_speed, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(ideal_yaw, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(yaw_speed, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(modelindex, FIELD_INTEGER), + DEFINE_ENTITY_GLOBAL_FIELD(model, FIELD_MODELNAME), + DEFINE_ENTITY_FIELD(viewmodel, FIELD_MODELNAME), + DEFINE_ENTITY_FIELD(weaponmodel, FIELD_MODELNAME), + DEFINE_ENTITY_FIELD(absmin, FIELD_POSITION_VECTOR), + DEFINE_ENTITY_FIELD(absmax, FIELD_POSITION_VECTOR), + DEFINE_ENTITY_GLOBAL_FIELD(mins, FIELD_VECTOR), + DEFINE_ENTITY_GLOBAL_FIELD(maxs, FIELD_VECTOR), + DEFINE_ENTITY_GLOBAL_FIELD(size, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(ltime, FIELD_TIME), + DEFINE_ENTITY_FIELD(nextthink, FIELD_TIME), + DEFINE_ENTITY_FIELD(solid, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(movetype, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(skin, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(body, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(effects, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(gravity, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(friction, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(light_level, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(frame, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(scale, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(sequence, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(animtime, FIELD_TIME), + DEFINE_ENTITY_FIELD(framerate, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(controller, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(blending, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(rendermode, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(renderamt, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(rendercolor, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(renderfx, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(health, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(frags, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(weapons, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(takedamage, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(deadflag, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(view_ofs, FIELD_VECTOR), + DEFINE_ENTITY_FIELD(button, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(impulse, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(chain, FIELD_EDICT), + DEFINE_ENTITY_FIELD(dmg_inflictor, FIELD_EDICT), + DEFINE_ENTITY_FIELD(enemy, FIELD_EDICT), + DEFINE_ENTITY_FIELD(aiment, FIELD_EDICT), + DEFINE_ENTITY_FIELD(owner, FIELD_EDICT), + DEFINE_ENTITY_FIELD(groundentity, FIELD_EDICT), + DEFINE_ENTITY_FIELD(spawnflags, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(flags, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(colormap, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(team, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(max_health, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(teleport_time, FIELD_TIME), + DEFINE_ENTITY_FIELD(armortype, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(armorvalue, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(waterlevel, FIELD_INTEGER), + DEFINE_ENTITY_FIELD(watertype, FIELD_INTEGER), + DEFINE_ENTITY_GLOBAL_FIELD(target, FIELD_STRING), + DEFINE_ENTITY_GLOBAL_FIELD(targetname, FIELD_STRING), + DEFINE_ENTITY_FIELD(netname, FIELD_STRING), + DEFINE_ENTITY_FIELD(message, FIELD_STRING), + DEFINE_ENTITY_FIELD(dmg_take, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(dmg_save, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(dmg, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(dmgtime, FIELD_TIME), + DEFINE_ENTITY_FIELD(noise, FIELD_SOUNDNAME), + DEFINE_ENTITY_FIELD(noise1, FIELD_SOUNDNAME), + DEFINE_ENTITY_FIELD(noise2, FIELD_SOUNDNAME), + DEFINE_ENTITY_FIELD(noise3, FIELD_SOUNDNAME), + DEFINE_ENTITY_FIELD(speed, FIELD_FLOAT), + DEFINE_ENTITY_FIELD(air_finished, FIELD_TIME), + DEFINE_ENTITY_FIELD(pain_finished, FIELD_TIME), + DEFINE_ENTITY_FIELD(radsuit_finished, FIELD_TIME), +}; + +int g_groupmask = 0; +int g_groupop = 0; + +const int gSizes[18] = { 4, 4, 4, 4, 4, 4, 4, 12, 12, 4, 4, 4, 4, 2, 1, 4, 4, 4 }; + +#else //HOOK_GAMEDLL + +unsigned int seed_table[256]; +TYPEDESCRIPTION gEntvarsDescription[86]; + +int g_groupop; +int g_groupmask; + +const int gSizes[18]; + +#endif //HOOK_GAMEDLL + +/* <1ac4be> ../cstrike/dlls/util.cpp:59 */ +unsigned int U_Random(void) +{ + glSeed *= 69069; + glSeed += seed_table[glSeed & 0xFF] + 1; + return (glSeed & 0xFFFFFFF); +} + +/* <1ab992> ../cstrike/dlls/util.cpp:67 */ +void U_Srand(unsigned int seed) +{ + glSeed = seed_table[seed & 0xFF]; +} + +/* <1ac4f8> ../cstrike/dlls/util.cpp:78 */ +int UTIL_SharedRandomLong(unsigned int seed, int low, int high) +{ + unsigned int range = high - low + 1; + U_Srand((unsigned int)(high + low + seed)); + if (range != 1) + { int rnum = U_Random(); int offset = rnum % range; - return (low + offset); - } - return low; -} - -/* <1ac5b5> ../cstrike/dlls/util.cpp:108 */ -float UTIL_SharedRandomFloat(unsigned int seed, float low, float high) -{ - unsigned int range = high - low; - U_Srand((unsigned int)seed + *(unsigned int *)&low + *(unsigned int *)&high); - - U_Random(); - U_Random(); - - if(range) - { + return (low + offset); + } + return low; +} + +/* <1ac5b5> ../cstrike/dlls/util.cpp:108 */ +float UTIL_SharedRandomFloat(unsigned int seed, float low, float high) +{ + unsigned int range = high - low; + U_Srand((unsigned int)seed + *(unsigned int *)&low + *(unsigned int *)&high); + + U_Random(); + U_Random(); + + if (range) + { int tensixrand = U_Random() & 0xFFFFu; float offset = (float)tensixrand / 0x10000u; - return (low + offset * range); - } - return low; -} - -/* <1ac6a9> ../cstrike/dlls/util.cpp:136 */ -NOXREF void UTIL_ParametricRocket(entvars_t *pev, Vector p_vecOrigin, Vector vecAngles, edict_t *owner) -{ - TraceResult tr; - Vector vecTravel; - float travelTime; - - pev->startpos = p_vecOrigin; - UTIL_MakeVectors(vecAngles); - UTIL_TraceLine(pev->startpos, gpGlobals->v_forward * 8192.0f + pev->startpos, ignore_monsters, owner, &tr); - pev->endpos = tr.vecEndPos; - - vecTravel = pev->endpos - pev->startpos; - if (pev->velocity.Length() > 0.0f) - travelTime = vecTravel.Length() / pev->velocity.Length(); - else - travelTime = 0.0f; - + return (low + offset * range); + } + return low; +} + +/* <1ac6a9> ../cstrike/dlls/util.cpp:136 */ +NOXREF void UTIL_ParametricRocket(entvars_t *pev, Vector p_vecOrigin, Vector vecAngles, edict_t *owner) +{ + TraceResult tr; + Vector vecTravel; + float travelTime; + + pev->startpos = p_vecOrigin; + UTIL_MakeVectors(vecAngles); + UTIL_TraceLine(pev->startpos, gpGlobals->v_forward * 8192.0f + pev->startpos, ignore_monsters, owner, &tr); + pev->endpos = tr.vecEndPos; + + vecTravel = pev->endpos - pev->startpos; + if (pev->velocity.Length() > 0.0f) + travelTime = vecTravel.Length() / pev->velocity.Length(); + else + travelTime = 0.0f; + pev->starttime = gpGlobals->time; - pev->impacttime = travelTime + gpGlobals->time; -} - -/* <1ac888> ../cstrike/dlls/util.cpp:160 */ -void UTIL_SetGroupTrace(int groupmask, int op) -{ - g_groupmask = groupmask; - g_groupop = op; - - ENGINE_SETGROUPMASK(groupmask, op); -} - -/* <1ac8bf> ../cstrike/dlls/util.cpp:168 */ -void UTIL_UnsetGroupTrace(void) -{ - g_groupmask = 0; - g_groupop = 0; - - ENGINE_SETGROUPMASK(0,0); -} - -/* <1ac90c> ../cstrike/dlls/util.cpp:177 */ -NOXREF UTIL_GroupTrace::UTIL_GroupTrace(int groupmask, int op) -{ - m_oldgroupmask = g_groupmask; - m_oldgroupop = g_groupop; - - g_groupmask = groupmask; - g_groupop = op; - - ENGINE_SETGROUPMASK(groupmask, op); -} - -/* <1ac963> ../cstrike/dlls/util.cpp:188 */ -NOXREF UTIL_GroupTrace::~UTIL_GroupTrace(void) -{ - g_groupmask = m_oldgroupmask; - g_groupop = m_oldgroupop; - - ENGINE_SETGROUPMASK(g_groupmask, g_groupop); -} - -/* <1ac985> ../cstrike/dlls/util.cpp:345 */ -NOXREF BOOL UTIL_GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) -{ - return g_pGameRules->GetNextBestWeapon(pPlayer,pCurrentWeapon); -} - -/* <1ab9ab> ../cstrike/dlls/util.cpp:352 */ -NOXREF float UTIL_AngleMod(float a) -{ + pev->impacttime = travelTime + gpGlobals->time; +} + +/* <1ac888> ../cstrike/dlls/util.cpp:160 */ +void UTIL_SetGroupTrace(int groupmask, int op) +{ + g_groupmask = groupmask; + g_groupop = op; + + ENGINE_SETGROUPMASK(groupmask, op); +} + +/* <1ac8bf> ../cstrike/dlls/util.cpp:168 */ +void UTIL_UnsetGroupTrace(void) +{ + g_groupmask = 0; + g_groupop = 0; + + ENGINE_SETGROUPMASK(0,0); +} + +/* <1ac90c> ../cstrike/dlls/util.cpp:177 */ +NOXREF UTIL_GroupTrace::UTIL_GroupTrace(int groupmask, int op) +{ + m_oldgroupmask = g_groupmask; + m_oldgroupop = g_groupop; + + g_groupmask = groupmask; + g_groupop = op; + + ENGINE_SETGROUPMASK(groupmask, op); +} + +/* <1ac963> ../cstrike/dlls/util.cpp:188 */ +NOXREF UTIL_GroupTrace::~UTIL_GroupTrace(void) +{ + g_groupmask = m_oldgroupmask; + g_groupop = m_oldgroupop; + + ENGINE_SETGROUPMASK(g_groupmask, g_groupop); +} + +/* <1ac985> ../cstrike/dlls/util.cpp:345 */ +NOXREF BOOL UTIL_GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) +{ + return g_pGameRules->GetNextBestWeapon(pPlayer,pCurrentWeapon); +} + +/* <1ab9ab> ../cstrike/dlls/util.cpp:352 */ +NOXREF float UTIL_AngleMod(float a) +{ if (a < 0.0f) a = a + 360.0f * ((int)(a / 360.0f) + 1); else if (a >= 360.0f) - a = a - 360.0f * ((int)(a / 360.0f)); - return a; -} - -/* <1aca1d> ../cstrike/dlls/util.cpp:366 */ -NOXREF float UTIL_AngleDiff(float destAngle, float srcAngle) -{ + a = a - 360.0f * ((int)(a / 360.0f)); + return a; +} + +/* <1aca1d> ../cstrike/dlls/util.cpp:366 */ +NOXREF float UTIL_AngleDiff(float destAngle, float srcAngle) +{ float delta = destAngle - srcAngle; if (destAngle > srcAngle) { @@ -287,165 +287,165 @@ NOXREF float UTIL_AngleDiff(float destAngle, float srcAngle) if (delta <= -180.0f) delta += 360.0f; } - return delta; -} - -/* <1aca77> ../cstrike/dlls/util.cpp:384 */ -Vector UTIL_VecToAngles(const Vector &vec) -{ - float rgflVecOut[3]; - VEC_TO_ANGLES(vec, rgflVecOut); - return Vector(rgflVecOut); -} - -/* <1acaf6> ../cstrike/dlls/util.cpp:392 */ -NOXREF void UTIL_MoveToOrigin(edict_t *pent, const Vector &vecGoal, float flDist, int iMoveType) -{ - float rgfl[3]; - vecGoal.CopyToArray(rgfl); - MOVE_TO_ORIGIN(pent, rgfl, flDist, iMoveType); -} - -/* <1acb92> ../cstrike/dlls/util.cpp:401 */ -int UTIL_EntitiesInBox(CBaseEntity **pList, int listMax, const Vector &mins, const Vector &maxs, int flagMask) -{ - edict_t *pEdict = INDEXENT(1); - CBaseEntity *pEntity; - int count = 0; - - if (!pEdict) - return 0; - - for (int i = 1; i < gpGlobals->maxEntities; i++, pEdict++) - { - if (pEdict->free) - continue; - - if (flagMask && !(pEdict->v.flags & flagMask)) - continue; - - if (mins.x > pEdict->v.absmax.x - || mins.y > pEdict->v.absmax.y - || mins.z > pEdict->v.absmax.z - || maxs.x < pEdict->v.absmin.x - || maxs.y < pEdict->v.absmin.y - || maxs.z < pEdict->v.absmin.z) - continue; - - pEntity = CBaseEntity::Instance(pEdict); - if (!pEntity) - continue; - - pList[count++] = pEntity; - - if (count >= listMax) - break; - } - return count; -} - -/* <1acca2> ../cstrike/dlls/util.cpp:443 */ -NOXREF int UTIL_MonstersInSphere(CBaseEntity ** pList, int listMax, const Vector ¢er, float radius) -{ - edict_t *pEdict; - CBaseEntity *pEntity; - int count = 0; - float distance; - float delta; - - float radiusSquared = radius * radius; - pEdict = INDEXENT(1); - - if (!pEdict) - return count; - - for (int i = 1; i < gpGlobals->maxEntities; i++, pEdict++) - { - if (pEdict->free) - continue; - - if (!(pEdict->v.flags & (FL_CLIENT|FL_MONSTER))) - continue; - - delta = center.x - pEdict->v.origin.x; - delta *= delta; - - if (delta > radiusSquared) - continue; - - distance = delta; - - delta = center.y - pEdict->v.origin.y; - delta *= delta; - - distance += delta; - if (distance > radiusSquared) - continue; - - delta = center.z - (pEdict->v.absmin.z + pEdict->v.absmax.z) * 0.5; - delta *= delta; - - distance += delta; - if (distance > radiusSquared) - continue; - - pEntity = CBaseEntity::Instance(pEdict); - if (!pEntity) - continue; - - pList[count] = pEntity; - count++; - - if (count >= listMax) - return count; - } - return count; -} - -/* <1acdcc> ../cstrike/dlls/util.cpp:505 */ -CBaseEntity *UTIL_FindEntityInSphere(CBaseEntity *pStartEntity, const Vector &vecCenter, float flRadius) -{ - edict_t *pentEntity; - if (pStartEntity) - pentEntity = pStartEntity->edict(); - else - pentEntity = NULL; - - pentEntity = FIND_ENTITY_IN_SPHERE(pentEntity, vecCenter, flRadius); - if (!FNullEnt(pentEntity)) - return CBaseEntity::Instance(pentEntity); - return NULL; -} - -/* <1acec6> ../cstrike/dlls/util.cpp:535 */ -CBaseEntity *UTIL_FindEntityByString_Old(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue) -{ - edict_t *pentEntity; - if (pStartEntity) - pentEntity = pStartEntity->edict(); - else - pentEntity = NULL; - - pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue); - if (!FNullEnt(pentEntity)) - return CBaseEntity::Instance(pentEntity); - return NULL; -} - -/* <1acfbb> ../cstrike/dlls/util.cpp:552 */ -CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue) -{ - edict_t *pentEntity; - int startEntityIndex; - - if (pStartEntity) - pentEntity = pStartEntity->edict(); - else - pentEntity = NULL; - - startEntityIndex = ENTINDEX(pentEntity); - - //it best each entity list + return delta; +} + +/* <1aca77> ../cstrike/dlls/util.cpp:384 */ +Vector UTIL_VecToAngles(const Vector &vec) +{ + float rgflVecOut[3]; + VEC_TO_ANGLES(vec, rgflVecOut); + return Vector(rgflVecOut); +} + +/* <1acaf6> ../cstrike/dlls/util.cpp:392 */ +NOXREF void UTIL_MoveToOrigin(edict_t *pent, const Vector &vecGoal, float flDist, int iMoveType) +{ + float rgfl[3]; + vecGoal.CopyToArray(rgfl); + MOVE_TO_ORIGIN(pent, rgfl, flDist, iMoveType); +} + +/* <1acb92> ../cstrike/dlls/util.cpp:401 */ +int UTIL_EntitiesInBox(CBaseEntity **pList, int listMax, const Vector &mins, const Vector &maxs, int flagMask) +{ + edict_t *pEdict = INDEXENT(1); + CBaseEntity *pEntity; + int count = 0; + + if (!pEdict) + return 0; + + for (int i = 1; i < gpGlobals->maxEntities; i++, pEdict++) + { + if (pEdict->free) + continue; + + if (flagMask && !(pEdict->v.flags & flagMask)) + continue; + + if (mins.x > pEdict->v.absmax.x + || mins.y > pEdict->v.absmax.y + || mins.z > pEdict->v.absmax.z + || maxs.x < pEdict->v.absmin.x + || maxs.y < pEdict->v.absmin.y + || maxs.z < pEdict->v.absmin.z) + continue; + + pEntity = CBaseEntity::Instance(pEdict); + if (!pEntity) + continue; + + pList[count++] = pEntity; + + if (count >= listMax) + break; + } + return count; +} + +/* <1acca2> ../cstrike/dlls/util.cpp:443 */ +NOXREF int UTIL_MonstersInSphere(CBaseEntity ** pList, int listMax, const Vector ¢er, float radius) +{ + edict_t *pEdict; + CBaseEntity *pEntity; + int count = 0; + float distance; + float delta; + + float radiusSquared = radius * radius; + pEdict = INDEXENT(1); + + if (!pEdict) + return count; + + for (int i = 1; i < gpGlobals->maxEntities; i++, pEdict++) + { + if (pEdict->free) + continue; + + if (!(pEdict->v.flags & (FL_CLIENT|FL_MONSTER))) + continue; + + delta = center.x - pEdict->v.origin.x; + delta *= delta; + + if (delta > radiusSquared) + continue; + + distance = delta; + + delta = center.y - pEdict->v.origin.y; + delta *= delta; + + distance += delta; + if (distance > radiusSquared) + continue; + + delta = center.z - (pEdict->v.absmin.z + pEdict->v.absmax.z) * 0.5; + delta *= delta; + + distance += delta; + if (distance > radiusSquared) + continue; + + pEntity = CBaseEntity::Instance(pEdict); + if (!pEntity) + continue; + + pList[count] = pEntity; + count++; + + if (count >= listMax) + return count; + } + return count; +} + +/* <1acdcc> ../cstrike/dlls/util.cpp:505 */ +CBaseEntity *UTIL_FindEntityInSphere(CBaseEntity *pStartEntity, const Vector &vecCenter, float flRadius) +{ + edict_t *pentEntity; + if (pStartEntity) + pentEntity = pStartEntity->edict(); + else + pentEntity = NULL; + + pentEntity = FIND_ENTITY_IN_SPHERE(pentEntity, vecCenter, flRadius); + if (!FNullEnt(pentEntity)) + return CBaseEntity::Instance(pentEntity); + return NULL; +} + +/* <1acec6> ../cstrike/dlls/util.cpp:535 */ +CBaseEntity *UTIL_FindEntityByString_Old(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue) +{ + edict_t *pentEntity; + if (pStartEntity) + pentEntity = pStartEntity->edict(); + else + pentEntity = NULL; + + pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue); + if (!FNullEnt(pentEntity)) + return CBaseEntity::Instance(pentEntity); + return NULL; +} + +/* <1acfbb> ../cstrike/dlls/util.cpp:552 */ +CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue) +{ + edict_t *pentEntity; + int startEntityIndex; + + if (pStartEntity) + pentEntity = pStartEntity->edict(); + else + pentEntity = NULL; + + startEntityIndex = ENTINDEX(pentEntity); + + //it best each entity list if (*szKeyword == 'c') { int hash; @@ -494,31 +494,31 @@ CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKe stringsHashTable[hash].lastHash = item; pentEntity = ENT(item->pev); - } - else - pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue); - + } + else + pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue); + if (!FNullEnt(pentEntity)) return CBaseEntity::Instance(pentEntity); - return NULL; -} - -/* <1ad192> ../cstrike/dlls/util.cpp:673 */ -CBaseEntity *UTIL_FindEntityByClassname(CBaseEntity *pStartEntity, const char *szName) -{ - return UTIL_FindEntityByString(pStartEntity, "classname", szName); -} - -/* <1ac408> ../cstrike/dlls/util.cpp:678 */ -CBaseEntity *UTIL_FindEntityByTargetname(CBaseEntity *pStartEntity, const char *szName) -{ - return UTIL_FindEntityByString(pStartEntity, "targetname", szName); -} - -/* <1ad209> ../cstrike/dlls/util.cpp:684 */ -CBaseEntity *UTIL_FindEntityGeneric(const char *szWhatever, const Vector &vecSrc, float flRadius) -{ - CBaseEntity *pSearch = NULL; + return NULL; +} + +/* <1ad192> ../cstrike/dlls/util.cpp:673 */ +CBaseEntity *UTIL_FindEntityByClassname(CBaseEntity *pStartEntity, const char *szName) +{ + return UTIL_FindEntityByString(pStartEntity, "classname", szName); +} + +/* <1ac408> ../cstrike/dlls/util.cpp:678 */ +CBaseEntity *UTIL_FindEntityByTargetname(CBaseEntity *pStartEntity, const char *szName) +{ + return UTIL_FindEntityByString(pStartEntity, "targetname", szName); +} + +/* <1ad209> ../cstrike/dlls/util.cpp:684 */ +CBaseEntity *UTIL_FindEntityGeneric(const char *szWhatever, const Vector &vecSrc, float flRadius) +{ + CBaseEntity *pSearch = NULL; CBaseEntity *pEntity = UTIL_FindEntityByTargetname(NULL, szWhatever); if (pEntity) return pEntity; @@ -534,12 +534,12 @@ CBaseEntity *UTIL_FindEntityGeneric(const char *szWhatever, const Vector &vecSrc flMaxDist2 = flDist2; } } - return pEntity; -} - -/* <1ad347> ../cstrike/dlls/util.cpp:711 */ -CBaseEntity *UTIL_PlayerByIndex(int playerIndex) -{ + return pEntity; +} + +/* <1ad347> ../cstrike/dlls/util.cpp:711 */ +CBaseEntity *UTIL_PlayerByIndex(int playerIndex) +{ CBaseEntity *pPlayer = NULL; if (playerIndex > 0 && playerIndex <= gpGlobals->maxClients) { @@ -547,389 +547,389 @@ CBaseEntity *UTIL_PlayerByIndex(int playerIndex) if (pPlayerEdict && !pPlayerEdict->free) pPlayer = CBaseEntity::Instance(pPlayerEdict); } - return pPlayer; -} - -/* <1abab0> ../cstrike/dlls/util.cpp:728 */ -void UTIL_MakeVectors(const Vector &vecAngles) -{ - MAKE_VECTORS(vecAngles); -} - -/* <1ad442> ../cstrike/dlls/util.cpp:734 */ -void UTIL_MakeAimVectors(const Vector &vecAngles) -{ + return pPlayer; +} + +/* <1abab0> ../cstrike/dlls/util.cpp:728 */ +void UTIL_MakeVectors(const Vector &vecAngles) +{ + MAKE_VECTORS(vecAngles); +} + +/* <1ad442> ../cstrike/dlls/util.cpp:734 */ +void UTIL_MakeAimVectors(const Vector &vecAngles) +{ float rgflVec[3]; vecAngles.CopyToArray(rgflVec); rgflVec[0] = -rgflVec[0]; - MAKE_VECTORS(rgflVec); -} - -/* <1ad4b2> ../cstrike/dlls/util.cpp:745 */ -void UTIL_MakeInvVectors(const Vector &vec, globalvars_t *pgv) -{ - MAKE_VECTORS(vec); - - SWAP(pgv->v_forward.y, pgv->v_right.x); - SWAP(pgv->v_forward.z, pgv->v_up.x); - SWAP(pgv->v_right.z, pgv->v_up.y); -} - -/* <1ad53b> ../cstrike/dlls/util.cpp:758 */ -void UTIL_EmitAmbientSound(edict_t *entity, const Vector &vecOrigin, const char *samp, float vol, float attenuation, int fFlags, int pitch) -{ - float rgfl[3]; - vecOrigin.CopyToArray(rgfl); - - if (samp && *samp == '!') - { - char name[32]; - if (SENTENCEG_Lookup(samp, name) >= 0) - EMIT_AMBIENT_SOUND(entity, rgfl, name, vol, attenuation, fFlags, pitch); - } - else - EMIT_AMBIENT_SOUND(entity, rgfl, samp, vol, attenuation, fFlags, pitch); -} - -/* <1abaf7> ../cstrike/dlls/util.cpp:773 */ -unsigned short FixedUnsigned16(float value, float scale) -{ - int output = value * scale; - if (output < 0) - output = 0; - - if (output > USHRT_MAX) - output = USHRT_MAX; - - return (unsigned short)output; -} - -/* <1abb9f> ../cstrike/dlls/util.cpp:786 */ -short FixedSigned16(float value, float scale) -{ - int output = value * scale; - if (output > SHRT_MAX) - output = SHRT_MAX; - - if (output < SHRT_MIN) - output = SHRT_MIN; - - return (short)output; -} - -/* <1ac13b> ../cstrike/dlls/util.cpp:806 */ -void UTIL_ScreenShake(const Vector ¢er, float amplitude, float frequency, float duration, float radius) -{ - int i; - float localAmplitude; - ScreenShake shake; - - shake.duration = FixedUnsigned16(duration, 1<<12); - shake.frequency = FixedUnsigned16(frequency, 1<<8); - - for (i = 1; i <= gpGlobals->maxClients; i++) - { - CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); - if (!pPlayer || !(pPlayer->pev->flags & FL_ONGROUND)) - continue; - - localAmplitude = 0; - if (radius > 0) - { - Vector delta = center - pPlayer->pev->origin; - float distance = delta.Length(); - - if (distance < radius) - localAmplitude = amplitude; - } - else - localAmplitude = amplitude; - - if (localAmplitude) - { - shake.amplitude = FixedUnsigned16(localAmplitude, 1<<12); - - MESSAGE_BEGIN(MSG_ONE, gmsgShake, NULL, pPlayer->edict()); - WRITE_SHORT(shake.amplitude); - WRITE_SHORT(shake.duration); - WRITE_SHORT(shake.frequency); - MESSAGE_END(); - } - } -} - -/* <1ad88a> ../cstrike/dlls/util.cpp:852 */ -NOXREF void UTIL_ScreenShakeAll(const Vector ¢er, float amplitude, float frequency, float duration) -{ - UTIL_ScreenShake(center, amplitude, frequency, duration, 0); -} - -/* <1ac3a1> ../cstrike/dlls/util.cpp:858 */ -void UTIL_ScreenFadeBuild(ScreenFade &fade, const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) -{ - fade.duration = FixedUnsigned16(fadeTime,1<<12); - fade.holdTime = FixedUnsigned16(fadeHold,1<<12); - fade.r = (int)color.x; - fade.g = (int)color.y; - fade.b = (int)color.z; - fade.a = alpha; - fade.fadeFlags = flags; -} - -/* <1abb68> ../cstrike/dlls/util.cpp:870 */ -void UTIL_ScreenFadeWrite(const ScreenFade &fade, CBaseEntity *pEntity) -{ - if (!pEntity || !pEntity->IsNetClient()) - return; - - MESSAGE_BEGIN(MSG_ONE, gmsgFade, NULL, pEntity->edict()); - WRITE_SHORT(fade.duration); - WRITE_SHORT(fade.holdTime); - WRITE_SHORT(fade.fadeFlags); - WRITE_BYTE(fade.r); - WRITE_BYTE(fade.g); - WRITE_BYTE(fade.b); - WRITE_BYTE(fade.a); - MESSAGE_END(); -} - -/* <1adc11> ../cstrike/dlls/util.cpp:889 */ -void UTIL_ScreenFadeAll(const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) -{ - int i; - ScreenFade fade; - UTIL_ScreenFadeBuild(fade, color, fadeTime, fadeHold, alpha, flags); - for (i = 1; i <= gpGlobals->maxClients; i++) - { - CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); - UTIL_ScreenFadeWrite(fade, pPlayer); - } -} - -/* <1ade39> ../cstrike/dlls/util.cpp:906 */ -void UTIL_ScreenFade(CBaseEntity *pEntity, const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) -{ - ScreenFade fade; - UTIL_ScreenFadeBuild(fade, color, fadeTime, fadeHold, alpha, flags); - UTIL_ScreenFadeWrite(fade, pEntity); -} - -/* <1adfa3> ../cstrike/dlls/util.cpp:915 */ -void UTIL_HudMessage(CBaseEntity *pEntity, const hudtextparms_t &textparms, const char *pMessage) -{ - if (!pEntity || !pEntity->IsNetClient()) - return; - - MESSAGE_BEGIN(MSG_ONE, SVC_TEMPENTITY, NULL, pEntity->edict()); - WRITE_BYTE(TE_TEXTMESSAGE); - WRITE_BYTE(textparms.channel & 0xFF); - WRITE_SHORT(FixedSigned16(textparms.x,1<<13)); - WRITE_SHORT(FixedSigned16(textparms.y,1<<13)); - WRITE_BYTE(textparms.effect); - WRITE_BYTE(textparms.r1); - WRITE_BYTE(textparms.g1); - WRITE_BYTE(textparms.b1); - WRITE_BYTE(textparms.a1); - WRITE_BYTE(textparms.r2); - WRITE_BYTE(textparms.g2); - WRITE_BYTE(textparms.b2); - WRITE_BYTE(textparms.a2); - WRITE_SHORT(FixedUnsigned16(textparms.fadeinTime,1<<8)); - WRITE_SHORT(FixedUnsigned16(textparms.fadeoutTime,1<<8)); - WRITE_SHORT(FixedUnsigned16(textparms.holdTime,1<<8)); - - if (textparms.effect == 2) - WRITE_SHORT(FixedUnsigned16(textparms.fxTime,1<<8)); - - if (!pMessage) - WRITE_STRING(" "); //TODO: oh yeah - else - { - if (Q_strlen(pMessage) >= 512) - { - char tmp[512]; - Q_strncpy(tmp, pMessage, 511); - tmp[511] = 0; - WRITE_STRING(tmp); - } - else - WRITE_STRING(pMessage); - } - MESSAGE_END(); -} - -/* <1ae1bf> ../cstrike/dlls/util.cpp:963 */ -void UTIL_HudMessageAll(const hudtextparms_t &textparms, const char *pMessage) -{ - for (int i = 1; i <= gpGlobals->maxClients; i++) - { - CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); - if (pPlayer) - UTIL_HudMessage(pPlayer, textparms, pMessage); - } -} - -/* <1ae2ce> ../cstrike/dlls/util.cpp:977 */ -void UTIL_ClientPrintAll(int msg_dest, const char *msg_name, const char *param1, const char *param2, const char *param3, const char *param4) -{ - MESSAGE_BEGIN(MSG_ALL, gmsgTextMsg); - WRITE_BYTE(msg_dest); - WRITE_STRING(msg_name); - if (param1) - WRITE_STRING(param1); - if (param2) - WRITE_STRING(param2); - if (param3) - WRITE_STRING(param3); - if (param4) - WRITE_STRING(param4); - MESSAGE_END(); -} - -/* <1ae370> ../cstrike/dlls/util.cpp:995 */ -void ClientPrint(entvars_t *client, int msg_dest, const char *msg_name, const char *param1, const char *param2, const char *param3, const char *param4) -{ - MESSAGE_BEGIN(MSG_ONE, gmsgTextMsg, NULL, client); - WRITE_BYTE(msg_dest); - WRITE_STRING(msg_name); - if (param1) - WRITE_STRING(param1); - if (param2) - WRITE_STRING(param2); - if (param3) - WRITE_STRING(param3); - if (param4) - WRITE_STRING(param4); - MESSAGE_END(); -} - -/* <1ae423> ../cstrike/dlls/util.cpp:1013 */ -NOXREF void UTIL_SayText(const char *pText, CBaseEntity *pEntity) -{ + MAKE_VECTORS(rgflVec); +} + +/* <1ad4b2> ../cstrike/dlls/util.cpp:745 */ +void UTIL_MakeInvVectors(const Vector &vec, globalvars_t *pgv) +{ + MAKE_VECTORS(vec); + + SWAP(pgv->v_forward.y, pgv->v_right.x); + SWAP(pgv->v_forward.z, pgv->v_up.x); + SWAP(pgv->v_right.z, pgv->v_up.y); +} + +/* <1ad53b> ../cstrike/dlls/util.cpp:758 */ +void UTIL_EmitAmbientSound(edict_t *entity, const Vector &vecOrigin, const char *samp, float vol, float attenuation, int fFlags, int pitch) +{ + float rgfl[3]; + vecOrigin.CopyToArray(rgfl); + + if (samp && *samp == '!') + { + char name[32]; + if (SENTENCEG_Lookup(samp, name) >= 0) + EMIT_AMBIENT_SOUND(entity, rgfl, name, vol, attenuation, fFlags, pitch); + } + else + EMIT_AMBIENT_SOUND(entity, rgfl, samp, vol, attenuation, fFlags, pitch); +} + +/* <1abaf7> ../cstrike/dlls/util.cpp:773 */ +unsigned short FixedUnsigned16(float value, float scale) +{ + int output = value * scale; + if (output < 0) + output = 0; + + if (output > USHRT_MAX) + output = USHRT_MAX; + + return (unsigned short)output; +} + +/* <1abb9f> ../cstrike/dlls/util.cpp:786 */ +short FixedSigned16(float value, float scale) +{ + int output = value * scale; + if (output > SHRT_MAX) + output = SHRT_MAX; + + if (output < SHRT_MIN) + output = SHRT_MIN; + + return (short)output; +} + +/* <1ac13b> ../cstrike/dlls/util.cpp:806 */ +void UTIL_ScreenShake(const Vector ¢er, float amplitude, float frequency, float duration, float radius) +{ + int i; + float localAmplitude; + ScreenShake shake; + + shake.duration = FixedUnsigned16(duration, 1<<12); + shake.frequency = FixedUnsigned16(frequency, 1<<8); + + for (i = 1; i <= gpGlobals->maxClients; i++) + { + CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); + if (!pPlayer || !(pPlayer->pev->flags & FL_ONGROUND)) + continue; + + localAmplitude = 0; + if (radius > 0) + { + Vector delta = center - pPlayer->pev->origin; + float distance = delta.Length(); + + if (distance < radius) + localAmplitude = amplitude; + } + else + localAmplitude = amplitude; + + if (localAmplitude) + { + shake.amplitude = FixedUnsigned16(localAmplitude, 1<<12); + + MESSAGE_BEGIN(MSG_ONE, gmsgShake, NULL, pPlayer->edict()); + WRITE_SHORT(shake.amplitude); + WRITE_SHORT(shake.duration); + WRITE_SHORT(shake.frequency); + MESSAGE_END(); + } + } +} + +/* <1ad88a> ../cstrike/dlls/util.cpp:852 */ +NOXREF void UTIL_ScreenShakeAll(const Vector ¢er, float amplitude, float frequency, float duration) +{ + UTIL_ScreenShake(center, amplitude, frequency, duration, 0); +} + +/* <1ac3a1> ../cstrike/dlls/util.cpp:858 */ +void UTIL_ScreenFadeBuild(ScreenFade &fade, const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) +{ + fade.duration = FixedUnsigned16(fadeTime,1<<12); + fade.holdTime = FixedUnsigned16(fadeHold,1<<12); + fade.r = (int)color.x; + fade.g = (int)color.y; + fade.b = (int)color.z; + fade.a = alpha; + fade.fadeFlags = flags; +} + +/* <1abb68> ../cstrike/dlls/util.cpp:870 */ +void UTIL_ScreenFadeWrite(const ScreenFade &fade, CBaseEntity *pEntity) +{ + if (!pEntity || !pEntity->IsNetClient()) + return; + + MESSAGE_BEGIN(MSG_ONE, gmsgFade, NULL, pEntity->edict()); + WRITE_SHORT(fade.duration); + WRITE_SHORT(fade.holdTime); + WRITE_SHORT(fade.fadeFlags); + WRITE_BYTE(fade.r); + WRITE_BYTE(fade.g); + WRITE_BYTE(fade.b); + WRITE_BYTE(fade.a); + MESSAGE_END(); +} + +/* <1adc11> ../cstrike/dlls/util.cpp:889 */ +void UTIL_ScreenFadeAll(const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) +{ + int i; + ScreenFade fade; + UTIL_ScreenFadeBuild(fade, color, fadeTime, fadeHold, alpha, flags); + for (i = 1; i <= gpGlobals->maxClients; i++) + { + CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); + UTIL_ScreenFadeWrite(fade, pPlayer); + } +} + +/* <1ade39> ../cstrike/dlls/util.cpp:906 */ +void UTIL_ScreenFade(CBaseEntity *pEntity, const Vector &color, float fadeTime, float fadeHold, int alpha, int flags) +{ + ScreenFade fade; + UTIL_ScreenFadeBuild(fade, color, fadeTime, fadeHold, alpha, flags); + UTIL_ScreenFadeWrite(fade, pEntity); +} + +/* <1adfa3> ../cstrike/dlls/util.cpp:915 */ +void UTIL_HudMessage(CBaseEntity *pEntity, const hudtextparms_t &textparms, const char *pMessage) +{ + if (!pEntity || !pEntity->IsNetClient()) + return; + + MESSAGE_BEGIN(MSG_ONE, SVC_TEMPENTITY, NULL, pEntity->edict()); + WRITE_BYTE(TE_TEXTMESSAGE); + WRITE_BYTE(textparms.channel & 0xFF); + WRITE_SHORT(FixedSigned16(textparms.x,1<<13)); + WRITE_SHORT(FixedSigned16(textparms.y,1<<13)); + WRITE_BYTE(textparms.effect); + WRITE_BYTE(textparms.r1); + WRITE_BYTE(textparms.g1); + WRITE_BYTE(textparms.b1); + WRITE_BYTE(textparms.a1); + WRITE_BYTE(textparms.r2); + WRITE_BYTE(textparms.g2); + WRITE_BYTE(textparms.b2); + WRITE_BYTE(textparms.a2); + WRITE_SHORT(FixedUnsigned16(textparms.fadeinTime,1<<8)); + WRITE_SHORT(FixedUnsigned16(textparms.fadeoutTime,1<<8)); + WRITE_SHORT(FixedUnsigned16(textparms.holdTime,1<<8)); + + if (textparms.effect == 2) + WRITE_SHORT(FixedUnsigned16(textparms.fxTime,1<<8)); + + if (!pMessage) + WRITE_STRING(" "); //TODO: oh yeah + else + { + if (Q_strlen(pMessage) >= 512) + { + char tmp[512]; + Q_strncpy(tmp, pMessage, 511); + tmp[511] = 0; + WRITE_STRING(tmp); + } + else + WRITE_STRING(pMessage); + } + MESSAGE_END(); +} + +/* <1ae1bf> ../cstrike/dlls/util.cpp:963 */ +void UTIL_HudMessageAll(const hudtextparms_t &textparms, const char *pMessage) +{ + for (int i = 1; i <= gpGlobals->maxClients; i++) + { + CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); + if (pPlayer) + UTIL_HudMessage(pPlayer, textparms, pMessage); + } +} + +/* <1ae2ce> ../cstrike/dlls/util.cpp:977 */ +void UTIL_ClientPrintAll(int msg_dest, const char *msg_name, const char *param1, const char *param2, const char *param3, const char *param4) +{ + MESSAGE_BEGIN(MSG_ALL, gmsgTextMsg); + WRITE_BYTE(msg_dest); + WRITE_STRING(msg_name); + if (param1) + WRITE_STRING(param1); + if (param2) + WRITE_STRING(param2); + if (param3) + WRITE_STRING(param3); + if (param4) + WRITE_STRING(param4); + MESSAGE_END(); +} + +/* <1ae370> ../cstrike/dlls/util.cpp:995 */ +void ClientPrint(entvars_t *client, int msg_dest, const char *msg_name, const char *param1, const char *param2, const char *param3, const char *param4) +{ + MESSAGE_BEGIN(MSG_ONE, gmsgTextMsg, NULL, client); + WRITE_BYTE(msg_dest); + WRITE_STRING(msg_name); + if (param1) + WRITE_STRING(param1); + if (param2) + WRITE_STRING(param2); + if (param3) + WRITE_STRING(param3); + if (param4) + WRITE_STRING(param4); + MESSAGE_END(); +} + +/* <1ae423> ../cstrike/dlls/util.cpp:1013 */ +NOXREF void UTIL_SayText(const char *pText, CBaseEntity *pEntity) +{ if (pEntity->IsNetClient()) { MESSAGE_BEGIN(MSG_ONE, gmsgSayText, NULL, pEntity->edict()); WRITE_BYTE(pEntity->entindex()); WRITE_STRING(pText); - MESSAGE_END(); - } -} - -/* <1ae4e4> ../cstrike/dlls/util.cpp:1024 */ -void UTIL_SayTextAll(const char *pText, CBaseEntity *pEntity) -{ + MESSAGE_END(); + } +} + +/* <1ae4e4> ../cstrike/dlls/util.cpp:1024 */ +void UTIL_SayTextAll(const char *pText, CBaseEntity *pEntity) +{ MESSAGE_BEGIN(MSG_ALL, gmsgSayText); WRITE_BYTE(pEntity->entindex()); WRITE_STRING(pText); - MESSAGE_END(); -} - -/* <1ae592> ../cstrike/dlls/util.cpp:1033 */ -char *UTIL_dtos1(int d) -{ + MESSAGE_END(); +} + +/* <1ae592> ../cstrike/dlls/util.cpp:1033 */ +char *UTIL_dtos1(int d) +{ static char buf[8]; Q_sprintf(buf, "%d", d); - return buf; -} - -/* <1ae5df> ../cstrike/dlls/util.cpp:1040 */ -char *UTIL_dtos2(int d) -{ + return buf; +} + +/* <1ae5df> ../cstrike/dlls/util.cpp:1040 */ +char *UTIL_dtos2(int d) +{ static char buf[8]; Q_sprintf(buf, "%d", d); - return buf; -} - -/* <1ae62c> ../cstrike/dlls/util.cpp:1047 */ -NOXREF char *UTIL_dtos3(int d) -{ + return buf; +} + +/* <1ae62c> ../cstrike/dlls/util.cpp:1047 */ +NOXREF char *UTIL_dtos3(int d) +{ static char buf[8]; Q_sprintf(buf, "%d", d); - return buf; -} - -/* <1ae679> ../cstrike/dlls/util.cpp:1054 */ -NOXREF char *UTIL_dtos4(int d) -{ + return buf; +} + +/* <1ae679> ../cstrike/dlls/util.cpp:1054 */ +NOXREF char *UTIL_dtos4(int d) +{ static char buf[8]; Q_sprintf(buf, "%d", d); - return buf; -} - -/* <1ae6c6> ../cstrike/dlls/util.cpp:1061 */ -void UTIL_ShowMessageArgs(const char *pString, CBaseEntity *pPlayer, CUtlVector *args, bool isHint) -{ - if (pPlayer && pPlayer->IsNetClient()) - { - MESSAGE_BEGIN(MSG_ONE, gmsgHudTextArgs, NULL, pPlayer->pev); - WRITE_STRING(pString); - WRITE_BYTE(isHint); - WRITE_BYTE(args->Count()); - - for (int i = 0; i < args->Count(); i++) - WRITE_STRING(args->Element(i)); - - MESSAGE_END(); - } - else - { - MESSAGE_BEGIN(MSG_ONE, gmsgHudText, NULL, pPlayer->pev); - WRITE_STRING(pString); - WRITE_BYTE(isHint); - MESSAGE_END(); - } -} - -/* <1abc11> ../cstrike/dlls/util.cpp:1083 */ -void UTIL_ShowMessage(const char *pString, CBaseEntity *pEntity, bool isHint) -{ - if (!pEntity || !pEntity->IsNetClient()) - return; - - MESSAGE_BEGIN(MSG_ONE, gmsgHudText, NULL, pEntity->edict()); - WRITE_STRING(pString); + return buf; +} + +/* <1ae6c6> ../cstrike/dlls/util.cpp:1061 */ +void UTIL_ShowMessageArgs(const char *pString, CBaseEntity *pPlayer, CUtlVector *args, bool isHint) +{ + if (pPlayer && pPlayer->IsNetClient()) + { + MESSAGE_BEGIN(MSG_ONE, gmsgHudTextArgs, NULL, pPlayer->pev); + WRITE_STRING(pString); + WRITE_BYTE(isHint); + WRITE_BYTE(args->Count()); + + for (int i = 0; i < args->Count(); i++) + WRITE_STRING(args->Element(i)); + + MESSAGE_END(); + } + else + { + MESSAGE_BEGIN(MSG_ONE, gmsgHudText, NULL, pPlayer->pev); + WRITE_STRING(pString); + WRITE_BYTE(isHint); + MESSAGE_END(); + } +} + +/* <1abc11> ../cstrike/dlls/util.cpp:1083 */ +void UTIL_ShowMessage(const char *pString, CBaseEntity *pEntity, bool isHint) +{ + if (!pEntity || !pEntity->IsNetClient()) + return; + + MESSAGE_BEGIN(MSG_ONE, gmsgHudText, NULL, pEntity->edict()); + WRITE_STRING(pString); WRITE_BYTE((int)isHint); - MESSAGE_END(); -} - -/* <1ae8ac> ../cstrike/dlls/util.cpp:1095 */ -void UTIL_ShowMessageAll(const char *pString, bool isHint) -{ + MESSAGE_END(); +} + +/* <1ae8ac> ../cstrike/dlls/util.cpp:1095 */ +void UTIL_ShowMessageAll(const char *pString, bool isHint) +{ for (int i = 1; i <= gpGlobals->maxClients; i++) { CBaseEntity *pPlayer = UTIL_PlayerByIndex(i); if (pPlayer) UTIL_ShowMessage(pString, pPlayer, isHint); - } -} - -/* <1abc44> ../cstrike/dlls/util.cpp:1116 */ -void UTIL_TraceLine(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, edict_t *pentIgnore, TraceResult *ptr) -{ - TRACE_LINE(vecStart, vecEnd, (igmon == ignore_monsters), pentIgnore, ptr); -} - -// OVERLOAD -void UTIL_TraceLine(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t *pentIgnore, TraceResult *ptr) -{ - TRACE_LINE(vecStart, vecEnd, (igmon == ignore_monsters) | (ignoreGlass ? 0x100 : 0), pentIgnore, ptr); -} - -/* <1aeb0a> ../cstrike/dlls/util.cpp:1122 */ -void UTIL_TraceHull(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, int hullNumber, edict_t *pentIgnore, TraceResult *ptr) -{ - TRACE_HULL(vecStart, vecEnd, (igmon == ignore_monsters), hullNumber, pentIgnore, ptr); -} - -/* <1aeb8d> ../cstrike/dlls/util.cpp:1127 */ -void UTIL_TraceModel(const Vector &vecStart, const Vector &vecEnd, int hullNumber, edict_t *pentModel, TraceResult *ptr) -{ - TRACE_MODEL(vecStart, vecEnd, hullNumber, pentModel, ptr); -} - -/* <1aec01> ../cstrike/dlls/util.cpp:1132 */ -NOXREF TraceResult UTIL_GetGlobalTrace(void) -{ + } +} + +/* <1abc44> ../cstrike/dlls/util.cpp:1116 */ +void UTIL_TraceLine(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, edict_t *pentIgnore, TraceResult *ptr) +{ + TRACE_LINE(vecStart, vecEnd, (igmon == ignore_monsters), pentIgnore, ptr); +} + +// OVERLOAD +void UTIL_TraceLine(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t *pentIgnore, TraceResult *ptr) +{ + TRACE_LINE(vecStart, vecEnd, (igmon == ignore_monsters) | (ignoreGlass ? 0x100 : 0), pentIgnore, ptr); +} + +/* <1aeb0a> ../cstrike/dlls/util.cpp:1122 */ +void UTIL_TraceHull(const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, int hullNumber, edict_t *pentIgnore, TraceResult *ptr) +{ + TRACE_HULL(vecStart, vecEnd, (igmon == ignore_monsters), hullNumber, pentIgnore, ptr); +} + +/* <1aeb8d> ../cstrike/dlls/util.cpp:1127 */ +void UTIL_TraceModel(const Vector &vecStart, const Vector &vecEnd, int hullNumber, edict_t *pentModel, TraceResult *ptr) +{ + TRACE_MODEL(vecStart, vecEnd, hullNumber, pentModel, ptr); +} + +/* <1aec01> ../cstrike/dlls/util.cpp:1132 */ +NOXREF TraceResult UTIL_GetGlobalTrace(void) +{ TraceResult tr; tr.flFraction = gpGlobals->trace_fraction; @@ -943,112 +943,112 @@ NOXREF TraceResult UTIL_GetGlobalTrace(void) tr.iHitgroup = gpGlobals->trace_hitgroup; tr.pHit = gpGlobals->trace_ent; - return tr; -} - -/* <1aec38> ../cstrike/dlls/util.cpp:1150 */ -void UTIL_SetSize(entvars_t *pev, const Vector &vecMin, const Vector &vecMax) -{ - SET_SIZE(ENT(pev), vecMin, vecMax); -} - -/* <1aec8e> ../cstrike/dlls/util.cpp:1156 */ -float UTIL_VecToYaw(const Vector &vec) -{ - return VEC_TO_YAW(vec); -} - -/* <1aecc4> ../cstrike/dlls/util.cpp:1162 */ -void UTIL_SetOrigin(entvars_t *pev, const Vector &vecOrigin) -{ - edict_t *ent = ENT(pev); - if (ent) - SET_ORIGIN(ent, vecOrigin); -} - -/* <1aed1f> ../cstrike/dlls/util.cpp:1169 */ -NOXREF void UTIL_ParticleEffect(const Vector &vecOrigin, const Vector &vecDirection, ULONG ulColor, ULONG ulCount) -{ - PARTICLE_EFFECT(vecOrigin, vecDirection, (float)ulColor, (float)ulCount); -} - -/* <1aed84> ../cstrike/dlls/util.cpp:1175 */ -float UTIL_Approach(float target, float value, float speed) -{ - float delta = target - value; - if (delta > speed) - value += speed; - else if (delta < -speed) - value -= speed; - else - value = target; - return value; -} - -/* <1aedeb> ../cstrike/dlls/util.cpp:1190 */ -float UTIL_ApproachAngle(float target, float value, float speed) -{ - target = UTIL_AngleMod(target); - value = UTIL_AngleMod(target); - - float delta = target - value; - if (speed < 0.0f) - speed = -speed; - - if (delta < -180.0f) - delta += 360.0f; - else if (delta > 180.0f) - delta -= 360.0f; - - if (delta > speed) - value += speed; - else if (delta < -speed) - value -= speed; - else - value = target; - return value; -} - -/* <1aeec5> ../cstrike/dlls/util.cpp:1217 */ -float UTIL_AngleDistance(float next, float cur) -{ - float_precision delta; - - delta = next - cur; - - if (delta < -180.0f) - delta += 360.0f; - - else if (delta > 180.0f) - delta -= 360.0f; - - return delta; -} - -/*float UTIL_AngleDistance(float next, float cur) -{ - //TODO: variable need double, or will testdemo to crashed + return tr; +} + +/* <1aec38> ../cstrike/dlls/util.cpp:1150 */ +void UTIL_SetSize(entvars_t *pev, const Vector &vecMin, const Vector &vecMax) +{ + SET_SIZE(ENT(pev), vecMin, vecMax); +} + +/* <1aec8e> ../cstrike/dlls/util.cpp:1156 */ +float UTIL_VecToYaw(const Vector &vec) +{ + return VEC_TO_YAW(vec); +} + +/* <1aecc4> ../cstrike/dlls/util.cpp:1162 */ +void UTIL_SetOrigin(entvars_t *pev, const Vector &vecOrigin) +{ + edict_t *ent = ENT(pev); + if (ent) + SET_ORIGIN(ent, vecOrigin); +} + +/* <1aed1f> ../cstrike/dlls/util.cpp:1169 */ +NOXREF void UTIL_ParticleEffect(const Vector &vecOrigin, const Vector &vecDirection, ULONG ulColor, ULONG ulCount) +{ + PARTICLE_EFFECT(vecOrigin, vecDirection, (float)ulColor, (float)ulCount); +} + +/* <1aed84> ../cstrike/dlls/util.cpp:1175 */ +float UTIL_Approach(float target, float value, float speed) +{ + float delta = target - value; + if (delta > speed) + value += speed; + else if (delta < -speed) + value -= speed; + else + value = target; + return value; +} + +/* <1aedeb> ../cstrike/dlls/util.cpp:1190 */ +float UTIL_ApproachAngle(float target, float value, float speed) +{ + target = UTIL_AngleMod(target); + value = UTIL_AngleMod(target); + + float delta = target - value; + if (speed < 0.0f) + speed = -speed; + + if (delta < -180.0f) + delta += 360.0f; + else if (delta > 180.0f) + delta -= 360.0f; + + if (delta > speed) + value += speed; + else if (delta < -speed) + value -= speed; + else + value = target; + return value; +} + +/* <1aeec5> ../cstrike/dlls/util.cpp:1217 */ +float UTIL_AngleDistance(float next, float cur) +{ + float_precision delta; + + delta = next - cur; + + if (delta < -180.0f) + delta += 360.0f; + + else if (delta > 180.0f) + delta -= 360.0f; + + return delta; +} + +/*float UTIL_AngleDistance(float next, float cur) +{ + //TODO: variable need double, or will testdemo to crashed double delta = (double)(next - cur); if (delta < -180.0f) delta += 360.0f; else if ( delta > 180.0f) delta -= 360.0f; - return (float)delta; -}*/ - -/* <1aef1c> ../cstrike/dlls/util.cpp:1230 */ -float UTIL_SplineFraction(float value, float scale) -{ - float valueSquared = value * scale; - return 3.0f * (valueSquared * valueSquared) - (valueSquared * valueSquared * valueSquared + valueSquared * valueSquared * valueSquared); -} - -/* <1aef78> ../cstrike/dlls/util.cpp:1240 */ -char *UTIL_VarArgs(char *format, ...) -{ - va_list argptr; - static char string[1024]; - + return (float)delta; +}*/ + +/* <1aef1c> ../cstrike/dlls/util.cpp:1230 */ +float UTIL_SplineFraction(float value, float scale) +{ + float valueSquared = value * scale; + return 3.0f * (valueSquared * valueSquared) - (valueSquared * valueSquared * valueSquared + valueSquared * valueSquared * valueSquared); +} + +/* <1aef78> ../cstrike/dlls/util.cpp:1240 */ +char *UTIL_VarArgs(char *format, ...) +{ + va_list argptr; + static char string[1024]; + va_start(argptr, format); #ifdef REGAMEDLL_FIXES Q_vsnprintf(string, sizeof(string), format, argptr); @@ -1057,20 +1057,20 @@ char *UTIL_VarArgs(char *format, ...) #endif // REGAMEDLL_FIXES va_end(argptr); - return string; -} - -/* <1aefea> ../cstrike/dlls/util.cpp:1252 */ -NOXREF Vector UTIL_GetAimVector(edict_t *pent, float flSpeed) -{ + return string; +} + +/* <1aefea> ../cstrike/dlls/util.cpp:1252 */ +NOXREF Vector UTIL_GetAimVector(edict_t *pent, float flSpeed) +{ Vector tmp; GET_AIM_VECTOR(pent, flSpeed, tmp); - return tmp; -} - -/* <1af041> ../cstrike/dlls/util.cpp:1259 */ -int UTIL_IsMasterTriggered(string_t sMaster, CBaseEntity *pActivator) -{ + return tmp; +} + +/* <1af041> ../cstrike/dlls/util.cpp:1259 */ +int UTIL_IsMasterTriggered(string_t sMaster, CBaseEntity *pActivator) +{ if (sMaster) { edict_t *pentTarget = FIND_ENTITY_BY_TARGETNAME(NULL, STRING(sMaster)); @@ -1082,12 +1082,12 @@ int UTIL_IsMasterTriggered(string_t sMaster, CBaseEntity *pActivator) } ALERT(at_console, "Master was null or not a master!\n"); } - return 1; -} - -/* <1af149> ../cstrike/dlls/util.cpp:1279 */ -BOOL UTIL_ShouldShowBlood(int color) -{ + return 1; +} + +/* <1af149> ../cstrike/dlls/util.cpp:1279 */ +BOOL UTIL_ShouldShowBlood(int color) +{ if (color != DONT_BLEED) { if (color == BLOOD_COLOR_RED) @@ -1101,18 +1101,18 @@ BOOL UTIL_ShouldShowBlood(int color) return TRUE; } } - return FALSE; -} - -/* <1abd3e> ../cstrike/dlls/util.cpp:1297 */ -int UTIL_PointContents(const Vector &vec) -{ - return POINT_CONTENTS(vec); -} - -/* <1af1a3> ../cstrike/dlls/util.cpp:1302 */ -void UTIL_BloodStream(const Vector &origin, const Vector &direction, int color, int amount) -{ + return FALSE; +} + +/* <1abd3e> ../cstrike/dlls/util.cpp:1297 */ +int UTIL_PointContents(const Vector &vec) +{ + return POINT_CONTENTS(vec); +} + +/* <1af1a3> ../cstrike/dlls/util.cpp:1302 */ +void UTIL_BloodStream(const Vector &origin, const Vector &direction, int color, int amount) +{ if (!UTIL_ShouldShowBlood(color)) return; @@ -1120,21 +1120,21 @@ void UTIL_BloodStream(const Vector &origin, const Vector &direction, int color, color = 0; MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, origin); - WRITE_BYTE(TE_BLOODSTREAM); - WRITE_COORD(origin.x); - WRITE_COORD(origin.y); - WRITE_COORD(origin.z); - WRITE_COORD(direction.x); - WRITE_COORD(direction.y); - WRITE_COORD(direction.z); - WRITE_BYTE(color); + WRITE_BYTE(TE_BLOODSTREAM); + WRITE_COORD(origin.x); + WRITE_COORD(origin.y); + WRITE_COORD(origin.z); + WRITE_COORD(direction.x); + WRITE_COORD(direction.y); + WRITE_COORD(direction.z); + WRITE_BYTE(color); WRITE_BYTE(min( amount, 255 )); - MESSAGE_END(); -} - -/* <1af25d> ../cstrike/dlls/util.cpp:1324 */ -void UTIL_BloodDrips(const Vector &origin, const Vector &direction, int color, int amount) -{ + MESSAGE_END(); +} + +/* <1af25d> ../cstrike/dlls/util.cpp:1324 */ +void UTIL_BloodDrips(const Vector &origin, const Vector &direction, int color, int amount) +{ if (!UTIL_ShouldShowBlood(color)) return; @@ -1151,46 +1151,46 @@ void UTIL_BloodDrips(const Vector &origin, const Vector &direction, int color, i amount = 255; MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, origin); - WRITE_BYTE(TE_BLOODSPRITE); - WRITE_COORD(origin.x); - WRITE_COORD(origin.y); - WRITE_COORD(origin.z); - WRITE_SHORT(g_sModelIndexBloodSpray); - WRITE_SHORT(g_sModelIndexBloodDrop); - WRITE_BYTE(color); + WRITE_BYTE(TE_BLOODSPRITE); + WRITE_COORD(origin.x); + WRITE_COORD(origin.y); + WRITE_COORD(origin.z); + WRITE_SHORT(g_sModelIndexBloodSpray); + WRITE_SHORT(g_sModelIndexBloodDrop); + WRITE_BYTE(color); WRITE_BYTE(min( max( 3, amount / 10 ), 16 )); - MESSAGE_END(); -} - -/* <1af310> ../cstrike/dlls/util.cpp:1356 */ -Vector UTIL_RandomBloodVector(void) -{ + MESSAGE_END(); +} + +/* <1af310> ../cstrike/dlls/util.cpp:1356 */ +Vector UTIL_RandomBloodVector(void) +{ Vector direction; direction.x = RANDOM_FLOAT(-1, 1); direction.y = RANDOM_FLOAT(-1, 1); direction.z = RANDOM_FLOAT(0, 1); - return direction; -} - -/* <1af471> ../cstrike/dlls/util.cpp:1368 */ -void UTIL_BloodDecalTrace(TraceResult *pTrace, int bloodColor) -{ + return direction; +} + +/* <1af471> ../cstrike/dlls/util.cpp:1368 */ +void UTIL_BloodDecalTrace(TraceResult *pTrace, int bloodColor) +{ if (UTIL_ShouldShowBlood(bloodColor)) { if (bloodColor == BLOOD_COLOR_RED) UTIL_DecalTrace(pTrace, DECAL_BLOOD1 + RANDOM_LONG(0, 5)); else UTIL_DecalTrace(pTrace, DECAL_YBLOOD1 + RANDOM_LONG(0, 5)); - } -} - -/* <1af349> ../cstrike/dlls/util.cpp:1380 */ -void UTIL_DecalTrace(TraceResult *pTrace, int decalNumber) -{ - short entityIndex; - int index; - int message; - + } +} + +/* <1af349> ../cstrike/dlls/util.cpp:1380 */ +void UTIL_DecalTrace(TraceResult *pTrace, int decalNumber) +{ + short entityIndex; + int index; + int message; + if (decalNumber < 0) return; @@ -1228,19 +1228,19 @@ void UTIL_DecalTrace(TraceResult *pTrace, int decalNumber) } } MESSAGE_BEGIN(MSG_BROADCAST, SVC_TEMPENTITY); - WRITE_BYTE(message); - WRITE_COORD(pTrace->vecEndPos.x); - WRITE_COORD(pTrace->vecEndPos.y); - WRITE_COORD(pTrace->vecEndPos.z); - WRITE_BYTE(index); - if (entityIndex) + WRITE_BYTE(message); + WRITE_COORD(pTrace->vecEndPos.x); + WRITE_COORD(pTrace->vecEndPos.y); + WRITE_COORD(pTrace->vecEndPos.z); + WRITE_BYTE(index); + if (entityIndex) WRITE_SHORT(entityIndex); - MESSAGE_END(); -} - -/* <1af4c8> ../cstrike/dlls/util.cpp:1447 */ -void UTIL_PlayerDecalTrace(TraceResult *pTrace, int playernum, int decalNumber, BOOL bIsCustom) -{ + MESSAGE_END(); +} + +/* <1af4c8> ../cstrike/dlls/util.cpp:1447 */ +void UTIL_PlayerDecalTrace(TraceResult *pTrace, int playernum, int decalNumber, BOOL bIsCustom) +{ int index; if (!bIsCustom) { @@ -1257,20 +1257,20 @@ void UTIL_PlayerDecalTrace(TraceResult *pTrace, int playernum, int decalNumber, if (pTrace->flFraction != 1.0f) { MESSAGE_BEGIN(MSG_BROADCAST, SVC_TEMPENTITY); - WRITE_BYTE(TE_PLAYERDECAL); - WRITE_BYTE(playernum); - WRITE_COORD(pTrace->vecEndPos.x); - WRITE_COORD(pTrace->vecEndPos.y); - WRITE_COORD(pTrace->vecEndPos.z); - WRITE_SHORT((short)ENTINDEX(pTrace->pHit)); + WRITE_BYTE(TE_PLAYERDECAL); + WRITE_BYTE(playernum); + WRITE_COORD(pTrace->vecEndPos.x); + WRITE_COORD(pTrace->vecEndPos.y); + WRITE_COORD(pTrace->vecEndPos.z); + WRITE_SHORT((short)ENTINDEX(pTrace->pHit)); WRITE_BYTE(index); - MESSAGE_END(); - } -} - -/* <1af583> ../cstrike/dlls/util.cpp:1477 */ -void UTIL_GunshotDecalTrace(TraceResult *pTrace, int decalNumber, bool ClientOnly, entvars_t *pShooter) -{ + MESSAGE_END(); + } +} + +/* <1af583> ../cstrike/dlls/util.cpp:1477 */ +void UTIL_GunshotDecalTrace(TraceResult *pTrace, int decalNumber, bool ClientOnly, entvars_t *pShooter) +{ if (decalNumber < 0) return; @@ -1283,41 +1283,41 @@ void UTIL_GunshotDecalTrace(TraceResult *pTrace, int decalNumber, bool ClientOnl else MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, pTrace->vecEndPos); - WRITE_BYTE(TE_GUNSHOTDECAL); - WRITE_COORD(pTrace->vecEndPos.x); - WRITE_COORD(pTrace->vecEndPos.y); - WRITE_COORD(pTrace->vecEndPos.z); - WRITE_SHORT((short)ENTINDEX(pTrace->pHit)); + WRITE_BYTE(TE_GUNSHOTDECAL); + WRITE_COORD(pTrace->vecEndPos.x); + WRITE_COORD(pTrace->vecEndPos.y); + WRITE_COORD(pTrace->vecEndPos.z); + WRITE_SHORT((short)ENTINDEX(pTrace->pHit)); WRITE_BYTE(index); - MESSAGE_END(); -} - -/* <1af67d> ../cstrike/dlls/util.cpp:1515 */ -void UTIL_Sparks(const Vector &position) -{ + MESSAGE_END(); +} + +/* <1af67d> ../cstrike/dlls/util.cpp:1515 */ +void UTIL_Sparks(const Vector &position) +{ MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, position); - WRITE_BYTE(TE_SPARKS); - WRITE_COORD(position.x); - WRITE_COORD(position.y); + WRITE_BYTE(TE_SPARKS); + WRITE_COORD(position.x); + WRITE_COORD(position.y); WRITE_COORD(position.z); - MESSAGE_END(); -} - -/* <1af6dc> ../cstrike/dlls/util.cpp:1526 */ -void UTIL_Ricochet(const Vector &position, float scale) -{ + MESSAGE_END(); +} + +/* <1af6dc> ../cstrike/dlls/util.cpp:1526 */ +void UTIL_Ricochet(const Vector &position, float scale) +{ MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, position); - WRITE_BYTE(TE_ARMOR_RICOCHET); - WRITE_COORD(position.x); - WRITE_COORD(position.y); - WRITE_COORD(position.z); + WRITE_BYTE(TE_ARMOR_RICOCHET); + WRITE_COORD(position.x); + WRITE_COORD(position.y); + WRITE_COORD(position.z); WRITE_BYTE((int)(scale * 10.0f)); - MESSAGE_END(); -} - -/* <1af74a> ../cstrike/dlls/util.cpp:1538 */ -BOOL UTIL_TeamsMatch(const char *pTeamName1, const char *pTeamName2) -{ + MESSAGE_END(); +} + +/* <1af74a> ../cstrike/dlls/util.cpp:1538 */ +BOOL UTIL_TeamsMatch(const char *pTeamName1, const char *pTeamName2) +{ if (!g_pGameRules->IsTeamplay()) return TRUE; @@ -1326,12 +1326,12 @@ BOOL UTIL_TeamsMatch(const char *pTeamName1, const char *pTeamName2) if (!Q_stricmp(pTeamName1, pTeamName2)) return TRUE; } - return FALSE; -} - -/* <1af78a> ../cstrike/dlls/util.cpp:1555 */ -void UTIL_StringToVector(float *pVector, const char *pString) -{ + return FALSE; +} + +/* <1af78a> ../cstrike/dlls/util.cpp:1555 */ +void UTIL_StringToVector(float *pVector, const char *pString) +{ char *pstr; char *pfront; char tempString[128]; @@ -1361,11 +1361,11 @@ void UTIL_StringToVector(float *pVector, const char *pString) } for (j++; j < 3; j++) - pVector[j] = 0; -} - -/* <1af85f> ../cstrike/dlls/util.cpp:1586 */ -void UTIL_StringToIntArray(int *pVector, int count, const char *pString) + pVector[j] = 0; +} + +/* <1af85f> ../cstrike/dlls/util.cpp:1586 */ +void UTIL_StringToIntArray(int *pVector, int count, const char *pString) { char *pstr; char *pfront; @@ -1396,12 +1396,12 @@ void UTIL_StringToIntArray(int *pVector, int count, const char *pString) } for (j++; j < count; j++) - pVector[j] = 0; -} - -/* <1af90d> ../cstrike/dlls/util.cpp:1612 */ -Vector UTIL_ClampVectorToBox(const Vector &input, const Vector &clampSize) -{ + pVector[j] = 0; +} + +/* <1af90d> ../cstrike/dlls/util.cpp:1612 */ +Vector UTIL_ClampVectorToBox(const Vector &input, const Vector &clampSize) +{ Vector sourceVector = input; if (sourceVector.x > clampSize.x) sourceVector.x -= clampSize.x; @@ -1421,15 +1421,15 @@ Vector UTIL_ClampVectorToBox(const Vector &input, const Vector &clampSize) sourceVector.z += clampSize.z; else sourceVector.z = 0; - return sourceVector.Normalize(); -} - -/* <1afa45> ../cstrike/dlls/util.cpp:1641 */ -float UTIL_WaterLevel(const Vector &position, float minz, float maxz) -{ - Vector midUp; - float diff; - + return sourceVector.Normalize(); +} + +/* <1afa45> ../cstrike/dlls/util.cpp:1641 */ +float UTIL_WaterLevel(const Vector &position, float minz, float maxz) +{ + Vector midUp; + float diff; + midUp = position; midUp.z = minz; @@ -1451,33 +1451,33 @@ float UTIL_WaterLevel(const Vector &position, float minz, float maxz) diff = maxz - minz; } - return midUp.z; -} - -/* <1afb44> ../cstrike/dlls/util.cpp:1674 */ -void UTIL_Bubbles(Vector mins, Vector maxs, int count) -{ + return midUp.z; +} + +/* <1afb44> ../cstrike/dlls/util.cpp:1674 */ +void UTIL_Bubbles(Vector mins, Vector maxs, int count) +{ Vector mid = (mins + maxs) * 0.5f; float flHeight = UTIL_WaterLevel(mid, mid.z, mid.z + 1024.0f) - mins.z; MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, mid); - WRITE_BYTE(TE_BUBBLES); - WRITE_COORD(mins.x); - WRITE_COORD(mins.y); - WRITE_COORD(mins.z); - WRITE_COORD(maxs.x); - WRITE_COORD(maxs.y); - WRITE_COORD(maxs.z); - WRITE_COORD(flHeight); - WRITE_SHORT(g_sModelIndexBubbles); - WRITE_BYTE(count); + WRITE_BYTE(TE_BUBBLES); + WRITE_COORD(mins.x); + WRITE_COORD(mins.y); + WRITE_COORD(mins.z); + WRITE_COORD(maxs.x); + WRITE_COORD(maxs.y); + WRITE_COORD(maxs.z); + WRITE_COORD(flHeight); + WRITE_SHORT(g_sModelIndexBubbles); + WRITE_BYTE(count); WRITE_COORD(8); - MESSAGE_END(); -} - -/* <1afc62> ../cstrike/dlls/util.cpp:1696 */ -void UTIL_BubbleTrail(Vector from, Vector to, int count) -{ + MESSAGE_END(); +} + +/* <1afc62> ../cstrike/dlls/util.cpp:1696 */ +void UTIL_BubbleTrail(Vector from, Vector to, int count) +{ float flHeight = UTIL_WaterLevel(from, from.z, from.z + 256.0f) - from.z; if (flHeight < 8.0f) { @@ -1493,43 +1493,43 @@ void UTIL_BubbleTrail(Vector from, Vector to, int count) count = 255; MESSAGE_BEGIN(MSG_BROADCAST, SVC_TEMPENTITY); - WRITE_BYTE(TE_BUBBLETRAIL); - WRITE_COORD(from.x); - WRITE_COORD(from.y); - WRITE_COORD(from.z); - WRITE_COORD(to.x); - WRITE_COORD(to.y); - WRITE_COORD(to.z); - WRITE_COORD(flHeight); - WRITE_SHORT(g_sModelIndexBubbles); - WRITE_BYTE(count); + WRITE_BYTE(TE_BUBBLETRAIL); + WRITE_COORD(from.x); + WRITE_COORD(from.y); + WRITE_COORD(from.z); + WRITE_COORD(to.x); + WRITE_COORD(to.y); + WRITE_COORD(to.z); + WRITE_COORD(flHeight); + WRITE_SHORT(g_sModelIndexBubbles); + WRITE_BYTE(count); WRITE_COORD(8); - MESSAGE_END(); -} - -/* <1afcfe> ../cstrike/dlls/util.cpp:1731 */ -void UTIL_Remove(CBaseEntity *pEntity) -{ - if (pEntity) - { - pEntity->UpdateOnRemove(); - pEntity->pev->flags |= FL_KILLME; - pEntity->pev->targetname = 0; - } -} - -/* <1afd2c> ../cstrike/dlls/util.cpp:1745 */ -NOXREF BOOL UTIL_IsValidEntity(edict_t *pent) -{ + MESSAGE_END(); +} + +/* <1afcfe> ../cstrike/dlls/util.cpp:1731 */ +void UTIL_Remove(CBaseEntity *pEntity) +{ + if (pEntity) + { + pEntity->UpdateOnRemove(); + pEntity->pev->flags |= FL_KILLME; + pEntity->pev->targetname = 0; + } +} + +/* <1afd2c> ../cstrike/dlls/util.cpp:1745 */ +NOXREF BOOL UTIL_IsValidEntity(edict_t *pent) +{ if (!pent || pent->free || (pent->v.flags & FL_KILLME)) return FALSE; - return TRUE; -} - -/* <1afd5c> ../cstrike/dlls/util.cpp:1753 */ -void UTIL_PrecacheOther(const char *szClassname) -{ + return TRUE; +} + +/* <1afd5c> ../cstrike/dlls/util.cpp:1753 */ +void UTIL_PrecacheOther(const char *szClassname) +{ edict_t *pent = CREATE_NAMED_ENTITY(MAKE_STRING(szClassname)); if (FNullEnt(pent)) { @@ -1541,12 +1541,12 @@ void UTIL_PrecacheOther(const char *szClassname) if (pEntity) pEntity->Precache(); - REMOVE_ENTITY(pent); -} - -/* <1afe5f> ../cstrike/dlls/util.cpp:1774 */ -void UTIL_LogPrintf(char *fmt, ...) -{ + REMOVE_ENTITY(pent); +} + +/* <1afe5f> ../cstrike/dlls/util.cpp:1774 */ +void UTIL_LogPrintf(char *fmt, ...) +{ va_list argptr; static char string[1024]; @@ -1560,74 +1560,74 @@ void UTIL_LogPrintf(char *fmt, ...) va_end(argptr); - ALERT(at_logged, "%s", string); -} - -/* <1afebd> ../cstrike/dlls/util.cpp:1791 */ -NOXREF float UTIL_DotPoints(const Vector &vecSrc, const Vector &vecCheck, const Vector &vecDir) -{ + ALERT(at_logged, "%s", string); +} + +/* <1afebd> ../cstrike/dlls/util.cpp:1791 */ +NOXREF float UTIL_DotPoints(const Vector &vecSrc, const Vector &vecCheck, const Vector &vecDir) +{ Vector2D vec2LOS = (vecCheck - vecSrc).Make2D(); vec2LOS = vec2LOS.Normalize(); - return DotProduct(vec2LOS, (vecDir.Make2D())); -} - -/* <1affcc> ../cstrike/dlls/util.cpp:1805 */ -void UTIL_StripToken(const char *pKey, char *pDest) -{ + return DotProduct(vec2LOS, (vecDir.Make2D())); +} + +/* <1affcc> ../cstrike/dlls/util.cpp:1805 */ +void UTIL_StripToken(const char *pKey, char *pDest) +{ int i = 0; while (pKey[i] && pKey[i] != '#') { pDest[i] = pKey[i]; i++; } - pDest[i] = 0; -} - -/* <1b003a> ../cstrike/dlls/util.cpp:1847 */ -CSaveRestoreBuffer::CSaveRestoreBuffer(void) -{ - m_pdata = NULL; -} - -/* <1b0084> ../cstrike/dlls/util.cpp:1853 */ -CSaveRestoreBuffer::CSaveRestoreBuffer(SAVERESTOREDATA *pdata) -{ - m_pdata = pdata; -} - -/* <1b00d4> ../cstrike/dlls/util.cpp:1859 */ -CSaveRestoreBuffer::~CSaveRestoreBuffer(void) -{ - ; -} - -/* <1b0186> ../cstrike/dlls/util.cpp:1863 */ -int CSaveRestoreBuffer::EntityIndex(CBaseEntity *pEntity) -{ + pDest[i] = 0; +} + +/* <1b003a> ../cstrike/dlls/util.cpp:1847 */ +CSaveRestoreBuffer::CSaveRestoreBuffer(void) +{ + m_pdata = NULL; +} + +/* <1b0084> ../cstrike/dlls/util.cpp:1853 */ +CSaveRestoreBuffer::CSaveRestoreBuffer(SAVERESTOREDATA *pdata) +{ + m_pdata = pdata; +} + +/* <1b00d4> ../cstrike/dlls/util.cpp:1859 */ +CSaveRestoreBuffer::~CSaveRestoreBuffer(void) +{ + ; +} + +/* <1b0186> ../cstrike/dlls/util.cpp:1863 */ +int CSaveRestoreBuffer::EntityIndex(CBaseEntity *pEntity) +{ if (!pEntity) return -1; - return EntityIndex(pEntity->pev); -} - -/* <1b0214> ../cstrike/dlls/util.cpp:1871 */ -int CSaveRestoreBuffer::EntityIndex(entvars_t *pevLookup) -{ + return EntityIndex(pEntity->pev); +} + +/* <1b0214> ../cstrike/dlls/util.cpp:1871 */ +int CSaveRestoreBuffer::EntityIndex(entvars_t *pevLookup) +{ if (!pevLookup) return -1; - return EntityIndex(ENT(pevLookup)); -} - -/* <1b02a7> ../cstrike/dlls/util.cpp:1878 */ -int CSaveRestoreBuffer::EntityIndex(EOFFSET eoLookup) -{ - return EntityIndex(ENT(eoLookup)); -} - -/* <1b032f> ../cstrike/dlls/util.cpp:1884 */ -int CSaveRestoreBuffer::EntityIndex(edict_t *pentLookup) -{ + return EntityIndex(ENT(pevLookup)); +} + +/* <1b02a7> ../cstrike/dlls/util.cpp:1878 */ +int CSaveRestoreBuffer::EntityIndex(EOFFSET eoLookup) +{ + return EntityIndex(ENT(eoLookup)); +} + +/* <1b032f> ../cstrike/dlls/util.cpp:1884 */ +int CSaveRestoreBuffer::EntityIndex(edict_t *pentLookup) +{ if (!m_pdata || !pentLookup) return -1; @@ -1637,12 +1637,12 @@ int CSaveRestoreBuffer::EntityIndex(edict_t *pentLookup) if (pTable->pent == pentLookup) return i; } - return -1; -} - -/* <1b03b7> ../cstrike/dlls/util.cpp:1902 */ -edict_t *CSaveRestoreBuffer::EntityFromIndex(int entityIndex) -{ + return -1; +} + +/* <1b03b7> ../cstrike/dlls/util.cpp:1902 */ +edict_t *CSaveRestoreBuffer::EntityFromIndex(int entityIndex) +{ if (!m_pdata || entityIndex < 0) return NULL; @@ -1652,12 +1652,12 @@ edict_t *CSaveRestoreBuffer::EntityFromIndex(int entityIndex) if (pTable->id == entityIndex) return pTable->pent; } - return NULL; -} - -/* <1b03fb> ../cstrike/dlls/util.cpp:1920 */ -int CSaveRestoreBuffer::EntityFlagsSet(int entityIndex, int flags) -{ + return NULL; +} + +/* <1b03fb> ../cstrike/dlls/util.cpp:1920 */ +int CSaveRestoreBuffer::EntityFlagsSet(int entityIndex, int flags) +{ if (!m_pdata || entityIndex < 0) return 0; @@ -1665,12 +1665,12 @@ int CSaveRestoreBuffer::EntityFlagsSet(int entityIndex, int flags) return 0; m_pdata->pTable[entityIndex].flags |= flags; - return m_pdata->pTable[entityIndex].flags; -} - -/* <1b0445> ../cstrike/dlls/util.cpp:1933 */ -void CSaveRestoreBuffer::BufferRewind(int size) -{ + return m_pdata->pTable[entityIndex].flags; +} + +/* <1b0445> ../cstrike/dlls/util.cpp:1933 */ +void CSaveRestoreBuffer::BufferRewind(int size) +{ if (!m_pdata) return; @@ -1678,45 +1678,45 @@ void CSaveRestoreBuffer::BufferRewind(int size) size = m_pdata->size; m_pdata->pCurrentData -= size; - m_pdata->size -= size; -} - -#ifndef _WIN32 -/* <1abdfb> ../cstrike/dlls/util.cpp:1950 */ -extern "C" -{ - inline unsigned _rotr(unsigned val, int shift) - { - register unsigned lobit; - register unsigned num = val; - - shift &= 0x1f; - - while (shift--) - { - lobit = num & 1; - num >>= 1; - if (lobit) - num |= 0x80000000; - } - return num; - } -} -#endif - -/* <1b04b5> ../cstrike/dlls/util.cpp:1971 */ -unsigned int CSaveRestoreBuffer::HashString(const char *pszToken) -{ + m_pdata->size -= size; +} + +#ifndef _WIN32 +/* <1abdfb> ../cstrike/dlls/util.cpp:1950 */ +extern "C" +{ + inline unsigned _rotr(unsigned val, int shift) + { + register unsigned lobit; + register unsigned num = val; + + shift &= 0x1f; + + while (shift--) + { + lobit = num & 1; + num >>= 1; + if (lobit) + num |= 0x80000000; + } + return num; + } +} +#endif + +/* <1b04b5> ../cstrike/dlls/util.cpp:1971 */ +unsigned int CSaveRestoreBuffer::HashString(const char *pszToken) +{ unsigned int hash = 0; while (*pszToken) hash = _rotr(hash, 4) ^ *pszToken++; - return hash; -} - -/* <1b0531> ../cstrike/dlls/util.cpp:1981 */ -unsigned short CSaveRestoreBuffer::TokenHash(const char *pszToken) -{ + return hash; +} + +/* <1b0531> ../cstrike/dlls/util.cpp:1981 */ +unsigned short CSaveRestoreBuffer::TokenHash(const char *pszToken) +{ unsigned short hash = (unsigned short)(HashString(pszToken) % (unsigned)m_pdata->tokenCount); for (int i = 0; i < m_pdata->tokenCount; i++) { @@ -1731,37 +1731,37 @@ unsigned short CSaveRestoreBuffer::TokenHash(const char *pszToken) } } ALERT(at_error, "CSaveRestoreBuffer :: TokenHash() is COMPLETELY FULL!"); - return 0; -} - -/* <1b06a5> ../cstrike/dlls/util.cpp:2020 */ -NOXREF void CSave::WriteData(const char *pname, int size, const char *pdata) -{ - BufferField(pname, size, pdata); -} - -/* <1b0860> ../cstrike/dlls/util.cpp:2026 */ -NOXREF void CSave::WriteShort(const char *pname, const short *data, int count) -{ - BufferField(pname, sizeof(short) * count, (const char *)data); -} - -/* <1b0a7b> ../cstrike/dlls/util.cpp:2032 */ -NOXREF void CSave::WriteInt(const char *pname, const int *data, int count) -{ - BufferField(pname, sizeof(int) * count, (const char *)data); -} - -/* <1b0c77> ../cstrike/dlls/util.cpp:2038 */ -NOXREF void CSave::WriteFloat(const char *pname, const float *data, int count) -{ - BufferField(pname, sizeof(float) * count, (const char *)data); -} - -/* <1b0ea5> ../cstrike/dlls/util.cpp:2044 */ -NOXREF void CSave::WriteTime(const char *pname, const float *data, int count) -{ - int i; + return 0; +} + +/* <1b06a5> ../cstrike/dlls/util.cpp:2020 */ +NOXREF void CSave::WriteData(const char *pname, int size, const char *pdata) +{ + BufferField(pname, size, pdata); +} + +/* <1b0860> ../cstrike/dlls/util.cpp:2026 */ +NOXREF void CSave::WriteShort(const char *pname, const short *data, int count) +{ + BufferField(pname, sizeof(short) * count, (const char *)data); +} + +/* <1b0a7b> ../cstrike/dlls/util.cpp:2032 */ +NOXREF void CSave::WriteInt(const char *pname, const int *data, int count) +{ + BufferField(pname, sizeof(int) * count, (const char *)data); +} + +/* <1b0c77> ../cstrike/dlls/util.cpp:2038 */ +NOXREF void CSave::WriteFloat(const char *pname, const float *data, int count) +{ + BufferField(pname, sizeof(float) * count, (const char *)data); +} + +/* <1b0ea5> ../cstrike/dlls/util.cpp:2044 */ +NOXREF void CSave::WriteTime(const char *pname, const float *data, int count) +{ + int i; BufferHeader(pname, sizeof(float) * count); for (i = 0; i < count; i++) @@ -1773,21 +1773,21 @@ NOXREF void CSave::WriteTime(const char *pname, const float *data, int count) BufferData((const char *)&tmp, sizeof(float)); data++; - } -} - -/* <1b1053> ../cstrike/dlls/util.cpp:2065 */ -NOXREF void CSave::WriteString(const char *pname, const char *pdata) -{ - BufferField(pname, Q_strlen(pdata) + 1, pdata); -} - -/* <1b121f> ../cstrike/dlls/util.cpp:2076 */ -NOXREF void CSave::WriteString(const char *pname, const int *stringId, int count) -{ - int i; - int size = 0; - + } +} + +/* <1b1053> ../cstrike/dlls/util.cpp:2065 */ +NOXREF void CSave::WriteString(const char *pname, const char *pdata) +{ + BufferField(pname, Q_strlen(pdata) + 1, pdata); +} + +/* <1b121f> ../cstrike/dlls/util.cpp:2076 */ +NOXREF void CSave::WriteString(const char *pname, const int *stringId, int count) +{ + int i; + int size = 0; + for (i = 0; i < count; i++) size += Q_strlen(STRING(stringId[i])) + 1; @@ -1796,36 +1796,36 @@ NOXREF void CSave::WriteString(const char *pname, const int *stringId, int count { const char *pString = STRING(stringId[i]); BufferData(pString, Q_strlen(pString) + 1); - } -} - -/* <1b1480> ../cstrike/dlls/util.cpp:2099 */ -NOXREF void CSave::WriteVector(const char *pname, const Vector &value) -{ - WriteVector(pname, &value.x, 1); -} - -/* <1b1630> ../cstrike/dlls/util.cpp:2105 */ -NOXREF void CSave::WriteVector(const char *pname, const float *value, int count) -{ + } +} + +/* <1b1480> ../cstrike/dlls/util.cpp:2099 */ +NOXREF void CSave::WriteVector(const char *pname, const Vector &value) +{ + WriteVector(pname, &value.x, 1); +} + +/* <1b1630> ../cstrike/dlls/util.cpp:2105 */ +NOXREF void CSave::WriteVector(const char *pname, const float *value, int count) +{ BufferHeader(pname, sizeof(float) * 3 * count); - BufferData((const char *)value, sizeof(float) * 3 * count); -} - -/* <1b17b9> ../cstrike/dlls/util.cpp:2113 */ -NOXREF void CSave::WritePositionVector(const char *pname, const Vector &value) -{ + BufferData((const char *)value, sizeof(float) * 3 * count); +} + +/* <1b17b9> ../cstrike/dlls/util.cpp:2113 */ +NOXREF void CSave::WritePositionVector(const char *pname, const Vector &value) +{ if (m_pdata && m_pdata->fUseLandmark) { Vector tmp = value - m_pdata->vecLandmarkOffset; WriteVector(pname, tmp); } - WriteVector(pname, value); -} - -/* <1b1bde> ../cstrike/dlls/util.cpp:2126 */ -NOXREF void CSave::WritePositionVector(const char *pname, const float *value, int count) -{ + WriteVector(pname, value); +} + +/* <1b1bde> ../cstrike/dlls/util.cpp:2126 */ +NOXREF void CSave::WritePositionVector(const char *pname, const float *value, int count) +{ BufferHeader(pname, sizeof(float) * 3 * count); for (int i = 0; i < count; i++) { @@ -1836,23 +1836,23 @@ NOXREF void CSave::WritePositionVector(const char *pname, const float *value, in BufferData((const char *)&tmp.x, sizeof(float) * 3); value += 3; - } -} - -/* <1b2ca4> ../cstrike/dlls/util.cpp:2145 */ -NOXREF void CSave::WriteFunction(const char *pname, void **data, int count) -{ + } +} + +/* <1b2ca4> ../cstrike/dlls/util.cpp:2145 */ +NOXREF void CSave::WriteFunction(const char *pname, void **data, int count) +{ const char *functionName = NAME_FOR_FUNCTION((uint32)*data); if (functionName) BufferField(pname, Q_strlen(functionName) + 1, functionName); else - ALERT(at_error, "Invalid function pointer in entity!"); -} - -/* <1b2e7a> ../cstrike/dlls/util.cpp:2157 */ -void EntvarsKeyvalue(entvars_t *pev, KeyValueData *pkvd) -{ + ALERT(at_error, "Invalid function pointer in entity!"); +} + +/* <1b2e7a> ../cstrike/dlls/util.cpp:2157 */ +void EntvarsKeyvalue(entvars_t *pev, KeyValueData *pkvd) +{ for (int i = 0; i < ARRAYSIZE(gEntvarsDescription); i++) { TYPEDESCRIPTION *pField = &gEntvarsDescription[i]; @@ -1890,18 +1890,18 @@ void EntvarsKeyvalue(entvars_t *pev, KeyValueData *pkvd) pkvd->fHandled = TRUE; break; } - } -} - -/* <1b2f7f> ../cstrike/dlls/util.cpp:2207 */ -int CSave::WriteEntVars(const char *pname, entvars_t *pev) -{ - return WriteFields(pname, pev, gEntvarsDescription, ARRAYSIZE(gEntvarsDescription)); -} - -/* <1b2fc9> ../cstrike/dlls/util.cpp:2214 */ -int CSave::WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount) -{ + } +} + +/* <1b2f7f> ../cstrike/dlls/util.cpp:2207 */ +int CSave::WriteEntVars(const char *pname, entvars_t *pev) +{ + return WriteFields(pname, pev, gEntvarsDescription, ARRAYSIZE(gEntvarsDescription)); +} + +/* <1b2fc9> ../cstrike/dlls/util.cpp:2214 */ +int CSave::WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount) +{ int i; int emptyCount = 0; @@ -2001,49 +2001,49 @@ int CSave::WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFie default: ALERT(at_error, "Bad field type\n"); } } - return 1; -} - -/* <1b3e49> ../cstrike/dlls/util.cpp:2324 */ -NOXREF void CSave::BufferString(char *pdata, int len) -{ + return 1; +} + +/* <1b3e49> ../cstrike/dlls/util.cpp:2324 */ +NOXREF void CSave::BufferString(char *pdata, int len) +{ char c = 0; BufferData(pdata, len); - BufferData(&c, 1); -} - -/* <1b3f5d> ../cstrike/dlls/util.cpp:2333 */ -NOXREF int CSave::DataEmpty(const char *pdata, int size) -{ + BufferData(&c, 1); +} + +/* <1b3f5d> ../cstrike/dlls/util.cpp:2333 */ +NOXREF int CSave::DataEmpty(const char *pdata, int size) +{ for (int i = 0; i < size; i++) { if (pdata[i]) return 0; } - return 1; -} - -/* <1b3f9f> ../cstrike/dlls/util.cpp:2344 */ -void CSave::BufferField(const char *pname, int size, const char *pdata) + return 1; +} + +/* <1b3f9f> ../cstrike/dlls/util.cpp:2344 */ +void CSave::BufferField(const char *pname, int size, const char *pdata) { BufferHeader(pname, size); - BufferData(pdata, size); -} - -/* <1b4128> ../cstrike/dlls/util.cpp:2351 */ -void CSave::BufferHeader(const char *pname, int size) -{ + BufferData(pdata, size); +} + +/* <1b4128> ../cstrike/dlls/util.cpp:2351 */ +void CSave::BufferHeader(const char *pname, int size) +{ short hashvalue = TokenHash(pname); if (size > (1<<(sizeof(short) * 8))) ALERT(at_error, "CSave :: BufferHeader() size parameter exceeds 'short'!"); BufferData((const char *)&size, sizeof(short)); - BufferData((const char *)&hashvalue, sizeof(short)); -} - -/* <1b421f> ../cstrike/dlls/util.cpp:2361 */ -void CSave::BufferData(const char *pdata, int size) -{ + BufferData((const char *)&hashvalue, sizeof(short)); +} + +/* <1b421f> ../cstrike/dlls/util.cpp:2361 */ +void CSave::BufferData(const char *pdata, int size) +{ if (!m_pdata) return; @@ -2056,12 +2056,12 @@ void CSave::BufferData(const char *pdata, int size) Q_memcpy(m_pdata->pCurrentData, pdata, size); m_pdata->pCurrentData += size; - m_pdata->size += size; -} - -/* <1b427f> ../cstrike/dlls/util.cpp:2386 */ -int CRestore::ReadField(void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount, int startField, int size, char *pName, void *pData) -{ + m_pdata->size += size; +} + +/* <1b427f> ../cstrike/dlls/util.cpp:2386 */ +int CRestore::ReadField(void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount, int startField, int size, char *pName, void *pData) +{ float time = 0.0f; Vector position = Vector(0, 0, 0); @@ -2227,18 +2227,18 @@ int CRestore::ReadField(void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCoun return fieldNumber; } } - return -1; -} - -/* <1b4a80> ../cstrike/dlls/util.cpp:2547 */ -int CRestore::ReadEntVars(const char *pname, entvars_t *pev) -{ - return ReadFields(pname, pev, gEntvarsDescription, ARRAYSIZE(gEntvarsDescription)); -} - -/* <1b4884> ../cstrike/dlls/util.cpp:2553 */ -int CRestore::ReadFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount) -{ + return -1; +} + +/* <1b4a80> ../cstrike/dlls/util.cpp:2547 */ +int CRestore::ReadEntVars(const char *pname, entvars_t *pev) +{ + return ReadFields(pname, pev, gEntvarsDescription, ARRAYSIZE(gEntvarsDescription)); +} + +/* <1b4884> ../cstrike/dlls/util.cpp:2553 */ +int CRestore::ReadFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount) +{ unsigned short i = ReadShort(); unsigned short token = ReadShort(); @@ -2264,62 +2264,62 @@ int CRestore::ReadFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pF lastField = ReadField(pBaseData, pFields, fieldCount, lastField, header.size, m_pdata->pTokens[header.token], header.pData); lastField++; } - return 1; -} - -/* <1b46b1> ../cstrike/dlls/util.cpp:2595 */ -NOXREF void CRestore::BufferReadHeader(HEADER *pheader) -{ + return 1; +} + +/* <1b46b1> ../cstrike/dlls/util.cpp:2595 */ +NOXREF void CRestore::BufferReadHeader(HEADER *pheader) +{ pheader->size = ReadShort(); pheader->token = ReadShort(); pheader->pData = BufferPointer(); - BufferSkipBytes(pheader->size); -} - -/* <1b4654> ../cstrike/dlls/util.cpp:2605 */ -NOXREF short CRestore::ReadShort(void) -{ + BufferSkipBytes(pheader->size); +} + +/* <1b4654> ../cstrike/dlls/util.cpp:2605 */ +NOXREF short CRestore::ReadShort(void) +{ short tmp = 0; BufferReadBytes((char *)&tmp, sizeof(short)); - return tmp; -} - -/* <1b45f5> ../cstrike/dlls/util.cpp:2614 */ -NOXREF int CRestore::ReadInt(void) -{ + return tmp; +} + +/* <1b45f5> ../cstrike/dlls/util.cpp:2614 */ +NOXREF int CRestore::ReadInt(void) +{ int tmp = 0; BufferReadBytes((char *)&tmp, sizeof(int)); - return tmp; -} - -/* <1b4f84> ../cstrike/dlls/util.cpp:2623 */ -NOXREF int CRestore::ReadNamedInt(const char *pName) + return tmp; +} + +/* <1b4f84> ../cstrike/dlls/util.cpp:2623 */ +NOXREF int CRestore::ReadNamedInt(const char *pName) { HEADER header; BufferReadHeader(&header); - return ((int *)header.pData)[0]; -} - -/* <1b4776> ../cstrike/dlls/util.cpp:2631 */ -NOXREF char *CRestore::ReadNamedString(const char *pName) -{ + return ((int *)header.pData)[0]; +} + +/* <1b4776> ../cstrike/dlls/util.cpp:2631 */ +NOXREF char *CRestore::ReadNamedString(const char *pName) +{ HEADER header; BufferReadHeader(&header); - return (char *)header.pData; -} - -/* <1b453a> ../cstrike/dlls/util.cpp:2644 */ -NOXREF char *CRestore::BufferPointer(void) -{ + return (char *)header.pData; +} + +/* <1b453a> ../cstrike/dlls/util.cpp:2644 */ +NOXREF char *CRestore::BufferPointer(void) +{ if (!m_pdata) return NULL; - return m_pdata->pCurrentData; -} - -/* <1b455c> ../cstrike/dlls/util.cpp:2652 */ -void CRestore::BufferReadBytes(char *pOutput, int size) + return m_pdata->pCurrentData; +} + +/* <1b455c> ../cstrike/dlls/util.cpp:2652 */ +void CRestore::BufferReadBytes(char *pOutput, int size) { if (!m_pdata || Empty()) return; @@ -2335,18 +2335,18 @@ void CRestore::BufferReadBytes(char *pOutput, int size) Q_memcpy(pOutput, m_pdata->pCurrentData, size); m_pdata->pCurrentData += size; - m_pdata->size += size; -} - -/* <1b5092> ../cstrike/dlls/util.cpp:2673 */ -NOXREF void CRestore::BufferSkipBytes(int bytes) -{ - BufferReadBytes(NULL, bytes); -} - -/* <1b50bc> ../cstrike/dlls/util.cpp:2678 */ -NOXREF int CRestore::BufferSkipZString(void) -{ + m_pdata->size += size; +} + +/* <1b5092> ../cstrike/dlls/util.cpp:2673 */ +NOXREF void CRestore::BufferSkipBytes(int bytes) +{ + BufferReadBytes(NULL, bytes); +} + +/* <1b50bc> ../cstrike/dlls/util.cpp:2678 */ +NOXREF int CRestore::BufferSkipZString(void) +{ if (!m_pdata) return 0; @@ -2359,12 +2359,12 @@ NOXREF int CRestore::BufferSkipZString(void) len++; BufferSkipBytes(len); - return len; -} - -/* <1b5144> ../cstrike/dlls/util.cpp:2700 */ -NOXREF int CRestore::BufferCheckZString(const char *string) -{ + return len; +} + +/* <1b5144> ../cstrike/dlls/util.cpp:2700 */ +NOXREF int CRestore::BufferCheckZString(const char *string) +{ if (!m_pdata) return 0; @@ -2376,12 +2376,12 @@ NOXREF int CRestore::BufferCheckZString(const char *string) if (!strncmp(string, m_pdata->pCurrentData, len)) return 1; } - return 0; -} - -/* <1b51a7> ../cstrike/dlls/util.cpp:2715 */ -char UTIL_TextureHit(TraceResult *ptr, Vector vecSrc, Vector vecEnd) -{ + return 0; +} + +/* <1b51a7> ../cstrike/dlls/util.cpp:2715 */ +char UTIL_TextureHit(TraceResult *ptr, Vector vecSrc, Vector vecEnd) +{ char chTextureType; float rgfl1[3]; float rgfl2[3]; @@ -2414,35 +2414,35 @@ char UTIL_TextureHit(TraceResult *ptr, Vector vecSrc, Vector vecEnd) } else chTextureType = 0; - return chTextureType; -} - -/* <1b5330> ../cstrike/dlls/util.cpp:2767 */ -NOXREF int GetPlayerTeam(int index) -{ - CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(index); - if(pPlayer) - return pPlayer->m_iTeam; - return 0; -} - -/* <1b5412> ../cstrike/dlls/util.cpp:2775 */ -bool UTIL_IsGame(const char *gameName) -{ - if (gameName) - { - static char gameDir[256]; - GET_GAME_DIR(gameDir); - return (Q_stricmp(gameDir, gameName) == 0); - } - return false; -} - -/* <1b5470> ../cstrike/dlls/util.cpp:2802 */ -float UTIL_GetPlayerGaitYaw(int playerIndex) -{ + return chTextureType; +} + +/* <1b5330> ../cstrike/dlls/util.cpp:2767 */ +NOXREF int GetPlayerTeam(int index) +{ + CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(index); + if (pPlayer) + return pPlayer->m_iTeam; + return 0; +} + +/* <1b5412> ../cstrike/dlls/util.cpp:2775 */ +bool UTIL_IsGame(const char *gameName) +{ + if (gameName) + { + static char gameDir[256]; + GET_GAME_DIR(gameDir); + return (Q_stricmp(gameDir, gameName) == 0); + } + return false; +} + +/* <1b5470> ../cstrike/dlls/util.cpp:2802 */ +float UTIL_GetPlayerGaitYaw(int playerIndex) +{ CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(playerIndex); if (pPlayer) return pPlayer->m_flGaityaw; - return 0.0f; -} + return 0.0f; +} diff --git a/regamedll/dlls/util.h b/regamedll/dlls/util.h index 69743b12..b55fef85 100644 --- a/regamedll/dlls/util.h +++ b/regamedll/dlls/util.h @@ -224,7 +224,7 @@ inline EOFFSET OFFSET(const entvars_t *pev) /* <4631> ../cstrike/dlls/util.h:180 */ inline entvars_t *VARS(edict_t *pent) { - if(!pent) + if (!pent) return NULL; return &pent->v; diff --git a/regamedll/dlls/weapons.cpp b/regamedll/dlls/weapons.cpp index 75bc66ca..0d1e00d6 100644 --- a/regamedll/dlls/weapons.cpp +++ b/regamedll/dlls/weapons.cpp @@ -1,11 +1,11 @@ -#include "precompiled.h" - -/* -* Globals initialization -*/ +#include "precompiled.h" + +/* +* Globals initialization +*/ #ifndef HOOK_GAMEDLL -ItemInfo CBasePlayerItem::ItemInfoArray[32]; +ItemInfo CBasePlayerItem::ItemInfoArray[32]; AmmoInfo CBasePlayerItem::AmmoInfoArray[32]; TYPEDESCRIPTION CBasePlayerItem::m_SaveData[] = @@ -13,8 +13,8 @@ TYPEDESCRIPTION CBasePlayerItem::m_SaveData[] = DEFINE_FIELD(CBasePlayerItem, m_pPlayer, FIELD_CLASSPTR), DEFINE_FIELD(CBasePlayerItem, m_pNext, FIELD_CLASSPTR), DEFINE_FIELD(CBasePlayerItem, m_iId, FIELD_INTEGER), -}; - +}; + TYPEDESCRIPTION CBasePlayerWeapon::m_SaveData[] = { DEFINE_FIELD(CBasePlayerWeapon, m_flNextPrimaryAttack, FIELD_TIME), @@ -24,56 +24,56 @@ TYPEDESCRIPTION CBasePlayerWeapon::m_SaveData[] = DEFINE_FIELD(CBasePlayerWeapon, m_iSecondaryAmmoType, FIELD_INTEGER), DEFINE_FIELD(CBasePlayerWeapon, m_iClip, FIELD_INTEGER), DEFINE_FIELD(CBasePlayerWeapon, m_iDefaultAmmo, FIELD_INTEGER), -}; - +}; + TYPEDESCRIPTION CWeaponBox::m_SaveData[] = { DEFINE_ARRAY(CWeaponBox, m_rgAmmo, FIELD_INTEGER, MAX_AMMO_SLOTS), DEFINE_ARRAY(CWeaponBox, m_rgiszAmmo, FIELD_STRING, MAX_AMMO_SLOTS), DEFINE_ARRAY(CWeaponBox, m_rgpPlayerItems, FIELD_CLASSPTR, MAX_ITEM_TYPES), DEFINE_FIELD(CWeaponBox, m_cAmmoTypes, FIELD_INTEGER), -}; - -const char *g_pModelNameLaser = "sprites/laserbeam.spr"; - -#else // HOOK_GAMEDLL - +}; + +const char *g_pModelNameLaser = "sprites/laserbeam.spr"; + +#else // HOOK_GAMEDLL + ItemInfo (*CBasePlayerItem::pItemInfoArray)[32]; -AmmoInfo (*CBasePlayerItem::pAmmoInfoArray)[32]; - -TYPEDESCRIPTION (*CBasePlayerItem::pm_SaveData)[3]; -TYPEDESCRIPTION (*CBasePlayerWeapon::pm_SaveData)[7]; -TYPEDESCRIPTION (*CWeaponBox::pm_SaveData)[4]; - -const char *g_pModelNameLaser; - -#endif // HOOK_GAMEDLL - -short g_sModelIndexLaser; -short g_sModelIndexLaserDot; -short g_sModelIndexFireball; -short g_sModelIndexSmoke; -short g_sModelIndexWExplosion; -short g_sModelIndexBubbles; -short g_sModelIndexBloodDrop; -short g_sModelIndexBloodSpray; -short g_sModelIndexSmokePuff; -short g_sModelIndexFireball2; -short g_sModelIndexFireball3; -short g_sModelIndexFireball4; -short g_sModelIndexRadio; - -short int g_sModelIndexCTGhost; -short int g_sModelIndexTGhost; -short int g_sModelIndexC4Glow; - -int giAmmoIndex; - -MULTIDAMAGE gMultiDamage; - -/* <1d018e> ../cstrike/dlls/weapons.cpp:82 */ -int MaxAmmoCarry(int iszName) -{ +AmmoInfo (*CBasePlayerItem::pAmmoInfoArray)[32]; + +TYPEDESCRIPTION (*CBasePlayerItem::pm_SaveData)[3]; +TYPEDESCRIPTION (*CBasePlayerWeapon::pm_SaveData)[7]; +TYPEDESCRIPTION (*CWeaponBox::pm_SaveData)[4]; + +const char *g_pModelNameLaser; + +#endif // HOOK_GAMEDLL + +short g_sModelIndexLaser; +short g_sModelIndexLaserDot; +short g_sModelIndexFireball; +short g_sModelIndexSmoke; +short g_sModelIndexWExplosion; +short g_sModelIndexBubbles; +short g_sModelIndexBloodDrop; +short g_sModelIndexBloodSpray; +short g_sModelIndexSmokePuff; +short g_sModelIndexFireball2; +short g_sModelIndexFireball3; +short g_sModelIndexFireball4; +short g_sModelIndexRadio; + +short int g_sModelIndexCTGhost; +short int g_sModelIndexTGhost; +short int g_sModelIndexC4Glow; + +int giAmmoIndex; + +MULTIDAMAGE gMultiDamage; + +/* <1d018e> ../cstrike/dlls/weapons.cpp:82 */ +int MaxAmmoCarry(int iszName) +{ for (int i = 0; i < MAX_WEAPONS; i++) { ItemInfo *pInfo = &IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, ItemInfoArray)[ i ]; @@ -86,27 +86,27 @@ int MaxAmmoCarry(int iszName) } ALERT(at_console, "MaxAmmoCarry() doesn't recognize '%s'!\n", STRING(iszName)); - return -1; -} - -/* <1d2a29> ../cstrike/dlls/weapons.cpp:110 */ -void ClearMultiDamage(void) -{ + return -1; +} + +/* <1d2a29> ../cstrike/dlls/weapons.cpp:110 */ +void ClearMultiDamage(void) +{ gMultiDamage.pEntity = NULL; gMultiDamage.amount = 0; - gMultiDamage.type = 0; -} - -/* <1d2a41> ../cstrike/dlls/weapons.cpp:124 */ -void ApplyMultiDamage(entvars_t *pevInflictor, entvars_t *pevAttacker) -{ + gMultiDamage.type = 0; +} + +/* <1d2a41> ../cstrike/dlls/weapons.cpp:124 */ +void ApplyMultiDamage(entvars_t *pevInflictor, entvars_t *pevAttacker) +{ if (gMultiDamage.pEntity) - gMultiDamage.pEntity->TakeDamage(pevInflictor, pevAttacker, gMultiDamage.amount, gMultiDamage.type); -} - -/* <1d2ad3> ../cstrike/dlls/weapons.cpp:140 */ -void AddMultiDamage(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType) -{ + gMultiDamage.pEntity->TakeDamage(pevInflictor, pevAttacker, gMultiDamage.amount, gMultiDamage.type); +} + +/* <1d2ad3> ../cstrike/dlls/weapons.cpp:140 */ +void AddMultiDamage(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType) +{ if (pEntity) { gMultiDamage.type |= bitsDamageType; @@ -117,51 +117,51 @@ void AddMultiDamage(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamag gMultiDamage.amount = flDamage; } else - gMultiDamage.amount += flDamage; - } -} - -/* <1d2b6f> ../cstrike/dlls/weapons.cpp:162 */ -void SpawnBlood(Vector vecSpot, int bloodColor, float flDamage) -{ - UTIL_BloodDrips(vecSpot, g_vecAttackDir, bloodColor, flDamage); -} - -/* <1d2bbb> ../cstrike/dlls/weapons.cpp:168 */ -NOXREF int DamageDecal(CBaseEntity *pEntity, int bitsDamageType) -{ - if (pEntity) - return pEntity->DamageDecal(bitsDamageType); - return RANDOM_LONG(3, 4); -} - -/* <1d2bfa> ../cstrike/dlls/weapons.cpp:176 */ -NOXREF void DecalGunshot(TraceResult *pTrace, int iBulletType, bool ClientOnly, entvars_t *pShooter, bool bHitMetal) -{ - ; -} - -/* <1d07b3> ../cstrike/dlls/weapons.cpp:184 */ -NOBODY void EjectBrass(Vector &vecOrigin, Vector &vecLeft, Vector &vecVelocity, float rotation, int model, int soundtype, int entityIndex) -{ -// { -// class CBaseEntity *ent; // 188 -// bool useNewBehavior; // 190 -// } -} - -/* <1d2cfd> ../cstrike/dlls/weapons.cpp:220 */ -NOBODY void EjectBrass2(Vector &vecOrigin, Vector &vecVelocity, float rotation, int model, int soundtype, entvars_t *pev) -{ -// MESSAGE_BEGIN(int msg_dest, -// int msg_type, -// const float *pOrigin, -// entvars_t *ent); // 224 -} - -/* <1d020f> ../cstrike/dlls/weapons.cpp:242 */ -NOXREF void AddAmmoNameToAmmoRegistry(const char *szAmmoname) -{ + gMultiDamage.amount += flDamage; + } +} + +/* <1d2b6f> ../cstrike/dlls/weapons.cpp:162 */ +void SpawnBlood(Vector vecSpot, int bloodColor, float flDamage) +{ + UTIL_BloodDrips(vecSpot, g_vecAttackDir, bloodColor, flDamage); +} + +/* <1d2bbb> ../cstrike/dlls/weapons.cpp:168 */ +NOXREF int DamageDecal(CBaseEntity *pEntity, int bitsDamageType) +{ + if (pEntity) + return pEntity->DamageDecal(bitsDamageType); + return RANDOM_LONG(3, 4); +} + +/* <1d2bfa> ../cstrike/dlls/weapons.cpp:176 */ +NOXREF void DecalGunshot(TraceResult *pTrace, int iBulletType, bool ClientOnly, entvars_t *pShooter, bool bHitMetal) +{ + ; +} + +/* <1d07b3> ../cstrike/dlls/weapons.cpp:184 */ +NOBODY void EjectBrass(Vector &vecOrigin, Vector &vecLeft, Vector &vecVelocity, float rotation, int model, int soundtype, int entityIndex) +{ +// { +// class CBaseEntity *ent; // 188 +// bool useNewBehavior; // 190 +// } +} + +/* <1d2cfd> ../cstrike/dlls/weapons.cpp:220 */ +NOBODY void EjectBrass2(Vector &vecOrigin, Vector &vecVelocity, float rotation, int model, int soundtype, entvars_t *pev) +{ +// MESSAGE_BEGIN(int msg_dest, +// int msg_type, +// const float *pOrigin, +// entvars_t *ent); // 224 +} + +/* <1d020f> ../cstrike/dlls/weapons.cpp:242 */ +NOXREF void AddAmmoNameToAmmoRegistry(const char *szAmmoname) +{ for (int i = 0; i < MAX_AMMO_SLOTS; i++) { if (!IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, AmmoInfoArray)[ i ].pszName) @@ -177,12 +177,12 @@ NOXREF void AddAmmoNameToAmmoRegistry(const char *szAmmoname) giAmmoIndex = 0; IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, AmmoInfoArray)[ giAmmoIndex ].pszName = szAmmoname; - IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, AmmoInfoArray)[ giAmmoIndex ].iId = giAmmoIndex; -} - -/* <1d2e01> ../cstrike/dlls/weapons.cpp:265 */ -void UTIL_PrecacheOtherWeapon(const char *szClassname) -{ + IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, AmmoInfoArray)[ giAmmoIndex ].iId = giAmmoIndex; +} + +/* <1d2e01> ../cstrike/dlls/weapons.cpp:265 */ +void UTIL_PrecacheOtherWeapon(const char *szClassname) +{ edict_t *pent = CREATE_NAMED_ENTITY(MAKE_STRING(szClassname)); if (FNullEnt(pent)) @@ -211,12 +211,12 @@ void UTIL_PrecacheOtherWeapon(const char *szClassname) } } - REMOVE_ENTITY(pent); -} - -/* <1d2fc9> ../cstrike/dlls/weapons.cpp:304 */ -NOXREF void UTIL_PrecacheOtherWeapon2(const char *szClassname) -{ + REMOVE_ENTITY(pent); +} + +/* <1d2fc9> ../cstrike/dlls/weapons.cpp:304 */ +NOXREF void UTIL_PrecacheOtherWeapon2(const char *szClassname) +{ edict_t *pent = CREATE_NAMED_ENTITY(MAKE_STRING(szClassname)); if (FNullEnt(pent)) @@ -245,11 +245,11 @@ NOXREF void UTIL_PrecacheOtherWeapon2(const char *szClassname) } } - REMOVE_ENTITY(pent); -} - -/* <1d3191> ../cstrike/dlls/weapons.cpp:345 */ -void W_Precache(void) + REMOVE_ENTITY(pent); +} + +/* <1d3191> ../cstrike/dlls/weapons.cpp:345 */ +void W_Precache(void) { memset(IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, ItemInfoArray), 0, ARRAYSIZE( IMPLEMENT_ARRAY_CLASS(CBasePlayerItem, ItemInfoArray) )); giAmmoIndex = 0; @@ -263,44 +263,44 @@ void W_Precache(void) UTIL_PrecacheOther("item_assaultsuit"); UTIL_PrecacheOther("item_thighpack"); - UTIL_PrecacheOtherWeapon("weapon_awp"); - UTIL_PrecacheOther("ammo_338magnum"); - UTIL_PrecacheOtherWeapon("weapon_g3sg1"); - UTIL_PrecacheOtherWeapon("weapon_ak47"); - UTIL_PrecacheOtherWeapon("weapon_scout"); - UTIL_PrecacheOther("ammo_762nato"); - UTIL_PrecacheOtherWeapon("weapon_m249"); - UTIL_PrecacheOther("ammo_556natobox"); - UTIL_PrecacheOtherWeapon("weapon_m4a1"); - UTIL_PrecacheOtherWeapon("weapon_sg552"); - UTIL_PrecacheOtherWeapon("weapon_aug"); - UTIL_PrecacheOtherWeapon("weapon_sg550"); - UTIL_PrecacheOther("ammo_556nato"); - UTIL_PrecacheOtherWeapon("weapon_m3"); - UTIL_PrecacheOtherWeapon("weapon_xm1014"); - UTIL_PrecacheOther("ammo_buckshot"); - UTIL_PrecacheOtherWeapon("weapon_usp"); - UTIL_PrecacheOtherWeapon("weapon_mac10"); - UTIL_PrecacheOtherWeapon("weapon_ump45"); - UTIL_PrecacheOther("ammo_45acp"); - UTIL_PrecacheOtherWeapon("weapon_fiveseven"); - UTIL_PrecacheOtherWeapon("weapon_p90"); - UTIL_PrecacheOther("ammo_57mm"); - UTIL_PrecacheOtherWeapon("weapon_deagle"); - UTIL_PrecacheOther("ammo_50ae"); - UTIL_PrecacheOtherWeapon("weapon_p228"); - UTIL_PrecacheOther("ammo_357sig"); - UTIL_PrecacheOtherWeapon("weapon_knife"); - UTIL_PrecacheOtherWeapon("weapon_glock18"); - UTIL_PrecacheOtherWeapon("weapon_mp5navy"); - UTIL_PrecacheOtherWeapon("weapon_tmp"); - UTIL_PrecacheOtherWeapon("weapon_elite"); - UTIL_PrecacheOther("ammo_9mm"); - UTIL_PrecacheOtherWeapon("weapon_flashbang"); - UTIL_PrecacheOtherWeapon("weapon_hegrenade"); - UTIL_PrecacheOtherWeapon("weapon_smokegrenade"); - UTIL_PrecacheOtherWeapon("weapon_c4"); - UTIL_PrecacheOtherWeapon("weapon_galil"); + UTIL_PrecacheOtherWeapon("weapon_awp"); + UTIL_PrecacheOther("ammo_338magnum"); + UTIL_PrecacheOtherWeapon("weapon_g3sg1"); + UTIL_PrecacheOtherWeapon("weapon_ak47"); + UTIL_PrecacheOtherWeapon("weapon_scout"); + UTIL_PrecacheOther("ammo_762nato"); + UTIL_PrecacheOtherWeapon("weapon_m249"); + UTIL_PrecacheOther("ammo_556natobox"); + UTIL_PrecacheOtherWeapon("weapon_m4a1"); + UTIL_PrecacheOtherWeapon("weapon_sg552"); + UTIL_PrecacheOtherWeapon("weapon_aug"); + UTIL_PrecacheOtherWeapon("weapon_sg550"); + UTIL_PrecacheOther("ammo_556nato"); + UTIL_PrecacheOtherWeapon("weapon_m3"); + UTIL_PrecacheOtherWeapon("weapon_xm1014"); + UTIL_PrecacheOther("ammo_buckshot"); + UTIL_PrecacheOtherWeapon("weapon_usp"); + UTIL_PrecacheOtherWeapon("weapon_mac10"); + UTIL_PrecacheOtherWeapon("weapon_ump45"); + UTIL_PrecacheOther("ammo_45acp"); + UTIL_PrecacheOtherWeapon("weapon_fiveseven"); + UTIL_PrecacheOtherWeapon("weapon_p90"); + UTIL_PrecacheOther("ammo_57mm"); + UTIL_PrecacheOtherWeapon("weapon_deagle"); + UTIL_PrecacheOther("ammo_50ae"); + UTIL_PrecacheOtherWeapon("weapon_p228"); + UTIL_PrecacheOther("ammo_357sig"); + UTIL_PrecacheOtherWeapon("weapon_knife"); + UTIL_PrecacheOtherWeapon("weapon_glock18"); + UTIL_PrecacheOtherWeapon("weapon_mp5navy"); + UTIL_PrecacheOtherWeapon("weapon_tmp"); + UTIL_PrecacheOtherWeapon("weapon_elite"); + UTIL_PrecacheOther("ammo_9mm"); + UTIL_PrecacheOtherWeapon("weapon_flashbang"); + UTIL_PrecacheOtherWeapon("weapon_hegrenade"); + UTIL_PrecacheOtherWeapon("weapon_smokegrenade"); + UTIL_PrecacheOtherWeapon("weapon_c4"); + UTIL_PrecacheOtherWeapon("weapon_galil"); UTIL_PrecacheOtherWeapon("weapon_famas"); if (g_pGameRules->IsDeathmatch()) @@ -336,38 +336,38 @@ void W_Precache(void) PRECACHE_SOUND("weapons/bullet_hit1.wav"); PRECACHE_SOUND("weapons/bullet_hit2.wav"); PRECACHE_SOUND("items/weapondrop1.wav"); - PRECACHE_SOUND("weapons/generic_reload.wav"); -} - -/* <1d31ab> ../cstrike/dlls/weapons.cpp:485 */ -void CBasePlayerItem::FallInit(void) -{ - pev->movetype = MOVETYPE_TOSS; - pev->solid = SOLID_BBOX; - - UTIL_SetOrigin(pev, pev->origin); - UTIL_SetSize(pev, Vector(0,0,0), Vector(0,0,0)); - - SetTouch(&CBasePlayerItem::DefaultTouch); - SetThink(&CBasePlayerItem::FallThink); - - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <1d20a8> ../cstrike/dlls/weapons.cpp:458 */ -IMPLEMENT_SAVERESTORE(CBasePlayerItem, CBaseAnimating); - -/* <1d27b2> ../cstrike/dlls/weapons.cpp:472 */ -IMPLEMENT_SAVERESTORE(CBasePlayerWeapon, CBasePlayerItem); - -/* <1d1730> ../cstrike/dlls/weapons.cpp:475 */ -NOBODY void CBasePlayerItem::SetObjectCollisionBox_(void) -{ -// operator+(const Vector ::SetObjectCollisionBox(// const Vector &v); // 477 -// operator+(const Vector *const this, -// const Vector &v); // 478 -} - + PRECACHE_SOUND("weapons/generic_reload.wav"); +} + +/* <1d31ab> ../cstrike/dlls/weapons.cpp:485 */ +void CBasePlayerItem::FallInit(void) +{ + pev->movetype = MOVETYPE_TOSS; + pev->solid = SOLID_BBOX; + + UTIL_SetOrigin(pev, pev->origin); + UTIL_SetSize(pev, Vector(0,0,0), Vector(0,0,0)); + + SetTouch(&CBasePlayerItem::DefaultTouch); + SetThink(&CBasePlayerItem::FallThink); + + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <1d20a8> ../cstrike/dlls/weapons.cpp:458 */ +IMPLEMENT_SAVERESTORE(CBasePlayerItem, CBaseAnimating); + +/* <1d27b2> ../cstrike/dlls/weapons.cpp:472 */ +IMPLEMENT_SAVERESTORE(CBasePlayerWeapon, CBasePlayerItem); + +/* <1d1730> ../cstrike/dlls/weapons.cpp:475 */ +NOBODY void CBasePlayerItem::SetObjectCollisionBox_(void) +{ +// operator+(const Vector ::SetObjectCollisionBox(// const Vector &v); // 477 +// operator+(const Vector *const this, +// const Vector &v); // 478 +} + //BOOL CBasePlayerItem::CanDrop_(void)//252 //{ // return TRUE; @@ -375,11 +375,11 @@ NOBODY void CBasePlayerItem::SetObjectCollisionBox_(void) //BOOL CBasePlayerItem::CanDrop(void)//252 //{ // return CanDrop_();//TRUE; -//} - -/* <1d32bc> ../cstrike/dlls/weapons.cpp:506 */ -void CBasePlayerItem::FallThink(void) -{ +//} + +/* <1d32bc> ../cstrike/dlls/weapons.cpp:506 */ +void CBasePlayerItem::FallThink(void) +{ pev->nextthink = gpGlobals->time + 0.1; if (pev->flags & FL_ONGROUND) { @@ -392,12 +392,12 @@ void CBasePlayerItem::FallThink(void) pev->angles.z = 0.0f; Materialize(); - } -} - -/* <1d3252> ../cstrike/dlls/weapons.cpp:531 */ -void CBasePlayerItem::Materialize(void) -{ + } +} + +/* <1d3252> ../cstrike/dlls/weapons.cpp:531 */ +void CBasePlayerItem::Materialize(void) +{ if (pev->effects & EF_NODRAW) { if (g_pGameRules->IsMultiplayer()) @@ -420,41 +420,41 @@ void CBasePlayerItem::Materialize(void) pev->nextthink = gpGlobals->time + 1.0f; } else - SetThink(NULL); -} - -/* <1d327b> ../cstrike/dlls/weapons.cpp:567 */ -NOBODY void CBasePlayerItem::AttemptToMaterialize(void) -{ -// { -// float time; // 569 -// } -} - -/* <1d3348> ../cstrike/dlls/weapons.cpp:584 */ -void CBasePlayerItem::CheckRespawn(void) -{ + SetThink(NULL); +} + +/* <1d327b> ../cstrike/dlls/weapons.cpp:567 */ +NOBODY void CBasePlayerItem::AttemptToMaterialize(void) +{ +// { +// float time; // 569 +// } +} + +/* <1d3348> ../cstrike/dlls/weapons.cpp:584 */ +void CBasePlayerItem::CheckRespawn(void) +{ switch (g_pGameRules->WeaponShouldRespawn(this)) { case GR_WEAPON_RESPAWN_YES: return; case GR_WEAPON_RESPAWN_NO: return; - } -} - -/* <1d1e09> ../cstrike/dlls/weapons.cpp:616 */ -NOBODY CBaseEntity *CBasePlayerItem::Respawn_(void) -{ -// { -// class CBaseEntity *pNewWeapon; // 620 -// } - return NULL; -} - -/* <1d26f0> ../cstrike/dlls/weapons.cpp:642 */ -void CBasePlayerItem::DefaultTouch(CBaseEntity *pOther) -{ + } +} + +/* <1d1e09> ../cstrike/dlls/weapons.cpp:616 */ +NOBODY CBaseEntity *CBasePlayerItem::Respawn_(void) +{ +// { +// class CBaseEntity *pNewWeapon; // 620 +// } + return NULL; +} + +/* <1d26f0> ../cstrike/dlls/weapons.cpp:642 */ +void CBasePlayerItem::DefaultTouch(CBaseEntity *pOther) +{ if (!pOther->IsPlayer()) return; @@ -467,7 +467,7 @@ void CBasePlayerItem::DefaultTouch(CBaseEntity *pOther) if (gEvilImpulse101) UTIL_Remove(this); return; - } + } if (pOther->AddPlayerItem(this)) { @@ -476,77 +476,77 @@ void CBasePlayerItem::DefaultTouch(CBaseEntity *pOther) EMIT_SOUND(ENT(pPlayer->pev), CHAN_ITEM, "items/gunpickup2.wav", VOL_NORM, ATTN_NORM); } - SUB_UseTargets(pOther, USE_TOGGLE, 0); -} - -/* <1d3371> ../cstrike/dlls/weapons.cpp:678 */ -void CBasePlayerWeapon::SetPlayerShieldAnim(void) -{ - if (m_pPlayer->HasShield()) - { - if (m_iWeaponState & WPNSTATE_SHIELD_DRAWN) - Q_strcpy(m_pPlayer->m_szAnimExtention, "shield"); - else - Q_strcpy(m_pPlayer->m_szAnimExtention, "shieldgun"); - } -} - -/* <1d339a> ../cstrike/dlls/weapons.cpp:689 */ -void CBasePlayerWeapon::ResetPlayerShieldAnim(void) -{ + SUB_UseTargets(pOther, USE_TOGGLE, 0); +} + +/* <1d3371> ../cstrike/dlls/weapons.cpp:678 */ +void CBasePlayerWeapon::SetPlayerShieldAnim(void) +{ + if (m_pPlayer->HasShield()) + { + if (m_iWeaponState & WPNSTATE_SHIELD_DRAWN) + Q_strcpy(m_pPlayer->m_szAnimExtention, "shield"); + else + Q_strcpy(m_pPlayer->m_szAnimExtention, "shieldgun"); + } +} + +/* <1d339a> ../cstrike/dlls/weapons.cpp:689 */ +void CBasePlayerWeapon::ResetPlayerShieldAnim(void) +{ if (m_pPlayer->HasShield()) { if (m_iWeaponState & WPNSTATE_SHIELD_DRAWN) Q_strcpy(m_pPlayer->m_szAnimExtention, "shieldgun"); - } -} - -/* <1d33c3> ../cstrike/dlls/weapons.cpp:699 */ -NOBODY void CBasePlayerWeapon::EjectBrassLate(void) -{ -// { -// Vector vecShellVelocity; // 702 -// int soundType; // 707 -// operator+(const Vector *const this, -// const Vector &v); // 701 -// operator*(const Vector *const this, -// float fl); // 705 -// operator*(const Vector *const this, -// float fl); // 705 -// operator*(const Vector *const this, -// float fl); // 705 -// operator+(const Vector *const this, -// const Vector &v); // 705 -// operator+(const Vector *const this, -// const Vector &v); // 705 -// operator+(const Vector *const this, -// const Vector &v); // 705 -// ENTINDEX(edict_t *pEdict); // 714 -// operator*(const Vector *const this, -// float fl); // 714 -// operator*(const Vector *const this, -// float fl); // 714 -// operator*(const Vector *const this, -// float fl); // 714 -// operator+(const Vector *const this, -// const Vector &v); // 714 -// operator+(const Vector *const this, -// const Vector &v); // 714 -// operator+(const Vector *const this, -// const Vector &v); // 714 -// EjectBrass(Vector &vecOrigin, -// const Vector &vecLeft, -// const Vector &vecVelocity, -// float rotation, -// int model, -// int soundtype, -// int entityIndex); // 714 -// } -} - -/* <1d372a> ../cstrike/dlls/weapons.cpp:717 */ -bool CBasePlayerWeapon::ShieldSecondaryFire(int iUpAnim, int iDownAnim) -{ + } +} + +/* <1d33c3> ../cstrike/dlls/weapons.cpp:699 */ +NOBODY void CBasePlayerWeapon::EjectBrassLate(void) +{ +// { +// Vector vecShellVelocity; // 702 +// int soundType; // 707 +// operator+(const Vector *const this, +// const Vector &v); // 701 +// operator*(const Vector *const this, +// float fl); // 705 +// operator*(const Vector *const this, +// float fl); // 705 +// operator*(const Vector *const this, +// float fl); // 705 +// operator+(const Vector *const this, +// const Vector &v); // 705 +// operator+(const Vector *const this, +// const Vector &v); // 705 +// operator+(const Vector *const this, +// const Vector &v); // 705 +// ENTINDEX(edict_t *pEdict); // 714 +// operator*(const Vector *const this, +// float fl); // 714 +// operator*(const Vector *const this, +// float fl); // 714 +// operator*(const Vector *const this, +// float fl); // 714 +// operator+(const Vector *const this, +// const Vector &v); // 714 +// operator+(const Vector *const this, +// const Vector &v); // 714 +// operator+(const Vector *const this, +// const Vector &v); // 714 +// EjectBrass(Vector &vecOrigin, +// const Vector &vecLeft, +// const Vector &vecVelocity, +// float rotation, +// int model, +// int soundtype, +// int entityIndex); // 714 +// } +} + +/* <1d372a> ../cstrike/dlls/weapons.cpp:717 */ +bool CBasePlayerWeapon::ShieldSecondaryFire(int iUpAnim, int iDownAnim) +{ if (!m_pPlayer->HasShield()) return false; @@ -574,59 +574,59 @@ bool CBasePlayerWeapon::ShieldSecondaryFire(int iUpAnim, int iDownAnim) m_flNextPrimaryAttack = 0.4f; m_flTimeWeaponIdle = 0.6f; - return true; -} - -/* <1d3773> ../cstrike/dlls/weapons.cpp:752 */ -NOBODY void CBasePlayerWeapon::KickBack(float up_base, float lateral_base, float up_modifier, float lateral_modifier, float up_max, float lateral_max, int direction_change) -{ -// { -// float flKickUp; // 754 -// float flKickLateral; // 755 -// } -} - -/* <1d242e> ../cstrike/dlls/weapons.cpp:792 */ -NOBODY void CBasePlayerWeapon::FireRemaining(int &shotsFired, float &shootTime, BOOL bIsGlock) -{ -// { -// float nexttime; // 794 -// Vector vecSrc; // 810 -// int flag; // 828 -// Vector vecAiming; // 811 -// Vector vecDir; // 814 -// operator+(const Vector *const this, -// const Vector &v); // 808 -// Vector(Vector *const this, -// const Vector &v); // 818 -// Vector(Vector *const this, -// const Vector &v); // 818 -// Vector(Vector *const this, -// const Vector &v); // 824 -// Vector(Vector *const this, -// const Vector &v); // 824 -// } -} - -/* <1d389e> ../cstrike/dlls/weapons.cpp:876 */ -NOXREF BOOL CanAttack(float attack_time, float curtime, BOOL isPredicted) -{ - if (isPredicted) - { - if (attack_time > 0.0) - return FALSE; - } - else - { - if (attack_time > curtime) - return FALSE; - } - return TRUE; -} - -/* <1d38f0> ../cstrike/dlls/weapons.cpp:890 */ -NOBODY bool CBasePlayerWeapon::HasSecondaryAttack(void) -{ + return true; +} + +/* <1d3773> ../cstrike/dlls/weapons.cpp:752 */ +NOBODY void CBasePlayerWeapon::KickBack(float up_base, float lateral_base, float up_modifier, float lateral_modifier, float up_max, float lateral_max, int direction_change) +{ +// { +// float flKickUp; // 754 +// float flKickLateral; // 755 +// } +} + +/* <1d242e> ../cstrike/dlls/weapons.cpp:792 */ +NOBODY void CBasePlayerWeapon::FireRemaining(int &shotsFired, float &shootTime, BOOL bIsGlock) +{ +// { +// float nexttime; // 794 +// Vector vecSrc; // 810 +// int flag; // 828 +// Vector vecAiming; // 811 +// Vector vecDir; // 814 +// operator+(const Vector *const this, +// const Vector &v); // 808 +// Vector(Vector *const this, +// const Vector &v); // 818 +// Vector(Vector *const this, +// const Vector &v); // 818 +// Vector(Vector *const this, +// const Vector &v); // 824 +// Vector(Vector *const this, +// const Vector &v); // 824 +// } +} + +/* <1d389e> ../cstrike/dlls/weapons.cpp:876 */ +NOXREF BOOL CanAttack(float attack_time, float curtime, BOOL isPredicted) +{ + if (isPredicted) + { + if (attack_time > 0.0) + return FALSE; + } + else + { + if (attack_time > curtime) + return FALSE; + } + return TRUE; +} + +/* <1d38f0> ../cstrike/dlls/weapons.cpp:890 */ +NOBODY bool CBasePlayerWeapon::HasSecondaryAttack(void) +{ if (m_pPlayer->HasShield()) return true; @@ -645,77 +645,77 @@ NOBODY bool CBasePlayerWeapon::HasSecondaryAttack(void) && m_iId != WEAPON_C4 && m_iId != WEAPON_GALIL) return true; - return false; -} - -/* <1d3919> ../cstrike/dlls/weapons.cpp:915 */ -NOBODY void CBasePlayerWeapon::ItemPostFrame_(void) -{ -// { -// int usableButtons; // 918 -// pszAmmo2(CBasePlayerItem *const this); // 982 -// pszAmmo1(CBasePlayerItem *const this); // 992 -// iMaxClip(CBasePlayerItem *const this); // 1006 -// { -// int j; // 969 -// iMaxClip(CBasePlayerItem *const this); // 969 -// } -// FireRemaining(CBasePlayerWeapon *const this, -// int &shotsFired, -// float &shootTime, -// BOOL bIsGlock); // 923 -// FireRemaining(CBasePlayerWeapon *const this, -// int &shotsFired, -// float &shootTime, -// BOOL bIsGlock); // 925 -// iFlags(CBasePlayerItem *const this); // 1051 -// iMaxClip(CBasePlayerItem *const this); // 992 -// } -} - -/* <1d3aac> ../cstrike/dlls/weapons.cpp:1069 */ -NOBODY void CBasePlayerItem::DestroyItem(void) -{ -} - -/* <1d17d4> ../cstrike/dlls/weapons.cpp:1081 */ -NOXREF int CBasePlayerItem::AddToPlayer_(CBasePlayer *pPlayer) -{ - m_pPlayer = pPlayer; - + return false; +} + +/* <1d3919> ../cstrike/dlls/weapons.cpp:915 */ +NOBODY void CBasePlayerWeapon::ItemPostFrame_(void) +{ +// { +// int usableButtons; // 918 +// pszAmmo2(CBasePlayerItem *const this); // 982 +// pszAmmo1(CBasePlayerItem *const this); // 992 +// iMaxClip(CBasePlayerItem *const this); // 1006 +// { +// int j; // 969 +// iMaxClip(CBasePlayerItem *const this); // 969 +// } +// FireRemaining(CBasePlayerWeapon *const this, +// int &shotsFired, +// float &shootTime, +// BOOL bIsGlock); // 923 +// FireRemaining(CBasePlayerWeapon *const this, +// int &shotsFired, +// float &shootTime, +// BOOL bIsGlock); // 925 +// iFlags(CBasePlayerItem *const this); // 1051 +// iMaxClip(CBasePlayerItem *const this); // 992 +// } +} + +/* <1d3aac> ../cstrike/dlls/weapons.cpp:1069 */ +NOBODY void CBasePlayerItem::DestroyItem(void) +{ +} + +/* <1d17d4> ../cstrike/dlls/weapons.cpp:1081 */ +NOXREF int CBasePlayerItem::AddToPlayer_(CBasePlayer *pPlayer) +{ + m_pPlayer = pPlayer; + MESSAGE_BEGIN(MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev); WRITE_BYTE(m_iId); - MESSAGE_END(); - - return 1; -} - -/* <1d183d> ../cstrike/dlls/weapons.cpp:1092 */ -void CBasePlayerItem::Drop_(void) -{ + MESSAGE_END(); + + return 1; +} + +/* <1d183d> ../cstrike/dlls/weapons.cpp:1092 */ +void CBasePlayerItem::Drop_(void) +{ SetTouch(NULL); SetThink(&CBaseEntity::SUB_Remove); - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <1d1866> ../cstrike/dlls/weapons.cpp:1099 */ -void CBasePlayerItem::Kill_(void) -{ + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <1d1866> ../cstrike/dlls/weapons.cpp:1099 */ +void CBasePlayerItem::Kill_(void) +{ SetTouch(NULL); SetThink(&CBaseEntity::SUB_Remove); - pev->nextthink = gpGlobals->time + 0.1; -} - -/* <1d188f> ../cstrike/dlls/weapons.cpp:1106 */ -void CBasePlayerItem::Holster_(int skiplocal) -{ + pev->nextthink = gpGlobals->time + 0.1; +} + +/* <1d188f> ../cstrike/dlls/weapons.cpp:1106 */ +void CBasePlayerItem::Holster_(int skiplocal) +{ m_pPlayer->pev->viewmodel = 0; - m_pPlayer->pev->weaponmodel = 0; -} - -/* <1d18c7> ../cstrike/dlls/weapons.cpp:1112 */ -void CBasePlayerItem::AttachToPlayer_(CBasePlayer *pPlayer) -{ + m_pPlayer->pev->weaponmodel = 0; +} + +/* <1d18c7> ../cstrike/dlls/weapons.cpp:1112 */ +void CBasePlayerItem::AttachToPlayer_(CBasePlayer *pPlayer) +{ pev->movetype = MOVETYPE_FOLLOW; pev->solid = SOLID_NOT; pev->aiment = pPlayer->edict(); @@ -725,44 +725,44 @@ void CBasePlayerItem::AttachToPlayer_(CBasePlayer *pPlayer) pev->owner = pPlayer->edict(); pev->nextthink = gpGlobals->time + 0.1; - SetTouch(NULL); -} - -/* <1d1e4a> ../cstrike/dlls/weapons.cpp:1126 */ -int CBasePlayerWeapon::AddDuplicate_(CBasePlayerItem *pOriginal) -{ + SetTouch(NULL); +} + +/* <1d1e4a> ../cstrike/dlls/weapons.cpp:1126 */ +int CBasePlayerWeapon::AddDuplicate_(CBasePlayerItem *pOriginal) +{ if (m_iDefaultAmmo) return ExtractAmmo((CBasePlayerWeapon *)pOriginal); else - return ExtractClipAmmo((CBasePlayerWeapon *)pOriginal); -} - -/* <1d237f> ../cstrike/dlls/weapons.cpp:1140 */ -int CBasePlayerWeapon::AddToPlayer_(CBasePlayer *pPlayer) -{ - m_pPlayer = pPlayer; - pPlayer->pev->weapons |= (1 << m_iId); - - if (!m_iPrimaryAmmoType) - { + return ExtractClipAmmo((CBasePlayerWeapon *)pOriginal); +} + +/* <1d237f> ../cstrike/dlls/weapons.cpp:1140 */ +int CBasePlayerWeapon::AddToPlayer_(CBasePlayer *pPlayer) +{ + m_pPlayer = pPlayer; + pPlayer->pev->weapons |= (1 << m_iId); + + if (!m_iPrimaryAmmoType) + { m_iPrimaryAmmoType = pPlayer->GetAmmoIndex(pszAmmo1()); - m_iSecondaryAmmoType = pPlayer->GetAmmoIndex(pszAmmo2()); - } - - if (AddWeapon()) - { + m_iSecondaryAmmoType = pPlayer->GetAmmoIndex(pszAmmo2()); + } + + if (AddWeapon()) + { MESSAGE_BEGIN(MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev); WRITE_BYTE(m_iId); - MESSAGE_END(); - - return 1; - } - return 0; -} - -/* <1d24a3> ../cstrike/dlls/weapons.cpp:1164 */ -int CBasePlayerWeapon::UpdateClientData_(CBasePlayer *pPlayer) -{ + MESSAGE_END(); + + return 1; + } + return 0; +} + +/* <1d24a3> ../cstrike/dlls/weapons.cpp:1164 */ +int CBasePlayerWeapon::UpdateClientData_(CBasePlayer *pPlayer) +{ BOOL bSend = FALSE; int state = 0; @@ -789,8 +789,8 @@ int CBasePlayerWeapon::UpdateClientData_(CBasePlayer *pPlayer) if (bSend) { MESSAGE_BEGIN(MSG_ONE, gmsgCurWeapon, NULL, pPlayer->pev); - WRITE_BYTE(state); - WRITE_BYTE(m_iId); + WRITE_BYTE(state); + WRITE_BYTE(m_iId); WRITE_BYTE(m_iClip); MESSAGE_END(); @@ -803,25 +803,25 @@ int CBasePlayerWeapon::UpdateClientData_(CBasePlayer *pPlayer) if (m_pNext) m_pNext->UpdateClientData(pPlayer); - return 1; -} - -/* <1d22c7> ../cstrike/dlls/weapons.cpp:1218 */ -void CBasePlayerWeapon::SendWeaponAnim_(int iAnim, int skiplocal) + return 1; +} + +/* <1d22c7> ../cstrike/dlls/weapons.cpp:1218 */ +void CBasePlayerWeapon::SendWeaponAnim_(int iAnim, int skiplocal) { m_pPlayer->pev->weaponanim = iAnim; if (!skiplocal || !ENGINE_CANSKIP(ENT(m_pPlayer->pev))) { MESSAGE_BEGIN(MSG_ONE, SVC_WEAPONANIM, NULL, m_pPlayer->pev); - WRITE_BYTE(iAnim); + WRITE_BYTE(iAnim); WRITE_BYTE(pev->body); MESSAGE_END(); - } -} - -/* <1d3ad5> ../cstrike/dlls/weapons.cpp:1231 */ -BOOL CBasePlayerWeapon::AddPrimaryAmmo(int iCount, char *szName, int iMaxClip, int iMaxCarry) -{ + } +} + +/* <1d3ad5> ../cstrike/dlls/weapons.cpp:1231 */ +BOOL CBasePlayerWeapon::AddPrimaryAmmo(int iCount, char *szName, int iMaxClip, int iMaxCarry) +{ int iIdAmmo; if (iMaxClip < 1) { @@ -843,39 +843,39 @@ BOOL CBasePlayerWeapon::AddPrimaryAmmo(int iCount, char *szName, int iMaxClip, i if (m_pPlayer->HasPlayerItem(this)) EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM); } - return iIdAmmo > 0 ? TRUE : FALSE; -} - -/* <1d3cd7> ../cstrike/dlls/weapons.cpp:1267 */ -NOXREF BOOL CBasePlayerWeapon::AddSecondaryAmmo(int iCount, char *szName, int iMax) -{ + return iIdAmmo > 0 ? TRUE : FALSE; +} + +/* <1d3cd7> ../cstrike/dlls/weapons.cpp:1267 */ +NOXREF BOOL CBasePlayerWeapon::AddSecondaryAmmo(int iCount, char *szName, int iMax) +{ int iIdAmmo = m_pPlayer->GiveAmmo(iCount, szName, iMax); if (iIdAmmo > 0) { m_iSecondaryAmmoType = iIdAmmo; EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM); } - return iIdAmmo > 0 ? TRUE : FALSE; -} - -/* <1d19ba> ../cstrike/dlls/weapons.cpp:1287 */ -NOBODY BOOL CBasePlayerWeapon::IsUseable_(void) -{ -// iMaxAmmo1(CBasePlayerItem *const this); // 1291 - return FALSE; -} - -/* <1d19f4> ../cstrike/dlls/weapons.cpp:1301 */ -NOBODY BOOL CBasePlayerWeapon::CanDeploy_(void) -{ - return FALSE; -} - -/* <1d3d7a> ../cstrike/dlls/weapons.cpp:1306 */ -BOOL CBasePlayerWeapon::DefaultDeploy(char *szViewModel, char *szWeaponModel, int iAnim, char *szAnimExt, int skiplocal) -{ - if (!CanDeploy()) - return FALSE; + return iIdAmmo > 0 ? TRUE : FALSE; +} + +/* <1d19ba> ../cstrike/dlls/weapons.cpp:1287 */ +NOBODY BOOL CBasePlayerWeapon::IsUseable_(void) +{ +// iMaxAmmo1(CBasePlayerItem *const this); // 1291 + return FALSE; +} + +/* <1d19f4> ../cstrike/dlls/weapons.cpp:1301 */ +NOBODY BOOL CBasePlayerWeapon::CanDeploy_(void) +{ + return FALSE; +} + +/* <1d3d7a> ../cstrike/dlls/weapons.cpp:1306 */ +BOOL CBasePlayerWeapon::DefaultDeploy(char *szViewModel, char *szWeaponModel, int iAnim, char *szAnimExt, int skiplocal) +{ + if (!CanDeploy()) + return FALSE; m_pPlayer->TabulateAmmo(); m_pPlayer->pev->viewmodel = MAKE_STRING(szViewModel); @@ -894,16 +894,16 @@ BOOL CBasePlayerWeapon::DefaultDeploy(char *szViewModel, char *szWeaponModel, in m_pPlayer->m_bResumeZoom = false; m_pPlayer->m_iLastZoom = 90; - return TRUE; -} - -/* <1d3df3> ../cstrike/dlls/weapons.cpp:1333 */ -void CBasePlayerWeapon::ReloadSound(void) -{ - Vector newVector; - Vector origin; - CBaseEntity *pPlayer = NULL; - float distance; + return TRUE; +} + +/* <1d3df3> ../cstrike/dlls/weapons.cpp:1333 */ +void CBasePlayerWeapon::ReloadSound(void) +{ + Vector newVector; + Vector origin; + CBaseEntity *pPlayer = NULL; + float distance; m_pPlayer->pev->origin.CopyToArray(origin); @@ -928,12 +928,12 @@ void CBasePlayerWeapon::ReloadSound(void) WRITE_BYTE(1); MESSAGE_END(); } - } -} - -/* <1d3f0c> ../cstrike/dlls/weapons.cpp:1366 */ -int CBasePlayerWeapon::DefaultReload(int iClipSize, int iAnim, float fDelay) -{ + } +} + +/* <1d3f0c> ../cstrike/dlls/weapons.cpp:1366 */ +int CBasePlayerWeapon::DefaultReload(int iClipSize, int iAnim, float fDelay) +{ if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0) return FALSE; @@ -949,51 +949,51 @@ int CBasePlayerWeapon::DefaultReload(int iClipSize, int iAnim, float fDelay) m_fInReload = TRUE; m_flTimeWeaponIdle = fDelay + 0.5f; - return TRUE; -} - -/* <1d2607> ../cstrike/dlls/weapons.cpp:1389 */ -BOOL CBasePlayerWeapon::PlayEmptySound_(void) -{ - if(m_iPlayEmptySound) - { + return TRUE; +} + +/* <1d2607> ../cstrike/dlls/weapons.cpp:1389 */ +BOOL CBasePlayerWeapon::PlayEmptySound_(void) +{ + if (m_iPlayEmptySound) + { if (m_iId == WEAPON_USP || m_iId == WEAPON_GLOCK18 || m_iId == WEAPON_P228 || m_iId == WEAPON_DEAGLE || m_iId == WEAPON_ELITE || m_iId == WEAPON_FIVESEVEN) - EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/dryfire_pistol.wav", 0.8, ATTN_NORM); - else + EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/dryfire_pistol.wav", 0.8, ATTN_NORM); + else EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/dryfire_rifle.wav", 0.8, ATTN_NORM); } - return FALSE; -} - -/* <1d1a1c> ../cstrike/dlls/weapons.cpp:1414 */ -void CBasePlayerWeapon::ResetEmptySound_(void) -{ - m_iPlayEmptySound = 1; -} - -/* <1d1a44> ../cstrike/dlls/weapons.cpp:1421 */ -NOBODY int CBasePlayerWeapon::PrimaryAmmoIndex_(void) -{ - return 0; -} - -/* <1d1a6c> ../cstrike/dlls/weapons.cpp:1428 */ -NOBODY int CBasePlayerWeapon::SecondaryAmmoIndex_(void) -{ - return 0; -} - -/* <1d1a94> ../cstrike/dlls/weapons.cpp:1433 */ -void CBasePlayerWeapon::Holster_(int skiplocal) -{ + return FALSE; +} + +/* <1d1a1c> ../cstrike/dlls/weapons.cpp:1414 */ +void CBasePlayerWeapon::ResetEmptySound_(void) +{ + m_iPlayEmptySound = 1; +} + +/* <1d1a44> ../cstrike/dlls/weapons.cpp:1421 */ +NOBODY int CBasePlayerWeapon::PrimaryAmmoIndex_(void) +{ + return 0; +} + +/* <1d1a6c> ../cstrike/dlls/weapons.cpp:1428 */ +NOBODY int CBasePlayerWeapon::SecondaryAmmoIndex_(void) +{ + return 0; +} + +/* <1d1a94> ../cstrike/dlls/weapons.cpp:1433 */ +void CBasePlayerWeapon::Holster_(int skiplocal) +{ m_fInReload = 0; m_pPlayer->pev->viewmodel = 0; - m_pPlayer->pev->weaponmodel = 0; -} - -/* <1d20fb> ../cstrike/dlls/weapons.cpp:1440 */ -void CBasePlayerAmmo::Spawn_(void) -{ + m_pPlayer->pev->weaponmodel = 0; +} + +/* <1d20fb> ../cstrike/dlls/weapons.cpp:1440 */ +void CBasePlayerAmmo::Spawn_(void) +{ pev->movetype = MOVETYPE_TOSS; pev->solid = SOLID_TRIGGER; UTIL_SetSize(pev, Vector(-16, -16, 0), Vector(16, 16, 16)); @@ -1005,12 +1005,12 @@ void CBasePlayerAmmo::Spawn_(void) { SetThink(&CBaseEntity::SUB_Remove); pev->nextthink = gpGlobals->time + 2.0f; - } -} - -/* <1d1d10> ../cstrike/dlls/weapons.cpp:1458 */ -CBaseEntity *CBasePlayerAmmo::Respawn_(void) -{ + } +} + +/* <1d1d10> ../cstrike/dlls/weapons.cpp:1458 */ +CBaseEntity *CBasePlayerAmmo::Respawn_(void) +{ pev->effects |= EF_NODRAW; SetTouch(NULL); @@ -1018,12 +1018,12 @@ CBaseEntity *CBasePlayerAmmo::Respawn_(void) SetThink(&CBasePlayerAmmo::Materialize); pev->nextthink = g_pGameRules->FlAmmoRespawnTime(this); - return this; -} - -/* <1d1de0> ../cstrike/dlls/weapons.cpp:1471 */ -void CBasePlayerAmmo::Materialize(void) -{ + return this; +} + +/* <1d1de0> ../cstrike/dlls/weapons.cpp:1471 */ +void CBasePlayerAmmo::Materialize(void) +{ if (pev->effects & EF_NODRAW) { if (g_pGameRules->IsMultiplayer()) @@ -1032,12 +1032,12 @@ void CBasePlayerAmmo::Materialize(void) pev->effects &= ~EF_NODRAW; pev->effects |= EF_MUZZLEFLASH; } - SetTouch(&CBasePlayerAmmo::DefaultTouch); -} - -/* <1d1e94> ../cstrike/dlls/weapons.cpp:1488 */ -void CBasePlayerAmmo::DefaultTouch(CBaseEntity *pOther) -{ + SetTouch(&CBasePlayerAmmo::DefaultTouch); +} + +/* <1d1e94> ../cstrike/dlls/weapons.cpp:1488 */ +void CBasePlayerAmmo::DefaultTouch(CBaseEntity *pOther) +{ if (!pOther->IsPlayer()) return; @@ -1057,12 +1057,12 @@ void CBasePlayerAmmo::DefaultTouch(CBaseEntity *pOther) SetTouch(NULL); SetThink(&CBaseEntity::SUB_Remove); pev->nextthink = gpGlobals->time + 0.1f; - } -} - -/* <1d3bc3> ../cstrike/dlls/weapons.cpp:1525 */ -int CBasePlayerWeapon::ExtractAmmo_(CBasePlayerWeapon *pWeapon) -{ + } +} + +/* <1d3bc3> ../cstrike/dlls/weapons.cpp:1525 */ +int CBasePlayerWeapon::ExtractAmmo_(CBasePlayerWeapon *pWeapon) +{ int iReturn = 0; if (pszAmmo1()) { @@ -1072,125 +1072,125 @@ int CBasePlayerWeapon::ExtractAmmo_(CBasePlayerWeapon *pWeapon) if (pszAmmo2()) iReturn = AddSecondaryAmmo(0, (char *)pszAmmo2(), iMaxAmmo2()); - return iReturn; -} - -/* <1d1acc> ../cstrike/dlls/weapons.cpp:1548 */ -int CBasePlayerWeapon::ExtractClipAmmo_(CBasePlayerWeapon *pWeapon) -{ + return iReturn; +} + +/* <1d1acc> ../cstrike/dlls/weapons.cpp:1548 */ +int CBasePlayerWeapon::ExtractClipAmmo_(CBasePlayerWeapon *pWeapon) +{ int iAmmo; if (m_iClip == WEAPON_NOCLIP) iAmmo = 0; else iAmmo = m_iClip; - return pWeapon->m_pPlayer->GiveAmmo(iAmmo, (char *)pszAmmo1(), iMaxAmmo1()); -} - -/* <1d1b2e> ../cstrike/dlls/weapons.cpp:1567 */ -NOBODY void CBasePlayerWeapon::RetireWeapon_(void) -{ - -} - -// GetNextAttackDelay - An accurate way of calcualting the next attack time. - -/* <1d3f76> ../cstrike/dlls/weapons.cpp:1580 */ -float CBasePlayerWeapon::GetNextAttackDelay(float delay) -{ - if (m_flLastFireTime == 0.0f || m_flNextPrimaryAttack == -1.0f) - { - // At this point, we are assuming that the client has stopped firing - // and we are going to reset our book keeping variables. - m_flPrevPrimaryAttack = delay; - m_flLastFireTime = gpGlobals->time; - } - -#ifdef REGAMEDLL_BUILD_6153 - - // TODO: Build 6xxx - // at build 6153 beta this removed - // maybe it was initiated due to the delay of the shot - - // calculate the time between this shot and the previous - float flTimeBetweenFires = gpGlobals->time - m_flLastFireTime; - float flCreep = 0.0f; - - if (flTimeBetweenFires > 0.0f) - flCreep = flTimeBetweenFires - m_flPrevPrimaryAttack; - - float flNextAttack = delay - flCreep + 0.0f; -#else - float flNextAttack = delay + 0.0f; -#endif // REGAMEDLL_BUILD_6153 - - // save the last fire time - m_flLastFireTime = gpGlobals->time; - - // we need to remember what the m_flNextPrimaryAttack time is set to for each shot, - // store it as m_flPrevPrimaryAttack. - m_flPrevPrimaryAttack = flNextAttack; - - return flNextAttack; -} - -/* <1d3fe8> ../cstrike/dlls/weapons.cpp:1614 */ -LINK_ENTITY_TO_CLASS(weaponbox, CWeaponBox); - -/* <1d2002> ../cstrike/dlls/weapons.cpp:1624 */ -IMPLEMENT_SAVERESTORE(CWeaponBox, CBaseEntity); - -/* <1d1b57> ../cstrike/dlls/weapons.cpp:1629 */ -NOBODY void CWeaponBox::Precache_(void) -{ -} - -/* <1d2978> ../cstrike/dlls/weapons.cpp:1636 */ -NOBODY void CWeaponBox::KeyValue_(KeyValueData *pkvd) -{ -// KeyValue(CWeaponBox *const this, -// KeyValueData *pkvd); // 1636 -} - -/* <1d48ba> ../cstrike/dlls/weapons.cpp:1652 */ -void CWeaponBox::BombThink(void) -{ - if (!m_bIsBomb) - return; - - CBaseEntity *pEntity = NULL; + return pWeapon->m_pPlayer->GiveAmmo(iAmmo, (char *)pszAmmo1(), iMaxAmmo1()); +} + +/* <1d1b2e> ../cstrike/dlls/weapons.cpp:1567 */ +NOBODY void CBasePlayerWeapon::RetireWeapon_(void) +{ + +} + +// GetNextAttackDelay - An accurate way of calcualting the next attack time. + +/* <1d3f76> ../cstrike/dlls/weapons.cpp:1580 */ +float CBasePlayerWeapon::GetNextAttackDelay(float delay) +{ + if (m_flLastFireTime == 0.0f || m_flNextPrimaryAttack == -1.0f) + { + // At this point, we are assuming that the client has stopped firing + // and we are going to reset our book keeping variables. + m_flPrevPrimaryAttack = delay; + m_flLastFireTime = gpGlobals->time; + } + +#ifdef REGAMEDLL_BUILD_6153 + + // TODO: Build 6xxx + // at build 6153 beta this removed + // maybe it was initiated due to the delay of the shot + + // calculate the time between this shot and the previous + float flTimeBetweenFires = gpGlobals->time - m_flLastFireTime; + float flCreep = 0.0f; + + if (flTimeBetweenFires > 0.0f) + flCreep = flTimeBetweenFires - m_flPrevPrimaryAttack; + + float flNextAttack = delay - flCreep + 0.0f; +#else + float flNextAttack = delay + 0.0f; +#endif // REGAMEDLL_BUILD_6153 + + // save the last fire time + m_flLastFireTime = gpGlobals->time; + + // we need to remember what the m_flNextPrimaryAttack time is set to for each shot, + // store it as m_flPrevPrimaryAttack. + m_flPrevPrimaryAttack = flNextAttack; + + return flNextAttack; +} + +/* <1d3fe8> ../cstrike/dlls/weapons.cpp:1614 */ +LINK_ENTITY_TO_CLASS(weaponbox, CWeaponBox); + +/* <1d2002> ../cstrike/dlls/weapons.cpp:1624 */ +IMPLEMENT_SAVERESTORE(CWeaponBox, CBaseEntity); + +/* <1d1b57> ../cstrike/dlls/weapons.cpp:1629 */ +NOBODY void CWeaponBox::Precache_(void) +{ +} + +/* <1d2978> ../cstrike/dlls/weapons.cpp:1636 */ +NOBODY void CWeaponBox::KeyValue_(KeyValueData *pkvd) +{ +// KeyValue(CWeaponBox *const this, +// KeyValueData *pkvd); // 1636 +} + +/* <1d48ba> ../cstrike/dlls/weapons.cpp:1652 */ +void CWeaponBox::BombThink(void) +{ + if (!m_bIsBomb) + return; + + CBaseEntity *pEntity = NULL; while ((pEntity = UTIL_FindEntityByClassname(pEntity, "player")) != NULL) - { + { if (FNullEnt(pEntity->edict())) - break; - + break; + if (!pEntity->IsPlayer() || pEntity->IsDormant()) - continue; - - CBasePlayer *pTempPlayer = GetClassPtr((CBasePlayer *)pEntity->pev); - - if (pTempPlayer->pev->deadflag == DEAD_NO && pTempPlayer->m_iTeam == TERRORIST) - { + continue; + + CBasePlayer *pTempPlayer = GetClassPtr((CBasePlayer *)pEntity->pev); + + if (pTempPlayer->pev->deadflag == DEAD_NO && pTempPlayer->m_iTeam == TERRORIST) + { MESSAGE_BEGIN(MSG_ONE, gmsgBombDrop, NULL, pTempPlayer->edict()); - WRITE_COORD(pev->origin.x); - WRITE_COORD(pev->origin.y); - WRITE_COORD(pev->origin.z); + WRITE_COORD(pev->origin.x); + WRITE_COORD(pev->origin.y); + WRITE_COORD(pev->origin.z); WRITE_BYTE(0); - MESSAGE_END(); - } - } - - pev->nextthink = gpGlobals->time + 1; -} - -/* <1d1ce7> ../cstrike/dlls/weapons.cpp:1687 */ -NOBODY void CWeaponBox::Spawn_(void) -{ -} - -/* <1d40c4> ../cstrike/dlls/weapons.cpp:1704 */ -void CWeaponBox::Kill(void) -{ + MESSAGE_END(); + } + } + + pev->nextthink = gpGlobals->time + 1; +} + +/* <1d1ce7> ../cstrike/dlls/weapons.cpp:1687 */ +NOBODY void CWeaponBox::Spawn_(void) +{ +} + +/* <1d40c4> ../cstrike/dlls/weapons.cpp:1704 */ +void CWeaponBox::Kill(void) +{ for (int i = 0; i < MAX_ITEM_TYPES; i++) { CBasePlayerItem *pWeapon = m_rgpPlayerItems[i]; @@ -1202,43 +1202,43 @@ void CWeaponBox::Kill(void) pWeapon = pWeapon->m_pNext; } } - UTIL_Remove(this); -} - -/* <1d0640> ../cstrike/dlls/weapons.cpp:1732 */ -NOBODY void CWeaponBox::Touch_(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *pPlayer; // 1751 -// int i; // 1769 -// bool bRemove; // 1770 -// bool bEmitSound; // 1771 -// { -// class CBasePlayerItem *pItem; // 1779 -// { -// class CCSBotManager *ctrl; // 1795 -// } -// { -// class CBaseEntity *pEntity; // 1839 -// class CBasePlayer *pTempPlayer; // 1840 -// class CCSBotManager *csBots; // 1864 -// } -// { -// class CBasePlayerWeapon *pGrenade; // 1881 -// int playerGrenades; // 1889 -// int maxGrenades; // 1890 -// const char *grenadeName; // 1891 -// } -// } -// { -// int n; // 1951 -// } -// } -} - -/* <1d4148> ../cstrike/dlls/weapons.cpp:1981 */ -BOOL CWeaponBox::PackWeapon(CBasePlayerItem *pWeapon) -{ + UTIL_Remove(this); +} + +/* <1d0640> ../cstrike/dlls/weapons.cpp:1732 */ +NOBODY void CWeaponBox::Touch_(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *pPlayer; // 1751 +// int i; // 1769 +// bool bRemove; // 1770 +// bool bEmitSound; // 1771 +// { +// class CBasePlayerItem *pItem; // 1779 +// { +// class CCSBotManager *ctrl; // 1795 +// } +// { +// class CBaseEntity *pEntity; // 1839 +// class CBasePlayer *pTempPlayer; // 1840 +// class CCSBotManager *csBots; // 1864 +// } +// { +// class CBasePlayerWeapon *pGrenade; // 1881 +// int playerGrenades; // 1889 +// int maxGrenades; // 1890 +// const char *grenadeName; // 1891 +// } +// } +// { +// int n; // 1951 +// } +// } +} + +/* <1d4148> ../cstrike/dlls/weapons.cpp:1981 */ +BOOL CWeaponBox::PackWeapon(CBasePlayerItem *pWeapon) +{ if (HasWeapon(pWeapon)) return FALSE; @@ -1274,12 +1274,12 @@ BOOL CWeaponBox::PackWeapon(CBasePlayerItem *pWeapon) pWeapon->SetTouch(NULL); pWeapon->m_pPlayer = NULL; - return TRUE; -} - -/* <1d4224> ../cstrike/dlls/weapons.cpp:2036 */ -int CWeaponBox::PackAmmo(int iszName, int iCount) -{ + return TRUE; +} + +/* <1d4224> ../cstrike/dlls/weapons.cpp:2036 */ +int CWeaponBox::PackAmmo(int iszName, int iCount) +{ if (!iszName) { ALERT(at_console, "NULL String in PackAmmo!\n"); @@ -1293,17 +1293,17 @@ int CWeaponBox::PackAmmo(int iszName, int iCount) return TRUE; } - return FALSE; -} - -/* <1d426b> ../cstrike/dlls/weapons.cpp:2061 */ -int CWeaponBox::GiveAmmo(int iCount, char *szName, int iMax, int *pIndex) -{ - int i = 1; - for (; i < MAX_AMMO_SLOTS && m_rgiszAmmo[i] != 0; i++) - { + return FALSE; +} + +/* <1d426b> ../cstrike/dlls/weapons.cpp:2061 */ +int CWeaponBox::GiveAmmo(int iCount, char *szName, int iMax, int *pIndex) +{ + int i = 1; + for (; i < MAX_AMMO_SLOTS && m_rgiszAmmo[i] != 0; i++) + { if (!Q_stricmp(szName, STRING(m_rgiszAmmo[i]))) - { + { if (pIndex) *pIndex = i; @@ -1313,28 +1313,28 @@ int CWeaponBox::GiveAmmo(int iCount, char *szName, int iMax, int *pIndex) m_rgAmmo[i] += iAdd; return i; } - return -1; - } - } - + return -1; + } + } + if (i < MAX_AMMO_SLOTS) - { + { if (pIndex) *pIndex = i; m_rgiszAmmo[i] = MAKE_STRING(szName); m_rgAmmo[i] = iCount; - return i; - } - + return i; + } + ALERT(at_console, "out of named ammo slots\n"); - return i; -} - -/* <1d42d5> ../cstrike/dlls/weapons.cpp:2100 */ -BOOL CWeaponBox::HasWeapon(CBasePlayerItem *pCheckItem) -{ + return i; +} + +/* <1d42d5> ../cstrike/dlls/weapons.cpp:2100 */ +BOOL CWeaponBox::HasWeapon(CBasePlayerItem *pCheckItem) +{ CBasePlayerItem *pItem = m_rgpPlayerItems[pCheckItem->iItemSlot()]; while (pItem) { @@ -1343,12 +1343,12 @@ BOOL CWeaponBox::HasWeapon(CBasePlayerItem *pCheckItem) pItem = pItem->m_pNext; } - return FALSE; -} - -/* <1d4354> ../cstrike/dlls/weapons.cpp:2119 */ -BOOL CWeaponBox::IsEmpty(void) -{ + return FALSE; +} + +/* <1d4354> ../cstrike/dlls/weapons.cpp:2119 */ +BOOL CWeaponBox::IsEmpty(void) +{ int i; for (i = 0; i < MAX_ITEM_TYPES; i++) { @@ -1361,254 +1361,254 @@ BOOL CWeaponBox::IsEmpty(void) if (m_rgiszAmmo[i]) return FALSE; } - return TRUE; -} - -/* <1d1b7f> ../cstrike/dlls/weapons.cpp:2145 */ -NOBODY void CWeaponBox::SetObjectCollisionBox_(void) -{ -// operator+(const Vector ::SetObjectCollisionBox(// const Vector &v); // 2147 -// operator+(const Vector *const this, -// const Vector &v); // 2148 -} - -/* <1d1d39> ../cstrike/dlls/weapons.cpp:2167 */ -NOBODY void CArmoury::Spawn(void) -{ -// Vector(Vector::Spawn(// float X, -// float Y, -// float Z); // 2172 -// Vector(Vector *const this, -// float X, -// float Y, -// float Z); // 2172 -} - -/* <1d1bfb> ../cstrike/dlls/weapons.cpp:2207 */ -NOBODY void CArmoury::Restart(void) -{ -// { -// class CHalfLifeMultiplay *mp; // 2209 -// { -// float flRatio; // 2257 -// } -// { -// float flRatio; // 2239 -// } -// { -// float flRatio; // 2221 -// } -// } -} - -/* <1d1ee9> ../cstrike/dlls/weapons.cpp:2268 */ -NOBODY void CArmoury::Precache(void) -{ -// Precache(CArmoury *const this); // 2268 -} - -/* <1d1f2f> ../cstrike/dlls/weapons.cpp:2294 */ -NOBODY void CArmoury::ArmouryTouch(CBaseEntity *pOther) -{ -// { -// class CBasePlayer *p; // 2299 -// } -// ArmouryTouch(CArmoury *const this, -// class CBaseEntity *pOther); // 2294 -} - -/* <1d21bd> ../cstrike/dlls/weapons.cpp:2352 */ -NOBODY void CArmoury::KeyValue(KeyValueData *pkvd) -{ -// FStrEq(const char *sz1, -// const char *sz2); // 2354 -// FStrEq(const char *sz1, -// const char *sz2); // 2359 -// KeyValue(CBaseEntity *const this, -// KeyValueData *pkvd); // 2364 -// atoi(const char *__nptr); // 2356 -// KeyValue(CArmoury *const this, -// KeyValueData *pkvd); // 2352 -} - -/* <1d4392> ../cstrike/dlls/weapons.cpp:2368 */ -LINK_ENTITY_TO_CLASS(armoury_entity, CArmoury); - -#ifdef HOOK_GAMEDLL - -void CBasePlayerAmmo::Spawn(void) -{ - Spawn_(); -} - -CBaseEntity *CBasePlayerAmmo::Respawn(void) -{ - return Respawn_(); -} - -int CBasePlayerWeapon::Save(CSave &save) -{ - return Save_(save); -} - -int CBasePlayerWeapon::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -int CBasePlayerWeapon::AddToPlayer(CBasePlayer *pPlayer) -{ - return AddToPlayer_(pPlayer); -} - -int CBasePlayerWeapon::AddDuplicate(CBasePlayerItem *pItem) -{ - return AddDuplicate_(pItem); -} - -BOOL CBasePlayerWeapon::CanDeploy(void) -{ - return CanDeploy_(); -} - -void CBasePlayerWeapon::Holster(int skiplocal) -{ - Holster_(skiplocal); -} - -void CBasePlayerWeapon::ItemPostFrame(void) -{ - ItemPostFrame_(); -} - -int CBasePlayerWeapon::PrimaryAmmoIndex(void) -{ - return PrimaryAmmoIndex_(); -} - -int CBasePlayerWeapon::SecondaryAmmoIndex(void) -{ - return SecondaryAmmoIndex_(); -} - -int CBasePlayerWeapon::UpdateClientData(CBasePlayer *pPlayer) -{ - return UpdateClientData_(pPlayer); -} - -int CBasePlayerWeapon::ExtractAmmo(CBasePlayerWeapon *pWeapon) -{ - return ExtractAmmo_(pWeapon); -} - -int CBasePlayerWeapon::ExtractClipAmmo(CBasePlayerWeapon *pWeapon) -{ - return ExtractClipAmmo_(pWeapon); -} - -BOOL CBasePlayerWeapon::PlayEmptySound(void) -{ - return PlayEmptySound_(); -} - -void CBasePlayerWeapon::ResetEmptySound(void) -{ - ResetEmptySound_(); -} - -void CBasePlayerWeapon::SendWeaponAnim(int iAnim,int skiplocal) -{ - SendWeaponAnim_(iAnim,skiplocal); -} - -BOOL CBasePlayerWeapon::IsUseable(void) -{ - return IsUseable_(); -} - -void CBasePlayerWeapon::RetireWeapon(void) -{ - RetireWeapon_(); -} - -int CBasePlayerItem::Save(CSave &save) -{ - return Save_(save); -} - -int CBasePlayerItem::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CBasePlayerItem::SetObjectCollisionBox(void) -{ - SetObjectCollisionBox_(); -} - -CBaseEntity *CBasePlayerItem::Respawn(void) -{ - return Respawn_(); -} - -int CBasePlayerItem::AddToPlayer(CBasePlayer *pPlayer) -{ - return AddToPlayer_(pPlayer); -} - -void CBasePlayerItem::Holster(int skiplocal) -{ - Holster_(skiplocal); -} - -void CBasePlayerItem::Drop(void) -{ - Drop_(); -} - -void CBasePlayerItem::Kill(void) -{ - Kill_(); -} - -void CBasePlayerItem::AttachToPlayer(CBasePlayer *pPlayer) -{ - AttachToPlayer_(pPlayer); -} - -void CWeaponBox::Spawn(void) -{ - Spawn_(); -} - -void CWeaponBox::Precache(void) -{ - Precache_(); -} - -void CWeaponBox::KeyValue(KeyValueData *pkvd) -{ - KeyValue_(pkvd); -} - + return TRUE; +} + +/* <1d1b7f> ../cstrike/dlls/weapons.cpp:2145 */ +NOBODY void CWeaponBox::SetObjectCollisionBox_(void) +{ +// operator+(const Vector ::SetObjectCollisionBox(// const Vector &v); // 2147 +// operator+(const Vector *const this, +// const Vector &v); // 2148 +} + +/* <1d1d39> ../cstrike/dlls/weapons.cpp:2167 */ +NOBODY void CArmoury::Spawn(void) +{ +// Vector(Vector::Spawn(// float X, +// float Y, +// float Z); // 2172 +// Vector(Vector *const this, +// float X, +// float Y, +// float Z); // 2172 +} + +/* <1d1bfb> ../cstrike/dlls/weapons.cpp:2207 */ +NOBODY void CArmoury::Restart(void) +{ +// { +// class CHalfLifeMultiplay *mp; // 2209 +// { +// float flRatio; // 2257 +// } +// { +// float flRatio; // 2239 +// } +// { +// float flRatio; // 2221 +// } +// } +} + +/* <1d1ee9> ../cstrike/dlls/weapons.cpp:2268 */ +NOBODY void CArmoury::Precache(void) +{ +// Precache(CArmoury *const this); // 2268 +} + +/* <1d1f2f> ../cstrike/dlls/weapons.cpp:2294 */ +NOBODY void CArmoury::ArmouryTouch(CBaseEntity *pOther) +{ +// { +// class CBasePlayer *p; // 2299 +// } +// ArmouryTouch(CArmoury *const this, +// class CBaseEntity *pOther); // 2294 +} + +/* <1d21bd> ../cstrike/dlls/weapons.cpp:2352 */ +NOBODY void CArmoury::KeyValue(KeyValueData *pkvd) +{ +// FStrEq(const char *sz1, +// const char *sz2); // 2354 +// FStrEq(const char *sz1, +// const char *sz2); // 2359 +// KeyValue(CBaseEntity *const this, +// KeyValueData *pkvd); // 2364 +// atoi(const char *__nptr); // 2356 +// KeyValue(CArmoury *const this, +// KeyValueData *pkvd); // 2352 +} + +/* <1d4392> ../cstrike/dlls/weapons.cpp:2368 */ +LINK_ENTITY_TO_CLASS(armoury_entity, CArmoury); + +#ifdef HOOK_GAMEDLL + +void CBasePlayerAmmo::Spawn(void) +{ + Spawn_(); +} + +CBaseEntity *CBasePlayerAmmo::Respawn(void) +{ + return Respawn_(); +} + +int CBasePlayerWeapon::Save(CSave &save) +{ + return Save_(save); +} + +int CBasePlayerWeapon::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +int CBasePlayerWeapon::AddToPlayer(CBasePlayer *pPlayer) +{ + return AddToPlayer_(pPlayer); +} + +int CBasePlayerWeapon::AddDuplicate(CBasePlayerItem *pItem) +{ + return AddDuplicate_(pItem); +} + +BOOL CBasePlayerWeapon::CanDeploy(void) +{ + return CanDeploy_(); +} + +void CBasePlayerWeapon::Holster(int skiplocal) +{ + Holster_(skiplocal); +} + +void CBasePlayerWeapon::ItemPostFrame(void) +{ + ItemPostFrame_(); +} + +int CBasePlayerWeapon::PrimaryAmmoIndex(void) +{ + return PrimaryAmmoIndex_(); +} + +int CBasePlayerWeapon::SecondaryAmmoIndex(void) +{ + return SecondaryAmmoIndex_(); +} + +int CBasePlayerWeapon::UpdateClientData(CBasePlayer *pPlayer) +{ + return UpdateClientData_(pPlayer); +} + +int CBasePlayerWeapon::ExtractAmmo(CBasePlayerWeapon *pWeapon) +{ + return ExtractAmmo_(pWeapon); +} + +int CBasePlayerWeapon::ExtractClipAmmo(CBasePlayerWeapon *pWeapon) +{ + return ExtractClipAmmo_(pWeapon); +} + +BOOL CBasePlayerWeapon::PlayEmptySound(void) +{ + return PlayEmptySound_(); +} + +void CBasePlayerWeapon::ResetEmptySound(void) +{ + ResetEmptySound_(); +} + +void CBasePlayerWeapon::SendWeaponAnim(int iAnim,int skiplocal) +{ + SendWeaponAnim_(iAnim,skiplocal); +} + +BOOL CBasePlayerWeapon::IsUseable(void) +{ + return IsUseable_(); +} + +void CBasePlayerWeapon::RetireWeapon(void) +{ + RetireWeapon_(); +} + +int CBasePlayerItem::Save(CSave &save) +{ + return Save_(save); +} + +int CBasePlayerItem::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CBasePlayerItem::SetObjectCollisionBox(void) +{ + SetObjectCollisionBox_(); +} + +CBaseEntity *CBasePlayerItem::Respawn(void) +{ + return Respawn_(); +} + +int CBasePlayerItem::AddToPlayer(CBasePlayer *pPlayer) +{ + return AddToPlayer_(pPlayer); +} + +void CBasePlayerItem::Holster(int skiplocal) +{ + Holster_(skiplocal); +} + +void CBasePlayerItem::Drop(void) +{ + Drop_(); +} + +void CBasePlayerItem::Kill(void) +{ + Kill_(); +} + +void CBasePlayerItem::AttachToPlayer(CBasePlayer *pPlayer) +{ + AttachToPlayer_(pPlayer); +} + +void CWeaponBox::Spawn(void) +{ + Spawn_(); +} + +void CWeaponBox::Precache(void) +{ + Precache_(); +} + +void CWeaponBox::KeyValue(KeyValueData *pkvd) +{ + KeyValue_(pkvd); +} + int CWeaponBox::Save(CSave &save) { return Save_(save); } -int CWeaponBox::Restore(CRestore &restore) -{ - return Restore_(restore); -} - -void CWeaponBox::SetObjectCollisionBox(void) -{ - SetObjectCollisionBox_(); -} - -void CWeaponBox::Touch(CBaseEntity *pOther) -{ - Touch_(pOther); -} - -#endif // HOOK_GAMEDLL +int CWeaponBox::Restore(CRestore &restore) +{ + return Restore_(restore); +} + +void CWeaponBox::SetObjectCollisionBox(void) +{ + SetObjectCollisionBox_(); +} + +void CWeaponBox::Touch(CBaseEntity *pOther) +{ + Touch_(pOther); +} + +#endif // HOOK_GAMEDLL diff --git a/regamedll/engine/unicode_strtools.cpp b/regamedll/engine/unicode_strtools.cpp index 1fa58412..39cf86ae 100644 --- a/regamedll/engine/unicode_strtools.cpp +++ b/regamedll/engine/unicode_strtools.cpp @@ -497,7 +497,7 @@ uchar16 *StripUnprintableWorker(uchar16 *pwch, bool *pbStrippedAny) uchar16 *pwchDest = pwch; *pbStrippedAny = 0; - while(*pwchSource) + while (*pwchSource) { uchar16 cc = *pwchSource; if (*pwchSource >= 0x20u && !Q_IsUnprintableW(cc) && cc != 0x2026) diff --git a/regamedll/game_shared/bitvec.h b/regamedll/game_shared/bitvec.h index 3b594f53..d02e3f62 100644 --- a/regamedll/game_shared/bitvec.h +++ b/regamedll/game_shared/bitvec.h @@ -95,7 +95,7 @@ inline CBitVecAccessor::CBitVecAccessor(uint32 *pDWords, int iBit) /* <2d37d7> ../game_shared/bitvec.h:80 */ inline void CBitVecAccessor::operator=(int val) { - if(val) + if (val) m_pDWords[m_iBit >> 5] |= (1 << (m_iBit & 31)); else m_pDWords[m_iBit >> 5] &= ~(uint32)(1 << (m_iBit & 31)); @@ -118,7 +118,7 @@ inline int CBitVec::GetNumBits() template inline CBitVec::CBitVec() { - for(int i = 0; i < NUM_DWORDS; i++) + for (int i = 0; i < NUM_DWORDS; i++) m_DWords[i] = 0; } @@ -126,7 +126,7 @@ inline CBitVec::CBitVec() template inline void CBitVec::Init(int val) { - for(int i = 0; i < GetNumBits(); i++) + for (int i = 0; i < GetNumBits(); i++) { (*this)[i] = val; } @@ -152,8 +152,8 @@ inline CBitVecAccessor CBitVec::operator[](int i) template inline bool CBitVec::operator==(CBitVec const &other) { - for(int i = 0; i < NUM_DWORDS; i++) - if(m_DWords[i] != other.m_DWords[i]) + for (int i = 0; i < NUM_DWORDS; i++) + if (m_DWords[i] != other.m_DWords[i]) return false; return true; diff --git a/regamedll/game_shared/bot/bot_manager.cpp b/regamedll/game_shared/bot/bot_manager.cpp index 8678483a..1ef7c868 100644 --- a/regamedll/game_shared/bot/bot_manager.cpp +++ b/regamedll/game_shared/bot/bot_manager.cpp @@ -29,7 +29,7 @@ const float smokeRadius = 115.0f; ///< for smoke grenades /* <49f6d7> ../game_shared/bot/bot_manager.cpp:58 */ NOBODY GameEventType NameToGameEvent(const char *name) { - /*for(int i=0; GameEventName[i]; ++i) + /*for (int i=0; GameEventName[i]; ++i) if (!Q_stricmp(GameEventName[i], name)) return static_cast(i);*/ @@ -58,7 +58,7 @@ void CBotManager::StartFrame_(void) Vector edge, lastEdge; ActiveGrenadeList::iterator iter = m_activeGrenadeList.begin(); - while(iter != m_activeGrenadeList.end()) + while (iter != m_activeGrenadeList.end()) { ActiveGrenade *ag = *iter; @@ -78,7 +78,7 @@ void CBotManager::StartFrame_(void) lastEdge = Vector(smokeRadius + pos->x, pos->y, pos->z); float angle; - for(angle = 0.0f; angle <= 180.0f; angle += 22.5f) + for (angle = 0.0f; angle <= 180.0f; angle += 22.5f) { edge.x = smokeRadius * BotCOS(angle) + pos->x; edge.y = pos->y; @@ -90,7 +90,7 @@ void CBotManager::StartFrame_(void) } lastEdge = Vector(pos->x, smokeRadius + pos->y, pos->z); - for(angle = 0.0f; angle <= 180.0f; angle += 22.5f) + for (angle = 0.0f; angle <= 180.0f; angle += 22.5f) { edge.x = pos->x; edge.y = smokeRadius * BotCOS(angle) + pos->y; @@ -174,7 +174,7 @@ void CBotManager::AddGrenade(int type, CGrenade *grenade) /* <49f95a> ../game_shared/bot/bot_manager.cpp:267 */ void CBotManager::RemoveGrenade(CGrenade *grenade) { - for(ActiveGrenadeList::iterator iter = m_activeGrenadeList.begin(); iter != m_activeGrenadeList.end(); ++iter) + for (ActiveGrenadeList::iterator iter = m_activeGrenadeList.begin(); iter != m_activeGrenadeList.end(); ++iter) { ActiveGrenade *ag = *iter; @@ -253,7 +253,7 @@ bool CBotManager::IsLineBlockedBySmoke(const Vector *from, const Vector *to) float sightLength = sightDir.NormalizeInPlace(); ActiveGrenadeList::iterator iter = m_activeGrenadeList.begin(); - while(iter != m_activeGrenadeList.end()) + while (iter != m_activeGrenadeList.end()) { ActiveGrenade *ag = *iter; diff --git a/regamedll/game_shared/bot/bot_profile.h b/regamedll/game_shared/bot/bot_profile.h index 4632e6c1..cfa873e2 100644 --- a/regamedll/game_shared/bot/bot_profile.h +++ b/regamedll/game_shared/bot/bot_profile.h @@ -183,7 +183,7 @@ inline void BotProfile::Inherit(const BotProfile *parent, const BotProfile *base if (parent->m_weaponPreferenceCount != baseline->m_weaponPreferenceCount) { m_weaponPreferenceCount = parent->m_weaponPreferenceCount; - for(int i = 0; im_weaponPreferenceCount; i++) + for (int i = 0; im_weaponPreferenceCount; i++) m_weaponPreference[i] = parent->m_weaponPreference[i]; } diff --git a/regamedll/game_shared/bot/bot_util.cpp b/regamedll/game_shared/bot/bot_util.cpp index 78462f03..23fbcc42 100644 --- a/regamedll/game_shared/bot/bot_util.cpp +++ b/regamedll/game_shared/bot/bot_util.cpp @@ -253,7 +253,7 @@ NOBODY bool UTIL_KickBotFromTeam(TeamName kickTeam) NOBODY bool UTIL_IsTeamAllBots(int team) { int botCount = 0; - for(int i=1; i <= gpGlobals->maxClients; ++i) + for (int i=1; i <= gpGlobals->maxClients; ++i) { CBasePlayer *player = static_cast(UTIL_PlayerByIndex(i)); @@ -365,7 +365,7 @@ NOBODY void UTIL_ConstructBotNetName(char *name, int nameLength, const BotProfil /* <4adb6c> ../game_shared/bot/bot_util.cpp:440 */ NOBODY bool UTIL_IsVisibleToTeam(const Vector &spot, int team, float maxRange) { - for(int i = 1; i <= gpGlobals->maxClients; ++i) + for (int i = 1; i <= gpGlobals->maxClients; ++i) { CBasePlayer *player = static_cast(UTIL_PlayerByIndex(i)); @@ -529,7 +529,7 @@ void BotPrecache(void) /* <4ae1b1> ../game_shared/bot/bot_util.cpp:666 */ void InitBotTrig(void) { - for(int i = 0; i < COS_TABLE_SIZE; i++) + for (int i = 0; i < COS_TABLE_SIZE; i++) { float_precision angle = 2.0f * M_PI * (float)i / (float)(COS_TABLE_SIZE - 1); cosTable[i] = cos( angle ); diff --git a/regamedll/game_shared/bot/bot_util.h b/regamedll/game_shared/bot/bot_util.h index 0b89a88b..979c4f6b 100644 --- a/regamedll/game_shared/bot/bot_util.h +++ b/regamedll/game_shared/bot/bot_util.h @@ -142,16 +142,16 @@ private: /* <14ed68> ../game_shared/bot/bot_util.h:224 */ inline bool IsEntityValid(CBaseEntity *entity) { - if(entity == NULL) + if (entity == NULL) return false; - if(FNullEnt(entity->pev)) + if (FNullEnt(entity->pev)) return false; - if(FStrEq(STRING(entity->pev->netname), "")) + if (FStrEq(STRING(entity->pev->netname), "")) return false; - if(entity->pev->flags & FL_DORMANT) + if (entity->pev->flags & FL_DORMANT) return false; return true; @@ -198,16 +198,16 @@ template < > bool ForEachPlayer(Functor &func) { - for(int i = 1; i <= gpGlobals->maxClients; i++) + for (int i = 1; i <= gpGlobals->maxClients; i++) { CBasePlayer *player = static_cast(UTIL_PlayerByIndex(i)); - if(!IsEntityValid((CBaseEntity *)player)) + if (!IsEntityValid((CBaseEntity *)player)) continue; - if(!player->IsPlayer()) + if (!player->IsPlayer()) continue; - if(func(player) == false) + if (func(player) == false) return false; } return true; diff --git a/regamedll/game_shared/bot/nav.h b/regamedll/game_shared/bot/nav.h index c0db418f..ead1df0a 100644 --- a/regamedll/game_shared/bot/nav.h +++ b/regamedll/game_shared/bot/nav.h @@ -407,7 +407,7 @@ inline bool IsWalkableTraceLineClear(Vector &from, Vector &to, unsigned int flag edict_t *ignore = NULL; Vector useFrom = from; - while(true) + while (true) { UTIL_TraceLine(useFrom, to, ignore_monsters, ignore, &result); diff --git a/regamedll/game_shared/bot/nav_area.h b/regamedll/game_shared/bot/nav_area.h index 254702e3..b7a702cd 100644 --- a/regamedll/game_shared/bot/nav_area.h +++ b/regamedll/game_shared/bot/nav_area.h @@ -638,7 +638,7 @@ inline bool CNavArea::IsDegenerate(void) const inline CNavArea *CNavArea::GetAdjacentArea(NavDirType dir, int i) const { NavConnectList::const_iterator iter; - for(iter = m_connect[dir].begin(); iter != m_connect[dir].end(); ++iter) + for (iter = m_connect[dir].begin(); iter != m_connect[dir].end(); ++iter) { if (i == 0) return (*iter).area; @@ -846,7 +846,7 @@ bool NavAreaBuildPath(CNavArea *startArea, CNavArea *goalArea, const Vector *goa *closestArea = startArea; float closestAreaDist = startArea->GetTotalCost(); - while(!CNavArea::IsOpenListEmpty()) + while (!CNavArea::IsOpenListEmpty()) { CNavArea *area = CNavArea::PopOpenList(); if (area == goalArea) @@ -875,7 +875,7 @@ bool NavAreaBuildPath(CNavArea *startArea, CNavArea *goalArea, const Vector *goa }; int ladderTopDir; - while(true) + while (true) { CNavArea *newArea; NavTraverseType how; @@ -1014,7 +1014,7 @@ float NavAreaTravelDistance(CNavArea *startArea, CNavArea *endArea, CostFunctor return -1.0f; float distance = 0.0f; - for(CNavArea *area = endArea; area->GetParent(); area = area->GetParent()) + for (CNavArea *area = endArea; area->GetParent(); area = area->GetParent()) { distance += (*area->GetCenter() - *area->GetParent()->GetCenter()).Length(); } @@ -1043,7 +1043,7 @@ float NavAreaTravelDistance(const Vector *startPos, CNavArea *startArea, const V CNavArea *area = goalArea->GetParent(); float distance = (*goalPos - *area->GetCenter()).Length(); - for(; area->GetParent(); area = area->GetParent()) + for (; area->GetParent(); area = area->GetParent()) { distance += (*area->GetCenter() - *area->GetParent()->GetCenter()).Length(); } @@ -1098,16 +1098,16 @@ void SearchSurroundingAreas(CNavArea *startArea, const Vector *startPos, Functor startArea->SetParent(NULL); startArea->Mark(); - while(!CNavArea::IsOpenListEmpty()) + while (!CNavArea::IsOpenListEmpty()) { CNavArea *area = CNavArea::PopOpenList(); if (func(area)) { - for(int dir = 0; dir < NUM_DIRECTIONS; ++dir) + for (int dir = 0; dir < NUM_DIRECTIONS; ++dir) { int count = area->GetAdjacentCount((NavDirType)dir); - for(int i = 0; i < count; ++i) + for (int i = 0; i < count; ++i) { CNavArea *adjArea = area->GetAdjacentArea((NavDirType)dir, i); AddAreaToOpenList(adjArea, area, startPos, maxRange); @@ -1118,7 +1118,7 @@ void SearchSurroundingAreas(CNavArea *startArea, const Vector *startPos, Functor const NavLadderList *ladderList = area->GetLadderList(LADDER_UP); if (ladderList) { - for(ladderIt = ladderList->begin(); ladderIt != ladderList->end(); ++ladderIt) + for (ladderIt = ladderList->begin(); ladderIt != ladderList->end(); ++ladderIt) { const CNavLadder *ladder = *ladderIt; if (ladder->m_isDangling) @@ -1134,7 +1134,7 @@ void SearchSurroundingAreas(CNavArea *startArea, const Vector *startPos, Functor ladderList = area->GetLadderList(LADDER_DOWN); if (ladderList) { - for(ladderIt = ladderList->begin(); ladderIt != ladderList->end(); ++ladderIt) + for (ladderIt = ladderList->begin(); ladderIt != ladderList->end(); ++ladderIt) { const CNavLadder *ladder = *ladderIt; AddAreaToOpenList(ladder->m_bottomArea, area, startPos, maxRange); @@ -1149,7 +1149,7 @@ template void ForAllAreas(Functor &func) { NavAreaList::iterator iter; - for(iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) + for (iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) { CNavArea *area = *iter; func(area); @@ -1190,7 +1190,7 @@ CNavArea *FindMinimumCostArea(CNavArea *startArea, CostFunctor &costFunc) int cheapAreaSetCount = 0; NavAreaList::iterator iter; - for(iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) + for (iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) { CNavArea *area = *iter; const Extent *extent = area->GetExtent(); @@ -1206,7 +1206,7 @@ CNavArea *FindMinimumCostArea(CNavArea *startArea, CostFunctor &costFunc) else { int expensive = 0; - for(int i = 1; i < NUM_CHEAP_AREAS; i++) + for (int i = 1; i < NUM_CHEAP_AREAS; i++) if (cheapAreaSet[i].cost > cheapAreaSet[expensive].cost) expensive = i; @@ -1227,7 +1227,7 @@ CNavArea *FindMinimumCostArea(CNavArea *startArea, CostFunctor &costFunc) int which = RANDOM_LONG(0, numAreas-1); NavAreaList::iterator iter; - for(iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) + for (iter = TheNavAreaList.begin(); iter != TheNavAreaList.end(); ++iter) if (which-- == 0) break; diff --git a/regamedll/game_shared/perf_counter.h b/regamedll/game_shared/perf_counter.h index 151197e1..5cfa6ec4 100644 --- a/regamedll/game_shared/perf_counter.h +++ b/regamedll/game_shared/perf_counter.h @@ -90,7 +90,7 @@ inline void CPerformanceCounter::InitializePerformanceCounter(void) highpart = (unsigned int)performanceFreq.HighPart; m_iLowShift = 0; - while(highpart || (lowpart > 2000000.0)) + while (highpart || (lowpart > 2000000.0)) { m_iLowShift++; lowpart >>= 1; @@ -116,7 +116,7 @@ inline double CPerformanceCounter::GetCurTime(void) LARGE_INTEGER PerformanceCount; QueryPerformanceCounter(&PerformanceCount); - if(!m_iLowShift) + if (!m_iLowShift) temp = (unsigned int)PerformanceCount.LowPart; else temp = ((unsigned int)PerformanceCount.LowPart>>m_iLowShift)|((unsigned int)PerformanceCount.HighPart<<(32 - m_iLowShift)); @@ -142,7 +142,7 @@ inline double CPerformanceCounter::GetCurTime(void) if (m_flCurrentTime == m_flLastCurrentTime) { sametimecount++; - if(sametimecount > 100000) + if (sametimecount > 100000) { m_flCurrentTime += 1.0; sametimecount = 0; @@ -160,7 +160,7 @@ inline double CPerformanceCounter::GetCurTime(void) static int secbase = 0; gettimeofday(&tp,NULL); - if(!secbase) + if (!secbase) { secbase = tp.tv_sec; return (tp.tv_usec / 1000000.0); diff --git a/regamedll/game_shared/simple_checksum.h b/regamedll/game_shared/simple_checksum.h index d0e65be0..d637461e 100644 --- a/regamedll/game_shared/simple_checksum.h +++ b/regamedll/game_shared/simple_checksum.h @@ -39,7 +39,7 @@ inline unsigned int ComputeSimpleChecksum(const unsigned char *dataPointer, int dataLength) { unsigned int checksum = 0; - for(int i = 1; i <= dataLength; i++) + for (int i = 1; i <= dataLength; i++) { checksum += (*dataPointer) * i; ++dataPointer; diff --git a/regamedll/game_shared/steam_util.h b/regamedll/game_shared/steam_util.h index 398a4cc5..0dd85410 100644 --- a/regamedll/game_shared/steam_util.h +++ b/regamedll/game_shared/steam_util.h @@ -73,7 +73,7 @@ inline bool SteamFile::Read(void *data, int length) return false; byte *readCursor = static_cast(data); - for(int i = 0; i < length; i++) + for (int i = 0; i < length; i++) { *readCursor++ = *m_cursor++; --m_bytesLeft; diff --git a/regamedll/game_shared/voice_gamemgr.cpp b/regamedll/game_shared/voice_gamemgr.cpp index e68de0f4..395a65c2 100644 --- a/regamedll/game_shared/voice_gamemgr.cpp +++ b/regamedll/game_shared/voice_gamemgr.cpp @@ -83,7 +83,7 @@ void CVoiceGameMgr::Update(double frametime) // Only update periodically. m_UpdateInterval += frametime; - if(m_UpdateInterval >= UPDATE_INTERVAL) + if (m_UpdateInterval >= UPDATE_INTERVAL) UpdateMasks(); } diff --git a/regamedll/hookers/6153_hooker.cpp b/regamedll/hookers/6153_hooker.cpp index 56b4464a..74194cb0 100644 --- a/regamedll/hookers/6153_hooker.cpp +++ b/regamedll/hookers/6153_hooker.cpp @@ -197,13 +197,13 @@ FunctionHook g_FunctionHooks[] = { 0x01DB0000, "AngleVectors", (size_t)&AngleVectors }, //{ 0x0, "AngleVectorsTranspose", (size_t)&AngleVectorsTranspose }, - //{ 0x0, "AngleMatrix", (size_t)&AngleMatrix }, + { 0x01DB0200, "AngleMatrix", (size_t)&AngleMatrix }, //{ 0x0, "AngleIMatrix", (size_t)&AngleIMatrix }, //{ 0x0, "NormalizeAngles", (size_t)&NormalizeAngles }, //{ 0x0, "InterpolateAngles", (size_t)&InterpolateAngles }, //{ 0x0, "AngleBetweenVectors", (size_t)&AngleBetweenVectors }, //{ 0x0, "VectorTransform", (size_t)&VectorTransform }, - //{ 0x0, "VectorCompare", (size_t)&VectorCompare }, + { 0x01DB0610, "VectorCompare", (size_t)&VectorCompare }, //{ 0x0, "VectorMA", (size_t)&VectorMA }, //{ 0x01DB0680, "_DotProduct", (size_t)&_DotProduct }, // NOXREF //{ 0x01DB06A0, "_VectorSubtract", (size_t)&_VectorSubtract }, // NOXREF @@ -268,7 +268,7 @@ FunctionHook g_FunctionHooks[] = //{ 0x01D64460, "CountTeamPlayers", (size_t)&CountTeamPlayers }, //extern c func //{ 0x0, "_Z15ProcessKickVoteP11CBasePlayerS0_", (size_t)&ProcessKickVote }, //{ 0x0, "_Z17SelectDefaultTeamv", (size_t)&SelectDefaultTeam }, - //{ 0x0, "_Z15CheckStartMoneyv", (size_t)&CheckStartMoney }, + { 0x01D649A0, "_Z15CheckStartMoneyv", (size_t)&CheckStartMoney }, //{ 0x01D649F0, "_Z17ClientPutInServerP7edict_s", (size_t)&ClientPutInServer }, //{ 0x0, "Q_strlen", (size_t)&Q_strlen_ }, //{ 0x0, "_Z8Host_SayP7edict_si", (size_t)&Host_Say }, @@ -495,8 +495,8 @@ FunctionHook g_FunctionHooks[] = //CBaseToggle //virtual func { 0x01DBB7D0, "_ZN11CBaseToggle8KeyValueEP14KeyValueData_s", mfunc_ptr_cast(&CBaseToggle::KeyValue_) }, - //{ 0x0, "_ZN11CBaseToggle4SaveER5CSave", mfunc_ptr_cast(&CBaseToggle::Save_) }, - ///{ 0x0, "_ZN11CBaseToggle7RestoreER8CRestore", mfunc_ptr_cast(&CBaseToggle::Restore_) }, + { 0x01DBB770, "_ZN11CBaseToggle4SaveER5CSave", mfunc_ptr_cast(&CBaseToggle::Save_) }, + { 0x01DBB7A0, "_ZN11CBaseToggle7RestoreER8CRestore", mfunc_ptr_cast(&CBaseToggle::Restore_) }, //{ 0x0, "_ZN11CBaseToggle14GetToggleStateEv", mfunc_ptr_cast(&CBaseToggle::GetToggleState_) }, //{ 0x0, "_ZN11CBaseToggle8GetDelayEv", mfunc_ptr_cast(&CBaseToggle::GetDelay_) }, //non-virtual func @@ -586,14 +586,14 @@ FunctionHook g_FunctionHooks[] = #endif // BaseMonster_Region #ifndef Player_Region - + //CBasePlayer //virtual func //{ 0x01DA5200, "_ZN11CBasePlayer5SpawnEv", mfunc_ptr_cast(&CBasePlayer::Spawn_) }, - //{ 0x01DA5E40, "_ZN11CBasePlayer8PrecacheEv", mfunc_ptr_cast(&CBasePlayer::Precache_) }, - //{ 0x0, "_ZN11CBasePlayer4SaveER5CSave", mfunc_ptr_cast(&CBasePlayer::Save_) }, - //{ 0x0, "_ZN11CBasePlayer7RestoreER8CRestore", mfunc_ptr_cast(&CBasePlayer::Restore_) }, - //{ 0x0, "_ZN11CBasePlayer10ObjectCapsEv", mfunc_ptr_cast(&CBasePlayer::ObjectCaps_) }, + { 0x01DA5E40, "_ZN11CBasePlayer8PrecacheEv", mfunc_ptr_cast(&CBasePlayer::Precache_) }, + { 0x01DA5EE0, "_ZN11CBasePlayer4SaveER5CSave", mfunc_ptr_cast(&CBasePlayer::Save_) }, + { 0x01DA6080, "_ZN11CBasePlayer7RestoreER8CRestore", mfunc_ptr_cast(&CBasePlayer::Restore_) }, + { 0x01D210A0, "_ZN11CBasePlayer10ObjectCapsEv", mfunc_ptr_cast(&CBasePlayer::ObjectCaps_) }, { 0x01DA3550, "_ZN11CBasePlayer8ClassifyEv", mfunc_ptr_cast(&CBasePlayer::Classify_) }, { 0x01D9BE00, "_ZN11CBasePlayer11TraceAttackEP9entvars_sf6VectorP11TraceResulti", mfunc_ptr_cast(&CBasePlayer::TraceAttack_) }, //{ 0x0, "_ZN11CBasePlayer10TakeDamageEP9entvars_sS1_fi", mfunc_ptr_cast(&CBasePlayer::TakeDamage_) }, @@ -617,13 +617,13 @@ FunctionHook g_FunctionHooks[] = //{ 0x01D21060, "_ZN11CBasePlayer17ShouldFadeOnDeathEv", mfunc_ptr_cast(&CBasePlayer::ShouldFadeOnDeath_) }, { 0x01DA9CB0, "_ZN11CBasePlayer13ResetMaxSpeedEv", mfunc_ptr_cast(&CBasePlayer::ResetMaxSpeed_) }, //{ 0x0, "_ZN11CBasePlayer4JumpEv", mfunc_ptr_cast(&CBasePlayer::Jump_) }, - //{ 0x01DA3530, "_ZN11CBasePlayer4DuckEv", mfunc_ptr_cast(&CBasePlayer::Duck_) }, - //{ 0x0, "_ZN11CBasePlayer8PreThinkEv", mfunc_ptr_cast(&CBasePlayer::PreThink_) }, + { 0x01DA3530, "_ZN11CBasePlayer4DuckEv", mfunc_ptr_cast(&CBasePlayer::Duck_) }, + //{ 0x01DA3850, "_ZN11CBasePlayer8PreThinkEv", mfunc_ptr_cast(&CBasePlayer::PreThink_) }, //{ 0x01DA4610, "_ZN11CBasePlayer9PostThinkEv", mfunc_ptr_cast(&CBasePlayer::PostThink_) }, { 0x01D9BD80, "_ZN11CBasePlayer14GetGunPositionEv", mfunc_ptr_cast(&CBasePlayer::GetGunPosition_) }, //{ 0x0, "_ZN11CBasePlayer5IsBotEv", mfunc_ptr_cast(&CBasePlayer::IsBot_) }, //{ 0x01DA8F90, "_ZN11CBasePlayer16UpdateClientDataEv", mfunc_ptr_cast(&CBasePlayer::UpdateClientData_) }, - //{ 0x01DA7020, "_ZN11CBasePlayer15ImpulseCommandsEv", mfunc_ptr_cast(&CBasePlayer::ImpulseCommands_) }, // NOXREF + { 0x01DA7020, "_ZN11CBasePlayer15ImpulseCommandsEv", mfunc_ptr_cast(&CBasePlayer::ImpulseCommands_) }, { 0x01DA2490, "_ZN11CBasePlayer12RoundRespawnEv", mfunc_ptr_cast(&CBasePlayer::RoundRespawn_) }, { 0x01DA9DC0, "_ZN11CBasePlayer16GetAutoaimVectorEf", mfunc_ptr_cast(&CBasePlayer::GetAutoaimVector_) }, { 0x01DAA220, "_ZN11CBasePlayer5BlindEfffi", mfunc_ptr_cast(&CBasePlayer::Blind_) }, @@ -652,9 +652,9 @@ FunctionHook g_FunctionHooks[] = { 0x01D9B9B0, "_ZN11CBasePlayer4PainEib", mfunc_ptr_cast(&CBasePlayer::Pain) }, { 0x01D9F410, "_ZN11CBasePlayer9IsBombGuyEv", mfunc_ptr_cast(&CBasePlayer::IsBombGuy) }, { 0x01DACC30, "_ZNK11CBasePlayer19IsLookingAtPositionEPK6Vectorf", mfunc_ptr_cast(&CBasePlayer::IsLookingAtPosition) }, - //{ 0x01DA6310, "_ZN11CBasePlayer5ResetEv", mfunc_ptr_cast(&CBasePlayer::Reset) }, + { 0x01DA6310, "_ZN11CBasePlayer5ResetEv", mfunc_ptr_cast(&CBasePlayer::Reset) }, { 0x01DA5F10, "_ZN11CBasePlayer23SetScoreboardAttributesEPS_", mfunc_ptr_cast(&CBasePlayer::SetScoreboardAttributes) }, - //{ 0x0, "_ZN11CBasePlayer10RenewItemsEv", mfunc_ptr_cast(&CBasePlayer::RenewItems) }, + //{ 0x01DA6070, "_ZN11CBasePlayer10RenewItemsEv", mfunc_ptr_cast(&CBasePlayer::RenewItems) }, // NOXREF { 0x01D9D630, "_ZN11CBasePlayer19PackDeadPlayerItemsEv", mfunc_ptr_cast(&CBasePlayer::PackDeadPlayerItems) }, { 0x01D9DAD0, "_ZN11CBasePlayer16GiveDefaultItemsEv", mfunc_ptr_cast(&CBasePlayer::GiveDefaultItems) }, { 0x01D9DD60, "_ZN11CBasePlayer14RemoveAllItemsEi", mfunc_ptr_cast(&CBasePlayer::RemoveAllItems) }, @@ -717,7 +717,7 @@ FunctionHook g_FunctionHooks[] = //{ 0x01DA6920, "_ZN11CBasePlayer10HasWeaponsEv", mfunc_ptr_cast(&CBasePlayer::HasWeapons) }, // NOXREF //{ 0x01DA6940, "_ZN11CBasePlayer14SelectPrevItemEi", mfunc_ptr_cast(&CBasePlayer::SelectPrevItem) }, // NOXREF //{ 0x01DA6470, "_ZN11CBasePlayer14SelectNextItemEi", mfunc_ptr_cast(&CBasePlayer::SelectNextItem) }, // NOXREF - //{ 0x01DA65E0, "_ZN11CBasePlayer10SelectItemEPKc", mfunc_ptr_cast(&CBasePlayer::SelectItem) }, + { 0x01DA65E0, "_ZN11CBasePlayer10SelectItemEPKc", mfunc_ptr_cast(&CBasePlayer::SelectItem) }, { 0x01DA67A0, "_ZN11CBasePlayer14SelectLastItemEv", mfunc_ptr_cast(&CBasePlayer::SelectLastItem) }, //{ 0x01DA8BB0, "_ZN11CBasePlayer12ItemPreFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPreFrame) }, // NOXREF //{ 0x01DA8BE0, "_ZN11CBasePlayer13ItemPostFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPostFrame) }, // NOXREF @@ -735,7 +735,7 @@ FunctionHook g_FunctionHooks[] = { 0x01DA14D0, "_ZN11CBasePlayer9MenuPrintEPS_PKc", mfunc_ptr_cast(&CBasePlayer::MenuPrint) }, //{ 0x01DA11F0, "_ZN11CBasePlayer9ResetMenuEv", mfunc_ptr_cast(&CBasePlayer::ResetMenu) }, // NOXREF { 0x01DA1240, "_ZN11CBasePlayer14SyncRoundTimerEv", mfunc_ptr_cast(&CBasePlayer::SyncRoundTimer) }, - //{ 0x0, "_ZN11CBasePlayer15CheckSuitUpdateEv", mfunc_ptr_cast(&CBasePlayer::CheckSuitUpdate) }, + //{ 0x01DA4220, "_ZN11CBasePlayer15CheckSuitUpdateEv", mfunc_ptr_cast(&CBasePlayer::CheckSuitUpdate) }, { 0x01DA43E0, "_ZN11CBasePlayer13SetSuitUpdateEPcii", mfunc_ptr_cast(&CBasePlayer::SetSuitUpdate) }, // NOXREF //{ 0x01DA4170, "_ZN11CBasePlayer19UpdateGeigerCounterEv", mfunc_ptr_cast(&CBasePlayer::UpdateGeigerCounter) }, // NOXREF //{ 0x0, "_ZN11CBasePlayer20CheckTimeBasedDamageEv", mfunc_ptr_cast(&CBasePlayer::CheckTimeBasedDamage) }, @@ -745,7 +745,7 @@ FunctionHook g_FunctionHooks[] = { 0x01DA8C60, "_ZN11CBasePlayer13AmmoInventoryEi", mfunc_ptr_cast(&CBasePlayer::AmmoInventory) }, //{ 0x01DAA150, "_ZN11CBasePlayer12ResetAutoaimEv", mfunc_ptr_cast(&CBasePlayer::ResetAutoaim) }, // NOXREF //{ 0x01DAA120, "_ZN11CBasePlayer17AutoaimDeflectionER6Vectorff", mfunc_ptr_cast(&CBasePlayer::AutoaimDeflection) }, // NOXREF - //{ 0x01DA6FD0, "_ZN11CBasePlayer20ForceClientDllUpdateEv", mfunc_ptr_cast(&CBasePlayer::ForceClientDllUpdate) }, + { 0x01DA6FD0, "_ZN11CBasePlayer20ForceClientDllUpdateEv", mfunc_ptr_cast(&CBasePlayer::ForceClientDllUpdate) }, //{ 0x0, "_ZN11CBasePlayer12DeathMessageEP9entvars_s", mfunc_ptr_cast(&CBasePlayer::DeathMessage) }, { 0x01DAA1E0, "_ZN11CBasePlayer20SetCustomDecalFramesEi", mfunc_ptr_cast(&CBasePlayer::SetCustomDecalFrames) }, //{ 0x01DAA210, "_ZN11CBasePlayer20GetCustomDecalFramesEv", mfunc_ptr_cast(&CBasePlayer::GetCustomDecalFrames) }, // NOXREF @@ -806,7 +806,7 @@ FunctionHook g_FunctionHooks[] = { 0x01DAEA40, "_ZN11CBasePlayer17IsObservingPlayerEPS_", mfunc_ptr_cast(&CBasePlayer::IsObservingPlayer) }, //{ 0x0, "_ZNK11CBasePlayer22CanSwitchObserverModesEv", mfunc_ptr_cast(&CBasePlayer::CanSwitchObserverModes) }, //{ 0x0, "_ZN11CBasePlayer7IntenseEv", mfunc_ptr_cast(&CBasePlayer::Intense) }, - //{ 0x01D9AB20, "_Z16LinkUserMessagesv", (size_t)&LinkUserMessages }, + { 0x01D9AB20, "_Z16LinkUserMessagesv", (size_t)&LinkUserMessages }, { 0x01D9B0F0, "_Z18WriteSigonMessagesv", (size_t)&WriteSigonMessages }, { 0x01D9B280, "_Z14SendItemStatusP11CBasePlayer", (size_t)&SendItemStatus }, { 0x01D9D8A0, "_ZL14GetCSModelNamei", (size_t)&GetCSModelName }, @@ -819,9 +819,9 @@ FunctionHook g_FunctionHooks[] = { 0x01DA3110, "_ZL13CanSeeUseableP11CBasePlayerP11CBaseEntity_isra_13", (size_t)&CanSeeUseable }, //{ 0x01DA34E0, "_Z20FixPlayerCrouchStuckP7edict_s", (size_t)&FixPlayerCrouchStuck }, //{ 0x01DA4A90, "_Z17IsSpawnPointValidP11CBaseEntityS0_", (size_t)&IsSpawnPointValid }, // NOXREF - //{ 0x01DA4B10, "_Z16InitZombieSpawnsv", (size_t)&InitZombieSpawns }, // NOXREF + //{ 0x01DA4B20, "_Z16InitZombieSpawnsv", (size_t)&InitZombieSpawns }, // NOXREF //{ 0x01DA4BC0, "_Z15FindZombieSpawnP11CBaseEntityb", (size_t)&FindZombieSpawn }, // NOXREF - //{ 0x01DA4BD0, "_Z19EntSelectSpawnPointP11CBaseEntity", (size_t)&EntSelectSpawnPoint }, + { 0x01DA4BD0, "_Z19EntSelectSpawnPointP11CBaseEntity", (size_t)&EntSelectSpawnPoint }, #ifdef _WIN32 { 0x01DA5180, "", (size_t)&SetScoreAttrib }, @@ -2485,8 +2485,8 @@ FunctionHook g_FunctionHooks[] = { 0x01D909E0, "_ZN18CHalfLifeMultiplay19FShouldSwitchWeaponEP11CBasePlayerP15CBasePlayerItem", mfunc_ptr_cast(&CHalfLifeMultiplay::FShouldSwitchWeapon_) }, { 0x01D90A70, "_ZN18CHalfLifeMultiplay17GetNextBestWeaponEP11CBasePlayerP15CBasePlayerItem", mfunc_ptr_cast(&CHalfLifeMultiplay::GetNextBestWeapon_) }, { 0x01D909B0, "_ZN18CHalfLifeMultiplay13IsMultiplayerEv", mfunc_ptr_cast(&CHalfLifeMultiplay::IsMultiplayer_) }, - //{ 0x01D909C0, "_ZN18CHalfLifeMultiplay12IsDeathmatchEv", mfunc_ptr_cast(&CHalfLifeMultiplay::IsDeathmatch_) }, - //{ 0x01D909D0, "_ZN18CHalfLifeMultiplay6IsCoOpEv", mfunc_ptr_cast(&CHalfLifeMultiplay::IsCoOp_) }, + { 0x01D909C0, "_ZN18CHalfLifeMultiplay12IsDeathmatchEv", mfunc_ptr_cast(&CHalfLifeMultiplay::IsDeathmatch_) }, + { 0x01D909D0, "_ZN18CHalfLifeMultiplay6IsCoOpEv", mfunc_ptr_cast(&CHalfLifeMultiplay::IsCoOp_) }, //{ 0x0, "_ZN18CHalfLifeMultiplay15ClientConnectedEP7edict_sPKcS3_Pc", mfunc_ptr_cast(&CHalfLifeMultiplay::ClientConnected_) }, //{ 0x01D90BC0, "_ZN18CHalfLifeMultiplay7InitHUDEP11CBasePlayer", mfunc_ptr_cast(&CHalfLifeMultiplay::InitHUD_) }, //{ 0x0, "_ZN18CHalfLifeMultiplay18ClientDisconnectedEP7edict_s", mfunc_ptr_cast(&CHalfLifeMultiplay::ClientDisconnected_) }, @@ -3420,20 +3420,20 @@ FunctionHook g_FunctionHooks[] = //{ 0x0, "_Z11SetBlendingPvP9entvars_sif", (size_t)&SetBlending }, //{ 0x0, "_Z14FindTransitionPviiPi", (size_t)&FindTransition }, //{ 0x0, "_Z12SetBodygroupPvP9entvars_sii", (size_t)&SetBodygroup }, - //{ 0x0, "_Z12GetBodygroupPvP9entvars_si", (size_t)&GetBodygroup }, - //{ 0x01D5B080, "Server_GetBlendingInterface", (size_t)&Server_GetBlendingInterface }, - { 0x01D5B0E0, "_Z15AngleQuaternionPfS_", (size_t)&AngleQuaternion }, /// TODO: FIXME CZERO!!! Test demo czer-testsmoke-1.bin - //{ 0x0, "_Z15QuaternionSlerpPfS_fS_", (size_t)&QuaternionSlerp }, - //{ 0x0, "_Z16QuaternionMatrixPfPA4_f", (size_t)&QuaternionMatrix }, - //{ 0x0, "_Z13StudioGetAnimP7model_sP16mstudioseqdesc_t", (size_t)&StudioGetAnim }, - //{ 0x0, "_Z15LookupAnimationP11studiohdr_tP7model_sP16mstudioseqdesc_ti", (size_t)&LookupAnimation }, - //{ 0x0, "_Z17StudioCalcBoneAdjfPfPKhS1_h", (size_t)&StudioCalcBoneAdj }, - //{ 0x0, "_Z23StudioCalcBoneQuaterionifP13mstudiobone_tP13mstudioanim_tPfS3_", (size_t)&StudioCalcBoneQuaterion }, - //{ 0x0, "_Z22StudioCalcBonePositionifP13mstudiobone_tP13mstudioanim_tPfS3_", (size_t)&StudioCalcBonePosition }, - //{ 0x0, "_Z16StudioSlerpBonesPA4_fPA3_fS0_S2_f", (size_t)&StudioSlerpBones }, - //{ 0x0, "_Z19StudioCalcRotationsP13mstudiobone_tPiiPfPA3_fPA4_fP16mstudioseqdesc_tP13mstudioanim_tff", (size_t)&StudioCalcRotations }, - //{ 0x0, "_Z16ConcatTransformsPA4_fS0_S0_", (size_t)&ConcatTransforms }, - //{ 0x0, "_Z19SV_StudioSetupBonesP7model_sfiPKfS2_PKhS4_iPK7edict_s", (size_t)&SV_StudioSetupBones }, + { 0x01D5B020, "_Z12GetBodygroupPvP9entvars_si", (size_t)&GetBodygroup }, + { 0x01D5B080, "Server_GetBlendingInterface", (size_t)&Server_GetBlendingInterface }, + { 0x01D5B0E0, "_Z15AngleQuaternionPfS_", (size_t)&AngleQuaternion }, + { 0x01D5B190, "_Z15QuaternionSlerpPfS_fS_", (size_t)&QuaternionSlerp }, + //{ 0x01D5B350, "_Z16QuaternionMatrixPfPA4_f", (size_t)&QuaternionMatrix }, + { 0x01D5B430, "_Z13StudioGetAnimP7model_sP16mstudioseqdesc_t", (size_t)&StudioGetAnim }, + //{ 0x01D5B4C0, "_Z15LookupAnimationP11studiohdr_tP7model_sP16mstudioseqdesc_ti", (size_t)&LookupAnimation }, // NOXREF + { 0x01D5B500, "_Z17StudioCalcBoneAdjfPfPKhS1_h", (size_t)&StudioCalcBoneAdj }, + { 0x01D5B720, "_Z23StudioCalcBoneQuaterionifP13mstudiobone_tP13mstudioanim_tPfS3_", (size_t)&StudioCalcBoneQuaterion }, + { 0x01D5B8E0, "_Z22StudioCalcBonePositionifP13mstudiobone_tP13mstudioanim_tPfS3_", (size_t)&StudioCalcBonePosition }, + { 0x01D5BA20, "_Z16StudioSlerpBonesPA4_fPA3_fS0_S2_f", (size_t)&StudioSlerpBones }, + //{ 0x01D5BB50, "_Z19StudioCalcRotationsP13mstudiobone_tPiiPfPA3_fPA4_fP16mstudioseqdesc_tP13mstudioanim_tff", (size_t)&StudioCalcRotations }, // NOXREF + { 0x01D5BBE0, "_Z16ConcatTransformsPA4_fS0_S0_", (size_t)&ConcatTransforms }, + //{ 0x01D5BD20, "_Z19SV_StudioSetupBonesP7model_sfiPKfS2_PKhS4_iPK7edict_s", (size_t)&SV_StudioSetupBones }, #endif // Animation_Region @@ -5177,6 +5177,8 @@ AddressRef g_FunctionRefs[] = { 0x01D6EEB0, "_ZN4CGib15SpawnRandomGibsEP9entvars_sii", (size_t)&pCGib__SpawnRandomGibs }, + { 0x01D5B350, "_Z16QuaternionMatrixPfPA4_f", (size_t)&pQuaternionMatrix }, + #endif // Function_References_Region { NULL, NULL, NULL } }; @@ -5280,30 +5282,30 @@ AddressRef g_DataRefs[] = { 0x01E635A0, "gmsgShake", (size_t)&pgmsgShake }, { 0x01E635A4, "gmsgFade", (size_t)&pgmsgFade }, { 0x01E635A8, "gmsgFlashlight", (size_t)&pgmsgFlashlight }, - //{ 0x0, "gmsgFlashBattery", (size_t)&pgmsgFlashBattery }, - //{ 0x0, "gmsgResetHUD", (size_t)&pgmsgResetHUD }, - //{ 0x0, "gmsgInitHUD", (size_t)&pgmsgInitHUD }, - //{ 0x0, "gmsgViewMode", (size_t)&pgmsgViewMode }, - //{ 0x01E635BC, "gmsgShowGameTitle", (size_t)&pgmsgShowGameTitle }, + { 0x01E635AC, "gmsgFlashBattery", (size_t)&pgmsgFlashBattery }, + { 0x01E635B0, "gmsgResetHUD", (size_t)&pgmsgResetHUD }, + { 0x01E635B4, "gmsgInitHUD", (size_t)&pgmsgInitHUD }, + { 0x01E635B8, "gmsgViewMode", (size_t)&pgmsgViewMode }, + { 0x01E635BC, "gmsgShowGameTitle", (size_t)&pgmsgShowGameTitle }, { 0x01E635C0, "gmsgCurWeapon", (size_t)&pgmsgCurWeapon }, - //{ 0x0, "gmsgHealth", (size_t)&pgmsgHealth }, - //{ 0x0, "gmsgDamage", (size_t)&pgmsgDamage }, - //{ 0x0, "gmsgBattery", (size_t)&pgmsgBattery }, - //{ 0x0, "gmsgTrain", (size_t)&pgmsgTrain }, + { 0x01E635C4, "gmsgHealth", (size_t)&pgmsgHealth }, + { 0x01E635C8, "gmsgDamage", (size_t)&pgmsgDamage }, + { 0x01E635CC, "gmsgBattery", (size_t)&pgmsgBattery }, + { 0x01E635D0, "gmsgTrain", (size_t)&pgmsgTrain }, { 0x01E635D4, "gmsgLogo", (size_t)&pgmsgLogo }, { 0x01E635D8, "gmsgWeaponList", (size_t)&pgmsgWeaponList }, { 0x01E635DC, "gmsgAmmoX", (size_t)&pgmsgAmmoX }, - //{ 0x0, "gmsgDeathMsg", (size_t)&pgmsgDeathMsg }, + { 0x01E635E8, "gmsgDeathMsg", (size_t)&pgmsgDeathMsg }, { 0x01E635EC, "gmsgScoreAttrib", (size_t)&pgmsgScoreAttrib }, { 0x01E635F0, "gmsgScoreInfo", (size_t)&pgmsgScoreInfo }, { 0x01E635F4, "gmsgTeamInfo", (size_t)&pgmsgTeamInfo }, - //{ 0x0, "gmsgTeamScore", (size_t)&pgmsgTeamScore }, - //{ 0x0, "gmsgGameMode", (size_t)&pgmsgGameMode }, - //{ 0x0, "gmsgMOTD", (size_t)&pgmsgMOTD }, - //{ 0x0, "gmsgServerName", (size_t)&pgmsgServerName }, + { 0x01E635F8, "gmsgTeamScore", (size_t)&pgmsgTeamScore }, + { 0x01E635FC, "gmsgGameMode", (size_t)&pgmsgGameMode }, + { 0x01E63600, "gmsgMOTD", (size_t)&pgmsgMOTD }, + { 0x01E63604, "gmsgServerName", (size_t)&pgmsgServerName }, { 0x01E63608, "gmsgAmmoPickup", (size_t)&pgmsgAmmoPickup }, { 0x01E63610, "gmsgItemPickup", (size_t)&pgmsgItemPickup }, - //{ 0x0, "gmsgHideWeapon", (size_t)&pgmsgHideWeapon }, + { 0x01E63614, "gmsgHideWeapon", (size_t)&pgmsgHideWeapon }, { 0x01E63618, "gmsgSayText", (size_t)&pgmsgSayText }, { 0x01E6361C, "gmsgTextMsg", (size_t)&pgmsgTextMsg }, { 0x01E63620, "gmsgSetFOV", (size_t)&pgmsgSetFOV }, @@ -5320,28 +5322,28 @@ AddressRef g_DataRefs[] = { 0x01E6364C, "gmsgReloadSound", (size_t)&pgmsgReloadSound }, { 0x01E63650, "gmsgCrosshair", (size_t)&pgmsgCrosshair }, { 0x01E63654, "gmsgNVGToggle", (size_t)&pgmsgNVGToggle }, - //{ 0x0, "gmsgRadar", (size_t)&pgmsgRadar }, + { 0x01E63658, "gmsgRadar", (size_t)&pgmsgRadar }, { 0x01E6365C, "gmsgSpectator", (size_t)&pgmsgSpectator }, - //{ 0x0, "gmsgVGUIMenu", (size_t)&pgmsgVGUIMenu }, + { 0x01E63660, "gmsgVGUIMenu", (size_t)&pgmsgVGUIMenu }, { 0x01E63664, "gmsgCZCareer", (size_t)&pgmsgCZCareer }, - //{ 0x0, "gmsgCZCareerHUD", (size_t)&pgmsgCZCareerHUD }, + { 0x01E63668, "gmsgCZCareerHUD", (size_t)&pgmsgCZCareerHUD }, { 0x01E6366C, "gmsgTaskTime", (size_t)&pgmsgTaskTime }, - //{ 0x0, "gmsgTutorText", (size_t)&pgmsgTutorText }, + { 0x01E63670, "gmsgTutorText", (size_t)&pgmsgTutorText }, { 0x01E63674, "gmsgTutorLine", (size_t)&pgmsgTutorLine }, - //{ 0x0, "gmsgShadowIdx", (size_t)&pgmsgShadowIdx }, + { 0x01E63678, "gmsgShadowIdx", (size_t)&pgmsgShadowIdx }, { 0x01E6367C, "gmsgTutorState", (size_t)&pgmsgTutorState }, { 0x01E63680, "gmsgTutorClose", (size_t)&pgmsgTutorClose }, - //{ 0x0, "gmsgAllowSpec", (size_t)&pgmsgAllowSpec }, + { 0x01E63684, "gmsgAllowSpec", (size_t)&pgmsgAllowSpec }, { 0x01E63688, "gmsgBombDrop", (size_t)&pgmsgBombDrop }, - //{ 0x0, "gmsgBombPickup", (size_t)&pgmsgBombPickup }, + { 0x01E6368C, "gmsgBombPickup", (size_t)&pgmsgBombPickup }, { 0x01E63690, "gmsgHostagePos", (size_t)&pgmsgHostagePos }, - //{ 0x0, "gmsgHostageK", (size_t)&pgmsgHostageK }, + { 0x01E63694, "gmsgHostageK", (size_t)&pgmsgHostageK }, { 0x01E63698, "gmsgGeigerRange", (size_t)&pgmsgGeigerRange }, { 0x01E6369C, "gmsgSendCorpse", (size_t)&pgmsgSendCorpse }, - //{ 0x0, "gmsgHLTV", (size_t)&pgmsgHLTV }, - //{ 0x0, "gmsgSpecHealth", (size_t)&pgmsgSpecHealth }, - //{ 0x0, "gmsgForceCam", (size_t)&pgmsgForceCam }, - //{ 0x0, "gmsgADStop", (size_t)&pgmsgADStop }, + { 0x01E636A0, "gmsgHLTV", (size_t)&pgmsgHLTV }, + { 0x01E636A4, "gmsgSpecHealth", (size_t)&pgmsgSpecHealth }, + { 0x01E636A8, "gmsgForceCam", (size_t)&pgmsgForceCam }, + { 0x01E636AC, "gmsgADStop", (size_t)&pgmsgADStop }, { 0x01E636B0, "gmsgReceiveW", (size_t)&pgmsgReceiveW }, { 0x01E636B4, "gmsgScenarioIcon", (size_t)&pgmsgScenarioIcon }, { 0x01E636B8, "gmsgBotVoice", (size_t)&pgmsgBotVoice }, @@ -5351,9 +5353,9 @@ AddressRef g_DataRefs[] = { 0x01E636C8, "gmsgSpecHealth2", (size_t)&pgmsgSpecHealth2 }, { 0x01E636CC, "gmsgBarTime2", (size_t)&pgmsgBarTime2 }, { 0x01E636D0, "gmsgBotProgress", (size_t)&pgmsgBotProgress }, - //{ 0x0, "gmsgBrass", (size_t)&pgmsgBrass }, - //{ 0x0, "gmsgFog", (size_t)&pgmsgFog }, - //{ 0x0, "gmsgShowTimer", (size_t)&pgmsgShowTimer }, + { 0x01E636D4, "gmsgBrass", (size_t)&pgmsgBrass }, + { 0x01E636D8, "gmsgFog", (size_t)&pgmsgFog }, + { 0x01E636DC, "gmsgShowTimer", (size_t)&pgmsgShowTimer }, { 0x01E61B80, "g_psv_gravity", (size_t)&pg_psv_gravity }, { 0x01E61B84, "g_psv_aim", (size_t)&pg_psv_aim },//TODO: unused, used cvar_t *sv_aim @@ -5525,7 +5527,7 @@ AddressRef g_DataRefs[] = //{ 0x0, "_ZN9CPushable12m_soundNamesE", mfunc_ptr_cast(&CPushable::pm_soundNames) }, { 0x01E1E00C, "_ZN8CDeadHEV9m_szPosesE", mfunc_ptr_cast(&CDeadHEV::pm_szPoses) }, - + { 0x01E1DD88, "_ZN11CBasePlayer16m_playerSaveDataE", mfunc_ptr_cast(&CBasePlayer::pm_playerSaveData) }, //{ 0x01E14A68, "_ZN11CBaseEntity10m_SaveDataE", mfunc_ptr_cast(&CBaseEntity::pm_SaveData) }, //{ 0x0, "_ZN12CGlobalState10m_SaveDataE", mfunc_ptr_cast(&CGlobalState::pm_SaveData) }, //{ 0x0, "_ZN9CEnvSpark10m_SaveDataE", mfunc_ptr_cast(&CEnvSpark::pm_SaveData) }, @@ -5569,7 +5571,7 @@ AddressRef g_DataRefs[] = //{ 0x0, "_ZN12CMultiSource10m_SaveDataE", mfunc_ptr_cast(&CMultiSource::pm_SaveData) }, { 0x01E20538, "_ZN10CBaseDelay10m_SaveDataE", mfunc_ptr_cast(&CBaseDelay::pm_SaveData) }, { 0x01E13438, "_ZN14CBaseAnimating10m_SaveDataE", mfunc_ptr_cast(&CBaseAnimating::pm_SaveData) }, - //{ 0x0, "_ZN11CBaseToggle10m_SaveDataE", mfunc_ptr_cast(&CBaseToggle::pm_SaveData) }, + { 0x01E20558, "_ZN11CBaseToggle10m_SaveDataE", mfunc_ptr_cast(&CBaseToggle::pm_SaveData) }, //{ 0x0, "_ZN11CBaseButton10m_SaveDataE", mfunc_ptr_cast(&CBaseButton::pm_SaveData) }, //{ 0x0, "_ZN15CAmbientGeneric10m_SaveDataE", mfunc_ptr_cast(&CAmbientGeneric::pm_SaveData) }, //{ 0x0, "_ZN9CEnvSound10m_SaveDataE", mfunc_ptr_cast(&CEnvSound::pm_SaveData) }, @@ -5659,7 +5661,9 @@ AddressRef g_DataRefs[] = { 0x01E76594, "TheCareerTasks", (size_t)&pTheCareerTasks }, { 0x01E28C7C, "TheBotProfiles", (size_t)&pTheBotProfiles }, + { 0x01E287CC, "g_pSelectedZombieSpawn", (size_t)&pg_pSelectedZombieSpawn }, { 0x01E287F0, "TheBotPhrases", (size_t)&pTheBotPhrases }, + { 0x01E7657C, "TheTutor", (size_t)&pTheTutor }, { 0x01E2A25C, "g_pHostages", (size_t)&pg_pHostages }, { 0x01E2A258, "g_iHostageNumber", (size_t)&pg_iHostageNumber }, @@ -5669,6 +5673,25 @@ AddressRef g_DataRefs[] = { 0x01E61740, "theDebugBuffer", (size_t)&ptheDebugBuffer }, { 0x01E75D04, "g_LessCtx", (size_t)&pg_LessCtx }, + { 0x01E62788, "g_pLastSpawn", (size_t)&pg_pLastSpawn }, + + { 0x01E63590, "g_pLastCTSpawn", (size_t)&pg_pLastCTSpawn }, + { 0x01E63594, "g_pLastTerroristSpawn", (size_t)&pg_pLastTerroristSpawn }, + + { 0x01E62990, "_ZL11zombieSpawn", (size_t)&pzombieSpawn }, + { 0x01E636E8, "_ZL16zombieSpawnCount", (size_t)&pzombieSpawnCount }, + + { 0x01E13838, "svBlending", (size_t)&psvBlending }, + { 0x01E312D0, "IEngineStudio", (size_t)&pIEngineStudio }, + { 0x01E2DAA8, "g_pstudiohdr", (size_t)&pg_pstudiohdr }, + { 0x01E2F8C0, "g_pRotationMatrix", (size_t)&pg_pRotationMatrix }, + { 0x01E2F8B0, "g_pBoneTransform", (size_t)&pg_pBoneTransform }, + + { 0x01E2F8BC, "omega", (size_t)&pomega }, + { 0x01E312E0, "cosom", (size_t)&pcosom }, + { 0x01E306C8, "sinom", (size_t)&psinom }, + { 0x01E2F8B4, "sclp", (size_t)&psclp }, + { 0x01E2F8B8, "sclq", (size_t)&psclq }, #endif // Data_References_Region diff --git a/regamedll/hookers/memory.cpp b/regamedll/hookers/memory.cpp index aeb16390..56148826 100644 --- a/regamedll/hookers/memory.cpp +++ b/regamedll/hookers/memory.cpp @@ -726,7 +726,7 @@ bool HIDDEN HookFunction(Module *module, FunctionHook *hook) patch[0] = 0xE9; #if 1 - if(strcmp(hook->symbolName,"_ZN11CBasePlayer10SwitchTeamEv")==0) + if (strcmp(hook->symbolName,"_ZN11CBasePlayer10SwitchTeamEv")==0) { addr_orig = (void *)hook->originalAddress; diff --git a/regamedll/pm_shared/pm_math.cpp b/regamedll/pm_shared/pm_math.cpp index fa7370d1..4dfec297 100644 --- a/regamedll/pm_shared/pm_math.cpp +++ b/regamedll/pm_shared/pm_math.cpp @@ -60,19 +60,42 @@ NOBODY void AngleVectorsTranspose(const vec_t *angles, vec_t *forward, vec_t *ri } /* <2ce5d0> ../cstrike/pm_shared/pm_math.c:112 */ -NOBODY void AngleMatrix(const vec_t *angles, float *matrix) +void AngleMatrix(const vec_t *angles, float (*matrix)[4]) { -// float angle; // 114 -// float sr; // 115 -// float sp; // 115 -// float sy; // 115 -// float cr; // 115 -// float cp; // 115 -// float cy; // 115 + float_precision angle; + float_precision sr, sp, sy, cr, cp, cy; + + angle = (float_precision)(angles[ROLL] * (M_PI * 2 / 360)); + sy = sin(angle); + cy = cos(angle); + + angle = (float_precision)(angles[YAW] * (M_PI * 2 / 360)); + sp = sin(angle); + cp = cos(angle); + + angle = (float_precision)(angles[PITCH] * (M_PI * 2 / 360)); + sr = sin(angle); + cr = cos(angle); + + matrix[0][0] = cr * cp; + matrix[1][0] = cr * sp; + matrix[2][0] = -sr; + + matrix[0][1] = (sy * sr) * cp - cy * sp; + matrix[1][1] = (sy * sr) * sp + cy * cp; + matrix[2][1] = sy * cr; + + matrix[0][2] = (cy * sr) * cp + sy * sp; + matrix[1][2] = (cy * sr) * sp - sy * cp; + matrix[2][2] = cy * cr; + + matrix[0][3] = 0.0f; + matrix[1][3] = 0.0f; + matrix[2][3] = 0.0f; } /* <2ce67b> ../cstrike/pm_shared/pm_math.c:142 */ -NOBODY void AngleIMatrix(const vec_t *angles, float *matrix) +NOBODY void AngleIMatrix(const vec_t *angles, float (*matrix)[4]) { // float angle; // 144 // float sr; // 145 @@ -117,9 +140,15 @@ NOBODY void VectorTransform(const vec_t *in1, float *in2, vec_t *out) } /* <2ce996> ../cstrike/pm_shared/pm_math.c:259 */ -NOBODY int VectorCompare(const vec_t *v1, const vec_t *v2) +int VectorCompare(const vec_t *v1, const vec_t *v2) { -// int i; // 261 + int i; + for (i = 0 ; i < 3 ; i++) + { + if (v1[i] != v2[i]) + return 0; + } + return 1; } /* <2ce9de> ../cstrike/pm_shared/pm_math.c:270 */ diff --git a/regamedll/pm_shared/pm_math.h b/regamedll/pm_shared/pm_math.h index b74dacf4..30ed54f4 100644 --- a/regamedll/pm_shared/pm_math.h +++ b/regamedll/pm_shared/pm_math.h @@ -42,13 +42,13 @@ void AngleVectors(const vec_t *angles, vec_t *forward, vec_t *right, vec_t *up); NOBODY void AngleVectorsTranspose(const vec_t *angles, vec_t *forward, vec_t *right, vec_t *up); -NOBODY void AngleMatrix(const vec_t *angles, float *matrix); -NOBODY void AngleIMatrix(const vec_t *angles, float *matrix); +void AngleMatrix(const vec_t *angles, float (*matrix)[4]); +NOBODY void AngleIMatrix(const vec_t *angles, float (*matrix)[4]); NOBODY void NormalizeAngles(float *angles); NOBODY void InterpolateAngles(float *start, float *end, float *output, float frac); NOBODY float AngleBetweenVectors(const vec_t *v1, const vec_t *v2); NOBODY void VectorTransform(const vec_t *in1, float *in2, vec_t *out); -NOBODY int VectorCompare(const vec_t *v1, const vec_t *v2); +int VectorCompare(const vec_t *v1, const vec_t *v2); NOBODY void VectorMA(const vec_t *veca, float scale, const vec_t *vecb, vec_t *vecc); NOXREF vec_t _DotProduct(vec_t *v1, vec_t *v2); diff --git a/regamedll/unittests/struct_offsets_tests.cpp b/regamedll/unittests/struct_offsets_tests.cpp index b86e85d1..545a6de9 100644 --- a/regamedll/unittests/struct_offsets_tests.cpp +++ b/regamedll/unittests/struct_offsets_tests.cpp @@ -50,6 +50,7 @@ TEST(StructOffsets, ReversingChecks, 5000) REPEAT_SIZEOF_PRINT(CHalfLifeTraining); REPEAT_SIZEOF_PRINT(CGib); REPEAT_SIZEOF_PRINT(CSprayCan); + REPEAT_SIZEOF_PRINT(CountdownTimer); // offset the members REPEAT_OFFSETOF_PRINT(CBaseEntity, pev); @@ -66,6 +67,7 @@ TEST(StructOffsets, ReversingChecks, 5000) CHECK_CLASS_SIZE(CHalfLifeTraining, 0x2E8u, 0x2D8u); CHECK_CLASS_SIZE(CGib, 0x98, 0xA8); CHECK_CLASS_SIZE(CSprayCan, 0x88, 0x98); + //CHECK_CLASS_SIZE(CountdownTimer, 0xC, 0x8); //CHECK_CLASS_SIZE(CBotManager, 12u, 12); //CHECK_CLASS_SIZE(CCSBotManager, 740, 0x2E0u);//0x2E4u | 0x2E0u