Commit graph

2807 commits

Author SHA1 Message Date
Fabio Alessandrelli 729b1e9941 WebRTC refactor. Data channels, STUN/TURN support.
A big refactor to the WebRTC module. API is now considered quite stable.

Highlights:

- Renamed `WebRTCPeer` to `WebRTCPeerConnection`.
- `WebRTCPeerConnection` no longer act as `PacketPeer`, it only handle the connection itself (a bit like `TCP_Server`)
- Added new `WebRTCDataChannel` class which inherits from `PacketPeer` to handle data transfer.
- Add `WebRTCPeerConnection.initialize` method to create a new connection with the desired configuration provided as dictionary ([see MDN docs](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection#RTCConfiguration_dictionary)).
- Add `WebRTCPeerConnection.create_data_channel` method to create a data channel for the given connection. The connection must be in `STATE_NEW` as specified by the standard ([see MDN docs for options](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel#RTCDataChannelInit_dictionary)).
- Add a `data_channel_received` signal to `WebRTCPeerConnection` for in-band (not negotiated) channels.
- Renamed `WebRTCPeerConnection` `offer_created` signal to `session_description_created`.
- Renamed `WebRTCPeerConnection` `new_ice_candidate` signal to `ice_candidate_created`
2019-05-16 11:21:20 +02:00
Rémi Verschelde eded8d52e3
Merge pull request #28917 from Faless/gdnative/singleton_editor_fix_pr
Update GDNativeLibrarySingletonEditor.
2019-05-16 08:59:02 +02:00
Frank Secilia a4a0e64245 Fix indexing failure in NativeScriptLanguage::unregister_binding_functions.
binding_functions.size() and an instance's binding_data.size() can get out of sync. They sync up when an instance's bindings are requested. When binding functions are registered after creating an instance's bindings, the instance's bindings are out of sync until requested again. If they're never requested, they're never synced.

unregister_binding_functions indexes into binding_data, but only checks that its safe to index into binding_functions. When they're out of sync, indexing fails.

This revision checks that it's safe to index into binding_data.
2019-05-15 15:28:55 -04:00
Fabio Alessandrelli a95563208f Update GDNativeLibrarySingletonEditor.
Moved GDNative singletons discoverer from register_types to
GDNativeSingletonEditor.
Fix enable/disable switch in GDNativeLibrarySingletonEditor.
Separate `gdnative/singletons` and `gdnative/singletons_disabled`
project settings, keeping "on by default" behavior.
2019-05-15 18:08:17 +02:00
Rémi Verschelde 9beb26cef3
Merge pull request #28809 from bojidar-bg/x-navmesh-wrong-vertex-order
Fix orientation of generated navmeshes
2019-05-13 13:49:02 +02:00
Rémi Verschelde abc6dd7fa2
Merge pull request #28839 from Faless/gdnative/lib_resource_fix
Fix GDNative library resource loading.
2019-05-13 13:33:10 +02:00
Rémi Verschelde 647021e864
Merge pull request #28326 from BastiaanOlij/center_heightmap
Center shape according to logic Bullet applies
2019-05-13 12:58:00 +02:00
Fabio Alessandrelli aecbb330f3 Fix GDNative library resource loading.
Store general properties in ConfigFile too when modifying them.
Additionally set config_file property as internal as it's not editable
from inspector. It also does not appear to get saved in a meaningful way
(saved as Object(ConfigFile, ...))
2019-05-12 21:26:22 +02:00
Bojidar Marinov 4cf3113a1a
Fix orientation of generated navmeshes
Fixes #23817
2019-05-11 21:39:52 +03:00
Ryan Stein 42d6205e8c Add RegEx substitution testcase and fix relevant docs
(cherry picked from commit a31bbb4bd9)
2019-05-11 09:03:19 +02:00
Aaron Franke 702b539405
Change "ID" to lowercase "id"
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-09 06:25:32 -04:00
Bastiaan Olij e4dea0595a Add transform support to deal with Bullets centering of shapes 2019-05-07 22:43:10 +10:00
Ignacio Roldán Etcheverry 255ea11502
Merge pull request #28700 from ShyRed/fixmonogluewindows
Fix generation of Mono Glue for Visual Studio 2017+
2019-05-05 16:47:21 +02:00
ShyRed 77ab9ba252 Fix generation of Mono Glue for Visual Studio 2017+
vsnprintf definition should only be changed when MSC version is older than 2013. The version check and fix is taken from StringUtils.h of assimp.
2019-05-05 12:39:02 +02:00
Anish f0757f31a4 Fixes VideostreamGDNative crash on audio_channel=0.
Added an if case to check if the mix_callback exists before running any
of the audio code.

Fixes: #28644
2019-05-04 00:34:58 +05:30
Rémi Verschelde c2251eab51
Merge pull request #28603 from bojidar-bg/24134-typed-array-share
Fix typed arrays and dictionaries getting their values shared
2019-05-03 18:35:57 +02:00
Rémi Verschelde 7e4cb80d4c
Merge pull request #27594 from marxin/fix-duplicate-conditions
Fix duplicated conditions.
2019-05-03 14:46:44 +02:00
Rémi Verschelde 262924296b
Merge pull request #27415 from aqnuep/kinematicbody_fixes
KinematicBody performance and quality improvements
2019-05-02 18:03:58 +02:00
Rémi Verschelde d6aa2858b4
Merge pull request #28609 from bojidar-bg/27152-indirect-code-completion
Fix slight issues with autocompletion and member lists in GDScript
2019-05-02 18:00:48 +02:00
Rémi Verschelde 0eb924a425
Merge pull request #28447 from fire/vs_reorder_search
Change order of Visual Script Search and Misc VS UX
2019-05-02 16:25:01 +02:00
Bojidar Marinov f9d9530902
Fix slight issues with autocompletion and member lists in GDScript
Fixes #27152
Fixes #28591
2019-05-02 17:13:45 +03:00
Bojidar Marinov aff9320ff2
Fix typed arrays and dictionaries getting their values shared 2019-05-02 14:00:33 +03:00
marxin cdf54d6c5f Ignore a warning in _get_socket_error (-Wlogical-op).
drivers/unix/net_socket_posix.cpp: In member function 'NetSocketPosix::NetError NetSocketPosix::_get_socket_error()':
drivers/unix/net_socket_posix.cpp:197:22: warning: logical 'or' of equal expressions [-Wlogical-op]
  197 |  if (errno == EAGAIN || errno == EWOULDBLOCK)
      |                      ^

and:

modules/mono/utils/string_utils.cpp: In function 'int {anonymous}::sfind(const String&, int)':
modules/mono/utils/string_utils.cpp:68:48: error: logical 'or' of collectively exhaustive tests is always true [-Werror=logical-op]
      found = src[read_pos] == 's' || (c >= '0' || c <= '4');
                                       ~~~~~~~~~^~~~~~~~~~~
2019-05-02 11:11:52 +02:00
Rémi Verschelde b7cd9794fe
Merge pull request #28568 from Faless/net/lws_rollback_3.0.1_pr
Roll back libwebsockets to version 3.0.1
2019-05-02 08:15:23 +02:00
Fabio Alessandrelli 4f9408a0f8 Freetype clone env for no-SMID single file
Fix freetype build issue for javascript platform.
When disabling optimizations (SMID) in specific freetype, source files,
we need to make sure to copy all other CPPFLAGS, not just override them.
2019-05-01 18:38:50 +02:00
K. S. Ernest (iFire) Lee 432460a355 VS: Give the generic search the current base type. 2019-05-01 08:27:22 -07:00
K. S. Ernest (iFire) Lee 4e6420b5a8 VS: Better ux
* In VS functions' put the current node type first.
* Cleanup and merge property and method sections.
2019-05-01 08:07:35 -07:00
K. S. Ernest (iFire) Lee a9c6c98a67 Change order of Visual Script Search.
Previously:

* vs nodes
* properties
* methods

Now:

* properties
* methods
* vs nodes
2019-05-01 08:07:35 -07:00
Rémi Verschelde 1d9a207dda
Merge pull request #28563 from DrMoriarty/fix-pvrtc-encoder
Fix pvrtc encoder
2019-05-01 15:45:16 +02:00
Fabio Alessandrelli be414e4476 Revert "Update libwebsockets to 3.1 (plus UWP patch)"
This reverts commit 90210c4862.
2019-05-01 14:41:47 +02:00
Rémi Verschelde 3cfab06080
Merge pull request #25406 from aqnuep/gridmap_improvements
GridMap editor fixes and improvements
2019-05-01 12:47:00 +02:00
Vasiliy Makarov 4009d26022 Fix pvrtc encoder
Always resize image to square of power2
Enable mipmaps only if original texture has it enabled
Fix #28534, #28541
2019-05-01 13:34:01 +03:00
Rémi Verschelde ae41e35191
Merge pull request #27676 from qarmin/small_fixes_2
Small fixes to static analyzer bugs
2019-05-01 08:19:04 +02:00
Rémi Verschelde 8afc9c3938
Merge pull request #21425 from aaronfranke/decimal-functions
Make "decimal" functions more consistent
2019-05-01 08:16:10 +02:00
Rémi Verschelde 7ff0979747
Merge pull request #28544 from neikeq/issue-28540
Fix missing argument for vsnprintf_s
2019-05-01 07:18:31 +02:00
Ignacio Etcheverry 4eedb97802 Fix missing argument for vsnprintf_s 2019-04-30 23:15:25 +02:00
Aaron Franke 620ec4703f
Make "decimal" functions more consistent
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30 13:49:17 -04:00
Rémi Verschelde a7f00f3bac
Merge pull request #28530 from akien-mga/scons-prepend-cpppath
SCons: Always use env.Prepend for CPPPATH
2019-04-30 18:23:38 +02:00
Rémi Verschelde 9dc9434b1b
Merge pull request #24437 from mateusfccp/single_quotes_option
Add settings for single-quotes on completion
2019-04-30 14:58:33 +02:00
Daniel Rakos 07e2a86fc4 GridMap editor fixes and improvements
This change fixes a few outstanding issues and greatly improves the usability
of the GridMap editor through the following changes:

- Copied mesh now gets displayed during pasting (also renamed the related
  identifiers accordingly)
- Duplication/paste indicator now gets rotated around the correct pivot point
  (duplication worked properly before, but the indicator was shown misplaced
  when rotated)
- Selected mesh library item cursor is no longer shown during selection and
  duplication/pasting
- Back rotate X/Y/Z is now working during duplication/pasting
- Added true cut operation thanks to now having a proper clipboard (clear
  operation got remapped to the DEL key)
- Got rid of some weird workarounds in the duplication code
- Fill and clear operations now correctly make the selection marker inactive
  as this was broken partly due to the workarounds mentioned above
  (duplication continues to keep the selection marker active to allow
  subsequent duplications)
- Clear current selection on RMB, but treat selection as an action so previous
  selection can be restored on undo
- Separated selection and paste indicator data as it's prone to error and
  confusion and it's anyway needed now that selection is treated as an action
- Added support for cancelling paste, selection, and even unselect the
  currently selected mesh library item with the ESC key (previously there
  wasn't a way to unselect)
- Changed the key binding of fill/clear/duplicate operations to use Ctrl as a
  modifier
- Changed erase to use RMB instead of Shift+RMB (free look is available
  through Shift+F anyway, so no need to occupy RMB for it during gridmap
  editing)
- Removed unused area, external connector, and configure menu items (there's
  also the non-functional clip mode menu items, but I'm not sure whether there
  are any plans with that, I suppose it's meant to be an editor aid)
- Renamed INPUT_COPY to INPUT_PICK to better reflect its purpose
- Added support for using Shift+Q and Shift+E to select multiple floors/planes
  without actually changing the current floor/plane as it happens when using
  e.g. the mouse wheel

Fixes #25373 and #15883
2019-04-30 14:35:18 +02:00
Rémi Verschelde 9da3d736ad Fix sign-compare error from #26051 2019-04-30 14:12:46 +02:00
Rémi Verschelde 58531a9a0a
Merge pull request #28532 from BastiaanOlij/fix_gdnative_notify
Forgot a parameter in the ARVR gdnative bindings for notifications
2019-04-30 14:00:59 +02:00
Ignacio Roldán Etcheverry e014561a28
Merge pull request #28519 from neikeq/mono-exported-arrays-resource-type-hint
C#: Support resource type hint in exported arrays
2019-04-30 13:52:09 +02:00
Bastiaan Olij a8114b9936 Forgot a parameter in the ARVR gdnative bindings for notifications 2019-04-30 21:47:14 +10:00
Rémi Verschelde 12cc760538
Merge pull request #26051 from 20kdc/videofix
webm/theora/yuv2rgb/libsimplewebm: Fix colour issues I could find.
2019-04-30 13:38:44 +02:00
Rémi Verschelde d52b70fb5e SCons: Always use env.Prepend for CPPPATH
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-30 13:12:06 +02:00
Rémi Verschelde 0327d57cfd
Merge pull request #27007 from BastiaanOlij/arvr_notifications
Send notifications to ARVRInterfaces
2019-04-30 12:05:46 +02:00
Rémi Verschelde f40c62fa29
Merge pull request #27371 from ShyRed/fixdisabled2dcollisions
Allow adding disabled shapes
2019-04-30 11:43:11 +02:00
Rémi Verschelde 36d4f86ed9
Merge pull request #27707 from Calinou/tweak-message-wording
Improve wording of various messages and make casing more consistent
2019-04-30 11:10:36 +02:00
Rémi Verschelde 7fe5a8548e
Merge pull request #27759 from BastiaanOlij/sort_api_json
Sort GDNative api.json
2019-04-30 11:08:16 +02:00