diff --git a/Include/Core/Debug.hpp b/Include/Core/Debug.hpp index 404f85d..22e1244 100644 --- a/Include/Core/Debug.hpp +++ b/Include/Core/Debug.hpp @@ -3,6 +3,18 @@ #include "../../Include/Core/Types/Logger.hpp" +#define DEBUG_VERBOSE_LOG Debug::Verbose << __PRETTY_FUNCTION__ << " > " +#define DEBUG_VERBOSE_LOG_END --Debug::Verbose << __PRETTY_FUNCTION__ << " > " +#define DEBUG_VERBOSE_START Debug::Verbose++ << __PRETTY_FUNCTION__ << " > Started" << std::endl + +#define DEBUG_VERBOSE_SUCCESS --Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded > " +#define DEBUG_VERBOSE_SUCCESS_NOINFO --Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded" << std::endl +#define DEBUG_VERBOSE_SUCCESS_EOF --Debug::Verbose << " > Succeeded > Reached end of function" << std::endl + +#define DEBUG_VERBOSE_FAIL --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > " +#define DEBUG_VERBOSE_FAIL_NOINFO --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed" << std::endl; +#define DEBUG_VERBOSE_FAIL_EOF --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > Reached end of function" << std::endl + class Debug { public: diff --git a/Include/Core/Internal.hpp b/Include/Core/Internal.hpp index 603aac2..25990cf 100644 --- a/Include/Core/Internal.hpp +++ b/Include/Core/Internal.hpp @@ -227,6 +227,7 @@ namespace Internal ItemContainer GetItemContainer(std::int32_t ID); NPC GetNPC(std::int32_t Index); Player GetPlayer(std::int32_t Index); + std::int32_t GetTileHeight(std::int32_t X, std::int32_t Y, std::int32_t Z); std::vector ProjectModel(const Model& M, std::int32_t LocalX, std::int32_t LocalY, std::int32_t LocalZ, std::int32_t Angle); Model GetPlayerModel(std::int64_t ID); diff --git a/Include/Core/Types/Logger.hpp b/Include/Core/Types/Logger.hpp index f6e0531..2980679 100644 --- a/Include/Core/Types/Logger.hpp +++ b/Include/Core/Types/Logger.hpp @@ -9,44 +9,23 @@ class Logger : public std::ostream, public std::streambuf { public: - /** - * @brief Constructs a Logger, with a Prefix - * @param std::string Prefix The Prefix that's added before a message - * @param bool Enabled Enabled the printing of output sent to the logger, if false no output will be printed - * @par Detailed Description - * Loggers can be used to make it easier to identify whats what in the Log. - * We urge you to instead use our default Loggers, for sake of consistency, however we will not keep you from using the Logger class. - * You will need to add whitespace to the end of a Prefix, if you want to space out the Prefix and the Message. - * @par Example - * @code - * Logger LevelUp("[LEVEL] Gained a Level Up in the Skill"); - * LevelUp << "Mining" << std::endl; - * @endcode - */ Logger(const std::string& Prefix, bool Enabled = true); - /** - * @brief Constructs a Logger, with a function pointer that returns a String - * @param std::string (*Func)() Prefix The Prefix that's added before a message - * @param bool Enabled Enabled the printing of output sent to the logger, if false no output will be printed - */ Logger(std::string (*Func)(), bool Enabled = true); - /** - * @brief Sets the Enabled state of a logger - * @par Description - * Toggles the state of Enabled in a logger - */ void SetEnabled(bool Toggle); - /** - * @brief Returns True if the Logger is Enabled - * @return True if the Logger is Enabled - */ bool IsEnabled() const; + Logger& operator++(); + Logger& operator--(); + Logger& operator++(int); + Logger& operator--(int); virtual std::streambuf::int_type overflow(std::streambuf::int_type Char = std::streambuf::traits_type::eof()); ~Logger(); private: std::string Prefix = ""; std::string (*FuncPtr)() = nullptr; bool Enabled; + std::uint32_t TabCount; + bool MinusAtEndOfNewLine = false; + bool AddAtEndOfNewLine = false; bool NewLine = true; }; diff --git a/Include/Core/Types/Tile.hpp b/Include/Core/Types/Tile.hpp index 6655342..9e2182c 100644 --- a/Include/Core/Types/Tile.hpp +++ b/Include/Core/Types/Tile.hpp @@ -69,6 +69,8 @@ class Tile Tile& operator+=(const Tile& T); Tile& operator-=(const Tile& T); + operator bool() const; + friend std::ostream& operator<<(std::ostream& OS, const Tile& T); ~Tile(); }; diff --git a/Include/Game/Interfaces/GameTabs/Logout.hpp b/Include/Game/Interfaces/GameTabs/Logout.hpp index 02d9991..a2abb5d 100644 --- a/Include/Game/Interfaces/GameTabs/Logout.hpp +++ b/Include/Game/Interfaces/GameTabs/Logout.hpp @@ -16,14 +16,14 @@ class Logout static bool Open(); static bool LogoutPlayer(); - static bool IsWorldSwitcherOpen(); - static bool OpenWorldSwitcher(); + static bool IsWorldSwitcherOpen(bool WaitToLoadWorlds = true); + static bool OpenWorldSwitcher(bool WaitToLoadWorlds = true); static bool WorldSwitcherScrollTo(const Internal::World& World); static bool WorldSwitcherScrollTo(std::int32_t WorldID); - static bool SwitchWorld(const Internal::World& World); - static bool SwitchWorld(std::int32_t WorldID); + static bool SwitchWorld(const Internal::World& World, bool AllowPVPWorlds = false, bool SetOnlyWarnAboutDangerousWorlds = false); // SetOnlyWarnAboutFutureWorlds will click "Yes. In future, only warn about dangerous worlds." instead of just "yes" + static bool SwitchWorld(std::int32_t WorldID, bool AllowPVPWorlds = false, bool SetOnlyWarnAboutDangerousWorlds = false); // SetOnlyWarnAboutFutureWorlds will click "Yes. In future, only warn about dangerous worlds." instead of just "yes" static Interactable::Widget GetWorldWidget(const Internal::World& World); static Interactable::Widget GetWorldWidget(std::int32_t WorldID); diff --git a/Include/Game/Tools/Profile.hpp b/Include/Game/Tools/Profile.hpp index ae2ed97..685b7bc 100644 --- a/Include/Game/Tools/Profile.hpp +++ b/Include/Game/Tools/Profile.hpp @@ -125,6 +125,8 @@ class Profile static void SetRawKeyUpDeviation(double Deviation); static double GetRawKeyUpDeviation(); + static void SetPointGenAccuracy(double Accuracy); + }; /** @} */ diff --git a/Library/libAlpacaLibrary.a b/Library/libAlpacaLibrary.a index 59ccd60..9d19f1c 100644 Binary files a/Library/libAlpacaLibrary.a and b/Library/libAlpacaLibrary.a differ