summaryrefslogtreecommitdiff
path: root/scene/2d/navigation2d.cpp
AgeCommit message (Collapse)Author
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-09-20Better heuristic for the shortest path algorithm for navigation2D and ↵DualMatrix
navigation. Better heuristic for the shortest path algorithm for navigation2D and navigation. It now will use the shortest distance to the polygon as cost instead of the distance to the center.
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-05-17Fix missing return on Navigation2D::get_closest_point_ownerMarcelo Fernandez
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-15Renamed navmesh/poly_create to navmesh/poly_add since no navmesh is created.Nathan Warden
2017-11-25Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky
wrong function, leading to unnecesary copy on writes and reduced performance.
2017-08-30Merge pull request #10378 from RandomShaper/nav-keep-start-endRémi Verschelde
Guarantee start & end points are returned by Navigation2D
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-17Guarantee start & end points are returned by Navigation2DPedro J. Estébanez
So start and end points are unconditionally added to the returned point list, but first and last middle points are checked against them to avoid duplicates. `CMP_EPSILON` was already providing a guarantee, but knowing you will get exactly the endpoints you provided is even better.
2017-08-16Fix double point in Navigation2DPedro J. Estébanez
Fixes #10324.
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-13Rename the _MD macro to D_METHODHein-Pieter van Braam
This new name also makes its purpose a little clearer This is a step towards fixing #56
2017-01-16Style: Fix statements ending with ';;'Rémi Verschelde
2017-01-14Style: Fix whole-line commented codeRémi Verschelde
They do not play well with clang-format which aligns the `//` part with the rest of the code block, thus producing badly indented commented code.
2017-01-11Type renames:Juan Linietsky
Matrix32 -> Transform2D Matrix3 -> Basis AABB -> Rect3 RawArray -> PoolByteArray IntArray -> PoolIntArray FloatArray -> PoolFloatArray Vector2Array -> PoolVector2Array Vector3Array -> PoolVector3Array ColorArray -> PoolColorArray
2017-01-07Memory pool vectors (DVector) have been enormously simplified in code, and ↵Juan Linietsky
renamed to PoolVector
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-07-08Remove unused variables (fourth pass) + dead codeRémi Verschelde
Also fix a potential regression from 3fcb9b1ec179b99d979d4cfea9b5e3c80e4a3e33.
2016-06-18Add missing license headers in our source files (#5255)Rémi Verschelde
Also removes a couple wrong Godot headers from third-party source files.
2016-01-22-leftover debug code was causing a crash in navigation 2d, removed it and ↵Juan Linietsky
fixes #3374
2016-01-09removed printsAriel Manzur
2015-12-31-Ensure .tscn and .tres always save in a deterministic way, fixes #2495Juan Linietsky
-Scene edit state is saved outside the scene now, to avoid changes .tscn files when nothing really changed -Created a VariantWriter helper to unify all variant to text writing -Moved SceneFormatText writing to VariantWriter -Moved ConfigFile to use VariantWriter and VariantParser, added compatibility mode for old .cfg files that use engine.cfg format
2015-09-26Fixed theora playback. Removed theoraplayer.Juan Linietsky
Still need to get proper audio output latency in some platforms.
2015-06-01-fixes to navigation, so edge-merging is more flexible on conflictJuan Linietsky
-add tab support to richtextlabel -some click fixes to audio stream resampled -ability to import largetextures (dialog)
2015-05-022D pathfinder fixes, should now always find the best path.Juan Linietsky
2015-04-30-some cleanupsJuan Linietsky
-added tesselation function to curve and curve2d
2015-04-21ability to get closest owner to point, for navigation and navigation2dJuan Linietsky
2015-02-19-improved pathfinding accuracyJuan Linietsky
(i hope?)
2015-02-14New Navigation & Pathfinding support for 2DJuan Linietsky
-Added Navigation & NavigationPolygon nodes -Added corresponding visual editor -New pathfinding algorithm is modern and fast! -Similar API to 3D Pathfinding (more coherent)