Commit graph

2977 commits

Author SHA1 Message Date
qarmin
04c6579fd7 Don't use in some functions empty PoolByteArrays 2019-10-11 11:39:40 +02:00
Rémi Verschelde
7f075e519a
Merge pull request #32741 from qarmin/fix_string_utf_ascii
Don't use to_utf8() and to_ascii() on empty String
2019-10-11 11:24:40 +02:00
qarmin
c62da553cb Don't use to_utf8() and to_ascii() on empty String 2019-10-11 09:13:30 +02:00
PouleyKetchoupp
7dc0e68a53 Optimized Dictionary hash() and duplicate() methods 2019-10-10 18:12:20 +02:00
qarmin
684156f711 Fix decompress PoolByteArray crash 2019-10-10 17:15:10 +02:00
Hugo Locurcio
0528ce0a2a
Fix crash when using Node.get_as_property_path()
This closes #32679.
2019-10-09 15:44:00 +02:00
Aaron Franke
643874f8ca
[Mono] Change Plane intersect methods to return nullable Vector3 2019-10-08 22:47:22 -04:00
Rémi Verschelde
106e21fd5f
Merge pull request #32478 from AlexHolly/fix-rect2-encloses
Make Rect2.encloses return true on same size
2019-10-08 16:21:45 +02:00
Rémi Verschelde
c2edaa97f3
Merge pull request #32426 from gianllucah/master
Option to erase a section key in ConfigFile
2019-10-08 15:46:13 +02:00
Patrick Wuttke
d8b36a452c check for cyclic inheritance when adding a global class 2019-10-08 11:54:29 +02:00
Marcel Admiraal
c2aa3e2351 Remove circular include between core/typedefs.h and core/error_macros.h 2019-10-08 11:03:57 +02:00
Gianlluca
54cba54a45 Added a method to erase section key in ConfigFile 2019-10-07 18:11:19 -03:00
Marcel Admiraal
40197685bb Remove circular dependency between Vector3 and Basis. 2019-10-07 16:26:27 +02:00
Hugo Locurcio
3b8004865d
Remove redundant condition in String::_humanize_digits() 2019-10-04 18:07:06 +02:00
Andrii Doroshenko (Xrayez)
a0d00c0e99 Bind the String::humanize_size method
The method signature is also changed to use `uint64_t` instead of `size_t`
for it to be Variant-compatible.
2019-10-04 15:51:13 +03:00
Rémi Verschelde
00417675fa
Merge pull request #32524 from qarmin/fix_string_builder_null_memcpy
Don't add to StringBuilder empty String
2019-10-03 21:24:04 +02:00
qarmin
2bc7f9e545 Fix small memory leak in PackedSourcePCK::try_open_pack 2019-10-03 19:45:41 +02:00
qarmin
df03d9c2c5 Don't add to StringBuilder empty String 2019-10-03 19:14:29 +02:00
Alexander Holland
a681c90009 Make Rect2.encloses return true on same size 2019-10-02 03:27:48 +02:00
Bojidar Marinov
0b251997bb
Ensure object metadata is unique
Closes #32415
2019-09-28 18:15:23 +03:00
Shiqing
c2b824687d Reduce memory usage for edges in A* and add tests 2019-09-28 16:17:52 +08:00
Rémi Verschelde
7a67ae01a4
Merge pull request #32249 from hbina/a_star_ignore_disabled
Add option to consider disable points
2019-09-27 22:41:49 +02:00
Hanif Bin Ariffin
7b3790d2cc Add option to consider disable points
Previously, disabled points will not be considered when performing
get_closest_point. This commit changes that by introducing an additional
flag for this behavior. Related issue: #31814
2019-09-27 11:24:59 -04:00
Rémi Verschelde
202440acce
Merge pull request #31932 from huisedenanhai/master
make core/Reference thread safe
2019-09-26 11:26:05 +02:00
Ruslan Mullayanov
b4c927b514 Added an exit code to the blocking mode of OS::execute
Updated documentation accordingly.

Fixes #31881.
2019-09-26 08:12:07 +02:00
Rémi Verschelde
084481b79d
Merge pull request #32230 from kawa-yoiko/oa-backward-shift
Implement backward shift deletion for OAHashMap
2019-09-26 08:03:46 +02:00
Fabio Alessandrelli
dcf0a60a52
Merge pull request #32228 from damianday/patch-1
TCP is_connected_to_host comparison error
2019-09-26 03:02:14 +02:00
Damian Day
5631850152
Update stream_peer_tcp.cpp 2019-09-25 23:45:32 +01:00
Rémi Verschelde
28fcc5e25a
Merge pull request #32291 from Dragoncraft89/add_load_resource_flag
Add flag to control the replacement of files by ProjectSettings.load_resource_pack
2019-09-25 16:30:01 +02:00
Florian Kothmeier
aae25abf30
Add flag to control the replacement of files by ProjectSettings.load_resource_pack 2019-09-25 15:29:59 +02:00
Rémi Verschelde
dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin
17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Tomasz Chabora
46e1c0670e Don't try to slice empty arrays 2019-09-24 21:33:09 +02:00
Rémi Verschelde
823c3def72 Fix copyright headers and style issues 2019-09-24 11:52:06 +02:00
Rémi Verschelde
4f294b958f doc: Sync classref with current source
Fix a few missing bindings or unspecified argument names and default values.
2019-09-24 11:52:06 +02:00
Rémi Verschelde
ef2a7834c9
Merge pull request #31883 from aole/create-string-function-repeat
Create a GDScript String function repeat
2019-09-24 11:50:58 +02:00
Rémi Verschelde
ed18e3f195
Merge pull request #32273 from Calinou/humanize-size-fix-i18n
Fix i18n in `String::humanize_size()`
2019-09-23 15:57:18 +02:00
Rémi Verschelde
2114898cb5
Merge pull request #31172 from creikey/add-array-slicing
Add array slice method
2019-09-23 15:26:27 +02:00
Rémi Verschelde
159470df08
Merge pull request #32275 from godotengine/skin_support
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-23 15:02:15 +02:00
Hugo Locurcio
a51e8b1ff0
Fix i18n in String::humanize_size()
Calls to `RTR()` must be added to each string so the PO file generator
can pick them up.
2019-09-23 13:54:10 +02:00
Rémi Verschelde
46f909f8af
Merge pull request #32054 from puthre/variant_ref_optim
Optimized variant reference function.
2019-09-23 11:36:40 +02:00
Rémi Verschelde
393a0152ea
Merge pull request #32055 from qarmin/some_code_fixes
Changed some code found by Clang Tidy and Coverity
2019-09-23 10:00:31 +02:00
Rémi Verschelde
b94460b328
Merge pull request #32032 from nekomatata/encrypted-file-get-path
Implemented get_path() & get_path_absolute() for FileAccessEncrypted
2019-09-23 09:32:58 +02:00
qarmin
50be65bf43 Changed some code found by Clang Tidy and Coverity 2019-09-22 18:45:08 +02:00
Shiqing
78bee16e05 Implement backward shift deletion for OAHashMap 2019-09-21 14:32:40 +08:00
Marios Staikopoulos
11e09e59d1 GLTF2 Import Fixes - Skin(s) to Skeleton - Skin Support 2019-09-20 23:08:58 -07:00
Damian Day
748c9bc205
TCP is_connected_to_host comparison error
We was returning true when the state was not connected, so we would never return true when the state was connected.
2019-09-21 02:18:46 +01:00
fhuya
a7712cc9e4 Add new events and accompanying logic to notify when the app is paused and resumed on Android devices. 2019-09-19 13:29:49 -07:00
Cameron Reikes
757c509437 Add array slice method 2019-09-14 13:08:28 -07:00
Shiqing
98136418ac Improve support for directed graphs in AStar 2019-09-11 15:41:14 +08:00
Valentin Zagura
6a36779e89 Optimized variant reference function.
Optimized critical execution path in Variant::reference by removing expensive and unnecessary call to clear for atomic types.
2019-09-09 10:39:40 +01:00
PouleyKetchoupp
afe34344a6 Implemented get_path() & get_path_absolute() for FileAccessEncrypted 2019-09-07 19:22:33 +02:00
Hugo Locurcio
9a94fe7d26
Improve the String::humanize_size() method
- Use "B" insted of "Bytes" to be more compact
- Use suffixes that denote a binary prefix
- Make suffixes localizable

This removes the need for the custom
`EditorNetworkProfiler:_format_bandwidth()` method.
2019-09-05 19:48:46 +02:00
Fabio Alessandrelli
768d637a1b
Merge pull request #31870 from JFonS/add_network_profiler
Add network profiler
2019-09-05 16:34:36 +02:00
jfons
8244f535cd Add network profiler 2019-09-05 09:48:36 +02:00
huisedenanhai
124e51fdde make core/Reference thread safe 2019-09-04 12:17:07 +08:00
iwek7
617797c47c Adds skip-breakpoints feature 2019-09-03 20:49:09 +02:00
Bhupendra Aole
073f625a91 Create a GDScript String function repeat
Fixes #30610
2019-09-03 13:06:13 -04:00
Rémi Verschelde
a00a9e868e
Merge pull request #31021 from willnationsdev/script-reflection
Expose Script reflection methods to scripting API.
2019-09-03 18:33:55 +02:00
Rémi Verschelde
726711d8c5
Merge pull request #31756 from raphael10241024/fast_aabb_transform
a faster function to transform aabb
2019-09-03 12:26:43 +02:00
Rémi Verschelde
00258684d3
Merge pull request #31915 from KoBeWi/xformers
Don't transform global position of mouse input
2019-09-03 12:05:27 +02:00
Tomasz Chabora
e21cc3cc8d Don't transform global position of mouse input 2019-09-03 00:58:10 +02:00
Aaron Franke
f8b4cf0fc4
Check for exact equality before approximate equality 2019-09-01 14:02:14 -04:00
Andrii Doroshenko (Xrayez)
08272585e9 Remove redundant transform method in Geometry singleton
Transform2D's xform method can be used instead which handles
`PoolVector2Array` now (as well as 3D version).
2019-09-01 14:34:51 +03:00
Rémi Verschelde
c693b5a5bd
Merge pull request #31761 from Xrayez/trans2d-vector2array
Add transform methods for PoolVector*Array
2019-09-01 13:07:25 +02:00
Rémi Verschelde
69de1eca01
Merge pull request #31667 from YeldhamDev/geometry_point_circle_cleanup
Add 'is_point_in_circle()' to Geometry class, and general file cleanup
2019-09-01 12:59:49 +02:00
Rémi Verschelde
c8ae8f2fb1
Revert "Add __atomic_* operators support for atomic operations" 2019-09-01 12:19:44 +02:00
qarmin
b244ab4acc Fix memory leak in ResourceFormatSaverBinary::save 2019-08-30 13:46:05 +02:00
Andrii Doroshenko (Xrayez)
07cff56f48 Add transform methods for PoolVector*Array
Similarly to `Vector2` and `Rect2` transforms in 2D and Vector3, Plane,
and AABB in 3D. PoolVector2Array and PoolVector3Array were the only
missing Variant types in both Transform2D and Transform respectively.
2019-08-29 14:47:33 +03:00
RaphaelHunter
e7febd72d6 a faster funtion to transform aabb 2019-08-29 14:17:08 +08:00
Hugo Locurcio
5bd01bf637
Add a project description setting
The description is displayed as a tooltip when hovering the project
in the Project Manager. It can span multiple lines.

This partially addresses #8167.
2019-08-28 22:34:29 +02:00
Aaron Franke
34ab6549b1
[Mono] Various Color improvements
I also slid in a fix to C++ Vector3 > and >=
2019-08-27 22:05:18 -04:00
Michael Alexsander Silva Dias
6cc54a5864 Add 'is_point_in_circle()' to Geometry class, and general file cleanup 2019-08-27 18:01:05 -03:00
Rémi Verschelde
6b7117ce3f
Merge pull request #31662 from profan/perf/astar-reserve
Allow to reserve space for nodes in A* and elements in OAHashMap explicitly.
2019-08-27 10:09:08 +02:00
Robin Hübner
1031833fb0
allow to reserve space in OAHashMap explicitly and also in AStar.
* also handle overflow occurring in _get_probe_length
2019-08-27 00:38:35 +02:00
Rémi Verschelde
2f63811c9a
Merge pull request #25656 from bruvzg/macos_multi_instances
[macOS] Add ability to open multiple editor instances and global/dock menu access
2019-08-26 22:04:37 +02:00
Andrii Doroshenko (Xrayez)
c362527cb5 Modify outdated comments and error messages regarding indexed images
Godot doesn't support indexed images anymore (FORMAT_INDEXED),
so those are removed to avoid any confusion.
2019-08-26 18:21:19 +03:00
bruvzg
db6d4352ea
[macOS] Add methods to modify global and dock menus. Add ability to open multiple editor/project manager instances, recent/favourite project list to project manager dock menu and opened scene list to editor dock menu. 2019-08-26 16:45:49 +03:00
qarmin
33c62db7af Add forgotten pointer checking 2019-08-24 13:34:14 +02:00
Rémi Verschelde
51d50e167d
Merge pull request #31094 from aaronfranke/vector-sign-mod-etc
Add Vector2/3 sign and posmod functions, axis, docs, misc additions
2019-08-23 09:07:47 +02:00
Rémi Verschelde
3a53e792ef
Merge pull request #31513 from qarmin/int_overflow
Prevent int overflow and underflow
2019-08-23 09:05:25 +02:00
Andrii Doroshenko (Xrayez)
f013596760 Allow to define and load script templates per project
Previously it was only possible to create custom script templates per
editor instance which could lead to certain name collisions, but now one
can create such templates per project tailored for specific use cases.

The default path to search for custom script templates is defined in
project settings via `editor/script_templates_search_path` setting as
`res://script_templates` path, yet this can be configured per project.

Templates have at most two origins now:

1. Project-specific, defined in `ProjectSettings`, for instance:
    - res://script_templates/
2. Editor script templates, for instance:
    - %APPDATA%/Godot/script_templates/

As script templates can have the same name over different paths,
the override mechanism was also added, enabling project-specific
templates over the editor ones.
2019-08-22 20:51:30 +03:00
qarmin
538405f9c7 Prevent int overflow and underflow 2019-08-22 17:22:35 +02:00
Rémi Verschelde
7402fd2c56 Revert "Feature: Add SHA256 for PoolByteArray"
This reverts commit e2c3bbabb0.

This was superseded by #29871 which adds more crypto features with a
dedicated interface.

Since this commit was never in a stable release (merged during 3.2 dev),
we revert it to avoid having to deprecate it in favor of the Crypto API.
See https://github.com/godotengine/godot/pull/31187#issuecomment-523377965
2019-08-22 13:44:57 +02:00
Rémi Verschelde
1a4dbd9ee2
Merge pull request #31437 from volzhs/vibrate-mobile
Support vibration for Android and iOS
2019-08-21 21:10:22 +02:00
Rémi Verschelde
99980d856b
Merge pull request #29871 from Faless/crypto/initial_pr
More Crypto, SSL server, crt/key as Resource, HashingContext
2019-08-21 18:03:03 +02:00
Fabio Alessandrelli
ce5a3f56a6 Rewrite StreamPeerSSL with SSLContext helper class
connect_to_stream now accepts optional parameter to specify which
certificates to trust.
Implement accept_stream (SSL server) with key/cert parameters to specify
the RSA key and X509 certificate resources.
2019-08-21 16:59:38 +02:00
Fabio Alessandrelli
cb31b8797e Add hashing context class 2019-08-21 16:59:38 +02:00
Fabio Alessandrelli
3495d1bfa0 Add hex_encode function to PoolByteArray 2019-08-21 16:59:38 +02:00
Fabio Alessandrelli
1b36aa662c Add Crypto custom class 2019-08-21 16:59:35 +02:00
volzhs
4061e5bb75 Support vibration for Android and iOS 2019-08-21 23:38:53 +09:00
Rémi Verschelde
05a4310899
Merge pull request #31402 from profan/perf/astar-improvements
A* performance improvements, use OAHashMap.
2019-08-21 11:27:12 +02:00
Rémi Verschelde
7b37321ae3
Merge pull request #31499 from nekomatata/fix-new-project-metadata
Setting project metadata doesn't fail when project_metadata.cfg doesn't exist
2019-08-21 08:54:32 +02:00
Robin Hübner
4bac393549
astar performance improvements, use oahashmap 2019-08-21 08:47:55 +02:00
PouleyKetchoupp
b49226e085 Support for file not found in ConfigFile::Load and handle a few specific cases
EditorSettings::set_project_metadata: creates project_metadata.cfg if it doesn't exist
EditorPlugin::get_config: removed (not used)

Fixes #31444
2019-08-21 08:32:55 +02:00
Rémi Verschelde
a8db4c848d
Merge pull request #31395 from ptrojahn/floatsarenasty
Replace is_zero_approx(A.distance_to(B)) with A==B
2019-08-20 12:54:40 +02:00
Paul Trojahn
7c9c6df7e4 Replace is_zero_approx(A.distance_to(B)) with A==B
Related to #22988 (Fixes the holes in the shape of
the first comment)
2019-08-19 18:16:58 +02:00
Fabio Alessandrelli
c19871af6d Move CryptoCore to it's own folder.
Crypto classes will be placed in core/crypto.
2019-08-19 16:31:05 +02:00
Fabio Alessandrelli
5cb41faece Fix CryptoCore signatures, add SHA1 context.
Fix hash size in SHA256 signature
Fix source parameter in hash context update function to be const.
Add SHA1 hash context.
2019-08-19 16:29:37 +02:00
Rémi Verschelde
5c853a45e6
Merge pull request #31423 from Calinou/improve-node-signal-group-tooltip
Improve the scene tree signals/groups tooltip
2019-08-18 10:55:16 +02:00
Aaron Franke
092346d82b
Add Vector2/3 sign and posmod functions, misc additions
Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
2019-08-17 18:31:55 -04:00
Rémi Verschelde
ad8746e0de DirAccessPack: Fix dir_exists and file_exists for res:// paths
Both methods check against containers using relative paths as index,
so the `res://` part needs to be stripped.

Fixes #26009.
2019-08-17 19:03:28 +02:00
Hugo Locurcio
c62302a432
Improve the scene tree signals/groups tooltip
The tooltip now displays the number of connections and groups
that are assigned to the hovered node.
2019-08-17 14:20:16 +02:00
Rémi Verschelde
d3153c28f0 Replace last occurrences of 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG'
The last remaining ERR_EXPLAIN call is in FreeType code and makes sense as is
(conditionally defines the error message).

There are a few ERR_EXPLAINC calls for C-strings where String is not included
which can stay as is to avoid adding additional _MSGC macros just for that.

Part of #31244.
2019-08-17 13:31:22 +02:00
Braden Bodily
71d71d55b5 Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
Condensed some if and ERR statements. Added dots to end of error messages

Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Davide Busterna
5ba632a73b Fix image offset when upscaling with Lanczos 2019-08-15 10:54:38 +02:00
Rémi Verschelde
b030834b63
Merge pull request #31321 from julianaito/master
Add __atomic_* operators support for atomic operations
2019-08-15 02:55:39 +02:00
Charlène
3185a1b274 Replace legacy __sync atomic operations with newer __atomic ones 2019-08-14 15:56:02 +02:00
Rémi Verschelde
6c607c3564
Merge pull request #31266 from IAmActuallyCthulhu/pr/remove-redundant-author-comments
Remove redundant author doc comments
2019-08-14 13:45:54 +02:00
Robin Hübner
7092dd9d58
remove unused self list include from astar 2019-08-13 18:28:56 +02:00
Rémi Verschelde
e7d484982e
Merge pull request #31292 from iwek7/fixDebuggerInspectionForNodes
Fixes issue with debug inspecing of nodes that are not in the scene tree
2019-08-13 08:24:01 +02:00
miwanczuk
98a3b2e5f4 Fixes issue when inspecting nodes that are not in the tree 2019-08-12 17:06:44 +02:00
Rémi Verschelde
37a16fee05 Export: Remove temp files from cache after export
So far we left most temporary files lying around, so this attempts to
fix that.

I added a helper method to DirAccess to factor out the boilerplate of
creating a DirAccess, checking if the file exists, remove it or print
an error on failure.
2019-08-12 13:31:59 +02:00
Rémi Verschelde
5441aaf768
Merge pull request #31228 from aaronfranke/identity-constants
Add Basis constants and format Transform constants
2019-08-12 12:42:30 +02:00
IAmActuallyCthulhu
82b9557803
Remove redundant author doc comments 2019-08-12 04:26:38 -05:00
IAmActuallyCthulhu
a940ed781c
Remove old doc comments in image_loader header 2019-08-10 08:13:44 -05:00
Aaron Franke
85f13a0d24
Add Basis constants and format Transform constants 2019-08-09 11:34:54 -07:00
Rémi Verschelde
22b42c3315
Merge pull request #30893 from profan/fix/err-explain
Implement error macros that come with an error message, replacing ERR_EXPLAIN.
2019-08-08 16:28:06 +02:00
Robin Hübner
8affda0916 implement accompanying error macros that come with an error message, to replace ERR_EXPLAIN usage. 2019-08-08 15:05:59 +02:00
Rémi Verschelde
274bac2783
Merge pull request #30934 from santouits/debugg
Hopefully fix the random crashes with threads
2019-08-08 14:50:47 +02:00
Rémi Verschelde
e578c1fef8
Merge pull request #31195 from bojidar-bg/31143-funcref-call_funcv
Add FuncRef.call_funcv
2019-08-08 11:24:27 +02:00
Bojidar Marinov
7123fab771
Add FuncRef.call_funcv
Closes #31143
2019-08-08 11:58:57 +03:00
Rémi Verschelde
b33042507b Translation: Fix logic bug finding match for regional locales
The  match test was inverted. The rest of the changes
are documentation and cleanup.

Fixes #26346 and fixes #31192.
2019-08-08 10:15:55 +02:00
Rémi Verschelde
1d5ae6da5b
Merge pull request #31047 from Zylann/save_exr
Add Image.save_exr()
2019-08-08 08:53:02 +02:00
Marc Gilleron
cd2de77b04 Add Image.save_exr() 2019-08-07 21:17:47 +01:00
Rémi Verschelde
ba541bceca
Merge pull request #31077 from qarmin/coverity_bugs
Change some code proposed by Coverity and Cppcheck
2019-08-07 13:49:33 +02:00
qarmin
e0b5b21863 Add some code changes/fixes proposed by Coverity and Clang Tidy 2019-08-07 12:54:30 +02:00
Rémi Verschelde
365994a630
Merge pull request #30998 from Calinou/cap-warnings-errors-per-second
Cap the number of warnings/errors per second rather than per frame
2019-08-06 15:21:20 +02:00
TGRCDev
c6f7015bca Fixed EOF flag not resetting on seek back 2019-08-05 18:20:18 -07:00
Aaron Franke
a9c10450bd
[Core] [Mono] Optimize Wrap functions
Use is_zero_approx(), avoid a negative, and also rename "rng" to "range".
2019-08-04 20:38:38 -07:00
willnationsdev
88f79802f6 Expose Script reflection methods to scripting API. 2019-08-01 14:13:40 -05:00
Hugo Locurcio
47c615caf3
Cap the number of warnings/errors per second rather than per frame
This reproduces the behavior used for printing when using the remote
debugger. The default limit is 100 errors and 100 warnings per second,
which makes it possible to display much more GDScript warnings
before overflowing.

This also adds a "Too many warnings" message, so that warnings
don't look like errors when overflowing anymore.

This closes #21896.
2019-07-31 17:29:26 +02:00
santouits
13efc1bb06 Hopefully fix the random crashes with threads 2019-07-30 19:08:33 +03:00
Aaron Franke
7dbbb5eac7
[Mono] Deprecate Set methods
These silently fail, so they should be removed. I accidentally added most of these last year, trying to make everything else consistent with Quat, sorry!

Also, a few tiny nitpicking changes are included, like whitespace and misspellings.
2019-07-28 17:49:22 -04:00
Cameron Reikes
b3cb58e7b3 Some resources are freed before they are saved
- PackedScenes freed before saved, so their path cache is lost
 - Solution is to move data to persistent static map
 - This patch will fix #30538
2019-07-25 17:21:47 -07:00
Rémi Verschelde
43238bb59a DirAccess: Drop compat get_next(bool *is_dir) which was hidden
Fixes this warning:
```
./core/os/dir_access.h:74:17: warning: 'virtual String DirAccess::get_next(bool*)' was hidden [-Woverloaded-virtual]
```

Part of #30790.
2019-07-25 11:09:57 +02:00
Rémi Verschelde
1481d299ea
Merge pull request #30776 from akien-mga/editor-configurable-float-step
Inspector: Make default float step configurable
2019-07-25 10:33:45 +02:00
Rémi Verschelde
336846e547 Inspector: Fix PROPERTY_HINT_SPRITE_FRAME not behaving as RANGE
This was a regression in 3.1 and later from the new inspector, where
PROPERTY_HINT_SPRITE_FRAME was not fully re-implemented. It's meant to
be a normal PROPERTY_HINT_RANGE which also automatically increments its
value when keyed in the animation player.

To avoid code duplication, I made the frames properties use the actual
PROPERTY_HINT_RANGE and introduced a PROPERTY_USAGE_KEYING_INCREMENTS
usage flag instead.
2019-07-25 09:29:51 +02:00
Rémi Verschelde
aa062c54fc
Merge pull request #25090 from Chaosus/string_count
Added String.count method
2019-07-24 08:32:42 +02:00
Michael Alexsander Silva Dias
12ae7a4c02 Update some dead links in the codebase 2019-07-23 21:06:12 -03:00
Chaosus
080c0bb7fe Added count method to String 2019-07-23 18:55:54 +03:00
Rémi Verschelde
d844e30614 Inspector: Make default float step configurable
Also allow lifting the decimal step formatting with a hint range step
of 0. A new `range_step_decimals()` is added for this to avoid breaking
compatibility on the general purpose `step_decimals()` (which still
returns 0 for an input step of 0).

Supersedes #25470.
Partial fix for #18251.
2019-07-23 17:31:38 +02:00
Rémi Verschelde
4c943cca2c
Merge pull request #30716 from qarmin/fixed_static_analiser_code
Fix some code found by Coverity Scan and PVS Studio
2019-07-23 15:08:44 +02:00
qarmin
aab8da25ad Fix some code found by Coverity Scan and PVS Studio 2019-07-23 09:14:31 +02:00
Rémi Verschelde
9f5b77acc9
Revert "Expose "meta" to the Inspector" 2019-07-22 12:03:57 +02:00
Ignacio Etcheverry
2c85439da0 Make it a build error if a GetTypeInfo specialization cannot be resolved
Previously it was a runtime error message.
2019-07-22 00:08:35 +02:00
Rémi Verschelde
60efd67034
Merge pull request #30693 from Chaosus/lerp_angle
Added lerp_angle built-in function
2019-07-20 13:37:13 +02:00
Rémi Verschelde
d15cf7b672
Merge pull request #30576 from qarmin/lgtm_coverage
Changed some code reported by LGTM and Coverity
2019-07-20 12:00:13 +02:00
Chaosus
6694c119d0 Added lerp_angles built-in function
Co-authored-by: Xrayez <https://github.com/Xrayez>
Co-authored-by: DleanJeans <https://github.com/DleanJeans>
2019-07-20 12:59:41 +03:00
qarmin
6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Rémi Verschelde
c317a3ce16
Merge pull request #30354 from LikeLakers2/multinodeedit-same-type-properties
MultiNodeEdit now only shows properties with the exact same PropertyInfo data
2019-07-19 17:58:17 +02:00
Rémi Verschelde
f796779f7c
Merge pull request #23310 from aaronfranke/posmod-int
Add integer posmod and rename default arg names
2019-07-19 15:07:49 +02:00
Rémi Verschelde
2ca3e47d66
Merge pull request #22642 from YeldhamDev/inspector_metadata
Expose "meta" to the Inspector
2019-07-19 14:39:23 +02:00
Aaron Franke
a60f242982 Add integer posmod and rename default arg names
"posmod" is the integer version of "fposmod". We do not need a "mod" because of the % operator.

I changed the default arg names from "x" and "y" to "a" and "b" because they are not coordinates. I also changed pow's arg names to "base" and "exp". Also, I reorganized the code in the VS built-in funcs switch statement.
2019-07-18 16:33:43 -04:00
Rémi Verschelde
20a3bb9c48
Merge pull request #30226 from lawnjelly/interpolate
Add access to interpolation fraction for fixed timestep interpolation
2019-07-18 15:44:14 +02:00
Rémi Verschelde
dfe228a865
Merge pull request #30341 from Toshiwoz/master
when doing Vector3 slerp it is not necessary to have it normalized.
2019-07-12 10:27:38 +02:00
lawnjelly
bf6c301b9c Add access to interpolation fraction for fixed timestep interpolation
Addresses #30068

This is a prerequisite for allowing proper support for fixed timestep interpolation, exposing the interpolation fraction to the engine, modules and gdscript.

The interpolation fraction is the fraction through the current physics tick at the time of the current frame.
2019-07-11 08:25:26 +01:00
Rémi Verschelde
34d7484039
Merge pull request #30455 from qarmin/const_reference
Pass by reference to const
2019-07-10 15:43:15 +02:00
qarmin
01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Rémi Verschelde
68081b3f6e
Merge pull request #30188 from Andrettin/Method-Binding-Free-Function-Support
Method Binding Free Function Support
2019-07-09 22:33:43 +02:00
Andrettin
e2a3ed3cd8 Added support for passing functions pointers (with a class instance as the first parameter) to method bindings 2019-07-09 21:18:39 +02:00
Rémi Verschelde
2d77390170
Merge pull request #30433 from akien-mga/cryptocore-string-escape
SCons: Fix MBEDTLS_CONFIG_FILE string escape
2019-07-09 08:27:40 +02:00
Rémi Verschelde
f1a37be69c SCons: Fix MBEDTLS_CONFIG_FILE string escape
Fixes #30431, regression from #30277.
2019-07-08 18:05:48 +02:00
Fabio Alessandrelli
2f91e250f6 Add NULL-terminator the string passed to strtol.
This is actually expected by the function although it was apparently
working in GCC without the terminator, it breaks (at least some) clang
versions.
2019-07-08 17:15:10 +02:00
Rémi Verschelde
36424a6763
Merge pull request #30422 from Faless/net/tcp_connect_timeout
Add TCP connect timeout.
2019-07-08 13:39:00 +02:00
Fabio Alessandrelli
32da4d7819 Add TCP connect timeout.
Default timeout is 30 seconds (i.e. after 30 seconds of calling
connect_to_host if the TCP peer is not connected the connection will
error out).

This value can be configured in project settings:
`network/limits/tcp/connect_timeout_seconds`
2019-07-08 09:18:46 +02:00
Rémi Verschelde
74b00d1bea
Merge pull request #30392 from hbina/redundant_check_pool_vector
Removed a redundant check in PoolVector
2019-07-08 08:31:14 +02:00
Rémi Verschelde
af80182016
Merge pull request #30407 from qarmin/small_fixess
Fixes minor issues found by static analyzer
2019-07-08 08:16:50 +02:00
hbina085
ff348e48f9 Removed a redundant check in PoolVector
The set method of PoolVector<T> performs an indexing check twice.
2019-07-07 19:04:56 -04:00
qarmin
9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
Rémi Verschelde
44db85d6f6
Merge pull request #30382 from simonpuchert/geo-opt
Some small optimizations in core/math/geometry.h.
2019-07-06 21:07:52 +02:00
Simon Puchert
4b78e17b15 Optimize get_closest_point_to_segment*.
By combining all scalar factors we can get rid of a scalar * vector
multiplication and a square root operation, since the resulting formula
only uses the squared length.
2019-07-06 17:41:13 +02:00
Ibrahn Sahir
4e4697b1c4 Added release function to PoolVector::Access.
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
LikeLakers2
e86f6faf64 MultiNodeEdit now only shows properties with the exact same PropertyInfo data 2019-07-05 17:40:06 -04:00
Toshiwo
3aff645114 when doing Vector3 slerp it is not necessary to have it normalized. 2019-07-05 11:17:52 -05:00
Rémi Verschelde
6e9cb44004
Merge pull request #30282 from neikeq/editor_in_cs_equals_win
Re-write mono module editor code in C#
2019-07-05 10:29:19 +02:00
Rémi Verschelde
a149e412f7
Merge pull request #24086 from RandomShaper/bundle-pck-to-executable
Enhance game export
2019-07-05 10:28:29 +02:00
Ignacio Etcheverry
0639946c72 Fix localize_path not always working
We make sure the resource dir path ends with a trailing '/' for safety reasons, so we must make sure the path we compare it to does so as well.
2019-07-05 09:38:28 +02:00
Ignacio Etcheverry
270af6fa08 Re-write mono module editor code in C#
Make the build system automatically build the C# Api assemblies to be shipped with the editor.
Make the editor, editor player and debug export templates use Api assemblies built with debug symbols.
Always run MSBuild to build the editor tools and Api assemblies when building Godot.
Several bugs fixed related to assembly hot reloading and restoring state.
Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
2019-07-05 09:38:23 +02:00
Rémi Verschelde
42a0148f17
Merge pull request #30296 from neikeq/issue-30127
Expose ResourceImporter to the scripting API
2019-07-05 09:20:05 +02:00
Rémi Verschelde
259a3fb1e9
Merge pull request #29744 from GodotExplorer/gdscript-completion-icons
Show icons for code completion options
2019-07-05 08:00:40 +02:00
Geequlim
10cfd87414 Show icons for code completion options 2019-07-05 09:25:50 +08:00
Ignacio Etcheverry
307eb34be0 Expose ResourceImporter to the scripting API
Fixes #30127
2019-07-04 16:11:57 +02:00
Rémi Verschelde
550f436f8f
Merge pull request #30263 from Faless/ws/wslay_pr
Use wslay as a WebSocket library
2019-07-04 15:55:33 +02:00
Fabio Alessandrelli
9e303ef71c WebSocket module now uses wslay library.
Both client and server are supported on native builds (as usual).

SSL server is still not supported, but will soon be possible with this
new library.

The API stays the same, we just need to work out potential issues due to
this big library switch.
2019-07-04 15:03:04 +02:00
Geequlim
ed7ed52151 Parse more informations for code completion 2019-07-04 14:00:14 +08:00
Pedro J. Estébanez
40f4d3cf0f Add embedded PCK option to PC platforms
The basic point is as in 2.1 (appending the PCK into the executable), but this implementation also patches a dedicated section in the ELF/PE executable so that it matches the appended data perfectly.

The usage of integer types is simplified in existing code; namely, using plain `int` for small quantities.
2019-07-03 21:58:12 +02:00
Fabio Alessandrelli
c13be79594 Add TCP Server is_listening method 2019-07-03 18:42:46 +02:00
Fabio Alessandrelli
24c52f1c2e Add b64 to string helper in CryptoCore 2019-07-03 18:42:46 +02:00
Fabio Alessandrelli
6c512e21a9 Add sha1 functions to string (using new CryptoCore) 2019-07-03 18:42:46 +02:00
Rémi Verschelde
b0d41847ed SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines
It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).

We still use CPPFLAGS for some pre-processor flags which are not
defines.
2019-07-03 09:59:04 +02:00
Fabio Alessandrelli
c798173332 Fix editor crash when StreamPeerSSL is unavilable.
The fix for EditorNode is a bit hacky, but the handling of the buttons
and features there is hacky too (based on enums that might not reflect
the actual state).
2019-07-02 15:34:34 +02:00
Rémi Verschelde
e9d624d7ce
Merge pull request #30239 from Faless/crypto/crypto_core
CryptoCore class to access to base crypto utils.
2019-07-02 14:52:43 +02:00
Fabio Alessandrelli
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Rémi Verschelde
98879be276
Merge pull request #27510 from fire/screenshot_editor
Add editor screenshot on control - f12.
2019-07-02 11:30:16 +02:00
Rémi Verschelde
c486b8dac0
Merge pull request #30223 from qarmin/properly_delete_thread
Remove thread to prevent memory leak
2019-07-02 11:26:29 +02:00
K. S. Ernest (iFire) Lee
05de0eafab Add editor screenshot on control - f12. 2019-07-01 13:39:21 -07:00
qarmin
6edd06e566 Remove thread to prevent memory leak 2019-07-01 15:07:06 +02:00
Rémi Verschelde
6b30f284a0
Merge pull request #29980 from Dentrax/directed-by-qarmin
Fix some editor crashes
2019-07-01 14:59:29 +02:00
Rémi Verschelde
b0ce9401ff
Merge pull request #30126 from qarmin/remove_unnecessary_code
Remove unnecessary code and add some error explanations
2019-07-01 14:32:04 +02:00