CP1251 to UTF-8 (to preserve original comments)

This commit is contained in:
Alibek Omarov 2020-08-31 19:55:47 +03:00
parent 5cc388c45e
commit 72dd8114eb
211 changed files with 399 additions and 399 deletions

View File

@ -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);

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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; // начало списка свободных элементов
};

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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;

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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( ))

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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 );
}

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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;

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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;

View File

@ -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 )

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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();

View File

@ -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;
};

View File

@ -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)

View File

@ -30,7 +30,7 @@ protected:
virtual void paint();
protected:
// Wargon: <EFBFBD>ךמםךא ‏חא.
// Wargon: Иконка юза.
CImageLabel *m_pUsageIcon;
float m_fUsageUpdateTime;

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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;
}

View File

@ -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 )

View File

@ -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:

View File

@ -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)

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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"

View File

@ -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();

View File

@ -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"))

View File

@ -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);

View File

@ -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);

View File

@ -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;
};

View File

@ -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 );
}
}

View File

@ -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 );

View File

@ -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 );

View File

@ -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" );
}

View File

@ -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
{

View File

@ -74,7 +74,7 @@ void CHandGrenade :: WeaponIdle( void )
{
if ( m_flReleaseThrow > 0.0f )
{
// buz: уже кинули, теперь надо достать новую или переключить оружие
// buz: уже кинули, теперь надо достать новую или переключить оружие
m_flStartThrow = 0.0f;
m_flReleaseThrow = -1.0f;

View File

@ -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();

View File

@ -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;
}

View File

@ -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[];

View File

@ -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

View File

@ -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));

View File

@ -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;

View File

@ -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];

View File

@ -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
//

View File

@ -1,5 +1,5 @@
// Wargon: AI для крыс. Основан на оригинальном коде monster_cockroach.
// Тараканы и крысы переживут и нас, и наших потомков, и тебя тоже. )
// Wargon: AI для крыс. Основан на оригинальном коде monster_cockroach.
// Тараканы и крысы переживут и нас, и наших потомков, и тебя тоже. )
#include "extdll.h"
#include "util.h"

View File

@ -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 );

View File

@ -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");
}

View File

@ -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);

View File

@ -85,7 +85,7 @@ BOOL CHalfLifeRules::FShouldSwitchWeapon( CBasePlayer *pPlayer, CBasePlayerItem
//=========================================================
//=========================================================
// buz: ñêîïèðîâàíî èç MultiplayerRules
// buz: скопировано из MultiplayerRules
BOOL CHalfLifeRules :: GetNextBestWeapon( CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon )
{
CBasePlayerItem *pCheck;

View File

@ -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 );

View File

@ -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;
};

View File

@ -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
//

View File

@ -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
//

View File

@ -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;

View File

@ -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 );

View File

@ -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;

View File

@ -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[];

View File

@ -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;

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//

View File

@ -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.
//

View File

@ -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.

View File

@ -1,4 +1,4 @@
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//

View File

@ -1,4 +1,4 @@
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//

View File

@ -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