Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include <zonemgr.h>
Public Types | |
enum | SnapshotSubCommand { End =0, PosUpdate =1, FullUpdate =2, DamageUpdate =8, SPECUpdate =16 } |
enum | AddClientId { AddClient =1, AddUnit =2, AddNebula =3, AddPlanet =4, AddAsteroid =5, AddMissile =6 } |
Public Member Functions | |
ZoneMgr () | |
void | addSystem (string &sysname, string &system) |
string | getSystem (string &name) |
StarSystem * | addZone (string starsys) |
ZoneInfo * | GetZoneInfo (int serial) |
ClientList * | GetZone (int serial) |
Unit * | getUnit (ObjSerial unserial, unsigned short zone) |
void | getZoneBuffer (unsigned short zoneid, NetBuffer &netbuf) |
StarSystem * | addClient (ClientPtr clt, string starsys, unsigned short &num_zone) |
void | removeClient (ClientPtr clt) |
void | broadcast (ClientPtr clt, Packet *pckt, bool isTcp, unsigned short minVer=0, unsigned short maxVer=65535) |
void | broadcast (int zone, ObjSerial serial, Packet *pckt, bool isTcp, unsigned short minVer=0, unsigned short maxVer=65535) |
void | broadcastNoSelf (int zone, ObjSerial serial, Packet *pckt, bool isTcp) |
void | broadcastSample (int zone, ObjSerial serial, Packet *pckt, float frequency) |
void | broadcastText (int zone, ObjSerial serial, Packet *pckt, float frequency) |
void | broadcastSnapshots (bool update_planets=false) |
void | addDamage (NetBuffer &netbuf, Unit *un) |
bool | addPosition (ClientPtr k, NetBuffer &netbuf, Unit *un, ClientState &un_cs) |
void | broadcastDamage () |
double | isVisible (Quaternion orient, QVector src_pos, QVector tar_pos) |
void | displayNPCs () |
void | displayStats () |
int | displayMemory () |
Public Attributes | |
ZoneMap | zones |
enum ZoneMgr::AddClientId |
ZoneMgr::ZoneMgr | ( | ) |
Definition at line 22 of file zonemgr.cpp.
StarSystem * ZoneMgr::addClient | ( | ClientPtr | clt, |
string | starsys, | ||
unsigned short & | num_zone | ||
) |
Definition at line 268 of file zonemgr.cpp.
References _Universe, StarSystem::AddUnit(), addZone(), COUT, displayUnitInfo(), StarSystem::GetZone(), GetZoneInfo(), and Universe::netLock().
Definition at line 777 of file zonemgr.cpp.
References NetBuffer::addArmor(), NetBuffer::addChar(), NetBuffer::addFloat(), NetBuffer::addFloat8(), NetBuffer::addInt32(), NetBuffer::addShield(), NetBuffer::addShort(), Unit::AfterburnData(), Unit::armor, Unit::ARMOR_DAMAGED, c, Unit::CARGOFUEL_DAMAGED, UnitImages< BOGUS >::CargoVolume, Unit::CLOAK_DAMAGED, UnitImages< BOGUS >::cloakenergy, Unit::cloaking, Unit::cloakmin, UnitImages< BOGUS >::cloakrate, UnitImages< BOGUS >::cockpit_damage, Unit::computer, Unit::COMPUTER_DAMAGED, Unit::UnitJump::damage, Unit::damages, UnitImages< BOGUS >::ecm, Unit::UnitJump::energy, Unit::EnergyRechargeData(), Unit::FuelData(), Unit::hull, Unit::Computer::itts, Unit::jump, Unit::JUMP_DAMAGED, Unit::Limits::lateral, Shield::leak, Unit::limits, Unit::LIMITS_DAMAGED, Unit::Computer::RADARLIM::lockcone, Unit::Computer::max_pitch_down, Unit::Computer::max_pitch_up, Unit::Computer::max_roll_left, Unit::Computer::max_roll_right, Unit::Computer::max_yaw_left, Unit::Computer::max_yaw_right, Unit::Computer::RADARLIM::maxcone, Unit::MaxEnergyData(), Unit::Computer::RADARLIM::maxrange, MAXVDUS, Unit::MOUNT_DAMAGED, Unit::mounts, Unit::pImage, Unit::Limits::pitch, Unit::Computer::radar, Shield::recharge, UnitImages< BOGUS >::repair_droid, Unit::Limits::retro, Unit::Limits::roll, Unit::shield, Unit::SHIELD_DAMAGED, Unit::Computer::RADARLIM::trackingcone, UnitImages< BOGUS >::UpgradeVolume, Unit::Computer::RADARLIM::UseFriendFoe(), NetBuffer::version(), and Unit::Limits::yaw.
Referenced by addPosition(), broadcastDamage(), and broadcastSnapshots().
bool ZoneMgr::addPosition | ( | ClientPtr | k, |
NetBuffer & | netbuf, | ||
Unit * | un, | ||
ClientState & | un_cs | ||
) |
Definition at line 641 of file zonemgr.cpp.
References NetBuffer::addChar(), NetBuffer::addClientState(), addDamage(), NetBuffer::addFloat(), NetBuffer::addQVector(), NetBuffer::addShort(), COUT, Unit::damages, DamageUpdate, Unit::energy, FullUpdate, ClientState::getPosition(), Unit::GetSerial(), ClientState::getSpecMult(), ClientState::getSpecRamp(), i, Unit::name, Nearby(), PosUpdate, and SPECUpdate.
Referenced by broadcastSnapshots().
void ZoneMgr::addSystem | ( | string & | sysname, |
string & | system | ||
) |
Definition at line 31 of file zonemgr.cpp.
StarSystem * ZoneMgr::addZone | ( | string | starsys) |
Definition at line 126 of file zonemgr.cpp.
References _Universe, COUT, Universe::GenerateStarSystem(), GetLoadedStarSystem(), i, Universe::netLock(), StarSystem::SetZone(), Universe::star_system, Vector, and zones.
Referenced by addClient().
void ZoneMgr::broadcast | ( | ClientPtr | clt, |
Packet * | pckt, | ||
bool | isTcp, | ||
unsigned short | minVer = 0 , |
||
unsigned short | maxVer = 65535 |
||
) |
Definition at line 368 of file zonemgr.cpp.
References Packet::bc_send(), COUT, Packet::getCommand(), Unit::GetSerial(), Unit::getStarSystem(), GetZone(), StarSystem::GetZone(), and i.
Referenced by NetServer::BroadcastCargoUpgrade(), NetServer::BroadcastFire(), NetServer::BroadcastUnfire(), NetServer::sendDamages(), NetServer::sendDockAuthorize(), NetServer::sendKill(), NetServer::sendMessage(), NetServer::sendNewUnitQueue(), and NetServer::sendUnDock().
void ZoneMgr::broadcast | ( | int | zone, |
ObjSerial | serial, | ||
Packet * | pckt, | ||
bool | isTcp, | ||
unsigned short | minVer = 0 , |
||
unsigned short | maxVer = 65535 |
||
) |
void ZoneMgr::broadcastDamage | ( | ) |
Definition at line 715 of file zonemgr.cpp.
References addDamage(), NetBuffer::addSerial(), CMD_SNAPDAMAGE, Unit::damages, VSRandom::genrand_int31(), NetBuffer::getData(), NetBuffer::getDataLength(), Unit::GetSerial(), StarSystem::getUnitList(), Unit::isUnit(), k, MISSILEPTR, Unit::NO_DAMAGE, PSEUDO__LINE__, Packet::send(), SENDANDFORGET, UNITPTR, vsrandom, and zones.
Definition at line 430 of file zonemgr.cpp.
References Packet::bc_send(), Unit::GetSerial(), GetZone(), and i.
Definition at line 455 of file zonemgr.cpp.
References Packet::bc_send(), Unit::GetSerial(), GetZone(), and i.
void ZoneMgr::broadcastSnapshots | ( | bool | update_planets = false ) |
Definition at line 507 of file zonemgr.cpp.
References NetBuffer::addChar(), addDamage(), NetBuffer::addFloat(), addPosition(), NetBuffer::addShort(), ASTEROIDPTR, CMD_SNAPSHOT, Unit::damages, DamageUpdate, VSRandom::genrand_int31(), Unit::GetComputerData(), NetBuffer::getData(), NetBuffer::getDataLength(), NetBuffer::getOffset(), Unit::GetSerial(), StarSystem::getUnitList(), Unit::InRange(), Unit::isUnit(), k, Unit::Computer::RADARLIM::maxrange, MISSILEPTR, NEBULAPTR, Unit::NO_DAMAGE, PLANETPTR, PSEUDO__LINE__, Unit::Computer::radar, Packet::send(), SENDANDFORGET, Unit::Target(), UNITPTR, vsrandom, and zones.
Definition at line 480 of file zonemgr.cpp.
References Packet::bc_send(), Unit::GetSerial(), GetZone(), and i.
int ZoneMgr::displayMemory | ( | ) |
Definition at line 945 of file zonemgr.cpp.
void ZoneMgr::displayNPCs | ( | ) |
Definition at line 901 of file zonemgr.cpp.
References _Universe, Universe::AccessCockpit(), Cockpit::activeStarSystem, ZoneInfo::display(), displayUnitInfo(), SaveGame::GetCallsign(), Cockpit::GetParent(), i, Universe::numPlayers(), Cockpit::savegame, and zones.
Referenced by NetServer::save().
void ZoneMgr::displayStats | ( | ) |
string ZoneMgr::getSystem | ( | string & | name) |
Definition at line 36 of file zonemgr.cpp.
Definition at line 250 of file zonemgr.cpp.
References Unit::GetSerial(), ZoneInfo::getSystem(), StarSystem::getUnitList(), and GetZoneInfo().
Referenced by NetServer::sendKill().
ClientList * ZoneMgr::GetZone | ( | int | serial) |
Definition at line 192 of file zonemgr.cpp.
References GetZoneInfo().
Referenced by broadcast(), broadcastNoSelf(), broadcastSample(), and broadcastText().
void ZoneMgr::getZoneBuffer | ( | unsigned short | zoneid, |
NetBuffer & | netbuf | ||
) |
Definition at line 67 of file zonemgr.cpp.
References UnitFactory::addBuffer(), NetBuffer::addChar(), AddClient, NetBuffer::addSerial(), NetBuffer::addString(), NetBuffer::addTransformation(), ASTEROIDPTR, COUT, UnitCollection::createIterator(), End, SaveNetUtil::GetSaveStrings(), Unit::GetSerial(), StarSystem::getUnitList(), GetZoneInfo(), Unit::hull, Unit::isUnit(), and k.
Referenced by getZoneInfoBuffer().
Definition at line 182 of file zonemgr.cpp.
References zones.
Referenced by addClient(), getUnit(), GetZone(), getZoneBuffer(), and removeClient().
double ZoneMgr::isVisible | ( | Quaternion | orient, |
QVector | src_pos, | ||
QVector | tar_pos | ||
) |
Definition at line 864 of file zonemgr.cpp.
References DotProduct(), Matrix::getR(), QVector, Quaternion::to_matrix(), and Quaternion::v.
void ZoneMgr::removeClient | ( | ClientPtr | clt) |
Definition at line 309 of file zonemgr.cpp.
References displayUnitInfo(), Unit::GetHull(), GetZoneInfo(), Unit::Kill(), Client::LOGGEDIN, q, StarSystem::RemoveUnit(), and zones.
Referenced by NetServer::sendKill().
ZoneMap ZoneMgr::zones |
Definition at line 125 of file zonemgr.h.
Referenced by addZone(), broadcastDamage(), broadcastSnapshots(), displayNPCs(), displayStats(), GetZoneInfo(), removeClient(), NetServer::sendMessage(), and NetServer::sendNewUnitQueue().