diff --git a/doc/en/scripting/builtins/libblock.md b/doc/en/scripting/builtins/libblock.md index 044555c4..4ad46f14 100644 --- a/doc/en/scripting/builtins/libblock.md +++ b/doc/en/scripting/builtins/libblock.md @@ -101,7 +101,7 @@ block.set_rotation(x: int, y: int, z: int, rotation: int) ## Extended blocks -Extended blocks are blocks with size greather than 1x1x1 +Extended blocks are blocks with size greater than 1x1x1 ```lua -- Checks whether the block is extended. diff --git a/doc/en/scripting/builtins/libpack.md b/doc/en/scripting/builtins/libpack.md index 3a11dc55..2daab126 100644 --- a/doc/en/scripting/builtins/libpack.md +++ b/doc/en/scripting/builtins/libpack.md @@ -104,7 +104,7 @@ pack.get_info(packids: table) -> {id={...}, id2={...}, ...} ``` ```lua -pack.assemble(packis: table) -> table +pack.assemble(packids: table) -> table ``` Checks the configuration for correctness and adds dependencies, returning the complete configuration. diff --git a/doc/ru/scripting/builtins/libpack.md b/doc/ru/scripting/builtins/libpack.md index d6f7efae..91726d72 100644 --- a/doc/ru/scripting/builtins/libpack.md +++ b/doc/ru/scripting/builtins/libpack.md @@ -92,7 +92,7 @@ pack.get_info(packids: table) -> {id={...}, id2={...}, ...} ``` ```lua -pack.assemble(packis: table) -> table +pack.assemble(packids: table) -> table ``` Проверяет корректность конфигурации и добавляет зависимости, возвращая полную. diff --git a/res/layouts/console.xml b/res/layouts/console.xml index 3772d240..756459de 100644 --- a/res/layouts/console.xml +++ b/res/layouts/console.xml @@ -33,4 +33,5 @@ onup="on_history_up()" ondown="on_history_down()"> + diff --git a/res/layouts/pages/content.xml.lua b/res/layouts/pages/content.xml.lua index 611aca63..89c230ed 100644 --- a/res/layouts/pages/content.xml.lua +++ b/res/layouts/pages/content.xml.lua @@ -194,42 +194,49 @@ function Version.__equal(ver1, ver2) return ver1[1] == ver2[1] and ver1[2] == ver2[2] and ver1[3] == ver2[3]; end -function Version.__more(ver1, ver2) +function Version.__greater(ver1, ver2) if ver1[1] ~= ver2[1] then return ver1[1] > ver2[1] end; if ver1[2] ~= ver2[2] then return ver1[2] > ver2[2] end; return ver1[3] > ver2[3]; end function Version.__less(ver1, ver2) - return Version.__more(ver2, ver1); + return Version.__greater(ver2, ver1); end -function Version.__more_or_equal(ver1, ver2) +function Version.__greater_or_equal(ver1, ver2) return not Version.__less(ver1, ver2); end function Version.__less_or_equal(ver1, ver2) - return not Version.__more(ver1, ver2); + return not Version.__greater(ver1, ver2); end +Version.operators = { + ["="] = Version.__equal, + [">"] = Version.__greater, + ["<"] = Version.__less, + [">="] = Version.__greater_or_equal, + ["<="] = Version.__less_or_equal +} + function Version.compare(op, ver1, ver2) ver1 = string.split(ver1, "."); ver2 = string.split(ver2, "."); - if op == "=" then return Version.__equal(ver1, ver2); - elseif op == ">" then return Version.__more(ver1, ver2); - elseif op == "<" then return Version.__less(ver1, ver2); - elseif op == ">=" then return Version.__more_or_equal(ver1, ver2); - elseif op == "<=" then return Version.__less_or_equal(ver1, ver2); - else return false; end + local comparison_func = Version.operators[op]; + + if comparison_func then + return comparison_func(ver1, ver2); + else + return false; + end end -function Version.parse(version) +function Version.parse(version) local op = string.sub(version, 1, 2); - if op == ">=" or op == "=>" then - return ">=", string.sub(version, #op + 1); - elseif op == "<=" or op == "=<" then - return "<=", string.sub(version, #op + 1); + if op == ">=" or op == "<=" then + return op, string.sub(version, #op + 1); end op = string.sub(version, 1, 1); @@ -340,12 +347,6 @@ function refresh() packs_info[id] = {packinfo.id, packinfo.title} end - for i,id in ipairs(packs_installed) do - if table.has(required, id) then - document["pack_"..id].enabled = false - end - end - if #packs_excluded == 0 then packs_excluded = table.copy(packs_available) end if #packs_included == 0 then packs_included = table.copy(packs_installed) end @@ -365,6 +366,12 @@ function refresh() place_pack(packs_add, packinfo, callback, string.format('reposition_func("%s")', packinfo.id)) end + for i,id in ipairs(packs_installed) do + if table.has(required, id) then + document["pack_"..id].enabled = false + end + end + check_deleted() apply_movements(packs_cur, packs_add) refresh_changes() diff --git a/src/content/ContentPack.hpp b/src/content/ContentPack.hpp index bcc91ecb..a4548d03 100644 --- a/src/content/ContentPack.hpp +++ b/src/content/ContentPack.hpp @@ -27,15 +27,15 @@ public: }; enum class VersionOperator { - EQUAL, GREATHER, LESS, - GREATHER_OR_EQUAL, LESS_OR_EQUAL + EQUAL, GREATER, LESS, + GREATER_OR_EQUAL, LESS_OR_EQUAL }; VC_ENUM_METADATA(VersionOperator) {"=", VersionOperator::EQUAL}, - {">", VersionOperator::GREATHER}, + {">", VersionOperator::GREATER}, {"<", VersionOperator::LESS}, - {">=", VersionOperator::GREATHER_OR_EQUAL}, + {">=", VersionOperator::GREATER_OR_EQUAL}, {"<=", VersionOperator::LESS_OR_EQUAL}, VC_ENUM_END diff --git a/src/content/ContentPackVersion.hpp b/src/content/ContentPackVersion.hpp index 54deaf3c..0d8a2ba2 100644 --- a/src/content/ContentPackVersion.hpp +++ b/src/content/ContentPackVersion.hpp @@ -37,13 +37,13 @@ public: switch (op) { case VersionOperator::EQUAL: return *this == other; - case VersionOperator::GREATHER: + case VersionOperator::GREATER: return *this > other; case VersionOperator::LESS: return *this < other; case VersionOperator::LESS_OR_EQUAL: return *this <= other; - case VersionOperator::GREATHER_OR_EQUAL: + case VersionOperator::GREATER_OR_EQUAL: return *this >= other; default: return false; diff --git a/src/content/PacksManager.cpp b/src/content/PacksManager.cpp index 3cbde0f2..12276717 100644 --- a/src/content/PacksManager.cpp +++ b/src/content/PacksManager.cpp @@ -108,17 +108,15 @@ static bool resolve_dependencies( continue; } - auto dep_pack = found -> second; + auto dep_pack = found->second; if (Version::matchesPattern(dep.version) && Version::matchesPattern(dep_pack.version) && Version(dep_pack.version) .processOperator(dep.op, Version(dep.version)) ) { // dependency pack version meets the required one - continue; } else if (dep.version == "*" || dep.version == dep_pack.version){ // fallback: dependency pack version also meets required one - continue; } else { throw contentpack_error( dep.id, diff --git a/src/graphics/core/Atlas.hpp b/src/graphics/core/Atlas.hpp index 2e563e8a..af3e4721 100644 --- a/src/graphics/core/Atlas.hpp +++ b/src/graphics/core/Atlas.hpp @@ -54,7 +54,7 @@ public: /// @brief Build atlas from all added images /// @param extrusion textures extrusion pixels - /// (greather is less mip-mapping artifacts) + /// (greater is less mip-mapping artifacts) /// @param prepare generate atlas texture (calls .prepare()) /// @param maxResolution max atlas resolution std::unique_ptr build(uint extrusion, bool prepare=true, uint maxResolution=0); diff --git a/src/graphics/render/Decorator.cpp b/src/graphics/render/Decorator.cpp index 4742b68f..94b8ee13 100644 --- a/src/graphics/render/Decorator.cpp +++ b/src/graphics/render/Decorator.cpp @@ -25,7 +25,7 @@ namespace fs = std::filesystem; -/// @brief Not greather than 64 for this BIG_PRIME value +/// @brief Not greater than 64 for this BIG_PRIME value inline constexpr int UPDATE_AREA_DIAMETER = 32; /// @brief Number of blocks in the volume inline constexpr int UPDATE_BLOCKS = diff --git a/src/graphics/ui/elements/TextBox.cpp b/src/graphics/ui/elements/TextBox.cpp index c9afde7f..a09a47fa 100644 --- a/src/graphics/ui/elements/TextBox.cpp +++ b/src/graphics/ui/elements/TextBox.cpp @@ -253,9 +253,10 @@ void TextBox::draw(const DrawContext& pctx, const Assets& assets) { float time = gui.getWindow().time(); if (editable && static_cast((time - caretLastMove) * 2) % 2 == 0) { - uint line = rawTextCache.getLineByTextIndex(caret); - uint lcaret = caret - rawTextCache.getTextLineOffset(line); + uint line = label->getLineByTextIndex(caret); + uint lcaret = caret - label->getTextLineOffset(line); int width = rawTextCache.metrics.calcWidth(input, 0, lcaret); + batch->rect( lcoord.x + width, lcoord.y + label->getLineYOffset(line), @@ -272,10 +273,10 @@ void TextBox::draw(const DrawContext& pctx, const Assets& assets) { batch->setColor(glm::vec4(0.8f, 0.9f, 1.0f, 0.25f)); int start = rawTextCache.metrics.calcWidth( - labelText, selectionStart - label->getTextLineOffset(startLine) + labelText, 0, selectionStart - label->getTextLineOffset(startLine) ); int end = rawTextCache.metrics.calcWidth( - labelText, selectionEnd - label->getTextLineOffset(endLine) + labelText, 0, selectionEnd - label->getTextLineOffset(endLine) ); int lineY = label->getLineYOffset(startLine); @@ -1210,8 +1211,8 @@ void TextBox::setCaret(size_t position) { scrolled(-glm::ceil(offset / static_cast(scrollStep) + 0.5f)); } int lcaret = caret - rawTextCache.getTextLineOffset(line); - int realoffset = - rawTextCache.metrics.calcWidth(labelText, 0, lcaret) - static_cast(textOffset) + 2; + int realoffset = rawTextCache.metrics.calcWidth(labelText, 0, lcaret) - + static_cast(textOffset) + 2; if (realoffset - width > 0) { setTextOffset(textOffset + realoffset - width); diff --git a/src/graphics/ui/elements/TextBox.hpp b/src/graphics/ui/elements/TextBox.hpp index c4b88f90..d5b640ac 100644 --- a/src/graphics/ui/elements/TextBox.hpp +++ b/src/graphics/ui/elements/TextBox.hpp @@ -44,7 +44,7 @@ namespace gui { runnable onDownPressed; /// @brief Is current input valid bool valid = true; - /// @brief Text input pointer, value may be greather than text length + /// @brief Text input pointer, value may be greater than text length size_t caret = 0; /// @brief Actual local (line) position of the caret on vertical move size_t maxLocalCaret = 0; diff --git a/src/logic/scripting/lua/usertypes/lua_type_heightmap.cpp b/src/logic/scripting/lua/usertypes/lua_type_heightmap.cpp index 4e2f05a9..9f9d2ed8 100644 --- a/src/logic/scripting/lua/usertypes/lua_type_heightmap.cpp +++ b/src/logic/scripting/lua/usertypes/lua_type_heightmap.cpp @@ -273,7 +273,7 @@ static int l_meta_meta_call(lua::State* L) { auto width = tointeger(L, 2); auto height = tointeger(L, 3); if (width <= 0 || height <= 0) { - throw std::runtime_error("width and height must be greather than 0"); + throw std::runtime_error("width and height must be greater than 0"); } return newuserdata( L, static_cast(width), static_cast(height) diff --git a/src/voxels/Block.hpp b/src/voxels/Block.hpp index 3dbd1cf0..59115e84 100644 --- a/src/voxels/Block.hpp +++ b/src/voxels/Block.hpp @@ -276,7 +276,7 @@ public: /// @brief does the block emit any lights bool emissive = false; - // @brief block size is greather than 1x1x1 + // @brief block size is greater than 1x1x1 bool extended = false; /// @brief set of hitboxes sets with all coord-systems precalculated