Pol
Revision:cb584c9
|
#include <multidef.h>
Public Types | |
typedef std::multimap< unsigned short, const MULTI_ELEM * > | Components |
enum | HOUSETYPE : u8 { UNKNOWN, BOAT, HOUSE, STAIRS } |
typedef std::vector< const MULTI_ELEM * > | HullList |
typedef std::set< unsigned short > | HullList2 |
typedef std::pair< Components::const_iterator, Components::const_iterator > | ItrPair |
Public Member Functions | |
MultiDef (Clib::ConfigElem &elem, u16 multiid) | |
~MultiDef () | |
void | add_body_tohull () |
void | add_row_tohull (short y) |
void | add_to_hull (const MULTI_ELEM *elem) |
void | add_to_internal_hull (const MULTI_ELEM *elem) |
void | addrec (const MULTI_ELEM *elem) |
bool | body_contains (short rx, short ry) const |
void | computehull () |
void | eliminate_hull_dupes () |
size_t | estimateSize () const |
void | fill_hull2 () |
const MULTI_ELEM * | find_component (short rx, short ry) const |
ItrPair | findcomponents (short rx, short ry) |
bool | findcomponents (Components::const_iterator &beg, Components::const_iterator &end, short rx, short ry) const |
void | init () |
bool | readobjects (Core::StaticList &vec, short rx, short ry, short zbase) const |
bool | readshapes (Plib::MapShapeList &vec, short rx, short ry, short zbase, unsigned int anyflags) const |
Static Public Member Functions | |
static unsigned short | getkey (short rx, short ry) |
Public Attributes | |
Components | components |
std::vector< MULTI_ELEM > | elems |
HullList | hull |
HullList2 | hull2 |
HullList | internal_hull |
HullList2 | internal_hull2 |
short | maxrx |
short | maxry |
short | maxrz |
short | minrx |
short | minry |
short | minrz |
u16 | multiid |
enum Pol::Multi::MultiDef::HOUSETYPE | type |
short | xbase |
short | xsize |
short | ybase |
short | ysize |
Static Public Attributes | |
static short | global_maxrx |
static short | global_maxry |
static short | global_maxrz |
static short | global_minrx |
static short | global_minry |
static short | global_minrz |
Definition at line 53 of file multidef.h.
typedef std::multimap<unsigned short, const MULTI_ELEM*> Pol::Multi::MultiDef::Components |
Definition at line 82 of file multidef.h.
typedef std::vector<const MULTI_ELEM*> Pol::Multi::MultiDef::HullList |
Definition at line 75 of file multidef.h.
typedef std::set<unsigned short> Pol::Multi::MultiDef::HullList2 |
Definition at line 78 of file multidef.h.
typedef std::pair<Components::const_iterator, Components::const_iterator> Pol::Multi::MultiDef::ItrPair |
Definition at line 83 of file multidef.h.
Enumerator | |
---|---|
UNKNOWN | |
BOAT | |
HOUSE | |
STAIRS |
Definition at line 60 of file multidef.h.
|
explicit |
Definition at line 28 of file multidef.cpp.
References BOAT, Pol::Multi::BoatShapeExists(), elems, Pol::Clib::hexint(), HOUSE, Pol::Multi::MULTI_ELEM::is_static, Pol::Multi::MULTI_ELEM::objtype, Pol::Clib::ConfigElem::remove_prop(), STAIRS, Pol::Clib::ConfigElem::throw_error(), type, Pol::Clib::ConfigElemBase::type_is(), Pol::Multi::MULTI_ELEM::x, Pol::Multi::MULTI_ELEM::y, and Pol::Multi::MULTI_ELEM::z.
Referenced by estimateSize(), and Pol::Multi::read_multidefs().
Pol::Multi::MultiDef::~MultiDef | ( | ) |
Definition at line 96 of file multidef.cpp.
void Pol::Multi::MultiDef::add_body_tohull | ( | ) |
Definition at line 171 of file multidef.cpp.
References add_to_hull(), find_component(), maxrx, maxry, minrx, and minry.
Referenced by computehull().
void Pol::Multi::MultiDef::add_row_tohull | ( | short | y | ) |
void Pol::Multi::MultiDef::add_to_hull | ( | const MULTI_ELEM * | elem | ) |
Definition at line 126 of file multidef.cpp.
References add_to_internal_hull(), BOAT, find_component(), getkey(), hull, hull2, maxrx, maxry, minrx, minry, multiid, type, Pol::Multi::MULTI_ELEM::x, and Pol::Multi::MULTI_ELEM::y.
Referenced by add_body_tohull().
void Pol::Multi::MultiDef::add_to_internal_hull | ( | const MULTI_ELEM * | elem | ) |
Definition at line 160 of file multidef.cpp.
References getkey(), internal_hull, internal_hull2, Pol::Multi::MULTI_ELEM::x, and Pol::Multi::MULTI_ELEM::y.
Referenced by add_to_hull().
void Pol::Multi::MultiDef::addrec | ( | const MULTI_ELEM * | elem | ) |
Definition at line 228 of file multidef.cpp.
References components, getkey(), global_maxrx, global_maxry, global_maxrz, global_minrx, global_minry, global_minrz, maxrx, maxry, maxrz, minrx, minry, minrz, Pol::Multi::MULTI_ELEM::x, Pol::Multi::MULTI_ELEM::y, and Pol::Multi::MULTI_ELEM::z.
Referenced by init().
bool Pol::Multi::MultiDef::body_contains | ( | short | rx, |
short | ry | ||
) | const |
Definition at line 114 of file multidef.cpp.
References components, and getkey().
Referenced by find_component(), and Pol::Multi::UBoat::on_ship().
void Pol::Multi::MultiDef::computehull | ( | ) |
void Pol::Multi::MultiDef::eliminate_hull_dupes | ( | ) |
size_t Pol::Multi::MultiDef::estimateSize | ( | ) | const |
Definition at line 270 of file multidef.cpp.
References components, elems, global_maxrx, global_maxry, global_maxrz, global_minrx, global_minry, global_minrz, hull, hull2, internal_hull, internal_hull2, and MultiDef().
void Pol::Multi::MultiDef::fill_hull2 | ( | ) |
const MULTI_ELEM * Pol::Multi::MultiDef::find_component | ( | short | rx, |
short | ry | ||
) | const |
Definition at line 118 of file multidef.cpp.
References body_contains(), components, and getkey().
Referenced by add_body_tohull(), and add_to_hull().
ItrPair Pol::Multi::MultiDef::findcomponents | ( | short | rx, |
short | ry | ||
) |
Referenced by readobjects(), and readshapes().
bool Pol::Multi::MultiDef::findcomponents | ( | Components::const_iterator & | beg, |
Components::const_iterator & | end, | ||
short | rx, | ||
short | ry | ||
) | const |
Definition at line 98 of file multidef.cpp.
References components, and getkey().
|
inlinestatic |
Definition at line 128 of file multidef.h.
Referenced by add_to_hull(), add_to_internal_hull(), addrec(), body_contains(), find_component(), findcomponents(), and Pol::UoTool::print_multihull().
void Pol::Multi::MultiDef::init | ( | ) |
Definition at line 261 of file multidef.cpp.
References addrec(), computehull(), and elems.
Referenced by Pol::Multi::read_multidefs().
bool Pol::Multi::MultiDef::readobjects | ( | Core::StaticList & | vec, |
short | rx, | ||
short | ry, | ||
short | zbase | ||
) | const |
Definition at line 24 of file multidef2.cpp.
References findcomponents(), Pol::Items::getgraphic(), Pol::Multi::MULTI_ELEM::is_static, maxry, minrx, minry, Pol::Multi::MULTI_ELEM::objtype, Pol::Core::tile_flags(), Pol::Plib::FLAG::WALKBLOCK, and Pol::Multi::MULTI_ELEM::z.
Referenced by Pol::Realms::Realm::readmultis().
bool Pol::Multi::MultiDef::readshapes | ( | Plib::MapShapeList & | vec, |
short | rx, | ||
short | ry, | ||
short | zbase, | ||
unsigned int | anyflags | ||
) | const |
Definition at line 58 of file multidef2.cpp.
References Pol::Plib::FLAG::ALLOWDROPON, Pol::Plib::FLAG::BLOCKSIGHT, BOAT, findcomponents(), Pol::Plib::MapShape::flags, Pol::Core::Tile::flags, Pol::Items::getgraphic(), Pol::Plib::MapShape::height, Pol::Multi::MULTI_ELEM::is_static, maxry, minrx, minry, Pol::Plib::FLAG::MOVELAND, Pol::Multi::MULTI_ELEM::objtype, Pol::Plib::FLAG::OVERFLIGHT, Pol::Plib::systemstate, Pol::Plib::SystemState::tile, Pol::Core::tile_flags(), Pol::Core::tileheight(), type, Pol::Plib::MapShape::z, and Pol::Multi::MULTI_ELEM::z.
Referenced by Pol::Realms::Realm::readmultis().
Components Pol::Multi::MultiDef::components |
Definition at line 87 of file multidef.h.
Referenced by Pol::Multi::CustomHouseDesign::AddMultiAtOffset(), addrec(), body_contains(), estimateSize(), find_component(), findcomponents(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), and Pol::UoTool::print_multidata().
std::vector<MULTI_ELEM> Pol::Multi::MultiDef::elems |
Definition at line 68 of file multidef.h.
Referenced by Pol::Multi::UHouse::create_components(), estimateSize(), init(), and MultiDef().
|
static |
Definition at line 92 of file multidef.h.
Referenced by addrec(), and estimateSize().
|
static |
Definition at line 93 of file multidef.h.
Referenced by addrec(), and estimateSize().
|
static |
Definition at line 94 of file multidef.h.
Referenced by addrec(), and estimateSize().
|
static |
Definition at line 89 of file multidef.h.
Referenced by addrec(), and estimateSize().
|
static |
Definition at line 90 of file multidef.h.
Referenced by addrec(), and estimateSize().
|
static |
Definition at line 91 of file multidef.h.
Referenced by addrec(), and estimateSize().
HullList Pol::Multi::MultiDef::hull |
Definition at line 76 of file multidef.h.
Referenced by add_to_hull(), estimateSize(), Pol::Multi::UBoat::navigable(), Pol::UoTool::print_multidata(), Pol::UoTool::print_multihull(), Pol::Multi::UBoat::regself(), and Pol::Multi::UBoat::unregself().
HullList2 Pol::Multi::MultiDef::hull2 |
Definition at line 79 of file multidef.h.
Referenced by add_to_hull(), estimateSize(), and Pol::UoTool::print_multihull().
HullList Pol::Multi::MultiDef::internal_hull |
Definition at line 77 of file multidef.h.
Referenced by add_to_internal_hull(), and estimateSize().
HullList2 Pol::Multi::MultiDef::internal_hull2 |
Definition at line 80 of file multidef.h.
Referenced by add_to_internal_hull(), estimateSize(), and Pol::UoTool::print_multihull().
short Pol::Multi::MultiDef::maxrx |
Definition at line 86 of file multidef.h.
Referenced by add_body_tohull(), add_to_hull(), addrec(), Pol::Multi::UHouse::CustomHouseSetInitialState(), Pol::Mobile::Character::CustomHousingMove(), Pol::Multi::UMulti::footprint(), Pol::Multi::UHouse::list_contents(), Pol::Module::UOExecutorModule::mf_GetMultiDimensions(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), Pol::Multi::multis_exist_in(), Pol::Multi::UBoat::navigable(), Pol::Multi::UHouse::readProperties(), and Pol::Multi::UHouse::scripted_create().
short Pol::Multi::MultiDef::maxry |
Definition at line 86 of file multidef.h.
Referenced by add_body_tohull(), add_to_hull(), addrec(), Pol::Multi::CustomHousesAdd(), Pol::Multi::UHouse::CustomHouseSetInitialState(), Pol::Multi::CustomHouseStopEditing(), Pol::Mobile::Character::CustomHousingMove(), Pol::Multi::UMulti::footprint(), Pol::Multi::UHouse::list_contents(), Pol::Module::UOExecutorModule::mf_GetMultiDimensions(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), Pol::Module::UOExecutorModule::mf_SendHousingTool(), Pol::Multi::multis_exist_in(), Pol::Multi::UBoat::navigable(), readobjects(), Pol::Multi::UHouse::readProperties(), readshapes(), and Pol::Multi::UHouse::scripted_create().
short Pol::Multi::MultiDef::maxrz |
Definition at line 86 of file multidef.h.
Referenced by addrec(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), and Pol::Multi::UHouse::scripted_create().
short Pol::Multi::MultiDef::minrx |
Definition at line 85 of file multidef.h.
Referenced by add_body_tohull(), add_to_hull(), addrec(), Pol::Multi::UHouse::CustomHouseSetInitialState(), Pol::Multi::CustomHouseStopEditing(), Pol::Mobile::Character::CustomHousingMove(), Pol::Multi::UMulti::footprint(), Pol::Multi::UHouse::list_contents(), Pol::Module::UOExecutorModule::mf_GetMultiDimensions(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), Pol::Module::UOExecutorModule::mf_SendHousingTool(), Pol::Multi::multis_exist_in(), Pol::Multi::UBoat::navigable(), Pol::UoTool::print_multihull(), readobjects(), Pol::Multi::UHouse::readProperties(), readshapes(), and Pol::Multi::UHouse::scripted_create().
short Pol::Multi::MultiDef::minry |
Definition at line 85 of file multidef.h.
Referenced by add_body_tohull(), add_to_hull(), addrec(), Pol::Multi::UHouse::CustomHouseSetInitialState(), Pol::Mobile::Character::CustomHousingMove(), Pol::Multi::UMulti::footprint(), Pol::Multi::UHouse::list_contents(), Pol::Module::UOExecutorModule::mf_GetMultiDimensions(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), Pol::Multi::multis_exist_in(), Pol::Multi::UBoat::navigable(), Pol::UoTool::print_multihull(), readobjects(), Pol::Multi::UHouse::readProperties(), readshapes(), and Pol::Multi::UHouse::scripted_create().
short Pol::Multi::MultiDef::minrz |
Definition at line 85 of file multidef.h.
Referenced by addrec(), Pol::Module::UOExecutorModule::mf_ListMultisInBox(), and Pol::Multi::UHouse::scripted_create().
u16 Pol::Multi::MultiDef::multiid |
Definition at line 59 of file multidef.h.
Referenced by add_to_hull(), Pol::Multi::read_multidefs(), Pol::Core::send_multi(), and Pol::Core::send_multi_to_inrange().
enum Pol::Multi::MultiDef::HOUSETYPE Pol::Multi::MultiDef::type |
Referenced by add_to_hull(), MultiDef(), and readshapes().
short Pol::Multi::MultiDef::xbase |
Definition at line 70 of file multidef.h.
short Pol::Multi::MultiDef::xsize |
Definition at line 71 of file multidef.h.
short Pol::Multi::MultiDef::ybase |
Definition at line 72 of file multidef.h.
short Pol::Multi::MultiDef::ysize |
Definition at line 73 of file multidef.h.