nw::Module

struct Module : public nw::ObjectBase

Public Types

using AreaVariant = Variant<Vector<Resref>, Vector<Area*>>

Public Functions

Module()
Module(nw::MemoryResource *allocator)
inline virtual Module *as_module() override
inline virtual const Module *as_module() const override
virtual void clear() override
virtual bool instantiate() override
size_t area_count() const noexcept
Area *get_area(size_t index)
const Area *get_area(size_t index) const
inline nw::MemoryResource *allocator() const noexcept
inline ObjectHandle handle() const noexcept
inline void set_handle(ObjectHandle handle)
const EffectArray &effects() const
EffectArray &effects()
inline Vector<VisualTransform> &visual_transform() noexcept
inline const Vector<VisualTransform> &visual_transform() const noexcept
void add_visual_transform(VisualTransform value)
virtual InternedString tag() const
inline virtual Versus versus_me() const
inline virtual Area *as_area()
inline virtual const Area *as_area() const
inline virtual Common *as_common()
inline virtual const Common *as_common() const
inline virtual Creature *as_creature()
inline virtual const Creature *as_creature() const
inline virtual Door *as_door()
inline virtual const Door *as_door() const
inline virtual Encounter *as_encounter()
inline virtual const Encounter *as_encounter() const
inline virtual Item *as_item()
inline virtual const Item *as_item() const
inline virtual Placeable *as_placeable()
inline virtual const Placeable *as_placeable() const
inline virtual Player *as_player()
inline virtual const Player *as_player() const
inline virtual Sound *as_sound()
inline virtual const Sound *as_sound() const
inline virtual Store *as_store()
inline virtual const Store *as_store() const
inline virtual Trigger *as_trigger()
inline virtual const Trigger *as_trigger() const
inline virtual Waypoint *as_waypoint()
inline virtual const Waypoint *as_waypoint() const

Public Members

LocalData locals
ModuleScripts scripts
AreaVariant areas
LocString description
Resref entry_area
glm::vec3 entry_orientation
glm::vec3 entry_position
Vector<String> haks
ByteArray id
String min_game_version
LocString name
Resref start_movie
String tag
String tlk
uuids::uuid uuid
int32_t creator = 0
uint32_t start_year
uint32_t version = 3
uint16_t expansion_pack = 0
uint8_t dawn_hour = 0
uint8_t dusk_hour = 0
bool is_save_game = false
uint8_t minutes_per_hour = 0
uint8_t start_day = 0
uint8_t start_hour = 0
uint8_t start_month = 0
uint8_t xpscale = 0
bool instantiated_ = false

Public Static Functions

static bool deserialize(Module *ent, const nlohmann::json &archive)
static bool serialize(const Module *ent, nlohmann::json &archive)

Public Static Attributes

static constexpr int json_archive_version = 1
static constexpr ObjectType object_type = ObjectType::module
static constexpr ResourceType::type restype = ResourceType::ifo
static constexpr StringView serial_id = {"IFO"}