Style: Add WARNING: as new comment admonition
This commit is contained in:
parent
0a9d8f04c1
commit
32c83a228d
13 changed files with 46 additions and 34 deletions
|
|
@ -2629,9 +2629,10 @@ Error GDScriptCompiler::_parse_setter_getter(GDScript *p_script, const GDScriptP
|
|||
return err;
|
||||
}
|
||||
|
||||
// Prepares given script, and inner class scripts, for compilation. It populates class members and initializes method
|
||||
// RPC info for its base classes first, then for itself, then for inner classes.
|
||||
// Warning: this function cannot initiate compilation of other classes, or it will result in cyclic dependency issues.
|
||||
// Prepares given script, and inner class scripts, for compilation. It populates class members and
|
||||
// initializes method RPC info for its base classes first, then for itself, then for inner classes.
|
||||
// WARNING: This function cannot initiate compilation of other classes, or it will result in
|
||||
// cyclic dependency issues.
|
||||
Error GDScriptCompiler::_prepare_compilation(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state) {
|
||||
if (parsed_classes.has(p_script)) {
|
||||
return OK;
|
||||
|
|
|
|||
|
|
@ -161,11 +161,13 @@ void GodotBodyPair2D::_validate_contacts() {
|
|||
}
|
||||
}
|
||||
|
||||
// _test_ccd prevents tunneling by slowing down a high velocity body that is about to collide so that next frame it will be at an appropriate location to collide (i.e. slight overlap)
|
||||
// Warning: the way velocity is adjusted down to cause a collision means the momentum will be weaker than it should for a bounce!
|
||||
// Process: only proceed if body A's motion is high relative to its size.
|
||||
// cast forward along motion vector to see if A is going to enter/pass B's collider next frame, only proceed if it does.
|
||||
// adjust the velocity of A down so that it will just slightly intersect the collider instead of blowing right past it.
|
||||
// `_test_ccd` prevents tunneling by slowing down a high velocity body that is about to collide so
|
||||
// that next frame it will be at an appropriate location to collide (i.e. slight overlap).
|
||||
// WARNING: The way velocity is adjusted down to cause a collision means the momentum will be
|
||||
// weaker than it should for a bounce!
|
||||
// Process: Only proceed if body A's motion is high relative to its size.
|
||||
// Cast forward along motion vector to see if A is going to enter/pass B's collider next frame, only proceed if it does.
|
||||
// Adjust the velocity of A down so that it will just slightly intersect the collider instead of blowing right past it.
|
||||
bool GodotBodyPair2D::_test_ccd(real_t p_step, GodotBody2D *p_A, int p_shape_A, const Transform2D &p_xform_A, GodotBody2D *p_B, int p_shape_B, const Transform2D &p_xform_B) {
|
||||
Vector2 motion = p_A->get_linear_velocity() * p_step;
|
||||
real_t mlen = motion.length();
|
||||
|
|
|
|||
|
|
@ -251,14 +251,14 @@ void GodotStep2D::step(GodotSpace2D *p_space, real_t p_delta) {
|
|||
|
||||
/* PRE-SOLVE CONSTRAINT ISLANDS */
|
||||
|
||||
// Warning: This doesn't run on threads, because it involves thread-unsafe processing.
|
||||
// WARNING: This doesn't run on threads, because it involves thread-unsafe processing.
|
||||
for (uint32_t island_index = 0; island_index < island_count; ++island_index) {
|
||||
_pre_solve_island(constraint_islands[island_index]);
|
||||
}
|
||||
|
||||
/* SOLVE CONSTRAINT ISLANDS */
|
||||
|
||||
// Warning: _solve_island modifies the constraint islands for optimization purpose,
|
||||
// WARNING: `_solve_island` modifies the constraint islands for optimization purpose,
|
||||
// their content is not reliable after these calls and shouldn't be used anymore.
|
||||
group_task = WorkerThreadPool::get_singleton()->add_template_group_task(this, &GodotStep2D::_solve_island, nullptr, island_count, -1, true, SNAME("Physics2DConstraintSolveIslands"));
|
||||
WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group_task);
|
||||
|
|
|
|||
|
|
@ -161,11 +161,13 @@ void GodotBodyPair3D::validate_contacts() {
|
|||
}
|
||||
}
|
||||
|
||||
// _test_ccd prevents tunneling by slowing down a high velocity body that is about to collide so that next frame it will be at an appropriate location to collide (i.e. slight overlap)
|
||||
// Warning: the way velocity is adjusted down to cause a collision means the momentum will be weaker than it should for a bounce!
|
||||
// Process: only proceed if body A's motion is high relative to its size.
|
||||
// cast forward along motion vector to see if A is going to enter/pass B's collider next frame, only proceed if it does.
|
||||
// adjust the velocity of A down so that it will just slightly intersect the collider instead of blowing right past it.
|
||||
// `_test_ccd` prevents tunneling by slowing down a high velocity body that is about to collide so
|
||||
// that next frame it will be at an appropriate location to collide (i.e. slight overlap).
|
||||
// WARNING: The way velocity is adjusted down to cause a collision means the momentum will be
|
||||
// weaker than it should for a bounce!
|
||||
// Process: Only proceed if body A's motion is high relative to its size.
|
||||
// Cast forward along motion vector to see if A is going to enter/pass B's collider next frame, only proceed if it does.
|
||||
// Adjust the velocity of A down so that it will just slightly intersect the collider instead of blowing right past it.
|
||||
bool GodotBodyPair3D::_test_ccd(real_t p_step, GodotBody3D *p_A, int p_shape_A, const Transform3D &p_xform_A, GodotBody3D *p_B, int p_shape_B, const Transform3D &p_xform_B) {
|
||||
GodotShape3D *shape_A_ptr = p_A->get_shape(p_shape_A);
|
||||
|
||||
|
|
|
|||
|
|
@ -355,14 +355,14 @@ void GodotStep3D::step(GodotSpace3D *p_space, real_t p_delta) {
|
|||
|
||||
/* PRE-SOLVE CONSTRAINT ISLANDS */
|
||||
|
||||
// Warning: This doesn't run on threads, because it involves thread-unsafe processing.
|
||||
// WARNING: This doesn't run on threads, because it involves thread-unsafe processing.
|
||||
for (uint32_t island_index = 0; island_index < island_count; ++island_index) {
|
||||
_pre_solve_island(constraint_islands[island_index]);
|
||||
}
|
||||
|
||||
/* SOLVE CONSTRAINT ISLANDS */
|
||||
|
||||
// Warning: _solve_island modifies the constraint islands for optimization purpose,
|
||||
// WARNING: `_solve_island` modifies the constraint islands for optimization purpose,
|
||||
// their content is not reliable after these calls and shouldn't be used anymore.
|
||||
group_task = WorkerThreadPool::get_singleton()->add_template_group_task(this, &GodotStep3D::_solve_island, nullptr, island_count, -1, true, SNAME("Physics3DConstraintSolveIslands"));
|
||||
WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group_task);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue