AlpacaLibrary/Include/Core/Internal.hpp

287 lines
11 KiB
C++
Raw Normal View History

2017-12-25 23:49:48 +00:00
#ifndef INTERNAL_HPP_INCLUDED
#define INTERNAL_HPP_INCLUDED
#include "Debug.hpp"
#include "Input.hpp"
#include "Math.hpp"
#include "Paint.hpp"
#include "Script.hpp"
#include "Time.hpp"
2019-02-20 19:52:58 +00:00
#include "Globals.hpp"
2017-12-25 23:49:48 +00:00
#include "Types/Tile.hpp"
#include "Types/Point.hpp"
#include "Types/Box.hpp"
#include "Types/Timer.hpp"
#include "Types/Counter.hpp"
#include "Types/Countdown.hpp"
#include "Types/Convex.hpp"
#include "Types/Area.hpp"
#include "Types/Logger.hpp"
2018-09-03 03:13:53 +00:00
#include "Types/Triangle.hpp"
#include "Types/Wireframe.hpp"
2017-12-25 23:49:48 +00:00
2018-03-24 23:54:43 +00:00
#include "JavaClass/ByteBuffer.hpp"
2017-12-25 23:49:48 +00:00
#include "JavaClass/Canvas.hpp"
#include "JavaClass/FocusEvent.hpp"
#include "JavaClass/Integer.hpp"
#include "JavaClass/KeyEvent.hpp"
#include "JavaClass/LinkedHashMap.hpp"
#include "JavaClass/Map.hpp"
#include "JavaClass/MouseEvent.hpp"
#include "JavaClass/MouseWheelEvent.hpp"
#include "JavaClass/Object.hpp"
2018-12-15 21:27:21 +00:00
#include "Classes/AbstractBufferProvider.hpp"
2018-03-24 23:54:43 +00:00
#include "Classes/AbstractByteBuffer.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Animation.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/AttackOption.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Cache.hpp"
#include "Classes/CacheableNode.hpp"
#include "Classes/Character.hpp"
#include "Classes/ChatLineBuffer.hpp"
#include "Classes/ClanMember.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/ClanMemberList.hpp"
2018-04-08 01:15:44 +00:00
#include "Classes/CollisionData.hpp"
2018-04-14 01:05:35 +00:00
#include "Classes/CombatInfo.hpp"
2018-01-09 15:25:29 +00:00
#include "Classes/DecorativeObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Deque.hpp"
2018-03-24 23:54:43 +00:00
#include "Classes/DirectByteBuffer.hpp"
2018-01-09 15:25:29 +00:00
#include "Classes/DynamicObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/ExchangeOffer.hpp"
2018-06-28 02:22:43 +00:00
#include "Classes/Font.hpp"
#include "Classes/FontFamily.hpp"
#include "Classes/FontName.hpp"
#include "Classes/Fonts.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Frame.hpp"
#include "Classes/FrameMap.hpp"
#include "Classes/Frames.hpp"
#include "Classes/Friend.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/FriendList.hpp"
2018-01-09 15:25:29 +00:00
#include "Classes/GameObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/GameShell.hpp"
2018-01-12 03:44:27 +00:00
#include "Classes/GraphicsObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/GroundItem.hpp"
2018-01-09 15:25:29 +00:00
#include "Classes/GroundObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/HashTable.hpp"
2018-04-14 01:05:35 +00:00
#include "Classes/HealthBar.hpp"
#include "Classes/HealthInfo.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Ignore.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/IgnoreList.hpp"
2018-03-20 16:16:11 +00:00
#include "Classes/IndexableData.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/ItemContainer.hpp"
#include "Classes/ItemInfo.hpp"
#include "Classes/LinkedList.hpp"
#include "Classes/MessageNode.hpp"
#include "Classes/Model.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/Nameable.hpp"
#include "Classes/NameableContainer.hpp"
#include "Classes/NamePair.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Node.hpp"
#include "Classes/NPC.hpp"
#include "Classes/NPCInfo.hpp"
#include "Classes/ObjectInfo.hpp"
#include "Classes/Player.hpp"
#include "Classes/PlayerInfo.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/PlayerManager.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Preferences.hpp"
2018-08-19 15:52:11 +00:00
#include "Classes/Projectile.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Queue.hpp"
#include "Classes/Region.hpp"
#include "Classes/Renderable.hpp"
#include "Classes/SceneTile.hpp"
2018-01-12 03:44:27 +00:00
#include "Classes/SpotAnimation.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Sprite.hpp"
2018-02-24 12:59:53 +00:00
#include "Classes/Talkable.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Varbit.hpp"
2018-01-09 15:25:29 +00:00
#include "Classes/WallObject.hpp"
2017-12-25 23:49:48 +00:00
#include "Classes/Widget.hpp"
#include "Classes/WidgetNode.hpp"
#include "Classes/World.hpp"
2018-03-18 14:38:29 +00:00
namespace Internal
{
2017-12-25 23:49:48 +00:00
2018-03-18 14:38:29 +00:00
extern GameShell Client;
2017-12-25 23:49:48 +00:00
2018-03-18 14:38:29 +00:00
Cache GetAnimationCache();
2018-12-15 21:27:21 +00:00
AbstractBufferProvider GetBufferProvider();
2018-03-18 14:38:29 +00:00
std::int32_t GetCameraPitch();
std::int32_t GetCameraX();
std::int32_t GetCameraY();
std::int32_t GetCameraYaw();
std::int32_t GetCameraZ();
2018-12-15 21:27:21 +00:00
std::int16_t GetCameraZoom();
2018-03-18 14:38:29 +00:00
Map GetChatLineCache();
2018-06-28 02:22:43 +00:00
Map GetClientFonts();
2018-07-12 01:58:05 +00:00
std::vector<std::int32_t> GetClientKeyCodes();
2018-03-18 14:38:29 +00:00
std::int32_t GetClientPlane();
Preferences GetClientPreferences();
std::int32_t GetClientX();
std::int32_t GetClientY();
2018-04-08 01:15:44 +00:00
std::vector<CollisionData> GetCollisionMaps();
2018-03-18 14:38:29 +00:00
std::int32_t GetCrosshairState();
std::vector<std::int32_t> GetCurrentLevels();
std::int32_t GetCurrentWorld();
bool GetDraggingItem();
Cache GetDynamicObjectCache();
std::vector<ExchangeOffer> GetExchangeOffers();
std::vector<std::int32_t> GetExperiences();
bool GetFocused();
Cache GetFramesCache();
std::int32_t GetGameState();
std::int32_t GetGameTick();
Deque GetGraphicsObjects();
std::vector<std::vector<std::vector<Deque>>> GetGroundItems();
2019-02-20 19:52:58 +00:00
std::int32_t GetHintArrowNPCIndex();
std::int32_t GetHintArrowOffsetX();
std::int32_t GetHintArrowOffsetY();
std::int32_t GetHintArrowPlayerIndex();
std::int32_t GetHintArrowTargetType();
std::int32_t GetHintArrowX();
std::int32_t GetHintArrowY();
std::int32_t GetHintArrowZ();
2018-07-21 08:43:19 +00:00
bool GetIsMember();
2018-03-18 14:38:29 +00:00
HashTable GetItemContainers();
2018-03-20 16:16:11 +00:00
IndexableData GetItemIndexableData();
2018-03-18 14:38:29 +00:00
Cache GetItemInfoCache();
Cache GetItemModelCache();
std::int32_t GetItemSelected();
std::int32_t GetItemSelectedIndex();
Cache GetItemSpriteCache();
2018-07-12 01:58:05 +00:00
std::vector<std::int8_t> GetKeysPressed();
2018-03-18 14:38:29 +00:00
std::vector<std::int32_t> GetLevels();
ClanMemberList GetLocalClanMemberList();
std::int32_t GetLocalDestinationX();
std::int32_t GetLocalDestinationY();
Player GetLocalPlayer();
2018-07-12 01:58:05 +00:00
std::int32_t GetLocalPlayerIndex();
2018-03-18 14:38:29 +00:00
PlayerManager GetLocalPlayerManager();
Region GetLocalRegion();
2019-03-26 16:56:25 +00:00
std::int32_t GetLoginAccountState();
2018-03-18 14:38:29 +00:00
std::int32_t GetLoginCaret();
std::string GetLoginMessage0();
std::string GetLoginMessage1();
std::string GetLoginMessage2();
std::int32_t GetLoginScreenX();
std::int32_t GetLoginState();
std::int32_t GetLoginWindow();
std::int32_t GetMapAngle();
2018-08-06 04:30:12 +00:00
std::vector<std::int32_t> GetMapRegions();
2018-03-18 14:38:29 +00:00
std::vector<std::string> GetMenuActions();
std::int32_t GetMenuCount();
std::int32_t GetMenuHeight();
std::vector<std::string> GetMenuTargets();
bool GetMenuVisible();
std::int32_t GetMenuWidth();
std::int32_t GetMenuX();
std::int32_t GetMenuY();
2019-01-13 22:48:27 +00:00
std::int64_t GetMouseLastPressed();
2018-03-18 14:38:29 +00:00
std::int32_t GetMouseX();
std::int32_t GetMouseY();
AttackOption GetNPCAttackOption();
2018-03-20 16:16:11 +00:00
IndexableData GetNPCIndexableData();
2018-03-18 14:38:29 +00:00
std::vector<std::int32_t> GetNPCIndices();
2018-11-22 14:39:29 +00:00
Cache GetNPCInfoCache();
2018-03-18 14:38:29 +00:00
Cache GetNPCModelCache();
std::vector<NPC> GetNPCs();
2018-03-20 16:16:11 +00:00
IndexableData GetObjectIndexableData();
2018-03-18 14:38:29 +00:00
Cache GetObjectInfoCache();
std::string GetPassword();
AttackOption GetPlayerAttackOption();
Cache GetPlayerModelCache();
std::vector<Player> GetPlayers();
2018-08-19 15:52:11 +00:00
Deque GetProjectiles();
2018-03-18 14:38:29 +00:00
std::int32_t GetRunEnergy();
std::string GetSelectedItemName();
std::string GetSelectedSpellName();
std::vector<std::int32_t> GetSettings();
bool GetSpellSelected();
Cache GetSpotAnimationCache();
Cache GetSpotAnimationModelCache();
std::vector<std::vector<std::vector<std::int32_t>>> GetTileHeights();
std::vector<std::vector<std::vector<std::int8_t>>> GetTileSettings();
std::string GetUsername();
Cache GetVarbitCache();
std::vector<std::int32_t> GetVarbitSettings();
std::int32_t GetViewportHeight();
std::int32_t GetViewportScale();
std::int32_t GetViewportWidth();
std::int32_t GetWeight();
2018-07-09 15:21:35 +00:00
Cache GetWidgetFontCache();
2018-03-18 14:38:29 +00:00
HashTable GetWidgetNodeCache();
2018-04-01 09:53:35 +00:00
std::int32_t GetWidgetRoot();
2018-03-18 14:38:29 +00:00
std::vector<std::vector<Widget>> GetWidgets();
std::vector<std::int32_t> GetWidgetsHeight();
std::vector<std::int32_t> GetWidgetsWidth();
std::vector<std::int32_t> GetWidgetsX();
std::vector<std::int32_t> GetWidgetsY();
bool GetWorldSelectOpen();
2019-04-11 13:12:59 +00:00
std::int32_t GetWorldSelectPageIndex();
std::int32_t GetWorldSelectPageSize();
2018-03-18 14:38:29 +00:00
std::vector<World> GetWorlds();
ItemInfo LoadItemInfo(std::int32_t ID);
NPCInfo LoadNPCInfo(std::int32_t ID);
ObjectInfo LoadObjectInfo(std::int32_t ID);
bool LoadWorlds();
void SetWorld(const World& W);
2018-03-04 19:02:54 +00:00
2018-03-18 14:38:29 +00:00
ItemInfo GetItemInfo(std::int32_t ID);
NPCInfo GetNPCInfo(std::int32_t ID);
ObjectInfo GetObjectInfo(std::int32_t ID);
2018-03-20 04:35:47 +00:00
ObjectInfo GetObjectInfo(std::int32_t ID, const std::vector<Node>& Buckets);
2018-03-18 14:38:29 +00:00
Widget GetWidget(std::int32_t Container, std::int32_t Component);
Widget GetWidgetParent(const Widget& W);
std::int32_t GetWidgetX(const Widget& W);
2018-07-19 07:24:29 +00:00
std::int32_t GetWidgetX(const Widget& W, const std::vector<std::int32_t>& Xs);
2018-03-18 14:38:29 +00:00
std::int32_t GetWidgetY(const Widget& W);
2018-07-19 07:24:29 +00:00
std::int32_t GetWidgetY(const Widget& W, const std::vector<std::int32_t>& Ys);
2018-03-18 14:38:29 +00:00
bool GetWidgetHidden(const Widget& W);
Box GetWidgetBox(const Widget& W);
2018-07-19 07:24:29 +00:00
Box GetWidgetBox(const Widget& W, const std::vector<std::int32_t>& Xs, const std::vector<std::int32_t>& Ys);
2018-03-18 14:38:29 +00:00
ItemContainer GetItemContainer(std::int32_t ID);
NPC GetNPC(std::int32_t Index);
2018-08-19 15:52:11 +00:00
Player GetPlayer(std::int32_t Index);
2018-12-08 19:31:58 +00:00
std::int32_t GetTileHeight(std::int32_t X, std::int32_t Y, std::int32_t Z);
2018-03-18 14:38:29 +00:00
std::vector<Point> 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);
2018-11-22 14:39:29 +00:00
Model GetNPCModel(std::int64_t ID);
2018-03-18 14:38:29 +00:00
Varbit GetVarbit(std::int32_t ID);
Animation GetAnimation(std::int32_t ID);
Frames GetFrames(std::int32_t ID);
Model GetItemModel(std::int32_t ID);
Model GetItemModel(std::int32_t ID, std::int32_t Amount);
SpotAnimation GetSpotAnimation(std::int32_t ID);
Model GetSpotAnimationModel(std::int32_t ID);
Model GetGameObjectModel(const GameObject& O);
Model GetWallObjectModel(const WallObject& O);
Model GetDecorativeObjectModel(const DecorativeObject& O);
Model GetGroundObjectModel(const GroundObject& O);
Model GetDynamicObjectModel(std::int32_t ID);
std::vector<std::vector<Deque>> GetGroundItems(std::int32_t Plane);
Deque GetGroundItems(std::int32_t X, std::int32_t Y);
Deque GetGroundItems(std::int32_t X, std::int32_t Y, std::int32_t Plane);
std::vector<Point> GetPlayerModel(const Player& P);
std::vector<Point> GetNPCModel(const NPC& N);
std::vector<Point> GetGraphicsObjectModel(const GraphicsObject& O);
2018-08-19 15:52:11 +00:00
std::vector<Point> GetProjectileModel(const Internal::Projectile& P);
2018-03-18 14:38:29 +00:00
SceneTile GetSceneTile(std::int32_t X, std::int32_t Y, std::int32_t Plane);
std::vector<std::vector<SceneTile>> GetSceneTiles(std::int32_t Plane);
Point TileToMinimap(const Tile& T);
std::int32_t GetTileItemHeight(std::int32_t X, std::int32_t Y, std::int32_t Plane);
2018-04-14 01:05:35 +00:00
Sprite GetItemSprite(std::int32_t ID, std::int32_t Amount);
2018-03-18 14:38:29 +00:00
Convex GetItemSpriteConvex(const Sprite& S);
std::int32_t GetSettings(std::int32_t ID);
std::int32_t GetVarbitSettings(std::int32_t VarbitSettingIndex);
Point TileToMainscreen(const Tile& T, std::int32_t X, std::int32_t Y, std::int32_t Z);
2018-03-20 16:16:11 +00:00
std::string GetItemName(std::int32_t ID);
2018-07-16 22:44:49 +00:00
bool IsItemPlaceholder(std::int32_t ID);
2018-08-06 04:30:12 +00:00
bool IsItemStackable(std::int32_t ID);
2018-12-26 08:44:53 +00:00
double GetHealthPercentage(const Internal::Character& C);
2018-04-16 03:53:24 +00:00
std::vector<Widget> GetWidgets(std::int32_t Container);
2018-04-14 01:05:35 +00:00
2018-03-18 14:38:29 +00:00
}
2017-12-25 23:49:48 +00:00
#endif // INTERNAL_HPP_INCLUDED