Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.
Technical changes:
1. Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
2. Precission increased. There are no more position desync issues since client's position calculation formulas used.
3. Now possible to move by paths with multiple points, send whole path to client.
As part changes move to int32 list as expected by values:
* CONFIG_INT32_QUEST_HIGH_LEVEL_HIDE_DIFF
* CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF
Please report if mangosd will report unexpected error (< 0) for some signed config option.
I check manually but maybe miss some...
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
destination holder still contains info about current destination point, even when movement is disabled/stopped
as a result, creature moves somewhere on client, while stopped on server-side
Source of crash in sharing item object for sent mail to new owner
and in same time use it in still existed auction for show pending paiment.
Crash possible if new onwer get mail in less hour delay and will drop item
at receive.
Solution: Added fields in memory auction object and table `auction` for
store item stack size and random property id. This let not use auction item
except points where item send to owner at expire and new owner at
buyout/timeout auction with bid.
Old code way work not allow create item without providing targeting player.
In result creating item that will not placed to inventory required additional hacks
for undo redundent links to player structures.
* New command allow place auction from chat/console and create auction without owner.
* Same code can be used in other place when server code want create generated auction
without need have associated player. Auction code update for support this case.
* MailDraft::SendMailTo now allow "send" mails to non-players. It correcly drop items in like case.
* Add check to make sure that creature controlled pet use default name from template.
* Add localization support to pet name query for above pets type.