2007-08-22 21:13:33 +00:00
|
|
|
// NOTE: Be very careful when editing this file as it will change the network version
|
|
|
|
|
2007-09-09 18:21:14 +00:00
|
|
|
// --------- PHYSICS TWEAK! --------
|
|
|
|
const float ground_control_speed = 7.0f;
|
|
|
|
const float ground_control_accel = 2.0f;
|
|
|
|
const float ground_friction = 0.5f;
|
|
|
|
const float ground_jump_speed = 13.5f;
|
2007-09-22 18:55:52 +00:00
|
|
|
const float air_control_speed = 5.0f;
|
|
|
|
const float air_control_accel = 1.5f;
|
2007-09-09 18:21:14 +00:00
|
|
|
const float air_friction = 0.95f;
|
|
|
|
const float hook_length = 34*10.0f;
|
|
|
|
const float hook_fire_speed = 45.0f;
|
|
|
|
const float hook_drag_accel = 3.0f;
|
|
|
|
const float hook_drag_speed = 15.0f;
|
|
|
|
const float gravity = 0.5f;
|
|
|
|
const float wall_friction = 0.80f;
|
|
|
|
const float wall_jump_speed_up = ground_jump_speed*0.8f;
|
|
|
|
const float wall_jump_speed_out = ground_jump_speed*0.8f;
|
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
// Network stuff
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
OBJTYPE_NULL=0,
|
|
|
|
OBJTYPE_GAME,
|
2007-10-28 11:30:25 +00:00
|
|
|
OBJTYPE_PLAYER_INFO,
|
|
|
|
OBJTYPE_PLAYER_CHARACTER, // use this if you are searching for the player entity
|
2007-08-22 21:13:33 +00:00
|
|
|
OBJTYPE_PROJECTILE,
|
|
|
|
OBJTYPE_POWERUP,
|
|
|
|
OBJTYPE_FLAG,
|
|
|
|
EVENT_EXPLOSION,
|
|
|
|
EVENT_DAMAGEINDICATION,
|
|
|
|
EVENT_SOUND,
|
|
|
|
EVENT_SMOKE,
|
|
|
|
EVENT_SPAWN,
|
|
|
|
EVENT_DEATH,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
MSG_NULL=0,
|
2007-11-04 00:19:41 +00:00
|
|
|
MSG_SAY, // client -> server
|
|
|
|
MSG_CHAT, // server -> client
|
|
|
|
MSG_SETINFO, // server -> client - contains name, skin and color info
|
|
|
|
MSG_KILLMSG, // server -> client
|
2007-10-07 20:23:33 +00:00
|
|
|
MSG_SETTEAM,
|
2007-08-22 21:13:33 +00:00
|
|
|
MSG_JOIN,
|
|
|
|
MSG_QUIT,
|
|
|
|
MSG_EMOTICON,
|
2007-11-04 00:19:41 +00:00
|
|
|
MSG_STARTINFO, // client -> server
|
|
|
|
MSG_CHANGEINFO, // client -> server
|
|
|
|
MSG_READY_TO_ENTER // server -> client
|
2007-08-22 21:13:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
EMOTE_NORMAL=0,
|
|
|
|
EMOTE_PAIN,
|
|
|
|
EMOTE_HAPPY,
|
|
|
|
EMOTE_SURPRISE,
|
|
|
|
EMOTE_ANGRY,
|
|
|
|
EMOTE_BLINK,
|
|
|
|
};
|
|
|
|
|
2007-10-07 23:43:14 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
INPUT_STATE_MASK=0x1f,
|
|
|
|
};
|
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
STATE_UNKNOWN=0,
|
|
|
|
STATE_PLAYING,
|
|
|
|
STATE_IN_MENU,
|
|
|
|
STATE_CHATTING,
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-10-14 13:54:02 +00:00
|
|
|
//GAMETYPE_DM=0,
|
|
|
|
//GAMETYPE_TDM,
|
|
|
|
//GAMETYPE_CTF,
|
2007-08-22 21:13:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct player_input
|
|
|
|
{
|
|
|
|
int left;
|
|
|
|
int right;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
int target_x;
|
|
|
|
int target_y;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
int jump;
|
|
|
|
int fire;
|
|
|
|
int hook;
|
|
|
|
int blink;
|
|
|
|
int state;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-10-07 23:43:14 +00:00
|
|
|
int wanted_weapon;
|
2007-10-07 15:32:54 +00:00
|
|
|
int next_weapon;
|
|
|
|
int prev_weapon;
|
2007-08-22 21:13:33 +00:00
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
struct ev_common
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
int x, y;
|
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
struct ev_explosion : public ev_common
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
struct ev_spawn : public ev_common
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
struct ev_death : public ev_common
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
struct ev_sound : public ev_common
|
|
|
|
{
|
|
|
|
int sound;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ev_damageind : public ev_common
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
int angle;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct obj_game
|
|
|
|
{
|
|
|
|
int round_start_tick;
|
|
|
|
int game_over;
|
|
|
|
int sudden_death;
|
|
|
|
int paused;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
int score_limit;
|
|
|
|
int time_limit;
|
|
|
|
int gametype;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-10-06 17:36:24 +00:00
|
|
|
int warmup;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-10-03 21:32:02 +00:00
|
|
|
int teamscore[2];
|
2007-08-22 21:13:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct obj_projectile
|
|
|
|
{
|
|
|
|
int type;
|
|
|
|
int x, y;
|
|
|
|
int vx, vy; // should be an angle instead
|
|
|
|
};
|
|
|
|
|
|
|
|
struct obj_powerup
|
|
|
|
{
|
|
|
|
int x, y;
|
|
|
|
int type; // why do we need two types?
|
|
|
|
int subtype;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct obj_flag
|
|
|
|
{
|
|
|
|
int x, y;
|
|
|
|
int team;
|
2007-10-28 11:30:25 +00:00
|
|
|
int local_carry; // is set if the local player has the flag
|
2007-08-22 21:13:33 +00:00
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
// core object needed for physics
|
2007-09-09 18:21:14 +00:00
|
|
|
struct obj_player_core
|
|
|
|
{
|
|
|
|
int x, y;
|
|
|
|
int vx, vy;
|
|
|
|
int angle;
|
|
|
|
|
2007-09-22 18:55:52 +00:00
|
|
|
int hooked_player;
|
2007-09-09 18:21:14 +00:00
|
|
|
int hook_state;
|
|
|
|
int hook_x, hook_y;
|
|
|
|
int hook_dx, hook_dy;
|
|
|
|
};
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
// info about the player that is only needed when it's on screen
|
|
|
|
struct obj_player_character : public obj_player_core
|
2007-08-22 21:13:33 +00:00
|
|
|
{
|
|
|
|
int state;
|
|
|
|
|
|
|
|
int health;
|
|
|
|
int armor;
|
|
|
|
int ammocount;
|
2007-10-14 13:54:02 +00:00
|
|
|
int weaponstage;
|
2007-10-28 11:30:25 +00:00
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
int weapon; // current active weapon
|
|
|
|
|
2007-10-28 11:30:25 +00:00
|
|
|
int emote;
|
|
|
|
|
2007-08-22 21:13:33 +00:00
|
|
|
int attacktick; // num attack ticks left of current attack
|
2007-10-28 11:30:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// information about the player that is always needed
|
|
|
|
struct obj_player_info
|
|
|
|
{
|
|
|
|
int local;
|
|
|
|
int clientid;
|
|
|
|
|
|
|
|
int team;
|
2007-08-22 21:13:33 +00:00
|
|
|
int score;
|
|
|
|
int latency;
|
|
|
|
int latency_flux;
|
|
|
|
};
|