Commit Graph

36754 Commits

Author SHA1 Message Date
Umang Kalra
12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
Rémi Verschelde
afb40920fe
Merge pull request #51411 from clayjohn/VULKAN-blinn-phong
[4.0] Make Blinn and Phong specular modes take albedo into account
2021-08-10 21:11:48 +02:00
PouleyKetchoupp
4da3a87f7d Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.

Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
foxydevloper
e62ad6ad80 Improve drag and drop by supporting more file types & node types
Adds support for dragging in all files of type Texture2D for 2D.
Adds support for dragging in all files of type Mesh for 3D.
Replaces adding texture as Light2D with PointLight2D.
Add more node types that textures can be added as
- TextureButton
- CPUParticles2D
2021-08-10 13:05:17 -04:00
fox
20201b56c2 Improve naming of a couple shortcuts 2021-08-10 13:01:07 -04:00
Rémi Verschelde
ac1dab5062
Merge pull request #51027 from fabriceci/improve-move-and-slide
Add properties to CharacterBody for more move_and_slide options
2021-08-10 18:55:58 +02:00
Rémi Verschelde
dce488d8f7
Merge pull request #49417 from Bhu1-V/gsoc-cmd-plt
Command Palette For Godot
2021-08-10 18:55:22 +02:00
Rémi Verschelde
d915c187d0
Merge pull request #51474 from aaronfranke/organize-viewport
Organize methods in Viewport and explicitly name 3D methods with 3D
2021-08-10 18:55:08 +02:00
Rémi Verschelde
b205a20bb1
Merge pull request #51473 from KoBeWi/some_crash_fix_idk
Fix crash when parsing Dictionary
2021-08-10 18:54:45 +02:00
Rémi Verschelde
46beaacec3
Merge pull request #51017 from vnen/extension-fixes 2021-08-10 16:42:31 +02:00
Aaron Franke
339687e04f
Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
kobewi
e0572f7ef7 Fix crash when parsing Dictionary 2021-08-10 15:57:56 +02:00
fabriceci
c6666cc051 Add properties to CharacterBody for more move_and_slide options 2021-08-10 15:57:33 +02:00
Rémi Verschelde
50d5569ad4
Merge pull request #51457 from nekomatata/moving-platforms-3d
Fix 3D moving platform logic
2021-08-10 14:12:01 +02:00
Rémi Verschelde
81956d42ca
Merge pull request #51470 from akien-mga/windows-share-denyno
FileAccessWindows: Add missing share.h include
2021-08-10 13:27:26 +02:00
Rémi Verschelde
cb52f2c9c0
FileAccessWindows: Add missing share.h include
Follow-up to #51430.
2021-08-10 13:01:16 +02:00
Rémi Verschelde
16d73fefdb
Merge pull request #50682 from aaronfranke/basis-looking-at
Move code for looking_at to Basis
2021-08-10 11:28:12 +02:00
Rémi Verschelde
8b960a2d2b
Merge pull request #51467 from Chaosus/fix_aa
Fix incorrect border width of antialiased lines
2021-08-10 10:52:11 +02:00
Rémi Verschelde
483bbd6ecc
Merge pull request #51464 from hpnrep6/mesh-disable-deprecated
Enclose deprecated components with `DISABLE_DEPRECATED` in Mesh
2021-08-10 09:56:27 +02:00
Rémi Verschelde
51b4df72a7
Merge pull request #51436 from Calinou/tonemap-clamp-negative-colors
Clamp negative colors regardless of the tonemapper to avoid artifacts
2021-08-10 09:56:11 +02:00
Rémi Verschelde
56f17d925f
Merge pull request #51417 from clayjohn/Vulkan-horizon-so
Add horizon specular occlusion
2021-08-10 09:56:02 +02:00
Rémi Verschelde
4bfb49b8f6
Merge pull request #51430 from mhilbrunner/windows-files 2021-08-10 09:55:18 +02:00
Rémi Verschelde
d56da233c4
Merge pull request #51463 from SaracenOne/assign_path_fix
Assign embedded text resource path earlier to prevent error on embedded scripts
2021-08-10 08:13:14 +02:00
Yuri Roubinsky
59c137a99b Fix incorrect border width of antialiased lines 2021-08-10 09:08:02 +03:00
Rémi Verschelde
536950f9f3
Merge pull request #21922 from aaronfranke/double
Some work on double-precision support
2021-08-10 07:41:46 +02:00
hpnrep6
0eca908e86
Enclose unused components in DISABLE_DEPRECATED 2021-08-10 00:54:24 -04:00
SaracenOne
d00c151db1 Assign embedded text resource path earlier to prevent error on embedded scripts. 2021-08-10 05:42:35 +01:00
PouleyKetchoupp
ec9fed69f4 Fix 3D moving platform logic
Same thing that was already done in 2D, applies moving platform motion
by using a call to move_and_collide that excludes the platform itself,
instead of making it part of the body motion.

Helps with handling walls and slopes correctly when the character walks
on the moving platform.

Also made some minor adjustments to the 2D version and documentation.

Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2021-08-09 20:21:04 -07:00
clayjohn
fa962ff27d Make Blinn and Phong specular modes PBR 2021-08-09 20:09:00 -07:00
Rémi Verschelde
f3ddc14d38
Merge pull request #51454 from nathanfranke/follow-up-snames
Follow-Up Add SNames to get theme icon
2021-08-10 01:07:28 +02:00
Nathan Franke
b57b8453b1
Follow-Up Add SNames to get theme icon 2021-08-09 17:50:26 -05:00
Aaron Franke
430ad75963
Some work on double support 2021-08-09 17:43:48 -05:00
Rémi Verschelde
c68b109f27
Merge pull request #51453 from Blackiris/fix-new-inherited-script
Fix infinite loop when creating a newly inherited GDScript file
2021-08-10 00:38:16 +02:00
George Marques
ee6e05ee68
Rename GDNative call error enum values to use GDNATIVE prefix
To make sure it does not clash with other libraries.
2021-08-09 19:21:37 -03:00
Julien Nguyen
51b7179b5a Fix infinite loop when creating a newly inherited GdScript file 2021-08-09 23:52:31 +02:00
Rémi Verschelde
2de5d2361a
Merge pull request #51446 from nekomatata/fix-moving-platform-rotation
Fix applied rotation from moving platforms in move_and_slide
2021-08-09 23:20:44 +02:00
Rémi Verschelde
7bcfc66fb4
Merge pull request #51294 from aaronfranke/double-time 2021-08-09 23:02:43 +02:00
PouleyKetchoupp
5650c83e4b Fix applied rotation from moving platforms in move_and_slide
When synchronizing CharacterBody motion with moving the platform using
direct body state, only the linear velocity was taken into account.

This change exposes velocity at local point in direct body state and
uses it in move_and_slide to get the proper velocity that includes
rotations.
2021-08-09 12:30:17 -07:00
Aaron Franke
84f720966c
Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
Aaron Franke
78d33a6e24
Use doubles for time in animation code 2021-08-09 14:04:25 -05:00
Rémi Verschelde
9d9161c719
Merge pull request #49753 from aaronfranke/render-server-floats
Handle both 32-bit and 64-bit floats for tangents and weights in RenderingServer
2021-08-09 21:02:01 +02:00
Rémi Verschelde
dc20830348
Merge pull request #45568 from aaronfranke/node3d-real_t
Use real_t in 3D nodes
2021-08-09 21:01:29 +02:00
Fabio Alessandrelli
511f961973
Merge pull request #51097 from Faless/mp/4.x_spawnable
[Net] MultiplayerAPI remote scene spawning/despawning.
2021-08-09 19:45:31 +02:00
Rémi Verschelde
e3b6c46a95
Merge pull request #51441 from CaptainProton42/CaptainProton42-prism-mesh-icon
Change PrismMesh editor icon to look like a prism.
2021-08-09 18:59:49 +02:00
John Wigg
6acc63c13a Change PrismMesh editor icon to look like a prism. 2021-08-09 17:24:11 +01:00
Hugo Locurcio
57451f132f
Clamp negative colors regardless of the tonemapper to avoid artifacts
Color artifacts could be visible when using negative lights with the
Filmic and ACES tonemapping operators, as these did not clamp negative
colors.
2021-08-09 17:01:07 +02:00
Rémi Verschelde
0a38d5c8f7
Merge pull request #43158 from nathanfranke/fix-gradient-and-draw-tile
Fix Gradient and Color Picker checkerboard, Fix tile parameter for CanvasItem.draw_texture_rect
2021-08-09 16:47:58 +02:00
Fabio Alessandrelli
9fcf3b5a9c [Net] Basic extensible MultiplayerAPI spawn/despawn.
`PackedScene`s can be configured to be spawnable via a new
`MultiplayerAPI.spawnable_config` method.
They can be configured either to be spawned automatically when coming
from the server or to always require verification.
Another method, `MultiplayerAPI.send_spawn` lets you request a spawn on
the remote peers.
When a peer receive a spawn request:
- If it comes from the server and the scene is configured as
  `SPAWN_MODE_SERVER`:
  - Spawn the scene (instantiate it, add it to tree).
  - Emit signal `network_spawn`.
- Else:
  - Emit signal `network_spawn_request`.

In a similar way, `despawn`s are handled automatically in
`SPAWN_MODE_SERVER`.

In `SPAWN_MODE_SERVER`, when a new client connects it will also receive,
from the server all the spawned (and not yet despawned) instances.
2021-08-09 16:34:40 +02:00
Fabio Alessandrelli
9798d08ac2 [Core] Expose ResourceLoader.get_resource_uid. 2021-08-09 16:26:56 +02:00
Rémi Verschelde
25fd4edd29
Merge pull request #51427 from omar-polo/platform-detect-openbsd
automatically detect openbsd as platform=linuxbsd
2021-08-09 15:35:36 +02:00