From aecbc203c65c3a900a2ff75a1393e91b8b8fb140 Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Sat, 28 Sep 2024 05:52:21 -0300 Subject: [PATCH] feat: module cpp (migrate Position to modules) --- CMakeLists.txt | 6 +- cmake/modules/BaseConfig.cmake | 37 ++++- cmake/modules/CanaryLib.cmake | 38 +++-- src/CMakeLists.txt | 17 ++- src/account/account.cpp | 2 - src/account/account_repository.cpp | 2 - src/account/account_repository_db.cpp | 2 - src/canary_server.cpp | 2 - src/config/configmanager.cpp | 2 - src/creatures/appearance/mounts/mounts.cpp | 2 - src/creatures/appearance/outfit/outfit.cpp | 2 - src/creatures/combat/combat.cpp | 2 - src/creatures/combat/combat.hpp | 2 + src/creatures/combat/condition.cpp | 2 - src/creatures/combat/condition.hpp | 2 + src/creatures/combat/spells.cpp | 2 - src/creatures/combat/spells.hpp | 2 + src/creatures/creature.cpp | 2 +- src/creatures/creature.hpp | 4 +- src/creatures/creatures_definitions.hpp | 3 - src/creatures/interactions/chat.cpp | 2 - src/creatures/monsters/monster.cpp | 2 - src/creatures/monsters/monster.hpp | 2 + src/creatures/monsters/monsters.cpp | 2 - src/creatures/monsters/monsters.hpp | 2 + .../monsters/spawns/spawn_monster.cpp | 2 - .../monsters/spawns/spawn_monster.hpp | 4 +- src/creatures/npcs/npc.cpp | 2 - src/creatures/npcs/npc.hpp | 2 + src/creatures/npcs/npcs.cpp | 2 - src/creatures/npcs/npcs.hpp | 2 + src/creatures/npcs/spawns/spawn_npc.cpp | 2 - src/creatures/npcs/spawns/spawn_npc.hpp | 4 +- .../achievement/player_achievement.cpp | 2 - .../players/cyclopedia/player_badge.cpp | 2 - .../players/cyclopedia/player_cyclopedia.cpp | 2 - .../players/cyclopedia/player_title.cpp | 2 - src/creatures/players/grouping/familiars.cpp | 2 - src/creatures/players/grouping/groups.cpp | 2 - src/creatures/players/grouping/guild.cpp | 2 - src/creatures/players/grouping/party.cpp | 4 +- src/creatures/players/grouping/party.hpp | 1 + .../players/imbuements/imbuements.cpp | 2 +- src/creatures/players/management/ban.cpp | 2 - src/creatures/players/management/waitlist.cpp | 2 - src/creatures/players/player.cpp | 2 - src/creatures/players/player.hpp | 2 + src/creatures/players/storages/storages.cpp | 2 - src/creatures/players/vip/player_vip.cpp | 2 - src/creatures/players/vocations/vocation.cpp | 2 - src/creatures/players/wheel/player_wheel.cpp | 2 +- src/creatures/players/wheel/wheel_gems.cpp | 2 - src/database/database.cpp | 2 - src/database/databasemanager.cpp | 2 - src/database/databasetasks.cpp | 2 - src/enums/direction.hpp | 30 ++++ src/game/CMakeLists.txt | 1 - src/game/bank/bank.cpp | 2 - src/game/functions/game_reload.cpp | 2 - src/game/game.cpp | 2 - src/game/game.hpp | 4 +- src/game/movement/position.cpp | 55 ------- src/game/movement/teleport.cpp | 2 - src/game/movement/teleport.hpp | 2 + src/game/scheduling/dispatcher.cpp | 2 - src/game/scheduling/events_scheduler.cpp | 2 - src/game/scheduling/save_manager.cpp | 2 - src/game/scheduling/task.cpp | 2 - src/game/zones/zone.cpp | 2 - src/game/zones/zone.hpp | 4 +- src/io/fileloader.cpp | 2 - src/io/filestream.cpp | 2 - src/io/functions/iologindata_load_player.cpp | 2 +- src/io/functions/iologindata_save_player.cpp | 2 +- src/io/io_bosstiary.cpp | 2 - src/io/io_wheel.cpp | 2 - src/io/iobestiary.cpp | 2 +- src/io/ioguild.cpp | 2 - src/io/iologindata.cpp | 2 - src/io/iomap.cpp | 2 +- src/io/iomap.hpp | 2 + src/io/iomapserialize.cpp | 2 +- src/io/iomarket.cpp | 2 - src/io/ioprey.cpp | 2 - src/items/bed.cpp | 2 +- src/items/containers/container.cpp | 2 +- src/items/containers/container.hpp | 2 + src/items/containers/depot/depotchest.cpp | 2 - src/items/containers/depot/depotlocker.cpp | 2 - src/items/containers/inbox/inbox.cpp | 2 - src/items/containers/mailbox/mailbox.cpp | 2 - src/items/containers/rewards/reward.cpp | 2 - src/items/containers/rewards/rewardchest.cpp | 2 - src/items/cylinder.cpp | 2 - src/items/decay/decay.cpp | 2 - src/items/functions/item/attribute.cpp | 2 - src/items/functions/item/custom_attribute.cpp | 2 - src/items/functions/item/item_parse.cpp | 2 - src/items/item.cpp | 2 - src/items/items.cpp | 2 - src/items/items.hpp | 4 +- src/items/thing.cpp | 2 - src/items/thing.hpp | 4 +- src/items/tile.cpp | 2 - src/items/tile.hpp | 2 + src/items/trashholder.cpp | 2 - src/items/weapons/weapons.cpp | 2 +- src/kv/kv.cpp | 2 - src/kv/kv_sql.cpp | 2 - src/kv/value_wrapper.cpp | 2 - src/kv/value_wrapper_proto.cpp | 2 - src/lib/di/soft_singleton.cpp | 2 +- src/lib/logging/log_with_spd_log.cpp | 2 +- src/lib/thread/thread_pool.cpp | 2 - src/lua/callbacks/creaturecallback.hpp | 2 + src/lua/callbacks/event_callback.cpp | 2 +- src/lua/callbacks/events_callbacks.cpp | 2 - src/lua/creature/actions.cpp | 2 - src/lua/creature/actions.hpp | 3 +- src/lua/creature/creatureevent.cpp | 2 - src/lua/creature/events.cpp | 2 +- src/lua/creature/events.hpp | 2 + src/lua/creature/movement.cpp | 2 - src/lua/creature/movement.hpp | 2 + src/lua/creature/raids.cpp | 2 - src/lua/creature/raids.hpp | 4 +- src/lua/creature/talkaction.cpp | 2 - .../functions/core/game/bank_functions.cpp | 2 +- .../functions/core/game/config_functions.cpp | 2 - .../functions/core/game/game_functions.cpp | 2 +- .../functions/core/game/global_functions.cpp | 2 +- src/lua/functions/core/game/lua_enums.cpp | 2 - .../core/game/modal_window_functions.cpp | 2 - .../functions/core/game/zone_functions.cpp | 2 +- src/lua/functions/core/libs/bit_functions.cpp | 2 - src/lua/functions/core/libs/db_functions.cpp | 2 - src/lua/functions/core/libs/kv_functions.cpp | 2 - .../functions/core/libs/logger_functions.cpp | 2 - .../functions/core/libs/metrics_functions.cpp | 2 - .../functions/core/libs/result_functions.cpp | 2 - .../network/network_message_functions.cpp | 2 +- .../core/network/webhook_functions.cpp | 2 - .../creatures/combat/combat_functions.cpp | 2 - .../creatures/combat/condition_functions.cpp | 2 - .../creatures/combat/spell_functions.cpp | 2 - .../creatures/combat/variant_functions.cpp | 2 +- .../creatures/creature_functions.cpp | 2 +- .../creatures/monster/charm_functions.cpp | 2 - .../creatures/monster/loot_functions.cpp | 2 - .../creatures/monster/monster_functions.cpp | 2 +- .../monster/monster_spell_functions.cpp | 2 - .../monster/monster_type_functions.cpp | 2 +- .../functions/creatures/npc/npc_functions.cpp | 2 +- .../creatures/npc/npc_type_functions.cpp | 2 +- .../creatures/npc/shop_functions.cpp | 2 - .../creatures/player/group_functions.cpp | 2 - .../creatures/player/guild_functions.cpp | 2 - .../creatures/player/mount_functions.cpp | 2 - .../creatures/player/party_functions.cpp | 2 - .../creatures/player/player_functions.cpp | 2 +- .../creatures/player/vocation_functions.cpp | 2 - src/lua/functions/events/action_functions.cpp | 2 +- .../events/creature_event_functions.cpp | 2 - .../events/event_callback_functions.cpp | 2 - .../events/events_scheduler_functions.cpp | 2 - .../events/global_event_functions.cpp | 2 - .../functions/events/move_event_functions.cpp | 2 - .../events/talk_action_functions.cpp | 2 - .../functions/items/container_functions.cpp | 2 - .../functions/items/imbuement_functions.cpp | 2 - .../items/item_classification_functions.cpp | 2 - src/lua/functions/items/item_functions.cpp | 2 - .../functions/items/item_type_functions.cpp | 2 - src/lua/functions/items/weapon_functions.cpp | 2 - src/lua/functions/lua_functions_loader.cpp | 2 - src/lua/functions/lua_functions_loader.hpp | 4 +- src/lua/functions/map/house_functions.cpp | 4 +- src/lua/functions/map/position_functions.cpp | 4 +- src/lua/functions/map/teleport_functions.cpp | 2 - src/lua/functions/map/tile_functions.cpp | 2 - src/lua/functions/map/town_functions.cpp | 2 - src/lua/global/baseevents.cpp | 2 - src/lua/global/globalevent.cpp | 2 - src/lua/global/lua_variant.hpp | 4 +- src/lua/lua_definitions.hpp | 4 +- src/lua/modules/modules.cpp | 2 - src/lua/scripts/lua_environment.cpp | 2 - src/lua/scripts/luascript.cpp | 2 - src/lua/scripts/script_environment.cpp | 2 - src/lua/scripts/scripts.cpp | 2 - src/main.cpp | 2 +- src/map/house/house.cpp | 2 - src/map/house/house.hpp | 4 +- src/map/house/housetile.cpp | 2 +- src/map/map.cpp | 2 +- src/map/map.hpp | 2 + src/map/mapcache.cpp | 2 +- src/map/mapcache.hpp | 2 +- src/map/spectators.cpp | 2 - src/map/spectators.hpp | 2 + src/map/town.hpp | 4 +- src/map/utils/astarnodes.cpp | 2 +- src/map/utils/mapsector.cpp | 2 - .../movement/position.hpp => position.cppm} | 138 ++++++++++++++---- src/security/argon.cpp | 2 - src/security/rsa.cpp | 2 - src/server/network/connection/connection.cpp | 2 - src/server/network/message/networkmessage.cpp | 2 +- src/server/network/message/outputmessage.cpp | 2 - src/server/network/protocol/protocol.cpp | 2 - src/server/network/protocol/protocolgame.cpp | 2 - src/server/network/protocol/protocolgame.hpp | 2 + src/server/network/protocol/protocollogin.cpp | 2 - .../network/protocol/protocolstatus.cpp | 2 - src/server/network/webhook/webhook.cpp | 2 - src/server/server.cpp | 2 - src/server/signals.cpp | 2 - src/test.cppm | 12 ++ src/utils/pugicast.cpp | 2 +- src/utils/tools.cpp | 2 - src/utils/tools.hpp | 4 +- src/utils/wildcardtree.cpp | 2 - 222 files changed, 348 insertions(+), 447 deletions(-) create mode 100644 src/enums/direction.hpp delete mode 100644 src/game/movement/position.cpp rename src/{game/movement/position.hpp => position.cppm} (51%) create mode 100644 src/test.cppm diff --git a/CMakeLists.txt b/CMakeLists.txt index d5853366d80..908107b9191 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.22 FATAL_ERROR) +cmake_minimum_required(VERSION 3.30) # CMAKE # apt install build-essential git @@ -28,9 +28,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Project canary # ***************************************************************************** if(CMAKE_BUILD_TYPE STREQUAL "Debug") - project(canary-debug) + project(canary-debug LANGUAGES CXX) else() - project(canary) + project(canary LANGUAGES CXX) endif() diff --git a/cmake/modules/BaseConfig.cmake b/cmake/modules/BaseConfig.cmake index f61ee9e809c..82d32e4b28b 100644 --- a/cmake/modules/BaseConfig.cmake +++ b/cmake/modules/BaseConfig.cmake @@ -1,16 +1,22 @@ -cmake_minimum_required(VERSION 3.22 FATAL_ERROR) +cmake_minimum_required(VERSION 3.30) # ***************************************************************************** # CMake Features # ***************************************************************************** -set(CMAKE_CXX_STANDARD 20) -set(GNUCXX_MINIMUM_VERSION 11) -set(MSVC_MINIMUM_VERSION "19.32") +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS NO) +set(GNUCXX_MINIMUM_VERSION 14) +set(CLANG_MINIMUM_VERSION 18) +set(MSVC_MINIMUM_VERSION "19.32") set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_DISABLE_SOURCE_CHANGES ON) set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) set(Boost_NO_WARN_NEW_VERSIONS ON) +set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDYNAPI ON) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /external:W0 /external:anglebrackets /external:templates-") +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /openmp") # Make will print more details set(CMAKE_VERBOSE_MAKEFILE OFF) @@ -63,6 +69,14 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") endif() endif() +# === Minimum required version for clang === +if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + message("-- Compiler: Clang - Version: ${CMAKE_CXX_COMPILER_VERSION}") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS CLANG_MINIMUM_VERSION) + message(FATAL_ERROR "Clang version must be at least ${CLANG_MINIMUM_VERSION}!") + endif() +endif() + # ***************************************************************************** # Sanity Checks # ***************************************************************************** @@ -150,7 +164,7 @@ if (MSVC) add_compile_options(/MP /FS /Zf /EHsc) else() - add_compile_options(-Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-implicit-fallthrough -Wno-extra) + add_compile_options(-Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-implicit-fallthrough -Wno-extra -fmodules-ts) endif() ## Link compilation files to build/bin folder, else link to the main dir @@ -175,6 +189,19 @@ function(setup_target TARGET_NAME) endif() endfunction() +# === OpenMP === +function(setup_open_mp target_name) + if(OPTIONS_ENABLE_OPENMP) + log_option_enabled("openmp") + find_package(OpenMP) + if(OpenMP_CXX_FOUND) + target_link_libraries(${target_name} PUBLIC OpenMP::OpenMP_CXX) + endif() + else() + log_option_disabled("openmp") + endif() +endfunction() + # ***************************************************************************** # DEBUG: Print cmake variables # ***************************************************************************** diff --git a/cmake/modules/CanaryLib.cmake b/cmake/modules/CanaryLib.cmake index a3f5410b9d8..cfd7ae98983 100644 --- a/cmake/modules/CanaryLib.cmake +++ b/cmake/modules/CanaryLib.cmake @@ -2,6 +2,22 @@ add_library(${PROJECT_NAME}_lib) setup_target(${PROJECT_NAME}_lib) + +# Define module sources +set(MODULE_SOURCES + test.cppm + position.cppm +) + +# Create a static library for the module sources +add_library(my_module_lib STATIC) +target_sources(my_module_lib + PUBLIC + FILE_SET cxx_modules TYPE CXX_MODULES FILES ${MODULE_SOURCES} +) + +set_target_properties(my_module_lib PROPERTIES UNITY_BUILD ON) + # Add subdirectories add_subdirectory(account) add_subdirectory(config) @@ -23,11 +39,9 @@ add_subdirectory(utils) target_sources(${PROJECT_NAME}_lib PRIVATE canary_server.cpp) # Add public pre compiler header to lib, to pass down to related targets -if (NOT SPEED_UP_BUILD_UNITY) - target_precompile_headers(${PROJECT_NAME}_lib PUBLIC pch.hpp) -endif() +target_precompile_headers(${PROJECT_NAME}_lib PUBLIC pch.hpp) -if(NOT SPEED_UP_BUILD_UNITY AND USE_PRECOMPILED_HEADERS) +if(USE_PRECOMPILED_HEADERS) target_compile_definitions(${PROJECT_NAME}_lib PUBLIC -DUSE_PRECOMPILED_HEADERS) endif() @@ -38,6 +52,11 @@ if (CMAKE_COMPILER_IS_GNUCXX) target_compile_options(${PROJECT_NAME}_lib PRIVATE -Wno-deprecated-declarations) endif() +if (MSVC) + target_compile_options(${PROJECT_NAME}_lib PRIVATE /MT$<$:d>) + target_compile_options(my_module_lib PRIVATE /MT$<$:d>) +endif() + # Sets the NDEBUG macro for RelWithDebInfo and Release configurations. # This disables assertions in these configurations, optimizing the code for performance # and reducing debugging overhead, while keeping debug information available for diagnostics. @@ -106,6 +125,7 @@ target_link_libraries(${PROJECT_NAME}_lib unofficial::libmariadb unofficial::mariadbclient protobuf + my_module_lib ) if(FEATURE_METRICS) @@ -143,12 +163,4 @@ else() endif (MSVC) # === OpenMP === -if(OPTIONS_ENABLE_OPENMP) - log_option_enabled("openmp") - find_package(OpenMP) - if(OpenMP_CXX_FOUND) - target_link_libraries(${PROJECT_NAME}_lib PUBLIC OpenMP::OpenMP_CXX) - endif() -else() - log_option_disabled("openmp") -endif() +setup_open_mp(${PROJECT_NAME}_lib) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2abd46f06c2..ab114c6b058 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.22 FATAL_ERROR) +cmake_minimum_required(VERSION 3.30) # Base configurations and settings for the project include(BaseConfig) @@ -7,9 +7,22 @@ include(GNUInstallDirs) # Import configurations, source definitions, and linker settings include(CanaryLib) -# Define main executable target, set it up and link to main library +if(MSVC) + add_compile_options(/experimental:module) + set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "TRUE") # Habilita suporte experimental a módulos no CMake para MSVC +elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + add_compile_options(-std=c++23 -fmodules-ts) +endif() + add_executable(${PROJECT_NAME} main.cpp) +if(MSVC) + target_compile_options(${PROJECT_NAME} PRIVATE /experimental:module) +elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + target_compile_options(${PROJECT_NAME} PRIVATE -fmodules-ts) +endif() + + if(MSVC) # Add executable icon for Windows target_sources(${PROJECT_NAME} PRIVATE ../cmake/canary.rc) diff --git a/src/account/account.cpp b/src/account/account.cpp index 2e5f58dd864..8b67c09ebca 100644 --- a/src/account/account.cpp +++ b/src/account/account.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "account/account.hpp" #include "account/account_repository_db.hpp" diff --git a/src/account/account_repository.cpp b/src/account/account_repository.cpp index babca847043..f329825645d 100644 --- a/src/account/account_repository.cpp +++ b/src/account/account_repository.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "account/account_repository.hpp" #include "lib/di/container.hpp" diff --git a/src/account/account_repository_db.cpp b/src/account/account_repository_db.cpp index 81da30c08c5..a6d169ef4af 100644 --- a/src/account/account_repository_db.cpp +++ b/src/account/account_repository_db.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "account/account_repository_db.hpp" #include "database/database.hpp" diff --git a/src/canary_server.cpp b/src/canary_server.cpp index f71fc71ba9a..f46d34f7104 100644 --- a/src/canary_server.cpp +++ b/src/canary_server.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "canary_server.hpp" #include "declarations.hpp" diff --git a/src/config/configmanager.cpp b/src/config/configmanager.cpp index 9ce861665de..1d0138483a9 100644 --- a/src/config/configmanager.cpp +++ b/src/config/configmanager.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "lib/di/container.hpp" #include "game/game.hpp" diff --git a/src/creatures/appearance/mounts/mounts.cpp b/src/creatures/appearance/mounts/mounts.cpp index 7014d0b026b..ada9fb1c4ff 100644 --- a/src/creatures/appearance/mounts/mounts.cpp +++ b/src/creatures/appearance/mounts/mounts.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/appearance/mounts/mounts.hpp" #include "game/game.hpp" #include "utils/pugicast.hpp" diff --git a/src/creatures/appearance/outfit/outfit.cpp b/src/creatures/appearance/outfit/outfit.cpp index 251bf7bde35..40c28a1d7bb 100644 --- a/src/creatures/appearance/outfit/outfit.cpp +++ b/src/creatures/appearance/outfit/outfit.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/appearance/outfit/outfit.hpp" #include "utils/pugicast.hpp" #include "utils/tools.hpp" diff --git a/src/creatures/combat/combat.cpp b/src/creatures/combat/combat.cpp index d65d10e4e6f..4920e8cdc4e 100644 --- a/src/creatures/combat/combat.cpp +++ b/src/creatures/combat/combat.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "declarations.hpp" #include "creatures/combat/combat.hpp" #include "lua/creature/events.hpp" diff --git a/src/creatures/combat/combat.hpp b/src/creatures/combat/combat.hpp index 304a709135d..5a1257be836 100644 --- a/src/creatures/combat/combat.hpp +++ b/src/creatures/combat/combat.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "lua/global/baseevents.hpp" diff --git a/src/creatures/combat/condition.cpp b/src/creatures/combat/condition.cpp index b308c05a5bc..f07126ed868 100644 --- a/src/creatures/combat/condition.cpp +++ b/src/creatures/combat/condition.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/condition.hpp" #include "game/game.hpp" #include "game/scheduling/dispatcher.hpp" diff --git a/src/creatures/combat/condition.hpp b/src/creatures/combat/condition.hpp index ea59943e5c7..14ccd686e9a 100644 --- a/src/creatures/combat/condition.hpp +++ b/src/creatures/combat/condition.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "declarations.hpp" diff --git a/src/creatures/combat/spells.cpp b/src/creatures/combat/spells.cpp index 105bf734c23..263d7041887 100644 --- a/src/creatures/combat/spells.cpp +++ b/src/creatures/combat/spells.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/combat.hpp" #include "creatures/combat/spells.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/creatures/combat/spells.hpp b/src/creatures/combat/spells.hpp index fc23bbf9030..811635431c6 100644 --- a/src/creatures/combat/spells.hpp +++ b/src/creatures/combat/spells.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "lua/scripts/luascript.hpp" diff --git a/src/creatures/creature.cpp b/src/creatures/creature.cpp index 56ed1770039..0f01929677c 100644 --- a/src/creatures/creature.cpp +++ b/src/creatures/creature.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "creatures/creature.hpp" #include "declarations.hpp" diff --git a/src/creatures/creature.hpp b/src/creatures/creature.hpp index a274b49364c..720b35727fb 100644 --- a/src/creatures/creature.hpp +++ b/src/creatures/creature.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "declarations.hpp" @@ -14,7 +16,7 @@ #include "utils/utils_definitions.hpp" #include "lua/creature/creatureevent.hpp" #include "map/map.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "items/tile.hpp" using ConditionList = std::list>; diff --git a/src/creatures/creatures_definitions.hpp b/src/creatures/creatures_definitions.hpp index 9594a704eed..2fea24c3f29 100644 --- a/src/creatures/creatures_definitions.hpp +++ b/src/creatures/creatures_definitions.hpp @@ -1393,9 +1393,6 @@ struct CreatureIcon { } }; -// Structs -struct Position; - struct VIPEntry { VIPEntry(uint32_t initGuid, const std::string &initName, const std::string &initDescription, uint32_t initIcon, bool initNotify) : guid(initGuid), diff --git a/src/creatures/interactions/chat.cpp b/src/creatures/interactions/chat.cpp index 900247e457a..84f4dd67e23 100644 --- a/src/creatures/interactions/chat.cpp +++ b/src/creatures/interactions/chat.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/interactions/chat.hpp" #include "game/game.hpp" #include "utils/pugicast.hpp" diff --git a/src/creatures/monsters/monster.cpp b/src/creatures/monsters/monster.cpp index 4a6d07fe8d7..1db78747947 100644 --- a/src/creatures/monsters/monster.cpp +++ b/src/creatures/monsters/monster.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/monsters/monster.hpp" #include "creatures/combat/spells.hpp" #include "creatures/players/wheel/player_wheel.hpp" diff --git a/src/creatures/monsters/monster.hpp b/src/creatures/monsters/monster.hpp index 155ba1e5c87..0247a2f23e7 100644 --- a/src/creatures/monsters/monster.hpp +++ b/src/creatures/monsters/monster.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "creatures/monsters/monsters.hpp" diff --git a/src/creatures/monsters/monsters.cpp b/src/creatures/monsters/monsters.cpp index 7e192a79575..9a1c2b70634 100644 --- a/src/creatures/monsters/monsters.cpp +++ b/src/creatures/monsters/monsters.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/monsters/monsters.hpp" #include "creatures/combat/spells.hpp" diff --git a/src/creatures/monsters/monsters.hpp b/src/creatures/monsters/monsters.hpp index 88d25e195c6..1476291d59e 100644 --- a/src/creatures/monsters/monsters.hpp +++ b/src/creatures/monsters/monsters.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "io/io_bosstiary.hpp" diff --git a/src/creatures/monsters/spawns/spawn_monster.cpp b/src/creatures/monsters/spawns/spawn_monster.cpp index 93b381da061..828549e7153 100644 --- a/src/creatures/monsters/spawns/spawn_monster.cpp +++ b/src/creatures/monsters/spawns/spawn_monster.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/monsters/spawns/spawn_monster.hpp" #include "game/game.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/creatures/monsters/spawns/spawn_monster.hpp b/src/creatures/monsters/spawns/spawn_monster.hpp index 81a08973cb7..a2d6c5c4900 100644 --- a/src/creatures/monsters/spawns/spawn_monster.hpp +++ b/src/creatures/monsters/spawns/spawn_monster.hpp @@ -7,10 +7,12 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "items/tile.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" class Monster; class MonsterType; diff --git a/src/creatures/npcs/npc.cpp b/src/creatures/npcs/npc.cpp index 6d38524aef3..997e28ca943 100644 --- a/src/creatures/npcs/npc.cpp +++ b/src/creatures/npcs/npc.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/npcs/npc.hpp" #include "creatures/npcs/npcs.hpp" #include "declarations.hpp" diff --git a/src/creatures/npcs/npc.hpp b/src/creatures/npcs/npc.hpp index c246aa4b68d..badeb6ba702 100644 --- a/src/creatures/npcs/npc.hpp +++ b/src/creatures/npcs/npc.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "creatures/npcs/npcs.hpp" diff --git a/src/creatures/npcs/npcs.cpp b/src/creatures/npcs/npcs.cpp index 6fe7f0b8320..05fc48a63d8 100644 --- a/src/creatures/npcs/npcs.cpp +++ b/src/creatures/npcs/npcs.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "declarations.hpp" #include "creatures/combat/combat.hpp" #include "lua/scripts/lua_environment.hpp" diff --git a/src/creatures/npcs/npcs.hpp b/src/creatures/npcs/npcs.hpp index ab5e700caea..0720fdfe2c8 100644 --- a/src/creatures/npcs/npcs.hpp +++ b/src/creatures/npcs/npcs.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "creatures/creature.hpp" diff --git a/src/creatures/npcs/spawns/spawn_npc.cpp b/src/creatures/npcs/spawns/spawn_npc.cpp index 694822c2386..0976e96b68f 100644 --- a/src/creatures/npcs/spawns/spawn_npc.cpp +++ b/src/creatures/npcs/spawns/spawn_npc.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/npcs/spawns/spawn_npc.hpp" #include "creatures/npcs/npc.hpp" #include "game/game.hpp" diff --git a/src/creatures/npcs/spawns/spawn_npc.hpp b/src/creatures/npcs/spawns/spawn_npc.hpp index b0d0ab8622a..fa2ee47072f 100644 --- a/src/creatures/npcs/spawns/spawn_npc.hpp +++ b/src/creatures/npcs/spawns/spawn_npc.hpp @@ -7,9 +7,11 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "items/tile.hpp" class Npc; diff --git a/src/creatures/players/achievement/player_achievement.cpp b/src/creatures/players/achievement/player_achievement.cpp index cd0735ab54c..5a9c1f55858 100644 --- a/src/creatures/players/achievement/player_achievement.cpp +++ b/src/creatures/players/achievement/player_achievement.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "player_achievement.hpp" #include "creatures/players/player.hpp" diff --git a/src/creatures/players/cyclopedia/player_badge.cpp b/src/creatures/players/cyclopedia/player_badge.cpp index 639640b2ffe..a176f55de92 100644 --- a/src/creatures/players/cyclopedia/player_badge.cpp +++ b/src/creatures/players/cyclopedia/player_badge.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "player_badge.hpp" #include "creatures/players/player.hpp" diff --git a/src/creatures/players/cyclopedia/player_cyclopedia.cpp b/src/creatures/players/cyclopedia/player_cyclopedia.cpp index eb7e05d2338..de34e1d8250 100644 --- a/src/creatures/players/cyclopedia/player_cyclopedia.cpp +++ b/src/creatures/players/cyclopedia/player_cyclopedia.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "player_cyclopedia.hpp" #include "database/databasetasks.hpp" diff --git a/src/creatures/players/cyclopedia/player_title.cpp b/src/creatures/players/cyclopedia/player_title.cpp index 7c348cbf79d..38e4e6428d0 100644 --- a/src/creatures/players/cyclopedia/player_title.cpp +++ b/src/creatures/players/cyclopedia/player_title.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "player_title.hpp" #include "creatures/players/player.hpp" diff --git a/src/creatures/players/grouping/familiars.cpp b/src/creatures/players/grouping/familiars.cpp index 6312aaa285d..1e09fd5cd7f 100644 --- a/src/creatures/players/grouping/familiars.cpp +++ b/src/creatures/players/grouping/familiars.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/grouping/familiars.hpp" #include "lib/di/container.hpp" #include "config/configmanager.hpp" diff --git a/src/creatures/players/grouping/groups.cpp b/src/creatures/players/grouping/groups.cpp index c4dab4a9039..189d2ecc165 100644 --- a/src/creatures/players/grouping/groups.cpp +++ b/src/creatures/players/grouping/groups.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "game/game.hpp" #include "creatures/players/grouping/groups.hpp" diff --git a/src/creatures/players/grouping/guild.cpp b/src/creatures/players/grouping/guild.cpp index bbd662d1a1d..240593c1047 100644 --- a/src/creatures/players/grouping/guild.cpp +++ b/src/creatures/players/grouping/guild.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/grouping/guild.hpp" #include "game/game.hpp" diff --git a/src/creatures/players/grouping/party.cpp b/src/creatures/players/grouping/party.cpp index b56e0c68605..be5e2a45eed 100644 --- a/src/creatures/players/grouping/party.cpp +++ b/src/creatures/players/grouping/party.cpp @@ -7,9 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include - -#include "pch.hpp" +import game_movement; #include "creatures/players/grouping/party.hpp" #include "game/game.hpp" diff --git a/src/creatures/players/grouping/party.hpp b/src/creatures/players/grouping/party.hpp index 6aaecc56190..25a1300e528 100644 --- a/src/creatures/players/grouping/party.hpp +++ b/src/creatures/players/grouping/party.hpp @@ -23,6 +23,7 @@ enum SharedExpStatus_t : uint8_t { class Player; class Party; +struct Position; class Party : public SharedObject { public: diff --git a/src/creatures/players/imbuements/imbuements.cpp b/src/creatures/players/imbuements/imbuements.cpp index 4bfb0de836b..1e934e80143 100644 --- a/src/creatures/players/imbuements/imbuements.cpp +++ b/src/creatures/players/imbuements/imbuements.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +//#include "pch.hpp" #include "creatures/players/imbuements/imbuements.hpp" #include "lua/creature/events.hpp" #include "utils/pugicast.hpp" diff --git a/src/creatures/players/management/ban.cpp b/src/creatures/players/management/ban.cpp index d81045c5344..748b784a77a 100644 --- a/src/creatures/players/management/ban.cpp +++ b/src/creatures/players/management/ban.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/management/ban.hpp" #include "database/database.hpp" #include "database/databasetasks.hpp" diff --git a/src/creatures/players/management/waitlist.cpp b/src/creatures/players/management/waitlist.cpp index 345c20f2650..f20843ea248 100644 --- a/src/creatures/players/management/waitlist.cpp +++ b/src/creatures/players/management/waitlist.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/management/waitlist.hpp" #include "game/game.hpp" diff --git a/src/creatures/players/player.cpp b/src/creatures/players/player.cpp index 8c49226b621..be8a8bd0402 100644 --- a/src/creatures/players/player.cpp +++ b/src/creatures/players/player.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/combat.hpp" #include "creatures/interactions/chat.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/creatures/players/player.hpp b/src/creatures/players/player.hpp index 124ad59ed6b..3b92a991fbe 100644 --- a/src/creatures/players/player.hpp +++ b/src/creatures/players/player.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "items/containers/container.hpp" diff --git a/src/creatures/players/storages/storages.cpp b/src/creatures/players/storages/storages.cpp index 7fe925ce9e3..8f53bff0cec 100644 --- a/src/creatures/players/storages/storages.cpp +++ b/src/creatures/players/storages/storages.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/storages/storages.hpp" #include "config/configmanager.hpp" diff --git a/src/creatures/players/vip/player_vip.cpp b/src/creatures/players/vip/player_vip.cpp index 95ebe91ad5f..9d7bb7c27c7 100644 --- a/src/creatures/players/vip/player_vip.cpp +++ b/src/creatures/players/vip/player_vip.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/vip/player_vip.hpp" #include "io/iologindata.hpp" diff --git a/src/creatures/players/vocations/vocation.cpp b/src/creatures/players/vocations/vocation.cpp index 6fec2725164..3da025f7b4a 100644 --- a/src/creatures/players/vocations/vocation.cpp +++ b/src/creatures/players/vocations/vocation.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/vocations/vocation.hpp" #include "utils/pugicast.hpp" diff --git a/src/creatures/players/wheel/player_wheel.cpp b/src/creatures/players/wheel/player_wheel.cpp index b78f136312b..69196f10c86 100644 --- a/src/creatures/players/wheel/player_wheel.cpp +++ b/src/creatures/players/wheel/player_wheel.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.org/ */ -#include "pch.hpp" +import game_movement; #include "creatures/players/wheel/player_wheel.hpp" diff --git a/src/creatures/players/wheel/wheel_gems.cpp b/src/creatures/players/wheel/wheel_gems.cpp index c3653298c12..6834bdeca8d 100644 --- a/src/creatures/players/wheel/wheel_gems.cpp +++ b/src/creatures/players/wheel/wheel_gems.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.org/ */ -#include "pch.hpp" - #include "creatures/players/wheel/player_wheel.hpp" void GemModifierResistanceStrategy::execute() { diff --git a/src/database/database.cpp b/src/database/database.cpp index f226587c511..50b795455d3 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "database/database.hpp" #include "lib/di/container.hpp" diff --git a/src/database/databasemanager.cpp b/src/database/databasemanager.cpp index dfbb7d9a64a..3e55799e45a 100644 --- a/src/database/databasemanager.cpp +++ b/src/database/databasemanager.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "database/databasemanager.hpp" #include "lua/functions/core/libs/core_libs_functions.hpp" diff --git a/src/database/databasetasks.cpp b/src/database/databasetasks.cpp index 8a660f1c031..010b3f16320 100644 --- a/src/database/databasetasks.cpp +++ b/src/database/databasetasks.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "database/databasetasks.hpp" #include "game/scheduling/dispatcher.hpp" #include "lib/thread/thread_pool.hpp" diff --git a/src/enums/direction.hpp b/src/enums/direction.hpp new file mode 100644 index 00000000000..7116fa18382 --- /dev/null +++ b/src/enums/direction.hpp @@ -0,0 +1,30 @@ +/** + * Canary - A free and open-source MMORPG server emulator + * Copyright (©) 2019-2024 OpenTibiaBR + * Repository: https://github.com/opentibiabr/canary + * License: https://github.com/opentibiabr/canary/blob/main/LICENSE + * Contributors: https://github.com/opentibiabr/canary/graphs/contributors + * Website: https://docs.opentibiabr.com/ + */ + +#pragma once + +#ifndef USE_PRECOMPILED_HEADERS + #include +#endif + +enum Direction : uint8_t { + DIRECTION_NORTH = 0, + DIRECTION_EAST = 1, + DIRECTION_SOUTH = 2, + DIRECTION_WEST = 3, + + DIRECTION_DIAGONAL_MASK = 4, + DIRECTION_SOUTHWEST = DIRECTION_DIAGONAL_MASK | 0, + DIRECTION_SOUTHEAST = DIRECTION_DIAGONAL_MASK | 1, + DIRECTION_NORTHWEST = DIRECTION_DIAGONAL_MASK | 2, + DIRECTION_NORTHEAST = DIRECTION_DIAGONAL_MASK | 3, + + DIRECTION_LAST = DIRECTION_NORTHEAST, + DIRECTION_NONE = 8, +}; diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index dc7758f996d..d2a04a55612 100644 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -2,7 +2,6 @@ target_sources(${PROJECT_NAME}_lib PRIVATE functions/game_reload.cpp game.cpp bank/bank.cpp - movement/position.cpp movement/teleport.cpp scheduling/events_scheduler.cpp scheduling/dispatcher.cpp diff --git a/src/game/bank/bank.cpp b/src/game/bank/bank.cpp index 33d97c92ee5..0a876e62210 100644 --- a/src/game/bank/bank.cpp +++ b/src/game/bank/bank.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "bank.hpp" #include "game/game.hpp" #include "creatures/players/player.hpp" diff --git a/src/game/functions/game_reload.cpp b/src/game/functions/game_reload.cpp index d9d9eb1f449..d42f7ec3c78 100644 --- a/src/game/functions/game_reload.cpp +++ b/src/game/functions/game_reload.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/functions/game_reload.hpp" #include "config/configmanager.hpp" diff --git a/src/game/game.cpp b/src/game/game.cpp index 3a579ec2fdf..d047562ae04 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/creature/actions.hpp" diff --git a/src/game/game.hpp b/src/game/game.hpp index e04dbb26cff..ad5bd790ffd 100644 --- a/src/game/game.hpp +++ b/src/game/game.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "account/account.hpp" @@ -17,7 +19,7 @@ #include "items/item.hpp" #include "map/map.hpp" #include "creatures/npcs/npc.hpp" -#include "movement/position.hpp" +#include "enums/direction.hpp" #include "creatures/players/player.hpp" #include "lua/creature/raids.hpp" #include "creatures/players/grouping/team_finder.hpp" diff --git a/src/game/movement/position.cpp b/src/game/movement/position.cpp deleted file mode 100644 index 807a65ad458..00000000000 --- a/src/game/movement/position.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Canary - A free and open-source MMORPG server emulator - * Copyright (©) 2019-2024 OpenTibiaBR - * Repository: https://github.com/opentibiabr/canary - * License: https://github.com/opentibiabr/canary/blob/main/LICENSE - * Contributors: https://github.com/opentibiabr/canary/graphs/contributors - * Website: https://docs.opentibiabr.com/ - */ - -#include "pch.hpp" - -#include "game/movement/position.hpp" -#include "utils/tools.hpp" - -double Position::getEuclideanDistance(const Position &p1, const Position &p2) { - int32_t dx = Position::getDistanceX(p1, p2); - int32_t dy = Position::getDistanceY(p1, p2); - return std::sqrt(dx * dx + dy * dy); -} - -Direction Position::getRandomDirection() { - static std::vector dirList { - DIRECTION_NORTH, - DIRECTION_WEST, - DIRECTION_EAST, - DIRECTION_SOUTH - }; - std::shuffle(dirList.begin(), dirList.end(), getRandomGenerator()); - - return dirList.front(); -} - -std::ostream &operator<<(std::ostream &os, const Position &pos) { - return os << pos.toString(); -} - -std::ostream &operator<<(std::ostream &os, const Direction &dir) { - static const std::map directionStrings = { - { DIRECTION_NORTH, "North" }, - { DIRECTION_EAST, "East" }, - { DIRECTION_WEST, "West" }, - { DIRECTION_SOUTH, "South" }, - { DIRECTION_SOUTHWEST, "South-West" }, - { DIRECTION_SOUTHEAST, "South-East" }, - { DIRECTION_NORTHWEST, "North-West" }, - { DIRECTION_NORTHEAST, "North-East" } - }; - - auto it = directionStrings.find(dir); - if (it != directionStrings.end()) { - return os << it->second; - } - - return os; -} diff --git a/src/game/movement/teleport.cpp b/src/game/movement/teleport.cpp index 44050100eb6..595fe5f33ca 100644 --- a/src/game/movement/teleport.cpp +++ b/src/game/movement/teleport.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "game/movement/teleport.hpp" diff --git a/src/game/movement/teleport.hpp b/src/game/movement/teleport.hpp index 9e26e1864cf..09d0352b4c4 100644 --- a/src/game/movement/teleport.hpp +++ b/src/game/movement/teleport.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "items/tile.hpp" diff --git a/src/game/scheduling/dispatcher.cpp b/src/game/scheduling/dispatcher.cpp index eaedaa86ac5..db0aae845a6 100644 --- a/src/game/scheduling/dispatcher.cpp +++ b/src/game/scheduling/dispatcher.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/scheduling/dispatcher.hpp" #include "lib/thread/thread_pool.hpp" #include "lib/di/container.hpp" diff --git a/src/game/scheduling/events_scheduler.cpp b/src/game/scheduling/events_scheduler.cpp index a86254fa35c..3089d9cdcd6 100644 --- a/src/game/scheduling/events_scheduler.cpp +++ b/src/game/scheduling/events_scheduler.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "game/scheduling/events_scheduler.hpp" #include "lua/scripts/scripts.hpp" diff --git a/src/game/scheduling/save_manager.cpp b/src/game/scheduling/save_manager.cpp index fbad528598b..e9853b21f3c 100644 --- a/src/game/scheduling/save_manager.cpp +++ b/src/game/scheduling/save_manager.cpp @@ -1,5 +1,3 @@ -#include "pch.hpp" - #include "game/game.hpp" #include "game/scheduling/save_manager.hpp" #include "io/iologindata.hpp" diff --git a/src/game/scheduling/task.cpp b/src/game/scheduling/task.cpp index 96355968bd1..0e1f6489516 100644 --- a/src/game/scheduling/task.cpp +++ b/src/game/scheduling/task.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "task.hpp" #include "lib/logging/log_with_spd_log.hpp" diff --git a/src/game/zones/zone.cpp b/src/game/zones/zone.cpp index 7ffa4b594f4..9215ef2570f 100644 --- a/src/game/zones/zone.cpp +++ b/src/game/zones/zone.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "zone.hpp" #include "game/game.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/game/zones/zone.hpp b/src/game/zones/zone.hpp index 82969a25792..e1be7872ab5 100644 --- a/src/game/zones/zone.hpp +++ b/src/game/zones/zone.hpp @@ -7,9 +7,11 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "items/item.hpp" #include "creatures/creature.hpp" diff --git a/src/io/fileloader.cpp b/src/io/fileloader.cpp index 38bf2be19e3..a4269ffdd30 100644 --- a/src/io/fileloader.cpp +++ b/src/io/fileloader.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "io/fileloader.hpp" namespace OTB { diff --git a/src/io/filestream.cpp b/src/io/filestream.cpp index fc8ae6116fc..71b2dd4aa2f 100644 --- a/src/io/filestream.cpp +++ b/src/io/filestream.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "io/filestream.hpp" #include "io/fileloader.hpp" diff --git a/src/io/functions/iologindata_load_player.cpp b/src/io/functions/iologindata_load_player.cpp index 63ca7939c46..8a3c22bd29e 100644 --- a/src/io/functions/iologindata_load_player.cpp +++ b/src/io/functions/iologindata_load_player.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "creatures/players/wheel/player_wheel.hpp" #include "creatures/players/achievement/player_achievement.hpp" diff --git a/src/io/functions/iologindata_save_player.cpp b/src/io/functions/iologindata_save_player.cpp index eccb88c8229..7b4f0935216 100644 --- a/src/io/functions/iologindata_save_player.cpp +++ b/src/io/functions/iologindata_save_player.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "io/functions/iologindata_save_player.hpp" #include "game/game.hpp" diff --git a/src/io/io_bosstiary.cpp b/src/io/io_bosstiary.cpp index 7c7c8108ce7..0bb0ff15699 100644 --- a/src/io/io_bosstiary.cpp +++ b/src/io/io_bosstiary.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "io/io_bosstiary.hpp" #include "creatures/monsters/monsters.hpp" diff --git a/src/io/io_wheel.cpp b/src/io/io_wheel.cpp index e8ad30a5d80..d4bdcefe83c 100644 --- a/src/io/io_wheel.cpp +++ b/src/io/io_wheel.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.org/ */ -#include "pch.hpp" - #include "io/io_wheel.hpp" #include "creatures/players/wheel/player_wheel.hpp" diff --git a/src/io/iobestiary.cpp b/src/io/iobestiary.cpp index 9cd964e7c7c..c684b1eda24 100644 --- a/src/io/iobestiary.cpp +++ b/src/io/iobestiary.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "declarations.hpp" #include "game/game.hpp" diff --git a/src/io/ioguild.cpp b/src/io/ioguild.cpp index 99e1e750676..9d3d628a42d 100644 --- a/src/io/ioguild.cpp +++ b/src/io/ioguild.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "database/database.hpp" #include "creatures/players/grouping/guild.hpp" #include "io/ioguild.hpp" diff --git a/src/io/iologindata.cpp b/src/io/iologindata.cpp index 41f8cea8985..64dc7a96d6f 100644 --- a/src/io/iologindata.cpp +++ b/src/io/iologindata.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "io/iologindata.hpp" #include "io/functions/iologindata_load_player.hpp" #include "io/functions/iologindata_save_player.hpp" diff --git a/src/io/iomap.cpp b/src/io/iomap.cpp index 1f5c5205113..e562a6f8197 100644 --- a/src/io/iomap.cpp +++ b/src/io/iomap.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +//#include "pch.hpp" #include "io/iomap.hpp" #include "game/movement/teleport.hpp" #include "game/game.hpp" diff --git a/src/io/iomap.hpp b/src/io/iomap.hpp index 78fcc23191f..003adb2b8d3 100644 --- a/src/io/iomap.hpp +++ b/src/io/iomap.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "declarations.hpp" diff --git a/src/io/iomapserialize.cpp b/src/io/iomapserialize.cpp index e2a367c4ec4..beab34eefcc 100644 --- a/src/io/iomapserialize.cpp +++ b/src/io/iomapserialize.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "io/iomapserialize.hpp" #include "io/iologindata.hpp" diff --git a/src/io/iomarket.cpp b/src/io/iomarket.cpp index a0253e2ea01..71e707e0bd9 100644 --- a/src/io/iomarket.cpp +++ b/src/io/iomarket.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "io/iomarket.hpp" #include "database/databasetasks.hpp" #include "io/iologindata.hpp" diff --git a/src/io/ioprey.cpp b/src/io/ioprey.cpp index 93a91abade1..01f9413d385 100644 --- a/src/io/ioprey.cpp +++ b/src/io/ioprey.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/monsters/monster.hpp" #include "creatures/players/player.hpp" #include "config/configmanager.hpp" diff --git a/src/items/bed.cpp b/src/items/bed.cpp index 4b38be3b474..2cf4f80e5fa 100644 --- a/src/items/bed.cpp +++ b/src/items/bed.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "items/bed.hpp" #include "game/game.hpp" diff --git a/src/items/containers/container.cpp b/src/items/containers/container.cpp index 6c526a8500a..452e482be38 100644 --- a/src/items/containers/container.cpp +++ b/src/items/containers/container.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "items/containers/container.hpp" #include "items/decay/decay.hpp" diff --git a/src/items/containers/container.hpp b/src/items/containers/container.hpp index 6bfb509b8d3..036b99e39f4 100644 --- a/src/items/containers/container.hpp +++ b/src/items/containers/container.hpp @@ -19,6 +19,8 @@ class DepotLocker; class RewardChest; class Reward; +struct Position; + class ContainerIterator { public: bool hasNext() const { diff --git a/src/items/containers/depot/depotchest.cpp b/src/items/containers/depot/depotchest.cpp index 15488267f04..2c7d21ed199 100644 --- a/src/items/containers/depot/depotchest.cpp +++ b/src/items/containers/depot/depotchest.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/depot/depotchest.hpp" #include "utils/tools.hpp" diff --git a/src/items/containers/depot/depotlocker.cpp b/src/items/containers/depot/depotlocker.cpp index 0be000794ef..c7320293efd 100644 --- a/src/items/containers/depot/depotlocker.cpp +++ b/src/items/containers/depot/depotlocker.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/depot/depotlocker.hpp" DepotLocker::DepotLocker(uint16_t type, uint16_t size) : diff --git a/src/items/containers/inbox/inbox.cpp b/src/items/containers/inbox/inbox.cpp index 9b22c53748a..220f119645f 100644 --- a/src/items/containers/inbox/inbox.cpp +++ b/src/items/containers/inbox/inbox.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/inbox/inbox.hpp" #include "utils/tools.hpp" diff --git a/src/items/containers/mailbox/mailbox.cpp b/src/items/containers/mailbox/mailbox.cpp index c2c9b2f61e1..c558b85e30d 100644 --- a/src/items/containers/mailbox/mailbox.cpp +++ b/src/items/containers/mailbox/mailbox.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/mailbox/mailbox.hpp" #include "game/game.hpp" #include "io/iologindata.hpp" diff --git a/src/items/containers/rewards/reward.cpp b/src/items/containers/rewards/reward.cpp index 4b1757bd6c8..6a8374e8060 100644 --- a/src/items/containers/rewards/reward.cpp +++ b/src/items/containers/rewards/reward.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/rewards/reward.hpp" Reward::Reward() : diff --git a/src/items/containers/rewards/rewardchest.cpp b/src/items/containers/rewards/rewardchest.cpp index c9bb8112f90..96cf9c2edcc 100644 --- a/src/items/containers/rewards/rewardchest.cpp +++ b/src/items/containers/rewards/rewardchest.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/containers/rewards/rewardchest.hpp" RewardChest::RewardChest(uint16_t type) : diff --git a/src/items/cylinder.cpp b/src/items/cylinder.cpp index 0636e5ff34c..fa61eab2fcb 100644 --- a/src/items/cylinder.cpp +++ b/src/items/cylinder.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/cylinder.hpp" std::shared_ptr VirtualCylinder::virtualCylinder = std::make_shared(); diff --git a/src/items/decay/decay.cpp b/src/items/decay/decay.cpp index 5eaff61a7a9..bdf9ed36040 100644 --- a/src/items/decay/decay.cpp +++ b/src/items/decay/decay.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/decay/decay.hpp" #include "lib/di/container.hpp" diff --git a/src/items/functions/item/attribute.cpp b/src/items/functions/item/attribute.cpp index c67c6ce38f7..747b8c90c39 100644 --- a/src/items/functions/item/attribute.cpp +++ b/src/items/functions/item/attribute.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/functions/item/attribute.hpp" /* diff --git a/src/items/functions/item/custom_attribute.cpp b/src/items/functions/item/custom_attribute.cpp index 202c57c0960..462ba4b520a 100644 --- a/src/items/functions/item/custom_attribute.cpp +++ b/src/items/functions/item/custom_attribute.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/functions/item/custom_attribute.hpp" #include "lua/scripts/luascript.hpp" diff --git a/src/items/functions/item/item_parse.cpp b/src/items/functions/item/item_parse.cpp index 9b63b9aee0e..96fa33c2a7b 100644 --- a/src/items/functions/item/item_parse.cpp +++ b/src/items/functions/item/item_parse.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/functions/item/item_parse.hpp" #include "items/weapons/weapons.hpp" #include "lua/creature/movement.hpp" diff --git a/src/items/item.cpp b/src/items/item.cpp index 2ad0cfa4abd..43c172b8e7d 100644 --- a/src/items/item.cpp +++ b/src/items/item.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/item.hpp" #include "items/containers/container.hpp" #include "items/decay/decay.hpp" diff --git a/src/items/items.cpp b/src/items/items.cpp index 2d4020c5416..bcd055a8db5 100644 --- a/src/items/items.cpp +++ b/src/items/items.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/functions/item/item_parse.hpp" #include "items/items.hpp" #include "items/weapons/weapons.hpp" diff --git a/src/items/items.hpp b/src/items/items.hpp index e56678af6f3..c306c804eed 100644 --- a/src/items/items.hpp +++ b/src/items/items.hpp @@ -7,12 +7,14 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "config/configmanager.hpp" #include "utils/utils_definitions.hpp" #include "declarations.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" struct Abilities { public: diff --git a/src/items/thing.cpp b/src/items/thing.cpp index 6eec7994df8..647f312b227 100644 --- a/src/items/thing.cpp +++ b/src/items/thing.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/thing.hpp" #include "items/tile.hpp" diff --git a/src/items/thing.hpp b/src/items/thing.hpp index 9e8662d5f45..72961ec3a09 100644 --- a/src/items/thing.hpp +++ b/src/items/thing.hpp @@ -9,7 +9,7 @@ #pragma once -#include "game/movement/position.hpp" +#include "enums/direction.hpp" class Tile; class Cylinder; @@ -18,6 +18,8 @@ class Creature; class Container; class Player; +struct Position; + class Thing { public: constexpr Thing() = default; diff --git a/src/items/tile.cpp b/src/items/tile.cpp index fc16dd5799c..e9b0b9e8115 100644 --- a/src/items/tile.cpp +++ b/src/items/tile.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/tile.hpp" #include "creatures/creature.hpp" #include "creatures/combat/combat.hpp" diff --git a/src/items/tile.hpp b/src/items/tile.hpp index 71f9d4ae09c..762d739d86b 100644 --- a/src/items/tile.hpp +++ b/src/items/tile.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "items/cylinder.hpp" diff --git a/src/items/trashholder.cpp b/src/items/trashholder.cpp index 65676a75a37..fe95557ce50 100644 --- a/src/items/trashholder.cpp +++ b/src/items/trashholder.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/trashholder.hpp" #include "game/game.hpp" diff --git a/src/items/weapons/weapons.cpp b/src/items/weapons/weapons.cpp index 69d20d43e06..63e9265c53b 100644 --- a/src/items/weapons/weapons.cpp +++ b/src/items/weapons/weapons.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "creatures/combat/combat.hpp" #include "game/game.hpp" diff --git a/src/kv/kv.cpp b/src/kv/kv.cpp index 29a9787f72f..fc236c54bc6 100644 --- a/src/kv/kv.cpp +++ b/src/kv/kv.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "kv/kv.hpp" #include "lib/di/container.hpp" diff --git a/src/kv/kv_sql.cpp b/src/kv/kv_sql.cpp index 57d2cc57a10..00ec2c5d18b 100644 --- a/src/kv/kv_sql.cpp +++ b/src/kv/kv_sql.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "kv/kv_sql.hpp" #include "kv/value_wrapper_proto.hpp" #include "utils/tools.hpp" diff --git a/src/kv/value_wrapper.cpp b/src/kv/value_wrapper.cpp index 78f828248a1..72920b6972a 100644 --- a/src/kv/value_wrapper.cpp +++ b/src/kv/value_wrapper.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "kv/value_wrapper.hpp" #include "utils/tools.hpp" diff --git a/src/kv/value_wrapper_proto.cpp b/src/kv/value_wrapper_proto.cpp index 4362101957e..e4d60bed354 100644 --- a/src/kv/value_wrapper_proto.cpp +++ b/src/kv/value_wrapper_proto.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "kv/value_wrapper_proto.hpp" #include "kv/value_wrapper.hpp" diff --git a/src/lib/di/soft_singleton.cpp b/src/lib/di/soft_singleton.cpp index 64ea514d140..d6ca9d40c39 100644 --- a/src/lib/di/soft_singleton.cpp +++ b/src/lib/di/soft_singleton.cpp @@ -6,7 +6,7 @@ * Contributors: https://github.com/opentibiabr/canary/graphs/contributors * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +//#include "pch.hpp" #include "lib/di/soft_singleton.hpp" #include "utils/tools.hpp" diff --git a/src/lib/logging/log_with_spd_log.cpp b/src/lib/logging/log_with_spd_log.cpp index f8cfe16946d..728add0e0a2 100644 --- a/src/lib/logging/log_with_spd_log.cpp +++ b/src/lib/logging/log_with_spd_log.cpp @@ -8,7 +8,7 @@ */ #include -#include "pch.hpp" +//#include "pch.hpp" #include "lib/di/container.hpp" LogWithSpdLog::LogWithSpdLog() { diff --git a/src/lib/thread/thread_pool.cpp b/src/lib/thread/thread_pool.cpp index b2f51ef8f9d..9a44c0d6dbe 100644 --- a/src/lib/thread/thread_pool.cpp +++ b/src/lib/thread/thread_pool.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lib/thread/thread_pool.hpp" #include "game/game.hpp" diff --git a/src/lua/callbacks/creaturecallback.hpp b/src/lua/callbacks/creaturecallback.hpp index f7665720410..258ecdf8f32 100644 --- a/src/lua/callbacks/creaturecallback.hpp +++ b/src/lua/callbacks/creaturecallback.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "creatures/creature.hpp" diff --git a/src/lua/callbacks/event_callback.cpp b/src/lua/callbacks/event_callback.cpp index 8280bad6d2b..dfc3d6513bc 100644 --- a/src/lua/callbacks/event_callback.cpp +++ b/src/lua/callbacks/event_callback.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "lua/callbacks/event_callback.hpp" diff --git a/src/lua/callbacks/events_callbacks.cpp b/src/lua/callbacks/events_callbacks.cpp index 13a42baa15a..ac14fd17c5a 100644 --- a/src/lua/callbacks/events_callbacks.cpp +++ b/src/lua/callbacks/events_callbacks.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/callbacks/events_callbacks.hpp" #include "lua/callbacks/event_callback.hpp" diff --git a/src/lua/creature/actions.cpp b/src/lua/creature/actions.cpp index 9e16ee7b33e..3d9028ce406 100644 --- a/src/lua/creature/actions.cpp +++ b/src/lua/creature/actions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/creature/actions.hpp" #include "items/bed.hpp" #include "items/containers/container.hpp" diff --git a/src/lua/creature/actions.hpp b/src/lua/creature/actions.hpp index 81a7754a5b1..028ceac8552 100644 --- a/src/lua/creature/actions.hpp +++ b/src/lua/creature/actions.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "lua/scripts/scripts.hpp" @@ -14,7 +16,6 @@ #include "lua/scripts/luascript.hpp" class Action; -class Position; class Action : public Script { public: diff --git a/src/lua/creature/creatureevent.cpp b/src/lua/creature/creatureevent.cpp index 90d09d2b7f9..3b7dfdceb4c 100644 --- a/src/lua/creature/creatureevent.cpp +++ b/src/lua/creature/creatureevent.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/creature/creatureevent.hpp" #include "utils/tools.hpp" #include "creatures/players/player.hpp" diff --git a/src/lua/creature/events.cpp b/src/lua/creature/events.cpp index 144c188e900..71aadeb5504 100644 --- a/src/lua/creature/events.cpp +++ b/src/lua/creature/events.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "lua/creature/events.hpp" #include "utils/tools.hpp" diff --git a/src/lua/creature/events.hpp b/src/lua/creature/events.hpp index 1ec6d4ba81c..b7da3729a2e 100644 --- a/src/lua/creature/events.hpp +++ b/src/lua/creature/events.hpp @@ -18,6 +18,8 @@ class ItemType; class Tile; class Imbuements; +struct Position; + class Events { struct EventsInfo { // Creature diff --git a/src/lua/creature/movement.cpp b/src/lua/creature/movement.cpp index b75ff31c661..64e290d8990 100644 --- a/src/lua/creature/movement.cpp +++ b/src/lua/creature/movement.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/creature/events.hpp" #include "lua/callbacks/event_callback.hpp" diff --git a/src/lua/creature/movement.hpp b/src/lua/creature/movement.hpp index b8168f58521..0db2e32e42f 100644 --- a/src/lua/creature/movement.hpp +++ b/src/lua/creature/movement.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "declarations.hpp" diff --git a/src/lua/creature/raids.cpp b/src/lua/creature/raids.cpp index 8064bf52b81..c801c4cdee4 100644 --- a/src/lua/creature/raids.cpp +++ b/src/lua/creature/raids.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/creature/raids.hpp" #include "utils/pugicast.hpp" #include "game/game.hpp" diff --git a/src/lua/creature/raids.hpp b/src/lua/creature/raids.hpp index 0266641edda..ce4d5a413f6 100644 --- a/src/lua/creature/raids.hpp +++ b/src/lua/creature/raids.hpp @@ -7,11 +7,13 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "utils/utils_definitions.hpp" #include "declarations.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "lua/global/baseevents.hpp" struct MonsterSpawn { diff --git a/src/lua/creature/talkaction.cpp b/src/lua/creature/talkaction.cpp index c1b8c028ddc..ae07bfe6765 100644 --- a/src/lua/creature/talkaction.cpp +++ b/src/lua/creature/talkaction.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/player.hpp" #include "lua/scripts/scripts.hpp" #include "lua/creature/talkaction.hpp" diff --git a/src/lua/functions/core/game/bank_functions.cpp b/src/lua/functions/core/game/bank_functions.cpp index eb0bbf00280..e1d7b249c79 100644 --- a/src/lua/functions/core/game/bank_functions.cpp +++ b/src/lua/functions/core/game/bank_functions.cpp @@ -1,4 +1,4 @@ -#include "pch.hpp" +//#include "pch.hpp" #include "lua/functions/core/game/bank_functions.hpp" #include "game/bank/bank.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/core/game/config_functions.cpp b/src/lua/functions/core/game/config_functions.cpp index b839f720057..acd4e8c0c1c 100644 --- a/src/lua/functions/core/game/config_functions.cpp +++ b/src/lua/functions/core/game/config_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/game/config_functions.hpp" #include "config/configmanager.hpp" diff --git a/src/lua/functions/core/game/game_functions.cpp b/src/lua/functions/core/game/game_functions.cpp index 83544ded535..0a82d6a8a9d 100644 --- a/src/lua/functions/core/game/game_functions.cpp +++ b/src/lua/functions/core/game/game_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "core.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/lua/functions/core/game/global_functions.cpp b/src/lua/functions/core/game/global_functions.cpp index 6b5175b06cf..c88f533d552 100644 --- a/src/lua/functions/core/game/global_functions.cpp +++ b/src/lua/functions/core/game/global_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "creatures/interactions/chat.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/core/game/lua_enums.cpp b/src/lua/functions/core/game/lua_enums.cpp index e4dc252be0d..22b93351911 100644 --- a/src/lua/functions/core/game/lua_enums.cpp +++ b/src/lua/functions/core/game/lua_enums.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/game/lua_enums.hpp" #include "creatures/players/wheel/wheel_gems.hpp" diff --git a/src/lua/functions/core/game/modal_window_functions.cpp b/src/lua/functions/core/game/modal_window_functions.cpp index 0221a9e9a59..a4851cfc85a 100644 --- a/src/lua/functions/core/game/modal_window_functions.cpp +++ b/src/lua/functions/core/game/modal_window_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/player.hpp" #include "lua/functions/core/game/modal_window_functions.hpp" #include "game/modal_window/modal_window.hpp" diff --git a/src/lua/functions/core/game/zone_functions.cpp b/src/lua/functions/core/game/zone_functions.cpp index 0f19c94f789..b35f101652d 100644 --- a/src/lua/functions/core/game/zone_functions.cpp +++ b/src/lua/functions/core/game/zone_functions.cpp @@ -1,4 +1,4 @@ -#include "pch.hpp" +//#include "pch.hpp" #include "lua/functions/core/game/zone_functions.hpp" #include "game/zones/zone.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/core/libs/bit_functions.cpp b/src/lua/functions/core/libs/bit_functions.cpp index 86f76a77a26..94e5f709b5d 100644 --- a/src/lua/functions/core/libs/bit_functions.cpp +++ b/src/lua/functions/core/libs/bit_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/libs/bit_functions.hpp" #ifndef LUAJIT_VERSION diff --git a/src/lua/functions/core/libs/db_functions.cpp b/src/lua/functions/core/libs/db_functions.cpp index d5f5a62e0f8..bdfbac8f501 100644 --- a/src/lua/functions/core/libs/db_functions.cpp +++ b/src/lua/functions/core/libs/db_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "database/databasemanager.hpp" #include "database/databasetasks.hpp" #include "lua/functions/core/libs/db_functions.hpp" diff --git a/src/lua/functions/core/libs/kv_functions.cpp b/src/lua/functions/core/libs/kv_functions.cpp index 5ed9c9cfe5d..7ef21f861f7 100644 --- a/src/lua/functions/core/libs/kv_functions.cpp +++ b/src/lua/functions/core/libs/kv_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include #include "kv/kv.hpp" diff --git a/src/lua/functions/core/libs/logger_functions.cpp b/src/lua/functions/core/libs/logger_functions.cpp index 1b2605f6421..741d35fec9d 100644 --- a/src/lua/functions/core/libs/logger_functions.cpp +++ b/src/lua/functions/core/libs/logger_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/libs/logger_functions.hpp" void LoggerFunctions::init(lua_State* L) { diff --git a/src/lua/functions/core/libs/metrics_functions.cpp b/src/lua/functions/core/libs/metrics_functions.cpp index 9dc9fa528cb..bcb233bb5aa 100644 --- a/src/lua/functions/core/libs/metrics_functions.cpp +++ b/src/lua/functions/core/libs/metrics_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/libs/metrics_functions.hpp" #include "lib/metrics/metrics.hpp" diff --git a/src/lua/functions/core/libs/result_functions.cpp b/src/lua/functions/core/libs/result_functions.cpp index 512f90f7da5..46acc07af9f 100644 --- a/src/lua/functions/core/libs/result_functions.cpp +++ b/src/lua/functions/core/libs/result_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/libs/result_functions.hpp" int ResultFunctions::luaResultGetNumber(lua_State* L) { diff --git a/src/lua/functions/core/network/network_message_functions.cpp b/src/lua/functions/core/network/network_message_functions.cpp index a1b66264fac..7def468f709 100644 --- a/src/lua/functions/core/network/network_message_functions.cpp +++ b/src/lua/functions/core/network/network_message_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "lua/functions/core/network/network_message_functions.hpp" #include "creatures/players/player.hpp" diff --git a/src/lua/functions/core/network/webhook_functions.cpp b/src/lua/functions/core/network/webhook_functions.cpp index 37372f8b23a..b24e6184ce3 100644 --- a/src/lua/functions/core/network/webhook_functions.cpp +++ b/src/lua/functions/core/network/webhook_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/core/network/webhook_functions.hpp" #include "server/network/webhook/webhook.hpp" diff --git a/src/lua/functions/creatures/combat/combat_functions.cpp b/src/lua/functions/creatures/combat/combat_functions.cpp index 3bba21d179c..f073cde6aba 100644 --- a/src/lua/functions/creatures/combat/combat_functions.cpp +++ b/src/lua/functions/creatures/combat/combat_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/combat.hpp" #include "game/game.hpp" #include "lua/functions/creatures/combat/combat_functions.hpp" diff --git a/src/lua/functions/creatures/combat/condition_functions.cpp b/src/lua/functions/creatures/combat/condition_functions.cpp index 27f21867f76..e7b1dd331ea 100644 --- a/src/lua/functions/creatures/combat/condition_functions.cpp +++ b/src/lua/functions/creatures/combat/condition_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/condition.hpp" #include "game/game.hpp" #include "lua/functions/creatures/combat/condition_functions.hpp" diff --git a/src/lua/functions/creatures/combat/spell_functions.cpp b/src/lua/functions/creatures/combat/spell_functions.cpp index a24407c1682..79ecb29b957 100644 --- a/src/lua/functions/creatures/combat/spell_functions.cpp +++ b/src/lua/functions/creatures/combat/spell_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/spells.hpp" #include "creatures/players/vocations/vocation.hpp" #include "lua/functions/creatures/combat/spell_functions.hpp" diff --git a/src/lua/functions/creatures/combat/variant_functions.cpp b/src/lua/functions/creatures/combat/variant_functions.cpp index 3b0299983fd..c6a97a1387f 100644 --- a/src/lua/functions/creatures/combat/variant_functions.cpp +++ b/src/lua/functions/creatures/combat/variant_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "items/cylinder.hpp" #include "lua/functions/creatures/combat/variant_functions.hpp" diff --git a/src/lua/functions/creatures/creature_functions.cpp b/src/lua/functions/creatures/creature_functions.cpp index 81a4a0b5304..fe619bf6894 100644 --- a/src/lua/functions/creatures/creature_functions.cpp +++ b/src/lua/functions/creatures/creature_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "game/game.hpp" #include "creatures/creature.hpp" diff --git a/src/lua/functions/creatures/monster/charm_functions.cpp b/src/lua/functions/creatures/monster/charm_functions.cpp index d456f1c96a8..492820b76fa 100644 --- a/src/lua/functions/creatures/monster/charm_functions.cpp +++ b/src/lua/functions/creatures/monster/charm_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "io/iobestiary.hpp" #include "lua/functions/creatures/monster/charm_functions.hpp" diff --git a/src/lua/functions/creatures/monster/loot_functions.cpp b/src/lua/functions/creatures/monster/loot_functions.cpp index 47e0d8778e3..e05d86b6340 100644 --- a/src/lua/functions/creatures/monster/loot_functions.cpp +++ b/src/lua/functions/creatures/monster/loot_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/monsters/monsters.hpp" #include "lua/functions/creatures/monster/loot_functions.hpp" diff --git a/src/lua/functions/creatures/monster/monster_functions.cpp b/src/lua/functions/creatures/monster/monster_functions.cpp index 917e90f85f4..34f19718c6b 100644 --- a/src/lua/functions/creatures/monster/monster_functions.cpp +++ b/src/lua/functions/creatures/monster/monster_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "game/game.hpp" #include "creatures/creature.hpp" diff --git a/src/lua/functions/creatures/monster/monster_spell_functions.cpp b/src/lua/functions/creatures/monster/monster_spell_functions.cpp index a20d57008d2..e9beb607bfc 100644 --- a/src/lua/functions/creatures/monster/monster_spell_functions.cpp +++ b/src/lua/functions/creatures/monster/monster_spell_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/creatures/monster/monster_spell_functions.hpp" #include "creatures/monsters/monsters.hpp" diff --git a/src/lua/functions/creatures/monster/monster_type_functions.cpp b/src/lua/functions/creatures/monster/monster_type_functions.cpp index 2a6e3d1b581..ab57bdd5b2c 100644 --- a/src/lua/functions/creatures/monster/monster_type_functions.cpp +++ b/src/lua/functions/creatures/monster/monster_type_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "game/game.hpp" #include "io/io_bosstiary.hpp" diff --git a/src/lua/functions/creatures/npc/npc_functions.cpp b/src/lua/functions/creatures/npc/npc_functions.cpp index 13e9b499abc..8248abd41bb 100644 --- a/src/lua/functions/creatures/npc/npc_functions.cpp +++ b/src/lua/functions/creatures/npc/npc_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "game/game.hpp" #include "creatures/creature.hpp" diff --git a/src/lua/functions/creatures/npc/npc_type_functions.cpp b/src/lua/functions/creatures/npc/npc_type_functions.cpp index ef79b671a34..1fcffb01647 100644 --- a/src/lua/functions/creatures/npc/npc_type_functions.cpp +++ b/src/lua/functions/creatures/npc/npc_type_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "creatures/npcs/npcs.hpp" #include "lua/functions/creatures/npc/npc_type_functions.hpp" diff --git a/src/lua/functions/creatures/npc/shop_functions.cpp b/src/lua/functions/creatures/npc/shop_functions.cpp index 122e249a8db..388bda0e977 100644 --- a/src/lua/functions/creatures/npc/shop_functions.cpp +++ b/src/lua/functions/creatures/npc/shop_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/npcs/npcs.hpp" #include "lua/functions/creatures/npc/shop_functions.hpp" diff --git a/src/lua/functions/creatures/player/group_functions.cpp b/src/lua/functions/creatures/player/group_functions.cpp index f547eec1590..2fd414a2e4a 100644 --- a/src/lua/functions/creatures/player/group_functions.cpp +++ b/src/lua/functions/creatures/player/group_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/grouping/groups.hpp" #include "game/game.hpp" #include "lua/functions/creatures/player/group_functions.hpp" diff --git a/src/lua/functions/creatures/player/guild_functions.cpp b/src/lua/functions/creatures/player/guild_functions.cpp index 196f0f9d31e..d5706e0609b 100644 --- a/src/lua/functions/creatures/player/guild_functions.cpp +++ b/src/lua/functions/creatures/player/guild_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "creatures/players/grouping/guild.hpp" #include "lua/functions/creatures/player/guild_functions.hpp" diff --git a/src/lua/functions/creatures/player/mount_functions.cpp b/src/lua/functions/creatures/player/mount_functions.cpp index 49b16db6caa..3decd6b2321 100644 --- a/src/lua/functions/creatures/player/mount_functions.cpp +++ b/src/lua/functions/creatures/player/mount_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/appearance/mounts/mounts.hpp" #include "game/game.hpp" #include "lua/functions/creatures/player/mount_functions.hpp" diff --git a/src/lua/functions/creatures/player/party_functions.cpp b/src/lua/functions/creatures/player/party_functions.cpp index d739cde3ceb..1791016bde3 100644 --- a/src/lua/functions/creatures/player/party_functions.cpp +++ b/src/lua/functions/creatures/player/party_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/grouping/party.hpp" #include "creatures/players/player.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/creatures/player/player_functions.cpp b/src/lua/functions/creatures/player/player_functions.cpp index 421ceefcb0d..8145c8644e3 100644 --- a/src/lua/functions/creatures/player/player_functions.cpp +++ b/src/lua/functions/creatures/player/player_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "lua/functions/creatures/player/player_functions.hpp" diff --git a/src/lua/functions/creatures/player/vocation_functions.cpp b/src/lua/functions/creatures/player/vocation_functions.cpp index 15cf888bf8a..15e1603cc54 100644 --- a/src/lua/functions/creatures/player/vocation_functions.cpp +++ b/src/lua/functions/creatures/player/vocation_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/vocations/vocation.hpp" #include "lua/functions/creatures/player/vocation_functions.hpp" diff --git a/src/lua/functions/events/action_functions.cpp b/src/lua/functions/events/action_functions.cpp index 31b202465c7..e63c91d879e 100644 --- a/src/lua/functions/events/action_functions.cpp +++ b/src/lua/functions/events/action_functions.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "lua/creature/actions.hpp" #include "lua/functions/events/action_functions.hpp" diff --git a/src/lua/functions/events/creature_event_functions.cpp b/src/lua/functions/events/creature_event_functions.cpp index 7edbabad1d3..ddba9f153fd 100644 --- a/src/lua/functions/events/creature_event_functions.cpp +++ b/src/lua/functions/events/creature_event_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/creature/creatureevent.hpp" #include "lua/functions/events/creature_event_functions.hpp" #include "utils/tools.hpp" diff --git a/src/lua/functions/events/event_callback_functions.cpp b/src/lua/functions/events/event_callback_functions.cpp index ef1c348c113..0968df435ba 100644 --- a/src/lua/functions/events/event_callback_functions.cpp +++ b/src/lua/functions/events/event_callback_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/events/event_callback_functions.hpp" #include "lua/callbacks/event_callback.hpp" diff --git a/src/lua/functions/events/events_scheduler_functions.cpp b/src/lua/functions/events/events_scheduler_functions.cpp index e26794e218a..eb16cf5c340 100644 --- a/src/lua/functions/events/events_scheduler_functions.cpp +++ b/src/lua/functions/events/events_scheduler_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/scheduling/events_scheduler.hpp" #include "lua/functions/events/events_scheduler_functions.hpp" diff --git a/src/lua/functions/events/global_event_functions.cpp b/src/lua/functions/events/global_event_functions.cpp index 129a466e97c..c858ee9a831 100644 --- a/src/lua/functions/events/global_event_functions.cpp +++ b/src/lua/functions/events/global_event_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/events/global_event_functions.hpp" #include "game/game.hpp" #include "lua/global/globalevent.hpp" diff --git a/src/lua/functions/events/move_event_functions.cpp b/src/lua/functions/events/move_event_functions.cpp index 8340dded92f..cfd8588d19b 100644 --- a/src/lua/functions/events/move_event_functions.cpp +++ b/src/lua/functions/events/move_event_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/creature.hpp" #include "lua/creature/movement.hpp" #include "lua/functions/events/move_event_functions.hpp" diff --git a/src/lua/functions/events/talk_action_functions.cpp b/src/lua/functions/events/talk_action_functions.cpp index 559e251eb8e..4a8e9850d7f 100644 --- a/src/lua/functions/events/talk_action_functions.cpp +++ b/src/lua/functions/events/talk_action_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "account/account.hpp" #include "lua/creature/talkaction.hpp" #include "lua/functions/events/talk_action_functions.hpp" diff --git a/src/lua/functions/items/container_functions.cpp b/src/lua/functions/items/container_functions.cpp index 30eb26c6801..7cc06745b18 100644 --- a/src/lua/functions/items/container_functions.cpp +++ b/src/lua/functions/items/container_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "items/item.hpp" #include "lua/functions/items/container_functions.hpp" diff --git a/src/lua/functions/items/imbuement_functions.cpp b/src/lua/functions/items/imbuement_functions.cpp index f24a3f564d7..1faed911621 100644 --- a/src/lua/functions/items/imbuement_functions.cpp +++ b/src/lua/functions/items/imbuement_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/weapons/weapons.hpp" #include "creatures/players/imbuements/imbuements.hpp" #include "lua/functions/items/imbuement_functions.hpp" diff --git a/src/lua/functions/items/item_classification_functions.cpp b/src/lua/functions/items/item_classification_functions.cpp index aa8cf19d589..4df6d6f9ea8 100644 --- a/src/lua/functions/items/item_classification_functions.cpp +++ b/src/lua/functions/items/item_classification_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/functions/items/item_classification_functions.hpp" diff --git a/src/lua/functions/items/item_functions.cpp b/src/lua/functions/items/item_functions.cpp index 361a469da32..5d22b6d3102 100644 --- a/src/lua/functions/items/item_functions.cpp +++ b/src/lua/functions/items/item_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/items/item_functions.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/items/item_type_functions.cpp b/src/lua/functions/items/item_type_functions.cpp index b528795a050..333e00bf763 100644 --- a/src/lua/functions/items/item_type_functions.cpp +++ b/src/lua/functions/items/item_type_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "items/item.hpp" #include "items/items.hpp" #include "lua/functions/items/item_type_functions.hpp" diff --git a/src/lua/functions/items/weapon_functions.cpp b/src/lua/functions/items/weapon_functions.cpp index 61eff2dfb66..cd0acf94849 100644 --- a/src/lua/functions/items/weapon_functions.cpp +++ b/src/lua/functions/items/weapon_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/functions/items/weapon_functions.hpp" #include "game/game.hpp" diff --git a/src/lua/functions/lua_functions_loader.cpp b/src/lua/functions/lua_functions_loader.cpp index c2dedfb57b6..ad52431a661 100644 --- a/src/lua/functions/lua_functions_loader.cpp +++ b/src/lua/functions/lua_functions_loader.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/combat/spells.hpp" #include "creatures/monsters/monster.hpp" #include "creatures/npcs/npc.hpp" diff --git a/src/lua/functions/lua_functions_loader.hpp b/src/lua/functions/lua_functions_loader.hpp index e5251e3a1c3..95e7065b8a9 100644 --- a/src/lua/functions/lua_functions_loader.hpp +++ b/src/lua/functions/lua_functions_loader.hpp @@ -7,11 +7,13 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "declarations.hpp" #include "lua/scripts/luajit_sync.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "lua/scripts/script_environment.hpp" class Combat; diff --git a/src/lua/functions/map/house_functions.cpp b/src/lua/functions/map/house_functions.cpp index ffba0d0b5a9..4fb37a6449b 100644 --- a/src/lua/functions/map/house_functions.cpp +++ b/src/lua/functions/map/house_functions.cpp @@ -7,11 +7,11 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "items/bed.hpp" #include "game/game.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "io/iologindata.hpp" #include "lua/functions/map/house_functions.hpp" #include "map/house/house.hpp" diff --git a/src/lua/functions/map/position_functions.cpp b/src/lua/functions/map/position_functions.cpp index 0e4397f3fce..7c06f16108e 100644 --- a/src/lua/functions/map/position_functions.cpp +++ b/src/lua/functions/map/position_functions.cpp @@ -7,10 +7,10 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "game/game.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "lua/functions/map/position_functions.hpp" #include "map/spectators.hpp" diff --git a/src/lua/functions/map/teleport_functions.cpp b/src/lua/functions/map/teleport_functions.cpp index 32fce583057..5a5a25a20e6 100644 --- a/src/lua/functions/map/teleport_functions.cpp +++ b/src/lua/functions/map/teleport_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/movement/teleport.hpp" #include "items/item.hpp" #include "lua/functions/map/teleport_functions.hpp" diff --git a/src/lua/functions/map/tile_functions.cpp b/src/lua/functions/map/tile_functions.cpp index cdd82abda8c..8ff44064079 100644 --- a/src/lua/functions/map/tile_functions.cpp +++ b/src/lua/functions/map/tile_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/functions/map/tile_functions.hpp" diff --git a/src/lua/functions/map/town_functions.cpp b/src/lua/functions/map/town_functions.cpp index 053aca36b82..3ccf112e772 100644 --- a/src/lua/functions/map/town_functions.cpp +++ b/src/lua/functions/map/town_functions.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/functions/map/town_functions.hpp" #include "map/town.hpp" diff --git a/src/lua/global/baseevents.cpp b/src/lua/global/baseevents.cpp index 3b312100d3b..e4f4dfa05a5 100644 --- a/src/lua/global/baseevents.cpp +++ b/src/lua/global/baseevents.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/global/baseevents.hpp" #include "lua/scripts/lua_environment.hpp" #include "utils/tools.hpp" diff --git a/src/lua/global/globalevent.cpp b/src/lua/global/globalevent.cpp index a9d589a1f76..9cb24292b12 100644 --- a/src/lua/global/globalevent.cpp +++ b/src/lua/global/globalevent.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/global/globalevent.hpp" #include "utils/tools.hpp" #include "game/game.hpp" diff --git a/src/lua/global/lua_variant.hpp b/src/lua/global/lua_variant.hpp index 6ec24d4f8af..7629116af5a 100644 --- a/src/lua/global/lua_variant.hpp +++ b/src/lua/global/lua_variant.hpp @@ -7,10 +7,12 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "enums/lua_variant_type.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #ifndef USE_PRECOMPILED_HEADERS #include diff --git a/src/lua/lua_definitions.hpp b/src/lua/lua_definitions.hpp index 81add18e516..c7eb61bcba1 100644 --- a/src/lua/lua_definitions.hpp +++ b/src/lua/lua_definitions.hpp @@ -7,9 +7,11 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once -#include "game/movement/position.hpp" +#include "enums/direction.hpp" // Enums enum { diff --git a/src/lua/modules/modules.cpp b/src/lua/modules/modules.cpp index 8b79524ec2c..04cddc43443 100644 --- a/src/lua/modules/modules.cpp +++ b/src/lua/modules/modules.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/modules/modules.hpp" #include "creatures/players/player.hpp" #include "game/game.hpp" diff --git a/src/lua/scripts/lua_environment.cpp b/src/lua/scripts/lua_environment.cpp index cd5023a8d4b..04afd75f958 100644 --- a/src/lua/scripts/lua_environment.cpp +++ b/src/lua/scripts/lua_environment.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "declarations.hpp" #include "lua/scripts/lua_environment.hpp" #include "lua/functions/lua_functions_loader.hpp" diff --git a/src/lua/scripts/luascript.cpp b/src/lua/scripts/luascript.cpp index d67b90e9d18..2daab6c0532 100644 --- a/src/lua/scripts/luascript.cpp +++ b/src/lua/scripts/luascript.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lua/scripts/luascript.hpp" #include "lua/scripts/lua_environment.hpp" #include "lib/metrics/metrics.hpp" diff --git a/src/lua/scripts/script_environment.cpp b/src/lua/scripts/script_environment.cpp index 4a7ad7acd94..e1c5e3a9c85 100644 --- a/src/lua/scripts/script_environment.cpp +++ b/src/lua/scripts/script_environment.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "lua/scripts/luascript.hpp" #include "lua/scripts/script_environment.hpp" diff --git a/src/lua/scripts/scripts.cpp b/src/lua/scripts/scripts.cpp index cb92c1cc29a..3a35750c1af 100644 --- a/src/lua/scripts/scripts.cpp +++ b/src/lua/scripts/scripts.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/imbuements/imbuements.hpp" #include "lua/global/globalevent.hpp" #include "items/weapons/weapons.hpp" diff --git a/src/main.cpp b/src/main.cpp index be289d397f6..a7973582c8b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +//#include "pch.hpp" #include "canary_server.hpp" #include "lib/di/container.hpp" diff --git a/src/map/house/house.cpp b/src/map/house/house.cpp index f2cb26114bf..ba5e782e5de 100644 --- a/src/map/house/house.cpp +++ b/src/map/house/house.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "utils/pugicast.hpp" #include "map/house/house.hpp" #include "io/iologindata.hpp" diff --git a/src/map/house/house.hpp b/src/map/house/house.hpp index aa4b746cc0a..eb20f46435f 100644 --- a/src/map/house/house.hpp +++ b/src/map/house/house.hpp @@ -7,12 +7,14 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "items/containers/container.hpp" #include "declarations.hpp" #include "map/house/housetile.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" class House; class BedItem; diff --git a/src/map/house/housetile.cpp b/src/map/house/housetile.cpp index 5e728a14ea3..cb2dd8e3348 100644 --- a/src/map/house/housetile.cpp +++ b/src/map/house/housetile.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "items/tile.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/map/map.cpp b/src/map/map.cpp index b1706be0759..038c12ffec7 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "map.hpp" #include "utils/astarnodes.hpp" diff --git a/src/map/map.hpp b/src/map/map.hpp index f6e38cb3eac..5af9671bbc9 100644 --- a/src/map/map.hpp +++ b/src/map/map.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "mapcache.hpp" diff --git a/src/map/mapcache.cpp b/src/map/mapcache.cpp index ad3c909a8bf..8515dfa04d4 100644 --- a/src/map/mapcache.cpp +++ b/src/map/mapcache.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "mapcache.hpp" diff --git a/src/map/mapcache.hpp b/src/map/mapcache.hpp index 429d786972b..bc626723143 100644 --- a/src/map/mapcache.hpp +++ b/src/map/mapcache.hpp @@ -15,7 +15,7 @@ class Map; class Tile; class Item; -class Position; +struct Position; class FileStream; #pragma pack(1) diff --git a/src/map/spectators.cpp b/src/map/spectators.cpp index 405119b83e9..29c81617019 100644 --- a/src/map/spectators.cpp +++ b/src/map/spectators.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "spectators.hpp" #include "game/game.hpp" diff --git a/src/map/spectators.hpp b/src/map/spectators.hpp index 9e998da2bfa..6f8c8ba09c6 100644 --- a/src/map/spectators.hpp +++ b/src/map/spectators.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "creatures/creature.hpp" diff --git a/src/map/town.hpp b/src/map/town.hpp index d6529fa30ef..e457b9a9b84 100644 --- a/src/map/town.hpp +++ b/src/map/town.hpp @@ -7,9 +7,11 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once -#include "game/movement/position.hpp" +#include "enums/direction.hpp" class Town { public: diff --git a/src/map/utils/astarnodes.cpp b/src/map/utils/astarnodes.cpp index 21ebe5f982f..cb53191c5a0 100644 --- a/src/map/utils/astarnodes.cpp +++ b/src/map/utils/astarnodes.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "astarnodes.hpp" #include "creatures/monsters/monster.hpp" diff --git a/src/map/utils/mapsector.cpp b/src/map/utils/mapsector.cpp index de036728b76..064ff837e8b 100644 --- a/src/map/utils/mapsector.cpp +++ b/src/map/utils/mapsector.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/creature.hpp" #include "mapsector.hpp" diff --git a/src/game/movement/position.hpp b/src/position.cppm similarity index 51% rename from src/game/movement/position.hpp rename to src/position.cppm index 87e74ee3e22..72ea99aed21 100644 --- a/src/game/movement/position.hpp +++ b/src/position.cppm @@ -1,31 +1,45 @@ -/** - * Canary - A free and open-source MMORPG server emulator - * Copyright (©) 2019-2024 OpenTibiaBR - * Repository: https://github.com/opentibiabr/canary - * License: https://github.com/opentibiabr/canary/blob/main/LICENSE - * Contributors: https://github.com/opentibiabr/canary/graphs/contributors - * Website: https://docs.opentibiabr.com/ - */ - -#pragma once - -enum Direction : uint8_t { - DIRECTION_NORTH = 0, - DIRECTION_EAST = 1, - DIRECTION_SOUTH = 2, - DIRECTION_WEST = 3, - - DIRECTION_DIAGONAL_MASK = 4, - DIRECTION_SOUTHWEST = DIRECTION_DIAGONAL_MASK | 0, - DIRECTION_SOUTHEAST = DIRECTION_DIAGONAL_MASK | 1, - DIRECTION_NORTHWEST = DIRECTION_DIAGONAL_MASK | 2, - DIRECTION_NORTHEAST = DIRECTION_DIAGONAL_MASK | 3, - - DIRECTION_LAST = DIRECTION_NORTHEAST, - DIRECTION_NONE = 8, +module; // important to be before includes + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +export module game_movement; + +enum class Direction : uint8_t { + North = 0, + East = 1, + South = 2, + West = 3, + + DiagonalMask = 4, + SouthWest = DiagonalMask | 0, + SouthEast = DiagonalMask | 1, + NorthWest = DiagonalMask | 2, + NorthEast = DiagonalMask | 3, + + Last = NorthEast, + None = 8, }; -struct Position { +export constexpr uint8_t directionToValue(Direction type) { + return static_cast(type); +} + +export constexpr Direction directionFromValue(uint8_t value) { + return static_cast(value); +} + +export struct Position { constexpr Position() = default; constexpr Position(uint16_t initX, uint16_t initY, uint8_t initZ) : x(initX), y(initY), z(initZ) { } @@ -114,9 +128,25 @@ struct Position { int_fast16_t getZ() const { return z; } + + static inline std::vector getDirectionVector() { + static std::vector directionVector { + Direction::North, + Direction::NorthEast, + Direction::East, + Direction::SouthEast, + Direction::South, + Direction::SouthWest, + Direction::West, + Direction::NorthWest + }; + + return directionVector; + } + }; -namespace std { +export namespace std { template <> struct hash { std::size_t operator()(const Position &p) const { @@ -125,5 +155,55 @@ namespace std { }; } -std::ostream &operator<<(std::ostream &, const Position &); -std::ostream &operator<<(std::ostream &, const Direction &); +export std::ostream &operator<<(std::ostream &, const Position &); +export std::ostream &operator<<(std::ostream &, const Direction &); + +namespace { +std::mt19937 &getRandomGenerator() { + static std::random_device rd; + static std::mt19937 generator(rd()); + return generator; +} +} // namespace + +double Position::getEuclideanDistance(const Position &p1, const Position &p2) { + int32_t dx = Position::getDistanceX(p1, p2); + int32_t dy = Position::getDistanceY(p1, p2); + return std::sqrt(dx * dx + dy * dy); +} + +Direction Position::getRandomDirection() { + static std::vector dirList { + Direction::North, + Direction::West, + Direction::East, + Direction::South + }; + std::shuffle(dirList.begin(), dirList.end(), getRandomGenerator()); + + return dirList.front(); +} + +export std::ostream &operator<<(std::ostream &os, const Position &pos) { + return os << pos.toString(); +} + +export std::ostream &operator<<(std::ostream &os, const Direction &dir) { + static const std::map directionStrings = { + { Direction::North, "North" }, + { Direction::East, "East" }, + { Direction::West, "West" }, + { Direction::South, "South" }, + { Direction::SouthWest, "South-West" }, + { Direction::SouthEast, "South-East" }, + { Direction::NorthWest, "North-West" }, + { Direction::NorthEast, "North-East" } + }; + + auto it = directionStrings.find(dir); + if (it != directionStrings.end()) { + return os << it->second; + } + + return os; +} diff --git a/src/security/argon.cpp b/src/security/argon.cpp index fe11ab0724a..41b65b64908 100644 --- a/src/security/argon.cpp +++ b/src/security/argon.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "config/configmanager.hpp" #include "database/database.hpp" #include "security/argon.hpp" diff --git a/src/security/rsa.cpp b/src/security/rsa.cpp index fc28d931f66..220ba94a43d 100644 --- a/src/security/rsa.cpp +++ b/src/security/rsa.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "lib/di/container.hpp" #include "security/rsa.hpp" diff --git a/src/server/network/connection/connection.cpp b/src/server/network/connection/connection.cpp index a3782d56cba..922bd3fffe4 100644 --- a/src/server/network/connection/connection.cpp +++ b/src/server/network/connection/connection.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "server/network/connection/connection.hpp" #include "server/network/message/outputmessage.hpp" #include "server/network/protocol/protocol.hpp" diff --git a/src/server/network/message/networkmessage.cpp b/src/server/network/message/networkmessage.cpp index 38acc0b484c..ae272e9d40b 100644 --- a/src/server/network/message/networkmessage.cpp +++ b/src/server/network/message/networkmessage.cpp @@ -7,7 +7,7 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +import game_movement; #include "server/network/message/networkmessage.hpp" #include "items/containers/container.hpp" diff --git a/src/server/network/message/outputmessage.cpp b/src/server/network/message/outputmessage.cpp index efed7fe8367..26b41c0fb13 100644 --- a/src/server/network/message/outputmessage.cpp +++ b/src/server/network/message/outputmessage.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "outputmessage.hpp" #include "server/network/protocol/protocol.hpp" #include "game/scheduling/dispatcher.hpp" diff --git a/src/server/network/protocol/protocol.cpp b/src/server/network/protocol/protocol.cpp index c40ead17ab0..73312a6166c 100644 --- a/src/server/network/protocol/protocol.cpp +++ b/src/server/network/protocol/protocol.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "server/network/protocol/protocol.hpp" #include "server/network/message/outputmessage.hpp" #include "security/rsa.hpp" diff --git a/src/server/network/protocol/protocolgame.cpp b/src/server/network/protocol/protocolgame.cpp index 7ae02e31b10..637c68b5958 100644 --- a/src/server/network/protocol/protocolgame.cpp +++ b/src/server/network/protocol/protocolgame.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "creatures/players/management/ban.hpp" #include "core.hpp" #include "declarations.hpp" diff --git a/src/server/network/protocol/protocolgame.hpp b/src/server/network/protocol/protocolgame.hpp index 2a5fde6c6c4..e42cecd2d97 100644 --- a/src/server/network/protocol/protocolgame.hpp +++ b/src/server/network/protocol/protocolgame.hpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "server/network/protocol/protocol.hpp" diff --git a/src/server/network/protocol/protocollogin.cpp b/src/server/network/protocol/protocollogin.cpp index f8c68634f64..ee1004c6212 100644 --- a/src/server/network/protocol/protocollogin.cpp +++ b/src/server/network/protocol/protocollogin.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "server/network/protocol/protocollogin.hpp" #include "server/network/message/outputmessage.hpp" #include "game/scheduling/dispatcher.hpp" diff --git a/src/server/network/protocol/protocolstatus.cpp b/src/server/network/protocol/protocolstatus.cpp index f9ec878eda9..e8ee92e8351 100644 --- a/src/server/network/protocol/protocolstatus.cpp +++ b/src/server/network/protocol/protocolstatus.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "core.hpp" #include "server/network/protocol/protocolstatus.hpp" diff --git a/src/server/network/webhook/webhook.cpp b/src/server/network/webhook/webhook.cpp index f80ff4e59b3..7ee4ca31f09 100644 --- a/src/server/network/webhook/webhook.cpp +++ b/src/server/network/webhook/webhook.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "server/network/webhook/webhook.hpp" #include "config/configmanager.hpp" #include "game/scheduling/dispatcher.hpp" diff --git a/src/server/server.cpp b/src/server/server.cpp index fc8690468fe..5ed528f5045 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "server/network/message/outputmessage.hpp" #include "server/server.hpp" #include "config/configmanager.hpp" diff --git a/src/server/signals.cpp b/src/server/signals.cpp index ae71d833c93..cb4e083b60c 100644 --- a/src/server/signals.cpp +++ b/src/server/signals.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "game/game.hpp" #include "game/scheduling/dispatcher.hpp" #include "game/scheduling/save_manager.hpp" diff --git a/src/test.cppm b/src/test.cppm new file mode 100644 index 00000000000..afe0d91ad7e --- /dev/null +++ b/src/test.cppm @@ -0,0 +1,12 @@ +module; // important to be before includes + +export module test; + +// Implementação das funções declaradas na interface do módulo 'test' +export int add(int a, int b) { + return a + b; +} + +export int multiply(int a, int b) { + return a * b; +} diff --git a/src/utils/pugicast.cpp b/src/utils/pugicast.cpp index 62717c33621..cd939f90474 100644 --- a/src/utils/pugicast.cpp +++ b/src/utils/pugicast.cpp @@ -6,7 +6,7 @@ * Contributors: https://github.com/opentibiabr/canary/graphs/contributors * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" +//#include "pch.hpp" #include "lib/logging/log_with_spd_log.hpp" namespace pugi { diff --git a/src/utils/tools.cpp b/src/utils/tools.cpp index f89b2c2f217..8df1fde1065 100644 --- a/src/utils/tools.cpp +++ b/src/utils/tools.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "core.hpp" #include "items/item.hpp" #include "utils/tools.hpp" diff --git a/src/utils/tools.hpp b/src/utils/tools.hpp index a4426a066a8..7da7c8801fc 100644 --- a/src/utils/tools.hpp +++ b/src/utils/tools.hpp @@ -7,12 +7,14 @@ * Website: https://docs.opentibiabr.com/ */ +import game_movement; + #pragma once #include "utils/utils_definitions.hpp" #include "declarations.hpp" #include "enums/item_attribute.hpp" -#include "game/movement/position.hpp" +#include "enums/direction.hpp" #include "enums/object_category.hpp" namespace pugi { diff --git a/src/utils/wildcardtree.cpp b/src/utils/wildcardtree.cpp index 4fd830b64cb..a8ddf98e442 100644 --- a/src/utils/wildcardtree.cpp +++ b/src/utils/wildcardtree.cpp @@ -7,8 +7,6 @@ * Website: https://docs.opentibiabr.com/ */ -#include "pch.hpp" - #include "utils/wildcardtree.hpp" std::shared_ptr WildcardTreeNode::getChild(char ch) {