diff --git a/Include/Core/Classes/Varbit.hpp b/Include/Core/Classes/Varbit.hpp deleted file mode 100644 index 993cdfc..0000000 --- a/Include/Core/Classes/Varbit.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef VARBIT_HPP_INCLUDED -#define VARBIT_HPP_INCLUDED - -#include "CacheableNode.hpp" -#include "../JavaClass/Class.hpp" -#include - -namespace Internal -{ - class Varbit : public CacheableNode - { - public: - Varbit(const void* Obj); - - Varbit() = default; - Varbit(Varbit&& Obj) = default; - Varbit(const Varbit& Obj) = default; - Varbit& operator=(Varbit&& Obj) = default; - Varbit& operator=(const Varbit& Obj) = default; - - static Class GetClass(); - - std::int32_t GetLSB() const; - std::int32_t GetMSB() const; - std::int32_t GetSettingID() const; - - }; -} - -#endif // VARBIT_HPP_INCLUDED diff --git a/Include/Core/Classes/VarbitInfo.hpp b/Include/Core/Classes/VarbitInfo.hpp new file mode 100644 index 0000000..1c3ab62 --- /dev/null +++ b/Include/Core/Classes/VarbitInfo.hpp @@ -0,0 +1,30 @@ +#ifndef VARBITINFO_HPP_INCLUDED +#define VARBITINFO_HPP_INCLUDED + +#include "CacheableNode.hpp" +#include "../JavaClass/Class.hpp" +#include + +namespace Internal +{ + class VarbitInfo : public CacheableNode + { + public: + VarbitInfo(const void* Obj); + + VarbitInfo() = default; + VarbitInfo(VarbitInfo&& Obj) = default; + VarbitInfo(const VarbitInfo& Obj) = default; + VarbitInfo& operator=(VarbitInfo&& Obj) = default; + VarbitInfo& operator=(const VarbitInfo& Obj) = default; + + static Class GetClass(); + + std::int32_t GetLSB() const; + std::int32_t GetMSB() const; + std::int32_t GetSettingID() const; + + }; +} + +#endif // VARBITINFO_HPP_INCLUDED diff --git a/Include/Core/Internal.hpp b/Include/Core/Internal.hpp index 8217d50..491cba7 100644 --- a/Include/Core/Internal.hpp +++ b/Include/Core/Internal.hpp @@ -102,7 +102,7 @@ #include "Classes/SpotAnimation.hpp" #include "Classes/Sprite.hpp" #include "Classes/Talkable.hpp" -#include "Classes/Varbit.hpp" +#include "Classes/VarbitInfo.hpp" #include "Classes/WallObject.hpp" #include "Classes/Widget.hpp" #include "Classes/WidgetNode.hpp" @@ -220,8 +220,9 @@ namespace Internal std::vector>> GetTileHeights(); std::vector>> GetTileSettings(); std::string GetUsername(); - Cache GetVarbitCache(); - std::vector GetVarbitSettings(); + IndexableData GetVarbitIndexableData(); + Cache GetVarbitInfoCache(); + std::vector GetVarbitInfoMasks(); std::int32_t GetViewportHeight(); std::int32_t GetViewportScale(); std::int32_t GetViewportWidth(); @@ -266,7 +267,7 @@ namespace Internal std::int32_t LocalZ, std::int32_t Angle); Model GetPlayerModel(std::int64_t ID); Model GetNPCModel(std::int64_t ID); - Varbit GetVarbit(std::int32_t ID); + VarbitInfo GetVarbitInfo(std::int32_t ID); Animation GetAnimation(std::int32_t ID); Frames GetFrames(std::int32_t ID); Model GetItemModel(std::int32_t ID); @@ -294,11 +295,15 @@ namespace Internal Sprite GetItemSprite(std::int32_t ID, std::int32_t Amount); Convex GetItemSpriteConvex(const Sprite& S); std::int32_t GetSettings(std::int32_t ID); - std::int32_t GetVarbitSettings(std::int32_t VarbitSettingIndex); + std::int32_t GetVarbitInfoMasks(std::int32_t VarbitSettingIndex); Point TileToMainscreen(const Tile& T, std::int32_t X, std::int32_t Y, std::int32_t Z); std::vector TileToMainscreenBox(const Tile& T, std::int32_t X, std::int32_t Y, std::int32_t Z, std::int32_t OffsetX, std::int32_t OffsetY, std::int32_t OffsetZ); std::string GetItemName(std::int32_t ID); + std::int32_t GetVarbitSettingID(std::int32_t ID); + std::int32_t GetVarbitLSB(std::int32_t ID); + std::int32_t GetVarbitMSB(std::int32_t ID); + std::int32_t GetVarbit(std::int32_t ID); bool IsItemPlaceholder(std::int32_t ID); bool IsItemStackable(std::int32_t ID); double GetHealthPercentage(const Internal::Character& C); @@ -308,5 +313,7 @@ namespace Internal std::vector> GetVisibilityMap(std::int32_t CameraPitch, std::int32_t CameraYaw); std::int32_t GetTileHeights(std::int32_t X, std::int32_t Y, std::int32_t Plane); std::int8_t GetTileSettings(std::int32_t X, std::int32_t Y, std::int32_t Plane); + + std::vector ToByteArray(const Object& O); } #endif // INTERNAL_HPP_INCLUDED diff --git a/Library/libAlpacaLibrary.a b/Library/libAlpacaLibrary.a index 67a232a..ead10d2 100644 Binary files a/Library/libAlpacaLibrary.a and b/Library/libAlpacaLibrary.a differ