21         this->m_position.
xyz.x = 0.0f;
 
   22         this->m_position.
xyz.y = 0.0f;
 
   23         this->m_position.
xyz.z = 0.0f;
 
   26         this->m_parent_list = NULL;
 
   33         this->m_position.
xyz.x = position->
xyz.x;
 
   34         this->m_position.
xyz.y = position->
xyz.y;
 
   35         this->m_position.
xyz.z = position->
xyz.z;
 
   38         this->m_parent_list = parent_list;
 
   64         this->m_position = *
pos;
 
   69         this->m_name[0] = 
'\0';
 
  103         Waypoint_lists.clear();
 
  108         Waypoint_lists.clear();
 
  113         Assert(waypoint_list_index >= 0);
 
  114         Assert(waypoint_index >= 0);
 
  115         return waypoint_list_index * 0x10000 + waypoint_index;
 
  120         Assert(waypoint_instance >= 0);
 
  127         Assert(waypoint_instance >= 0);
 
  128         return waypoint_instance / 0x10000;
 
  133         Assert(waypoint_instance >= 0);
 
  134         return waypoint_instance & 0xffff;
 
  152         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++ii)
 
  155                 for (jj = ii->get_waypoints().begin(); jj != ii->get_waypoints().end(); ++jj)
 
  169         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++ii)
 
  184         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++ii)
 
  186                 uint len = strlen(ii->get_name());
 
  192                         if (*(name + len) != 
':')
 
  196                         const char *index_str = name + len + 1;
 
  197                         if (*index_str == 
'\0')
 
  199                                 nprintf((
"waypoints", 
"possible error with waypoint name '%s': no waypoint number after the colon\n", name));
 
  205                         for (
const char *ch = index_str; *ch != 
'\0'; ch++)
 
  215                                 nprintf((
"waypoints", 
"possible error with waypoint name '%s': string after the colon is not a number\n", name));
 
  223                                 nprintf((
"waypoints", 
"possible error with waypoint name '%s': waypoint number is out of range\n", name));
 
  242         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++ii)
 
  244                 for (jj = ii->get_waypoints().begin(); jj != ii->get_waypoints().end(); ++jj)
 
  246                         if (jj->get_objnum() == objnum)
 
  256         if (waypoint_instance < 0)
 
  258                 if (waypoint_index != NULL)
 
  259                         *waypoint_index = -1;
 
  266                 if (waypoint_index != NULL)
 
  267                         *waypoint_index = -1;
 
  271         if (waypoint_index != NULL)
 
  274                 Assert(*waypoint_index >= 0 && (
uint) *waypoint_index < wp_list->get_waypoints().
size());
 
  281         if (waypoint_instance < 0)
 
  298         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++
i, ++ii)
 
  330         for (ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++ii)
 
  332                 if (&(*ii) == wp_list)
 
  359         Assert(dest_name != NULL);
 
  362         int index = start_index;
 
  366                 sprintf(dest_name, 
"Waypoint path %d", index);
 
  371         } 
while (collision != NULL);
 
  380                 Warning(
LOCATION, 
"Waypoint list '%s' already exists in this mission!  Not adding the new list...", name);
 
  385         Waypoint_lists.push_back(new_list);
 
  390         for (ii = vec_list.begin(); ii != vec_list.end(); ++ii)
 
  392                 waypoint new_waypoint(&(*ii), wp_list);
 
  406         int i, wp_list_index, wp_index;
 
  409         if (waypoint_instance < 0)
 
  417                 Waypoint_lists.push_back(new_list);
 
  418                 wp_list = &Waypoint_lists.back();
 
  421                 wp_list_index = Waypoint_lists.size() - 1;
 
  448         Assert(wp_index < 0x10000);
 
  451         waypoint new_waypoint(pos, wp_list);
 
  455         for (i = 0; i < wp_index; i++)
 
  480                 if (Waypoint_lists.size() == 1)
 
  482                         Waypoint_lists.clear();
 
  490                         for (i = 0, ii = Waypoint_lists.begin(); ii != Waypoint_lists.end(); ++
i, ++ii)
 
  494                                         Waypoint_lists.erase(ii);
 
  498                         Assert(ii != Waypoint_lists.end());
 
waypoint * find_matching_waypoint(const char *name)
 
void waypoint_add_list(const char *name, SCP_vector< vec3d > &vec_list)
 
int calc_waypoint_index(int waypoint_instance)
 
void waypoint_parse_init()
 
waypoint_list * find_waypoint_list_with_instance(int waypoint_instance, int *waypoint_index)
 
void _cdecl void void _cdecl void _cdecl Warning(char *filename, int line, SCP_FORMAT_STRING const char *format,...) SCP_FORMAT_STRING_ARGS(3
 
int find_index_of_waypoint(waypoint_list *wp_list, waypoint *wpt)
 
struct vec3d::@225::@227 xyz
 
#define END_OF_LIST(head)
 
void waypoint_create_game_object(waypoint *wpt, int list_index, int wpt_index)
 
GLenum GLuint GLenum GLsizei const GLchar * buf
 
SCP_list< waypoint_list > Waypoint_lists
 
int calc_waypoint_instance(int waypoint_list_index, int waypoint_index)
 
waypoint * find_waypoint_with_objnum(int objnum)
 
SCP_vector< waypoint > & get_waypoints()
 
waypoint_list * get_parent_list()
 
void set_name(const char *name)
 
int obj_create(ubyte type, int parent_obj, int instance, matrix *orient, vec3d *pos, float radius, uint flags)
 
#define strnicmp(s1, s2, n)
 
sprintf(buf,"(%f,%f,%f)", v3->xyz.x, v3->xyz.y, v3->xyz.z)
 
void waypoint_find_unique_name(char *dest_name, int start_index)
 
int waypoint_add(vec3d *pos, int waypoint_instance)
 
const size_t INVALID_WAYPOINT_POSITION
 
object Objects[MAX_OBJECTS]
 
waypoint * find_waypoint_with_instance(int waypoint_instance)
 
GLuint const GLchar * name
 
void calc_waypoint_indexes(int waypoint_instance, int &waypoint_list_index, int &waypoint_index)
 
void obj_delete(int objnum)
 
waypoint_list * find_matching_waypoint_list(const char *name)
 
waypoint_list * find_waypoint_list_at_index(int index)
 
void waypoint_level_close()
 
int find_index_of_waypoint_list(waypoint_list *wp_list)
 
waypoint * find_waypoint_at_index(waypoint_list *list, int index)
 
void waypoint_create_game_objects()
 
void waypoint_remove(waypoint *wpt)
 
int calc_waypoint_list_index(int waypoint_instance)