about summary refs log tree commit diff
path: root/src/game/server/game_server.h
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-09-25 23:03:15 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-09-25 23:03:15 +0000
commitfb87d00c8dfde266a46d5479838f06bce0b375fd (patch)
tree01fa66bbc4db4a54bc1c7dd55bc2f087dd0b5ed7 /src/game/server/game_server.h
parent31861cf222939ca26578010d5bbda61c8e2cd238 (diff)
downloadzcatch-fb87d00c8dfde266a46d5479838f06bce0b375fd.tar.gz
zcatch-fb87d00c8dfde266a46d5479838f06bce0b375fd.zip
moved out dm, tdm and ctf rules to separate files
Diffstat (limited to 'src/game/server/game_server.h')
-rw-r--r--src/game/server/game_server.h310
1 files changed, 0 insertions, 310 deletions
diff --git a/src/game/server/game_server.h b/src/game/server/game_server.h
index 22cc1f93..8b137891 100644
--- a/src/game/server/game_server.h
+++ b/src/game/server/game_server.h
@@ -1,311 +1 @@
 
-//
-class event_handler
-{
-	static const int MAX_EVENTS = 128;
-	static const int MAX_DATASIZE = 128*4;
-
-	int types[MAX_EVENTS];  // TODO: remove some of these arrays
-	int offsets[MAX_EVENTS];
-	int sizes[MAX_EVENTS];
-	int targets[MAX_EVENTS];
-	char data[MAX_DATASIZE];
-	
-	int current_offset;
-	int num_events;
-public:
-	event_handler();
-	void *create(int type, int size, int target = -1);
-	void clear();
-	void snap(int snapping_client);
-};
-
-extern event_handler events;
-
-// a basic entity
-class entity
-{
-private:
-	friend class game_world;
-	friend class player;
-	entity *prev_entity;
-	entity *next_entity;
-
-	entity *prev_type_entity;
-	entity *next_type_entity;
-
-	int index;
-protected:
-	int id;
-	
-public:
-	float proximity_radius;
-	unsigned flags;
-	int objtype;
-	vec2 pos;
-
-	enum
-	{
-		FLAG_DESTROY=0x00000001,
-		FLAG_ALIVE=0x00000002,
-	};
-	
-	entity(int objtype);
-	virtual ~entity();
-	
-	virtual void reset() {}
-	virtual void post_reset() {}
-	
-	void set_flag(unsigned flag) { flags |= flag; }
-	void clear_flag(unsigned flag) { flags &= ~flag; }
-
-	virtual void destroy() { delete this; }
-	virtual void tick() {}
-	virtual void tick_defered() {}
-		
-	virtual void snap(int snapping_client) {}
-		
-	virtual bool take_damage(vec2 force, int dmg, int from, int weapon) { return true; }
-};
-
-
-class game_world
-{
-	void reset();
-	void remove_entities();
-public:
-	enum
-	{
-		NUM_ENT_TYPES=10, // TODO: are more exact value perhaps? :)
-	};
-
-	// TODO: two lists seams kinda not good, shouldn't be needed
-	entity *first_entity;
-	entity *first_entity_types[NUM_ENT_TYPES];
-	bool paused;
-	bool reset_requested;
-	
-	world_core core;
-	
-	game_world();
-	int find_entities(vec2 pos, float radius, entity **ents, int max);
-	int find_entities(vec2 pos, float radius, entity **ents, int max, const int* types, int maxtypes);
-
-	void insert_entity(entity *ent);
-	void destroy_entity(entity *ent);
-	void remove_entity(entity *ent);
-	
-	//
-	void snap(int snapping_client);
-	void tick();
-};
-
-extern game_world *world;
-
-// game object
-class gameobject : public entity
-{
-	void resetgame();
-	void startround();
-	void endround();
-	
-	int round_start_tick;
-	int game_over_tick;
-	int sudden_death;
-	
-public:
-	class flag *flags[2];
-	
-	int gametype;
-	gameobject();
-	virtual void post_reset();
-	virtual void tick();
-	virtual void tick_dm();
-	virtual void tick_tdm();
-	virtual void tick_ctf();
-	
-	virtual void on_player_spawn(class player *p);
-	virtual void on_player_death(class player *victim, class player *killer, int weapon);
-	
-	virtual void snap(int snapping_client);
-	virtual int getteam(int notthisid);
-};
-
-extern gameobject *gameobj;
-
-
-// TODO: move to seperate file
-class powerup : public entity
-{
-public:
-	static const int phys_size = 14;
-	
-	int type;
-	int subtype; // weapon type for instance?
-	int spawntick;
-	powerup(int _type, int _subtype = 0);
-	
-	virtual void reset();
-	virtual void tick();
-	virtual void snap(int snapping_client);
-};
-
-
-
-// projectile entity
-class projectile : public entity
-{
-public:
-	enum
-	{
-		PROJECTILE_FLAGS_EXPLODE = 1 << 0,
-		
-		WEAPON_PROJECTILETYPE_GUN		= 0,
-		WEAPON_PROJECTILETYPE_ROCKET	= 1,
-		WEAPON_PROJECTILETYPE_SHOTGUN	= 2,
-	};
-	
-	vec2 vel;
-	entity *powner; // this is nasty, could be removed when client quits
-	int lifespan;
-	int owner;
-	int type;
-	int flags;
-	int damage;
-	int sound_impact;
-	int weapon;
-	int bounce;
-	float force;
-	
-	projectile(int type, int owner, vec2 pos, vec2 vel, int span, entity* powner,
-		int damage, int flags, float force, int sound_impact, int weapon);
-	virtual void reset();
-	virtual void tick();
-	virtual void snap(int snapping_client);
-};
-
-// player entity
-class player : public entity
-{
-public:
-	static const int phys_size = 28;
-	
-	enum // what are these?
-	{
-		MODIFIER_RETURNFLAGS_OVERRIDEVELOCITY		= 1 << 0,
-		MODIFIER_RETURNFLAGS_OVERRIDEPOSITION		= 1 << 1,
-		MODIFIER_RETURNFLAGS_OVERRIDEGRAVITY		= 1 << 2,
-	};
-
-	// weapon info
-	entity* hitobjects[10];
-	int numobjectshit;
-	struct weaponstat
-	{
-		int ammoregenstart;
-		int ammo;
-		int ammocost;
-		bool got;
-	} weapons[NUM_WEAPONS];
-	int active_weapon;
-	int last_weapon;
-	int reload_timer;
-	int attack_tick;
-	
-	int damage_taken;
-
-	int emote_type;
-	int emote_stop;
-
-	int last_action;
-	
-	//
-	int client_id;
-	char name[64];
-
-	// input	
-	player_input previnput;
-	player_input input;
-	int jumped;
-	
-	int damage_taken_tick;
-
-	int health;
-	int armor;
-
-	// ninja
-	vec2 activationdir;
-	int ninjaactivationtick;
-	int extrapowerflags;
-	int currentcooldown;
-	int currentactivation;
-	int currentmovetime;
-
-	//
-	int score;
-	int team;
-	int state;
-	
-	bool spawning;
-	bool dead;
-	int die_tick;
-	
-	// latency calculations
-	int latency_accum;
-	int latency_accum_min;
-	int latency_accum_max;
-	int latency_avg;
-	int latency_min;
-	int latency_max;
-
-	// the player core for the physics	
-	player_core core;
-
-	//
-	player();
-	void init();
-	virtual void reset();
-	virtual void destroy();
-		
-	void try_respawn();
-	void respawn();
-
-	bool is_grounded();
-	
-	void set_weapon(int w);
-	
-	int handle_weapons();
-	int handle_ninja();
-
-	virtual void tick();
-	virtual void tick_defered();
-	
-	void die(int killer, int weapon);
-	
-	virtual bool take_damage(vec2 force, int dmg, int from, int weapon);
-	virtual void snap(int snaping_client);
-};
-
-extern player *players;
-
-// TODO: move to seperate file
-class flag : public entity
-{
-public:
-	static const int phys_size = 14;
-	player *carrying_player;
-	vec2 vel;
-	vec2 stand_pos;
-	
-	int team;
-	int spawntick;
-	int at_stand;
-	
-	flag(int _team);
-
-	bool is_grounded();
-	
-	virtual void reset();
-	virtual void tick();
-	virtual void snap(int snapping_client);
-};