From befe132861b1995dfe776d4e134a90fc243d1a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Imrich?= Date: Thu, 8 Apr 2021 12:24:59 +0200 Subject: cPieceModifier interface and cPieceModifierRandomizeBlocks class (#5122) --- src/Generating/PieceModifier.h | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/Generating/PieceModifier.h (limited to 'src/Generating/PieceModifier.h') diff --git a/src/Generating/PieceModifier.h b/src/Generating/PieceModifier.h new file mode 100644 index 000000000..88fba5070 --- /dev/null +++ b/src/Generating/PieceModifier.h @@ -0,0 +1,45 @@ + +// PieceModifier.h + +// Declares the public interface for cPiece's cPieceModifier implementations + + + + + +#pragma once + +#include "PiecePool.h" + + + + + +bool CreatePieceModifierFromString(const AString & a_Definition, std::shared_ptr & a_Modifiers, bool a_LogWarnings); + + + + + +/** Used to store block type, meta, weight and some more params */ +class cRandomizedBlock +{ +public: + BLOCKTYPE m_Type; + + int m_Weight; + + /** Minimum meta to randomize */ + int m_MinMeta = 0; + + /** Maximum meta to randomize */ + int m_MaxMeta = -1; + + /** Maximum meta in noise range */ + int m_MaxNoiseMeta = 0; + + /** Minimum meta in noise range */ + int m_MinNoiseMeta = 0; +}; + +typedef std::vector cRandomizedBlocks; -- cgit v1.2.3