Bot waypoints updates

Merged terencehill requested to merge terencehill/bot_waypoints into master

New waypoint types:

  • custom jumppad waypoint: allows changing destination waypoint of any jumppad
  • jump waypoint (note: should be placed at least 60 qu before the jump start)
  • crouch waypoint (note: it links only to very close (100 qu) waypoints)
  • support waypoint: should be used to replace incoming links of a problematic teleport / jumppad

Hardwired links can be now created (and deleted) in the editor.

Waypoints can now be created at crosshair's position: useful to create special and hardwired links with ease from existing waypoints, in particular it's the only way to create custom jumppad waypoints.

Special links of the new waypoint types are saved in <mapname>.waypoints.hardwired. Old Xonotic versions will see new waypoints as normal waypoints (without any special link).

Test with waypoints of terencehill/bot_waypoints in the xonotic-maps.pk3dir repo (see xonotic-maps.pk3dir!136 (merged)).

See commit history with unimportant commits filtered out for more details:

Click to expand * fe39b5e1 Bot waypoints: add command "wpeditor hardwire crosshair" that marks the waypoint at crosshair instead of the nearest waypoint as origin of a new hardwired link
  • e9a15779 Bot waypoints: "wpeditor spawn crosshair" can now detect existing waypoints making it possible to create hardwired and special links from existing waypoints with ease (instead of spawning waypoint at the exact waypoint position)

  • 1360fcdf Bump WAYPOINT_VERSION to 1.04

  • 6a71beff Bot waypoints: improve backward compatibility by removing WAYPOINTFLAG_NORELINK

  • 6b3ecb49 Bot waypoints: allow creation of hardwired links to a jumppad waypoint

  • b6c21c3d Bot waypoints: remove all incoming links from waypoints with a support waypoint; make support waypoints for jumppad waypoints fully working (allowing to fix overlapping jumppads of runningman)

  • 9b52deed Bot waypoints: implement support waypoints useful to add links to preblematic teleport waypoints. Spawn it with "wpeditor spawn support" then spawn a normal waypoint over an existing teleport waypoint with "wpeditor spawn crosshair" to link them; support waypoints don't have any other (useless) outgoing link.

  • 9a86b33a Bot waypoints: implement crouch waypoints, spawn them with "wpeditor spawn crouch". They can be connected from/to normal waypoints only if close enough

  • fa9cb870 Bot waypoints: allow creating and saving hardwired waypoints in the editor; create it with the command "wpeditor hardwire": marks the nearest waypoint as origin of a new hardwired link (spawn another waypoint over an existing one to create destination); with the same procedure a hardwired link can be removed

  • 29003877 Bot waypoints: fix incorrect update of hardwired links on waypoints save if mapname.waypoints.hardwired has been modified.

  • 815cd769 Bot waypoints: fix some ambiguities by making hardwired links distinguishable from other links (previously it was known only if a waypoint had an incoming or outgoing link)

  • 5c9e977f Update WAYPOINT_VERSION to 1.03. Do not allow to edit and save waypoints with a higher version number

  • 3df1d2ed Bot waypoints: save jump and custom jumppad links to .waypoints.hardwired in a format that is backward compatible: they can't be read by previous Xonotic versions, normal hardwired links can still be added/edited manually in the beginning of the file and won't be touched on save

  • 44e71cdf Bot waypoints: teach bots to jump gaps by implementing jump waypoints. Spawn it with "wpeditor spawn jump" (60-80 qu before the edge depending on jump length) then spawn a normal waypoint as destination waypoint on the other side of the gap

  • a9572707 Bot waypoints: allow creating waypoints for "broken" jumppads (mostly the vertical ones). How to do it: 1) aim to a jumppad and spawn a waypoint with "wpeditor spawn crosshair"; 2) spawn another waypoint that will be the jumppad destination waypoint; 3) verify that bots can actually use it

  • b3f50407 WIP: Bot waypoints: add new command "wpeditor spawn crosshair" that spawn a waypoint at crosshair

Edited by terencehill