diff --git a/games/default/files/3d_armor/hud.lua b/games/default/files/3d_armor/hud.lua index 343089cd2..a5c5def54 100644 --- a/games/default/files/3d_armor/hud.lua +++ b/games/default/files/3d_armor/hud.lua @@ -1,6 +1,20 @@ -- (c) Copyright BlockMen (2013-2016), LGPLv3.0+ if minetest.settings:get_bool("enable_damage") then + + hud.register("armor", { + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + alignment = {x = -1, y = -1}, + offset = {x = -247, y = -134}, + size = {x = 24, y = 24}, + text = "3d_armor_statbar_fg.png", + background = "3d_armor_statbar_bg.png", + number = 0, + max = 20, + autohide_bg = true, + }) + local armor_org_func = armor.set_player_armor local function get_armor_lvl(def) -- items/protection based display @@ -23,17 +37,4 @@ if minetest.settings:get_bool("enable_damage") then end hud.change_item(player, "armor", {number = armor_lvl}) end - - hud.register("armor", { - hud_elem_type = "statbar", - position = {x = 0.5, y = 1}, - alignment = {x = -1, y = -1}, - offset = {x = -247, y = -134}, - size = {x = 24, y = 24}, - text = "3d_armor_statbar_fg.png", - background = "3d_armor_statbar_bg.png", - number = 0, - max = 20, - autohide_bg = true, - }) end \ No newline at end of file diff --git a/games/default/files/default/textures/default_pine_needles.png b/games/default/files/default/textures/default_pine_needles.png index 3bb219567..bab92f60b 100644 Binary files a/games/default/files/default/textures/default_pine_needles.png and b/games/default/files/default/textures/default_pine_needles.png differ diff --git a/games/default/files/hunger/init.lua b/games/default/files/hunger/init.lua index f5a15df2d..dd8d6ef5f 100644 --- a/games/default/files/hunger/init.lua +++ b/games/default/files/hunger/init.lua @@ -21,6 +21,10 @@ HUNGER_MAX = 30 -- maximum level of saturation -- Callbacks if minetest.settings:get_bool("enable_damage") then + local modpath = minetest.get_modpath("hunger") + dofile(modpath .. "/functions.lua") + dofile(modpath .. "/food.lua") + hud.register("hunger", { hud_elem_type = "statbar", position = {x = 0.5, y = 1}, @@ -29,15 +33,11 @@ if minetest.settings:get_bool("enable_damage") then size = {x = 24, y = 24}, text = "hunger_statbar_fg.png", background = "hunger_statbar_bg.png", - number = 20, + number = 20 }) - local modpath = minetest.get_modpath("hunger") - dofile(modpath .. "/functions.lua") - dofile(modpath .. "/food.lua") - minetest.register_on_joinplayer(function(player) - minetest.after(0.1, function() + minetest.after(0.5, function() local inv = player:get_inventory() if inv then inv:set_size("hunger", 1) @@ -51,7 +51,7 @@ if minetest.settings:get_bool("enable_damage") then lvl = 20 end - hud.change_item(player, "hunger", {number = lvl, max = 20}) + hud.change_item(player, "hunger", {number = lvl}) end end) end) diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 892ce4712..2a8b4f2a5 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -1734,22 +1734,14 @@ void GenericCAO::processMessage(const std::string &data) if (damage > 0) { - if (m_hp <= 0) + if (m_hp > 0) { - // TODO: Execute defined fast response - // As there is no definition, make a smoke puff - //disable - //ClientSimpleObject *simple = createSmokePuff( - // m_smgr, m_env, m_position, - // m_prop.visual_size * BS); - //m_env->addSimpleObject(simple); - } else { // TODO: Execute defined fast response // Flashing shall suffice as there is no definition m_reset_textures_timer = 0.05; if(damage >= 2) - m_reset_textures_timer += 0.05 * damage; - updateTextures(m_current_texture_modifier + "^[brighten"); + m_reset_textures_timer += 0.5 * damage; + updateTextures(m_current_texture_modifier + "^[colorize:#FF000085"); } } } else if (cmd == GENERIC_CMD_UPDATE_ARMOR_GROUPS) { @@ -1805,21 +1797,14 @@ bool GenericCAO::directReportPunch(v3f dir, const ItemStack *punchitem, m_hp -= result.damage; } else { m_hp = 0; - // TODO: Execute defined fast response - // As there is no definition, make a smoke puff - //disable - //ClientSimpleObject *simple = createSmokePuff( - // m_smgr, m_env, m_position, - // m_prop.visual_size * BS); - //m_env->addSimpleObject(simple); } // TODO: Execute defined fast response // Flashing shall suffice as there is no definition if (m_reset_textures_timer < 0) { m_reset_textures_timer = 0.05; if (result.damage >= 2) - m_reset_textures_timer += 0.05 * result.damage; - updateTextures(m_current_texture_modifier + "^[brighten"); + m_reset_textures_timer += 1.0 * result.damage; + updateTextures(m_current_texture_modifier + "^[colorize:#FF000085"); } } diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 46d9c51ab..f07125e12 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -133,7 +133,7 @@ void set_default_settings(Settings *settings) settings->setDefault("viewing_range", "100"); settings->setDefault("near_plane", "0.1"); settings->setDefault("screenW", "1024"); - settings->setDefault("screenH", "600"); + settings->setDefault("screenH", "768"); settings->setDefault("autosave_screensize", "true"); settings->setDefault("fullscreen", "false"); settings->setDefault("fullscreen_bpp", "24"); @@ -160,9 +160,8 @@ void set_default_settings(Settings *settings) settings->setDefault("console_height", "1.0"); settings->setDefault("console_color", "(0,0,0)"); settings->setDefault("console_alpha", "200"); - settings->setDefault("selectionbox_color", "(255,255,255)"); - settings->setDefault("selectionbox_width", "4"); settings->setDefault("selectionbox_color", "(0,0,0)"); + settings->setDefault("selectionbox_width", "4"); settings->setDefault("node_highlighting", "box"); settings->setDefault("crosshair_color", "(255,255,255)"); settings->setDefault("crosshair_alpha", "255"); @@ -173,6 +172,7 @@ void set_default_settings(Settings *settings) settings->setDefault("desynchronize_mapblock_texture_animation", "true"); settings->setDefault("hud_hotbar_max_width", "1.0"); settings->setDefault("hud_move_upwards", "0"); + settings->setDefault("round_screen", "0"); settings->setDefault("enable_local_map_saving", "false"); settings->setDefault("show_entity_selectionbox", "false"); settings->setDefault("texture_clean_transparent", "false"); @@ -484,6 +484,7 @@ void set_default_settings(Settings *settings) // Move the HUD up for the iPhone X-series and new iPad Pro if (([SDVersion deviceVersion] == iPhoneX) || ([SDVersion deviceVersion] == iPhoneXS) || ([SDVersion deviceVersion] == iPhoneXSMax) || ([SDVersion deviceVersion] == iPhoneXR) || ([SDVersion deviceVersion] == iPadPro11Inch) || ([SDVersion deviceVersion] == iPadPro12Dot9Inch3Gen)) { settings->setDefault("hud_move_upwards", "10"); + settings->setDefault("round_screen", "15"); } // set the optimal settings depending on the model diff --git a/src/game.cpp b/src/game.cpp index 6e25725bf..f21d4a77c 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1012,7 +1012,7 @@ static void updateChat(Client &client, f32 dtime, bool show_debug, s32 chat_y = 5 + line_height; if (show_debug) - chat_y += 2 * line_height; + chat_y += line_height; // first pass to calculate height of text to be set s32 width = std::min(g_fontengine->getTextWidth(recent_chat.c_str()) + 10, @@ -2305,6 +2305,7 @@ bool Game::getServerContent(bool *aborted) message << " (" << cur << ' ' << cur_unit << ")"; } + progress = 30 + client->mediaReceiveProgress() * 35 + 0.5; draw_load_screen(utf8_to_wide(message.str()), device, guienv, texture_src, dtime, progress); @@ -4429,8 +4430,8 @@ void Game::updateGui(const RunStats &stats, f32 dtime, const CameraOrientation & if (guitext->isVisible()) { core::rect rect( - 5, 5, - screensize.X, 5 + g_fontengine->getTextHeight() + 5 + g_settings->getU16("round_screen"), 5, + screensize.X, 5 + g_fontengine->getTextHeight() ); guitext->setRelativePosition(rect); } @@ -4742,9 +4743,7 @@ void Game::showPauseMenu() str_formspec_escape(control_text); #endif -#ifdef __ANDROID__ - float ypos = simple_singleplayer_mode ? 0.5f : 0.1f; -#elif __IOS__ +#ifdef __IOS__ float ypos = 1.5; #else float ypos = simple_singleplayer_mode ? 0.5f : 0.1f; diff --git a/src/hud.cpp b/src/hud.cpp index 66c7e0d12..e07f14a3d 100644 --- a/src/hud.cpp +++ b/src/hud.cpp @@ -328,20 +328,10 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) core::rect size(0, 0, e->scale.X, text_height * e->scale.Y); std::wstring text = unescape_enriched(utf8_to_wide(e->text)); core::dimension2d textsize = font->getDimension(text.c_str()); - if (e->pos.X > 0.45 && e->pos.X < 0.55) { - v2s32 offset((e->align.X - 1.0) * (textsize.Width / 2), -#if defined(__ANDROID__) || defined(__IOS__) - (e->align.Y - 1.0) * (textsize.Height) * 7 * g_settings->getFloat("hud_scaling")); -#else - (e->align.Y - 1.0) * (textsize.Height / 2)); -#endif - font->draw(text.c_str(), size + pos + offset, color); - } else { - v2s32 offset((e->align.X - 1.0) * (textsize.Width / 2), - (e->align.Y - 1.0) * (textsize.Height / 2)); - v2s32 offs(e->offset.X, e->offset.Y); - font->draw(text.c_str(), size + pos + offset + offs, color); - } + v2s32 offset((e->align.X - 1.0) * (textsize.Width / 2), + (e->align.Y - 1.0) * (textsize.Height / 2)); + v2s32 offs(e->offset.X, e->offset.Y); + font->draw(text.c_str(), size + pos + offset + offs, color); break; } case HUD_ELEM_STATBAR: { v2s32 offs(e->offset.X, e->offset.Y); diff --git a/src/inventory.cpp b/src/inventory.cpp index a079d8c4e..c3a306cec 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -556,26 +556,14 @@ u32 InventoryList::getFreeSlots() const const ItemStack& InventoryList::getItem(u32 i) const { - //assert(i < m_size); // Pre-condition - //return m_items[i]; - - if (i < m_size) - return m_items[i]; - - ItemStack stack = ItemStack(); - return stack; + assert(i < m_size); // Pre-condition + return m_items[i]; } ItemStack& InventoryList::getItem(u32 i) { - //assert(i < m_size); // Pre-condition - //return m_items[i]; - - if (i < m_size) - return m_items[i]; - - ItemStack stack = ItemStack(); - return stack; + assert(i < m_size); // Pre-condition + return m_items[i]; } ItemStack InventoryList::changeItem(u32 i, const ItemStack &newitem)