#include "constants.h" // BS
#include "tileanimation.h"
+// PROTOCOL_VERSION >= 37
+static const u8 CONTENTFEATURES_VERSION = 13;
+
class IItemDefManager;
class ITextureSource;
class IShaderSource;
void reset();
void serialize(std::ostream &os, u16 protocol_version) const;
void deSerialize(std::istream &is);
- void serializeOld(std::ostream &os, u16 protocol_version) const;
- void deSerializeOld(std::istream &is, int version);
/*!
* Since vertex alpha is no longer supported, this method
* adds opacity directly to the texture pixels.
*/
void addNameIdMapping(content_t i, std::string name);
+ /*!
+ * Removes a content ID from all groups.
+ * Erases content IDs from vectors in \ref m_group_to_items and
+ * removes empty vectors.
+ * @param id Content ID
+ */
+ void eraseIdFromGroups(content_t id);
+
/*!
* Recalculates m_selection_box_int_union based on
* m_selection_box_union.
virtual void resolveNodeNames() = 0;
bool getIdFromNrBacklog(content_t *result_out,
- const std::string &node_alt, content_t c_fallback);
+ const std::string &node_alt, content_t c_fallback,
+ bool error_on_fallback = true);
bool getIdsFromNrBacklog(std::vector<content_t> *result_out,
- bool all_required=false, content_t c_fallback=CONTENT_IGNORE);
+ bool all_required = false, content_t c_fallback = CONTENT_IGNORE);
void nodeResolveInternal();