Commit Graph

19868 Commits

Author SHA1 Message Date
Daniel Rakos
6dd65c0d67 KinematicBody performance and quality improvements
With this change finally one can use compound collisions (like those created
by Gridmaps) without serious performance issues. The previous KinematicBody
code for Bullet was practically doing a whole bunch of unnecessary
calculations. Gridmaps with fairly large octant sizes (in my case 32) can get
up to 10000x speedup with this change (literally!). I expect the FPS demo to
get a fair speedup as well.

List of fixes and improvements:

- Fixed a general bug in move_and_slide that affects both GodotPhysics and
  Bullet, where ray shapes would be ignored unless the stop_on_slope parameter
  is disabled. Not sure where that came from, but looking at the 2D physics
  code it was obvious there's a difference.
- Enabled the dynamic AABB tree that Bullet uses to allow broadphase collision
  tests against individual shapes of compound shapes. This is crucial to get
  good performance with Gridmaps and in general improves the performance
  whenever a KinematicBody collides with compound collision shapes.
- Added code to the broadphase collision detection code used by the Bullet
  module for KinematicBodies to also do broadphase on the sub-shapes of
  compound collision shapes. This is possible thanks to the dynamic AABB
  tree that was previously disabled and it's the change that provides the
  biggest performance boost.
- Now broadphase test is only done once per KinematicBody in Bullet instead of
  once per each of its shapes which was completely unnecessary.
- Fixed the way how the ray separation results are populated in Bullet which
  was completely broken previously, overwriting previous results and similar
  non-sense.
- Fixed ray shapes for good now. Previously the margin set in the editor was
  not respected at all, and the KinematicBody code for ray separation was
  complete bogus, thus all previous attempts to fix it were mislead.
- Fixed an obvious bug also in GodotPhysics where an out-of-bounds index was
  used in the ray result array.

There are a whole set of other problems with the KinematicBody code of Bullet
which cost performance and may cause unexpected behavior, but those are not
addressed in this change (need to keep it "simple").

Not sure whether this fixes any outstanding Github issues but I wouldn't be
surprised.
2019-03-27 00:39:47 +01:00
Thomas Herzog
81292665d5
Merge pull request #27320 from karroffel/gdnative-terminate-error-print
[GDNative] various NativeScript fixes around editor functionality
2019-03-25 08:07:59 +01:00
Ignacio Roldán Etcheverry
e453934824
Merge pull request #27359 from neikeq/who-reads-docs-anyway
C#: Bindings generator now translates BBCode docs to XML comments
2019-03-23 20:49:59 +01:00
Ignacio Etcheverry
1ad16b3d4a C#: Bindings generator now translates BBCode docs to XML comments 2019-03-23 20:39:55 +01:00
thomas.herzog
5fff7f741a [GDNative] fix NativeScript leak in editor 2019-03-22 12:54:19 +01:00
thomas.herzog
0e5b2b16ed [GDNative] remove spam at editor unfocus when using NativeScript 2019-03-22 11:46:34 +01:00
Pedro J. Estébanez
9c3ddf05cb Revert accidental commits
This reverts commit fb37284c02.
This reverts commit 4db0f51b9a.
2019-03-20 21:43:55 +01:00
Pedro J. Estébanez
4db0f51b9a Create live view dock [wip] 2019-03-20 20:44:43 +01:00
Pedro J. Estébanez
fb37284c02 Create class for shared memory blocks [wip] 2019-03-20 20:44:43 +01:00
Ignacio Roldán Etcheverry
96abb695f2
Merge pull request #27270 from shartte/fix-generics-parsing
Fix parsing of generic type declarations in C# source files
2019-03-20 18:34:28 +01:00
Ignacio Roldán Etcheverry
b0fbefe9da
Merge pull request #27271 from shartte/fix-msbuild-detection
Add support for new MSBuild directory naming introduced in VS 2019
2019-03-20 18:30:31 +01:00
Sebastian Hartte
7440295ad1 Add support for new MSBuild directory naming introduced in VS 2019. 2019-03-20 17:57:20 +01:00
Sebastian Hartte
34366bc27f Fix parsing of generic type declarations in C# source files. 2019-03-20 17:23:11 +01:00
Rémi Verschelde
a53645e726
Merge pull request #27205 from Kanabenki/set-friction-bounce-check
Add missing check for 2d physics bounce and friction setters
2019-03-18 23:28:42 -07:00
Rémi Verschelde
a90a8eb34b
Merge pull request #27180 from Paulb23/script_editor_edit_line_0
Fix script editor attempting to set current line to -1 on script open
2019-03-18 23:26:07 -07:00
Kanabenki
3f64215a43 Add missing check for 2d physics bounce and friction setters
The override check was already present for 3d physics but missing for 2d
2019-03-18 15:30:26 +01:00
Paulb23
6f6d4a6c2e Fix script editor attempting to set current line to -1 on script open 2019-03-17 20:02:05 +00:00
Rémi Verschelde
df7d3708c5
Merge pull request #27145 from YeldhamDev/editfilediag_favrm_remove
Remove unused 'fav_rm' ToolButton in EditorFileDialog
2019-03-16 17:07:15 -07:00
Michael Alexsander Silva Dias
579fffd97e Remove unused 'fav_rm' ToolButton in EditorFileDialog 2019-03-16 20:30:06 -03:00
Rémi Verschelde
3f631c2567
Merge pull request #27130 from akien-mga/editor-theme-hint-typo
Fix misplaced hint for interface/theme/accent_color
2019-03-16 14:26:45 -07:00
Rémi Verschelde
aff3dd36ba
Merge pull request #25495 from IronicallySerious/fix-expand-macros
Fix parameterised macros in core. Addresses #25488
2019-03-16 11:20:52 -07:00
Rémi Verschelde
e5a310cd38
Merge pull request #25782 from hsandt/feature/fix-toggle-comment-indent
Feature/fix toggle comment indent
2019-03-16 11:17:47 -07:00
Rémi Verschelde
6f404efd9a
Merge pull request #26309 from bojidar-bg/21536-resize-gridmap-previews
Add search box and size slider to GridMap (similar to TileMap's)
2019-03-16 11:15:41 -07:00
Rémi Verschelde
43f147b5aa
Merge pull request #26308 from bojidar-bg/11722-meshlibrary-transforms
Consider StaticBody and NavMesh position when converting to a MeshLibrary
2019-03-16 11:15:15 -07:00
Rémi Verschelde
39a5bb4fbc
Merge pull request #26459 from ptrojahn/eof
Remove extraneous line breaks from text resources
2019-03-16 11:12:35 -07:00
Rémi Verschelde
c1fae20400
Merge pull request #26706 from YeldhamDev/multinode_scriptclear_fix
Fix clearing scripts while multiple nodes are selected
2019-03-16 11:09:40 -07:00
Rémi Verschelde
67764bff64
Merge pull request #26788 from mo7sener/master
RichTextLabel: Adding the ability to change the default cursor
2019-03-16 11:08:29 -07:00
Rémi Verschelde
8965ff90ca
Merge pull request #26919 from jabcross/master
Implement source lookup for class_name defined classes
2019-03-16 11:06:34 -07:00
Rémi Verschelde
ffd115dd6f
Merge pull request #26935 from qarmin/show_class_name_icon_in_tabs
Show in tabs custom class icons
2019-03-16 11:04:03 -07:00
Rémi Verschelde
b17c8c0396 Fix misplaced hint for interface/theme/accent_color
Supersedes #26992.
2019-03-16 11:00:32 -07:00
Rémi Verschelde
06ebf4c3ad
Merge pull request #27123 from bojidar-bg/27113-rename-action
Fix renaming actions in the Project settings
2019-03-16 10:55:01 -07:00
Rémi Verschelde
18fa1846ea
Merge pull request #27115 from Janglee123/master
Fix toggling snap mode while transforming the Spatial object
2019-03-16 10:54:44 -07:00
Rémi Verschelde
376d3dfd03
Merge pull request #27126 from YeldhamDev/bottompanel_hide_only_visible
Make bottom panel only try to hide editors when they're visible
2019-03-16 10:53:44 -07:00
Rémi Verschelde
d8a6b4ee67
Merge pull request #27109 from homer666/docs-particles2d-tutorial
[DOCS] Add tutorial link to Particles2D
2019-03-16 10:45:28 -07:00
Rémi Verschelde
5470256aac
Merge pull request #27038 from WindyDarian/fix_bone_aabb
Fix bone aabb calculation, which caused a skeletal mesh culling issue
2019-03-16 10:44:35 -07:00
Rémi Verschelde
92d317a0b0
Merge pull request #27031 from cbscribe/kcc_classref_minor_updates
[DOCS] minor classref updates
2019-03-16 10:40:17 -07:00
Rémi Verschelde
b00c96a861
Merge pull request #27071 from samgreen/ios_gles2_fix
Resolve GLES 2 crash on older iOS devices
2019-03-16 10:38:51 -07:00
Rémi Verschelde
da8c2deefa
Merge pull request #27055 from bojidar-bg/26789-breakpoint-pos
Fix duplicated newlines in GDScript bytecode
2019-03-16 10:38:09 -07:00
Bojidar Marinov
699a3957ce
Fix renaming actions in the Project settings
Fixes #27113, a regression from 6daed7d122
2019-03-16 16:28:03 +02:00
Sam Green
4946335d3d Add EAGLContext for the fallback case 2019-03-16 01:39:36 -07:00
janglee123
05446e8b53 fixed toggelling snap mode while transforming 2019-03-16 13:45:39 +05:30
Michael Alexsander Silva Dias
ebabb0ea65 Make bottom panel only try to hide editors when they're visible 2019-03-16 03:39:49 -03:00
Rémi Verschelde
019908e5f0
Merge pull request #27056 from guzzard/master
Ignore default ccls cache folder and compile commands json file
2019-03-15 19:03:15 -07:00
homer666
bc8aa32593 [DOCS] Add tutorial link to Particles2D 2019-03-16 12:02:21 +11:00
Sam Green
440706814a Add logging around opengl es context creation. Ensure we can access project settings prior to creating our gl es context, so we can properly determine which driver to use. 2019-03-14 16:31:54 -07:00
Chris Bradfield
454b701e76 [DOCS] minor classref updates 2019-03-14 11:36:12 -07:00
Martin Wallin
8be9fd83ad Ignore default ccls cache folder and compile commands jso 2019-03-14 18:35:23 +01:00
Bojidar Marinov
b64f9f03f8
Fix duplicated lines in GDScript bytecode
Fixes #26789
2019-03-14 18:38:07 +02:00
Windy Darian
ff318d91ee Fix bone aabb calculation, which caused a skeletal mesh culling issue
There was a bug that could result in most bone aabb boxes ending up with
tiny size upon import and mess up with culling of skeletal meshes. This
fixes it.
2019-03-14 00:35:53 -04:00
Rémi Verschelde
775e74e0d4
Merge pull request #26484 from Andrettin/Configurable-Tooltip-Offset
Make the Tooltip Position Offset Configurable
2019-03-13 20:12:22 +01:00