forked from FWGS/Paranoia2
CP1251 to UTF-8 (to preserve original comments)
This commit is contained in:
parent
5cc388c45e
commit
72dd8114eb
@ -32,7 +32,7 @@
|
||||
|
||||
WEAPON *gpActiveSel; // NULL means off, 1 means just the menu bar, otherwise
|
||||
// this points to the active weapon menu item
|
||||
//WEAPON *gpLastSel; // Last weapon menu selection buz: íàõ
|
||||
//WEAPON *gpLastSel; // Last weapon menu selection buz: нах
|
||||
|
||||
client_sprite_t *GetSpriteList(client_sprite_t *pList, const char *psz, int iRes, int iCount);
|
||||
|
||||
@ -612,7 +612,7 @@ void WeaponsResource :: SelectSlot( int iSlot, int fAdvance, int iDirection )
|
||||
m_rgColumnSizes[iSlot] = 1;
|
||||
gpActiveSel = GetFirstPos( iSlot );
|
||||
|
||||
// Wargon: hud_fastswitch äëÿ íîâîãî HUD'à.
|
||||
// Wargon: hud_fastswitch для нового HUD'а.
|
||||
if (gpActiveSel && fastSwitch && !(GetNextActivePos(gpActiveSel->iSlot, gpActiveSel->iSlotPos)) && (iSlot != 0))
|
||||
{
|
||||
ServerCmd(gpActiveSel->szName);
|
||||
@ -642,7 +642,7 @@ void WeaponsResource :: SelectSlot( int iSlot, int fAdvance, int iDirection )
|
||||
m_iSelectedColumn = iSlot;
|
||||
gpActiveSel = GetFirstPos( iSlot );
|
||||
|
||||
// Wargon: hud_fastswitch äëÿ íîâîãî HUD'à.
|
||||
// Wargon: hud_fastswitch для нового HUD'а.
|
||||
if (gpActiveSel && fastSwitch && !(GetNextActivePos(gpActiveSel->iSlot, gpActiveSel->iSlotPos)) && (iSlot != 0))
|
||||
{
|
||||
ServerCmd(gpActiveSel->szName);
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -14,7 +14,7 @@ class MemBlock
|
||||
public:
|
||||
MemBlock(int numElements)
|
||||
{
|
||||
// элемент 0 используется в качестве начала списка занятых ячеек
|
||||
// элемент 0 используется в качестве начала списка занятых ячеек
|
||||
m_iArraySize = numElements + 1;
|
||||
m_pArray = new chunk_t[m_iArraySize];
|
||||
|
||||
@ -38,7 +38,7 @@ public:
|
||||
{
|
||||
if (m_iArraySize > 1)
|
||||
{
|
||||
m_pArray[0].next = 0; // если он ссылается сам на себя, значит список занятых пуст
|
||||
m_pArray[0].next = 0; // если он ссылается сам на себя, значит список занятых пуст
|
||||
m_iFirstFree = 1;
|
||||
|
||||
for (int i = 1; i < m_iArraySize; ++i)
|
||||
@ -51,9 +51,9 @@ public:
|
||||
if (m_iFirstFree != m_iArraySize)
|
||||
{
|
||||
int savedFirstFree = m_pArray[m_iFirstFree].next;
|
||||
m_pArray[m_iFirstFree].next = m_pArray[0].next; // добавляем свободную ячейку в
|
||||
m_pArray[0].next = m_iFirstFree; // список занятых
|
||||
m_iFirstFree = savedFirstFree; // исключаем ячейку из списка свободных
|
||||
m_pArray[m_iFirstFree].next = m_pArray[0].next; // добавляем свободную ячейку в
|
||||
m_pArray[0].next = m_iFirstFree; // список занятых
|
||||
m_iFirstFree = savedFirstFree; // исключаем ячейку из списка свободных
|
||||
return &(m_pArray[m_pArray[0].next].data);
|
||||
}
|
||||
else
|
||||
@ -67,7 +67,7 @@ public:
|
||||
|
||||
bool StartPass( void )
|
||||
{
|
||||
m_iCurrent = 0; // начинаем обход с нулевого элемента
|
||||
m_iCurrent = 0; // начинаем обход с нулевого элемента
|
||||
|
||||
if (m_iArraySize > 1)
|
||||
return true;
|
||||
@ -92,17 +92,17 @@ public:
|
||||
void DeleteCurrent( void )
|
||||
{
|
||||
int delindex = m_pArray[m_iCurrent].next;
|
||||
m_pArray[m_iCurrent].next = m_pArray[delindex].next; // выбрасываем элемент из цепи занятых
|
||||
m_pArray[m_iCurrent].next = m_pArray[delindex].next; // выбрасываем элемент из цепи занятых
|
||||
m_pArray[delindex].next = m_iFirstFree;
|
||||
m_iFirstFree = delindex; // включаем элемент в начало цепи свободных
|
||||
m_iFirstFree = delindex; // включаем элемент в начало цепи свободных
|
||||
}
|
||||
|
||||
private:
|
||||
chunk_t *m_pArray;
|
||||
int m_iArraySize;
|
||||
int m_iCurrent; // для прохождения через массив
|
||||
int m_iCurrent; // для прохождения через массив
|
||||
|
||||
int m_iFirstFree; // начало списка свободных элементов
|
||||
int m_iFirstFree; // начало списка свободных элементов
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -471,7 +471,7 @@ void MakeLight( void )
|
||||
|
||||
void GammaGraphInit();
|
||||
|
||||
void CanUseInit( void ); // Wargon: Èêîíêà þçà.
|
||||
void CanUseInit( void ); // Wargon: Иконка юза.
|
||||
|
||||
// This is called every time the DLL is loaded
|
||||
void CHud :: Init( void )
|
||||
@ -484,7 +484,7 @@ void CHud :: Init( void )
|
||||
SubtitleInit(); // buz
|
||||
TabPanelInit(); // buz
|
||||
|
||||
CanUseInit(); // Wargon: Èêîíêà þçà.
|
||||
CanUseInit(); // Wargon: Иконка юза.
|
||||
|
||||
// pointer to headshield entity
|
||||
m_pHeadShieldEnt = &head_shield;
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -58,7 +58,7 @@ void CHud::Think(void)
|
||||
m_flDeadTime = gEngfuncs.GetClientTime();
|
||||
}
|
||||
|
||||
// Wargon: Исправление бага эффекта grayscale, остававшегося после загрузки из мертвого состояния.
|
||||
// Wargon: Исправление бага эффекта grayscale, остававшегося после загрузки из мертвого состояния.
|
||||
if (gHUD.m_Health.m_iHealth > 0)
|
||||
{
|
||||
m_flDeadTime = 0;
|
||||
@ -97,7 +97,7 @@ void CHud::Think(void)
|
||||
if( mod < 30 ) mod = 30;
|
||||
|
||||
if( g_iGunMode == 3 || lastFixedFov == 30 )
|
||||
mod *= 2; // хаками халфа полнится (c)
|
||||
mod *= 2; // хаками халфа полнится (c)
|
||||
mod /= 30;
|
||||
|
||||
if( m_flFOV < targetFOV )
|
||||
@ -258,7 +258,7 @@ int CHud :: Redraw( float flTime, int intermission )
|
||||
}
|
||||
|
||||
// buz: draw crosshair
|
||||
// Wargon: Прицел рисуется только если hud_draw = 1.
|
||||
// Wargon: Прицел рисуется только если hud_draw = 1.
|
||||
if(( g_vSpread[0] && g_iGunMode == 1 && m_SpecTank_on == 0 ) && gHUD.m_pCvarDraw->value && cv_crosshair->value )
|
||||
{
|
||||
if( gViewPort && gViewPort->m_pParanoiaText && gViewPort->m_pParanoiaText->isVisible( ))
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
@ -773,7 +773,7 @@ void DLLEXPORT CL_CreateMove ( float frametime, struct usercmd_s *cmd, int activ
|
||||
else if (viewangles[PITCH] < -gHUD.m_SpecTank_coneVer)
|
||||
viewangles[PITCH] = -gHUD.m_SpecTank_coneVer;
|
||||
|
||||
// âñåì ñïàñèáî, âñå ñâîáîäíû
|
||||
// всем спасибо, все свободны
|
||||
gEngfuncs.SetViewAngles( (float *)viewangles );
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -29,7 +29,7 @@ void ShowTip( client_textmessage_t *tempMessage ); // buz
|
||||
void VGuiAddScreenMessage( client_textmessage_t *msg ); // buz
|
||||
void VGuiAddPickupMessage( client_textmessage_t *msg ); // buz
|
||||
|
||||
// Wargon: Ñêðîëëÿùèéñÿ òåêñò.
|
||||
// Wargon: Скроллящийся текст.
|
||||
void VGuiAddScrollingMessage( client_textmessage_t *msg );
|
||||
|
||||
DECLARE_MESSAGE( m_Message, HudText )
|
||||
@ -445,7 +445,7 @@ void CHudMessage::MessageAdd( const char *pName, float time )
|
||||
VGuiAddPickupMessage( tempMessage );
|
||||
return;
|
||||
}
|
||||
else if (tempMessage->effect == 6) // Wargon: Ñêðîëëÿùèéñÿ òåêñò.
|
||||
else if (tempMessage->effect == 6) // Wargon: Скроллящийся текст.
|
||||
{
|
||||
VGuiAddScrollingMessage( tempMessage );
|
||||
return;
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -646,7 +646,7 @@ StudioInterpolateControllers
|
||||
*/
|
||||
void CStudioModelRenderer :: StudioInterpolateControllers( cl_entity_t *e, float dadt )
|
||||
{
|
||||
// buz: хак, позволяющий не интерполировать контроллеры для стационарного пулемета
|
||||
// buz: хак, позволяющий не интерполировать контроллеры для стационарного пулемета
|
||||
if( RI->currententity->curstate.renderfx == 51 )
|
||||
dadt = 1.0f;
|
||||
|
||||
|
@ -16,15 +16,15 @@
|
||||
#include "triangleapi.h"
|
||||
#include "gl_local.h"
|
||||
|
||||
#define DRIPSPEED 900 // скорость падения капель (пикс в сек)
|
||||
#define SNOWSPEED 200 // скорость падения снежинок
|
||||
#define DRIPSPEED 900 // скорость падения капель (пикс в сек)
|
||||
#define SNOWSPEED 200 // скорость падения снежинок
|
||||
#define SNOWFADEDIST 80
|
||||
|
||||
#define MAX_RAIN_VERTICES 65536 // snowflakes and waterrings draw as quads
|
||||
#define MAX_RAIN_INDICES MAX_RAIN_VERTICES * 4
|
||||
|
||||
#define MAXDRIPS 40000 // лимит капель (можно увеличить при необходимости)
|
||||
#define MAXFX 20000 // лимит дополнительных частиц (круги по воде и т.п.)
|
||||
#define MAXDRIPS 40000 // лимит капель (можно увеличить при необходимости)
|
||||
#define MAXFX 20000 // лимит дополнительных частиц (круги по воде и т.п.)
|
||||
|
||||
#define MODE_RAIN 0
|
||||
#define MODE_SNOW 1
|
||||
@ -32,7 +32,7 @@
|
||||
#define DRIP_SPRITE_HALFHEIGHT 46
|
||||
#define DRIP_SPRITE_HALFWIDTH 8
|
||||
#define SNOW_SPRITE_HALFSIZE 3
|
||||
#define MAX_RING_HALFSIZE 25 // "радиус" круга на воде, до которого он разрастается за секунду
|
||||
#define MAX_RING_HALFSIZE 25 // "радиус" круга на воде, до которого он разрастается за секунду
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -47,7 +47,7 @@ typedef struct
|
||||
typedef struct cl_drip
|
||||
{
|
||||
float birthTime;
|
||||
float minHeight; // капля будет уничтожена на этой высоте.
|
||||
float minHeight; // капля будет уничтожена на этой высоте.
|
||||
Vector origin;
|
||||
float alpha;
|
||||
float xDelta; // side speed
|
||||
@ -90,10 +90,10 @@ static int m_iNumVerts, m_iNumIndex;
|
||||
/*
|
||||
=================================
|
||||
ProcessRain
|
||||
Перемещает существующие объекты, удаляет их при надобности,
|
||||
и, если дождь включен, создает новые.
|
||||
Перемещает существующие объекты, удаляет их при надобности,
|
||||
и, если дождь включен, создает новые.
|
||||
|
||||
Должна вызываться каждый кадр.
|
||||
Должна вызываться каждый кадр.
|
||||
=================================
|
||||
*/
|
||||
void ProcessRain( void )
|
||||
@ -132,7 +132,7 @@ void ProcessRain( void )
|
||||
|
||||
cl_drip *curDrip = g_dripsArray.GetCurrent();
|
||||
|
||||
// хранение отладочной информации
|
||||
// хранение отладочной информации
|
||||
float debug_lifetime = 0;
|
||||
int debug_howmany = 0;
|
||||
int debug_attempted = 0;
|
||||
@ -330,7 +330,7 @@ void ProcessRain( void )
|
||||
/*
|
||||
=================================
|
||||
WaterLandingEffect
|
||||
создает круг на водной поверхности
|
||||
создает круг на водной поверхности
|
||||
=================================
|
||||
*/
|
||||
void WaterLandingEffect( cl_drip *drip )
|
||||
@ -362,9 +362,9 @@ void WaterLandingEffect( cl_drip *drip )
|
||||
/*
|
||||
=================================
|
||||
ProcessFXObjects
|
||||
удаляет FX объекты, у которых вышел срок жизни
|
||||
удаляет FX объекты, у которых вышел срок жизни
|
||||
|
||||
Каждый кадр вызывается перед ProcessRain
|
||||
Каждый кадр вызывается перед ProcessRain
|
||||
=================================
|
||||
*/
|
||||
void ProcessFXObjects( void )
|
||||
@ -396,7 +396,7 @@ void ProcessFXObjects( void )
|
||||
/*
|
||||
=================================
|
||||
ResetRain
|
||||
очищает память, удаляя все объекты.
|
||||
очищает память, удаляя все объекты.
|
||||
=================================
|
||||
*/
|
||||
void ResetRain( void )
|
||||
@ -415,7 +415,7 @@ void ResetRain( void )
|
||||
=================================
|
||||
DrawRain
|
||||
|
||||
Рисование капель и снежинок.
|
||||
Рисование капель и снежинок.
|
||||
=================================
|
||||
*/
|
||||
void DrawRain( void )
|
||||
@ -628,7 +628,7 @@ void DrawRain( void )
|
||||
=================================
|
||||
DrawFXObjects
|
||||
|
||||
Рисование водяных кругов
|
||||
Рисование водяных кругов
|
||||
=================================
|
||||
*/
|
||||
void DrawFXObjects( void )
|
||||
@ -738,7 +738,7 @@ void DrawFXObjects( void )
|
||||
/*
|
||||
=================================
|
||||
InitRain
|
||||
Инициализирует все переменные нулевыми значениями.
|
||||
Инициализирует все переменные нулевыми значениями.
|
||||
=================================
|
||||
*/
|
||||
void InitRain( void )
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -158,7 +158,7 @@ public:
|
||||
drawSetTextFont(m_pFont);
|
||||
drawSetTextColor(0, 250, 0, 0);
|
||||
|
||||
fff char* pos = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
|
||||
fff char* pos = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
|
||||
int xpos = 0;
|
||||
|
||||
while(*pos != 0)
|
||||
@ -168,7 +168,7 @@ public:
|
||||
xpos += 16;
|
||||
}
|
||||
|
||||
pos = "абвгдежзийклмнопрстуфхцчшщъыьэюя";
|
||||
pos = "абвгдежзийклмнопрстуфхцчшщъыьэюя";
|
||||
xpos = 0;
|
||||
|
||||
while(*pos != 0)
|
||||
@ -178,7 +178,7 @@ public:
|
||||
xpos += 16;
|
||||
} fffffffffff
|
||||
drawSetTextPos(0,17);
|
||||
char* textstring = "Изначально именовалась в правительственных объектах...";
|
||||
char* textstring = "Изначально именовалась в правительственных объектах...";
|
||||
drawPrintText(textstring, strlen(textstring) - 1);
|
||||
|
||||
int xpos = 0;
|
||||
@ -192,7 +192,7 @@ public:
|
||||
}
|
||||
|
||||
int wide, tall;
|
||||
m_pFont->getTextSize("Изначально именовалась в правительственных объектах...", wide, tall);
|
||||
m_pFont->getTextSize("Изначально именовалась в правительственных объектах...", wide, tall);
|
||||
drawSetColor(100, 0, 0, 0);
|
||||
drawFilledRect(0, 34, wide, 34+tall);
|
||||
//gEngfuncs.Con_Printf("wide %d, tall %d\n", wide, tall);
|
||||
@ -650,7 +650,7 @@ TeamFortressViewport::TeamFortressViewport(int x,int y,int wide,int tall) : Pane
|
||||
m_pRadio = NULL; // buz
|
||||
m_pGamma = NULL; // buz
|
||||
|
||||
// Wargon: Скроллящийся текст.
|
||||
// Wargon: Скроллящийся текст.
|
||||
m_pScrollingMsg = NULL;
|
||||
|
||||
CreatePickupMessagePanels(); // buz
|
||||
@ -754,7 +754,7 @@ TeamFortressViewport::TeamFortressViewport(int x,int y,int wide,int tall) : Pane
|
||||
m_pScreenMsg = new CScreenMessage();
|
||||
m_pScreenMsg->setParent(this);
|
||||
|
||||
// Wargon: Скроллящийся текст.
|
||||
// Wargon: Скроллящийся текст.
|
||||
m_pScrollingMsg = new CScrollingMessage();
|
||||
m_pScrollingMsg->setParent(this);
|
||||
}
|
||||
@ -802,7 +802,7 @@ void TeamFortressViewport::Initialize( void )
|
||||
m_pTips->Initialize(); // buz
|
||||
if (m_pScreenMsg)
|
||||
m_pScreenMsg->Initialize(); // buz
|
||||
// Wargon: Скроллящийся текст.
|
||||
// Wargon: Скроллящийся текст.
|
||||
if (m_pScrollingMsg)
|
||||
m_pScrollingMsg->Initialize();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
@ -137,7 +137,7 @@ class CTips;
|
||||
class CScreenMessage;
|
||||
class CGammaView;
|
||||
|
||||
// Wargon: Ñêðîëëÿùèéñÿ òåêñò.
|
||||
// Wargon: Скроллящийся текст.
|
||||
class CScrollingMessage;
|
||||
|
||||
char* GetVGUITGAName(const char *pszName);
|
||||
@ -670,7 +670,7 @@ public:
|
||||
CGammaView *m_pGamma;
|
||||
CScreenMessage *m_pScreenMsg;
|
||||
|
||||
// Wargon: Ñêðîëëÿùèéñÿ òåêñò.
|
||||
// Wargon: Скроллящийся текст.
|
||||
CScrollingMessage *m_pScrollingMsg;
|
||||
};
|
||||
|
||||
|
@ -30,13 +30,13 @@
|
||||
#define HEALTH_ZERO_ALPHA 150
|
||||
#define HEALTH_ALPHA 70
|
||||
|
||||
// Wargon: Èêîíêà þçà.
|
||||
// Wargon: Иконка юза.
|
||||
#define USAGE_FADE_TIME 1
|
||||
#define USAGE_ALPHA 70
|
||||
|
||||
static int resArray[] = { 320, 400, 512, 640, 800, 1024, 1152, 1280, 1600 };
|
||||
|
||||
// Wargon: Èêîíêà þçà.
|
||||
// Wargon: Иконка юза.
|
||||
int CanUseStatus;
|
||||
int __MsgFunc_CanUse( const char *pszName, int iSize, void *pbuf )
|
||||
{
|
||||
@ -160,7 +160,7 @@ void CHud2::Initialize()
|
||||
armor = -1;
|
||||
stamina = 1;
|
||||
m_fMedkitUpdateTime = 0;
|
||||
m_fUsageUpdateTime = 0; // Wargon: Èêîíêà þçà.
|
||||
m_fUsageUpdateTime = 0; // Wargon: Иконка юза.
|
||||
}
|
||||
|
||||
CHud2::CHud2() : Panel(0, 0, XRES(640), YRES(480))
|
||||
@ -396,7 +396,7 @@ CHud2::CHud2() : Panel(0, 0, XRES(640), YRES(480))
|
||||
}
|
||||
|
||||
//
|
||||
// Wargon: Èêîíêà þçà.
|
||||
// Wargon: Иконка юза.
|
||||
//
|
||||
m_pUsageIcon = new CImageLabel( "usage", ScreenWidth / 2 - 12, ScreenHeight / 2 + 100 );
|
||||
|
||||
@ -443,7 +443,7 @@ void CHud2::solve()
|
||||
{
|
||||
float curtime = gEngfuncs.GetClientTime();
|
||||
|
||||
// Wargon: Èêîíêà þçà.
|
||||
// Wargon: Иконка юза.
|
||||
if (m_pUsageIcon)
|
||||
{
|
||||
m_fUsageUpdateTime = curtime;
|
||||
@ -685,7 +685,7 @@ void CHud2::paint()
|
||||
//
|
||||
// draw ammo counters
|
||||
//
|
||||
if ( ShouldDrawHUD() ) // Wargon: Èíôîðìàöèÿ î ïàòðîíàõ ðèñóåòñÿ òîëüêî åñëè hud_draw = 1.
|
||||
if ( ShouldDrawHUD() ) // Wargon: Информация о патронах рисуется только если hud_draw = 1.
|
||||
{
|
||||
WEAPON *pw = gHUD.m_Ammo.m_pWeapon; // shorthand
|
||||
if (gHUD.m_SpecTank_on)
|
||||
|
@ -30,7 +30,7 @@ protected:
|
||||
virtual void paint();
|
||||
|
||||
protected:
|
||||
// Wargon: <EFBFBD>ךמםךא חא.
|
||||
// Wargon: Иконка юза.
|
||||
CImageLabel *m_pUsageIcon;
|
||||
float m_fUsageUpdateTime;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -17,8 +17,8 @@ extern engine_studio_api_t IEngineStudio;
|
||||
#define WSIZE_X XRES(400);
|
||||
#define WSIZE_Y YRES(400);
|
||||
|
||||
// возвращает 1, если тэг существует, и 0 в случае конца файла
|
||||
// ptext останавливается на открывающей скобке тэга
|
||||
// возвращает 1, если тэг существует, и 0 в случае конца файла
|
||||
// ptext останавливается на открывающей скобке тэга
|
||||
int FindNextTag(char* &ptext)
|
||||
{
|
||||
while (*ptext != '<')
|
||||
@ -29,7 +29,7 @@ int FindNextTag(char* &ptext)
|
||||
ptext++;
|
||||
}
|
||||
|
||||
// теперь надо убедиться, что тэг имеет закрывающую скобку
|
||||
// теперь надо убедиться, что тэг имеет закрывающую скобку
|
||||
char* hlp = ptext;
|
||||
while (*hlp != '>')
|
||||
{
|
||||
@ -43,10 +43,10 @@ int FindNextTag(char* &ptext)
|
||||
}
|
||||
|
||||
|
||||
// получает указатель на начало названия тэга, и доходит либо до пробела, либо
|
||||
// до закрывающей скобки
|
||||
// размер буфера - 32 символа
|
||||
// возвращает 1, если у тэга есть параметры, и 0 - если нету
|
||||
// получает указатель на начало названия тэга, и доходит либо до пробела, либо
|
||||
// до закрывающей скобки
|
||||
// размер буфера - 32 символа
|
||||
// возвращает 1, если у тэга есть параметры, и 0 - если нету
|
||||
int GetTagName(char* &ptext, char* bufTagName)
|
||||
{
|
||||
char* pstart = ptext;
|
||||
@ -79,40 +79,40 @@ int GetTagName(char* &ptext, char* bufTagName)
|
||||
}
|
||||
|
||||
|
||||
// получает указатель на место сразу за именем тэга, и возвращает его параметры в буферах
|
||||
// буферы должны быть размером в 32 байта
|
||||
// предполагает, что конец файла наступить не должен до закрывающей скобки
|
||||
// получает указатель на место сразу за именем тэга, и возвращает его параметры в буферах
|
||||
// буферы должны быть размером в 32 байта
|
||||
// предполагает, что конец файла наступить не должен до закрывающей скобки
|
||||
int GetTagParameter(char* &ptext, char* bufParamName, char* bufParamValue)
|
||||
{
|
||||
// пропускаем начальные пробелы и переносы
|
||||
// пропускаем начальные пробелы и переносы
|
||||
while (*ptext == ' ' || *ptext == '\n')
|
||||
ptext++;
|
||||
|
||||
// начинаем чтение названия параметра
|
||||
// начинаем чтение названия параметра
|
||||
char* start = ptext;
|
||||
while (*ptext != '=')
|
||||
{
|
||||
if (*ptext == '>')
|
||||
{
|
||||
ptext++;
|
||||
return 0; // тэг кончился
|
||||
return 0; // тэг кончился
|
||||
}
|
||||
|
||||
ptext++;
|
||||
}
|
||||
|
||||
int paramNameLength = ptext - start;
|
||||
if (paramNameLength > 31) paramNameLength = 31; // обрезать по буферу
|
||||
if (paramNameLength > 31) paramNameLength = 31; // обрезать по буферу
|
||||
|
||||
memcpy(bufParamName, start, paramNameLength);
|
||||
bufParamName[paramNameLength] = 0;
|
||||
|
||||
// теперь читаем его значение
|
||||
ptext++; // перепрыгиваем знак равно
|
||||
// теперь читаем его значение
|
||||
ptext++; // перепрыгиваем знак равно
|
||||
|
||||
if (*ptext == '\"')
|
||||
{
|
||||
// аргумент заключен в кавычки
|
||||
// аргумент заключен в кавычки
|
||||
ptext++;
|
||||
start = ptext;
|
||||
while (1)
|
||||
@ -339,7 +339,7 @@ private:
|
||||
void OrthoQuad(int x1, int y1, int x2, int y2);
|
||||
|
||||
//==================================
|
||||
// CMainPanel - главная панель окна.
|
||||
// CMainPanel - главная панель окна.
|
||||
//==================================
|
||||
class CMainPanel : public Panel, public CRenderable
|
||||
{
|
||||
@ -473,7 +473,7 @@ private:
|
||||
};
|
||||
|
||||
//==================================
|
||||
// CMyButton - кнопка закрытия окна
|
||||
// CMyButton - кнопка закрытия окна
|
||||
//==================================
|
||||
class CMyButton : public Button, public CRenderable
|
||||
{
|
||||
@ -569,7 +569,7 @@ private:
|
||||
|
||||
|
||||
//==================================
|
||||
// CMySlider - ползунок прокрутки в стиле паранойи
|
||||
// CMySlider - ползунок прокрутки в стиле паранойи
|
||||
//==================================
|
||||
class CMySlider : public Slider
|
||||
{
|
||||
@ -603,7 +603,7 @@ public:
|
||||
|
||||
|
||||
//==================================
|
||||
// CMyScrollButton - кнопка прокрутки
|
||||
// CMyScrollButton - кнопка прокрутки
|
||||
//==================================
|
||||
class CMyScrollbutton : public Button
|
||||
{
|
||||
@ -656,7 +656,7 @@ public:
|
||||
|
||||
|
||||
//==================================
|
||||
// CMyScrollPanel - прокручиваемая панель
|
||||
// CMyScrollPanel - прокручиваемая панель
|
||||
//==================================
|
||||
class CMyScrollPanel : public ScrollPanel, public CRenderable
|
||||
{
|
||||
@ -1336,7 +1336,7 @@ int CParanoiaTextPanel::KeyInput(int down, int keynum, const char *pszCurrentBin
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Wargon: Консоль, функциональные клавиши и кнопки мыши пропускаются.
|
||||
// Wargon: Консоль, функциональные клавиши и кнопки мыши пропускаются.
|
||||
case 96:
|
||||
case 126:
|
||||
case K_F1:
|
||||
@ -1359,7 +1359,7 @@ int CParanoiaTextPanel::KeyInput(int down, int keynum, const char *pszCurrentBin
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Wargon: Все остальные клавиши блокируются.
|
||||
// Wargon: Все остальные клавиши блокируются.
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
int KeyInput(int down, int keynum, const char *pszCurrentBinding);
|
||||
void paint();
|
||||
void ResetBackground();
|
||||
// void StateChanged(CCheckButton2 *pButton); // будет использовано для переключения режима отрисовки мира
|
||||
// void StateChanged(CCheckButton2 *pButton); // будет использовано для переключения режима отрисовки мира
|
||||
char m_loadedFileName[128];
|
||||
|
||||
void Render( void )
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
m_fadein = msg->fadein;
|
||||
m_fadeout = msg->fadeout;
|
||||
|
||||
// Wargon: Если координаты заданы неправильно, то текст просто центрируется.
|
||||
// Wargon: Если координаты заданы неправильно, то текст просто центрируется.
|
||||
if (msg->x < 0 || msg->x > 1 || msg->y < 0 || msg->y > 1)
|
||||
{
|
||||
// gEngfuncs.Con_Printf("Error: invalid message coordinates!\n");
|
||||
@ -98,7 +98,7 @@ protected:
|
||||
float m_fadeout;
|
||||
};
|
||||
|
||||
// Wargon: Код скроллящегося снизу вверх текста. Использован $effect 6.
|
||||
// Wargon: Код скроллящегося снизу вверх текста. Использован $effect 6.
|
||||
class CScrollingMessage : public ShadowTextPanel
|
||||
{
|
||||
public:
|
||||
|
@ -196,7 +196,7 @@ void CTips::paintBackground()
|
||||
|
||||
|
||||
|
||||
// неважно, куда-бы это засунуть..
|
||||
// неважно, куда-бы это засунуть..
|
||||
|
||||
#include "vgui_screenmsg.h"
|
||||
|
||||
@ -210,7 +210,7 @@ void VGuiAddScreenMessage( client_textmessage_t *msg )
|
||||
gEngfuncs.Con_Printf("Screenmessage error: ViewPort is not constructed!\n");
|
||||
}
|
||||
|
||||
// Wargon: Засуну и я это сюда. )
|
||||
// Wargon: Засуну и я это сюда. )
|
||||
void VGuiAddScrollingMessage( client_textmessage_t *msg )
|
||||
{
|
||||
if (gViewPort && gViewPort->m_pScrollingMsg)
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 2003, Valve LLC, All rights reserved. ==========
|
||||
//========= Copyright © 2003, Valve LLC, All rights reserved. ==========
|
||||
//
|
||||
// Purpose: Hooks and classes for the support of humanoid NPCs with
|
||||
// groovy facial animation capabilities, aka, "Actors"
|
||||
|
@ -333,7 +333,7 @@ void UTIL_InitAmmoDescription( const char *filename )
|
||||
|
||||
LINK_ENTITY_TO_CLASS( ammo_generic, CBasePlayerAmmo );
|
||||
|
||||
// Wargon: SaveData для юзабельности патронов.
|
||||
// Wargon: SaveData для юзабельности патронов.
|
||||
TYPEDESCRIPTION CBasePlayerAmmo::m_SaveData[] =
|
||||
{
|
||||
DEFINE_FIELD( CBasePlayerAmmo, m_bCustomAmmo, FIELD_BOOLEAN ),
|
||||
@ -412,7 +412,7 @@ void CBasePlayerAmmo :: Spawn( void )
|
||||
if( !FBitSet( ObjectCaps(), FCAP_USE_ONLY ) || FBitSet( pev->spawnflags, SF_NORESPAWN ))
|
||||
SetTouch( &CBasePlayerAmmo:: DefaultTouch );
|
||||
|
||||
// Wargon: Патроны юзабельны.
|
||||
// Wargon: Патроны юзабельны.
|
||||
SetUse( &CBasePlayerAmmo :: DefaultUse );
|
||||
m_iAmmoCaps = CBaseEntity::ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
}
|
||||
@ -433,7 +433,7 @@ CBaseEntity *CBasePlayerAmmo :: Respawn( void )
|
||||
SetBits( pev->effects, EF_NODRAW );
|
||||
SetTouch( NULL );
|
||||
|
||||
// Wargon: Патроны неюзабельны.
|
||||
// Wargon: Патроны неюзабельны.
|
||||
SetUse( NULL );
|
||||
m_iAmmoCaps = CBaseEntity::ObjectCaps();
|
||||
|
||||
@ -459,7 +459,7 @@ void CBasePlayerAmmo :: Materialize( void )
|
||||
if( !FBitSet( ObjectCaps(), FCAP_USE_ONLY ))
|
||||
SetTouch( &CBasePlayerAmmo:: DefaultTouch );
|
||||
|
||||
// Wargon: Патроны юзабельны.
|
||||
// Wargon: Патроны юзабельны.
|
||||
SetUse( &CBasePlayerAmmo :: DefaultUse );
|
||||
m_iAmmoCaps = CBaseEntity :: ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
}
|
||||
@ -481,7 +481,7 @@ void CBasePlayerAmmo :: DefaultTouch( CBaseEntity *pOther )
|
||||
{
|
||||
SetTouch( NULL );
|
||||
|
||||
// Wargon: Патроны неюзабельны.
|
||||
// Wargon: Патроны неюзабельны.
|
||||
SetUse( NULL );
|
||||
m_iAmmoCaps = CBaseEntity :: ObjectCaps();
|
||||
SetThink( &CBasePlayerAmmo :: SUB_Remove );
|
||||
@ -493,7 +493,7 @@ void CBasePlayerAmmo :: DefaultTouch( CBaseEntity *pOther )
|
||||
// evil impulse 101 hack, kill always
|
||||
SetTouch( NULL );
|
||||
|
||||
// Wargon: Патроны неюзабельны.
|
||||
// Wargon: Патроны неюзабельны.
|
||||
SetUse( NULL );
|
||||
m_iAmmoCaps = CBaseEntity :: ObjectCaps();
|
||||
|
||||
|
@ -61,7 +61,7 @@ class CApache : public CBaseMonster
|
||||
int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType );
|
||||
void TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
|
||||
|
||||
// Wargon: Оверрайд релатионшипа вертолета. (1.1)
|
||||
// Wargon: Оверрайд релатионшипа вертолета. (1.1)
|
||||
int IRelationship( CBaseEntity *pTarget );
|
||||
|
||||
int m_iRockets;
|
||||
@ -196,7 +196,7 @@ void CApache::NullThink( void )
|
||||
|
||||
void CApache::StartupUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||||
{
|
||||
// Wargon: Фикс несбиваемости вертолета.
|
||||
// Wargon: Фикс несбиваемости вертолета.
|
||||
pev->spawnflags &= ~SF_MONSTER_INVINCIBLE;
|
||||
|
||||
SetThink(&CApache:: HuntThink );
|
||||
@ -219,7 +219,7 @@ void CApache :: Killed( entvars_t *pevAttacker, int iGib )
|
||||
pev->health = 0;
|
||||
pev->takedamage = DAMAGE_NO;
|
||||
|
||||
// Wargon: Фикс несрабатывания триггера при смерти вертолета.
|
||||
// Wargon: Фикс несрабатывания триггера при смерти вертолета.
|
||||
pev->deadflag = DEAD_DEAD;
|
||||
FCheckAITrigger();
|
||||
|
||||
@ -494,7 +494,7 @@ void CApache :: HuntThink( void )
|
||||
m_flPrevSeen = gpGlobals->time;
|
||||
m_flLastSeen = gpGlobals->time;
|
||||
|
||||
// Wargon: Фикс точки прицеливания.
|
||||
// Wargon: Фикс точки прицеливания.
|
||||
m_posTarget = m_hEnemy->Center() + Vector( -16, 16, 64 );
|
||||
}
|
||||
else
|
||||
@ -958,7 +958,7 @@ void CApache::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Вертолет не считает альфовцев врагами. (1.1)
|
||||
// Wargon: Вертолет не считает альфовцев врагами. (1.1)
|
||||
int CApache::IRelationship ( CBaseEntity *pTarget )
|
||||
{
|
||||
if (FClassnameIs(pTarget->pev, "monster_human_alpha"))
|
||||
|
@ -56,7 +56,7 @@ public:
|
||||
void RunTask( Task_t *pTask );
|
||||
void StartTask( Task_t *pTask );
|
||||
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
virtual int ObjectCaps( void ) { if (pev->deadflag == DEAD_NO) return CTalkMonster :: ObjectCaps() | FCAP_IMPULSE_USE | FCAP_DISTANCE_USE; else return CTalkMonster::ObjectCaps(); }
|
||||
|
||||
int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType);
|
||||
|
@ -549,7 +549,7 @@ int CBaseButton::ObjectCaps( void )
|
||||
return (CBaseToggle:: ObjectCaps() & ~FCAP_ACROSS_TRANSITION) |
|
||||
(pev->takedamage?0:FCAP_IMPULSE_USE) |
|
||||
(pev->spawnflags & SF_BUTTON_ONLYDIRECT?FCAP_ONLYDIRECT_USE:0) |
|
||||
(m_hide_use?FCAP_HIDE_USE:0); // Wargon: Иконка юза не будет отображаться на этой энтити если m_hide_use = 1.
|
||||
(m_hide_use?FCAP_HIDE_USE:0); // Wargon: Иконка юза не будет отображаться на этой энтити если m_hide_use = 1.
|
||||
}
|
||||
|
||||
TYPEDESCRIPTION CBaseButton::m_SaveData[] =
|
||||
@ -557,7 +557,7 @@ TYPEDESCRIPTION CBaseButton::m_SaveData[] =
|
||||
DEFINE_FIELD( CBaseButton, m_fStayPushed, FIELD_BOOLEAN ),
|
||||
DEFINE_FIELD( CBaseButton, m_fRotating, FIELD_BOOLEAN ),
|
||||
|
||||
// Wargon: Сохранение m_hide_use.
|
||||
// Wargon: Сохранение m_hide_use.
|
||||
DEFINE_FIELD( CBaseButton, m_hide_use, FIELD_INTEGER ),
|
||||
|
||||
DEFINE_FIELD( CBaseButton, m_sounds, FIELD_INTEGER ),
|
||||
@ -670,7 +670,7 @@ void CBaseButton::KeyValue( KeyValueData *pkvd )
|
||||
m_sounds = atoi(pkvd->szValue);
|
||||
pkvd->fHandled = TRUE;
|
||||
}
|
||||
// Wargon: hide_use используется для скрытия иконки юза.
|
||||
// Wargon: hide_use используется для скрытия иконки юза.
|
||||
else if (FStrEq(pkvd->szKeyName, "hide_use"))
|
||||
{
|
||||
m_hide_use = atoi(pkvd->szValue);
|
||||
|
@ -53,7 +53,7 @@ CBaseEntity
|
||||
// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!!
|
||||
#define FCAP_FORCE_TRANSITION 0x00000080 // ALWAYS goes across transitions
|
||||
|
||||
// Wargon: Ýíòèòÿ íå áóäåò ïîêàçûâàòü èêîíêó þçà, äàæå åñëè îíà þçàáåëüíà.
|
||||
// Wargon: Энтитя не будет показывать иконку юза, даже если она юзабельна.
|
||||
#define FCAP_HIDE_USE 0x00000400
|
||||
|
||||
#include "saverestore.h"
|
||||
@ -191,7 +191,7 @@ public:
|
||||
Vector m_vecPostAssistVel; // LRC
|
||||
Vector m_vecPostAssistAVel; // LRC
|
||||
float m_fNextThink; // LRC - for SetNextThink and SetPhysThink. Marks the time when a think will be performed - not necessarily the same as pev->nextthink!
|
||||
float m_fPevNextThink; // LRC - always set equal to pev->nextthink, so that we can tell when the latter gets changed by the @#$^¬! engine.
|
||||
float m_fPevNextThink; // LRC - always set equal to pev->nextthink, so that we can tell when the latter gets changed by the @#$^В¬! engine.
|
||||
int m_iLFlags; // LRC- a new set of flags. (pev->spawnflags and pev->flags are full...)
|
||||
virtual void DesiredAction( void ) {}; // LRC - for postponing stuff until PostThink time, not as a think.
|
||||
int m_iStyle; // LRC - almost anything can have a lightstyle these days...
|
||||
@ -788,7 +788,7 @@ public:
|
||||
#define DMG_MORTAR (1 << 23) // Hit by air raid (done to distinguish grenade from mortar)
|
||||
|
||||
// these are the damage types that are allowed to gib corpses
|
||||
#define DMG_GIB_CORPSE ( DMG_CRUSH | DMG_FALL | DMG_BLAST | DMG_SONIC /* | DMG_CLUB */ ) // Wargon: DMG_CLUB íå ìîæåò ãèáàòü òðóïû.
|
||||
#define DMG_GIB_CORPSE ( DMG_CRUSH | DMG_FALL | DMG_BLAST | DMG_SONIC /* | DMG_CLUB */ ) // Wargon: DMG_CLUB не может гибать трупы.
|
||||
|
||||
// these are the damage types that have client hud art
|
||||
#define DMG_SHOWNHUD (DMG_POISON | DMG_ACID | DMG_FREEZE | DMG_SLOWFREEZE | DMG_DROWN | DMG_BURN | DMG_SLOWBURN | DMG_NERVEGAS | DMG_RADIATION | DMG_SHOCK)
|
||||
@ -891,7 +891,7 @@ public:
|
||||
BYTE m_bUnlockedSentence;
|
||||
int m_sounds;
|
||||
|
||||
// Wargon: Ïåðåìåííàÿ äëÿ ñêðûòèÿ èêîíêè þçà.
|
||||
// Wargon: Переменная для скрытия иконки юза.
|
||||
int m_hide_use;
|
||||
};
|
||||
|
||||
|
@ -1136,7 +1136,7 @@ int CBaseMonster :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker,
|
||||
{
|
||||
Killed( pevAttacker, GIB_ALWAYS );
|
||||
}
|
||||
// Wargon: Никогда не гибать если тип дамаги - DMG_SLASH. (1.1)
|
||||
// Wargon: Никогда не гибать если тип дамаги - DMG_SLASH. (1.1)
|
||||
else if ((bitsDamageType & DMG_NEVERGIB) || (bitsDamageType & DMG_SLASH))
|
||||
{
|
||||
Killed( pevAttacker, GIB_NEVER );
|
||||
@ -1636,14 +1636,14 @@ void CBaseMonster :: TraceAttack( entvars_t *pevAttacker, float flDamage, Vector
|
||||
m_LastHitGroup = ptr->iHitgroup;
|
||||
TraceBleed( flDamage, vecDir, ptr, bitsDamageType );
|
||||
|
||||
TraceResult btr; // Wargon: Переменная для трейса декали мозгов от хедшотов.
|
||||
TraceResult btr; // Wargon: Переменная для трейса декали мозгов от хедшотов.
|
||||
|
||||
switch ( ptr->iHitgroup )
|
||||
{
|
||||
case HITGROUP_GENERIC:
|
||||
break;
|
||||
case HITGROUP_HEAD:
|
||||
// Wargon: Декаль мозгов от хедшотов.
|
||||
// Wargon: Декаль мозгов от хедшотов.
|
||||
UTIL_TraceLine( ptr->vecEndPos, ptr->vecEndPos + vecDir * 172, ignore_monsters, ENT(pev), &btr );
|
||||
UTIL_TraceCustomDecal( &btr, "brains", RANDOM_FLOAT( 0.0f, 360.0f ));
|
||||
|
||||
@ -1669,7 +1669,7 @@ void CBaseMonster :: TraceAttack( entvars_t *pevAttacker, float flDamage, Vector
|
||||
break;
|
||||
}
|
||||
|
||||
SpawnBlood(ptr->vecEndPos, BloodColor(), flDamage * 2); // Wargon: Побольше крови.
|
||||
SpawnBlood(ptr->vecEndPos, BloodColor(), flDamage * 2); // Wargon: Побольше крови.
|
||||
AddMultiDamage( pevAttacker, this, flDamage, bitsDamageType );
|
||||
}
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ public:
|
||||
|
||||
inline float MaxSpeed( void ) { return m_maxSpeed; }
|
||||
|
||||
// NCL: Ĺńëč ńňîčň ôëŕă Breakable
|
||||
// NCL: Если стоит флаг Breakable
|
||||
virtual int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType );
|
||||
|
||||
static TYPEDESCRIPTION m_SaveData[];
|
||||
@ -561,7 +561,7 @@ If the material is "plaster" let's do more movement.
|
||||
// pev->avelocity.z = cos( AngleBetweenVectors( vecDir, rup ) ) * force * 2;//fooz
|
||||
// pev->avelocity.z = sin( AngleBetweenVectors( vecDir, rup ) ) * force * 2;//fooz
|
||||
|
||||
ALERT( at_console, "X : %3.1f %3.1f° Y: %3.1f %3.1f°\n", pev->avelocity.x, AngleBetweenVectors( vecDir, rup ), pev->avelocity.y, AngleBetweenVectors( vecDir, -rright ) );
|
||||
ALERT( at_console, "X : %3.1f %3.1f° Y: %3.1f %3.1f°\n", pev->avelocity.x, AngleBetweenVectors( vecDir, rup ), pev->avelocity.y, AngleBetweenVectors( vecDir, -rright ) );
|
||||
|
||||
pev->velocity = pev->velocity /*+ gpGlobals->v_up * force * RANDOM_FLOAT( 0, 0.5 )*/ + vecDir * force * RANDOM_FLOAT( 0.5, 1.0 );
|
||||
|
||||
|
@ -419,7 +419,7 @@ cvar_t sk_player_leg1 = { "sk_player_leg1","1" };
|
||||
cvar_t sk_player_leg2 = { "sk_player_leg2","1" };
|
||||
cvar_t sk_player_leg3 = { "sk_player_leg3","1" };
|
||||
|
||||
// Wargon: Ìíîæèòåëè äàìàãè äëÿ monster_zombie. (1.1)
|
||||
// Wargon: Множители дамаги для monster_zombie. (1.1)
|
||||
cvar_t sk_zombie_head1 = { "sk_zombie_head1","2" };
|
||||
cvar_t sk_zombie_head2 = { "sk_zombie_head2","2" };
|
||||
cvar_t sk_zombie_head3 = { "sk_zombie_head3","2" };
|
||||
@ -540,7 +540,7 @@ cvar_t bullet_punch_divide = {"bullet_punch_divide","8"};
|
||||
cvar_t blast_punch_max = {"blast_punch_max","100"};
|
||||
cvar_t blast_punch_divide = {"blast_punch_divide","5"};
|
||||
|
||||
// Wargon: Ïàòðîíû èç ìåðòâûõ âðàæèí. (1.1)
|
||||
// Wargon: Патроны из мертвых вражин. (1.1)
|
||||
cvar_t sk_dead_enemy_ammo1 = {"sk_dead_enemy_ammo1","0"};
|
||||
cvar_t sk_dead_enemy_ammo2 = {"sk_dead_enemy_ammo2","0"};
|
||||
cvar_t sk_dead_enemy_ammo3 = {"sk_dead_enemy_ammo3","0"};
|
||||
@ -952,7 +952,7 @@ void GameDLLInit( void )
|
||||
CVAR_REGISTER ( &sk_player_leg2 );
|
||||
CVAR_REGISTER ( &sk_player_leg3 );
|
||||
|
||||
// Wargon: Ìíîæèòåëè äàìàãè äëÿ monster_zombie. (1.1)
|
||||
// Wargon: Множители дамаги для monster_zombie. (1.1)
|
||||
CVAR_REGISTER ( &sk_zombie_head1 );
|
||||
CVAR_REGISTER ( &sk_zombie_head2 );
|
||||
CVAR_REGISTER ( &sk_zombie_head3 );
|
||||
@ -1063,7 +1063,7 @@ void GameDLLInit( void )
|
||||
CVAR_REGISTER ( &blast_punch_max );
|
||||
CVAR_REGISTER ( &blast_punch_divide );
|
||||
|
||||
// Wargon: Ïàòðîíû èç ìåðòâûõ âðàæèí. (1.1)
|
||||
// Wargon: Патроны из мертвых вражин. (1.1)
|
||||
CVAR_REGISTER ( &sk_dead_enemy_ammo1 );
|
||||
CVAR_REGISTER ( &sk_dead_enemy_ammo2 );
|
||||
CVAR_REGISTER ( &sk_dead_enemy_ammo3 );
|
||||
|
@ -301,7 +301,7 @@ void CGameRules::RefreshSkillData ( void )
|
||||
gSkillData.plrLeg = GetSkillCvar( "sk_player_leg" );
|
||||
gSkillData.plrArm = GetSkillCvar( "sk_player_arm" );
|
||||
|
||||
// Wargon: Ìíîæèòåëè äàìàãè äëÿ monster_zombie. (1.1)
|
||||
// Wargon: Множители дамаги для monster_zombie. (1.1)
|
||||
gSkillData.zomHead = GetSkillCvar( "sk_zombie_head" );
|
||||
gSkillData.zomChest = GetSkillCvar( "sk_zombie_chest" );
|
||||
gSkillData.zomStomach = GetSkillCvar( "sk_zombie_stomach" );
|
||||
@ -317,7 +317,7 @@ void CGameRules::RefreshSkillData ( void )
|
||||
gSkillData.plrPrimaryMaxSpeed = GetSkillCvar( "sk_primary_speed" );
|
||||
gSkillData.plrSecondaryMaxSpeed = GetSkillCvar( "sk_secondary_speed" );
|
||||
|
||||
// Wargon: Ïàòðîíû èç ìåðòâûõ âðàæèí. (1.1)
|
||||
// Wargon: Патроны из мертвых вражин. (1.1)
|
||||
gSkillData.maxDeadEnemyAmmo = GetSkillCvar( "sk_dead_enemy_ammo" );
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ void CGrenade::Explode( TraceResult *pTrace, int bitsDamageType )
|
||||
WRITE_COORD( pev->origin.z -= 18 );
|
||||
if (iContents != CONTENTS_WATER)
|
||||
{
|
||||
WRITE_SHORT( g_sModelIndexNull ); // çàãëóøêà...
|
||||
WRITE_SHORT( g_sModelIndexNull ); // заглушка...
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -74,7 +74,7 @@ void CHandGrenade :: WeaponIdle( void )
|
||||
{
|
||||
if ( m_flReleaseThrow > 0.0f )
|
||||
{
|
||||
// buz: уже кинули, теперь надо достать новую или переключить оружие
|
||||
// buz: уже кинули, теперь надо достать новую или переключить оружие
|
||||
m_flStartThrow = 0.0f;
|
||||
m_flReleaseThrow = -1.0f;
|
||||
|
||||
|
@ -201,7 +201,7 @@ public:
|
||||
virtual void SpeakSentence( void );
|
||||
virtual void SetEyePosition ( void ); // buz
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
virtual int ObjectCaps( void ) { return CSquadMonster::ObjectCaps() | (m_iDeadAmmo?FCAP_IMPULSE_USE:0); }
|
||||
int m_iDeadAmmo;
|
||||
void EXPORT DeadUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||||
@ -277,7 +277,7 @@ TYPEDESCRIPTION CHGrunt::m_SaveData[] =
|
||||
// DEFINE_FIELD( CShotgun, m_iBrassShell, FIELD_INTEGER ),
|
||||
// DEFINE_FIELD( CShotgun, m_iShotgunShell, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( CHGrunt, m_iSentence, FIELD_INTEGER ),
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
DEFINE_FIELD( CHGrunt, m_iDeadAmmo, FIELD_INTEGER ),
|
||||
};
|
||||
|
||||
@ -1211,7 +1211,7 @@ void CHGrunt :: Spawn()
|
||||
|
||||
CTalkMonster::g_talkWaitTime = 0;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
m_iDeadAmmo = 0;
|
||||
|
||||
MonsterInit();
|
||||
@ -1252,7 +1252,7 @@ void CHGrunt :: Precache()
|
||||
|
||||
PRECACHE_SOUND("zombie/claw_miss2.wav");// because we use the basemonster SWIPE animation event
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||
|
||||
// get voice pitch
|
||||
@ -2338,7 +2338,7 @@ Schedule_t *CHGrunt :: GetSchedule( void )
|
||||
}
|
||||
switch ( m_MonsterState )
|
||||
{
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_ALERT:
|
||||
|
||||
if (m_cAmmoLoaded < m_cClipSize / 2)
|
||||
@ -2893,7 +2893,7 @@ void CHGrunt :: SetEyePosition ( void )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CHGrunt :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||||
{
|
||||
if (!pActivator->IsPlayer())
|
||||
@ -2912,7 +2912,7 @@ void CHGrunt :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CHGrunt :: Killed( entvars_t *pevAttacker, int iGib )
|
||||
{
|
||||
if (gSkillData.maxDeadEnemyAmmo >= 1 && !ShouldGibMonster(iGib))
|
||||
@ -2938,7 +2938,7 @@ public:
|
||||
void HandleAnimEvent( MonsterEvent_t *pEvent );
|
||||
void Shoot ( void );
|
||||
void SetActivity ( Activity NewActivity );
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void EXPORT DeadUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||||
void Killed( entvars_t *pevAttacker, int iGib );
|
||||
};
|
||||
@ -2993,7 +2993,7 @@ void CHGruntGlock :: Spawn()
|
||||
|
||||
CTalkMonster::g_talkWaitTime = 0;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
m_iDeadAmmo = 0;
|
||||
|
||||
MonsterInit();
|
||||
@ -3232,7 +3232,7 @@ void CHGruntGlock :: SetActivity ( Activity NewActivity )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CHGruntGlock :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||||
{
|
||||
if (!pActivator->IsPlayer())
|
||||
@ -3245,7 +3245,7 @@ void CHGruntGlock :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, US
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CHGruntGlock :: Killed( entvars_t *pevAttacker, int iGib )
|
||||
{
|
||||
if (gSkillData.maxDeadEnemyAmmo >= 1 && !ShouldGibMonster(iGib))
|
||||
@ -3316,7 +3316,7 @@ public:
|
||||
|
||||
int m_iNoGasDamage;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void EXPORT DeadUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||||
void Killed( entvars_t *pevAttacker, int iGib );
|
||||
};
|
||||
@ -3398,7 +3398,7 @@ void CTerror :: Spawn()
|
||||
|
||||
CTalkMonster::g_talkWaitTime = 0;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
m_iDeadAmmo = 0;
|
||||
|
||||
MonsterInit();
|
||||
@ -3870,7 +3870,7 @@ Schedule_t *CTerror :: GetSchedule( void )
|
||||
}
|
||||
switch ( m_MonsterState )
|
||||
{
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_ALERT:
|
||||
|
||||
if (m_cAmmoLoaded < m_cClipSize / 2)
|
||||
@ -4204,7 +4204,7 @@ void CTerror :: IdleSound( void )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CTerror :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||||
{
|
||||
if (!pActivator->IsPlayer())
|
||||
@ -4223,7 +4223,7 @@ void CTerror :: DeadUse ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
void CTerror :: Killed( entvars_t *pevAttacker, int iGib )
|
||||
{
|
||||
if (gSkillData.maxDeadEnemyAmmo >= 1 && !ShouldGibMonster(iGib))
|
||||
@ -4339,7 +4339,7 @@ void CClone :: Spawn()
|
||||
CTalkMonster::g_talkWaitTime = 0;
|
||||
m_iNoGasDamage = 0;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
m_iDeadAmmo = 0;
|
||||
|
||||
MonsterInit();
|
||||
@ -4613,7 +4613,7 @@ Schedule_t *CClone :: GetSchedule( void )
|
||||
}
|
||||
switch ( m_MonsterState )
|
||||
{
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_IDLE: // buz: перезарядиться, если врага нет и магазин полупуст
|
||||
case MONSTERSTATE_ALERT:
|
||||
|
||||
if (m_cAmmoLoaded < m_cClipSize / 2)
|
||||
@ -4913,7 +4913,7 @@ void CCloneHeavy :: Spawn()
|
||||
CTalkMonster::g_talkWaitTime = 0;
|
||||
m_iNoGasDamage = 0;
|
||||
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
// Wargon: Возможность подбирать патроны юзом из мертвых вражин. (1.1)
|
||||
m_iDeadAmmo = 0;
|
||||
|
||||
MonsterInit();
|
||||
|
@ -86,7 +86,7 @@ void CWorldItem::Spawn( void )
|
||||
REMOVE_ENTITY(edict());
|
||||
}
|
||||
|
||||
// Wargon: SaveData для юзабельных итемов.
|
||||
// Wargon: SaveData для юзабельных итемов.
|
||||
TYPEDESCRIPTION CItem::m_SaveData[] =
|
||||
{
|
||||
DEFINE_FIELD( CItem, m_iCurrCaps, FIELD_INTEGER ),
|
||||
@ -103,7 +103,7 @@ void CItem::Spawn( void )
|
||||
if( !FBitSet( ObjectCaps(), FCAP_USE_ONLY ) || FBitSet( pev->spawnflags, SF_NORESPAWN ))
|
||||
SetTouch(&CItem::ItemTouch);
|
||||
|
||||
// Wargon: Итем юзабельный.
|
||||
// Wargon: Итем юзабельный.
|
||||
SetUse( &CItem::ItemUse );
|
||||
m_iCurrCaps = CBaseEntity::ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
|
||||
@ -134,7 +134,7 @@ void CItem::ItemTouch( CBaseEntity *pOther )
|
||||
SUB_UseTargets( pOther, USE_TOGGLE, 0 );
|
||||
SetTouch( NULL );
|
||||
|
||||
// Wargon: Итем неюзабельный.
|
||||
// Wargon: Итем неюзабельный.
|
||||
SetUse( NULL );
|
||||
m_iCurrCaps = CBaseEntity::ObjectCaps();
|
||||
|
||||
@ -157,7 +157,7 @@ void CItem::ItemTouch( CBaseEntity *pOther )
|
||||
|
||||
CBaseEntity* CItem::Respawn( void )
|
||||
{
|
||||
// Wargon: Итем юзабельный.
|
||||
// Wargon: Итем юзабельный.
|
||||
SetUse( NULL );
|
||||
m_iCurrCaps = CBaseEntity::ObjectCaps();
|
||||
|
||||
@ -184,7 +184,7 @@ void CItem::Materialize( void )
|
||||
if( !FBitSet( ObjectCaps(), FCAP_USE_ONLY ))
|
||||
SetTouch(&CItem:: ItemTouch );
|
||||
|
||||
// Wargon: Итем юзабельный.
|
||||
// Wargon: Итем юзабельный.
|
||||
SetUse( &CItem::ItemUse );
|
||||
m_iCurrCaps = CBaseEntity::ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public:
|
||||
void Spawn( void );
|
||||
CBaseEntity* Respawn( void );
|
||||
|
||||
// Wargon: Переменные для юзабельных итемов.
|
||||
// Wargon: Переменные для юзабельных итемов.
|
||||
virtual int Save( CSave &save );
|
||||
virtual int Restore( CRestore &restore );
|
||||
static TYPEDESCRIPTION m_SaveData[];
|
||||
|
@ -186,7 +186,7 @@ public:
|
||||
return pev->origin + pev->view_ofs;
|
||||
}
|
||||
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
virtual int ObjectCaps( void ) { if (pev->deadflag == DEAD_NO) return CTalkMonster :: ObjectCaps() | FCAP_IMPULSE_USE | FCAP_DISTANCE_USE; else return CTalkMonster::ObjectCaps(); }
|
||||
|
||||
int Save( CSave &save );
|
||||
@ -218,7 +218,7 @@ public:
|
||||
|
||||
Vector m_vecTossVelocity;
|
||||
|
||||
// Wargon: Если враг взят из данных игрока, то TRUE. Иначе FALSE. (1.1)
|
||||
// Wargon: Если враг взят из данных игрока, то TRUE. Иначе FALSE. (1.1)
|
||||
BOOL m_fEnemyFromPlayer;
|
||||
|
||||
BOOL m_fThrowGrenade;
|
||||
@ -320,7 +320,7 @@ void CMilitary :: TalkAboutDeadFriend( CTalkMonster *pfriend )
|
||||
//=========================================================
|
||||
BOOL CMilitary :: GetEnemy ( void )
|
||||
{
|
||||
// Wargon: Если врага нет, то переменная сбрасывается. (1.1)
|
||||
// Wargon: Если врага нет, то переменная сбрасывается. (1.1)
|
||||
if (m_hEnemy == NULL)
|
||||
{
|
||||
m_fEnemyFromPlayer = FALSE;
|
||||
@ -345,7 +345,7 @@ BOOL CMilitary :: GetEnemy ( void )
|
||||
m_hEnemy = pMyMaster->m_hLastEnemy;
|
||||
m_vecEnemyLKP = m_hEnemy->pev->origin;
|
||||
|
||||
// Wargon: Враг взят из данных игрока. (1.1)
|
||||
// Wargon: Враг взят из данных игрока. (1.1)
|
||||
m_fEnemyFromPlayer = TRUE;
|
||||
|
||||
if ( m_pSchedule )
|
||||
@ -396,7 +396,7 @@ void CMilitary :: SpeakSentence( void )
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
//MaSTeR: Инициализация фонаря (создание энтити и проверка спаунфлагов)
|
||||
//MaSTeR: Инициализация фонаря (создание энтити и проверка спаунфлагов)
|
||||
//=========================================================
|
||||
void CMilitary :: InitHeadController( void )
|
||||
{
|
||||
@ -423,7 +423,7 @@ void CMilitary :: InitFlashlight( void )
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
//MaSTeR: Переключение фонарика (вкл\выкл)
|
||||
//MaSTeR: Переключение фонарика (вкл\выкл)
|
||||
//=========================================================
|
||||
void CMilitary :: ToggleFlashlight( void )
|
||||
{
|
||||
@ -484,9 +484,9 @@ int CMilitary :: ISoundMask ( void )
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
// buz: у грунтов FOkToSpeak очень простой - всего-лишь проверка на Gag.
|
||||
// но у дружественных игроку монстров эта функция означает возможность
|
||||
// базарить о всякой фигне - задавать друг другу вопросы, разговаривать о том о сем..
|
||||
// buz: у грунтов FOkToSpeak очень простой - всего-лишь проверка на Gag.
|
||||
// но у дружественных игроку монстров эта функция означает возможность
|
||||
// базарить о всякой фигне - задавать друг другу вопросы, разговаривать о том о сем..
|
||||
//=========================================================
|
||||
BOOL CMilitary :: FOkToSpeak( void )
|
||||
{
|
||||
@ -562,7 +562,7 @@ BOOL CMilitary :: CheckMeleeAttack1 ( float flDot, float flDist )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Расстояние flDist уменьшено с 64 до 48. (1.1)
|
||||
// Wargon: Расстояние flDist уменьшено с 64 до 48. (1.1)
|
||||
if ( flDist <= 48 && flDot >= 0.7 &&
|
||||
pEnemy->Classify() != CLASS_ALIEN_BIOWEAPON &&
|
||||
pEnemy->Classify() != CLASS_PLAYER_BIOWEAPON )
|
||||
@ -691,7 +691,7 @@ BOOL CMilitary :: CheckRangeAttack1 ( float flDot, float flDist )
|
||||
{
|
||||
TraceResult tr;
|
||||
|
||||
if ( !m_hEnemy->IsPlayer() && flDist <= 48 ) // Wargon: Расстояние flDist уменьшено с 64 до 48. (1.1)
|
||||
if ( !m_hEnemy->IsPlayer() && flDist <= 48 ) // Wargon: Расстояние flDist уменьшено с 64 до 48. (1.1)
|
||||
{
|
||||
// kick nonclients who are close enough, but don't shoot at them.
|
||||
return FALSE;
|
||||
@ -922,7 +922,7 @@ int CMilitary :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, fl
|
||||
|
||||
Forget( bits_MEMORY_INCOVER );
|
||||
|
||||
// Wargon: Союзники не должны восставать против игрока.
|
||||
// Wargon: Союзники не должны восставать против игрока.
|
||||
return CBaseMonster::TakeDamage(pevInflictor, pevAttacker, flDamage, bitsDamageType);
|
||||
|
||||
/* // make sure friends talk about it if player hurts talkmonsters...
|
||||
@ -1072,7 +1072,7 @@ CBaseEntity *CMilitary :: Kick( void )
|
||||
UTIL_MakeVectors( pev->angles );
|
||||
Vector vecStart = pev->origin;
|
||||
vecStart.z += pev->size.z * 0.5;
|
||||
Vector vecEnd = vecStart + (gpGlobals->v_forward * 48); // Wargon: Расстояние уменьшено с 70 до 48. (1.1)
|
||||
Vector vecEnd = vecStart + (gpGlobals->v_forward * 48); // Wargon: Расстояние уменьшено с 70 до 48. (1.1)
|
||||
|
||||
UTIL_TraceHull( vecStart, vecEnd, dont_ignore_monsters, head_hull, ENT(pev), &tr );
|
||||
|
||||
@ -2023,14 +2023,14 @@ Schedule_t slMilTossGrenadeCover[] =
|
||||
//=========================================================
|
||||
Task_t tlMilTakeCoverFromBestSound[] =
|
||||
{
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// { TASK_SET_FAIL_SCHEDULE, (float)SCHED_COWER },// duck and cover if cannot move from explosion
|
||||
{ TASK_STOP_MOVING, (float)0 },
|
||||
{ TASK_FIND_COVER_FROM_BEST_SOUND, (float)0 },
|
||||
{ TASK_RUN_PATH, (float)0 },
|
||||
{ TASK_WAIT_FOR_MOVEMENT, (float)0 },
|
||||
{ TASK_REMEMBER, (float)bits_MEMORY_INCOVER },
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// { TASK_TURN_LEFT, (float)179 },
|
||||
};
|
||||
|
||||
@ -2588,7 +2588,7 @@ Schedule_t *CMilitary :: GetSchedule( void )
|
||||
return GetScheduleOfType(SCHED_MIL_FLASHLIGHT);
|
||||
}
|
||||
}
|
||||
// buz: перезарядиться, если врага нет и магазин полупуст
|
||||
// buz: перезарядиться, если врага нет и магазин полупуст
|
||||
if (m_cAmmoLoaded < m_cClipSize / 2)
|
||||
{
|
||||
return GetScheduleOfType ( SCHED_RELOAD );
|
||||
@ -2640,7 +2640,7 @@ Schedule_t *CMilitary :: GetSchedule( void )
|
||||
case MONSTERSTATE_COMBAT:
|
||||
{
|
||||
// dead enemy
|
||||
// Wargon: Кроме случаев, когда враг взят из данных игрока. (1.1)
|
||||
// Wargon: Кроме случаев, когда враг взят из данных игрока. (1.1)
|
||||
if ( HasConditions( bits_COND_ENEMY_DEAD ) && !m_fEnemyFromPlayer )
|
||||
{
|
||||
if (m_iszSpeakAs)
|
||||
@ -2844,7 +2844,7 @@ Schedule_t* CMilitary :: GetScheduleOfType ( int Type )
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// Wargon: Теперь союзники не ищут укрытия от врагов. (1.1)
|
||||
// return &slMilTakeCover[ 0 ];
|
||||
// }
|
||||
}
|
||||
@ -3167,9 +3167,9 @@ public:
|
||||
|
||||
Schedule_t *GetSchedule( void );
|
||||
Schedule_t *GetScheduleOfType(int Type);
|
||||
// имеет шлем
|
||||
// имеет шлем
|
||||
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 );
|
||||
void GibMonster( void );
|
||||
|
||||
@ -3178,7 +3178,7 @@ public:
|
||||
float m_fNextRadioNoise; // 0 - no noise
|
||||
static const char *pSpetsnazSentences[];
|
||||
|
||||
// Wargon: При смерти спецназовца имитируется действие энтити player_loadsaved. (1.1)
|
||||
// Wargon: При смерти спецназовца имитируется действие энтити player_loadsaved. (1.1)
|
||||
void RunTask( Task_t *pTask );
|
||||
void EXPORT MonsterDeadThink( void );
|
||||
};
|
||||
@ -3277,7 +3277,7 @@ void CSpetsnaz :: Spawn()
|
||||
pev->solid = SOLID_SLIDEBOX;
|
||||
pev->movetype = MOVETYPE_STEP;
|
||||
m_bloodColor = BLOOD_COLOR_RED;
|
||||
// Wargon: Хелсы спецназовцев, заданные в параметрах энтити, игнорируются. (1.1)
|
||||
// Wargon: Хелсы спецназовцев, заданные в параметрах энтити, игнорируются. (1.1)
|
||||
// if (pev->health == 0)
|
||||
pev->health = gSkillData.alphaHealth;
|
||||
m_flFieldOfView = VIEW_FIELD_FULL;//0.2;
|
||||
@ -3594,7 +3594,7 @@ int CSpetsnaz :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, fl
|
||||
{
|
||||
Forget( bits_MEMORY_INCOVER );
|
||||
|
||||
// Wargon: Союзники не должны восставать против игрока. И исключена возможность гибания спецназовцев - этого требует автозагрузка при смерти. (1.1)
|
||||
// Wargon: Союзники не должны восставать против игрока. И исключена возможность гибания спецназовцев - этого требует автозагрузка при смерти. (1.1)
|
||||
return CBaseMonster::TakeDamage(pevInflictor, pevAttacker, flDamage, bitsDamageType | DMG_NEVERGIB);
|
||||
|
||||
/* // make sure friends talk about it if player hurts talkmonsters...
|
||||
@ -3841,7 +3841,7 @@ void CSpetsnaz :: HandleAnimEvent( MonsterEvent_t *pEvent )
|
||||
case MIL_AE_RELOAD:
|
||||
EMIT_SOUND( ENT(pev), CHAN_WEAPON, "alpha/alpha_reload.wav", 1, ATTN_NORM );
|
||||
m_cAmmoLoaded = m_cClipSize;
|
||||
pev->health = gSkillData.alphaHealth; // Wargon: Пополнение хелсов при перезарядке. (1.1)
|
||||
pev->health = gSkillData.alphaHealth; // Wargon: Пополнение хелсов при перезарядке. (1.1)
|
||||
ClearConditions(bits_COND_NO_AMMO_LOADED);
|
||||
break;
|
||||
|
||||
@ -3946,7 +3946,7 @@ Schedule_t *CSpetsnaz :: GetSchedule( void )
|
||||
return GetScheduleOfType(SCHED_MIL_FLASHLIGHT);
|
||||
}
|
||||
}
|
||||
// buz: перезарядиться, если врага нет и магазин полупуст
|
||||
// buz: перезарядиться, если врага нет и магазин полупуст
|
||||
if (m_cAmmoLoaded < m_cClipSize / 2)
|
||||
{
|
||||
return GetScheduleOfType ( SCHED_RELOAD );
|
||||
@ -3998,7 +3998,7 @@ Schedule_t *CSpetsnaz :: GetSchedule( void )
|
||||
case MONSTERSTATE_COMBAT:
|
||||
{
|
||||
// dead enemy
|
||||
// Wargon: Кроме случаев, когда враг взят из данных игрока. (1.1)
|
||||
// Wargon: Кроме случаев, когда враг взят из данных игрока. (1.1)
|
||||
if ( HasConditions( bits_COND_ENEMY_DEAD ) && !m_fEnemyFromPlayer )
|
||||
{
|
||||
if (m_iszSpeakAs)
|
||||
@ -4050,7 +4050,7 @@ Schedule_t *CSpetsnaz :: GetSchedule( void )
|
||||
// no ammo
|
||||
else if ( HasConditions ( bits_COND_NO_AMMO_LOADED ) )
|
||||
{
|
||||
// Wargon: Спецназовец часто бегает в укрытие через всю карту. Нам это не нужно. (1.1)
|
||||
// Wargon: Спецназовец часто бегает в укрытие через всю карту. Нам это не нужно. (1.1)
|
||||
// if ((m_afCapability & bits_CAP_CROUCH_COVER) && !HasConditions(bits_COND_CROUCH_NOT_SAFE) ) // buz: reload here, if safe
|
||||
return GetScheduleOfType ( SCHED_RELOAD );
|
||||
// else
|
||||
@ -4215,7 +4215,7 @@ void CSpetsnaz :: RunAI ( void )
|
||||
CMilitary::RunAI();
|
||||
}
|
||||
|
||||
// Wargon: Дефолтный TASK_DIE оверрайден для имитации действия энтити player_loadsaved. (1.1)
|
||||
// Wargon: Дефолтный TASK_DIE оверрайден для имитации действия энтити player_loadsaved. (1.1)
|
||||
void CSpetsnaz :: RunTask ( Task_t *pTask )
|
||||
{
|
||||
switch (pTask->iTask)
|
||||
@ -4265,7 +4265,7 @@ void CSpetsnaz :: RunTask ( Task_t *pTask )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Автозагрузка срабатывает с задержкой после смерти спецназовца. (1.1)
|
||||
// Wargon: Автозагрузка срабатывает с задержкой после смерти спецназовца. (1.1)
|
||||
void CSpetsnaz :: MonsterDeadThink ( void )
|
||||
{
|
||||
SERVER_COMMAND("reload\n");
|
||||
@ -4310,7 +4310,7 @@ void CSpetsnazAPS :: Spawn()
|
||||
pev->solid = SOLID_SLIDEBOX;
|
||||
pev->movetype = MOVETYPE_STEP;
|
||||
m_bloodColor = BLOOD_COLOR_RED;
|
||||
// Wargon: Хелсы спецназовцев, заданные в параметрах энтити, игнорируются. (1.1)
|
||||
// Wargon: Хелсы спецназовцев, заданные в параметрах энтити, игнорируются. (1.1)
|
||||
// if (pev->health == 0)
|
||||
pev->health = gSkillData.alphaHealth;
|
||||
m_flFieldOfView = VIEW_FIELD_FULL; //0.2;
|
||||
@ -4787,7 +4787,7 @@ Schedule_t *CSoldierInfected :: GetSchedule( void )
|
||||
// no ammo
|
||||
if ( HasConditions ( bits_COND_NO_AMMO_LOADED ) )
|
||||
{
|
||||
// Wargon: Спецназовец часто бегает в укрытие через всю карту. Нам это не нужно. (1.1)
|
||||
// Wargon: Спецназовец часто бегает в укрытие через всю карту. Нам это не нужно. (1.1)
|
||||
// if ((m_afCapability & bits_CAP_CROUCH_COVER) && !HasConditions(bits_COND_CROUCH_NOT_SAFE) ) // buz: reload here, if safe
|
||||
return GetScheduleOfType ( SCHED_RELOAD );
|
||||
// else
|
||||
|
@ -142,7 +142,7 @@ void CFuncMachinegun::Spawn()
|
||||
pev->solid = SOLID_BBOX;
|
||||
pev->angles.x = 0; // remove pitch
|
||||
// m_flLastAnimTime = gpGlobals->time;
|
||||
pev->renderfx = 51; // хак для рендерера, чтобы он не интерполировал контроллеры
|
||||
pev->renderfx = 51; // хак для рендерера, чтобы он не интерполировал контроллеры
|
||||
|
||||
SET_MODEL( ENT(pev), STRING(pev->model) );
|
||||
UTIL_SetSize( pev, Vector(-25,-25,0), Vector(25,25,60));
|
||||
|
@ -268,7 +268,7 @@ int gmsgWeaponSkin = 0;
|
||||
int gmsgPartEffect = 0;
|
||||
int gmsgBlurEffect = 0;
|
||||
int gmsgLevelTime = 0;
|
||||
// Wargon: Иконка юза.
|
||||
// Wargon: Иконка юза.
|
||||
int gmsgCanUse = 0;
|
||||
|
||||
void LinkUserMessages( void )
|
||||
@ -348,7 +348,7 @@ void LinkUserMessages( void )
|
||||
gmsgBlurEffect = REG_USER_MSG( "BlurEffect", 2 );
|
||||
gmsgLevelTime = REG_USER_MSG( "LevelTime", 4 );
|
||||
|
||||
// Wargon: Иконка юза.
|
||||
// Wargon: Иконка юза.
|
||||
gmsgCanUse = REG_USER_MSG("CanUse", -1);
|
||||
}
|
||||
|
||||
@ -598,8 +598,8 @@ int CBasePlayer :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker,
|
||||
}
|
||||
|
||||
// Armor.
|
||||
// buz: броня не спасает от ударов вплотную
|
||||
// Wargon: Броня также не защищает от газа. (1.1)
|
||||
// buz: броня не спасает от ударов вплотную
|
||||
// Wargon: Броня также не защищает от газа. (1.1)
|
||||
if (pev->armorvalue && !(bitsDamageType & (DMG_FALL | DMG_DROWN | DMG_CLUB | DMG_SLASH | DMG_NERVEGAS)) )// armor doesn't protect against fall or drown damage!
|
||||
{
|
||||
float flNew = flDamage * flRatio;
|
||||
@ -1020,7 +1020,7 @@ entvars_t *g_pevLastInflictor; // Set in combat.cpp. Used to pass the damage i
|
||||
|
||||
void CBasePlayer::Killed( entvars_t *pevAttacker, int iGib )
|
||||
{
|
||||
// Wargon: Если игрока убили хедшотом, то выводится соответствующая мессага.
|
||||
// Wargon: Если игрока убили хедшотом, то выводится соответствующая мессага.
|
||||
if (m_LastHitGroup == HITGROUP_HEAD)
|
||||
UTIL_ShowMessage("#TIPS_HEADSHOOT", this );
|
||||
|
||||
@ -1585,7 +1585,7 @@ void CBasePlayer::StartObserver( Vector vecPosition, Vector vecViewAngle )
|
||||
// PlayerUse - handles USE keypress
|
||||
//
|
||||
#define PLAYER_SEARCH_RADIUS (float)64
|
||||
#define PLAYER_DISTUSE_RADIUS (float)128 // Wargon: Расстояние дальнего юза уменьшено.
|
||||
#define PLAYER_DISTUSE_RADIUS (float)128 // Wargon: Расстояние дальнего юза уменьшено.
|
||||
|
||||
void CBasePlayer::PlayerUse ( void )
|
||||
{
|
||||
@ -4810,14 +4810,14 @@ void CBasePlayer :: UpdateClientData( void )
|
||||
m_flNextSBarUpdateTime = gpGlobals->time + 0.2;
|
||||
}
|
||||
|
||||
// Wargon: Если костюма нет, то фонарик выключается.
|
||||
// Wargon: Если костюма нет, то фонарик выключается.
|
||||
if (!FBitSet( m_iHideHUD, ITEM_SUIT ) && FlashlightIsOn())
|
||||
FlashlightTurnOff();
|
||||
|
||||
// if ( pev->waterlevel == 3 && FlashlightIsOn())
|
||||
// FlashlightTurnOff();
|
||||
|
||||
// Wargon: Серверный код иконки юза.
|
||||
// Wargon: Серверный код иконки юза.
|
||||
CBaseEntity *pObject = NULL;
|
||||
CBaseEntity *pClosest = NULL;
|
||||
Vector vecLOS;
|
||||
|
@ -209,7 +209,7 @@ public:
|
||||
float m_flClientBlurAmount;
|
||||
float m_flClientLevelTime;
|
||||
|
||||
void ViewPunch( float p, float y, float r ); // buz - íàãëî ñïåð èç õë2
|
||||
void ViewPunch( float p, float y, float r ); // buz - нагло спер из хл2
|
||||
|
||||
// usable player items
|
||||
CBasePlayerItem *m_rgpPlayerItems[MAX_ITEM_TYPES];
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose: New version of the slider bar
|
||||
//
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Wargon: AI для крыс. Основан на оригинальном коде monster_cockroach.
|
||||
// Тараканы и крысы переживут и нас, и наших потомков, и тебя тоже. )
|
||||
// Wargon: AI для крыс. Основан на оригинальном коде monster_cockroach.
|
||||
// Тараканы и крысы переживут и нас, и наших потомков, и тебя тоже. )
|
||||
|
||||
#include "extdll.h"
|
||||
#include "util.h"
|
||||
|
@ -109,7 +109,7 @@ void CLaserSpot::Precache( void )
|
||||
|
||||
LINK_ENTITY_TO_CLASS( rpg_rocket, CRpgRocket );
|
||||
|
||||
// Wargon: SaveData перемещен из weapons.cpp.
|
||||
// Wargon: SaveData перемещен из weapons.cpp.
|
||||
TYPEDESCRIPTION CRpgRocket :: m_SaveData[] =
|
||||
{
|
||||
DEFINE_FIELD( CRpgRocket, m_flIgniteTime, FIELD_TIME ),
|
||||
@ -178,7 +178,7 @@ void CRpgRocket :: Precache( void )
|
||||
{
|
||||
PRECACHE_MODEL( "models/rpgrocket.mdl" );
|
||||
m_iTrail = PRECACHE_MODEL("sprites/smoke.spr");
|
||||
m_iFireTrail = PRECACHE_MODEL( "sprites/muz3.spr" ); // Wargon: Спрайт для огненного следа у ракет.
|
||||
m_iFireTrail = PRECACHE_MODEL( "sprites/muz3.spr" ); // Wargon: Спрайт для огненного следа у ракет.
|
||||
PRECACHE_SOUND ("weapons/rocket1.wav");
|
||||
}
|
||||
|
||||
@ -286,7 +286,7 @@ void CRpgRocket :: FollowThink( void )
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Непонятно, почему у ракет не рисуется glow-спрайт. Исправил положение, сделав свой огонь для ракеты через мессагу.
|
||||
// Wargon: Непонятно, почему у ракет не рисуется glow-спрайт. Исправил положение, сделав свой огонь для ракеты через мессагу.
|
||||
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
|
||||
WRITE_BYTE( TE_SPRITE );
|
||||
WRITE_COORD( pev->origin.x );
|
||||
|
@ -453,8 +453,8 @@ void CBaseMonster :: RunTask ( Task_t *pTask )
|
||||
// Re-evaluate when you think your finished, or the target has moved too far
|
||||
if ( (distance < m_flRushDistance) || (m_vecMoveGoal - m_hTargetEnt->pev->origin).Length() > m_flRushDistance * 0.5 )
|
||||
{
|
||||
// buz: за то время, пока мы бежали к цели, она могла обновиться.
|
||||
// спрашиваем цель еще раз.
|
||||
// buz: за то время, пока мы бежали к цели, она могла обновиться.
|
||||
// спрашиваем цель еще раз.
|
||||
CStartRush* pRush = (CStartRush*)UTIL_FindEntityByTargetname(NULL, STRING( m_hRushEntity ));
|
||||
if (pRush)
|
||||
m_hTargetEnt = pRush->GetDestinationEntity();
|
||||
@ -1008,7 +1008,7 @@ void CBaseMonster :: StartTask ( Task_t *pTask )
|
||||
|
||||
if ( !MoveToTarget( act, 0.5 ) )
|
||||
{
|
||||
m_flRushNextTime = gpGlobals->time + 3;// попробуем через три секунды еще раз
|
||||
m_flRushNextTime = gpGlobals->time + 3;// попробуем через три секунды еще раз
|
||||
TaskFail();
|
||||
// ALERT(at_console, "NO PATH!!!\n");
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ public:
|
||||
void RunTask( Task_t *pTask );
|
||||
void StartTask( Task_t *pTask );
|
||||
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
// Wargon: Юзать монстра можно только если он жив. Это нужно чтобы иконка юза не показывалась на мертвых монстрах.
|
||||
int ObjectCaps( void ) { if (pev->deadflag == DEAD_NO) return CTalkMonster :: ObjectCaps() | FCAP_IMPULSE_USE | FCAP_DISTANCE_USE; else return CTalkMonster::ObjectCaps(); }
|
||||
|
||||
int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType);
|
||||
|
@ -85,7 +85,7 @@ BOOL CHalfLifeRules::FShouldSwitchWeapon( CBasePlayer *pPlayer, CBasePlayerItem
|
||||
|
||||
//=========================================================
|
||||
//=========================================================
|
||||
// buz: ñêîïèðîâàíî èç MultiplayerRules
|
||||
// buz: скопировано из MultiplayerRules
|
||||
BOOL CHalfLifeRules :: GetNextBestWeapon( CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon )
|
||||
{
|
||||
CBasePlayerItem *pCheck;
|
||||
|
@ -37,7 +37,7 @@ float GetSkillCvar( char *pName )
|
||||
|
||||
flValue = CVAR_GET_FLOAT ( szBuffer );
|
||||
|
||||
// Wargon: Это сообщение не нужно. В skill.cfg нулевые значения допустимы.
|
||||
// Wargon: Это сообщение не нужно. В skill.cfg нулевые значения допустимы.
|
||||
// if ( flValue <= 0 )
|
||||
// {
|
||||
// ALERT ( at_debug, "\n\n** GetSkillCVar Got a zero for %s **\n\n", szBuffer );
|
||||
|
@ -152,7 +152,7 @@ struct skilldata_t
|
||||
float plrLeg;
|
||||
float plrArm;
|
||||
|
||||
// Wargon: Ìíîæèòåëè äàìàãè äëÿ monster_zombie. (1.1)
|
||||
// Wargon: Множители дамаги для monster_zombie. (1.1)
|
||||
float zomHead;
|
||||
float zomChest;
|
||||
float zomStomach;
|
||||
@ -168,7 +168,7 @@ struct skilldata_t
|
||||
float plrPrimaryMaxSpeed; // in primary weapon mode
|
||||
float plrSecondaryMaxSpeed; // in secondary weapon mode
|
||||
|
||||
// Wargon: Ïàòðîíû èç ìåðòâûõ âðàæèí. (1.1)
|
||||
// Wargon: Патроны из мертвых вражин. (1.1)
|
||||
float maxDeadEnemyAmmo;
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose: New version of the slider bar
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright В© 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose: New version of the slider bar
|
||||
//
|
||||
|
@ -1649,7 +1649,7 @@ void UTIL_DecalTrace( TraceResult *pTrace, const char *decalName )
|
||||
}
|
||||
|
||||
// buz
|
||||
BOOL UTIL_TraceCustomDecal( TraceResult *pTrace, const char *name, float angle, int persistent ) // Wargon: Çíà÷åíèå ïî óìîë÷àíèþ ïðîïèñàíî â util.h.
|
||||
BOOL UTIL_TraceCustomDecal( TraceResult *pTrace, const char *name, float angle, int persistent ) // Wargon: Значение по умолчанию прописано в util.h.
|
||||
{
|
||||
short entityIndex;
|
||||
short modelIndex = 0;
|
||||
|
@ -281,7 +281,7 @@ extern int UTIL_IsMasterTriggered (string_t sMaster, CBaseEntity *pActivator);
|
||||
extern void UTIL_BloodStream( const Vector &origin, const Vector &direction, int color, int amount );
|
||||
extern void UTIL_BloodDrips( const Vector &origin, const Vector &direction, int color, int amount );
|
||||
extern Vector UTIL_RandomBloodVector( void );
|
||||
extern BOOL UTIL_TraceCustomDecal( TraceResult *pTrace, const char *name, float angle = 0.0f, int persistent = 0 ); // Wargon: Это должно быть объявлено здесь чтобы можно было рисовать кастомне декали из кода монстриков.
|
||||
extern BOOL UTIL_TraceCustomDecal( TraceResult *pTrace, const char *name, float angle = 0.0f, int persistent = 0 ); // Wargon: Это должно быть объявлено здесь чтобы можно было рисовать кастомне декали из кода монстриков.
|
||||
extern void UTIL_RestoreCustomDecal( const Vector &vecPos, const Vector &vecNormal, int entityIndex, int modelIndex, const char *name, int flags, float angle );
|
||||
extern BOOL UTIL_StudioDecalTrace( TraceResult *pTrace, const char *name, int flags = 0 );
|
||||
extern void UTIL_RestoreStudioDecal( const Vector &vecEnd, const Vector &vecNormal, int entityIndex, int modelIndex, const char *name, int flags, struct modelstate_s *state, int lightcache, const Vector &scale );
|
||||
|
@ -167,7 +167,7 @@ void CBasePlayerItem :: FallInit( void )
|
||||
UTIL_SetOrigin( this, pev->origin );
|
||||
UTIL_SetSize( pev, g_vecZero, g_vecZero ); // pointsize until it lands on the ground.
|
||||
|
||||
// Wargon: Оружие юзабельно.
|
||||
// Wargon: Оружие юзабельно.
|
||||
SetUse( &CBasePlayerItem::DefaultUse );
|
||||
m_iItemCaps = CBaseEntity::ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
|
||||
@ -212,7 +212,7 @@ void CBasePlayerItem :: Materialize( void )
|
||||
|
||||
UTIL_SetOrigin( this, pev->origin ); // link into world.
|
||||
|
||||
// Wargon: Оружие юзабельно.
|
||||
// Wargon: Оружие юзабельно.
|
||||
SetUse( &CBasePlayerItem::DefaultUse );
|
||||
m_iItemCaps = CBaseEntity::ObjectCaps() | FCAP_IMPULSE_USE;
|
||||
|
||||
@ -253,7 +253,7 @@ CBaseEntity* CBasePlayerItem :: Respawn( void )
|
||||
{
|
||||
pNewWeapon->pev->effects |= EF_NODRAW;// invisible for now
|
||||
|
||||
// Wargon: Оружие неюзабельно.
|
||||
// Wargon: Оружие неюзабельно.
|
||||
pNewWeapon->SetUse( NULL );
|
||||
m_iItemCaps = CBaseEntity :: ObjectCaps();
|
||||
|
||||
@ -1678,7 +1678,7 @@ BOOL CBasePlayerItem :: DefaultSwing( int primary )
|
||||
|
||||
ClearMultiDamage( );
|
||||
|
||||
// Wargon: Исправлено гибание ножем.
|
||||
// Wargon: Исправлено гибание ножем.
|
||||
if( primary ) pEntity->TraceAttack(m_pPlayer->pev, gSkillData.plrDmgCrowbar, gpGlobals->v_forward, &tr, DMG_CLUB | DMG_NEVERGIB );
|
||||
else pEntity->TraceAttack(m_pPlayer->pev, gSkillData.plrDmgCrowbarSec, gpGlobals->v_forward, &tr, DMG_CLUB | DMG_NEVERGIB );
|
||||
|
||||
@ -2477,7 +2477,7 @@ int CBasePlayerItem :: AddToPlayer( CBasePlayer *pPlayer )
|
||||
|
||||
void CBasePlayerItem :: Drop( void )
|
||||
{
|
||||
// Wargon: Оружие неюзабельно.
|
||||
// Wargon: Оружие неюзабельно.
|
||||
SetUse( NULL );
|
||||
m_iItemCaps = CBaseEntity :: ObjectCaps();
|
||||
|
||||
@ -2488,7 +2488,7 @@ void CBasePlayerItem :: Drop( void )
|
||||
|
||||
void CBasePlayerItem :: Kill( void )
|
||||
{
|
||||
// Wargon: Оружие неюзабельно.
|
||||
// Wargon: Оружие неюзабельно.
|
||||
SetUse( NULL );
|
||||
m_iItemCaps = CBaseEntity :: ObjectCaps();
|
||||
|
||||
@ -3059,7 +3059,7 @@ class CPainkiller : public CBasePlayerAmmo
|
||||
{
|
||||
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/painkiller_pickup.wav", 1, ATTN_NORM);
|
||||
pOther->pev->weapons |= (1<<WEAPON_PAINKILLER);
|
||||
// Wargon: Возможность таргетить энтити подбором паинкиллера.
|
||||
// Wargon: Возможность таргетить энтити подбором паинкиллера.
|
||||
SUB_UseTargets( pOther, USE_TOGGLE, 0 );
|
||||
}
|
||||
return bResult;
|
||||
|
@ -67,7 +67,7 @@ public:
|
||||
void EXPORT RocketTouch( CBaseEntity *pOther );
|
||||
static CRpgRocket *CreateRpgRocket( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, CBasePlayerItem *pLauncher );
|
||||
|
||||
int m_iFireTrail; // Wargon: переменная для огненного следа у ракет.
|
||||
int m_iFireTrail; // Wargon: переменная для огненного следа у ракет.
|
||||
int m_iTrail;
|
||||
float m_flIgniteTime;
|
||||
CBasePlayerItem *m_pLauncher;// pointer back to the launcher that fired me.
|
||||
@ -162,10 +162,10 @@ typedef enum
|
||||
|
||||
enum
|
||||
{
|
||||
SPREAD_LINEAR = 0, // изменение разброса линейно во времени
|
||||
SPREAD_QUAD, // по параболе (вначале узкий, потом резко расширяется)
|
||||
SPREAD_CUBE, // кубическая парабола
|
||||
SPREAD_SQRT, // наоборот (быстро расширяется и плавно переходит в максимальный)
|
||||
SPREAD_LINEAR = 0, // изменение разброса линейно во времени
|
||||
SPREAD_QUAD, // по параболе (вначале узкий, потом резко расширяется)
|
||||
SPREAD_CUBE, // кубическая парабола
|
||||
SPREAD_SQRT, // наоборот (быстро расширяется и плавно переходит в максимальный)
|
||||
};
|
||||
|
||||
typedef struct
|
||||
@ -296,7 +296,7 @@ public:
|
||||
void Precache( void );
|
||||
void Spawn( void );
|
||||
|
||||
// Wargon: Переменные для юзабельности оружий.
|
||||
// Wargon: Переменные для юзабельности оружий.
|
||||
void EXPORT DefaultUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { DefaultTouch( pActivator ); }
|
||||
virtual int ObjectCaps( void ) { return m_iItemCaps | FCAP_ACROSS_TRANSITION | FCAP_USE_ONLY; }
|
||||
|
||||
@ -580,7 +580,7 @@ public:
|
||||
void Precache( void );
|
||||
void Spawn( void );
|
||||
|
||||
// Wargon: Переменные для юзабельности патронов.
|
||||
// Wargon: Переменные для юзабельности патронов.
|
||||
virtual int Save( CSave &save );
|
||||
virtual int Restore( CRestore &restore );
|
||||
static TYPEDESCRIPTION m_SaveData[];
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "monsters.h"
|
||||
#include "schedule.h"
|
||||
#include "player.h"
|
||||
// Wargon: Чтобы работали SpawnBlood и AddMultiDamage. (1.1)
|
||||
// Wargon: Чтобы работали SpawnBlood и AddMultiDamage. (1.1)
|
||||
#include "weapons.h"
|
||||
|
||||
|
||||
@ -61,7 +61,7 @@ public:
|
||||
static const char *pAttackHitSounds[];
|
||||
static const char *pAttackMissSounds[];
|
||||
|
||||
// Wargon: Особые звуки для потолочника и паука.
|
||||
// Wargon: Особые звуки для потолочника и паука.
|
||||
static const char *pCeilingAlertSounds[];
|
||||
static const char *pCeilingAttackSounds[];
|
||||
static const char *pCeilingPainSounds[];
|
||||
@ -69,7 +69,7 @@ public:
|
||||
static const char *pSpiderAttackSounds[];
|
||||
static const char *pSpiderPainSounds[];
|
||||
|
||||
//Lev: Ещё звуки для толстяка
|
||||
//Lev: Ещё звуки для толстяка
|
||||
static const char *pStrikerAlertSounds[];
|
||||
static const char *pStrikerAttackSounds[];
|
||||
static const char *pStrikerPainSounds[];
|
||||
@ -81,7 +81,7 @@ public:
|
||||
|
||||
virtual Vector BodyTarget( const Vector &posSrc ) { return Center() + Vector( 0.0f, 0.0f, RANDOM_FLOAT( 1.0, 20.0f )); }; // position to shoot at
|
||||
|
||||
// Wargon: Отдельные множители повреждений по хитгруппам для monster_zombie. (1.1)
|
||||
// Wargon: Отдельные множители повреждений по хитгруппам для monster_zombie. (1.1)
|
||||
void TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType );
|
||||
|
||||
// void RunAI( void );
|
||||
@ -129,7 +129,7 @@ const char *CZombie::pPainSounds[] =
|
||||
"zombie/zo_pain2.wav",
|
||||
};
|
||||
|
||||
// Wargon: Особые звуки для потолочника и паука.
|
||||
// Wargon: Особые звуки для потолочника и паука.
|
||||
const char *CZombie::pCeilingAlertSounds[] =
|
||||
{
|
||||
"potolo4nik/zo_alert10.wav",
|
||||
@ -237,7 +237,7 @@ int CZombie :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, floa
|
||||
return CBaseMonster::TakeDamage( pevInflictor, pevAttacker, flDamage, bitsDamageType );
|
||||
}
|
||||
|
||||
// Wargon: Отдельные множители повреждений по хитгруппам для monster_zombie. (1.1)
|
||||
// Wargon: Отдельные множители повреждений по хитгруппам для monster_zombie. (1.1)
|
||||
void CZombie :: TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType )
|
||||
{
|
||||
if (pev->takedamage)
|
||||
@ -289,7 +289,7 @@ void CZombie :: TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecD
|
||||
}
|
||||
}
|
||||
|
||||
// Wargon: Добавлены особые звуки в Alert, Attack и Pain для потолочника и паука.
|
||||
// Wargon: Добавлены особые звуки в Alert, Attack и Pain для потолочника и паука.
|
||||
void CZombie :: AlertSound( void )
|
||||
{
|
||||
int pitch = 95 + RANDOM_LONG(0,9);
|
||||
@ -459,7 +459,7 @@ void CZombie :: Spawn()
|
||||
else
|
||||
SET_MODEL(ENT(pev), "models/zombie.mdl");
|
||||
|
||||
// Wargon: Особые размеры для потолочника и паука.
|
||||
// Wargon: Особые размеры для потолочника и паука.
|
||||
if ( FStrEq( STRING(pev->model), "models/zombie_c.mdl" ) )
|
||||
UTIL_SetSize( pev, Vector(-16, -16, 0), Vector(16, 16, 128) );
|
||||
else if ( FStrEq( STRING(pev->model), "models/spider.mdl" ) )
|
||||
@ -485,7 +485,7 @@ void CZombie :: Spawn()
|
||||
//=========================================================
|
||||
// Precache - precaches all resources this monster needs
|
||||
//=========================================================
|
||||
void CZombie :: Precache() // Wargon: Особые звуки для потолочника и паука.
|
||||
void CZombie :: Precache() // Wargon: Особые звуки для потолочника и паука.
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===== Copyright © 1996-2007, Valve Corporation, All rights reserved. ======//
|
||||
//===== Copyright © 1996-2007, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose: a class for performing cube-mapped spherical sample lookups.
|
||||
//
|
||||
|
@ -49,14 +49,14 @@ public:
|
||||
X[i] = P[i];
|
||||
normalize( X );
|
||||
|
||||
// Its y axis is perpendicular to P, so Y = unit( E - X(E·X) ).
|
||||
// Its y axis is perpendicular to P, so Y = unit( E - X(E·X) ).
|
||||
float dDOTx = dot( D, X );
|
||||
|
||||
for( i = 0; i < 3; i++ )
|
||||
Y[i] = D[i] - dDOTx * X[i];
|
||||
normalize( Y );
|
||||
|
||||
// Its z axis is perpendicular to both X and Y, so Z = X×Y.
|
||||
// Its z axis is perpendicular to both X and Y, so Z = XЧY.
|
||||
cross( X, Y, Z );
|
||||
|
||||
// Mfwd = (Minv)T, since transposing inverts a rotation matrix.
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
@ -1,4 +1,4 @@
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user