diff --git a/src/assets/assetload_funcs.cpp b/src/assets/assetload_funcs.cpp index ca18dda9..0f69e64e 100644 --- a/src/assets/assetload_funcs.cpp +++ b/src/assets/assetload_funcs.cpp @@ -225,7 +225,7 @@ static void read_anim_file( if (auto found = root.at("frames")) { auto& frameArr = *found; for (size_t i = 0; i < frameArr.size(); i++) { - auto currentFrame = frameArr[i]; + const auto& currentFrame = frameArr[i]; frameName = currentFrame[0].asString(); if (currentFrame.size() > 1) { diff --git a/src/coders/binary_json.cpp b/src/coders/binary_json.cpp index 09d16858..20034c0f 100644 --- a/src/coders/binary_json.cpp +++ b/src/coders/binary_json.cpp @@ -114,7 +114,7 @@ static dv::value value_from_binary(ByteReader& reader) { case BJSON_TYPE_STRING: return reader.getString(); case BJSON_TYPE_NULL: - return dv::none; + return nullptr; case BJSON_TYPE_BYTES: { int32_t size = reader.getInt32(); if (size < 0) { diff --git a/src/coders/toml.cpp b/src/coders/toml.cpp index 9fc5d4d4..9dbf3e6e 100644 --- a/src/coders/toml.cpp +++ b/src/coders/toml.cpp @@ -102,10 +102,10 @@ public: dv::value read() { skipWhitespace(); if (!hasNext()) { - return root; + return std::move(root); } readSection("", root); - return root; + return std::move(root); } }; diff --git a/src/content/Content.hpp b/src/content/Content.hpp index b656a129..822cc418 100644 --- a/src/content/Content.hpp +++ b/src/content/Content.hpp @@ -148,7 +148,7 @@ public: return MISSING; } - dv::value getSavedData(size_t index) const { + const dv::value& getSavedData(size_t index) const { return savedData->at(index); } diff --git a/src/data/dv.hpp b/src/data/dv.hpp index 581e4aaf..18a89316 100644 --- a/src/data/dv.hpp +++ b/src/data/dv.hpp @@ -504,8 +504,6 @@ namespace dv { } }; - inline value none = value(); - inline bool is_numeric(const value& val) { return val.isInteger() && val.isNumber(); } diff --git a/src/files/WorldRegions.cpp b/src/files/WorldRegions.cpp index c6941f1c..93d1b232 100644 --- a/src/files/WorldRegions.cpp +++ b/src/files/WorldRegions.cpp @@ -477,11 +477,11 @@ dv::value WorldRegions::fetchEntities(int x, int z) { uint32_t bytesSize; const ubyte* data = getData(x, z, REGION_LAYER_ENTITIES, bytesSize); if (data == nullptr) { - return dv::none; + return nullptr; } auto map = json::from_binary(data, bytesSize); if (map.size() == 0) { - return dv::none; + return nullptr; } return map; } diff --git a/src/logic/CommandsInterpreter.cpp b/src/logic/CommandsInterpreter.cpp index 29145eae..d2e5bb03 100644 --- a/src/logic/CommandsInterpreter.cpp +++ b/src/logic/CommandsInterpreter.cpp @@ -136,7 +136,13 @@ public: break; } } - return Argument {name, type, optional, def, origin, enumname}; + return Argument { + std::move(name), + type, + optional, + std::move(def), + std::move(origin), + std::move(enumname)}; } Command parseScheme(executor_func executor, std::string_view description) { @@ -257,9 +263,9 @@ public: CommandsInterpreter* interpreter, Argument* arg ) { if (dv::is_numeric(arg->origin)) { - return arg->origin; + return dv::value(arg->origin); } else if (arg->origin.getType() == dv::value_type::string) { - return (*interpreter)[arg->origin.asString()]; + return dv::value((*interpreter)[arg->origin.asString()]); } return nullptr; } @@ -296,7 +302,7 @@ public: if (origin == nullptr) { return value; } - return applyRelative(arg, value, origin); + return applyRelative(arg, std::move(value), origin); } inline dv::value performKeywordArg( @@ -378,9 +384,9 @@ public: if (relative) { value = - applyRelative(arg, value, fetchOrigin(interpreter, arg)); + applyRelative(arg, std::move(value), fetchOrigin(interpreter, arg)); } - args.add(value); + args.add(std::move(value)); } while (auto arg = command->getArgument(arg_index++)) { @@ -397,7 +403,7 @@ public: args.add(arg->def); } } - return Prompt {command, args, kwargs}; + return Prompt {command, std::move(args), std::move(kwargs)}; } }; diff --git a/src/logic/CommandsInterpreter.hpp b/src/logic/CommandsInterpreter.hpp index 62ad5a1f..af3e54ac 100644 --- a/src/logic/CommandsInterpreter.hpp +++ b/src/logic/CommandsInterpreter.hpp @@ -46,7 +46,7 @@ namespace cmd { }; using executor_func = std::function; class Command { diff --git a/src/logic/EngineController.cpp b/src/logic/EngineController.cpp index 1fcdb672..9cfd493e 100644 --- a/src/logic/EngineController.cpp +++ b/src/logic/EngineController.cpp @@ -96,7 +96,7 @@ static void show_content_missing( contentEntry["type"] = contentName; contentEntry["name"] = entry.name; } - menus::show(engine, "reports/missing_content", {root}); + menus::show(engine, "reports/missing_content", {std::move(root)}); } static bool loadWorldContent(Engine* engine, const fs::path& folder) { diff --git a/src/logic/scripting/lua/libentity.cpp b/src/logic/scripting/lua/libentity.cpp index c5acfafa..845e4e96 100644 --- a/src/logic/scripting/lua/libentity.cpp +++ b/src/logic/scripting/lua/libentity.cpp @@ -54,7 +54,7 @@ static int l_spawn(lua::State* L) { if (lua::gettop(L) > 2) { args = lua::tovalue(L, 3); } - level->entities->spawn(def, pos, args); + level->entities->spawn(def, pos, std::move(args)); return 1; } diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp index 6ff27c65..1bb7eaec 100644 --- a/src/logic/scripting/scripting.cpp +++ b/src/logic/scripting/scripting.cpp @@ -340,8 +340,8 @@ void scripting::on_entity_spawn( const EntityDef&, entityid_t eid, const std::vector>& components, - dv::value args, - dv::value saved + const dv::value& args, + const dv::value& saved ) { auto L = lua::get_main_thread(); lua::requireglobal(L, STDCOMP); diff --git a/src/logic/scripting/scripting.hpp b/src/logic/scripting/scripting.hpp index fffe6d60..223dd67b 100644 --- a/src/logic/scripting/scripting.hpp +++ b/src/logic/scripting/scripting.hpp @@ -94,8 +94,8 @@ namespace scripting { const EntityDef& def, entityid_t eid, const std::vector>& components, - dv::value args, - dv::value saved + const dv::value& args, + const dv::value& saved ); void on_entity_despawn(const Entity& entity); void on_entity_grounded(const Entity& entity, float force); diff --git a/src/objects/Entities.cpp b/src/objects/Entities.cpp index 5cbefe81..7726ce5c 100644 --- a/src/objects/Entities.cpp +++ b/src/objects/Entities.cpp @@ -173,8 +173,7 @@ entityid_t Entities::spawn( } body.hitbox.position = tsf.pos; scripting::on_entity_spawn( - def, id, scripting.components, std::move(args), std::move(componentsMap) - ); + def, id, scripting.components, args, componentsMap); return id; } diff --git a/src/objects/rigging.cpp b/src/objects/rigging.cpp index bbf3349b..92912f01 100644 --- a/src/objects/rigging.cpp +++ b/src/objects/rigging.cpp @@ -167,7 +167,7 @@ std::unique_ptr SkeletonConfig::parse( std::string_view src, std::string_view file, std::string_view name ) { auto root = json::parse(file, src); - auto rootNodeMap = root["root"]; + const auto& rootNodeMap = root["root"]; auto [count, rootNode] = read_node(rootNodeMap, 0); return std::make_unique( std::string(name), std::move(rootNode), count