diff --git a/docs/engine/objects/zCVobLensFlare.md b/docs/engine/objects/zCVobLensFlare.md new file mode 100644 index 00000000..0ca49474 --- /dev/null +++ b/docs/engine/objects/zCVobLensFlare.md @@ -0,0 +1,30 @@ +# zCVobLensFlare + +!!! abstract inline end "Quick Infos" + **Type:** Virtual Object
+ **Format Name:** ZenGin Archive
+ **File Extension:** `.ZEN`
+ **Class Name:** `zCVobLensFlare`
+ **Version Identifiers:**
+ — Gothic I: `64704`
+ — Gothic II: `193`
+ **ZenKit Class:** `VLensFlare` + +Represents a lens flare effect. + + + +## Properties + + `lensflareFX` + +: The name of the lens flare effect. Must be one of the effects listed in `/_work/data/Presets/Lensflare.zen`. + diff --git a/include/zenkit/vobs/Misc.hh b/include/zenkit/vobs/Misc.hh index f7c26372..0041f1ab 100644 --- a/include/zenkit/vobs/Misc.hh +++ b/include/zenkit/vobs/Misc.hh @@ -119,23 +119,31 @@ namespace zenkit { [[nodiscard]] ZKAPI uint16_t get_version_identifier(GameVersion game) const override; }; - /// \brief A VOb representing a [lens flare](https://en.wikipedia.org/wiki/Lens_flare). + /// \brief Represents a lens flare effect. + /// \see https://zk.gothickit.dev/engine/objects/zCVobLensFlare/ struct VLensFlare : VirtualObject { ZK_OBJECT(ObjectType::zCVobLensFlare); public: + /// \brief The name of the lens flare effect. + /// + /// Must be one of the effects listed in `/_work/data/Presets/Lensflare.zen`. + /// + /// \see https://zk.gothickit.dev/engine/objects/zCVobLensFlare/#lensflareFX std::string fx; - /// \brief Parses a lens flare VOb the given *ZenGin* archive. - /// \param[out] obj The object to read. - /// \param[in,out] ctx The archive reader to read from. - /// \note After this function returns the position of \p ctx will be at the end of the parsed object. - /// \throws ParserError if parsing fails. - /// \see vob::parse ZKREM("use ::load()") ZKAPI static void parse(VLensFlare& obj, ReadArchive& ctx, GameVersion version); + /// \brief Load this object from the given archive. + /// \param r The archive to read from; + /// \param version The version of the game the object was made for. ZKAPI void load(ReadArchive& r, GameVersion version) override; + + /// \brief Save this object to the given archive. + /// \param w The archive to save to. + /// \param version The version of the game to save for. ZKAPI void save(WriteArchive& w, GameVersion version) const override; + [[nodiscard]] ZKAPI uint16_t get_version_identifier(GameVersion game) const override; }; diff --git a/mkdocs.yml b/mkdocs.yml index 41b8db89..5407aac0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -39,6 +39,7 @@ nav: - 'Objects': - 'zCVob': 'engine/objects/zCVob.md' - 'zCVobAnimate': 'engine/objects/zCVobAnimate.md' + - 'zCVobLensFlare': 'engine/objects/zCVobLensFlare.md' - 'zCVobLevelCompo': 'engine/objects/zCVobLevelCompo.md' - 'zCVobLight': 'engine/objects/zCVobLight.md' - 'zCVobSpot': 'engine/objects/zCVobSpot.md'