aboutsummaryrefslogtreecommitdiff
path: root/advtrains/log.lua
blob: d2b71d3ff8f0b7d156f3bea5d5392893f215df89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
-- Log accesses to driver stands and changes to switches

advtrains.log = function() end

if minetest.settings:get_bool("advtrains_enable_logging") then
	advtrains.logfile = advtrains.fpath .. "_log"

	function advtrains.log (event, player, pos, data)
	   local log = io.open(advtrains.logfile, "a+")
	   log:write(os.date()..": "..event.." by "..player.." at "..minetest.pos_to_string(pos).." -- "..(data or "").."\n")
	   log:close()
	end
end
com">the Free Software Foundation; either version 2 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 General Public License for more details. You should have received a copy of the GNU 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 TILE_HEADER #define TILE_HEADER #include "common_irrlicht.h" #include "utility.h" // TileID is supposed to be stored in a u16 enum TileID { TILE_NONE, // Nothing shown TILE_STONE, TILE_WATER, TILE_GRASS, TILE_TREE, TILE_LEAVES, TILE_GRASS_FOOTSTEPS, TILE_MESE, TILE_MUD, TILE_TREE_TOP, TILE_MUD_WITH_GRASS, TILE_CLOUD, TILE_COALSTONE, TILE_WOOD, // Count of tile ids TILES_COUNT }; enum TileSpecialFeature { TILEFEAT_NONE, TILEFEAT_CRACK, }; struct TileCrackParam { bool operator==(TileCrackParam &other) { return progression == other.progression; } u16 progression; }; struct TileSpec { TileSpec() { id = TILE_NONE; feature = TILEFEAT_NONE; } bool operator==(TileSpec &other) { if(id != other.id) return false; if(feature != other.feature) return false; if(feature == TILEFEAT_NONE) return true; if(feature == TILEFEAT_CRACK) { return param.crack == other.param.crack; } // Invalid feature assert(0); return false; } u16 id; // Id in g_tile_materials, TILE_NONE=none enum TileSpecialFeature feature; union { TileCrackParam crack; } param; }; /* Functions */ void init_tile_texture_paths(); const char * tile_texture_path_get(u32 i); // Initializes g_tile_materials void tile_materials_preload(IrrlichtWrapper *irrlicht); video::SMaterial & tile_material_get(u32 i); #endif