aboutsummaryrefslogtreecommitdiff
path: root/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png
blob: 608206c87c1dbd4528290f90a24950c29c0eb23a (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 02 00 00 00 02 00 01 03 00 00 00 ce b6 46 .PNG........IHDR...............F
0020 b9 00 00 00 06 50 4c 54 45 00 00 00 ff ff ff a5 d9 9f dd 00 00 00 01 74 52 4e 53 00 40 e6 d8 66 .....PLTE..............tRNS.@..f
0040 00 00 00 50 49 44 41 54 78 9c ed cf 31 11 00 20 0c 03 c0 8e c8 40 46 fd 2b 41 0a 43 1d b0 70 ed ...PIDATx...1........@F.+A.C..p.
0060 fd 2f d9 72 49 04 00 00 00 00 00 00 00 00 00 00 00 34 93 15 e7 b9 60 55 ec c6 0b fe 5f 00 00 00 ./.rI............4....`U...._...
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 e5 02 4b 73 03 c1 b1 95 03 81 00 00 00 00 ....................Ks..........
00a0 49 45 4e 44 ae 42 60 82 IEND.B`.
/*
Minetest
Copyright (C) 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.
*/
#ifndef L_METADATA_H_
#define L_METADATA_H_

#include "irrlichttypes_bloated.h"
#include "lua_api/l_base.h"

class Metadata;

/*
	NodeMetaRef
*/

class MetaDataRef : public ModApiBase
{
public:
	virtual ~MetaDataRef() {}

protected:
	static MetaDataRef *checkobject(lua_State *L, int narg);

	virtual void reportMetadataChange() {}
	virtual Metadata *getmeta(bool auto_create) = 0;
	virtual void clearMeta() = 0;

	virtual void handleToTable(lua_State *L, Metadata *meta);
	virtual bool handleFromTable(lua_State *L, int table, Metadata *meta);

	// Exported functions

	// get_string(self, name)
	static int l_get_string(lua_State *L);

	// set_string(self, name, var)
	static int l_set_string(lua_State *L);

	// get_int(self, name)
	static int l_get_int(lua_State *L);

	// set_int(self, name, var)
	static int l_set_int(lua_State *L);

	// get_float(self, name)
	static int l_get_float(lua_State *L);

	// set_float(self, name, var)
	static int l_set_float(lua_State *L);

	// to_table(self)
	static int l_to_table(lua_State *L);

	// from_table(self, table)
	static int l_from_table(lua_State *L);

	// equals(self, other)
	static int l_equals(lua_State *L);
};

#endif /* L_NODEMETA_H_ */