diff --git a/datasrc/compile.py b/datasrc/compile.py index e8901c480..088e500a8 100644 --- a/datasrc/compile.py +++ b/datasrc/compile.py @@ -75,7 +75,7 @@ if gen_client_content_header or gen_server_content_header: EmitTypeDeclaration(content.__dict__[name]) # the container pointer - print('extern DATACONTAINER *g_pData;') + print('extern CDataContainer *g_pData;') # enums EmitEnum(["IMAGE_%s"%i.name.value.upper() for i in content.container.images.items], "NUM_IMAGES") @@ -88,7 +88,7 @@ if gen_client_content_source or gen_server_content_source: if gen_server_content_source: print('#include "server_data.h"') EmitDefinition(content.container, "datacontainer") - print('DATACONTAINER *g_pData = &datacontainer;') + print('CDataContainer *g_pData = &datacontainer;') # NETWORK if gen_network_header: diff --git a/datasrc/content.py b/datasrc/content.py index 1b7dedc4f..dd496b5cf 100644 --- a/datasrc/content.py +++ b/datasrc/content.py @@ -3,13 +3,13 @@ from datatypes import * class Sound(Struct): def __init__(self, filename=""): - Struct.__init__(self, "SOUND") + Struct.__init__(self, "CDataSound") self.id = Int(0) self.filename = String(filename) class SoundSet(Struct): def __init__(self, name="", files=[]): - Struct.__init__(self, "SOUNDSET") + Struct.__init__(self, "CDataSoundset") self.name = String(name) self.sounds = Array(Sound()) self.last = Int(-1) @@ -18,21 +18,21 @@ class SoundSet(Struct): class Image(Struct): def __init__(self, name="", filename=""): - Struct.__init__(self, "IMAGE") + Struct.__init__(self, "CDataImage") self.name = String(name) self.filename = String(filename) self.id = Int(-1) class SpriteSet(Struct): def __init__(self, name="", image=None, gridx=0, gridy=0): - Struct.__init__(self, "SPRITESET") + Struct.__init__(self, "CDataSpriteset") self.image = Pointer(Image, image) # TODO self.gridx = Int(gridx) self.gridy = Int(gridy) class Sprite(Struct): def __init__(self, name="", Set=None, x=0, y=0, w=0, h=0): - Struct.__init__(self, "SPRITE") + Struct.__init__(self, "CDataSprite") self.name = String(name) self.set = Pointer(SpriteSet, Set) # TODO self.x = Int(x) @@ -42,14 +42,14 @@ class Sprite(Struct): class Pickup(Struct): def __init__(self, name="", respawntime=15, spawndelay=0): - Struct.__init__(self, "PICKUPSPEC") + Struct.__init__(self, "CDataPickupspec") self.name = String(name) self.respawntime = Int(respawntime) self.spawndelay = Int(spawndelay) class AnimKeyframe(Struct): def __init__(self, time=0, x=0, y=0, angle=0): - Struct.__init__(self, "ANIM_KEYFRAME") + Struct.__init__(self, "CAnimKeyframe") self.time = Float(time) self.x = Float(x) self.y = Float(y) @@ -57,12 +57,12 @@ class AnimKeyframe(Struct): class AnimSequence(Struct): def __init__(self): - Struct.__init__(self, "ANIM_SEQUENCE") + Struct.__init__(self, "CAnimSequence") self.frames = Array(AnimKeyframe()) class Animation(Struct): def __init__(self, name=""): - Struct.__init__(self, "ANIMATION") + Struct.__init__(self, "CAnimation") self.name = String(name) self.body = AnimSequence() self.back_foot = AnimSequence() @@ -71,7 +71,7 @@ class Animation(Struct): class WeaponSpec(Struct): def __init__(self, container=None, name=""): - Struct.__init__(self, "WEAPONSPEC") + Struct.__init__(self, "CDataWeaponspec") self.name = String(name) self.sprite_body = Pointer(Sprite, Sprite()) self.sprite_cursor = Pointer(Sprite, Sprite()) @@ -101,12 +101,12 @@ class WeaponSpec(Struct): class Weapon_Hammer(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_HAMMER") + Struct.__init__(self, "CDataWeaponspecHammer") self.base = Pointer(WeaponSpec, WeaponSpec()) class Weapon_Gun(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_GUN") + Struct.__init__(self, "CDataWeaponspecGun") self.base = Pointer(WeaponSpec, WeaponSpec()) self.curvature = Float(1.25) self.speed = Float(2200) @@ -114,7 +114,7 @@ class Weapon_Gun(Struct): class Weapon_Shotgun(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_SHOTGUN") + Struct.__init__(self, "CDataWeaponspecShotgun") self.base = Pointer(WeaponSpec, WeaponSpec()) self.curvature = Float(1.25) self.speed = Float(2200) @@ -123,7 +123,7 @@ class Weapon_Shotgun(Struct): class Weapon_Grenade(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_GRENADE") + Struct.__init__(self, "CDataWeaponspecGrenade") self.base = Pointer(WeaponSpec, WeaponSpec()) self.curvature = Float(7.0) self.speed = Float(1000) @@ -131,7 +131,7 @@ class Weapon_Grenade(Struct): class Weapon_Rifle(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_RIFLE") + Struct.__init__(self, "CDataWeaponspecRifle") self.base = Pointer(WeaponSpec, WeaponSpec()) self.reach = Float(800.0) self.bounce_delay = Int(150) @@ -140,7 +140,7 @@ class Weapon_Rifle(Struct): class Weapon_Ninja(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPEC_NINJA") + Struct.__init__(self, "CDataWeaponspecNinja") self.base = Pointer(WeaponSpec, WeaponSpec()) self.duration = Int(15000) self.movetime = Int(200) @@ -148,7 +148,7 @@ class Weapon_Ninja(Struct): class Weapons(Struct): def __init__(self): - Struct.__init__(self, "WEAPONSPECS") + Struct.__init__(self, "CDataWeaponspecs") self.hammer = Weapon_Hammer() self.gun = Weapon_Gun() self.shotgun = Weapon_Shotgun() @@ -159,7 +159,7 @@ class Weapons(Struct): class DataContainer(Struct): def __init__(self): - Struct.__init__(self, "DATACONTAINER") + Struct.__init__(self, "CDataContainer") self.sounds = Array(SoundSet()) self.images = Array(Image()) self.pickups = Array(Pickup()) diff --git a/datasrc/datatypes.py b/datasrc/datatypes.py index 73719f59b..5441e3783 100644 --- a/datasrc/datatypes.py +++ b/datasrc/datatypes.py @@ -232,8 +232,8 @@ class NetObject: class NetEvent(NetObject): def __init__(self, name, variables): NetObject.__init__(self, name, variables) - self.base_struct_name = "NETEVENT_%s" % self.base.upper() - self.struct_name = "NETEVENT_%s" % self.name.upper() + self.base_struct_name = "CNetEvent_%s" % self.base + self.struct_name = "CNetEvent_%s" % self.name self.enum_name = "NETEVENTTYPE_%s" % self.name.upper() class NetMessage(NetObject): diff --git a/datasrc/network.py b/datasrc/network.py index 4a44134b9..a1a128f84 100644 --- a/datasrc/network.py +++ b/datasrc/network.py @@ -204,7 +204,7 @@ Objects = [ NetIntRange("m_ClientID", 0, 'MAX_CLIENTS-1'), ]), - NetEvent("SoundGlobal:Common", [ + NetEvent("SoundGlobal:Common", [ #TODO 0.7: remove me NetIntRange("m_SoundID", 0, 'NUM_SOUNDS-1'), ]), diff --git a/src/base/math.h b/src/base/math.h index 1234f6817..d58dbf102 100644 --- a/src/base/math.h +++ b/src/base/math.h @@ -39,6 +39,17 @@ inline float frandom() { return rand()/(float)(RAND_MAX); } inline int f2fx(float v) { return (int)(v*(float)(1<<10)); } inline float fx2f(int v) { return v*(1.0f/(1<<10)); } +inline int gcd(int a, int b) +{ + while(b != 0) + { + int c = a % b; + a = b; + b = c; + } + return a; +} + class fxp { int value; diff --git a/src/game/client/animstate.cpp b/src/game/client/animstate.cpp index 1289126b3..ce5953599 100644 --- a/src/game/client/animstate.cpp +++ b/src/game/client/animstate.cpp @@ -7,7 +7,7 @@ #include "animstate.h" -static void AnimSeqEval(ANIM_SEQUENCE *pSeq, float Time, ANIM_KEYFRAME *pFrame) +static void AnimSeqEval(CAnimSequence *pSeq, float Time, CAnimKeyframe *pFrame) { if(pSeq->m_NumFrames == 0) { @@ -23,8 +23,8 @@ static void AnimSeqEval(ANIM_SEQUENCE *pSeq, float Time, ANIM_KEYFRAME *pFrame) else { //time = max(0.0f, min(1.0f, time / duration)); // TODO: use clamp - ANIM_KEYFRAME *pFrame1 = 0; - ANIM_KEYFRAME *pFrame2 = 0; + CAnimKeyframe *pFrame1 = 0; + CAnimKeyframe *pFrame2 = 0; float Blend = 0.0f; // TODO: make this smarter.. binary search @@ -49,7 +49,7 @@ static void AnimSeqEval(ANIM_SEQUENCE *pSeq, float Time, ANIM_KEYFRAME *pFrame) } } -static void AnimAddKeyframe(ANIM_KEYFRAME *pSeq, ANIM_KEYFRAME *pAdded, float Amount) +static void AnimAddKeyframe(CAnimKeyframe *pSeq, CAnimKeyframe *pAdded, float Amount) { pSeq->m_X += pAdded->m_X*Amount; pSeq->m_Y += pAdded->m_Y*Amount; @@ -65,7 +65,7 @@ static void AnimAdd(CAnimState *pState, CAnimState *pAdded, float Amount) } -void CAnimState::Set(ANIMATION *pAnim, float Time) +void CAnimState::Set(CAnimation *pAnim, float Time) { AnimSeqEval(&pAnim->m_Body, Time, &m_Body); AnimSeqEval(&pAnim->m_BackFoot, Time, &m_BackFoot); @@ -73,7 +73,7 @@ void CAnimState::Set(ANIMATION *pAnim, float Time) AnimSeqEval(&pAnim->m_Attach, Time, &m_Attach); } -void CAnimState::Add(ANIMATION *pAnim, float Time, float Amount) +void CAnimState::Add(CAnimation *pAnim, float Time, float Amount) { CAnimState Add; Add.Set(pAnim, Time); diff --git a/src/game/client/animstate.h b/src/game/client/animstate.h index 63b6a80a7..fbc0a2f8e 100644 --- a/src/game/client/animstate.h +++ b/src/game/client/animstate.h @@ -5,18 +5,18 @@ class CAnimState { - ANIM_KEYFRAME m_Body; - ANIM_KEYFRAME m_BackFoot; - ANIM_KEYFRAME m_FrontFoot; - ANIM_KEYFRAME m_Attach; + CAnimKeyframe m_Body; + CAnimKeyframe m_BackFoot; + CAnimKeyframe m_FrontFoot; + CAnimKeyframe m_Attach; public: - ANIM_KEYFRAME *GetBody() { return &m_Body; }; - ANIM_KEYFRAME *GetBackFoot() { return &m_BackFoot; }; - ANIM_KEYFRAME *GetFrontFoot() { return &m_FrontFoot; }; - ANIM_KEYFRAME *GetAttach() { return &m_Attach; }; - void Set(ANIMATION *pAnim, float Time); - void Add(ANIMATION *pAdded, float Time, float Amount); + CAnimKeyframe *GetBody() { return &m_Body; }; + CAnimKeyframe *GetBackFoot() { return &m_BackFoot; }; + CAnimKeyframe *GetFrontFoot() { return &m_FrontFoot; }; + CAnimKeyframe *GetAttach() { return &m_Attach; }; + void Set(CAnimation *pAnim, float Time); + void Add(CAnimation *pAdded, float Time, float Amount); static CAnimState *GetIdle(); }; diff --git a/src/game/client/components/menus_settings.cpp b/src/game/client/components/menus_settings.cpp index 827db68bb..afd63c6c4 100644 --- a/src/game/client/components/menus_settings.cpp +++ b/src/game/client/components/menus_settings.cpp @@ -629,7 +629,8 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView) // display mode list static float s_ScrollValue = 0; int OldSelected = -1; - str_format(aBuf, sizeof(aBuf), "%s: %dx%d %d bit", Localize("Current"), s_GfxScreenWidth, s_GfxScreenHeight, s_GfxColorDepth); + int G = gcd(s_GfxScreenWidth, s_GfxScreenHeight); + str_format(aBuf, sizeof(aBuf), "%s: %dx%d %d bit (%d:%d)", Localize("Current"), s_GfxScreenWidth, s_GfxScreenHeight, s_GfxColorDepth, s_GfxScreenWidth/G, s_GfxScreenHeight/G); UiDoListboxStart(&s_NumNodes , &ModeList, 24.0f, Localize("Display Modes"), aBuf, s_NumNodes, 1, OldSelected, s_ScrollValue); for(int i = 0; i < s_NumNodes; ++i) @@ -645,7 +646,8 @@ void CMenus::RenderSettingsGraphics(CUIRect MainView) CListboxItem Item = UiDoListboxNextItem(&s_aModes[i], OldSelected == i); if(Item.m_Visible) { - str_format(aBuf, sizeof(aBuf), " %dx%d %d bit", s_aModes[i].m_Width, s_aModes[i].m_Height, Depth); + int G = gcd(s_aModes[i].m_Width, s_aModes[i].m_Height); + str_format(aBuf, sizeof(aBuf), " %dx%d %d bit (%d:%d)", s_aModes[i].m_Width, s_aModes[i].m_Height, Depth, s_aModes[i].m_Width/G, s_aModes[i].m_Height/G); UI()->DoLabelScaled(&Item.m_Rect, aBuf, 16.0f, -1); } } diff --git a/src/game/client/components/sounds.cpp b/src/game/client/components/sounds.cpp index 62b2ac163..0b91d1cea 100644 --- a/src/game/client/components/sounds.cpp +++ b/src/game/client/components/sounds.cpp @@ -134,7 +134,7 @@ void CSounds::Play(int Chn, int SetId, float Vol, vec2 Pos) if(!g_Config.m_SndEnable || (Chn == CHN_MUSIC && !g_Config.m_SndMusic) || m_WaitForSoundJob || SetId < 0 || SetId >= g_pData->m_NumSounds) return; - SOUNDSET *pSet = &g_pData->m_aSounds[SetId]; + CDataSoundset *pSet = &g_pData->m_aSounds[SetId]; if(!pSet->m_NumSounds) return; @@ -165,7 +165,7 @@ void CSounds::Stop(int SetId) if(m_WaitForSoundJob || SetId < 0 || SetId >= g_pData->m_NumSounds) return; - SOUNDSET *pSet = &g_pData->m_aSounds[SetId]; + CDataSoundset *pSet = &g_pData->m_aSounds[SetId]; for(int i = 0; i < pSet->m_NumSounds; i++) Sound()->Stop(pSet->m_aSounds[i].m_Id); diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp index 7dc609e6d..2c7ec06cd 100644 --- a/src/game/client/gameclient.cpp +++ b/src/game/client/gameclient.cpp @@ -655,32 +655,32 @@ void CGameClient::ProcessEvents() if(Item.m_Type == NETEVENTTYPE_DAMAGEIND) { - NETEVENT_DAMAGEIND *ev = (NETEVENT_DAMAGEIND *)pData; + CNetEvent_DamageInd *ev = (CNetEvent_DamageInd *)pData; g_GameClient.m_pEffects->DamageIndicator(vec2(ev->m_X, ev->m_Y), GetDirection(ev->m_Angle)); } else if(Item.m_Type == NETEVENTTYPE_EXPLOSION) { - NETEVENT_EXPLOSION *ev = (NETEVENT_EXPLOSION *)pData; + CNetEvent_Explosion *ev = (CNetEvent_Explosion *)pData; g_GameClient.m_pEffects->Explosion(vec2(ev->m_X, ev->m_Y)); } else if(Item.m_Type == NETEVENTTYPE_HAMMERHIT) { - NETEVENT_HAMMERHIT *ev = (NETEVENT_HAMMERHIT *)pData; + CNetEvent_HammerHit *ev = (CNetEvent_HammerHit *)pData; g_GameClient.m_pEffects->HammerHit(vec2(ev->m_X, ev->m_Y)); } else if(Item.m_Type == NETEVENTTYPE_SPAWN) { - NETEVENT_SPAWN *ev = (NETEVENT_SPAWN *)pData; + CNetEvent_Spawn *ev = (CNetEvent_Spawn *)pData; g_GameClient.m_pEffects->PlayerSpawn(vec2(ev->m_X, ev->m_Y)); } else if(Item.m_Type == NETEVENTTYPE_DEATH) { - NETEVENT_DEATH *ev = (NETEVENT_DEATH *)pData; + CNetEvent_Death *ev = (CNetEvent_Death *)pData; g_GameClient.m_pEffects->PlayerDeath(vec2(ev->m_X, ev->m_Y), ev->m_ClientID); } else if(Item.m_Type == NETEVENTTYPE_SOUNDWORLD) { - NETEVENT_SOUNDWORLD *ev = (NETEVENT_SOUNDWORLD *)pData; + CNetEvent_SoundWorld *ev = (CNetEvent_SoundWorld *)pData; g_GameClient.m_pSounds->Play(CSounds::CHN_WORLD, ev->m_SoundID, 1.0f, vec2(ev->m_X, ev->m_Y)); } } diff --git a/src/game/client/render.cpp b/src/game/client/render.cpp index f44cc459d..9b4b61b55 100644 --- a/src/game/client/render.cpp +++ b/src/game/client/render.cpp @@ -37,7 +37,7 @@ static void layershot_end() config.cl_layershot++; }*/ -void CRenderTools::SelectSprite(SPRITE *pSpr, int Flags, int sx, int sy) +void CRenderTools::SelectSprite(CDataSprite *pSpr, int Flags, int sx, int sy) { int x = pSpr->m_X+sx; int y = pSpr->m_Y+sy; @@ -236,7 +236,7 @@ void CRenderTools::RenderTee(CAnimState *pAnim, CTeeRenderInfo *pInfo, int Emote } // draw feet - ANIM_KEYFRAME *pFoot = f ? pAnim->GetFrontFoot() : pAnim->GetBackFoot(); + CAnimKeyframe *pFoot = f ? pAnim->GetFrontFoot() : pAnim->GetBackFoot(); float w = BaseSize; float h = BaseSize/2; diff --git a/src/game/client/render.h b/src/game/client/render.h index 45e39a143..5ebee9aac 100644 --- a/src/game/client/render.h +++ b/src/game/client/render.h @@ -51,7 +51,7 @@ public: //typedef struct SPRITE; - void SelectSprite(struct SPRITE *pSprite, int Flags=0, int sx=0, int sy=0); + void SelectSprite(struct CDataSprite *pSprite, int Flags=0, int sx=0, int sy=0); void SelectSprite(int id, int Flags=0, int sx=0, int sy=0); void DrawSprite(float x, float y, float size); diff --git a/src/game/server/eventhandler.cpp b/src/game/server/eventhandler.cpp index deb1ca4ef..354bd4ab1 100644 --- a/src/game/server/eventhandler.cpp +++ b/src/game/server/eventhandler.cpp @@ -46,7 +46,7 @@ void CEventHandler::Snap(int SnappingClient) { if(SnappingClient == -1 || CmaskIsSet(m_aClientMasks[i], SnappingClient)) { - NETEVENT_COMMON *ev = (NETEVENT_COMMON *)&m_aData[m_aOffsets[i]]; + CNetEvent_Common *ev = (CNetEvent_Common *)&m_aData[m_aOffsets[i]]; if(SnappingClient == -1 || distance(GameServer()->m_apPlayers[SnappingClient]->m_ViewPos, vec2(ev->m_X, ev->m_Y)) < 1500.0f) { void *d = GameServer()->Server()->SnapNewItem(m_aTypes[i], i, m_aSizes[i]); diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index b9013b431..e9a983e50 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -110,7 +110,7 @@ void CGameContext::CreateDamageInd(vec2 Pos, float Angle, int Amount, int Mask) for(int i = 0; i < Amount; i++) { float f = mix(s, e, float(i+1)/float(Amount+2)); - NETEVENT_DAMAGEIND *pEvent = (NETEVENT_DAMAGEIND *)m_Events.Create(NETEVENTTYPE_DAMAGEIND, sizeof(NETEVENT_DAMAGEIND), Mask); + CNetEvent_DamageInd *pEvent = (CNetEvent_DamageInd *)m_Events.Create(NETEVENTTYPE_DAMAGEIND, sizeof(CNetEvent_DamageInd), Mask); if(pEvent) { pEvent->m_X = (int)Pos.x; @@ -123,7 +123,7 @@ void CGameContext::CreateDamageInd(vec2 Pos, float Angle, int Amount, int Mask) void CGameContext::CreateHammerHit(vec2 Pos, int Mask) { // create the event - NETEVENT_HAMMERHIT *pEvent = (NETEVENT_HAMMERHIT *)m_Events.Create(NETEVENTTYPE_HAMMERHIT, sizeof(NETEVENT_HAMMERHIT), Mask); + CNetEvent_HammerHit *pEvent = (CNetEvent_HammerHit *)m_Events.Create(NETEVENTTYPE_HAMMERHIT, sizeof(CNetEvent_HammerHit), Mask); if(pEvent) { pEvent->m_X = (int)Pos.x; @@ -135,7 +135,7 @@ void CGameContext::CreateHammerHit(vec2 Pos, int Mask) void CGameContext::CreateExplosion(vec2 Pos, int Owner, int Weapon, bool NoDamage, int ActivatedTeam, int Mask) { // create the event - NETEVENT_EXPLOSION *pEvent = (NETEVENT_EXPLOSION *)m_Events.Create(NETEVENTTYPE_EXPLOSION, sizeof(NETEVENT_EXPLOSION), Mask); + CNetEvent_Explosion *pEvent = (CNetEvent_Explosion *)m_Events.Create(NETEVENTTYPE_EXPLOSION, sizeof(CNetEvent_Explosion), Mask); if(pEvent) { pEvent->m_X = (int)Pos.x; @@ -186,7 +186,7 @@ void create_smoke(vec2 Pos) void CGameContext::CreatePlayerSpawn(vec2 Pos, int Mask) { // create the event - NETEVENT_SPAWN *ev = (NETEVENT_SPAWN *)m_Events.Create(NETEVENTTYPE_SPAWN, sizeof(NETEVENT_SPAWN), Mask); + CNetEvent_Spawn *ev = (CNetEvent_Spawn *)m_Events.Create(NETEVENTTYPE_SPAWN, sizeof(CNetEvent_Spawn), Mask); if(ev) { ev->m_X = (int)Pos.x; @@ -197,7 +197,7 @@ void CGameContext::CreatePlayerSpawn(vec2 Pos, int Mask) void CGameContext::CreateDeath(vec2 Pos, int ClientID, int Mask) { // create the event - NETEVENT_DEATH *pEvent = (NETEVENT_DEATH *)m_Events.Create(NETEVENTTYPE_DEATH, sizeof(NETEVENT_DEATH), Mask); + CNetEvent_Death *pEvent = (CNetEvent_Death *)m_Events.Create(NETEVENTTYPE_DEATH, sizeof(CNetEvent_Death), Mask); if(pEvent) { pEvent->m_X = (int)Pos.x; @@ -212,7 +212,7 @@ void CGameContext::CreateSound(vec2 Pos, int Sound, int Mask) return; // create a sound - NETEVENT_SOUNDWORLD *pEvent = (NETEVENT_SOUNDWORLD *)m_Events.Create(NETEVENTTYPE_SOUNDWORLD, sizeof(NETEVENT_SOUNDWORLD), Mask); + CNetEvent_SoundWorld *pEvent = (CNetEvent_SoundWorld *)m_Events.Create(NETEVENTTYPE_SOUNDWORLD, sizeof(CNetEvent_SoundWorld), Mask); if(pEvent) { pEvent->m_X = (int)Pos.x; @@ -887,13 +887,13 @@ void CGameContext::OnMessage(int MsgID, CUnpacker *pUnpacker, int ClientID) } if(KickID == ClientID) { - SendChatTarget(ClientID, "You cant kick yourself"); + SendChatTarget(ClientID, "You can't kick yourself"); return; } //if(Server()->IsAuthed(KickID)) if(m_apPlayers[KickID]->m_Authed > 0 && m_apPlayers[KickID]->m_Authed >= pPlayer->m_Authed) { - SendChatTarget(ClientID, "You cant kick admins"); + SendChatTarget(ClientID, "You can't kick admins"); m_apPlayers[ClientID]->m_Last_KickVote = time_get(); char aBufKick[128]; str_format(aBufKick, sizeof(aBufKick), "'%s' called for vote to kick you", Server()->ClientName(ClientID)); @@ -938,7 +938,7 @@ void CGameContext::OnMessage(int MsgID, CUnpacker *pUnpacker, int ClientID) } if(SpectateID == ClientID) { - SendChatTarget(ClientID, "You cant move yourself"); + SendChatTarget(ClientID, "You can't move yourself"); return; }