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"
|
2019-06-17 16:44:48 +00:00
|
|
|
#include "Classes/IntegerNode.hpp"
|
2017-12-25 23:49:48 +00:00
|
|
|
#include "Classes/ItemContainer.hpp"
|
|
|
|
#include "Classes/ItemInfo.hpp"
|
2019-06-17 16:44:48 +00:00
|
|
|
#include "Classes/IterableHashTable.hpp"
|
2019-07-18 17:54:18 +00:00
|
|
|
#include "Classes/IterableQueue.hpp"
|
2017-12-25 23:49:48 +00:00
|
|
|
#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"
|
2019-06-17 16:44:48 +00:00
|
|
|
#include "Classes/ObjectNode.hpp"
|
|
|
|
#include "Classes/ParameterInfo.hpp"
|
2017-12-25 23:49:48 +00:00
|
|
|
#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();
|
2020-01-04 01:57:09 +00:00
|
|
|
bool GetInInstance();
|
|
|
|
std::vector<std::vector<std::vector<std::int32_t>>> GetInstanceChunkTemplates();
|
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();
|
2019-06-17 16:44:48 +00:00
|
|
|
Cache GetParameterInfoCache();
|
2018-03-18 14:38:29 +00:00
|
|
|
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 GetWallObjectModel(const WallObject& O);
|
2019-09-29 23:18:25 +00:00
|
|
|
Model GetWallObjectModel2(const WallObject& O);
|
2018-03-18 14:38:29 +00:00
|
|
|
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);
|
2019-07-18 17:54:18 +00:00
|
|
|
std::vector<Point> GetGameObjectModel(const GameObject& O);
|
2018-03-18 14:38:29 +00:00
|
|
|
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);
|
2019-11-20 02:17:31 +00:00
|
|
|
CollisionData GetCollisionMap(std::int32_t Plane);
|
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
|