summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2019-05-22Expose 2D polygon boolean operations in Geometry singletonAndrii Doroshenko (Xrayez)
Clipper 6.4.2 is used internally to perform polypaths clipping, as well as inflating/deflating polypaths. The following methods were added: ``` Geometry.merge_polygons_2d(poly_a, poly_b) # union Geometry.clip_polygons_2d(poly_a, poly_b) # difference Geometry.intersect_polygons_2d(poly_a, poly_b) # intersection Geometry.exclude_polygons_2d(poly_a, poly_b) # xor Geometry.clip_polyline_with_polygon_2d(poly_a, poly_b) Geometry.intersect_polyline_with_polygon_2d(poly_a, poly_b) Geometry.offset_polygon_2d(polygon, delta) # inflate/deflate Geometry.offset_polyline_2d(polyline, delta) # returns polygons // This one helps to implement CSG-like behaviour: Geometry.transform_points_2d(points, transform) ``` All the methods return an array of polygons/polylines. The resulting polygons could possibly be holes which could be checked with `Geometry.is_polygon_clockwise()` which was exposed to scripting as well.
2019-05-22Build Clipper with `tools=no` and patch it to auto-disable exceptionsAndrii Doroshenko (Xrayez)
Reverts "Build polygon clipper only in tools builds" (see #17319) which allows to build Clipper with tools disabled (release) and because of that, Clipper has to be patched to optionally disable exceptions in order to be built on some platforms. Patched Clipper 6.4.2 to be compiled with exceptions enabled/disabled. and ensure that Clipper-specific exception macros are defined: don't use exceptions by default unless exception handling is detected. Compilation with exceptions will be determined by various C++ exceptions defines: * ` __cpp_exceptions` is part of C++ feature testing macros (since C++98); * `__EXCEPTIONS` is used by some GNU compilers; * `_CPPUNWIND` is used by MSVC. The user can override specific exceptions behavior via corresponding `*_USER` macros (i.e. compiling for embedded systems).
2019-05-21Merge pull request #29041 from hbina/add_constRémi Verschelde
add const to methods that return literals
2019-05-21Merge pull request #29011 from zann1x/masterRémi Verschelde
Initialize padding on PoolByteArray serialization
2019-05-21added a const keyword for a methods that return constant literal...hbina085
2019-05-20Merge pull request #27886 from LeonardMeagher2/obj_to_stringRémi Verschelde
Allow overriding how scripted objects are converted to strings
2019-05-20Style: Fix issues with clang-format 8.0Rémi Verschelde
2019-05-19Initialize padding on PoolByteArray serializationLukas Zanner
2019-05-19Fix typos with codespellRémi Verschelde
Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2019-05-18Merge pull request #28925 from Daw11/astar-sorted-arrayMax Hilbrunner
Improve the performance of AStar
2019-05-17Merge pull request #28944 from Faless/mix/object_get_indexedMax Hilbrunner
Fix Object::get_indexed for simple properties.
2019-05-16Merge pull request #28587 from Daw11/lanczosMax Hilbrunner
Implement Lanczos image filter
2019-05-16Fix Object::get_indexed for simple properties.Fabio Alessandrelli
Object::get_indexed was not correctly reporting invalid keys if the name was a direct property (not a subproperty), causing for example Tween to not report correctly a bad interpolate_property key.
2019-05-16Use a binary heap for the open list of AstarDaw11
2019-05-15Fix NaN with get_action_strengthGilles Roudière
2019-05-12Better handle some self-RSET/RPC in MultiplayerAPIFabio Alessandrelli
Allow calling yourself via RPC/RSET if the mode allows it. Better error messages when you are not allowed to call yourself.
2019-05-09Change "ID" to lowercase "id"Aaron Franke
Reasoning: ID is not an acronym, it is simply short for identification, so it logically should not be capitalized. But even if it was an acronym, other acronyms in Godot are not capitalized, like p_rid, p_ip, and p_json.
2019-05-08Avoid _can_call_mode resetting error message in MultiplayerAPIFabio Alessandrelli
2019-05-06Merge pull request #28525 from MunWolf/func_ref_validationRémi Verschelde
Added an is_valid function to FuncRef
2019-05-05Implement Lanczos image filterDaw11
2019-05-03Allow overriding how scripted objects are converted to stringsLeonard Meagher
solves #26796 - ADD `String to_string()` method to Object which can be overriden by `String _to_string()` in scripts - ADD `String to_string(r_valid)` method to ScriptInstance to allow langauges to control how scripted objects are converted to strings - IMPLEMENT to_string for GDScriptInstance, VisualScriptInstance, and NativeScriptInstance - ADD Documentation about `Object.to_string` and `Object._to_string` - Changed `Variant::operator String` to use `obj->to_string()`
2019-05-02Locales: Add some missing locale namesRémi Verschelde
2019-05-01Merge pull request #27676 from qarmin/small_fixes_2Rémi Verschelde
Small fixes to static analyzer bugs
2019-04-30Make "decimal" functions more consistentAaron Franke
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30Merge pull request #28530 from akien-mga/scons-prepend-cpppathRémi Verschelde
SCons: Always use env.Prepend for CPPPATH
2019-04-30Merge pull request #24437 from mateusfccp/single_quotes_optionRémi Verschelde
Add settings for single-quotes on completion
2019-04-30SCons: Always use env.Prepend for CPPPATHRémi Verschelde
Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
2019-04-30Merge pull request #27294 from lupoDharkael/rect2iRémi Verschelde
Add missing methods to Rect2i
2019-04-29Added an is_valid function to FuncRef so script can check if it is safe to ↵Rikhardur Bjarni Einarsson
call it.
2019-04-29Merge pull request #28423 from ↵Rémi Verschelde
neikeq/dont-forget-to-think-a-name-for-this-branch C#: Deprecate accessor methods and generate correct int and float types
2019-04-29Merge pull request #28452 from Sintinium/undoredo-lockRémi Verschelde
Undo support for locking and grouping for both 2D and 3D
2019-04-27C#: Generate the correct integer and floating point typesIgnacio Etcheverry
2019-04-26Undo support for locking and grouping for both 2D and 3DSintinium
2019-04-25Use approximate equallity methods in many placesAaron Franke
2019-04-25[Core] Approximate equalityAaron Franke
2019-04-25Merge pull request #28376 from ↵Rémi Verschelde
MuffinManKen/translation_server_get_all_loaded_locales Add method to get locales that have loaded translations
2019-04-24Added TranslationServer::get_loaded_locales to return an array of all ↵Ken Paulson
locales with a loaded Translation
2019-04-24SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde
Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
2019-04-09Style: Apply new changes from clang-format 8.0Rémi Verschelde
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
2019-04-08Add ability to edit editor feature profilesJuan Linietsky
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08Merge pull request #27711 from neikeq/ifdef-clang-tidyRémi Verschelde
Replace a few #if/#elif with #ifdef and "#elif defined"
2019-04-08Merge pull request #27506 from Chaosus/astarRémi Verschelde
Added functions to AStar for disable/enable points to effectivly create obstacles
2019-04-08Merge pull request #27452 from Chaosus/direction_toRémi Verschelde
Added method to retrieve a direction vector from one point to another
2019-04-08Merge pull request #27644 from lupoDharkael/busRémi Verschelde
Allow default audio bus layout modification
2019-04-08Merge pull request #26760 from Xrayez/26744-fix-string-to-lowerRémi Verschelde
Reorder reverse caps characters table for string lower case conversion
2019-04-08Merge pull request #27231 from Chaosus/smoothstepRémi Verschelde
Added smoothstep built-in function
2019-04-08Added functions to AStar for disable/enable pointsChaosus
2019-04-07Add FileAccess::set_unix_permissions for Unix platformsJuan Linietsky
2019-04-23Merge pull request #24269 from xsellier/feature/master-add-sha256Hein-Pieter van Braam
Add SHA256 for PoolByteArray
2019-04-23Merge pull request #26064 from JFonS/add_frustum_camera_modeHein-Pieter van Braam
Add FRUSTUM camera mode, allowing tilted frustums