about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFujnky <larsfunke1996@gmail.com>2010-06-03 17:47:32 +0200
committerFujnky <larsfunke1996@gmail.com>2010-06-03 17:47:32 +0200
commit5849aeb86c5ae41fc83e6f8e5583b65a117d7114 (patch)
tree0801cb063a54c94fd9f142f328476330849eb7e8 /src
parent5a641132e7d445157434b8af0c73947d2cef987f (diff)
parenta6ab379e67f712524635cac1c8131314933b8f59 (diff)
downloadzcatch-5849aeb86c5ae41fc83e6f8e5583b65a117d7114.tar.gz
zcatch-5849aeb86c5ae41fc83e6f8e5583b65a117d7114.zip
Merge branch 'master' of git://github.com/matricks/teeworlds
Conflicts:
	src/game/server/gamemodes/ctf.cpp
Diffstat (limited to 'src')
-rw-r--r--src/game/server/entities/character.cpp24
-rw-r--r--src/game/server/entities/character.h6
-rw-r--r--src/game/server/gamemodes/ctf.cpp9
-rw-r--r--src/game/server/gamemodes/ctf.h3
4 files changed, 22 insertions, 20 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp
index 839088dd..77d8f462 100644
--- a/src/game/server/entities/character.cpp
+++ b/src/game/server/entities/character.cpp
@@ -40,7 +40,7 @@ MACRO_ALLOC_POOL_ID_IMPL(CCharacter, MAX_CLIENTS)
 CCharacter::CCharacter(CGameWorld *pWorld)
 : CEntity(pWorld, NETOBJTYPE_CHARACTER)
 {
-	m_ProximityRadius = g_CharPhysSize;
+	m_ProximityRadius = ms_PhysSize;
 	m_Health = 0;
 	m_Armor = 0;
 }
@@ -101,9 +101,9 @@ void CCharacter::SetWeapon(int W)
 
 bool CCharacter::IsGrounded()
 {
-	if(GameServer()->Collision()->CheckPoint(m_Pos.x+g_CharPhysSize/2, m_Pos.y+g_CharPhysSize/2+5))
+	if(GameServer()->Collision()->CheckPoint(m_Pos.x+m_ProximityRadius/2, m_Pos.y+m_ProximityRadius/2+5))
 		return true;
-	if(GameServer()->Collision()->CheckPoint(m_Pos.x-g_CharPhysSize/2, m_Pos.y+g_CharPhysSize/2+5))
+	if(GameServer()->Collision()->CheckPoint(m_Pos.x-m_ProximityRadius/2, m_Pos.y+m_ProximityRadius/2+5))
 		return true;
 	return false;
 }
@@ -144,7 +144,7 @@ void CCharacter::HandleNinja()
 		// Set velocity
 		m_Core.m_Vel = m_Ninja.m_ActivationDir * g_pData->m_Weapons.m_Ninja.m_Velocity;
 		vec2 OldPos = m_Pos;
-		GameServer()->Collision()->MoveBox(&m_Core.m_Pos, &m_Core.m_Vel, vec2(g_CharPhysSize, g_CharPhysSize), 0.f);
+		GameServer()->Collision()->MoveBox(&m_Core.m_Pos, &m_Core.m_Vel, vec2(m_ProximityRadius, m_ProximityRadius), 0.f);
 		
 		// reset velocity so the client doesn't predict stuff
 		m_Core.m_Vel = vec2(0.f, 0.f);
@@ -153,7 +153,7 @@ void CCharacter::HandleNinja()
 		{
 			CCharacter *aEnts[64];
 			vec2 Dir = m_Pos - OldPos;
-			float Radius = g_CharPhysSize * 2.0f;
+			float Radius = m_ProximityRadius * 2.0f;
 			vec2 Center = OldPos + Dir * 0.5f;
 			int Num = GameServer()->m_World.FindEntities(Center, Radius, (CEntity**)aEnts, 64, NETOBJTYPE_CHARACTER);
 
@@ -173,7 +173,7 @@ void CCharacter::HandleNinja()
 					continue;
 
 				// check so we are sufficiently close
-				if (distance(aEnts[i]->m_Pos, m_Pos) > (g_CharPhysSize * 2.0f))
+				if (distance(aEnts[i]->m_Pos, m_Pos) > (m_ProximityRadius * 2.0f))
 					continue;
 
 				// Hit a player, give him damage and stuffs...
@@ -277,7 +277,7 @@ void CCharacter::FireWeapon()
 		return;
 	}
 	
-	vec2 ProjStartPos = m_Pos+Direction*g_CharPhysSize*0.75f;
+	vec2 ProjStartPos = m_Pos+Direction*m_ProximityRadius*0.75f;
 	
 	switch(m_ActiveWeapon)
 	{
@@ -289,7 +289,7 @@ void CCharacter::FireWeapon()
 			
 			CCharacter *aEnts[64];
 			int Hits = 0;
-			int Num = GameServer()->m_World.FindEntities(ProjStartPos, g_CharPhysSize*0.5f, (CEntity**)aEnts, 
+			int Num = GameServer()->m_World.FindEntities(ProjStartPos, m_ProximityRadius*0.5f, (CEntity**)aEnts, 
 			64, NETOBJTYPE_CHARACTER);
 
 			for (int i = 0; i < Num; ++i)
@@ -543,10 +543,10 @@ void CCharacter::Tick()
 	m_Core.Tick(true);
 	
 	// handle death-tiles
-	if(GameServer()->Collision()->GetCollisionAt(m_Pos.x+g_CharPhysSize/3.f, m_Pos.y-g_CharPhysSize/3.f)&CCollision::COLFLAG_DEATH ||
-		GameServer()->Collision()->GetCollisionAt(m_Pos.x+g_CharPhysSize/3.f, m_Pos.y+g_CharPhysSize/3.f)&CCollision::COLFLAG_DEATH ||
-		GameServer()->Collision()->GetCollisionAt(m_Pos.x-g_CharPhysSize/3.f, m_Pos.y-g_CharPhysSize/3.f)&CCollision::COLFLAG_DEATH ||
-		GameServer()->Collision()->GetCollisionAt(m_Pos.x-g_CharPhysSize/3.f, m_Pos.y+g_CharPhysSize/3.f)&CCollision::COLFLAG_DEATH)
+	if(GameServer()->Collision()->GetCollisionAt(m_Pos.x+m_ProximityRadius/3.f, m_Pos.y-m_ProximityRadius/3.f)&CCollision::COLFLAG_DEATH ||
+		GameServer()->Collision()->GetCollisionAt(m_Pos.x+m_ProximityRadius/3.f, m_Pos.y+m_ProximityRadius/3.f)&CCollision::COLFLAG_DEATH ||
+		GameServer()->Collision()->GetCollisionAt(m_Pos.x-m_ProximityRadius/3.f, m_Pos.y-m_ProximityRadius/3.f)&CCollision::COLFLAG_DEATH ||
+		GameServer()->Collision()->GetCollisionAt(m_Pos.x-m_ProximityRadius/3.f, m_Pos.y+m_ProximityRadius/3.f)&CCollision::COLFLAG_DEATH)
 	{
 		Die(m_pPlayer->GetCID(), WEAPON_WORLD);
 	}
diff --git a/src/game/server/entities/character.h b/src/game/server/entities/character.h
index 30c6586f..a1add982 100644
--- a/src/game/server/entities/character.h
+++ b/src/game/server/entities/character.h
@@ -7,9 +7,6 @@
 
 #include <game/gamecore.h>
 
-//character's size
-const int g_CharPhysSize = 28;
-
 enum
 {
 	WEAPON_GAME = -3, // team switching etc
@@ -22,6 +19,9 @@ class CCharacter : public CEntity
 	MACRO_ALLOC_POOL_ID()
 	
 public:
+	//character's size
+	static const int ms_PhysSize = 28;
+
 	CCharacter(CGameWorld *pWorld);
 	
 	virtual void Reset();
diff --git a/src/game/server/gamemodes/ctf.cpp b/src/game/server/gamemodes/ctf.cpp
index c1585912..3c052a91 100644
--- a/src/game/server/gamemodes/ctf.cpp
+++ b/src/game/server/gamemodes/ctf.cpp
@@ -105,7 +105,7 @@ void CGameControllerCTF::Tick()
 			
 			if(m_apFlags[fi^1] && m_apFlags[fi^1]->m_AtStand)
 			{
-				if(distance(F->m_Pos, m_apFlags[fi^1]->m_Pos) < 28)
+				if(distance(F->m_Pos, m_apFlags[fi^1]->m_Pos) < CFlag::ms_PhysSize + CCharacter::ms_PhysSize)
 				{
 					// CAPTURE! \o/
 					m_aTeamscore[fi^1] += 100;
@@ -136,7 +136,7 @@ void CGameControllerCTF::Tick()
 		else
 		{
 			CCharacter *apCloseCCharacters[MAX_CLIENTS];
-			int Num = GameServer()->m_World.FindEntities(F->m_Pos, 7.0f, (CEntity**)apCloseCCharacters, MAX_CLIENTS, NETOBJTYPE_CHARACTER);
+			int Num = GameServer()->m_World.FindEntities(F->m_Pos, CFlag::ms_PhysSize, (CEntity**)apCloseCCharacters, MAX_CLIENTS, NETOBJTYPE_CHARACTER);
 			for(int i = 0; i < Num; i++)
 			{
 				if(!apCloseCCharacters[i]->IsAlive() || apCloseCCharacters[i]->GetPlayer()->GetTeam() == -1 || GameServer()->Collision()->IntersectLine(F->m_Pos, apCloseCCharacters[i]->m_Pos, NULL, NULL))
@@ -199,7 +199,7 @@ void CGameControllerCTF::Tick()
 				else
 				{
 					F->m_Vel.y += GameServer()->m_World.m_Core.m_Tuning.m_Gravity;
-					GameServer()->Collision()->MoveBox(&F->m_Pos, &F->m_Vel, vec2(F->m_PhysSize, F->m_PhysSize), 0.5f);
+					GameServer()->Collision()->MoveBox(&F->m_Pos, &F->m_Vel, vec2(F->ms_PhysSize, F->ms_PhysSize), 0.5f);
 				}
 			}
 		}
@@ -211,7 +211,7 @@ CFlag::CFlag(CGameWorld *pGameWorld, int Team)
 : CEntity(pGameWorld, NETOBJTYPE_FLAG)
 {
 	m_Team = Team;
-	m_ProximityRadius = m_PhysSize;
+	m_ProximityRadius = ms_PhysSize;
 	m_pCarryingCharacter = 0x0;
 	m_GrabTick = 0;
 	
@@ -240,3 +240,4 @@ void CFlag::Snap(int SnappingClient)
 	else if(m_pCarryingCharacter && m_pCarryingCharacter->GetPlayer())
 		pFlag->m_CarriedBy = m_pCarryingCharacter->GetPlayer()->GetCID();
 }
+
diff --git a/src/game/server/gamemodes/ctf.h b/src/game/server/gamemodes/ctf.h
index afb6feee..16c6097a 100644
--- a/src/game/server/gamemodes/ctf.h
+++ b/src/game/server/gamemodes/ctf.h
@@ -20,7 +20,7 @@ public:
 class CFlag : public CEntity
 {
 public:
-	static const int m_PhysSize = 14;
+	static const int ms_PhysSize = 14;
 	CCharacter *m_pCarryingCharacter;
 	vec2 m_Vel;
 	vec2 m_StandPos;
@@ -36,3 +36,4 @@ public:
 	virtual void Snap(int SnappingClient);
 };
 #endif
+