LCOV - code coverage report
Current view: top level - src/script - scripting_game.cpp (source / functions) Hit Total Coverage
Test: report Lines: 1 42 2.4 %
Date: 2015-07-11 18:23:49 Functions: 2 6 33.3 %

          Line data    Source code
       1             : /*
       2             : Minetest
       3             : Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
       4             : 
       5             : This program is free software; you can redistribute it and/or modify
       6             : it under the terms of the GNU Lesser General Public License as published by
       7             : the Free Software Foundation; either version 2.1 of the License, or
       8             : (at your option) any later version.
       9             : 
      10             : This program is distributed in the hope that it will be useful,
      11             : but WITHOUT ANY WARRANTY; without even the implied warranty of
      12             : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      13             : GNU Lesser General Public License for more details.
      14             : 
      15             : You should have received a copy of the GNU Lesser General Public License along
      16             : with this program; if not, write to the Free Software Foundation, Inc.,
      17             : 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
      18             : */
      19             : 
      20             : #include "scripting_game.h"
      21             : #include "server.h"
      22             : #include "log.h"
      23             : #include "settings.h"
      24             : #include "cpp_api/s_internal.h"
      25             : #include "lua_api/l_base.h"
      26             : #include "lua_api/l_craft.h"
      27             : #include "lua_api/l_env.h"
      28             : #include "lua_api/l_inventory.h"
      29             : #include "lua_api/l_item.h"
      30             : #include "lua_api/l_mapgen.h"
      31             : #include "lua_api/l_nodemeta.h"
      32             : #include "lua_api/l_nodetimer.h"
      33             : #include "lua_api/l_noise.h"
      34             : #include "lua_api/l_object.h"
      35             : #include "lua_api/l_particles.h"
      36             : #include "lua_api/l_rollback.h"
      37             : #include "lua_api/l_server.h"
      38             : #include "lua_api/l_util.h"
      39             : #include "lua_api/l_vmanip.h"
      40             : #include "lua_api/l_settings.h"
      41             : 
      42             : extern "C" {
      43             : #include "lualib.h"
      44             : }
      45             : 
      46           0 : GameScripting::GameScripting(Server* server)
      47             : {
      48           0 :         setServer(server);
      49             : 
      50             :         // setEnv(env) is called by ScriptApiEnv::initializeEnvironment()
      51             :         // once the environment has been created
      52             : 
      53           0 :         SCRIPTAPI_PRECHECKHEADER
      54             : 
      55           0 :         if (g_settings->getBool("secure.enable_security")) {
      56           0 :                 initializeSecurity();
      57             :         }
      58             : 
      59           0 :         lua_getglobal(L, "core");
      60           0 :         int top = lua_gettop(L);
      61             : 
      62           0 :         lua_newtable(L);
      63           0 :         lua_setfield(L, -2, "object_refs");
      64             : 
      65           0 :         lua_newtable(L);
      66           0 :         lua_setfield(L, -2, "luaentities");
      67             : 
      68             :         // Initialize our lua_api modules
      69           0 :         InitializeModApi(L, top);
      70           0 :         lua_pop(L, 1);
      71             : 
      72             :         // Push builtin initialization type
      73           0 :         lua_pushstring(L, "game");
      74           0 :         lua_setglobal(L, "INIT");
      75             : 
      76           0 :         infostream << "SCRIPTAPI: Initialized game modules" << std::endl;
      77           0 : }
      78             : 
      79           0 : void GameScripting::InitializeModApi(lua_State *L, int top)
      80             : {
      81             :         // Initialize mod api modules
      82           0 :         ModApiCraft::Initialize(L, top);
      83           0 :         ModApiEnvMod::Initialize(L, top);
      84           0 :         ModApiInventory::Initialize(L, top);
      85           0 :         ModApiItemMod::Initialize(L, top);
      86           0 :         ModApiMapgen::Initialize(L, top);
      87           0 :         ModApiParticles::Initialize(L, top);
      88           0 :         ModApiRollback::Initialize(L, top);
      89           0 :         ModApiServer::Initialize(L, top);
      90           0 :         ModApiUtil::Initialize(L, top);
      91             : 
      92             :         // Register reference classes (userdata)
      93           0 :         InvRef::Register(L);
      94           0 :         LuaItemStack::Register(L);
      95           0 :         LuaPerlinNoise::Register(L);
      96           0 :         LuaPerlinNoiseMap::Register(L);
      97           0 :         LuaPseudoRandom::Register(L);
      98           0 :         LuaPcgRandom::Register(L);
      99           0 :         LuaVoxelManip::Register(L);
     100           0 :         NodeMetaRef::Register(L);
     101           0 :         NodeTimerRef::Register(L);
     102           0 :         ObjectRef::Register(L);
     103           0 :         LuaSettings::Register(L);
     104           0 : }
     105             : 
     106           0 : void log_deprecated(std::string message)
     107             : {
     108           0 :         log_deprecated(NULL,message);
     109           3 : }

Generated by: LCOV version 1.11