Merge pull request #48883 from akien-mga/3.x-codespell-2.0.0
[3.x] Fix typos with codespell
This commit is contained in:
commit
f479a7972f
29 changed files with 34 additions and 34 deletions
|
@ -7,7 +7,7 @@ support of generous donors.
|
||||||
The ways to donate to the project, as well as details on how the funds are
|
The ways to donate to the project, as well as details on how the funds are
|
||||||
used, are described on [Godot's website](https://godotengine.org/donate).
|
used, are described on [Godot's website](https://godotengine.org/donate).
|
||||||
|
|
||||||
The following is a list of the current monthly donors, to be have their
|
The following is a list of the current monthly donors, who will have their
|
||||||
generous deed immortalized in the next stable release of Godot Engine.
|
generous deed immortalized in the next stable release of Godot Engine.
|
||||||
|
|
||||||
## Platinum sponsors
|
## Platinum sponsors
|
||||||
|
|
|
@ -110,13 +110,13 @@ private:
|
||||||
LocalVector<AABB> aabbs;
|
LocalVector<AABB> aabbs;
|
||||||
LocalVector<Element *> elements;
|
LocalVector<Element *> elements;
|
||||||
|
|
||||||
void update(List<Element *, AL> &eles) {
|
void update(List<Element *, AL> &p_elements) {
|
||||||
// make sure local vector doesn't delete the memory
|
// make sure local vector doesn't delete the memory
|
||||||
// no need to be thrashing allocations
|
// no need to be thrashing allocations
|
||||||
aabbs.clear();
|
aabbs.clear();
|
||||||
elements.clear();
|
elements.clear();
|
||||||
|
|
||||||
typename List<Element *, AL>::Element *E = eles.front();
|
typename List<Element *, AL>::Element *E = p_elements.front();
|
||||||
while (E) {
|
while (E) {
|
||||||
Element *e = E->get();
|
Element *e = E->get();
|
||||||
aabbs.push_back(e->aabb);
|
aabbs.push_back(e->aabb);
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
<return type="PoolByteArray">
|
<return type="PoolByteArray">
|
||||||
</return>
|
</return>
|
||||||
<description>
|
<description>
|
||||||
Get the current IV state for this context (IV gets updated when calling [method update]). You normally don't need this funciton.
|
Get the current IV state for this context (IV gets updated when calling [method update]). You normally don't need this function.
|
||||||
Note: This function only makes sense when the context is started with [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT].
|
Note: This function only makes sense when the context is started with [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT].
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
mdt.create_from_surface(mesh, 0)
|
mdt.create_from_surface(mesh, 0)
|
||||||
for i in range(mdt.get_vertex_count()):
|
for i in range(mdt.get_vertex_count()):
|
||||||
var vertex = mdt.get_vertex(i)
|
var vertex = mdt.get_vertex(i)
|
||||||
# In this example we extend the mesh by one unit, which results in seperated faces as it is flat shaded.
|
# In this example we extend the mesh by one unit, which results in separated faces as it is flat shaded.
|
||||||
vertex += mdt.get_vertex_normal(i)
|
vertex += mdt.get_vertex_normal(i)
|
||||||
# Save your change.
|
# Save your change.
|
||||||
mdt.set_vertex(i, vertex)
|
mdt.set_vertex(i, vertex)
|
||||||
|
|
|
@ -539,7 +539,7 @@
|
||||||
</return>
|
</return>
|
||||||
<description>
|
<description>
|
||||||
Returns the current UNIX epoch timestamp in seconds.
|
Returns the current UNIX epoch timestamp in seconds.
|
||||||
[b]Important:[/b] This is the system clock that the user can manully set. [b]Never use[/b] this method for precise time calculation since its results are also subject to automatic adjustments by the operating system. [b]Always use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease).
|
[b]Important:[/b] This is the system clock that the user can manually set. [b]Never use[/b] this method for precise time calculation since its results are also subject to automatic adjustments by the operating system. [b]Always use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease).
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_unix_time_from_datetime" qualifiers="const">
|
<method name="get_unix_time_from_datetime" qualifiers="const">
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<description>
|
<description>
|
||||||
Contains global variables accessible from everywhere. Use [method get_setting], [method set_setting] or [method has_setting] to access them. Variables stored in [code]project.godot[/code] are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
|
Contains global variables accessible from everywhere. Use [method get_setting], [method set_setting] or [method has_setting] to access them. Variables stored in [code]project.godot[/code] are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
|
||||||
When naming a Project Settings property, use the full path to the setting including the category. For example, [code]"application/config/name"[/code] for the project name. Category and property names can be viewed in the Project Settings dialog.
|
When naming a Project Settings property, use the full path to the setting including the category. For example, [code]"application/config/name"[/code] for the project name. Category and property names can be viewed in the Project Settings dialog.
|
||||||
[b]Feature tags:[/b] Project settings can be overriden for specific platforms and configurations (debug, release, ...) using [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url].
|
[b]Feature tags:[/b] Project settings can be overridden for specific platforms and configurations (debug, release, ...) using [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url].
|
||||||
[b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary. Overriding will still take the base project settings' [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url] in account. Therefore, make sure to [i]also[/i] override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
|
[b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary. Overriding will still take the base project settings' [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url] in account. Therefore, make sure to [i]also[/i] override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
|
||||||
</description>
|
</description>
|
||||||
<tutorials>
|
<tutorials>
|
||||||
|
|
|
@ -499,7 +499,7 @@ public:
|
||||||
TransformMode orig_transform_mode;
|
TransformMode orig_transform_mode;
|
||||||
|
|
||||||
// support for extra matrices
|
// support for extra matrices
|
||||||
bool extra_matrix_sent; // whether sent on this item (in which case sofware transform can't be used untl end of item)
|
bool extra_matrix_sent; // whether sent on this item (in which case software transform can't be used untl end of item)
|
||||||
int transform_extra_command_number_p1; // plus one to allow fast checking against zero
|
int transform_extra_command_number_p1; // plus one to allow fast checking against zero
|
||||||
Transform2D transform_combined; // final * extra
|
Transform2D transform_combined; // final * extra
|
||||||
Transform2D skeleton_base_inverse_xform; // used in software skinning
|
Transform2D skeleton_base_inverse_xform; // used in software skinning
|
||||||
|
|
|
@ -196,7 +196,7 @@ void ProjectSettingsEditor::_action_edited() {
|
||||||
ti->set_text(0, old_name);
|
ti->set_text(0, old_name);
|
||||||
add_at = "input/" + old_name;
|
add_at = "input/" + old_name;
|
||||||
|
|
||||||
message->set_text(TTR("Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or '\"'"));
|
message->set_text(TTR("Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or '\"'"));
|
||||||
message->popup_centered(Size2(300, 100) * EDSCALE);
|
message->popup_centered(Size2(300, 100) * EDSCALE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
2
misc/dist/html/service-worker.js
vendored
2
misc/dist/html/service-worker.js
vendored
|
@ -1,6 +1,6 @@
|
||||||
// This service worker is required to expose an exported Godot project as a
|
// This service worker is required to expose an exported Godot project as a
|
||||||
// Progressive Web App. It provides an offline fallback page telling the user
|
// Progressive Web App. It provides an offline fallback page telling the user
|
||||||
// that they need an Internet conneciton to run the project if desired.
|
// that they need an Internet connection to run the project if desired.
|
||||||
// Incrementing CACHE_VERSION will kick off the install event and force
|
// Incrementing CACHE_VERSION will kick off the install event and force
|
||||||
// previously cached resources to be updated from the network.
|
// previously cached resources to be updated from the network.
|
||||||
const CACHE_VERSION = "@GODOT_VERSION@";
|
const CACHE_VERSION = "@GODOT_VERSION@";
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
</argument>
|
</argument>
|
||||||
<description>
|
<description>
|
||||||
Sets the timeout parameters for a peer. The timeout parameters control how and when a peer will timeout from a failure to acknowledge reliable traffic. Timeout values are expressed in milliseconds.
|
Sets the timeout parameters for a peer. The timeout parameters control how and when a peer will timeout from a failure to acknowledge reliable traffic. Timeout values are expressed in milliseconds.
|
||||||
The [code]timeout_limit[/code] is a factor that, multiplied by a value based on the avarage round trip time, will determine the timeout limit for a reliable packet. When that limit is reached, the timeout will be doubled, and the peer will be disconnected if that limit has reached [code]timeout_min[/code]. The [code]timeout_max[/code] parameter, on the other hand, defines a fixed timeout for which any packet must be acknowledged or the peer will be dropped.
|
The [code]timeout_limit[/code] is a factor that, multiplied by a value based on the average round trip time, will determine the timeout limit for a reliable packet. When that limit is reached, the timeout will be doubled, and the peer will be disconnected if that limit has reached [code]timeout_min[/code]. The [code]timeout_max[/code] parameter, on the other hand, defines a fixed timeout for which any packet must be acknowledged or the peer will be dropped.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
</methods>
|
</methods>
|
||||||
|
|
|
@ -955,7 +955,7 @@ void FBXMeshData::triangulate_polygon(Ref<SurfaceTool> st, Vector<int> p_polygon
|
||||||
for (List<TriangulatorPoly>::Element *I = out_poly.front(); I; I = I->next()) {
|
for (List<TriangulatorPoly>::Element *I = out_poly.front(); I; I = I->next()) {
|
||||||
TriangulatorPoly &tp = I->get();
|
TriangulatorPoly &tp = I->get();
|
||||||
|
|
||||||
ERR_FAIL_COND_MSG(tp.GetNumPoints() != 3, "The triangulator retuned more points, how this is possible?");
|
ERR_FAIL_COND_MSG(tp.GetNumPoints() != 3, "The triangulator returned more points, how this is possible?");
|
||||||
// Find Index
|
// Find Index
|
||||||
for (int i = 2; i >= 0; i -= 1) {
|
for (int i = 2; i >= 0; i -= 1) {
|
||||||
const Vector2 vertex = tp.GetPoint(i);
|
const Vector2 vertex = tp.GetPoint(i);
|
||||||
|
|
|
@ -138,7 +138,7 @@ private:
|
||||||
/// [0, 2, 1, 3, 4]
|
/// [0, 2, 1, 3, 4]
|
||||||
/// The negative values are computed using this formula: `(-value) - 1`
|
/// The negative values are computed using this formula: `(-value) - 1`
|
||||||
///
|
///
|
||||||
/// Returns the vertex index from the poligon vertex.
|
/// Returns the vertex index from the polygon vertex.
|
||||||
/// Returns -1 if `p_index` is invalid.
|
/// Returns -1 if `p_index` is invalid.
|
||||||
int get_vertex_from_polygon_vertex(const std::vector<int> &p_face_indices, int p_index) const;
|
int get_vertex_from_polygon_vertex(const std::vector<int> &p_face_indices, int p_index) const;
|
||||||
|
|
||||||
|
|
|
@ -1065,7 +1065,7 @@ Spatial *EditorSceneImporterFBX::_generate_scene(
|
||||||
//print_verbose("[doc] node animation path: " + node_path);
|
//print_verbose("[doc] node animation path: " + node_path);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// note: this could actually be unsafe this means we should be careful about continuing here, if we see bizzare effects later we should disable this.
|
// note: this could actually be unsafe this means we should be careful about continuing here, if we see bizarre effects later we should disable this.
|
||||||
// I am not sure if this is unsafe or not, testing will tell us this.
|
// I am not sure if this is unsafe or not, testing will tell us this.
|
||||||
print_error("[doc] invalid fbx target detected for this track");
|
print_error("[doc] invalid fbx target detected for this track");
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -564,7 +564,7 @@ const std::vector<const AnimationStack *> &Document::AnimationStacks() const {
|
||||||
const AnimationStack *stack = lazy->Get<AnimationStack>();
|
const AnimationStack *stack = lazy->Get<AnimationStack>();
|
||||||
ERR_CONTINUE_MSG(!stack, "invalid ptr to AnimationStack - conversion failure");
|
ERR_CONTINUE_MSG(!stack, "invalid ptr to AnimationStack - conversion failure");
|
||||||
|
|
||||||
// We push back the weak reference :) to keep things simple, as ownership is on the parser side so it wont be cleaned up.
|
// We push back the weak reference :) to keep things simple, as ownership is on the parser side so it won't be cleaned up.
|
||||||
animationStacksResolved.push_back(stack);
|
animationStacksResolved.push_back(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -733,7 +733,7 @@ private:
|
||||||
typedef std::vector<int64_t> KeyTimeList;
|
typedef std::vector<int64_t> KeyTimeList;
|
||||||
typedef std::vector<float> KeyValueList;
|
typedef std::vector<float> KeyValueList;
|
||||||
|
|
||||||
/** Represents a FBX animation curve (i.e. a 1-dimensional set of keyframes and values therefor) */
|
/** Represents a FBX animation curve (i.e. a 1-dimensional set of keyframes and values therefore) */
|
||||||
class AnimationCurve : public Object {
|
class AnimationCurve : public Object {
|
||||||
public:
|
public:
|
||||||
AnimationCurve(uint64_t id, const ElementPtr element, const std::string &name, const Document &doc);
|
AnimationCurve(uint64_t id, const ElementPtr element, const std::string &name, const Document &doc);
|
||||||
|
|
|
@ -125,7 +125,7 @@ MeshGeometry::MeshGeometry(uint64_t id, const ElementPtr element, const std::str
|
||||||
|
|
||||||
ScopePtr sc = element->Compound();
|
ScopePtr sc = element->Compound();
|
||||||
ERR_FAIL_COND_MSG(sc == nullptr, "failed to read geometry, prevented crash");
|
ERR_FAIL_COND_MSG(sc == nullptr, "failed to read geometry, prevented crash");
|
||||||
ERR_FAIL_COND_MSG(!HasElement(sc, "Vertices"), "Detected mesh with no vertexes, didn't populate the mesh");
|
ERR_FAIL_COND_MSG(!HasElement(sc, "Vertices"), "Detected mesh with no vertices, didn't populate the mesh");
|
||||||
|
|
||||||
// must have Mesh elements:
|
// must have Mesh elements:
|
||||||
const ElementPtr Vertices = GetRequiredElement(sc, "Vertices", element);
|
const ElementPtr Vertices = GetRequiredElement(sc, "Vertices", element);
|
||||||
|
@ -140,7 +140,7 @@ MeshGeometry::MeshGeometry(uint64_t id, const ElementPtr element, const std::str
|
||||||
ParseVectorDataArray(m_vertices, Vertices);
|
ParseVectorDataArray(m_vertices, Vertices);
|
||||||
ParseVectorDataArray(m_face_indices, PolygonVertexIndex);
|
ParseVectorDataArray(m_face_indices, PolygonVertexIndex);
|
||||||
|
|
||||||
ERR_FAIL_COND_MSG(m_vertices.empty(), "mesh with no vertexes in FBX file, did you mean to delete it?");
|
ERR_FAIL_COND_MSG(m_vertices.empty(), "mesh with no vertices in FBX file, did you mean to delete it?");
|
||||||
ERR_FAIL_COND_MSG(m_face_indices.empty(), "mesh has no faces, was this intended?");
|
ERR_FAIL_COND_MSG(m_face_indices.empty(), "mesh has no faces, was this intended?");
|
||||||
|
|
||||||
// Retrieve layer elements, for all of the mesh
|
// Retrieve layer elements, for all of the mesh
|
||||||
|
@ -278,7 +278,7 @@ MeshGeometry::MeshGeometry(uint64_t id, const ElementPtr element, const std::str
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// As the algorithm above, this check is useless. Because the first
|
// As the algorithm above, this check is useless. Because the first
|
||||||
// ever vertex is always considered the begining of a polygon.
|
// ever vertex is always considered the beginning of a polygon.
|
||||||
ERR_FAIL_COND_MSG(found_it == false, "Was not possible to find the first vertex of this polygon. FBX file is corrupted.");
|
ERR_FAIL_COND_MSG(found_it == false, "Was not possible to find the first vertex of this polygon. FBX file is corrupted.");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -418,7 +418,7 @@ MeshGeometry::MappingData<T> MeshGeometry::resolve_vertex_data_array(
|
||||||
// parse data into array
|
// parse data into array
|
||||||
ParseVectorDataArray(tempData.data, GetRequiredElement(source, dataElementName));
|
ParseVectorDataArray(tempData.data, GetRequiredElement(source, dataElementName));
|
||||||
|
|
||||||
// index array wont always exist
|
// index array won't always exist
|
||||||
const ElementPtr element = GetOptionalElement(source, indexDataElementName);
|
const ElementPtr element = GetOptionalElement(source, indexDataElementName);
|
||||||
if (element) {
|
if (element) {
|
||||||
ParseVectorDataArray(tempData.index, element);
|
ParseVectorDataArray(tempData.index, element);
|
||||||
|
|
|
@ -122,7 +122,7 @@ typedef std::vector<int> MatIndexArray;
|
||||||
/// ## Map Type:
|
/// ## Map Type:
|
||||||
/// * None The mapping is undetermined.
|
/// * None The mapping is undetermined.
|
||||||
/// * ByVertex There will be one mapping coordinate for each surface control point/vertex (ControlPoint is a vertex).
|
/// * ByVertex There will be one mapping coordinate for each surface control point/vertex (ControlPoint is a vertex).
|
||||||
/// * If you have direct reference type verticies[x]
|
/// * If you have direct reference type vertices[x]
|
||||||
/// * If you have IndexToDirect reference type the UV
|
/// * If you have IndexToDirect reference type the UV
|
||||||
/// * ByPolygonVertex There will be one mapping coordinate for each vertex, for every polygon of which it is a part. This means that a vertex will have as many mapping coordinates as polygons of which it is a part. (Sorted by polygon, referencing vertex)
|
/// * ByPolygonVertex There will be one mapping coordinate for each vertex, for every polygon of which it is a part. This means that a vertex will have as many mapping coordinates as polygons of which it is a part. (Sorted by polygon, referencing vertex)
|
||||||
/// * ByPolygon There can be only one mapping coordinate for the whole polygon.
|
/// * ByPolygon There can be only one mapping coordinate for the whole polygon.
|
||||||
|
@ -186,7 +186,7 @@ public:
|
||||||
/// Returns -1 if the vertices doesn't form an edge. Vertex order, doesn't
|
/// Returns -1 if the vertices doesn't form an edge. Vertex order, doesn't
|
||||||
// matter.
|
// matter.
|
||||||
static int get_edge_id(const std::vector<Edge> &p_map, int p_vertex_a, int p_vertex_b);
|
static int get_edge_id(const std::vector<Edge> &p_map, int p_vertex_a, int p_vertex_b);
|
||||||
// Retuns the edge point bu that ID, or the edge with -1 vertices if the
|
// Returns the edge point bu that ID, or the edge with -1 vertices if the
|
||||||
// id is not valid.
|
// id is not valid.
|
||||||
static Edge get_edge(const std::vector<Edge> &p_map, int p_id);
|
static Edge get_edge(const std::vector<Edge> &p_map, int p_id);
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ Transform get_unscaled_transform(const Transform &p_initial, real_t p_scale) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 get_poly_normal(const std::vector<Vector3> &p_vertices) {
|
Vector3 get_poly_normal(const std::vector<Vector3> &p_vertices) {
|
||||||
ERR_FAIL_COND_V_MSG(p_vertices.size() < 3, Vector3(0, 0, 0), "At least 3 vertices are necesary");
|
ERR_FAIL_COND_V_MSG(p_vertices.size() < 3, Vector3(0, 0, 0), "At least 3 vertices are necessary");
|
||||||
// Using long double to make sure that normal is computed for even really tiny objects.
|
// Using long double to make sure that normal is computed for even really tiny objects.
|
||||||
typedef long double ldouble;
|
typedef long double ldouble;
|
||||||
ldouble x = 0.0;
|
ldouble x = 0.0;
|
||||||
|
|
|
@ -1248,7 +1248,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
|
||||||
codegen.opcodes.push_back(dst_address_a); // argument 1
|
codegen.opcodes.push_back(dst_address_a); // argument 1
|
||||||
codegen.opcodes.push_back(src_address_b); // argument 2 (unary only takes one parameter)
|
codegen.opcodes.push_back(src_address_b); // argument 2 (unary only takes one parameter)
|
||||||
}
|
}
|
||||||
return dst_address_a; //if anything, returns wathever was assigned or correct stack position
|
return dst_address_a; //if anything, returns whatever was assigned or correct stack position
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case GDScriptParser::OperatorNode::OP_IS: {
|
case GDScriptParser::OperatorNode::OP_IS: {
|
||||||
|
|
|
@ -974,7 +974,7 @@ void LightmapperCPU::_post_process(uint32_t p_idx, void *r_output) {
|
||||||
|
|
||||||
void LightmapperCPU::_compute_seams(const MeshInstance &p_mesh, LocalVector<UVSeam> &r_seams) {
|
void LightmapperCPU::_compute_seams(const MeshInstance &p_mesh, LocalVector<UVSeam> &r_seams) {
|
||||||
float max_uv_distance = 1.0f / MAX(p_mesh.size.x, p_mesh.size.y);
|
float max_uv_distance = 1.0f / MAX(p_mesh.size.x, p_mesh.size.y);
|
||||||
max_uv_distance *= max_uv_distance; // We use distance_to_squared(), so wee need to square the max distance as well
|
max_uv_distance *= max_uv_distance; // We use distance_to_squared(), so we need to square the max distance as well
|
||||||
float max_pos_distance = 0.00025f;
|
float max_pos_distance = 0.00025f;
|
||||||
float max_normal_distance = 0.05f;
|
float max_normal_distance = 0.05f;
|
||||||
|
|
||||||
|
|
|
@ -333,7 +333,7 @@ Ref<Script> CSharpLanguage::get_template(const String &p_class_name, const Strin
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
// Replaces all spaces in p_class_name with underscores to prevent
|
// Replaces all spaces in p_class_name with underscores to prevent
|
||||||
// erronous C# Script templates from being generated when the object name
|
// invalid C# Script templates from being generated when the object name
|
||||||
// has spaces in it.
|
// has spaces in it.
|
||||||
String class_name_no_spaces = p_class_name.replace(" ", "_");
|
String class_name_no_spaces = p_class_name.replace(" ", "_");
|
||||||
String base_class_name = get_base_class_name(p_base_class_name, class_name_no_spaces);
|
String base_class_name = get_base_class_name(p_base_class_name, class_name_no_spaces);
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
Valid [code]options[/code] are:
|
Valid [code]options[/code] are:
|
||||||
[codeblock]
|
[codeblock]
|
||||||
{
|
{
|
||||||
"negotiated": true, # When set to true (default off), means the channel is negotiated out of band. "id" must be set too. data_channel_received will not be called.
|
"negotiated": true, # When set to true (default off), means the channel is negotiated out of band. "id" must be set too. "data_channel_received" will not be called.
|
||||||
"id": 1, # When "negotiated" is true this value must also be set to the same value on both peer.
|
"id": 1, # When "negotiated" is true this value must also be set to the same value on both peer.
|
||||||
|
|
||||||
# Only one of maxRetransmits and maxPacketLifeTime can be specified, not both. They make the channel unreliable (but also better at real time).
|
# Only one of maxRetransmits and maxPacketLifeTime can be specified, not both. They make the channel unreliable (but also better at real time).
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
WebXR is an open standard that allows creating VR and AR applications that run in the web browser.
|
WebXR is an open standard that allows creating VR and AR applications that run in the web browser.
|
||||||
As such, this interface is only available when running in an HTML5 export.
|
As such, this interface is only available when running in an HTML5 export.
|
||||||
WebXR supports a wide range of devices, from the very capable (like Valve Index, HTC Vive, Oculus Rift and Quest) down to the much less capable (like Google Cardboard, Oculus Go, GearVR, or plain smartphones).
|
WebXR supports a wide range of devices, from the very capable (like Valve Index, HTC Vive, Oculus Rift and Quest) down to the much less capable (like Google Cardboard, Oculus Go, GearVR, or plain smartphones).
|
||||||
Since WebXR is based on Javascript, it makes extensive use of callbacks, which means that [WebXRInterface] is forced to use signals, where other AR/VR interfaces would instead use functions that return a result immediately. This makes [WebXRInterface] quite a bit more complicated to intialize than other AR/VR interfaces.
|
Since WebXR is based on Javascript, it makes extensive use of callbacks, which means that [WebXRInterface] is forced to use signals, where other AR/VR interfaces would instead use functions that return a result immediately. This makes [WebXRInterface] quite a bit more complicated to initialize than other AR/VR interfaces.
|
||||||
Here's the minimum code required to start an immersive VR session:
|
Here's the minimum code required to start an immersive VR session:
|
||||||
[codeblock]
|
[codeblock]
|
||||||
extends Spatial
|
extends Spatial
|
||||||
|
|
|
@ -56,7 +56,7 @@ static NSMutableArray<ApplicationDelegateService *> *services = nil;
|
||||||
[services addObject:service];
|
[services addObject:service];
|
||||||
}
|
}
|
||||||
|
|
||||||
// UIApplicationDelegate documantation can be found here: https://developer.apple.com/documentation/uikit/uiapplicationdelegate
|
// UIApplicationDelegate documentation can be found here: https://developer.apple.com/documentation/uikit/uiapplicationdelegate
|
||||||
|
|
||||||
// MARK: Window
|
// MARK: Window
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ const GodotAudio = {
|
||||||
}
|
}
|
||||||
onstatechange(state);
|
onstatechange(state);
|
||||||
};
|
};
|
||||||
ctx.onstatechange(); // Immeditately notify state.
|
ctx.onstatechange(); // Immediately notify state.
|
||||||
// Update computed latency
|
// Update computed latency
|
||||||
GodotAudio.interval = setInterval(function () {
|
GodotAudio.interval = setInterval(function () {
|
||||||
let computed_latency = 0;
|
let computed_latency = 0;
|
||||||
|
|
|
@ -324,7 +324,7 @@ void MeshInstance::_initialize_skinning(bool p_force_reset, bool p_call_attach_s
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_visible_in_tree() && (software_skinning_flags & SoftwareSkinning::FLAG_BONES_READY)) {
|
if (is_visible_in_tree() && (software_skinning_flags & SoftwareSkinning::FLAG_BONES_READY)) {
|
||||||
// Intialize from current skeleton pose.
|
// Initialize from current skeleton pose.
|
||||||
_update_skinning();
|
_update_skinning();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -882,7 +882,7 @@ float DynamicFont::draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_
|
||||||
|
|
||||||
if (p_outline) {
|
if (p_outline) {
|
||||||
if (outline_data_at_size.is_valid() && outline_cache_id.outline_size > 0) {
|
if (outline_data_at_size.is_valid() && outline_cache_id.outline_size > 0) {
|
||||||
outline_data_at_size->draw_char(p_canvas_item, p_pos, p_char, p_next, p_modulate * outline_color, fallback_outline_data_at_size, false, true); // Draw glpyh outline.
|
outline_data_at_size->draw_char(p_canvas_item, p_pos, p_char, p_next, p_modulate * outline_color, fallback_outline_data_at_size, false, true); // Draw glyph outline.
|
||||||
}
|
}
|
||||||
return data_at_size->draw_char(p_canvas_item, p_pos, p_char, p_next, p_modulate, fallback_data_at_size, true, false) + spacing; // Return advance of the base glyph.
|
return data_at_size->draw_char(p_canvas_item, p_pos, p_char, p_next, p_modulate, fallback_data_at_size, true, false) + spacing; // Return advance of the base glyph.
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -685,7 +685,7 @@ public:
|
||||||
Vector3 axis = (p_point_B - p_point_A);
|
Vector3 axis = (p_point_B - p_point_A);
|
||||||
real_t depth = axis.length();
|
real_t depth = axis.length();
|
||||||
|
|
||||||
// Filter out bogus directions with a treshold and re-testing axis.
|
// Filter out bogus directions with a threshold and re-testing axis.
|
||||||
if (separator->best_depth - depth > 0.001) {
|
if (separator->best_depth - depth > 0.001) {
|
||||||
separator->test_axis(axis / depth);
|
separator->test_axis(axis / depth);
|
||||||
}
|
}
|
||||||
|
|
|
@ -736,7 +736,7 @@ void VisualServerScene::instance_set_visible(RID p_instance, bool p_visible) {
|
||||||
|
|
||||||
instance->visible = p_visible;
|
instance->visible = p_visible;
|
||||||
|
|
||||||
// give the opportunity for the spatial paritioning scene to use a special implementation of visibility
|
// give the opportunity for the spatial partitioning scene to use a special implementation of visibility
|
||||||
// for efficiency (supported in BVH but not octree)
|
// for efficiency (supported in BVH but not octree)
|
||||||
|
|
||||||
// slightly bug prone optimization here - we want to avoid doing a collision check twice
|
// slightly bug prone optimization here - we want to avoid doing a collision check twice
|
||||||
|
|
Loading…
Reference in a new issue