FS2_Open
Open source remastering of the Freespace 2 engine
|
#include <algorithm>
#include "network/multi_obj.h"
#include "globalincs/globals.h"
#include "freespace2/freespace.h"
#include "io/timer.h"
#include "io/key.h"
#include "globalincs/linklist.h"
#include "network/multimsgs.h"
#include "network/multiutil.h"
#include "network/multi_options.h"
#include "network/multi_rate.h"
#include "network/multi.h"
#include "object/object.h"
#include "ship/ship.h"
#include "playerman/player.h"
#include "math/spline.h"
#include "physics/physics.h"
#include "ship/afterburner.h"
#include "cfile/cfile.h"
#include "debugconsole/console.h"
Go to the source code of this file.
Macros | |
#define | OO_MAX_SIZE 480 |
#define | OO_POS_UPDATE_TOLERANCE 100.0f |
#define | OO_POS_NEW (1<<0) |
#define | OO_ORIENT_NEW (1<<1) |
#define | OO_HULL_NEW (1<<2) |
#define | OO_AFTERBURNER_NEW (1<<3) |
#define | OO_SUBSYSTEMS_AND_AI_NEW (1<<4) |
#define | OO_PRIMARY_BANK (1<<5) |
#define | OO_PRIMARY_LINKED (1<<6) |
#define | OO_TRIGGER_DOWN (1<<7) |
#define | OO_VIEW_CONE_DOT (0.1f) |
#define | OO_VIEW_DIFF_TOL (0.15f) |
#define | OO_MAX_TIMESTAMP 2500 |
#define | OO_NEAR 0 |
#define | OO_NEAR_DIST (200.0f) |
#define | OO_MIDRANGE 1 |
#define | OO_MIDRANGE_DIST (600.0f) |
#define | OO_FAR 2 |
#define | OO_FAR_DIST (1400.0f) |
#define | OO_HULL_SHIELD_TIME 600 |
#define | OO_SUBSYS_TIME 1000 |
#define | PACK_PERCENT(v) { ubyte upercent; if(v < 0.0f){v = 0.0f;} upercent = (v * 255.0f) <= 255.0f ? (ubyte)(v * 255.0f) : (ubyte)255; memcpy(data + packet_size + header_bytes, &upercent, sizeof(ubyte)); packet_size++; } |
#define | PACK_BYTE(v) { memcpy( data + packet_size + header_bytes, &v, 1 ); packet_size += 1; } |
#define | PACK_USHORT(v) { short swap = INTEL_SHORT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(short) ); packet_size += sizeof(short); } |
#define | PACK_SHORT(v) { ushort swap = INTEL_SHORT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(ushort) ); packet_size += sizeof(ushort); } |
#define | PACK_INT(v) { int swap = INTEL_INT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(int) ); packet_size += sizeof(int); } |
#define | UNPACK_PERCENT(v) { ubyte temp_byte; memcpy(&temp_byte, data + offset, sizeof(ubyte)); v = (float)temp_byte / 255.0f; offset++;} |
#define | OO_LIMIT_LOW 1800 |
#define | OO_LIMIT_MED 3400 |
#define | OO_LIMIT_HIGH 100000000 |
#define | OO_CIRATE 85 |
#define | RATE_UPDATE_TIME 1250 |
#define OO_AFTERBURNER_NEW (1<<3) |
Definition at line 63 of file multi_obj.cpp.
#define OO_CIRATE 85 |
Definition at line 1558 of file multi_obj.cpp.
#define OO_FAR 2 |
Definition at line 80 of file multi_obj.cpp.
#define OO_FAR_DIST (1400.0f) |
Definition at line 81 of file multi_obj.cpp.
#define OO_HULL_NEW (1<<2) |
Definition at line 62 of file multi_obj.cpp.
#define OO_HULL_SHIELD_TIME 600 |
Definition at line 84 of file multi_obj.cpp.
#define OO_LIMIT_HIGH 100000000 |
Definition at line 1555 of file multi_obj.cpp.
#define OO_LIMIT_LOW 1800 |
Definition at line 1553 of file multi_obj.cpp.
#define OO_LIMIT_MED 3400 |
Definition at line 1554 of file multi_obj.cpp.
#define OO_MAX_SIZE 480 |
Definition at line 54 of file multi_obj.cpp.
#define OO_MAX_TIMESTAMP 2500 |
Definition at line 73 of file multi_obj.cpp.
#define OO_MIDRANGE 1 |
Definition at line 78 of file multi_obj.cpp.
#define OO_MIDRANGE_DIST (600.0f) |
Definition at line 79 of file multi_obj.cpp.
#define OO_NEAR 0 |
Definition at line 76 of file multi_obj.cpp.
#define OO_NEAR_DIST (200.0f) |
Definition at line 77 of file multi_obj.cpp.
#define OO_ORIENT_NEW (1<<1) |
Definition at line 61 of file multi_obj.cpp.
#define OO_POS_NEW (1<<0) |
Definition at line 60 of file multi_obj.cpp.
#define OO_POS_UPDATE_TOLERANCE 100.0f |
Definition at line 57 of file multi_obj.cpp.
#define OO_PRIMARY_BANK (1<<5) |
Definition at line 65 of file multi_obj.cpp.
#define OO_PRIMARY_LINKED (1<<6) |
Definition at line 66 of file multi_obj.cpp.
#define OO_SUBSYS_TIME 1000 |
Definition at line 85 of file multi_obj.cpp.
#define OO_SUBSYSTEMS_AND_AI_NEW (1<<4) |
Definition at line 64 of file multi_obj.cpp.
#define OO_TRIGGER_DOWN (1<<7) |
Definition at line 67 of file multi_obj.cpp.
#define OO_VIEW_CONE_DOT (0.1f) |
Definition at line 69 of file multi_obj.cpp.
#define OO_VIEW_DIFF_TOL (0.15f) |
Definition at line 70 of file multi_obj.cpp.
#define PACK_BYTE | ( | v | ) | { memcpy( data + packet_size + header_bytes, &v, 1 ); packet_size += 1; } |
Definition at line 349 of file multi_obj.cpp.
#define PACK_INT | ( | v | ) | { int swap = INTEL_INT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(int) ); packet_size += sizeof(int); } |
Definition at line 352 of file multi_obj.cpp.
#define PACK_PERCENT | ( | v | ) | { ubyte upercent; if(v < 0.0f){v = 0.0f;} upercent = (v * 255.0f) <= 255.0f ? (ubyte)(v * 255.0f) : (ubyte)255; memcpy(data + packet_size + header_bytes, &upercent, sizeof(ubyte)); packet_size++; } |
Definition at line 348 of file multi_obj.cpp.
#define PACK_SHORT | ( | v | ) | { ushort swap = INTEL_SHORT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(ushort) ); packet_size += sizeof(ushort); } |
Definition at line 351 of file multi_obj.cpp.
#define PACK_USHORT | ( | v | ) | { short swap = INTEL_SHORT(v); memcpy( data + packet_size + header_bytes, &swap, sizeof(short) ); packet_size += sizeof(short); } |
Definition at line 350 of file multi_obj.cpp.
#define RATE_UPDATE_TIME 1250 |
Definition at line 1567 of file multi_obj.cpp.
#define UNPACK_PERCENT | ( | v | ) | { ubyte temp_byte; memcpy(&temp_byte, data + offset, sizeof(ubyte)); v = (float)temp_byte / 255.0f; offset++;} |
Definition at line 697 of file multi_obj.cpp.
dc_printf | ( | "%showing interp splines" | , |
display_oo_bez?"S":"Not s" | |||
) |
void multi_oo_build_ship_list | ( | net_player * | pl | ) |
Definition at line 199 of file multi_obj.cpp.
void multi_oo_calc_interp_splines | ( | int | ship_index, |
vec3d * | cur_pos, | ||
matrix * | cur_orient, | ||
physics_info * | cur_phys_info, | ||
vec3d * | new_pos, | ||
matrix * | new_orient, | ||
physics_info * | new_phys_info | ||
) |
Definition at line 1970 of file multi_obj.cpp.
int multi_oo_cirate_can_send | ( | ) |
Definition at line 1753 of file multi_obj.cpp.
void multi_oo_client_process | ( | ) |
Definition at line 1655 of file multi_obj.cpp.
void multi_oo_display | ( | ) |
Definition at line 1541 of file multi_obj.cpp.
void multi_oo_gameplay_init | ( | ) |
Definition at line 1386 of file multi_obj.cpp.
Definition at line 1866 of file multi_obj.cpp.
Definition at line 1825 of file multi_obj.cpp.
int multi_oo_maybe_update | ( | net_player * | pl, |
object * | obj, | ||
ubyte * | data | ||
) |
Definition at line 1080 of file multi_obj.cpp.
Definition at line 269 of file multi_obj.cpp.
int multi_oo_pack_data | ( | net_player * | pl, |
object * | objp, | ||
ubyte | oo_flags, | ||
ubyte * | data_out | ||
) |
Definition at line 353 of file multi_obj.cpp.
void multi_oo_process | ( | ) |
Definition at line 1336 of file multi_obj.cpp.
void multi_oo_process_all | ( | net_player * | pl | ) |
Definition at line 1234 of file multi_obj.cpp.
Definition at line 1357 of file multi_obj.cpp.
int multi_oo_rate_exceeded | ( | net_player * | pl | ) |
Definition at line 1704 of file multi_obj.cpp.
void multi_oo_rate_init | ( | net_player * | pl | ) |
Definition at line 1696 of file multi_obj.cpp.
void multi_oo_rate_init_all | ( | ) |
Definition at line 1668 of file multi_obj.cpp.
void multi_oo_rate_process | ( | ) |
Definition at line 1604 of file multi_obj.cpp.
void multi_oo_reset_sequencing | ( | ) |
Definition at line 1820 of file multi_obj.cpp.
Definition at line 1068 of file multi_obj.cpp.
Definition at line 1074 of file multi_obj.cpp.
void multi_oo_reset_timestamp | ( | net_player * | pl, |
object * | objp, | ||
int | range, | ||
int | in_cone | ||
) |
Definition at line 1019 of file multi_obj.cpp.
Definition at line 1485 of file multi_obj.cpp.
void multi_oo_send_control_info | ( | ) |
Definition at line 1436 of file multi_obj.cpp.
void multi_oo_server_process | ( | ) |
Definition at line 1627 of file multi_obj.cpp.
bool multi_oo_sort_func | ( | const short & | index1, |
const short & | index2 | ||
) |
Definition at line 162 of file multi_obj.cpp.
int multi_oo_unpack_client_data | ( | net_player * | pl, |
ubyte * | data | ||
) |
Definition at line 578 of file multi_obj.cpp.
int multi_oo_unpack_data | ( | net_player * | pl, |
ubyte * | data | ||
) |
Definition at line 698 of file multi_obj.cpp.
void multi_oo_update_server_rate | ( | ) |
Definition at line 1765 of file multi_obj.cpp.
void oo_display | ( | ) |
Definition at line 2031 of file multi_obj.cpp.
void oo_update_time | ( | ) |
Definition at line 2014 of file multi_obj.cpp.
int display_oo_bez = 0 |
Definition at line 2018 of file multi_obj.cpp.
int Multi_cirate_can_send = 1 |
Definition at line 1560 of file multi_obj.cpp.
int Multi_cirate_stamp = -1 |
Definition at line 1559 of file multi_obj.cpp.
bool Multi_oo_afterburn_hack = false |
Definition at line 51 of file multi_obj.cpp.
int Multi_oo_front_far_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 115 of file multi_obj.cpp.
int Multi_oo_front_medium_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 106 of file multi_obj.cpp.
int Multi_oo_front_near_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 97 of file multi_obj.cpp.
int Multi_oo_rear_far_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 142 of file multi_obj.cpp.
int Multi_oo_rear_medium_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 133 of file multi_obj.cpp.
int Multi_oo_rear_near_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 124 of file multi_obj.cpp.
int Multi_oo_target_update_times[MAX_OBJ_UPDATE_LEVELS] |
Definition at line 88 of file multi_obj.cpp.
Definition at line 39 of file multi_obj.cpp.
Definition at line 41 of file multi_obj.cpp.
Definition at line 40 of file multi_obj.cpp.
Definition at line 42 of file multi_obj.cpp.
int OO_client_rate = -1 |
Definition at line 1564 of file multi_obj.cpp.
float oo_error = 0.8f |
Definition at line 1952 of file multi_obj.cpp.
int OO_gran = 1 |
Definition at line 1571 of file multi_obj.cpp.
Definition at line 45 of file multi_obj.cpp.
Definition at line 46 of file multi_obj.cpp.
bez_spline oo_interp_splines[MAX_SHIPS][2] |
Definition at line 47 of file multi_obj.cpp.
object* OO_player_obj |
Definition at line 159 of file multi_obj.cpp.
int OO_server_rate = -1 |
Definition at line 1563 of file multi_obj.cpp.
int OO_server_rate_stamp = -1 |
Definition at line 1568 of file multi_obj.cpp.
short OO_ship_index[MAX_SHIPS] |
Definition at line 151 of file multi_obj.cpp.
int OO_sort = 1 |
Definition at line 160 of file multi_obj.cpp.
int OO_update_index = -1 |
Definition at line 153 of file multi_obj.cpp.