Spline Movement Subsystem.

Hello. Here is port from mangos SilverIce’s spline movement subsystem.

https://github.com/C…ore/tree/spline

What’s new:

*Fully rewrited all movegens.

*As header said integrated spline movement.

TODO:

*Check calculation for parabolic movement.

*Add vehicle support.

Known issues:

*Not tested on live servers. So some strange behavior could take place.

In the future i would like to see it in trinity master branch, so any help and feedback is welcome.

kudos to you sir.

Does it include changes made post integration of it in mangos(there were quite a few as far as I remember)?

btw, anybody tried mmaps with it, yet?

Chaplain

Can you explain what will use this system?

mmaps are dependant on it.

[B]fagoatse[/B], yeah, i have included all changes made post integration of it in mangos.

Found one problem: when we spawn 20-30 creatures in same time client freezes. Now looking for good packet sniffer,

To run on a real server need to clarify something:

1 whether to re-extract the map?

2 What are the advantages of this system and what to look for in testing?

  1. Not needed.

  2. 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.

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.

(from original silverIce’s commit)

It needs to be updated to TC’s head tryed to make a patch from it and got some rejs:


aokromes@nl2:~/sources/test$ git apply ../p3/spline

../p3/spline:4059: trailing whitespace.

creature.AddUnitState(UNIT_STAT_ROAMING_MOVE);

../p3/spline:4060: trailing whitespace.


error: patch failed: src/server/game/Chat/Commands/Level3.cpp:4013

error: src/server/game/Chat/Commands/Level3.cpp: patch does not apply

error: patch failed: src/server/game/Entities/Creature/Creature.h:573

error: src/server/game/Entities/Creature/Creature.h: patch does not apply

error: patch failed: src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp:29

error: src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp: patch does not apply

error: patch failed: src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp:20

error: src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp: patch does not apply

error: patch failed: src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp:336

error: src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp: patch does not apply

error: src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp: No such file or directory

aokromes, you can merge them, with git pull git://github.com/Chaplain/TrinityCore.git spline /emoticons/default_wink.png

spilne have bug

https://github.com/TrinityCore/TrinityCore/issues/4916