163 vec3d local_line_end;
164 vec3d *world_line_start, world_line_end;
170 world_line_start = &objp->
pos;
177 local_line_end.
xyz.x = 1.0f;
181 local_line_end.
xyz.y = 1.0f;
185 local_line_end.
xyz.z = 1.0f;
213 vec3d local_line_end;
214 vec3d *world_line_start, world_line_end;
220 world_line_start = &objp->
pos;
227 local_line_end.
xyz.x = 1.0f;
231 local_line_end.
xyz.y = 1.0f;
235 local_line_end.
xyz.z = 1.0f;
287 Assert((objp != NULL) && (infop != NULL) && (
function != NULL));
293 function(
objp, infop);
301 function(
objp, infop);
316 function(hub_objp, infop);
323 function(ptr->docked_objp, infop);
342 visited_bitstring = NULL;
356 function(
objp, infop);
386 object *fastest_objp;
400 if (fastest_objp == NULL)
424 if (parent_objp != NULL)
485 vec3d world_point, local_point[6], nearest;
503 memset(local_point, 0,
sizeof(
vec3d) * 6);
512 for (i = 0; i < 6; i++)
534 vec3d world_point, local_point[6], nearest;
537 float temp, dist_squared;
552 memset(local_point, 0,
sizeof(
vec3d) * 6);
561 for (i = 0; i < 6; i++)
607 Error(
LOCATION,
"Trying to dock an object that's already docked!\n");
612 Error(
LOCATION,
"Trying to dock to a dockpoint that's in use!\n");
626 Error(
LOCATION,
"Trying to undock an object that isn't docked!\n");
709 if (prev_ptr == NULL)
void dock_free_dock_list(object *objp)
void dock_calc_docked_center_helper(object *objp, dock_function_info *infop)
float dock_calc_docked_fspeed(object *objp)
polymodel * model_get(int model_num)
bool dock_check_find_docked_object(object *objp, object *other_objp)
void dock_calc_docked_center_of_mass_helper(object *objp, dock_function_info *infop)
struct vec3d::@225::@227 xyz
object * dock_find_object_at_dockpoint(object *objp, int dockpoint)
void dock_evaluate_tree(object *objp, dock_function_info *infop, void(*function)(object *, dock_function_info *), ubyte *visited_bitstring)
bool dock_check_find_direct_docked_object(object *objp, object *other_objp)
vec3d * vm_vec_rotate(vec3d *dest, const vec3d *src, const matrix *m)
int dock_find_dockpoint_used_by_object(object *objp, object *other_objp)
#define MISSION_FLAG_ALLOW_DOCK_TREES
void dock_calc_max_semilatus_rectum_squared_parallel_to_directrix_helper(object *objp, dock_function_info *infop)
void vm_vec_scale_add2(vec3d *dest, const vec3d *src, float k)
float dock_calc_docked_speed(object *objp)
void dock_move_docked_objects(object *objp)
void vm_vec_dist_squared_to_line(const vec3d *p, const vec3d *l0, const vec3d *l1, vec3d *nearest, float *dist_squared)
void obj_move_one_docked_object(object *objp, object *parent_objp)
#define calculate_num_bytes(num_bits)
void dock_check_find_docked_object_helper(object *objp, dock_function_info *infop)
#define set_bit(array, bitnum)
#define get_bit(array, bitnum)
void dock_count_total_docked_objects_helper(object *objp, dock_function_info *infop)
int object_is_docked(object *objp)
void dock_calc_docked_center(vec3d *dest, object *objp)
void vm_vec_add2(vec3d *dest, const vec3d *src)
dock_instance * dock_list
bool dock_check_docked_one_on_one(object *objp)
void dock_add_instance(object *objp, int dockpoint, object *other_objp)
void vm_vec_scale(vec3d *dest, float s)
object * dock_get_hub(object *objp)
dock_instance * dock_find_instance(object *objp, object *other_objp)
void dock_undock_objects(object *objp1, object *objp2)
void dock_remove_instance(object *objp, object *other_objp)
void dock_find_max_fspeed_helper(object *objp, dock_function_info *infop)
float dock_calc_max_cross_sectional_radius_perpendicular_to_axis(object *objp, axis_type axis)
bool early_return_condition
object * dock_get_first_docked_object(object *objp)
int dock_count_total_docked_objects(object *objp)
void dock_dock_objects(object *objp1, int dockpoint1, object *objp2, int dockpoint2)
float vm_vec_dist_squared(const vec3d *v0, const vec3d *v1)
float dock_calc_max_semilatus_rectum_parallel_to_axis(object *objp, axis_type axis)
void _cdecl void void _cdecl Error(const char *filename, int line, SCP_FORMAT_STRING const char *format,...) SCP_FORMAT_STRING_ARGS(3
int dock_count_direct_docked_objects(object *objp)
int dock_count_instances(object *objp)
void dock_move_docked_children_tree(object *objp, object *parent_objp)
struct dock_function_info::@258 parameter_variables
struct dock_function_info::@258 maintained_variables
void dock_find_max_speed_helper(object *objp, dock_function_info *infop)
void dock_evaluate_all_docked_objects(object *objp, dock_function_info *infop, void(*function)(object *, dock_function_info *))
SCP_vector< ship_info > Ship_info
void dock_calc_docked_center_of_mass(vec3d *dest, object *objp)
bool dock_check_assume_hub()
void dock_calc_max_cross_sectional_radius_squared_perpendicular_to_line_helper(object *objp, dock_function_info *infop)
float dock_calc_total_docked_mass(object *objp)
#define OF_DOCKED_ALREADY_HANDLED
void dock_calc_total_docked_mass_helper(object *objp, dock_function_info *infop)