about summary refs log tree commit diff
path: root/src/game/client/gc_client.h
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-12 17:09:00 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-12 17:09:00 +0000
commit906ece7894927983b8ac69e37dd3cb82cfe7aad1 (patch)
treec3e83b60f04c5f26975106d807ad5185d20827be /src/game/client/gc_client.h
parent99f0a47d6b03b005d0a7dae064cb6eb7cb4f60b5 (diff)
downloadzcatch-906ece7894927983b8ac69e37dd3cb82cfe7aad1.tar.gz
zcatch-906ece7894927983b8ac69e37dd3cb82cfe7aad1.zip
continued the cleanup
Diffstat (limited to 'src/game/client/gc_client.h')
-rw-r--r--src/game/client/gc_client.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/game/client/gc_client.h b/src/game/client/gc_client.h
new file mode 100644
index 00000000..d34ccc78
--- /dev/null
+++ b/src/game/client/gc_client.h
@@ -0,0 +1,93 @@
+#include <game/g_vmath.h>
+#include <game/g_protocol.h>
+#include <game/g_game.h>
+
+#include <game/client/gc_render.h>
+
+// sound channels
+enum
+{
+	CHN_GUI=0,
+	CHN_MUSIC,
+	CHN_WORLD,
+	CHN_GLOBAL,
+};
+
+extern struct data_container *data;
+
+extern vec2 mouse_pos;
+extern vec2 local_character_pos;
+extern vec2 local_target_pos;
+
+// snap pointers
+extern const obj_player_character *local_character;
+extern const obj_player_character *local_prev_character;
+extern const obj_player_info *local_info;
+extern const obj_flag *flags[2];
+extern const obj_game *gameobj;
+
+// predicted players
+extern player_core predicted_prev_player;
+extern player_core predicted_player;
+
+// input
+extern int picked_up_weapon;
+extern player_input input_data;
+extern int input_target_lock;
+
+// chat
+enum
+{
+	CHATMODE_NONE=0,
+	CHATMODE_ALL,
+	CHATMODE_TEAM,
+	CHATMODE_CONSOLE,
+	CHATMODE_REMOTECONSOLE,
+};
+
+extern int chat_mode;
+void chat_add_line(int client_id, int team, const char *line);
+void chat_reset();
+
+// client data
+struct client_data
+{
+	char name[64];
+	char skin_name[64];
+	int skin_id;
+	int skin_color;
+	int team;
+	int emoticon;
+	int emoticon_start;
+	player_core predicted;
+	
+	tee_render_info skin_info; // this is what the server reports
+	tee_render_info render_info; // this is what we use
+	
+	void update_render_info();
+};
+
+extern client_data client_datas[MAX_CLIENTS];
+
+// kill messages
+struct killmsg
+{
+	int weapon;
+	int victim;
+	int killer;
+	int mode_special; // for CTF, if the guy is carrying a flag for example
+	int tick;
+};
+
+const int killmsg_max = 5;
+extern killmsg killmsgs[killmsg_max];
+extern int killmsg_current;
+
+// various helpers
+void snd_play_random(int chn, int setid, float vol, vec2 pos);
+void process_events(int snaptype);
+void clear_object_pointers();
+void reset_projectile_particles();
+void send_info(bool start);
+
+void effect_air_jump(vec2 pos);