The function sendEquipItem (which only affects game_actionbar) was sending 2 packets:
according OTCR
u16 the itemId
u8 or u16 countOrSubType
But this is incorrect.
According to Canary, the 2 packets to send are:
u16 the itemId
u8 tier.
This error manifests when trying to equip an item with a tier through the action bar.
The client sends the itemId and count (1).
For example, attempting to equip an Helmet tier +5.
The server interprets itemId and tier = 1(count), failing to find the item.
As a result, it doesn't work.
* Add init files to game_update. Make resolve in HttpSession.
* HTTP async read working
* HTTP Callback on done async read
* HTTP Fix datarace on async_read. Add post method.
* HTTP custom header
* HTTP Load texture from "virtual directory"
* HTTPS Using ssl with no pem file
* WS Starting websocket connection
* WSS Add tls support to websocket
* HTTP/WS Organize initiation order [-Wreorder], Change sync to async on send message in websocket.
* HTTP/WS Using stantard functions instead of boost, change bind to lambda
* HTTP Close socket where necessary
* HTTP/WS Organize ontimeout, and add option to enable timeout on read/write
* HTTP/S Add download speed
* HTTP/S Separate update files to other branch
* HTTP/S Now post has two options, json and x-www-form-urlencoded
* HTTP/WS Now is using asio without boost. Add definition to enable websocket
* HTTP/WS Now use only asio to http/ws or over ssl
* Remove protobuf files and clear unused variables
* HTTP Handle error in .lua
* Update http login protocol to new http request
* Fix compile on linux
* Change old definetion of network
* HTTP/S Fix cloudflare ssl request
* fix compile error and cleanup
* fix compile error
* Revert changes in CMakeLists to use a vcpkg on linux
* Update README
Co-authored-by: Renato <mehahx@gmail.com>
* added drop items and exchange items in action bar.
* mistakingly took both instances of getClothSlot
* added function back, and cleaned up onDropFunc in actionbar
* made onDrop reference actionBarPanel and contentsPanel
* cleaned up onDrop function
* removed saveActionBar(), it was making it not save
* fixed backwards logic in onDrop function
* Fixed getClothSlot and removed redundant getClothSlot declaration
* removed indentation
* added check to avoid indexing a nil value
* added check for loadActionBar() to avoid indexing nil value
* added temporary support for equipping weapons, should be handled another way.
Full Github Action Rework (GHA), so that builds are fixed: Windows, Linux, Docker; Review checks: C++, Lua, XML and others checks
Complete Cmake Rework, modernized the code so that you can work with GHA.
Removed:
VCPKG Build
Removed generated Files from file .gitignore (all build files are required for Cmake cache generation)
Lib Lua5.1 was removed and maintained only Luajit (faster and better)
Removed the "consoleapplication" file
Removed the "lbitlib" file, after all, if the idea is the project to use updated Libs, why do we want files that bring compatibility to old Libs? I just updated the files to use the functions of the new LIBs
Modified:
The metadata of the Bitwise functions have been changed, now being in place of "bit32." is
"bit."
Protobuf will now be chased along with the client build, avoiding random errors related to Protobuf's version is different from the compiled file (this way, no matter if the repository file is outdated, as a new one will always be generated in a compilation from rebuild all)
Modified the structure of some folders, such as "protobuf" and "cmake" folder, "protobuf" was sent to the src main folder and "cmake" to the client main folder
Namespace protobuf changed from "tibia" to "otclient"
Merged the files of the Protobuf "shared.proto and appearances.proto" in one (appearances)
Added:
Issue Template
Pull Request Template
Pull Request Labeller
Check to inform that clang is not supported (it is possible to use docker on mac, this way we avoid headaches related to support for an OS that is practically not used)
GHA:
Codacy
CodeQL
Review dog
SonarCloud
Build docker
Build Ubuntu
Build Windows
Cmake:
Cmakepresets
VCPKG Manifest
Otcicon
Client:
Added the functions LuaInterface::registerTable and LuaInterface::registerMethod and Bitwise Functions (if necessary at some point compatibility with the Lua 5.1)
Note: Some checks are failing as they should only work after the merge, they should be ignored, the main ones are ok
Thanks to @costallat for for helping and assisting with addition of GHA and CMake build