Commit graph

50 commits

Author SHA1 Message Date
PouleyKetchoupp
7344beafdd
Fix errors in KinematicBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.

(cherry picked from commit b93aeec4a2)
2021-11-15 22:32:53 +01:00
PouleyKetchoupp
9bc1b4b90e Improved logic for KinematicBody collision recovery depth
Allows more flexible collision detection with different safe margin values.

Kinematic body motion changes in 2D and 3D:
-Recovery only for depth > min contact depth to help with collision
detection consistency (rest info could be lost if recovery was too much)
-Adaptive min contact depth (based on margin) instead of space parameter
2021-10-05 17:00:55 -07:00
PouleyKetchoupp
da159cd258 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 18:55:49 -07:00
Rémi Verschelde
f5836b40d4
doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:20:19 +02:00
Hugo Locurcio
9259b4adc4
Add a method to set the number of physics solver iterations in 3D
This is only for GodotPhysics, and adds a 3D counterpart to the 2D
method that was recently added.
2021-07-10 16:29:41 +02:00
PouleyKetchoupp
c89476ad41 Expose body_test_motion in 3D physics server
Results are exposed through PhysicsTestMotionResult, the same way it's
done for 2D.

Also cleaned a few things in the 2D version.
2021-07-02 18:04:39 -07:00
Rémi Verschelde
c3272997cd
doc: Update classref headers with 3.4 version 2021-04-26 13:15:29 +02:00
Rémi Verschelde
1aba997d75
doc: Sync classref with 3.3 version bump 2021-03-23 13:40:34 +01:00
Rémi Verschelde
c8859f0463
Fix typos with codespell
Using codespell 1.17.1.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2020-09-18 14:09:51 +02:00
Rémi Verschelde
2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Rémi Verschelde
ba177ccaec doc: Misc updates for AnimationNode* and others
- Add some missing descriptions.
- Add links to tutorials for ARVR and AnimationTree.
- Style fixes.
- Engine changes:
  * Make `AnimationNodeTransition.input_<number>` properties internal
    so that they don't appear in the docs. They still appear in the
    inspector based on the actual number of inputs requested.
  * Drop unimplemented `CPUParticles.flatness`. It's only used for 3D
    particles in `ParticlesMaterial`, and thus only relevant for
    `CPUParticles3D`.
2020-01-23 12:37:33 +01:00
Rémi Verschelde
4eff13d768 doc: Markup fixes for enums and constants 2019-12-06 23:09:20 +01:00
Rémi Verschelde
b9aa13e591 doc: Remove hardcoded default values from descriptions
They are now generated automatically by doctool.
2019-06-30 13:58:07 +02:00
Hugo Locurcio
f7f6115f76
Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
Rémi Verschelde
71d53637b5 doc: Fix scoped hyperlinks to same-class enums/methods
The class name does not need to be specified when it is the current class.
2019-06-27 11:44:37 +02:00
Rémi Verschelde
86ed7a9884 doc: Complete and harmonize all _MAX constant descriptions 2019-06-27 11:10:53 +02:00
Rémi Verschelde
867dda1124 doc: Proofread and complete various nodes
All 100% completed: MainLoop, Node, Object, Path, Performance,
Reference, Resource, SceneState, SceneTree, UndoRedo.

Also fixed some en_GB occurrences as the reference spelling is en_US.
2019-06-26 23:05:51 +02:00
Rémi Verschelde
c991379b81 doc: Sync classref with current source 2019-04-30 14:23:59 +02:00
Rémi Verschelde
6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
Rémi Verschelde
39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Rémi Verschelde
1ffd1bc8f3 doc: Sync classref with current source 2019-02-18 09:35:29 +01:00
Rémi Verschelde
a15620c83e doc: Fix wrong references found by Sphinx and new makerst.py 2019-01-07 12:15:01 +01:00
Rémi Verschelde
26fddb77be doc: Fix wrong references found by new makerst.py
Thanks @PJB3005
2019-01-07 10:06:12 +01:00
Rémi Verschelde
6cdcde7114 doc: Add missing commas after "If true/false" 2018-12-20 13:47:12 +01:00
Rémi Verschelde
daa9092ed3 doc: Sync classref with current source 2018-11-20 09:34:45 +01:00
M. Huri
b46ba24e3b Repaired mistyped of 'its' on several files. 2018-10-25 07:19:21 +07:00
Rémi Verschelde
7b081a7fc8 Fix warnings about unhandled enum value in switch [-Wswitch]
Fixes GCC 5 warnings of the form:

core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch]
core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch]

Those can be trivial cases where adding a default fallback is the solution,
or more complex issues/hidden bugs where missed values are actually meant
to be handled.
2018-09-27 18:34:30 +02:00
Rémi Verschelde
391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +02:00
muiroc
0a36e974da added cylinder shape support 2018-07-01 11:16:54 +02:00
Rémi Verschelde
4c5dd51eb9 Sync classref with current source
Also fix binding of Basis.slerp
2018-05-28 14:53:15 +02:00
Kelly Thomas
c6ed46891d [docs] fix links in class docs 2018-05-17 00:15:30 +08:00
Geoffrey
09c887f38e Implemented interface for bullet joint motors 2018-03-16 13:37:15 +01:00
Rémi Verschelde
3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde
3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
Rémi Verschelde
d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Rémi Verschelde
e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Rémi Verschelde
237be766d4 doc: Sync classref with current source 2017-12-11 09:32:25 +01:00
Rémi Verschelde
ce0f894b48 doc: Sync classref with current source 2017-12-10 00:43:49 +01:00
Rémi Verschelde
7dfba3cda9 doc: Fix enum tags thanks to 2bc6db6 2017-11-24 23:16:30 +01:00
Rémi Verschelde
bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Rémi Verschelde
967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Rémi Verschelde
2fce0010f0 classref: Sync with current source
[ci skip]
2017-11-13 09:25:53 +01:00
Rémi Verschelde
fc09e14366 classref: Sync with current source
Also fix hyperlink references to same class as per the guidelines.
[ci skip]
2017-10-22 12:56:17 +02:00
Rémi Verschelde
8652c1d5b1 classref: Sync with current source 2017-10-21 12:04:36 +02:00
Grosskopf
f8c7d32987 Added documentation for 3D Joints, the 2D Pin Joint, and the Physicsservers, also a minor bugfix in the 3D Pinjoint. 2017-10-14 22:17:26 +02:00
Rémi Verschelde
b1f2c31a36 doc: Sync classref with current source
Ensure that s/fixed_process/physics_process/ is handled properly.
[ci skip]
2017-10-11 23:55:04 +02:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde
62cb43bb8d doc: Sync classref with current source
[ci skip]
2017-09-16 01:46:29 +02:00
Juan Linietsky
4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00