mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-19 17:14:18 +00:00
Merge branch 'master' of git://github.com/oy/teeworlds
Conflicts: src/game/server/gamecontext.cpp
This commit is contained in:
commit
bee10fda8f
|
@ -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:
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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'),
|
||||
]),
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue