eolib-cpp 0.1.0-beta.7
Core C++ library for writing Endless Online applications
Loading...
Searching...
No Matches
eolib::protocol::map::Emf Class Referencefinal

Endless Map File. More...

#include <eolib/protocol/map/structs.hpp>

Inherits eolib::protocol::Serializable.

Public Member Functions

int ByteSize () const noexcept override
 Gets the size of the data that this object was deserialized from.
void Serialize (data::EoWriter &writer) const override
 Serializes this object to the provided writer.
void Deserialize (data::EoReader &reader) override
 Deserializes this object from the provided reader, replacing its current data.
std::string ToString () const override
 Gets a human-readable representation of this object, for debugging purposes.
bool operator== (const Emf &other) const
 Compares this object with another for equality.
bool operator!= (const Emf &other) const
 Compares this object with another for inequality.
Public Member Functions inherited from eolib::protocol::Serializable
virtual ~Serializable ()=default

Public Attributes

std::vector< int > rid {}
std::string name {}
MapType type {}
MapTimedEffect timed_effect {}
int music_id {}
MapMusicControl music_control {}
int ambient_sound_id {}
int width {}
int height {}
int fill_tile {}
bool map_available {}
bool can_scroll {}
int relog_x {}
int relog_y {}
std::vector< MapNpc > npcs {}
std::vector< MapLegacyDoorKey > legacy_door_keys {}
std::vector< MapItem > items {}
std::vector< MapTileSpecRow > tile_spec_rows {}
std::vector< MapWarpRow > warp_rows {}
std::vector< MapGraphicLayer > graphic_layers {}
 The 9 layers of map graphics.
std::vector< MapSign > signs {}

Additional Inherited Members

Protected Member Functions inherited from eolib::protocol::Serializable
 Serializable ()=default
 Serializable (const Serializable &)=default
 Serializable (Serializable &&)=default
Serializable & operator= (const Serializable &)=default
Serializable & operator= (Serializable &&)=default

Detailed Description

Endless Map File.

Member Function Documentation

◆ ByteSize()

int eolib::protocol::map::Emf::ByteSize ( ) const
overridevirtualnoexcept

Gets the size of the data that this object was deserialized from.

Returns
the deserialized size in bytes, or 0 for an object that was not deserialized.

Implements eolib::protocol::Serializable.

◆ Serialize()

void eolib::protocol::map::Emf::Serialize ( data::EoWriter & writer) const
overridevirtual

Serializes this object to the provided writer.

Parameters
writerthe writer that the data will be written to.
Exceptions
SerializationErrorif the object's data is invalid for serialization.

Implements eolib::protocol::Serializable.

◆ Deserialize()

void eolib::protocol::map::Emf::Deserialize ( data::EoReader & reader)
overridevirtual

Deserializes this object from the provided reader, replacing its current data.

Parameters
readerthe reader that the data will be read from.

Implements eolib::protocol::Serializable.

◆ ToString()

std::string eolib::protocol::map::Emf::ToString ( ) const
overridevirtual

Gets a human-readable representation of this object, for debugging purposes.

Returns
the object's fields and values, as a string.

Implements eolib::protocol::Serializable.

◆ operator==()

bool eolib::protocol::map::Emf::operator== ( const Emf & other) const

Compares this object with another for equality.

The deserialized byte size is not compared.

Parameters
otherthe object to compare with.
Returns
true if all fields are equal, otherwise false.

◆ operator!=()

bool eolib::protocol::map::Emf::operator!= ( const Emf & other) const

Compares this object with another for inequality.

The deserialized byte size is not compared.

Parameters
otherthe object to compare with.
Returns
true if any field differs, otherwise false.

Member Data Documentation

◆ rid

std::vector<int> eolib::protocol::map::Emf::rid {}
Note
  • Size must be 2.
  • Element value range is 0-64008.

◆ name

std::string eolib::protocol::map::Emf::name {}
Note
  • Length must be 24 or less.

◆ type

MapType eolib::protocol::map::Emf::type {}

◆ timed_effect

MapTimedEffect eolib::protocol::map::Emf::timed_effect {}

◆ music_id

int eolib::protocol::map::Emf::music_id {}
Note
  • Value range is 0-252.

◆ music_control

MapMusicControl eolib::protocol::map::Emf::music_control {}

◆ ambient_sound_id

int eolib::protocol::map::Emf::ambient_sound_id {}
Note
  • Value range is 0-64008.

◆ width

int eolib::protocol::map::Emf::width {}
Note
  • Value range is 0-252.

◆ height

int eolib::protocol::map::Emf::height {}
Note
  • Value range is 0-252.

◆ fill_tile

int eolib::protocol::map::Emf::fill_tile {}
Note
  • Value range is 0-64008.

◆ map_available

bool eolib::protocol::map::Emf::map_available {}

◆ can_scroll

bool eolib::protocol::map::Emf::can_scroll {}

◆ relog_x

int eolib::protocol::map::Emf::relog_x {}
Note
  • Value range is 0-252.

◆ relog_y

int eolib::protocol::map::Emf::relog_y {}
Note
  • Value range is 0-252.

◆ npcs

std::vector<MapNpc> eolib::protocol::map::Emf::npcs {}
Note
  • Size must be 252 or less.

◆ legacy_door_keys

std::vector<MapLegacyDoorKey> eolib::protocol::map::Emf::legacy_door_keys {}
Note
  • Size must be 252 or less.

◆ items

std::vector<MapItem> eolib::protocol::map::Emf::items {}
Note
  • Size must be 252 or less.

◆ tile_spec_rows

std::vector<MapTileSpecRow> eolib::protocol::map::Emf::tile_spec_rows {}
Note
  • Size must be 252 or less.

◆ warp_rows

std::vector<MapWarpRow> eolib::protocol::map::Emf::warp_rows {}
Note
  • Size must be 252 or less.

◆ graphic_layers

std::vector<MapGraphicLayer> eolib::protocol::map::Emf::graphic_layers {}

The 9 layers of map graphics.

Order is [Ground, Object, Overlay, Down Wall, Right Wall, Roof, Top, Shadow, Overlay2]

Note
  • Size must be 9.

◆ signs

std::vector<MapSign> eolib::protocol::map::Emf::signs {}
Note
  • Size must be 252 or less.