void menu::do_sort() { if(sorter_ == NULL || sorter_->column_sortable(sortby_) == false) { return; } const int selectid = selection(); std::stable_sort(items_.begin(), items_.end(), sort_func(*sorter_, sortby_)); if (sortreversed_) std::reverse(items_.begin(), items_.end()); recalculate_pos(); if(selectid >= 0 && selectid < int(item_pos_.size())) { move_selection_to(selectid, true, NO_MOVE_VIEWPORT); } set_dirty(); }
Yeti::Yeti(const ReaderMapping& reader) : BadGuy(reader, "images/creatures/yeti/yeti.sprite"), state(), state_timer(), safe_timer(), stomp_count(), hit_points(), hud_head(), left_stand_x(), right_stand_x(), left_jump_x(), right_jump_x() { if ( !reader.get("lives", hit_points) ) { hit_points = INITIAL_HITPOINTS; } countMe = true; SoundManager::current()->preload("sounds/yeti_gna.wav"); SoundManager::current()->preload("sounds/yeti_roar.wav"); std::string hud_icon; if ( !reader.get("hud-icon", hud_icon) ) { hud_icon = "images/creatures/yeti/hudlife.png"; } hud_head = Surface::create(hud_icon); initialize(); bool fixed_pos; if ( !reader.get("fixed-pos", fixed_pos) ) { fixed_pos = false; } if (fixed_pos) { left_stand_x = 80; right_stand_x = 1140; left_jump_x = 528; right_jump_x = 692; } else { recalculate_pos(); } }