void waypoint_create_game_object(waypoint *wpt, int list_index, int wpt_index) { Assert(wpt != NULL); Assert(list_index >= 0); Assert(wpt_index >= 0); wpt->objnum = obj_create(OBJ_WAYPOINT, -1, calc_waypoint_instance(list_index, wpt_index), NULL, wpt->get_pos(), 0.0f, OF_RENDERS); }
void waypoint_create_game_object(waypoint *wpt, int list_index, int wpt_index) { Assert(wpt != NULL); Assert(list_index >= 0); Assert(wpt_index >= 0); flagset<Object::Object_Flags> default_flags; default_flags.set(Object::Object_Flags::Renders); wpt->objnum = obj_create(OBJ_WAYPOINT, -1, calc_waypoint_instance(list_index, wpt_index), NULL, wpt->get_pos(), 0.0f, default_flags); }
void ship_select::OnSelchangeShipList() { int i, j, k, count; if (activity) return; activity = ACTIVITY_SHIP; for (i=0; i<wlist_size; i++) { count = 0; for (j=0; j<Wings[wing_index[i]].wave_count; j++) for (k=0; k<list_size; k++) if (OBJ_INDEX(obj_index[k]) == wing_objects[wing_index[i]][j]) { if (m_ship_list.GetSel(k)) count++; break; } if (count == Wings[wing_index[i]].wave_count) wing_sel_last[i] = 1; else wing_sel_last[i] = 0; m_wing_list.SetSel(i, wing_sel_last[i] ? TRUE : FALSE); } for (i=wlist_size; i<wplist_size; i++) { waypoint_list *wp_list = find_waypoint_list_at_index(wing_index[i]); Assert(wp_list != NULL); SCP_list<waypoint>::iterator jj; count = 0; for (j = 0, jj = wp_list->get_waypoints().begin(); jj != wp_list->get_waypoints().end(); ++j, ++jj) { for (k=0; k<list_size; k++) { if ((obj_index[k]->type == OBJ_WAYPOINT) && (obj_index[k]->instance == calc_waypoint_instance(wing_index[i], j))) { if (m_ship_list.GetSel(k)) count++; break; } } } if ((uint) count == wp_list->get_waypoints().size()) wing_sel_last[i] = 1; else wing_sel_last[i] = 0; m_wing_list.SetSel(i, wing_sel_last[i] ? TRUE : FALSE); } activity = 0; }
void ship_select::OnSelchangeWingList() { int i, j, k, z; if (activity) return; activity = ACTIVITY_WING; for (i=0; i<wlist_size; i++) { z = (m_wing_list.GetSel(i) > 0) ? 1 : 0; if (z != wing_sel_last[i]) { for (j=0; j<Wings[wing_index[i]].wave_count; j++) for (k=0; k<list_size; k++) if (OBJ_INDEX(obj_index[k]) == wing_objects[wing_index[i]][j]) { m_ship_list.SetSel(k, z ? TRUE : FALSE); break; } wing_sel_last[i] = z; } } for (i=wlist_size; i<wplist_size; i++) { z = (m_wing_list.GetSel(i) > 0) ? 1 : 0; if (z != wing_sel_last[i]) { waypoint_list *wp_list = find_waypoint_list_at_index(wing_index[i]); Assert(wp_list != NULL); SCP_list<waypoint>::iterator jj; for (j = 0, jj = wp_list->get_waypoints().begin(); jj != wp_list->get_waypoints().end(); ++j, ++jj) { for (k=0; k<list_size; k++) { if ((obj_index[k]->type == OBJ_WAYPOINT) && (obj_index[k]->instance == calc_waypoint_instance(wing_index[i], j))) { m_ship_list.SetSel(k, z ? TRUE : FALSE); break; } } } wing_sel_last[i] = z; } } activity = 0; }