Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Enhancement] Rework on items to extinquish OTB file and use client 1…
…2 protobuf instead (#204) Description We are using the OTB system for a really long time on OT community, but since Canary is heading to another path like using one single id (ClientID) for map/server/client, i'm propousing to follow Tibia updates more closely. Just like cip did on the client (Same is happening on OTC), i think we can forget about using the jurassic Tibia.dat, Tibia.spr and items.otb and use Google Protobuf: https://github.com/protocolbuffers/protobuf. To deal with items updates without the need of any third partner tools like item editor and client converter. Using Tibia protobuf files instead of our old .otb file looks like to me the best approach to keep the repository most updated as possible since, with this changes, we can just simple copy the 'appearances-XXXXXXXXX.dat' file from the client's /assets/ folder, rename it to 'appearances.dat' and paste on "/data/items/" on the server and then boom, it's already up-to-date. Also, this commit include some changes on source to clean the unnused/useless tags and functions that was used on the old serverID/clientID system but are now deprecated. This commit changes does not include client protocol messages updates, only items and a few more data. Benefits: - Fast and easy updates. - Auto-insert items without the need to register on XML file and with some basic data like: "name", "description", "slot position", "loot type", "item tier upgrade", "podium" and all data from old "OTB" file. - Opens the possibilities to (finally) insert new features like party hunt analyzer, adquire global position for NPCs on the global map with all item prices included, etc. - Prevent errors and crashes related to wrong "lookType", "const_me" and "const_ani" effects. Tests Tested and working with no problem so far. But keep in mind that the OTBR Datapack is not ready for this PR yet. If the idea is approved (the idea, not the PR), i will open a similar PR on OTBR datapack to make it compatible with the changes here. Map changes The map changes was necessary due to some invalid (garbage) items on the map. Does not affect anything at all since they were invisibly, untouchable and unnecessary. Protofile Protofile was added on "/src/protobuf/" directory. Compiling windows (vcpkg) [x86] ./vcpkg install protobuf:x86-windows protobuf[zlib]:x86-windows --recurse [x64] ./vcpkg install protobuf:x64-windows protobuf[zlib]:x64-windows --recurse Compiling windows Ubuntu/Debian (apt) apt-get install libprotobuf-dev protobuf-compiler Issues and chat Any problem that you have on compiling or have anything you want to change on it you can use the discord: https://github.com/opentibiabr/canary/blob/4580324c18a69289db7ba346f04eec2d30188136/README.md?plain=1#L3
- Loading branch information