Core/Movement: implement smooth waypoints

* delays can now be negative to support sniffed transition times from one waypoint path to another
* early transitions will now pick up the ongoing spline destination and start calculating their path from that point on
* waypoints may now use db side spline pathings in a new db table to support special spline shapes are not generated by normal pathfinding (e.g. scripted flight paths)
* current waypoints will still the work the way they did before for legacy and custom support
This commit is contained in:
Ovahlord
2020-11-22 08:15:47 +01:00
parent 4a158fdf22
commit d5f9b8c26f
11 changed files with 266 additions and 164 deletions

View File

@@ -0,0 +1,11 @@
DROP TABLE IF EXISTS `waypoint_data_addon`;
CREATE TABLE `waypoint_data_addon` (
`PathID` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`PointID` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`SplinePointIndex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
`PositionX` FLOAT NOT NULL DEFAULT 0,
`PositionY` FLOAT NOT NULL DEFAULT 0,
`PositionZ` FLOAT NOT NULL DEFAULT 0
);
ALTER TABLE `waypoint_data` CHANGE `delay` `delay` INT(10) DEFAULT 0 NOT NULL;