Commit graph

34983 commits

Author SHA1 Message Date
Hugo Locurcio
50fd981cfc
Add a form GitHub issue template for bug reports
GitHub now supports forms as issue templates (currently in private beta).
Godot has been opted into this private beta, which makes this new feature
usable on the Godot repository.

Inspired by the ImageMagick form:

https://github.com/ImageMagick/ImageMagick/blob/main/.github/ISSUE_TEMPLATE/bug-report.yml
2021-06-08 16:25:34 +02:00
Rémi Verschelde
aa251c310a
Merge pull request #49325 from reduz/rename-gi-classes
Rename GI Classes
2021-06-06 09:50:06 +02:00
Rémi Verschelde
94c31ba300
Merge pull request #47872 from TwistedTwigleg/GSOC_2020_Working_Branch_2D_IK_SQUISHED
New and improved IK system for Skeleton2D - Squished
2021-06-06 01:29:20 +02:00
TwistedTwigleg
8aa3c2f091 New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.

This work was sponsored by GSoC 2020 and TwistedTwigleg.

Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
2021-06-05 15:19:51 -04:00
reduz
32625145c8 Rename GI Classes
* GIProbe is now VoxelGI
* BakedLightmap is now LightmapGI

As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05 09:28:56 -03:00
Rémi Verschelde
7085c0d801
Merge pull request #39202 from Calinou/editor-import-invert-green-channel
Replace "Invert" import option with more useful "Normal Map Invert Y"
2021-06-05 13:35:39 +02:00
Rémi Verschelde
6f7d45d210
Merge pull request #45364 from madmiraal/rename-quat
Rename Quat to Quaternion
2021-06-05 13:32:08 +02:00
Rémi Verschelde
537d8899e9
Merge pull request #49319 from madmiraal/add-missing-mono-overrides
Add missing override keyword to CSharpLanguage::is_control_flow_keyword()
2021-06-05 13:30:29 +02:00
Rémi Verschelde
79d679fd8e
Merge pull request #42282 from andriyDev/DeleteYSort
Remove YSort node, move its functionality into Node2D
2021-06-05 13:22:51 +02:00
andriyDev
9f4bf5ec80 Deleted YSort, moved its functionality directly into Node2D.
YSort now has a compatibility alias to Node2D.
Updated TileMap to use the existing Node2D y_sort_enabled property instead
of its own property.
Updated Node2D doc to include the new y_sort_enabled member.
Updated TileMap doc to remove its mention of cell_y_sort.
Deleted YSort doc.
2021-06-05 00:55:25 -07:00
Rémi Verschelde
8363ee6f8d
Merge pull request #48908 from nekomatata/physics-nodes-reorganization
Physics nodes reorganization
2021-06-05 00:58:44 +02:00
PouleyKetchoupp
23abac9325 Linear velocity cleanup
CharacterBody has a linear_velocity property to replace the argument in
move_and_slide.

StaticBody handles reporting linear/angular velocity correctly when
kinematic motion is used (in 3D, used in vehicle and navigation).
2021-06-04 11:40:36 -07:00
PouleyKetchoupp
b2bd9f4e51 Safe margin cleanup
Safe margin property on CharacterBody only, used as argument in
move_and_collide.

Removed kinematic_safe_margin in 3D physics server, not really useful
and now harmonized with 2D.
2021-06-04 11:40:36 -07:00
PouleyKetchoupp
65822559ce Support for kinematic_motion in StaticBody
Does the same thing as simulate motion from RigidBody in Kinematic mode,
and CharacterBody (previously KinematicBody).

Added support for constant linear/angular velocity with kinematic_motion
in StaticBody, which moves the body in physics.

Updated documentation for StaticBody and CharacterBody to describe their
functionalities more accurately.
2021-06-04 11:40:36 -07:00
PouleyKetchoupp
ee4b756a51 More explanatory names for RigidBody modes
MODE_DYNAMIC instead of MODE_RIGID
MODE_DYNAMIC_LOCKED instead of MODE_CHARACTER

No more special case for sleeping behavior for MODE_DYNAMIC_LOCKED
(MODE_CHARACTER was forcing the body not to sleep, which is redundant
with can_sleep and wasn't done in Bullet).
2021-06-04 11:40:36 -07:00
PouleyKetchoupp
287c3900fd Properties for move_and_slide and remove move_and_slide_with_snap
- snap property to replace move_and_slide_with_snap()
- floor_max_angle, stop_on_slope, infinite_inertia, max_slides,
up_direction properties to replace arguments from move_and_slide()
- up direction now defaults to Vector3.UP and Vector2.UP
2021-06-04 11:40:36 -07:00
PouleyKetchoupp
ba13d23140 KinematicBody split between new CharacterBody and PhysicsBody
PhysicsBody now has methods move_and_collide/test_move and needed
properties for these methods: safe margin, locked axes (3D only).

Moved collision_exceptions from StaticBody to PhysicsBody for 3D
(same as 2D, and conforms to documentation).

RigidBody doesn't have test_motion method anymore, it's now redundant
with PhysicsBody.test_move.
2021-06-04 11:40:36 -07:00
Marcel Admiraal
beae6527e0 Add missing override keyword to CSharpLanguage::is_control_flow_keyword() 2021-06-04 18:39:30 +01:00
Marcel Admiraal
8acd13a456 Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
Hugo Locurcio
4ef71d7a01
Replace "Invert" import option with more useful "Normal Map Invert Y"
This can be used to invert a normal map's direction.

The "Invert" import option is no longer useful in Godot 4.0 since
it uses height maps instead of depth maps in StandardMaterial3D.

This closes https://github.com/godotengine/godot-proposals/issues/785.
2021-06-04 18:09:16 +02:00
Rémi Verschelde
766c6dbb24
Merge pull request #48920 from aaronfranke/accept 2021-06-04 16:13:25 +02:00
Rémi Verschelde
0de0347c1e
Merge pull request #47124 from aaronfranke/disable-skeleton3d
Disable Skeleton3D when compiling without 3D
2021-06-04 16:05:16 +02:00
Rémi Verschelde
58ee66c52f
Merge pull request #49304 from aaronfranke/tr3d-tr-compat-vp
Add "Transform" compatibility name for "Transform3D" in VariantParser
2021-06-04 14:43:55 +02:00
Aaron Franke
bbd49dec23
Disable Skeleton3D when compiling without 3D
Make animation code not depend on Skeleton3D or even Node3D
2021-06-04 08:33:50 -04:00
Rémi Verschelde
5dc923d386
Merge pull request #49297 from aaronfranke/anim-type-tr3d
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D
2021-06-04 14:11:03 +02:00
Aaron Franke
028d9fa2bd
Add "Transform" compatibility name for "Transform3D" in VariantParser 2021-06-04 08:07:08 -04:00
Rémi Verschelde
023056bc5c
Merge pull request #49303 from BastiaanOlij/gdnative_variant_transform_rename
Rename GODOT_VARIANT_TYPE_TRANSFORM to GODOT_VARIANT_TYPE_TRANSFORM3D
2021-06-04 13:57:37 +02:00
Bastiaan Olij
3ead536e26 Rename GODOT_VARIANT_TYPE_TRANSFORM to GODOT_VARIANT_TYPE_TRANSFORM3D 2021-06-04 21:24:15 +10:00
Rémi Verschelde
f0b17bcddb
doc: Sync classref after merge of #47336 2021-06-04 11:49:01 +02:00
Rémi Verschelde
6aa3d8f06a
Merge pull request #48902 from pycbouh/editor-improve-template-downloader
Improve the UI/UX of the Export Template Manager dialog
2021-06-04 11:35:17 +02:00
Rémi Verschelde
95ff547da4
Merge pull request #44198 from madmiraal/rename-translation-position
Rename Node3D's property translation to position
2021-06-04 11:34:35 +02:00
Rémi Verschelde
875ed4d600
Merge pull request #47336 from Calinou/rename-shader-file-extension
Rename the `.shader` file extension to `.gdshader`
2021-06-04 11:26:14 +02:00
Marcel Admiraal
a6e44bd16c Rename Node3D's property translation to position 2021-06-04 09:54:52 +01:00
Rémi Verschelde
c33d444a54
Merge pull request #47871 from aaronfranke/assetlib-pm
Rename tabs in the project manager
2021-06-04 10:43:08 +02:00
Rémi Verschelde
4790d1560e
Merge pull request #49300 from aaronfranke/editor-prop-tr3d
Rename EditorPropertyTransform to EditorPropertyTransform3D
2021-06-04 10:41:15 +02:00
Rémi Verschelde
25f8987925
Merge pull request #37013 from aaronfranke/2d-flip
Flip 2D icon to match Godot's handedness
2021-06-04 10:03:27 +02:00
Rémi Verschelde
352d8315f1
Merge pull request #47116 from aaronfranke/3d-modules
Disable 3D-only modules when 3D is disabled
2021-06-04 09:51:22 +02:00
Aaron Franke
6f472d154b
Rename EditorPropertyTransform to EditorPropertyTransform3D 2021-06-03 21:58:26 -04:00
Aaron Franke
125d1a7cd3
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D 2021-06-03 21:11:54 -04:00
Aaron Franke
7813167196
Rename tabs in the project manager 2021-06-03 20:02:02 -04:00
Aaron Franke
bc5c10e0f8
Use a more specific type for AcceptDialog register_text_enter 2021-06-03 19:57:03 -04:00
Aaron Franke
acd695060b
Disable 3D-only modules when 3D is disabled 2021-06-03 17:45:28 -04:00
Aaron Franke
fa7874d6ce
Flip 2D icon to match Godot's handedness 2021-06-03 17:36:54 -04:00
Rémi Verschelde
5d9cab3aeb
Merge pull request #38430 from aaronfranke/transform3d 2021-06-03 23:07:21 +02:00
Rémi Verschelde
ea2a0b5455
Merge pull request #43450 from aaronfranke/mouse-mode-bitwise
Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum
2021-06-03 22:00:15 +02:00
Rémi Verschelde
4e4f96f989
Merge pull request #49283 from KoBeWi/a&b
Improve sort_custom() description
2021-06-03 21:53:15 +02:00
Rémi Verschelde
a9c6d2a96c
Merge pull request #45624 from aaronfranke/clamp
Allow clamping vectors and colors in addition to floats and ints
2021-06-03 21:20:37 +02:00
Yuri Sizov
c7bb08fc61 Improve the UI/UX of the Export Template Manager dialog 2021-06-03 22:15:15 +03:00
Rémi Verschelde
932ab0c637
Merge pull request #49282 from pycbouh/editor-fix-broken-paths
Replace `get_settings_dir` with `get_config_dir` when fetching configuration paths
2021-06-03 21:09:43 +02:00
Rémi Verschelde
a867c5ab77
Merge pull request #49269 from sarchar/fix-dns-locks
Fix DNS resolve mutex locks
2021-06-03 21:08:08 +02:00