From e95236023c66df61cd82ac786f6c27e008214703 Mon Sep 17 00:00:00 2001 From: Bigjango13 Date: Mon, 22 Jan 2024 01:39:43 -0500 Subject: [PATCH] A few more symbols --- symbols/CMakeLists.txt | 8 ++++++++ symbols/src/api/CommandServer.def | 3 ++- symbols/src/api/OffsetPosTranslator.def | 4 ++++ symbols/src/entity/Entity.def | 3 +++ symbols/src/entity/player/LocalPlayer.def | 1 + symbols/src/gui/components/IntRectangle.def | 6 ++++++ symbols/src/gui/components/RectangleArea.def | 8 ++++++++ symbols/src/gui/components/ScrollingPane.def | 16 ++++++++++++++++ symbols/src/input/IMoveInput.def | 1 + symbols/src/item/ArmorItem.def | 5 +++++ symbols/src/item/ArmorMaterial.def | 13 +++++++++++++ symbols/src/level/ChunkCache.def | 3 +++ symbols/src/level/ChunkSource.def | 2 ++ symbols/src/level/Level.def | 6 +++++- symbols/src/level/LevelSource.def | 7 ++++++- symbols/src/level/container/FillingContainer.def | 9 ++++++++- symbols/src/level/container/Inventory.def | 3 +++ symbols/src/network/NetEventCallback.def | 1 + symbols/src/network/packet/SignUpdatePacket.def | 7 +++++++ 19 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 symbols/src/gui/components/IntRectangle.def create mode 100644 symbols/src/gui/components/RectangleArea.def create mode 100644 symbols/src/gui/components/ScrollingPane.def create mode 100644 symbols/src/input/IMoveInput.def create mode 100644 symbols/src/item/ArmorItem.def create mode 100644 symbols/src/item/ArmorMaterial.def create mode 100644 symbols/src/level/ChunkCache.def create mode 100644 symbols/src/network/packet/SignUpdatePacket.def diff --git a/symbols/CMakeLists.txt b/symbols/CMakeLists.txt index 7b84c3ef89..13a127df4d 100644 --- a/symbols/CMakeLists.txt +++ b/symbols/CMakeLists.txt @@ -23,6 +23,7 @@ set(SRC src/network/ServerSideNetworkHandler.def src/network/packet/LoginPacket.def src/network/packet/PlayerEquipmentPacket.def + src/network/packet/SignUpdatePacket.def src/network/packet/Packet.def src/network/packet/StartGamePacket.def src/network/packet/ChatPacket.def @@ -59,6 +60,7 @@ set(SRC src/level/ExternalFileLevelStorageSource.def src/level/Biome.def src/level/ChunkSource.def + src/level/ChunkCache.def src/level/Level.def src/level/LevelRenderer.def src/level/LevelStorageSource.def @@ -72,6 +74,8 @@ set(SRC src/item/AuxDataTileItem.def src/item/ItemInstance.def src/item/Item.def + src/item/ArmorMaterial.def + src/item/ArmorItem.def src/item/TileItem.def src/api/OffsetPosTranslator.def src/api/CommandServer.def @@ -96,6 +100,9 @@ set(SRC src/gui/components/GuiComponent.def src/gui/components/Button.def src/gui/components/Gui.def + src/gui/components/IntRectangle.def + src/gui/components/RectangleArea.def + src/gui/components/ScrollingPane.def src/app-platform/AppPlatform.def src/app-platform/AppPlatform_linux.def src/app-platform/AppPlatform_readAssetFile_return_value.def @@ -124,6 +131,7 @@ set(SRC src/misc/SoundEngine.def src/misc/Common.def src/misc/Config.def + src/input/IMoveInput.def src/input/IBuildInput.def src/input/MouseBuildInput.def src/input/Mouse.def diff --git a/symbols/src/api/CommandServer.def b/symbols/src/api/CommandServer.def index b97502721e..950e41a8ac 100644 --- a/symbols/src/api/CommandServer.def +++ b/symbols/src/api/CommandServer.def @@ -1,3 +1,4 @@ method std::string parse(ConnectedClient *client, std::string *command) = 0x6aa8c; -property Minecraft *minecraft = 0x18; \ No newline at end of file +property Minecraft *minecraft = 0x18; +property OffsetPosTranslator pos_translator = 0x1c; diff --git a/symbols/src/api/OffsetPosTranslator.def b/symbols/src/api/OffsetPosTranslator.def index 15d0d433df..72789872a9 100644 --- a/symbols/src/api/OffsetPosTranslator.def +++ b/symbols/src/api/OffsetPosTranslator.def @@ -1 +1,5 @@ method void from(int *x, int *y, int *z) = 0x27c98; + +property float x = 0x4; +property float y = 0x8; +property float z = 0xc; diff --git a/symbols/src/entity/Entity.def b/symbols/src/entity/Entity.def index a004387179..def2f3b9a9 100644 --- a/symbols/src/entity/Entity.def +++ b/symbols/src/entity/Entity.def @@ -10,6 +10,9 @@ property int id = 0x1c; property float old_x = 0x28; property float old_y = 0x2c; property float old_z = 0x30; +property float vel_x = 0x34; +property float vel_y = 0x38; +property float vel_z = 0x3c; property float yaw = 0x40; property float pitch = 0x44; property float old_yaw = 0x48; diff --git a/symbols/src/entity/player/LocalPlayer.def b/symbols/src/entity/player/LocalPlayer.def index 4c09db434c..b2efcdc1ee 100644 --- a/symbols/src/entity/player/LocalPlayer.def +++ b/symbols/src/entity/player/LocalPlayer.def @@ -2,4 +2,5 @@ extends Player; vtable 0x106230; +property IMoveInput *input = 0xc88; property Minecraft *minecraft = 0xc90; diff --git a/symbols/src/gui/components/IntRectangle.def b/symbols/src/gui/components/IntRectangle.def new file mode 100644 index 0000000000..0fbabd44d7 --- /dev/null +++ b/symbols/src/gui/components/IntRectangle.def @@ -0,0 +1,6 @@ +size 0x10; + +property int x = 0x0; +property int y = 0x4; +property int x_offset = 0x8; +property int y_offset = 0xc; diff --git a/symbols/src/gui/components/RectangleArea.def b/symbols/src/gui/components/RectangleArea.def new file mode 100644 index 0000000000..d68dbb7318 --- /dev/null +++ b/symbols/src/gui/components/RectangleArea.def @@ -0,0 +1,8 @@ +size 0x18; + +property float x1 = 0x8; +property float x2 = 0xc; +property float y1 = 0x10; +property float y2 = 0x14; + +method bool isInside(float x, float y) = 0x21aa4; diff --git a/symbols/src/gui/components/ScrollingPane.def b/symbols/src/gui/components/ScrollingPane.def new file mode 100644 index 0000000000..f1442b88a9 --- /dev/null +++ b/symbols/src/gui/components/ScrollingPane.def @@ -0,0 +1,16 @@ +extends GuiComponent; + +constructor (int param_2, IntRectangle *bb, IntRectangle *itembb, int columns, int item_count, float scale, IntRectangle *itembb2) = 0x22b44; + +method void setContentOffset(float x, float y) = 0x220a0; +method void render(float param_1, float param_2, float alpha) = 0x22ee4; +method void adjustContentSize() = 0x21aa4; +method bool queryHoldTime(int *item_id, int *pressed_time) = 0x22ab4; + +property float scale = 0x2c; +property RectangleArea area = 0x60; +property Vec3 content_offset = 0xe4; +property float max_y = 0x130; +property float size_y = 0x170; +property float adjust_content_size_y = 0x1ec; + diff --git a/symbols/src/input/IMoveInput.def b/symbols/src/input/IMoveInput.def new file mode 100644 index 0000000000..7b24b8bdf8 --- /dev/null +++ b/symbols/src/input/IMoveInput.def @@ -0,0 +1 @@ +property bool is_sneaking = 0xe; diff --git a/symbols/src/item/ArmorItem.def b/symbols/src/item/ArmorItem.def new file mode 100644 index 0000000000..bc7749a03a --- /dev/null +++ b/symbols/src/item/ArmorItem.def @@ -0,0 +1,5 @@ +extends Item; + +size 0x34; + +constructor (int id, ArmorMaterial *material, int param_3, int slot) = 0x9362c; diff --git a/symbols/src/item/ArmorMaterial.def b/symbols/src/item/ArmorMaterial.def new file mode 100644 index 0000000000..82bfe2a5d5 --- /dev/null +++ b/symbols/src/item/ArmorMaterial.def @@ -0,0 +1,13 @@ +size 0x14; + +property int health_for_slot_multiplier = 0x0; +property int feet_protection = 0x4; +property int leg_protection = 0x8; +property int body_protection = 0xc; +property int head_protection = 0x10; + +static-property ArmorMaterial cloth = 0x17a780; +static-property ArmorMaterial chain = 0x17a794; +static-property ArmorMaterial iron = 0x17a7a8; +static-property ArmorMaterial gold = 0x17a7bc; +static-property ArmorMaterial diamond = 0x17a7d0; diff --git a/symbols/src/level/ChunkCache.def b/symbols/src/level/ChunkCache.def new file mode 100644 index 0000000000..599ce3fa29 --- /dev/null +++ b/symbols/src/level/ChunkCache.def @@ -0,0 +1,3 @@ +extends ChunkSource; + +vtable 0x10fbc0; diff --git a/symbols/src/level/ChunkSource.def b/symbols/src/level/ChunkSource.def index 4c8f80c80d..64aa22465d 100644 --- a/symbols/src/level/ChunkSource.def +++ b/symbols/src/level/ChunkSource.def @@ -1 +1,3 @@ +vtable 0x10fb88; + virtual-method void postProcess(ChunkSource *chunk_source, int chunk_x, int chunk_y) = 0x14; diff --git a/symbols/src/level/Level.def b/symbols/src/level/Level.def index 5923df7f50..202af9cbaf 100644 --- a/symbols/src/level/Level.def +++ b/symbols/src/level/Level.def @@ -9,5 +9,9 @@ method void addParticle(std::string *particle, float x, float y, float z, float method Entity *getEntity(int id) = 0xa45a4; method bool addEntity(Entity *entity) = 0xa7cbc; -property std::vector players = 0x60; +virtual-method void tick() = 0x28; +virtual-method void updateSleepingPlayerList() = 0x2c; +virtual-method ChunkCache *createChunkSource() = 0x30; + property std::vector entities = 0x20; +property std::vector players = 0x60; diff --git a/symbols/src/level/LevelSource.def b/symbols/src/level/LevelSource.def index ff7a855507..e9162c2f01 100644 --- a/symbols/src/level/LevelSource.def +++ b/symbols/src/level/LevelSource.def @@ -1,3 +1,8 @@ virtual-method int getTile(int x, int y, int z) = 0x8; +virtual-method int isEmptyTile(int x, int y, int z) = 0xc; +virtual-method int getBrightness(int x, int y, int z) = 0x10; +virtual-method int getData(int x, int y, int z) = 0x14; virtual-method Material *getMaterial(int x, int y, int z) = 0x18; -virtual-method Biome *getBiome(int x, int z) = 0x24; \ No newline at end of file +virtual-method bool isSolidRenderTile(int x, int y, int z) = 0x1c; +virtual-method bool isSolidBlockingTile(int x, int y, int z) = 0x20; +virtual-method Biome *getBiome(int x, int z) = 0x24; diff --git a/symbols/src/level/container/FillingContainer.def b/symbols/src/level/container/FillingContainer.def index ed6e0f5095..79a69c62ed 100644 --- a/symbols/src/level/container/FillingContainer.def +++ b/symbols/src/level/container/FillingContainer.def @@ -1,13 +1,20 @@ extends Container; method void addItem(ItemInstance *item_instance) = 0x92aa0; -virtual-method bool add(ItemInstance *item_instance) = 0x30; method void clearSlot(int slot) = 0x922f8; method void release(int slot) = 0x92058; method void compressLinkedSlotList(int slot) = 0x92280; method ItemInstance *getLinked(int slot) = 0x92230; +method bool linkEmptySlot(int slot) = 0x92590; +method int getFreeSlot() = 0x91ffc; +method int getSlot(int id) = 0x91ce0; +method int linkSlot(int linked_slot, int unlinked_slot, bool push_aside) = 0x92188; + virtual-method ItemInstance *getItem(int pos) = 0x8; +virtual-method void setItem(int pos, ItemInstance *item) = 0xc; +virtual-method bool add(ItemInstance *item_instance) = 0x30; property int *linked_slots = 0xc; property int linked_slots_length = 0x14; +property std::vector items = 0x18; property bool is_creative = 0x24; diff --git a/symbols/src/level/container/Inventory.def b/symbols/src/level/container/Inventory.def index 45e1d5ca41..1108f0b939 100644 --- a/symbols/src/level/container/Inventory.def +++ b/symbols/src/level/container/Inventory.def @@ -1,6 +1,9 @@ extends FillingContainer; method void selectSlot(int slot) = 0x8d13c; +// It's just FillingContainer_getLinked but with selectedSlot as slot method ItemInstance *getSelected() = 0x8d134; +// It's just FillingContainer_linkSlot with selectedSlot as linked_slot +method bool moveToSelectedSlot(int unlinked_slot, bool push_aside) = 0x8d148; property int selectedSlot = 0x28; diff --git a/symbols/src/network/NetEventCallback.def b/symbols/src/network/NetEventCallback.def index b5a29c576f..c8b7eebcac 100644 --- a/symbols/src/network/NetEventCallback.def +++ b/symbols/src/network/NetEventCallback.def @@ -1,2 +1,3 @@ virtual-method void onDisconnect(RakNet_RakNetGUID *guid) = 0x18; +virtual-method void handle_SignUpdatePacket(RakNet_RakNetGUID *guid, SignUpdatePacket *packet) = 0xcc; virtual-method void handle_ChatPacket(RakNet_RakNetGUID *rak_net_guid, uchar *packet) = 0xc8; diff --git a/symbols/src/network/packet/SignUpdatePacket.def b/symbols/src/network/packet/SignUpdatePacket.def new file mode 100644 index 0000000000..20665c2aca --- /dev/null +++ b/symbols/src/network/packet/SignUpdatePacket.def @@ -0,0 +1,7 @@ +extends Packet; + +property int x = 0xc; +property int y = 0x10; +property int z = 0x14; +// std::string lines[4] +property std::string *lines = 0x18;