diff options
author | Vitaliy <silverunicorn2011@yandex.ru> | 2017-11-09 01:56:20 +0300 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-11-08 23:56:20 +0100 |
commit | 20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f (patch) | |
tree | 67378802190117d8271b3b6d489a92bcb16203b7 /src/mg_decoration.h | |
parent | fc9747eb4b7f75e59a28957bc50f7a78256b3d66 (diff) | |
download | minetest-20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f.tar.gz minetest-20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f.tar.bz2 minetest-20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f.zip |
Move files to subdirectories (#6599)
* Move files around
Diffstat (limited to 'src/mg_decoration.h')
-rw-r--r-- | src/mg_decoration.h | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/src/mg_decoration.h b/src/mg_decoration.h deleted file mode 100644 index 1ca632f25..000000000 --- a/src/mg_decoration.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -Minetest -Copyright (C) 2014-2016 kwolekr, Ryan Kwolek <kwolekr@minetest.net> -Copyright (C) 2015-2017 paramat - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#pragma once - -#include <unordered_set> -#include "objdef.h" -#include "noise.h" -#include "nodedef.h" - -class Mapgen; -class MMVManip; -class PcgRandom; -class Schematic; - -enum DecorationType { - DECO_SIMPLE, - DECO_SCHEMATIC, - DECO_LSYSTEM -}; - -#define DECO_PLACE_CENTER_X 0x01 -#define DECO_PLACE_CENTER_Y 0x02 -#define DECO_PLACE_CENTER_Z 0x04 -#define DECO_USE_NOISE 0x08 -#define DECO_FORCE_PLACEMENT 0x10 -#define DECO_LIQUID_SURFACE 0x20 -#define DECO_ALL_FLOORS 0x40 -#define DECO_ALL_CEILINGS 0x80 - -extern FlagDesc flagdesc_deco[]; - - -class Decoration : public ObjDef, public NodeResolver { -public: - Decoration() = default; - virtual ~Decoration() = default; - - virtual void resolveNodeNames(); - - bool canPlaceDecoration(MMVManip *vm, v3s16 p); - size_t placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); - - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling) = 0; - - u32 flags = 0; - int mapseed = 0; - std::vector<content_t> c_place_on; - s16 sidelen = 1; - s16 y_min; - s16 y_max; - float fill_ratio = 0.0f; - NoiseParams np; - std::vector<content_t> c_spawnby; - s16 nspawnby; - s16 place_offset_y = 0; - - std::unordered_set<u8> biomes; -}; - - -class DecoSimple : public Decoration { -public: - virtual void resolveNodeNames(); - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); - - std::vector<content_t> c_decos; - s16 deco_height; - s16 deco_height_max; - u8 deco_param2; - u8 deco_param2_max; -}; - - -class DecoSchematic : public Decoration { -public: - DecoSchematic() = default; - - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); - - Rotation rotation; - Schematic *schematic = nullptr; -}; - - -/* -class DecoLSystem : public Decoration { -public: - virtual void generate(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); -}; -*/ - - -class DecorationManager : public ObjDefManager { -public: - DecorationManager(IGameDef *gamedef); - virtual ~DecorationManager() = default; - - const char *getObjectTitle() const - { - return "decoration"; - } - - static Decoration *create(DecorationType type) - { - switch (type) { - case DECO_SIMPLE: - return new DecoSimple; - case DECO_SCHEMATIC: - return new DecoSchematic; - //case DECO_LSYSTEM: - // return new DecoLSystem; - default: - return NULL; - } - } - - size_t placeAllDecos(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); -}; |