|
OpenGothic
Open source reimplementation of Gothic I and II
|
#include <worldobjects.h>
Classes | |
| struct | SearchOpt |
Public Types | |
| enum | SearchFlg : uint8_t { NoFlg = 0 , NoDeath = 1 , NoUnconscious = 2 , NoAngle = 4 , NoRay = 8 , FcOverride = 16 } |
Public Member Functions | |
| WorldObjects (World &owner) | |
| ~WorldObjects () | |
| void | load (Serialize &fout) |
| void | save (Serialize &fout) |
| void | tick (uint64_t dt, uint64_t dtPlayer) |
| Npc * | addNpc (size_t itemInstance, std::string_view at) |
| Npc * | addNpc (size_t itemInstance, const Tempest::Vec3 &at) |
| Npc * | insertPlayer (std::unique_ptr< Npc > &&npc, std::string_view at) |
| auto | takeNpc (const Npc *npc) -> std::unique_ptr< Npc > |
| void | removeNpc (Npc &npc) |
| void | updateAnimation (uint64_t dt) |
| bool | isTargeted (Npc &npc) |
| Npc * | findHero () |
| Npc * | findNpcByInstance (size_t instance, size_t n=0) |
| Item * | findItemByInstance (size_t instance, size_t n=0) |
| void | detectNpcNear (const std::function< void(Npc &)> &f) |
| void | detectNpc (const float x, const float y, const float z, const float r, const std::function< void(Npc &)> &f) |
| void | detectItem (const float x, const float y, const float z, const float r, const std::function< void(Item &)> &f) |
| uint32_t | npcId (const Npc *ptr) const |
| size_t | npcCount () const |
| const Npc & | npc (size_t i) const |
| Npc & | npc (size_t i) |
| size_t | itmCount () const |
| Item & | itm (size_t i) |
| uint32_t | itmId (const void *ptr) const |
| size_t | mobsiCount () const |
| Interactive & | mobsi (size_t i) |
| uint32_t | mobsiId (const void *ptr) const |
| void | setCurrentCs (CsCamera *cs) |
| CsCamera * | currentCs () const |
| void | addTrigger (AbstractTrigger *trigger) |
| void | enableDefTrigger (AbstractTrigger &trigger) |
| void | triggerEvent (const TriggerEvent &e) |
| bool | triggerOnStart (bool firstTime) |
| void | execDelayedEvents () |
| bool | execTriggerEvent (const TriggerEvent &e) |
| void | enableTicks (AbstractTrigger &t) |
| void | disableTicks (AbstractTrigger &t) |
| void | enableCollizionZone (CollisionZone &z) |
| void | disableCollizionZone (CollisionZone &z) |
| void | runEffect (Effect &&e) |
| void | stopEffect (const VisualFx &vfx) |
| Item * | addItem (size_t itemInstance, std::string_view at) |
| Item * | addItem (const zenkit::VItem &vob) |
| Item * | addItem (size_t itemInstance, const Tempest::Vec3 &pos) |
| Item * | addItem (size_t itemInstance, const Tempest::Vec3 &pos, const Tempest::Vec3 &dir) |
| Item * | addItemDyn (size_t itemInstance, const Tempest::Matrix4x4 &pos, size_t owner) |
| auto | takeItem (Item &it) -> std::unique_ptr< Item > |
| void | removeItem (Item &it) |
| size_t | hasItems (std::string_view tag, size_t itemCls) |
| void | onItemRemoved (const Item &itm) |
| Bullet & | shootBullet (const Item &itmId, const Tempest::Vec3 &pos, const Tempest::Vec3 &dir, float tgRange, float speed) |
| void | addInteractive (Interactive *obj) |
| void | addStatic (StaticObj *obj) |
| void | addRoot (const std::shared_ptr< zenkit::VirtualObject > &vob, bool startup) |
| void | invalidateVobIndex () |
| Interactive * | validateInteractive (Interactive *def) |
| Npc * | validateNpc (Npc *def) |
| Item * | validateItem (Item *def) |
| bool | testFocusNpc (const Npc &pl, Npc *def, const SearchOpt &opt) |
| Interactive * | findInteractive (const Npc &pl, Interactive *def, const SearchOpt &opt) |
| Npc * | findNpcNear (const Npc &pl, Npc *def, const SearchOpt &opt) |
| Item * | findItem (const Npc &pl, Item *def, const SearchOpt &opt) |
| void | marchInteractives (DbgPainter &p) const |
| void | marchCsCameras (DbgPainter &p) const |
| Interactive * | availableMob (const Npc &pl, std::string_view name) |
| void | setMobRoutine (gtime time, std::string_view scheme, int32_t state) |
| void | sendPassivePerc (Npc &self, Npc &other, Npc *victim, Item *itm, int32_t perc) |
| void | sendImmediatePerc (Npc &self, Npc &other, Npc &victim, Item *itm, int32_t perc) |
| void | resetPositionToTA () |
Definition at line 26 of file worldobjects.h.
| enum WorldObjects::SearchFlg : uint8_t |
| Enumerator | |
|---|---|
| NoFlg | |
| NoDeath | |
| NoUnconscious | |
| NoAngle | |
| NoRay | |
| FcOverride | |
Definition at line 31 of file worldobjects.h.
| WorldObjects::WorldObjects | ( | World & | owner | ) |
Definition at line 60 of file worldobjects.cpp.
| WorldObjects::~WorldObjects | ( | ) |
Definition at line 64 of file worldobjects.cpp.
| void WorldObjects::addInteractive | ( | Interactive * | obj | ) |
Definition at line 697 of file worldobjects.cpp.
| Item * WorldObjects::addItem | ( | const zenkit::VItem & | vob | ) |
Definition at line 583 of file worldobjects.cpp.
| Item * WorldObjects::addItem | ( | size_t | itemInstance, |
| const Tempest::Vec3 & | pos | ||
| ) |
Definition at line 656 of file worldobjects.cpp.
| Item * WorldObjects::addItem | ( | size_t | itemInstance, |
| const Tempest::Vec3 & | pos, | ||
| const Tempest::Vec3 & | dir | ||
| ) |
Definition at line 660 of file worldobjects.cpp.
| Item * WorldObjects::addItem | ( | size_t | itemInstance, |
| std::string_view | at | ||
| ) |
Definition at line 641 of file worldobjects.cpp.
| Item * WorldObjects::addItemDyn | ( | size_t | itemInstance, |
| const Tempest::Matrix4x4 & | pos, | ||
| size_t | owner | ||
| ) |
Definition at line 675 of file worldobjects.cpp.
| Npc * WorldObjects::addNpc | ( | size_t | itemInstance, |
| const Tempest::Vec3 & | at | ||
| ) |
| Npc * WorldObjects::addNpc | ( | size_t | itemInstance, |
| std::string_view | at | ||
| ) |
Definition at line 288 of file worldobjects.cpp.
| void WorldObjects::addRoot | ( | const std::shared_ptr< zenkit::VirtualObject > & | vob, |
| bool | startup | ||
| ) |
Definition at line 705 of file worldobjects.cpp.
| void WorldObjects::addStatic | ( | StaticObj * | obj | ) |
Definition at line 701 of file worldobjects.cpp.
| void WorldObjects::addTrigger | ( | AbstractTrigger * | trigger | ) |
Definition at line 509 of file worldobjects.cpp.
| Interactive * WorldObjects::availableMob | ( | const Npc & | pl, |
| std::string_view | name | ||
| ) |
Definition at line 830 of file worldobjects.cpp.
| CsCamera * WorldObjects::currentCs | ( | ) | const |
Definition at line 552 of file worldobjects.cpp.
| void WorldObjects::detectItem | ( | const float | x, |
| const float | y, | ||
| const float | z, | ||
| const float | r, | ||
| const std::function< void(Item &)> & | f | ||
| ) |
Definition at line 499 of file worldobjects.cpp.
| void WorldObjects::detectNpc | ( | const float | x, |
| const float | y, | ||
| const float | z, | ||
| const float | r, | ||
| const std::function< void(Npc &)> & | f | ||
| ) |
Definition at line 489 of file worldobjects.cpp.
| void WorldObjects::detectNpcNear | ( | const std::function< void(Npc &)> & | f | ) |
Definition at line 484 of file worldobjects.cpp.
| void WorldObjects::disableCollizionZone | ( | CollisionZone & | z | ) |
Definition at line 560 of file worldobjects.cpp.
| void WorldObjects::disableTicks | ( | AbstractTrigger & | t | ) |
Definition at line 539 of file worldobjects.cpp.
| void WorldObjects::enableCollizionZone | ( | CollisionZone & | z | ) |
Definition at line 556 of file worldobjects.cpp.
| void WorldObjects::enableDefTrigger | ( | AbstractTrigger & | trigger | ) |
Definition at line 513 of file worldobjects.cpp.
| void WorldObjects::enableTicks | ( | AbstractTrigger & | t | ) |
Definition at line 532 of file worldobjects.cpp.
| void WorldObjects::execDelayedEvents | ( | ) |
Definition at line 397 of file worldobjects.cpp.
| bool WorldObjects::execTriggerEvent | ( | const TriggerEvent & | e | ) |
Definition at line 407 of file worldobjects.cpp.
| Npc * WorldObjects::findHero | ( | ) |
Definition at line 454 of file worldobjects.cpp.
| Interactive * WorldObjects::findInteractive | ( | const Npc & | pl, |
| Interactive * | def, | ||
| const SearchOpt & | opt | ||
| ) |
Definition at line 740 of file worldobjects.cpp.
Definition at line 777 of file worldobjects.cpp.
| Item * WorldObjects::findItemByInstance | ( | size_t | instance, |
| size_t | n = 0 |
||
| ) |
Definition at line 473 of file worldobjects.cpp.
| Npc * WorldObjects::findNpcByInstance | ( | size_t | instance, |
| size_t | n = 0 |
||
| ) |
Definition at line 462 of file worldobjects.cpp.
Definition at line 762 of file worldobjects.cpp.
| size_t WorldObjects::hasItems | ( | std::string_view | tag, |
| size_t | itemCls | ||
| ) |
Definition at line 616 of file worldobjects.cpp.
Definition at line 330 of file worldobjects.cpp.
| void WorldObjects::invalidateVobIndex | ( | ) |
Definition at line 712 of file worldobjects.cpp.
| bool WorldObjects::isTargeted | ( | Npc & | npc | ) |
Definition at line 435 of file worldobjects.cpp.
|
inline |
Definition at line 77 of file worldobjects.h.
|
inline |
Definition at line 76 of file worldobjects.h.
| uint32_t WorldObjects::itmId | ( | const void * | ptr | ) | const |
Definition at line 271 of file worldobjects.cpp.
| void WorldObjects::load | ( | Serialize & | fout | ) |
Definition at line 67 of file worldobjects.cpp.
| void WorldObjects::marchCsCameras | ( | DbgPainter & | p | ) | const |
Definition at line 823 of file worldobjects.cpp.
| void WorldObjects::marchInteractives | ( | DbgPainter & | p | ) | const |
Definition at line 799 of file worldobjects.cpp.
|
inline |
Definition at line 81 of file worldobjects.h.
|
inline |
Definition at line 80 of file worldobjects.h.
| uint32_t WorldObjects::mobsiId | ( | const void * | ptr | ) | const |
Definition at line 278 of file worldobjects.cpp.
|
inline |
Definition at line 74 of file worldobjects.h.
|
inline |
Definition at line 73 of file worldobjects.h.
|
inline |
Definition at line 72 of file worldobjects.h.
| uint32_t WorldObjects::npcId | ( | const Npc * | ptr | ) | const |
Definition at line 262 of file worldobjects.cpp.
| void WorldObjects::onItemRemoved | ( | const Item & | itm | ) |
Definition at line 624 of file worldobjects.cpp.
| void WorldObjects::removeItem | ( | Item & | it | ) |
Definition at line 610 of file worldobjects.cpp.
| void WorldObjects::removeNpc | ( | Npc & | npc | ) |
Definition at line 363 of file worldobjects.cpp.
| void WorldObjects::resetPositionToTA | ( | ) |
Definition at line 952 of file worldobjects.cpp.
| void WorldObjects::runEffect | ( | Effect && | e | ) |
Definition at line 569 of file worldobjects.cpp.
| void WorldObjects::save | ( | Serialize & | fout | ) |
Definition at line 123 of file worldobjects.cpp.
| void WorldObjects::sendImmediatePerc | ( | Npc & | self, |
| Npc & | other, | ||
| Npc & | victim, | ||
| Item * | itm, | ||
| int32_t | perc | ||
| ) |
Definition at line 888 of file worldobjects.cpp.
| void WorldObjects::sendPassivePerc | ( | Npc & | self, |
| Npc & | other, | ||
| Npc * | victim, | ||
| Item * | itm, | ||
| int32_t | perc | ||
| ) |
Definition at line 876 of file worldobjects.cpp.
| void WorldObjects::setCurrentCs | ( | CsCamera * | cs | ) |
Definition at line 548 of file worldobjects.cpp.
| void WorldObjects::setMobRoutine | ( | gtime | time, |
| std::string_view | scheme, | ||
| int32_t | state | ||
| ) |
Definition at line 856 of file worldobjects.cpp.
| Bullet & WorldObjects::shootBullet | ( | const Item & | itmId, |
| const Tempest::Vec3 & | pos, | ||
| const Tempest::Vec3 & | dir, | ||
| float | tgRange, | ||
| float | speed | ||
| ) |
Definition at line 630 of file worldobjects.cpp.
| void WorldObjects::stopEffect | ( | const VisualFx & | vfx | ) |
Definition at line 578 of file worldobjects.cpp.
Definition at line 596 of file worldobjects.cpp.
Definition at line 351 of file worldobjects.cpp.
Definition at line 734 of file worldobjects.cpp.
| void WorldObjects::tick | ( | uint64_t | dt, |
| uint64_t | dtPlayer | ||
| ) |
Definition at line 152 of file worldobjects.cpp.
| void WorldObjects::triggerEvent | ( | const TriggerEvent & | e | ) |
Definition at line 383 of file worldobjects.cpp.
| bool WorldObjects::triggerOnStart | ( | bool | firstTime | ) |
Definition at line 520 of file worldobjects.cpp.
| void WorldObjects::updateAnimation | ( | uint64_t | dt | ) |
Definition at line 421 of file worldobjects.cpp.
| Interactive * WorldObjects::validateInteractive | ( | Interactive * | def | ) |
Definition at line 717 of file worldobjects.cpp.
Definition at line 730 of file worldobjects.cpp.
Definition at line 721 of file worldobjects.cpp.