We want RME code to be de-atached from flatbuffers, kmap and the kmap library. For that we've introduced a interface based library and we've implemented the interfaces in RME side (some of them were just incorporated to RME basic entities, like position).
That way we could remove a lot of boiler plate check, simplify the logics in the save and delegate some validations to the new domain objects.
Thanks @lgrossi for help to create and correct the functioning of the functions
Co-Authored-By: Lucas Grossi <34237492+lgrossi@users.noreply.github.com>
- Updated the minimum required CMake version.
- Updated the minimum required C++ standard version to match the
functions used in the code base.
- Added missing `public` visibility specifier for classes deriving from
wxEvtHandler (DatDebugView and MainMenuBar) that is required to
access the event table from the derived classes.
- Fixed a typo in the MainMenuBar code (`REPLACE_ITEM` =>
`REPLACE_ITEMS`).
- Added missing ZLIB search to the CMake project (previously it was
implicitly linked by older wxWidgets versions?).
- Fixed GLUT compatibility with newer CMake version.
- Added a new `FROM_DIP` macro that fixes wxSize scaling compatibility
with wxWidgets <3.1.0.
- Fixed catching std::bad_cast exceptions by value instead of const
ref.
Closes#329.
Closes#345.
Closes#371.
Closes#373.
Closes#375.
This only works with the canary server: https://github.com/opentibiabr/canary
Added support only for client .dat and .spr 11.00 outdated (10x), signature: data format="11" dat="0x4A10" spr="0x59E48E02"
Otb cllient 11, version 3, id 62
In addition to the ids being converted to client id (for compatibility with canary), the data folder has been completely reorganized for ease of understanding.
The organization of tilesets was also started, which will be further improved in other pulls.
Created the complete organization of npcs, that way, it is possible to create own files for npcs, no longer depending on being together with the monsters
this pull request was made to be worked together with the canary project: https://github.com/opentibiabr/canary
The spawns npcs is "yellow" and spawns monsters is "red" (the old)
With this change, the map will automatically create an "npc.xml" the first time it is saved.
It is possible to edit only the xml, it is not necessary to add or modify the npc by opening the editor map
Thus, there is a script for npcs, similar to how it works with old spawns
*Adds a minor performance update by removing 'tooltip' allocations every time 'DrawTile' was called, this should increase the performance when moving around the map(e.g. using arrow keys when zoomed out), slow computers should benefit the most from this.
The performance increase can be seen in the comparison bellow, where I used the same map, distance from the ground and movement from a specific point to benchmark.
*Teleports should no longer have the option to 'Open Door' when right-clicking them.