aboutsummaryrefslogtreecommitdiff
path: root/advtrains_train_track/textures/advtrains_dtrack_shared.png
diff options
context:
space:
mode:
authorGabriel PĂ©rez-Cerezo <gabriel@gpcf.eu>2018-02-21 19:58:45 +0100
committerorwell96 <orwell@bleipb.de>2018-02-21 20:03:34 +0100
commit481f6218a8b377a0826b7e080046b5a890702e12 (patch)
tree3baa24616afb8790eb16f882863241b9f7d91523 /advtrains_train_track/textures/advtrains_dtrack_shared.png
parent4c512f1dc5755efc7afd55b58078ec466442f648 (diff)
downloadadvtrains-481f6218a8b377a0826b7e080046b5a890702e12.tar.gz
advtrains-481f6218a8b377a0826b7e080046b5a890702e12.tar.bz2
advtrains-481f6218a8b377a0826b7e080046b5a890702e12.zip
Log certain events in a logfile in the world directory
(also fix the output of /at_sync_ndb)
Diffstat (limited to 'advtrains_train_track/textures/advtrains_dtrack_shared.png')
0 files changed, 0 insertions, 0 deletions
>
/*
Minetest
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>

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 "irrlichttypes_extrabloated.h"
#include "map.h"
#include "camera.h"
#include <set>
#include <map>

struct MapDrawControl
{
	// Overrides limits by drawing everything
	bool range_all = false;
	// Wanted drawing range
	float wanted_range = 0.0f;
	// show a wire frame for debugging
	bool show_wireframe = false;
};

struct MeshBufList
{
	video::SMaterial m;
	std::vector<std::pair<v3s16,scene::IMeshBuffer*>> bufs;
};

struct MeshBufListList
{
	/*!
	 * Stores the mesh buffers of the world.
	 * The array index is the material's layer.
	 * The vector part groups vertices by material.
	 */
	std::vector<MeshBufList> lists[MAX_TILE_LAYERS];

	void clear();
	void add(scene::IMeshBuffer *buf, v3s16 position, u8 layer);
};

class Client;
class ITextureSource;

/*
	ClientMap

	This is the only map class that is able to render itself on screen.
*/

class ClientMap : public Map, public scene::ISceneNode
{
public:
	ClientMap(
			Client *client,