aboutsummaryrefslogtreecommitdiff
path: root/advtrains/advtrains_luaautomation
diff options
context:
space:
mode:
authororwell96 <mono96.mml@gmail.com>2017-04-05 13:35:39 +0200
committerorwell96 <mono96.mml@gmail.com>2017-04-05 13:35:39 +0200
commite795f512933687773acc4fd95607df1e757e1c43 (patch)
tree791e684b914037d61b8081d5d183432b47e79210 /advtrains/advtrains_luaautomation
parent0447e43be9533197cb61bf6a24c384d78066de24 (diff)
downloadadvtrains-e795f512933687773acc4fd95607df1e757e1c43.tar.gz
advtrains-e795f512933687773acc4fd95607df1e757e1c43.tar.bz2
advtrains-e795f512933687773acc4fd95607df1e757e1c43.zip
Fix #59
Diffstat (limited to 'advtrains/advtrains_luaautomation')
0 files changed, 0 insertions, 0 deletions
om">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. */ #include "player.h" #include "threading/mutex_auto_lock.h" #include "util/numeric.h" #include "hud.h" #include "constants.h" #include "gamedef.h" #include "settings.h" #include "log.h" #include "porting.h" // strlcpy Player::Player(const char *name, IItemDefManager *idef): inventory(idef), peer_id(PEER_ID_INEXISTENT), keyPressed(0), // protected m_speed(0,0,0) { strlcpy(m_name, name, PLAYERNAME_SIZE); inventory.clear(); inventory.addList("main", PLAYER_INVENTORY_SIZE); inventory.addList("hand", 1); InventoryList *craft = inventory.addList("craft", 9); craft->setWidth(3); inventory.addList("craftpreview", 1); inventory.addList("craftresult", 1); inventory.setModified(false); // Can be redefined via Lua inventory_formspec = "size[8,7.5]" //"image[1,0.6;1,2;player.png]" "list[current_player;main;0,3.5;8,4;]" "list[current_player;craft;3,0;3,3;]" "listring[]" "list[current_player;craftpreview;7,1;1,1;]"; // Initialize movement settings at default values, so movement can work // if the server fails to send them movement_acceleration_default = 3 * BS; movement_acceleration_air = 2 * BS; movement_acceleration_fast = 10 * BS; movement_speed_walk = 4 * BS; movement_speed_crouch = 1.35 * BS; movement_speed_fast = 20 * BS; movement_speed_climb = 2 * BS; movement_speed_jump = 6.5 * BS; movement_liquid_fluidity = 1 * BS; movement_liquid_fluidity_smooth = 0.5 * BS; movement_liquid_sink = 10 * BS; movement_gravity = 9.81 * BS; local_animation_speed = 0.0; hud_flags = HUD_FLAG_HOTBAR_VISIBLE | HUD_FLAG_HEALTHBAR_VISIBLE | HUD_FLAG_CROSSHAIR_VISIBLE | HUD_FLAG_WIELDITEM_VISIBLE | HUD_FLAG_BREATHBAR_VISIBLE | HUD_FLAG_MINIMAP_VISIBLE; hud_hotbar_itemcount = HUD_HOTBAR_ITEMCOUNT_DEFAULT; } Player::~Player() { clearHud(); } u32 Player::addHud(HudElement *toadd) { MutexAutoLock lock(m_mutex); u32 id = getFreeHudID(); if (id < hud.size()) hud[id] = toadd; else hud.push_back(toadd); return id; } HudElement* Player::getHud(u32 id) { MutexAutoLock lock(m_mutex); if (id < hud.size()) return hud[id]; return NULL; } HudElement* Player::removeHud(u32 id) { MutexAutoLock lock(m_mutex); HudElement* retval = NULL; if (id < hud.size()) { retval = hud[id]; hud[id] = NULL; } return retval; } void Player::clearHud() { MutexAutoLock lock(m_mutex); while(!hud.empty()) { delete hud.back(); hud.pop_back(); } }