commit
1a16dabfb5
|
@ -349,7 +349,7 @@ Error HTTPClient::poll() {
|
|||
}
|
||||
|
||||
if (ssl->get_status() == StreamPeerSSL::STATUS_CONNECTED) {
|
||||
// Handshake has been successfull
|
||||
// Handshake has been successful
|
||||
handshaking = false;
|
||||
status = STATUS_CONNECTED;
|
||||
return OK;
|
||||
|
|
|
@ -478,7 +478,7 @@ void Octree<T, use_pairs, AL>::_insert_element(Element *p_element, Octant *p_oct
|
|||
splits++;
|
||||
}
|
||||
} else {
|
||||
/* check againt AABB where child should be */
|
||||
/* check against AABB where child should be */
|
||||
|
||||
AABB aabb = p_octant->aabb;
|
||||
aabb.size *= 0.5;
|
||||
|
|
|
@ -186,7 +186,7 @@ bool Triangulate::triangulate(const Vector<Vector2> &contour, Vector<int> &resul
|
|||
|
||||
nv--;
|
||||
|
||||
/* resest error detection counter */
|
||||
/* reset error detection counter */
|
||||
count = 2 * nv;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
@author Juan Linietsky <reduzio@gmail.com>
|
||||
*/
|
||||
|
||||
//@ TOOD, excellent candidate for THREAD_SAFE MACRO, should go through all these and add THREAD_SAFE where it applies
|
||||
//@ TODO, excellent candidate for THREAD_SAFE MACRO, should go through all these and add THREAD_SAFE where it applies
|
||||
class DirAccess {
|
||||
public:
|
||||
enum AccessType {
|
||||
|
|
|
@ -129,7 +129,7 @@ protected:
|
|||
|
||||
RenderThreadMode _render_thread_mode;
|
||||
|
||||
// functions used by main to initialize/deintialize the OS
|
||||
// functions used by main to initialize/deinitialize the OS
|
||||
void add_logger(Logger *p_logger);
|
||||
|
||||
virtual void initialize_core() = 0;
|
||||
|
|
|
@ -60,7 +60,7 @@ String ProjectSettings::get_resource_path() const {
|
|||
String ProjectSettings::localize_path(const String &p_path) const {
|
||||
|
||||
if (resource_path == "")
|
||||
return p_path; //not initialied yet
|
||||
return p_path; //not initialized yet
|
||||
|
||||
if (p_path.begins_with("res://") || p_path.begins_with("user://") ||
|
||||
(p_path.is_abs_path() && !p_path.begins_with(resource_path)))
|
||||
|
|
|
@ -1429,10 +1429,10 @@ Error VariantParser::_parse_tag(Token &token, Stream *p_stream, int &line, Strin
|
|||
break;
|
||||
|
||||
if (parsing_tag && token.type == TK_PERIOD) {
|
||||
r_tag.name += "."; //support tags such as [someprop.Anroid] for specific platforms
|
||||
r_tag.name += "."; //support tags such as [someprop.Android] for specific platforms
|
||||
get_token(p_stream, token, line, r_err_str);
|
||||
} else if (parsing_tag && token.type == TK_COLON) {
|
||||
r_tag.name += ":"; //support tags such as [someprop.Anroid] for specific platforms
|
||||
r_tag.name += ":"; //support tags such as [someprop.Android] for specific platforms
|
||||
get_token(p_stream, token, line, r_err_str);
|
||||
} else {
|
||||
parsing_tag = false;
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
The currently selected color.
|
||||
</member>
|
||||
<member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode">
|
||||
If [code]true[/code] the color will apply only after the user releases the mouse button, otherwise it will apply immediatly even in mouse motion event (which can cause performance issues).
|
||||
If [code]true[/code] the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
|
||||
</member>
|
||||
<member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha">
|
||||
If [code]true[/code] shows an alpha channel slider (transparency).
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Button that pops out a [ColorPicker].
|
||||
</brief_description>
|
||||
<description>
|
||||
Encapsulates a [ColorPicker] making it accesible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
|
||||
Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="EditorFileSystemDirectory" inherits="Object" category="Core" version="3.1">
|
||||
<brief_description>
|
||||
A diretory for the resource filesystem.
|
||||
A directory for the resource filesystem.
|
||||
</brief_description>
|
||||
<description>
|
||||
A more generalized, low-level variation of the directory concept.
|
||||
|
|
|
@ -185,7 +185,7 @@
|
|||
</argument>
|
||||
<description>
|
||||
Get indexed object property by String.
|
||||
Property indices get accessed with colon seperation, for example: [code]position:x[/code]
|
||||
Property indices get accessed with colon separation, for example: [code]position:x[/code]
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_instance_id" qualifiers="const">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</brief_description>
|
||||
<description>
|
||||
ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.
|
||||
The ProceduralSky is updated on the CPU after the parameters change and stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for realtime updates during gameplay. But with a small texture size it is still feasible to update relatively frequently becuase it is updated on a background thread when multi-threading is available.
|
||||
The ProceduralSky is updated on the CPU after the parameters change and stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for realtime updates during gameplay. But with a small texture size it is still feasible to update relatively frequently because it is updated on a background thread when multi-threading is available.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
|
|
|
@ -208,7 +208,7 @@
|
|||
<member name="audio/output_latency" type="int" setter="" getter="">
|
||||
</member>
|
||||
<member name="audio/video_delay_compensation_ms" type="int" setter="" getter="">
|
||||
Setting to harcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
|
||||
Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
|
||||
</member>
|
||||
<member name="compression/formats/gzip/compression_level" type="int" setter="" getter="">
|
||||
Default compression level for gzip. Affects compressed scenes and resources.
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
</member>
|
||||
<member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled">
|
||||
If [code]true[/code] (default) enable the automatic polling of the [MultiplayerAPI] for this SceneTree during [signal idle_frame].
|
||||
When [code]false[/code] you need to manually call [method MultiplayerAPI.poll] for processing network packets and delivering RPCs/RSETs. This allows to run RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protecion when accessing the [MultiplayerAPI] from threads.
|
||||
When [code]false[/code] you need to manually call [method MultiplayerAPI.poll] for processing network packets and delivering RPCs/RSETs. This allows to run RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protection when accessing the [MultiplayerAPI] from threads.
|
||||
</member>
|
||||
<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
|
||||
The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the SceneTree will become a network server (check with [method is_network_server()]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to SceneTree's signals.
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<return type="int" enum="Shader.Mode">
|
||||
</return>
|
||||
<description>
|
||||
Returns the shader mode for the shader, eiter [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code]
|
||||
Returns the shader mode for the shader, either [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code]
|
||||
</description>
|
||||
</method>
|
||||
<method name="has_param" qualifiers="const">
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
A status representing a [code]StreamPeerTCP[/code] that is connected to a host.
|
||||
</constant>
|
||||
<constant name="STATUS_ERROR" value="3" enum="Status">
|
||||
A staus representing a [code]StreamPeerTCP[/code] in error state.
|
||||
A status representing a [code]StreamPeerTCP[/code] in error state.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
|
|
|
@ -565,7 +565,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
|
|||
buffer[(1 * 4 * 4) + 14] = (source.position.x + source.size.x) * texpixel_size.x;
|
||||
buffer[(1 * 4 * 4) + 15] = (source.position.y + np->margin[MARGIN_TOP]) * texpixel_size.y;
|
||||
|
||||
// thrid row
|
||||
// third row
|
||||
|
||||
buffer[(2 * 4 * 4) + 0] = np->rect.position.x;
|
||||
buffer[(2 * 4 * 4) + 1] = np->rect.position.y + np->rect.size.y - np->margin[MARGIN_BOTTOM];
|
||||
|
|
|
@ -1551,7 +1551,7 @@ void RasterizerStorageGLES2::_update_material(Material *p_material) {
|
|||
}
|
||||
}
|
||||
|
||||
// uniforms and other thigns will be set in the use_material method in ShaderGLES2
|
||||
// uniforms and other things will be set in the use_material method in ShaderGLES2
|
||||
|
||||
if (p_material->shader && p_material->shader->texture_count > 0) {
|
||||
|
||||
|
|
|
@ -293,7 +293,7 @@ ShaderGLES2::Version *ShaderGLES2::get_current_version() {
|
|||
}
|
||||
}
|
||||
|
||||
// keep them around during the functino
|
||||
// keep them around during the function
|
||||
CharString code_string;
|
||||
CharString code_string2;
|
||||
CharString code_globals;
|
||||
|
|
|
@ -173,7 +173,7 @@ vec3 apply_tonemapping(vec3 color, float white) { // inputs are LINEAR, always o
|
|||
return tonemap_aces(color, white);
|
||||
#endif
|
||||
|
||||
return clamp(color, vec3(0.0f), vec3(1.0f)); // no other seleced -> linear
|
||||
return clamp(color, vec3(0.0f), vec3(1.0f)); // no other selected -> linear
|
||||
}
|
||||
|
||||
vec3 gather_glow(sampler2D tex, vec2 uv) { // sample all selected glow levels
|
||||
|
|
|
@ -60,7 +60,7 @@ Error DirAccessUnix::list_dir_begin() {
|
|||
|
||||
//char real_current_dir_name[2048]; //is this enough?!
|
||||
//getcwd(real_current_dir_name,2048);
|
||||
//chdir(curent_path.utf8().get_data());
|
||||
//chdir(current_path.utf8().get_data());
|
||||
dir_stream = opendir(current_dir.utf8().get_data());
|
||||
//chdir(real_current_dir_name);
|
||||
if (!dir_stream)
|
||||
|
|
|
@ -497,7 +497,7 @@ void ConnectionsDock::_disconnect(TreeItem &item) {
|
|||
}
|
||||
|
||||
/*
|
||||
Break all conections of currently selected signal.
|
||||
Break all connections of currently selected signal.
|
||||
Can undo-redo as a single action.
|
||||
*/
|
||||
void ConnectionsDock::_disconnect_all() {
|
||||
|
|
|
@ -389,7 +389,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo
|
|||
|
||||
memdelete(f);
|
||||
|
||||
// Read the md5's from a separate file (so the import parameters aren't dependant on the file version
|
||||
// Read the md5's from a separate file (so the import parameters aren't dependent on the file version
|
||||
String base_path = ResourceFormatImporter::get_singleton()->get_import_base_path(p_path);
|
||||
FileAccess *md5s = FileAccess::open(base_path + ".md5", FileAccess::READ, &err);
|
||||
if (!md5s) { // No md5's stored for this resource
|
||||
|
|
|
@ -1742,7 +1742,7 @@ void EditorInspector::edit(Object *p_object) {
|
|||
if (object) {
|
||||
update_scroll_request = 0; //reset
|
||||
if (scroll_cache.has(object->get_instance_id())) { //if exists, set something else
|
||||
update_scroll_request = scroll_cache[object->get_instance_id()]; //done this way because wait until full size is accomodated
|
||||
update_scroll_request = scroll_cache[object->get_instance_id()]; //done this way because wait until full size is accommodated
|
||||
}
|
||||
object->add_change_receptor(this);
|
||||
update_tree();
|
||||
|
|
|
@ -3589,7 +3589,7 @@ void EditorNode::_update_dock_slots_visibility() {
|
|||
|
||||
void EditorNode::_dock_tab_changed(int p_tab) {
|
||||
|
||||
// update visibility but dont set current tab
|
||||
// update visibility but don't set current tab
|
||||
VSplitContainer *splits[DOCK_SLOT_MAX / 2] = {
|
||||
left_l_vsplit,
|
||||
left_r_vsplit,
|
||||
|
@ -4607,7 +4607,7 @@ EditorNode::EditorNode() {
|
|||
Physics2DServer::get_singleton()->set_active(false); // no physics by default if editor
|
||||
ScriptServer::set_scripting_enabled(false); // no scripting by default if editor
|
||||
|
||||
EditorHelp::generate_doc(); //before any editor classes are crated
|
||||
EditorHelp::generate_doc(); //before any editor classes are created
|
||||
SceneState::set_disable_placeholders(true);
|
||||
ResourceLoader::clear_translation_remaps(); //no remaps using during editor
|
||||
ResourceLoader::clear_path_remaps();
|
||||
|
@ -5788,7 +5788,7 @@ EditorNode::EditorNode() {
|
|||
#else
|
||||
ED_SHORTCUT("editor/editor_2d", TTR("Open 2D Editor"), KEY_F1);
|
||||
ED_SHORTCUT("editor/editor_3d", TTR("Open 3D Editor"), KEY_F2);
|
||||
ED_SHORTCUT("editor/editor_script", TTR("Open Script Editor"), KEY_F3); //hack neded for script editor F3 search to work :) Assign like this or don't use F3
|
||||
ED_SHORTCUT("editor/editor_script", TTR("Open Script Editor"), KEY_F3); //hack needed for script editor F3 search to work :) Assign like this or don't use F3
|
||||
ED_SHORTCUT("editor/editor_help", TTR("Search Help"), KEY_F4);
|
||||
#endif
|
||||
ED_SHORTCUT("editor/editor_assetlib", TTR("Open Asset Library"));
|
||||
|
|
|
@ -1905,7 +1905,7 @@ EditorPropertyNodePath::EditorPropertyNodePath() {
|
|||
clear->connect("pressed", this, "_node_clear");
|
||||
hbc->add_child(clear);
|
||||
|
||||
scene_tree = NULL; //do not allocate unnecesarily
|
||||
scene_tree = NULL; //do not allocate unnecessarily
|
||||
}
|
||||
|
||||
////////////// RESOURCE //////////////////////
|
||||
|
@ -2670,7 +2670,7 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ
|
|||
case PROPERTY_HINT_LAYERS_3D_PHYSICS:
|
||||
lt = EditorPropertyLayers::LAYER_PHYSICS_3D;
|
||||
break;
|
||||
default: {} //compiler could be smarter here and realize this cant happen
|
||||
default: {} //compiler could be smarter here and realize this can't happen
|
||||
}
|
||||
EditorPropertyLayers *editor = memnew(EditorPropertyLayers);
|
||||
editor->setup(lt);
|
||||
|
@ -2687,7 +2687,7 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ
|
|||
bool greater = true, lesser = true;
|
||||
|
||||
if (p_hint == PROPERTY_HINT_RANGE && p_hint_text.get_slice_count(",") >= 2) {
|
||||
greater = false; //if using ranged, asume false by default
|
||||
greater = false; //if using ranged, assume false by default
|
||||
lesser = false;
|
||||
min = p_hint_text.get_slice(",", 0).to_int();
|
||||
max = p_hint_text.get_slice(",", 1).to_int();
|
||||
|
@ -2735,7 +2735,7 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ
|
|||
bool greater = true, lesser = true;
|
||||
|
||||
if ((p_hint == PROPERTY_HINT_RANGE || p_hint == PROPERTY_HINT_EXP_RANGE) && p_hint_text.get_slice_count(",") >= 2) {
|
||||
greater = false; //if using ranged, asume false by default
|
||||
greater = false; //if using ranged, assume false by default
|
||||
lesser = false;
|
||||
min = p_hint_text.get_slice(",", 0).to_double();
|
||||
max = p_hint_text.get_slice(",", 1).to_double();
|
||||
|
@ -3068,7 +3068,7 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ
|
|||
default: {}
|
||||
}
|
||||
|
||||
return false; //can be overriden, although it will most likely be last anyway
|
||||
return false; //can be overridden, although it will most likely be last anyway
|
||||
}
|
||||
|
||||
void EditorInspectorDefaultPlugin::parse_end() {
|
||||
|
|
|
@ -274,7 +274,7 @@ void EditorSpinSlider::_notification(int p_what) {
|
|||
update();
|
||||
}
|
||||
if (p_what == NOTIFICATION_FOCUS_ENTER) {
|
||||
/* Sorry, I dont like this, it makes navigating the different fields with arrows more difficult.
|
||||
/* Sorry, I don't like this, it makes navigating the different fields with arrows more difficult.
|
||||
* Just press enter to edit.
|
||||
* if (Input::get_singleton()->is_mouse_button_pressed(BUTTON_LEFT) && !value_input_just_closed) {
|
||||
_focus_entered();
|
||||
|
|
|
@ -864,7 +864,7 @@ void FindInFilesPanel::apply_replaces_in_file(String fpath, const Vector<Result>
|
|||
|
||||
// If the file is already open, I assume the editor will reload it.
|
||||
// If there are unsaved changes, the user will be asked on focus,
|
||||
// however that means either loosing changes or loosing replaces.
|
||||
// however that means either losing changes or losing replaces.
|
||||
|
||||
FileAccess *f = FileAccess::open(fpath, FileAccess::READ);
|
||||
ERR_FAIL_COND(f == NULL);
|
||||
|
|
|
@ -9,4 +9,4 @@ There you can find the optimizer script.
|
|||
If you add a new icon, please make a pull request to this repo:
|
||||
https://github.com/godotengine/godot-design/
|
||||
|
||||
and store the the optimized SVG version here.
|
||||
and store the optimized SVG version here.
|
||||
|
|
|
@ -304,7 +304,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
|
|||
}
|
||||
|
||||
if (!ok_on_pc) {
|
||||
EditorNode::add_io_error("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correcly on PC.");
|
||||
EditorNode::add_io_error("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correctly on PC.");
|
||||
}
|
||||
} else {
|
||||
//import normally
|
||||
|
|
|
@ -499,7 +499,7 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
|
|||
}
|
||||
|
||||
if (!ok_on_pc) {
|
||||
EditorNode::add_io_error("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correcly on PC.");
|
||||
EditorNode::add_io_error("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correctly on PC.");
|
||||
}
|
||||
} else {
|
||||
//import normally
|
||||
|
|
|
@ -241,7 +241,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
|
|||
mb->get_popup()->connect("index_pressed", this, "_anim_selected", varray(options, E->get()), CONNECT_DEFERRED);
|
||||
}
|
||||
|
||||
/* should be no longer necesary, as the boolean works
|
||||
/* should be no longer necessary, as the boolean works
|
||||
Ref<AnimationNodeOneShot> oneshot = agnode;
|
||||
if (oneshot.is_valid()) {
|
||||
|
||||
|
@ -559,7 +559,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
|
|||
node = base->get_node(accum);
|
||||
}
|
||||
if (!node)
|
||||
continue; //no node, cant edit
|
||||
continue; //no node, can't edit
|
||||
|
||||
if (path.get_subname_count()) {
|
||||
|
||||
|
|
|
@ -1515,7 +1515,7 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() {
|
|||
|
||||
void AnimationPlayerEditor::_start_onion_skinning() {
|
||||
|
||||
// FIXME: Using "idle_frame" makes onion layers update one frame behing the current
|
||||
// FIXME: Using "idle_frame" makes onion layers update one frame behind the current
|
||||
if (!get_tree()->is_connected("idle_frame", this, "call_deferred")) {
|
||||
get_tree()->connect("idle_frame", this, "call_deferred", varray("_prepare_onion_layers_1"));
|
||||
}
|
||||
|
|
|
@ -663,7 +663,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
|
|||
|
||||
transition_lines.clear();
|
||||
|
||||
//draw conecting line for potential new transition
|
||||
//draw connecting line for potential new transition
|
||||
if (connecting) {
|
||||
Vector2 from = (state_machine->get_node_position(connecting_from) * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
|
||||
Vector2 to;
|
||||
|
|
|
@ -2898,7 +2898,7 @@ void CanvasItemEditor::_draw_hover() {
|
|||
Size2 item_size = Size2(node_icon->get_size().x + 4 + node_name_size.x, MAX(node_icon->get_size().y, node_name_size.y - 3));
|
||||
|
||||
Point2 pos = transform.xform(hovering_results[i].position) - Point2(0, item_size.y) + (Point2(node_icon->get_size().x, -node_icon->get_size().y) / 4);
|
||||
// Rectify the position to avoid overlaping items
|
||||
// Rectify the position to avoid overlapping items
|
||||
for (List<Rect2>::Element *E = previous_rects.front(); E; E = E->next()) {
|
||||
if (E->get().intersects(Rect2(pos, item_size))) {
|
||||
pos.y = E->get().get_position().y - item_size.y;
|
||||
|
|
|
@ -126,7 +126,7 @@ void EditorPropertyRootMotion::_node_assign() {
|
|||
node = base->get_node(accum);
|
||||
}
|
||||
if (!node)
|
||||
continue; //no node, cant edit
|
||||
continue; //no node, can't edit
|
||||
|
||||
if (path.get_subname_count()) {
|
||||
|
||||
|
@ -314,7 +314,7 @@ bool EditorInspectorRootMotionPlugin::parse_property(Object *p_object, Variant::
|
|||
return true;
|
||||
}
|
||||
|
||||
return false; //can be overriden, although it will most likely be last anyway
|
||||
return false; //can be overridden, although it will most likely be last anyway
|
||||
}
|
||||
|
||||
void EditorInspectorRootMotionPlugin::parse_end() {
|
||||
|
|
|
@ -1256,7 +1256,7 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
|
|||
int to_column = tx->get_selection_to_column();
|
||||
|
||||
if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) {
|
||||
// Right click is outside the seleted text
|
||||
// Right click is outside the selected text
|
||||
tx->deselect();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -480,7 +480,7 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
|
|||
int to_column = tx->get_selection_to_column();
|
||||
|
||||
if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) {
|
||||
// Right click is outside the seleted text
|
||||
// Right click is outside the selected text
|
||||
tx->deselect();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -475,7 +475,7 @@ void TextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
|
|||
int to_column = tx->get_selection_to_column();
|
||||
|
||||
if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) {
|
||||
// Right click is outside the seleted text
|
||||
// Right click is outside the selected text
|
||||
tx->deselect();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -629,7 +629,7 @@ void VisualShaderEditor::_duplicate_nodes() {
|
|||
int id = String(graph->get_child(i)->get_name()).to_int();
|
||||
Ref<VisualShaderNode> node = visual_shader->get_node(type, id);
|
||||
Ref<VisualShaderNodeOutput> output = node;
|
||||
if (output.is_valid()) //cant duplicate output
|
||||
if (output.is_valid()) //can't duplicate output
|
||||
continue;
|
||||
if (node.is_valid()) {
|
||||
nodes.push_back(id);
|
||||
|
@ -1158,7 +1158,7 @@ bool EditorInspectorShaderModePlugin::parse_property(Object *p_object, Variant::
|
|||
return true;
|
||||
}
|
||||
|
||||
return false; //can be overriden, although it will most likely be last anyway
|
||||
return false; //can be overridden, although it will most likely be last anyway
|
||||
}
|
||||
|
||||
void EditorInspectorShaderModePlugin::parse_end() {
|
||||
|
|
|
@ -88,7 +88,7 @@ def process_file(f, fname):
|
|||
unique_str.append(msg)
|
||||
unique_loc[msg] = [location]
|
||||
elif (not location in unique_loc[msg]):
|
||||
# Add additional location to previous occurence too
|
||||
# Add additional location to previous occurrence too
|
||||
msg_pos = main_po.find('\nmsgid "' + msg + '"')
|
||||
if (msg_pos == -1):
|
||||
print("Someone apparently thought writing Python was as easy as GDScript. Ping Akien.")
|
||||
|
|
|
@ -235,7 +235,7 @@ public:
|
|||
richtext->push_meta("http://www.scrollingcapabilities.xz");
|
||||
richtext->add_text("This allows to test for the scrolling capabilities ");
|
||||
richtext->pop();
|
||||
richtext->add_text("of the rich text label for huge text (not like this text will really be huge but, you know).\nAs long as it is so long that it will work nicely for a test/demo, then it's welcomed in my book...\nChanging subject, the day is cloudy today and I'm wondering if I'll get che chance to travel somewhere nice. Sometimes, watching the clouds from satellite images may give a nice insight about how pressure zones in our planet work, althogh it also makes it pretty obvious to see why most weather forecasts get it wrong so often.\nClouds are so difficult to predict!\nBut it's pretty cool how our civilization has adapted to having water falling from the sky each time it rains...");
|
||||
richtext->add_text("of the rich text label for huge text (not like this text will really be huge but, you know).\nAs long as it is so long that it will work nicely for a test/demo, then it's welcomed in my book...\nChanging subject, the day is cloudy today and I'm wondering if I'll get che chance to travel somewhere nice. Sometimes, watching the clouds from satellite images may give a nice insight about how pressure zones in our planet work, although it also makes it pretty obvious to see why most weather forecasts get it wrong so often.\nClouds are so difficult to predict!\nBut it's pretty cool how our civilization has adapted to having water falling from the sky each time it rains...");
|
||||
|
||||
TabContainer *tabc = memnew(TabContainer);
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ MainFrameTime MainTimerSync::advance_core(float p_frame_slice, int p_iterations_
|
|||
int min_typical_steps = typical_physics_steps[0];
|
||||
int max_typical_steps = min_typical_steps + 1;
|
||||
|
||||
// given the past recorded steps and typcial steps to match, calculate bounds for this
|
||||
// given the past recorded steps and typical steps to match, calculate bounds for this
|
||||
// step to be typical
|
||||
bool update_typical = false;
|
||||
|
||||
|
|
|
@ -849,7 +849,7 @@ void RigidBodyBullet::on_exit_area(AreaBullet *p_area) {
|
|||
bool wasTheAreaFound = false;
|
||||
for (int i = 0; i < areaWhereIamCount; ++i) {
|
||||
if (p_area == areasWhereIam[i]) {
|
||||
// The area was fount, just shift down all elements
|
||||
// The area was found, just shift down all elements
|
||||
for (int j = i; j < areaWhereIamCount; ++j) {
|
||||
areasWhereIam.write[j] = areasWhereIam[j + 1];
|
||||
}
|
||||
|
|
|
@ -292,12 +292,12 @@ void CSGBrushOperation::BuildPoly::_clip_segment(const CSGBrush *p_brush, int p_
|
|||
for (int j = 0; j < 2; j++) {
|
||||
|
||||
if (edges[i].points[0] == segment_idx[0] || edges[i].points[1] == segment_idx[1] || edges[i].points[0] == segment_idx[1] || edges[i].points[1] == segment_idx[0]) {
|
||||
edge_valid = false; //segment has this point, cant check against this
|
||||
edge_valid = false; //segment has this point, can't check against this
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!edge_valid) //already hit a point in this edge, so dont test it
|
||||
if (!edge_valid) //already hit a point in this edge, so don't test it
|
||||
continue;
|
||||
|
||||
//see if either points are within the edge isntead of crossing it
|
||||
|
@ -573,7 +573,7 @@ void CSGBrushOperation::_collision_callback(const CSGBrush *A, int p_face_a, Map
|
|||
}
|
||||
}
|
||||
|
||||
//if we are still here, it means they most likely intersect, so create BuildPolys if they dont existy
|
||||
//if we are still here, it means they most likely intersect, so create BuildPolys if they don't exist
|
||||
|
||||
BuildPoly *poly_a = NULL;
|
||||
|
||||
|
@ -896,7 +896,7 @@ void CSGBrushOperation::_merge_poly(MeshMerge &mesh, int p_face_idx, const Build
|
|||
Vector2 to = p_poly.points[to_idx].point;
|
||||
with_outline_vertex = l;
|
||||
|
||||
//try agaisnt outline (other points) first
|
||||
//try against outline (other points) first
|
||||
|
||||
valid = true;
|
||||
|
||||
|
@ -915,7 +915,7 @@ void CSGBrushOperation::_merge_poly(MeshMerge &mesh, int p_face_idx, const Build
|
|||
if (!valid)
|
||||
continue;
|
||||
|
||||
//try agaisnt all holes including self
|
||||
//try against all holes including self
|
||||
|
||||
for (int m = 0; m < polys[i].holes.size(); m++) {
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<argument index="4" name="client_port" type="int" default="0">
|
||||
</argument>
|
||||
<description>
|
||||
Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain nome (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [code]OK[/code] if a client was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traveral technique.
|
||||
Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain nome (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [code]OK[/code] if a client was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traversal technique.
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_server">
|
||||
|
|
|
@ -100,8 +100,8 @@ Error NetworkedMultiplayerENet::create_server(int p_port, int p_max_clients, int
|
|||
host = enet_host_create(&address /* the address to bind the server host to */,
|
||||
p_max_clients /* allow up to 32 clients and/or outgoing connections */,
|
||||
channel_count /* allow up to channel_count to be used */,
|
||||
p_in_bandwidth /* limit incoming bandwith if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwith if > 0 */);
|
||||
p_in_bandwidth /* limit incoming bandwidth if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwidth if > 0 */);
|
||||
|
||||
ERR_FAIL_COND_V(!host, ERR_CANT_CREATE);
|
||||
|
||||
|
@ -144,14 +144,14 @@ Error NetworkedMultiplayerENet::create_client(const String &p_address, int p_por
|
|||
host = enet_host_create(&c_client /* create a client host */,
|
||||
1 /* only allow 1 outgoing connection */,
|
||||
channel_count /* allow up to channel_count to be used */,
|
||||
p_in_bandwidth /* limit incoming bandwith if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwith if > 0 */);
|
||||
p_in_bandwidth /* limit incoming bandwidth if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwidth if > 0 */);
|
||||
} else {
|
||||
host = enet_host_create(NULL /* create a client host */,
|
||||
1 /* only allow 1 outgoing connection */,
|
||||
channel_count /* allow up to channel_count to be used */,
|
||||
p_in_bandwidth /* limit incoming bandwith if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwith if > 0 */);
|
||||
p_in_bandwidth /* limit incoming bandwidth if > 0 */,
|
||||
p_out_bandwidth /* limit outgoing bandwidth if > 0 */);
|
||||
}
|
||||
|
||||
ERR_FAIL_COND_V(!host, ERR_CANT_CREATE);
|
||||
|
|
|
@ -62,7 +62,7 @@ if env['builtin_freetype']:
|
|||
env.Append(CCFLAGS=['/FI', '"modules/freetype/uwpdef.h"'])
|
||||
elif env['platform'] == 'javascript':
|
||||
# Forcibly undefine this macro so SIMD is not used in this file,
|
||||
# since currently unsuported in WASM
|
||||
# since currently unsupported in WASM
|
||||
sfnt = env.Object(sfnt, CPPFLAGS=['-U__OPTIMIZE__'])
|
||||
|
||||
thirdparty_sources += [sfnt]
|
||||
|
|
|
@ -390,7 +390,7 @@ bool GDNative::terminate() {
|
|||
if (library->should_load_once()) {
|
||||
Vector<Ref<GDNative> > *gdnatives = &(*GDNativeLibrary::loaded_libraries)[library->get_current_library_path()];
|
||||
if (gdnatives->size() > 1) {
|
||||
// there are other GDNative's still using this library, so we actually don't terminte
|
||||
// there are other GDNative's still using this library, so we actually don't terminate
|
||||
gdnatives->erase(Ref<GDNative>(this));
|
||||
initialized = false;
|
||||
return true;
|
||||
|
|
|
@ -1973,14 +1973,14 @@ String GDScriptWarning::get_message() const {
|
|||
} break;
|
||||
case UNSAFE_CAST: {
|
||||
CHECK_SYMBOLS(1);
|
||||
return "The value is cast to '" + symbols[0] + "' but has an unkown type.";
|
||||
return "The value is cast to '" + symbols[0] + "' but has an unknown type.";
|
||||
} break;
|
||||
case UNSAFE_CALL_ARGUMENT: {
|
||||
CHECK_SYMBOLS(4);
|
||||
return "The argument '" + symbols[0] + "' of the function '" + symbols[1] + "' requires a the subtype '" + symbols[2] + "' but the supertype '" + symbols[3] + "' was provided";
|
||||
} break;
|
||||
}
|
||||
ERR_EXPLAIN("Invalid GDScript waring code: " + get_name_from_code(code));
|
||||
ERR_EXPLAIN("Invalid GDScript warning code: " + get_name_from_code(code));
|
||||
ERR_FAIL_V(String());
|
||||
|
||||
#undef CHECK_SYMBOLS
|
||||
|
@ -2031,7 +2031,7 @@ GDScriptWarning::Code GDScriptWarning::get_code_from_name(const String &p_name)
|
|||
}
|
||||
}
|
||||
|
||||
ERR_EXPLAIN("Invalid GDScript waring name: " + p_name);
|
||||
ERR_EXPLAIN("Invalid GDScript warning name: " + p_name);
|
||||
ERR_FAIL_V(WARNING_MAX);
|
||||
}
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ struct GDScriptWarning {
|
|||
FUNCTION_USED_AS_PROPERTY, // Property not found, but there's a function with the same name
|
||||
INTEGER_DIVISION, // Integer divide by integer, decimal part is discarded
|
||||
UNSAFE_PROPERTY_ACCESS, // Property not found in the detected type (but can be in subtypes)
|
||||
UNSAFE_METHOD_ACCESS, // Fucntion not found in the detected type (but can be in subtypes)
|
||||
UNSAFE_METHOD_ACCESS, // Function not found in the detected type (but can be in subtypes)
|
||||
UNSAFE_CAST, // Cast used in an unknown type
|
||||
UNSAFE_CALL_ARGUMENT, // Function call argument is of a supertype of the require argument
|
||||
WARNING_MAX,
|
||||
|
|
|
@ -518,7 +518,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
|
|||
}
|
||||
}
|
||||
|
||||
codegen.opcodes.push_back(src_addr); // source adddress
|
||||
codegen.opcodes.push_back(src_addr); // source address
|
||||
int dst_addr = (p_stack_level) | (GDScriptFunction::ADDR_TYPE_STACK << GDScriptFunction::ADDR_BITS);
|
||||
codegen.opcodes.push_back(dst_addr); // append the stack level as destination address of the opcode
|
||||
codegen.alloc_stack(p_stack_level);
|
||||
|
|
|
@ -3304,7 +3304,7 @@ Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol
|
|||
}
|
||||
} else {
|
||||
/*
|
||||
// Because get_integer_constant_enum and get_integer_constant dont work on @GlobalScope
|
||||
// Because get_integer_constant_enum and get_integer_constant don't work on @GlobalScope
|
||||
// We cannot determine the exact nature of the identifier here
|
||||
// Otherwise these codes would work
|
||||
StringName enumName = ClassDB::get_integer_constant_enum("@GlobalScope", p_symbol, true);
|
||||
|
|
|
@ -2478,7 +2478,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
|||
|
||||
Node *condition = NULL;
|
||||
|
||||
// chech for has, then for pattern
|
||||
// check for has, then for pattern
|
||||
|
||||
IdentifierNode *has = alloc_node<IdentifierNode>();
|
||||
has->name = "has";
|
||||
|
@ -4535,14 +4535,14 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
|||
member.rpc_mode = rpc_mode;
|
||||
|
||||
if (current_class->constant_expressions.has(member.identifier)) {
|
||||
_set_error("A constant named '" + String(member.identifier) + "' alread exists in this class (at line: " +
|
||||
_set_error("A constant named '" + String(member.identifier) + "' already exists in this class (at line: " +
|
||||
itos(current_class->constant_expressions[member.identifier].expression->line) + ").");
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < current_class->variables.size(); i++) {
|
||||
if (current_class->variables[i].identifier == member.identifier) {
|
||||
_set_error("Variable '" + String(member.identifier) + "' alread exists in this class (at line: " +
|
||||
_set_error("Variable '" + String(member.identifier) + "' already exists in this class (at line: " +
|
||||
itos(current_class->variables[i].line) + ").");
|
||||
return;
|
||||
}
|
||||
|
@ -4749,14 +4749,14 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
|||
int line = tokenizer->get_token_line();
|
||||
|
||||
if (current_class->constant_expressions.has(const_id)) {
|
||||
_set_error("Constant '" + String(const_id) + "' alread exists in this class (at line: " +
|
||||
_set_error("Constant '" + String(const_id) + "' already exists in this class (at line: " +
|
||||
itos(current_class->constant_expressions[const_id].expression->line) + ").");
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < current_class->variables.size(); i++) {
|
||||
if (current_class->variables[i].identifier == const_id) {
|
||||
_set_error("A variable named '" + String(const_id) + "' alread exists in this class (at line: " +
|
||||
_set_error("A variable named '" + String(const_id) + "' already exists in this class (at line: " +
|
||||
itos(current_class->variables[i].line) + ").");
|
||||
return;
|
||||
}
|
||||
|
@ -4810,7 +4810,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
|||
case GDScriptTokenizer::TK_PR_ENUM: {
|
||||
//multiple constant declarations..
|
||||
|
||||
int last_assign = -1; // Incremented by 1 right before the assingment.
|
||||
int last_assign = -1; // Incremented by 1 right before the assignment.
|
||||
String enum_name;
|
||||
Dictionary enum_dict;
|
||||
|
||||
|
@ -7242,7 +7242,7 @@ void GDScriptParser::_check_class_level_types(ClassNode *p_class) {
|
|||
return;
|
||||
}
|
||||
|
||||
// Replace assigment with implict conversion
|
||||
// Replace assignment with implict conversion
|
||||
BuiltInFunctionNode *convert = alloc_node<BuiltInFunctionNode>();
|
||||
convert->line = v.line;
|
||||
convert->function = GDScriptFunctions::TYPE_CONVERT;
|
||||
|
@ -7620,7 +7620,7 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) {
|
|||
lv->line);
|
||||
return;
|
||||
}
|
||||
// Replace assigment with implict conversion
|
||||
// Replace assignment with implict conversion
|
||||
BuiltInFunctionNode *convert = alloc_node<BuiltInFunctionNode>();
|
||||
convert->line = lv->line;
|
||||
convert->function = GDScriptFunctions::TYPE_CONVERT;
|
||||
|
@ -7748,7 +7748,7 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) {
|
|||
op->line);
|
||||
return;
|
||||
}
|
||||
// Replace assigment with implict conversion
|
||||
// Replace assignment with implict conversion
|
||||
BuiltInFunctionNode *convert = alloc_node<BuiltInFunctionNode>();
|
||||
convert->line = op->line;
|
||||
convert->function = GDScriptFunctions::TYPE_CONVERT;
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<argument index="2" name="z" type="int">
|
||||
</argument>
|
||||
<description>
|
||||
The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is retuned if the cell is empty.
|
||||
The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is returned if the cell is empty.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
|
|
|
@ -264,7 +264,7 @@ void GDMono::initialize() {
|
|||
_load_project_assembly();
|
||||
} else {
|
||||
#ifdef TOOLS_ENABLED
|
||||
// The assembly was successfuly loaded, but the full api could not be cached.
|
||||
// The assembly was successfully loaded, but the full api could not be cached.
|
||||
// This is most likely an outdated assembly loaded because of an invalid version in the metadata,
|
||||
// so we invalidate the version in the metadata and unload the script domain.
|
||||
|
||||
|
@ -715,7 +715,7 @@ Error GDMono::reload_scripts_domain() {
|
|||
// Everything is fine with the api assemblies, load the project assembly
|
||||
_load_project_assembly();
|
||||
} else {
|
||||
// The assembly was successfuly loaded, but the full api could not be cached.
|
||||
// The assembly was successfully loaded, but the full api could not be cached.
|
||||
// This is most likely an outdated assembly loaded because of an invalid version in the metadata,
|
||||
// so we invalidate the version in the metadata and unload the script domain.
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ Error AudioStreamPlaybackOpus::_load_stream() {
|
|||
} break;
|
||||
case OP_EBADLINK: // - Failed to find old data after seeking.
|
||||
case OP_EBADTIMESTAMP: // - Timestamp failed the validity checks.
|
||||
case OP_EBADHEADER: { // - Invalid or mising Opus bitstream header.
|
||||
case OP_EBADHEADER: { // - Invalid or missing Opus bitstream header.
|
||||
memdelete(f);
|
||||
f = NULL;
|
||||
ERR_FAIL_V(ERR_FILE_CORRUPT);
|
||||
|
@ -208,7 +208,7 @@ Error AudioStreamPlaybackOpus::set_file(const String &p_file) {
|
|||
} break;
|
||||
case OP_EBADLINK: // - Failed to find old data after seeking.
|
||||
case OP_EBADTIMESTAMP: // - Timestamp failed the validity checks.
|
||||
case OP_EBADHEADER: { // - Invalid or mising Opus bitstream header.
|
||||
case OP_EBADHEADER: { // - Invalid or missing Opus bitstream header.
|
||||
memdelete(f);
|
||||
f = NULL;
|
||||
ERR_FAIL_V(ERR_FILE_CORRUPT);
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
</argument>
|
||||
<description>
|
||||
Discovers local [UPNPDevice]s. Clears the list of previously discovered devices.
|
||||
Filters for IGD (InternetGatewayDevice) type devices by default, as those manage port forwarding. [code]timeout[/code] is the time to wait for responses in miliseconds. [code]ttl[/code] is the time-to-live; only touch this if you know what you're doing.
|
||||
Filters for IGD (InternetGatewayDevice) type devices by default, as those manage port forwarding. [code]timeout[/code] is the time to wait for responses in milliseconds. [code]ttl[/code] is the time-to-live; only touch this if you know what you're doing.
|
||||
See [enum UPNPResult] for possible return values.
|
||||
</description>
|
||||
</method>
|
||||
|
|
|
@ -2343,7 +2343,7 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
|
|||
int from_port;
|
||||
|
||||
if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
|
||||
return; //can't connect this, it' s invalid
|
||||
return; //can't connect this, it's invalid
|
||||
|
||||
Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
|
||||
ERR_FAIL_COND(!to_node.is_valid());
|
||||
|
@ -2352,7 +2352,7 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
|
|||
int to_port;
|
||||
|
||||
if (!_get_in_slot(to_node, p_to_slot, to_port, to_seq))
|
||||
return; //can't connect this, it' s invalid
|
||||
return; //can't connect this, it's invalid
|
||||
|
||||
ERR_FAIL_COND(from_seq != to_seq);
|
||||
|
||||
|
@ -2363,7 +2363,7 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
|
|||
undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int());
|
||||
} else {
|
||||
|
||||
// disconect current, and connect the new one
|
||||
// disconnect current, and connect the new one
|
||||
if (script->is_input_value_port_connected(edited_func, p_to.to_int(), to_port)) {
|
||||
int conn_from;
|
||||
int conn_port;
|
||||
|
@ -2396,7 +2396,7 @@ void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_sl
|
|||
int from_port;
|
||||
|
||||
if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
|
||||
return; //can't connect this, it' s invalid
|
||||
return; //can't connect this, it's invalid
|
||||
|
||||
Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
|
||||
ERR_FAIL_COND(!to_node.is_valid());
|
||||
|
@ -2405,7 +2405,7 @@ void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_sl
|
|||
int to_port;
|
||||
|
||||
if (!_get_in_slot(to_node, p_to_slot, to_port, to_seq))
|
||||
return; //can't connect this, it' s invalid
|
||||
return; //can't connect this, it's invalid
|
||||
|
||||
ERR_FAIL_COND(from_seq != to_seq);
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</argument>
|
||||
<description>
|
||||
Connect to the given URL requesting one of the given [code]protocols[/code] as sub-protocol.
|
||||
If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will behave like a network peer for the [MultiplayerAPI]. Note: connnections to non Godot servers will not work, and [signal data_received] will not be emitted when this option is true.
|
||||
If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will behave like a network peer for the [MultiplayerAPI]. Note: connections to non Godot servers will not work, and [signal data_received] will not be emitted when this option is true.
|
||||
</description>
|
||||
</method>
|
||||
<method name="disconnect_from_host">
|
||||
|
|
|
@ -144,7 +144,7 @@ private:
|
|||
int video_driver_index;
|
||||
|
||||
public:
|
||||
// functions used by main to initialize/deintialize the OS
|
||||
// functions used by main to initialize/deinitialize the OS
|
||||
virtual int get_video_driver_count() const;
|
||||
virtual const char *get_video_driver_name(int p_driver) const;
|
||||
|
||||
|
|
|
@ -708,7 +708,7 @@ Error OS_JavaScript::initialize(const VideoMode &p_desired, int p_video_driver,
|
|||
video_driver_index = p_video_driver;
|
||||
|
||||
video_mode = p_desired;
|
||||
// Can't fulfil fullscreen request during start-up due to browser security.
|
||||
// Can't fulfill fullscreen request during start-up due to browser security.
|
||||
video_mode.fullscreen = false;
|
||||
/* clang-format off */
|
||||
if (EM_ASM_INT_V({ return Module.resizeCanvasOnStart })) {
|
||||
|
|
|
@ -152,7 +152,7 @@ private:
|
|||
Windows::Devices::Sensors::Magnetometer ^ magnetometer;
|
||||
Windows::Devices::Sensors::Gyrometer ^ gyrometer;
|
||||
|
||||
// functions used by main to initialize/deintialize the OS
|
||||
// functions used by main to initialize/deinitialize the OS
|
||||
protected:
|
||||
virtual int get_video_driver_count() const;
|
||||
virtual int get_current_video_driver() const;
|
||||
|
|
|
@ -157,7 +157,7 @@ class OS_Windows : public OS {
|
|||
|
||||
void _update_window_style(bool repaint = true);
|
||||
|
||||
// functions used by main to initialize/deintialize the OS
|
||||
// functions used by main to initialize/deinitialize the OS
|
||||
protected:
|
||||
virtual int get_current_video_driver() const;
|
||||
|
||||
|
|
|
@ -348,7 +348,7 @@ public:
|
|||
|
||||
void force_update_transform();
|
||||
|
||||
// Used by control nodes to retreive the parent's anchorable area
|
||||
// Used by control nodes to retrieve the parent's anchorable area
|
||||
virtual Rect2 get_anchorable_rect() const { return Rect2(0, 0, 0, 0); };
|
||||
|
||||
int get_canvas_layer() const;
|
||||
|
|
|
@ -562,7 +562,7 @@ void VehicleBody::_resolve_single_bilateral(PhysicsDirectBodyState *s, const Vec
|
|||
b2invmass);
|
||||
|
||||
// FIXME: rel_vel assignment here is overwritten by the following assignment.
|
||||
// What seemes to be intended in the next next assignment is: rel_vel = normal.dot(rel_vel);
|
||||
// What seems to be intended in the next next assignment is: rel_vel = normal.dot(rel_vel);
|
||||
// Investigate why.
|
||||
real_t rel_vel = jac.getRelativeVelocity(
|
||||
s->get_linear_velocity(),
|
||||
|
|
|
@ -320,7 +320,7 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
|
|||
}
|
||||
|
||||
if (!_travel(sm, start_request)) {
|
||||
//cant travel, then teleport
|
||||
//can't travel, then teleport
|
||||
path.clear();
|
||||
current = start_request;
|
||||
}
|
||||
|
|
|
@ -419,7 +419,7 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, float
|
|||
if (first_key_time == 0.0) {
|
||||
//ignore, use for transition
|
||||
if (key_count == 1)
|
||||
continue; //with one key we cant do anything
|
||||
continue; //with one key we can't do anything
|
||||
transition = a->track_get_key_transition(i, 0);
|
||||
first_key_time = a->track_get_key_time(i, 1);
|
||||
first_key = 1;
|
||||
|
|
|
@ -192,7 +192,7 @@ float AnimationNode::_blend_node(const StringName &p_subpath, const Vector<Strin
|
|||
case FILTER_IGNORE:
|
||||
break; //will not happen anyway
|
||||
case FILTER_PASS: {
|
||||
//values filtered pass, the rest dont
|
||||
//values filtered pass, the rest don't
|
||||
for (int i = 0; i < blend_count; i++) {
|
||||
if (blendw[i] == 0) //not filtered, does not pass
|
||||
continue;
|
||||
|
@ -206,7 +206,7 @@ float AnimationNode::_blend_node(const StringName &p_subpath, const Vector<Strin
|
|||
} break;
|
||||
case FILTER_STOP: {
|
||||
|
||||
//values filtered dont pass, the rest are blended
|
||||
//values filtered don't pass, the rest are blended
|
||||
|
||||
for (int i = 0; i < blend_count; i++) {
|
||||
if (blendw[i] > 0) //filtered, does not pass
|
||||
|
@ -292,7 +292,7 @@ String AnimationNode::get_caption() const {
|
|||
}
|
||||
|
||||
void AnimationNode::add_input(const String &p_name) {
|
||||
//root nodes cant add inputs
|
||||
//root nodes can't add inputs
|
||||
ERR_FAIL_COND(Object::cast_to<AnimationRootNode>(this) != NULL)
|
||||
Input input;
|
||||
ERR_FAIL_COND(p_name.find(".") != -1 || p_name.find("/") != -1);
|
||||
|
@ -1227,7 +1227,7 @@ void AnimationTree::_process_graph(float p_delta) {
|
|||
t->object->set_indexed(t->subpath, t->value);
|
||||
|
||||
} break;
|
||||
default: {} //the rest dont matter
|
||||
default: {} //the rest don't matter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -112,7 +112,7 @@ void RootMotionView::_notification(int p_what) {
|
|||
|
||||
first = false;
|
||||
|
||||
transform.orthonormalize(); //dont want scale, too imprecise
|
||||
transform.orthonormalize(); //don't want scale, too imprecise
|
||||
transform.affine_invert();
|
||||
|
||||
accumulated = transform * accumulated;
|
||||
|
|
|
@ -2877,7 +2877,7 @@ void Control::_bind_methods() {
|
|||
|
||||
ADD_GROUP("Mouse", "mouse_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "mouse_filter", PROPERTY_HINT_ENUM, "Stop,Pass,Ignore"), "set_mouse_filter", "get_mouse_filter");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "mouse_default_cursor_shape", PROPERTY_HINT_ENUM, "Arrow,Ibeam,Pointing hand,Cross,Wait,Busy,Drag,Can drop,Forbidden,Vertical resize,Horizontal resize,Secondary diagonal resize,Main diagonal resize,Move,Vertial split,Horizontal split,Help"), "set_default_cursor_shape", "get_default_cursor_shape");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "mouse_default_cursor_shape", PROPERTY_HINT_ENUM, "Arrow,Ibeam,Pointing hand,Cross,Wait,Busy,Drag,Can drop,Forbidden,Vertical resize,Horizontal resize,Secondary diagonal resize,Main diagonal resize,Move,Vertical split,Horizontal split,Help"), "set_default_cursor_shape", "get_default_cursor_shape");
|
||||
|
||||
ADD_GROUP("Size Flags", "size_flags_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "size_flags_horizontal", PROPERTY_HINT_FLAGS, "Fill,Expand,Shrink Center,Shrink End"), "set_h_size_flags", "get_h_size_flags");
|
||||
|
|
|
@ -1304,7 +1304,7 @@ GraphEdit::GraphEdit() {
|
|||
add_child(connections_layer);
|
||||
connections_layer->connect("draw", this, "_connections_layer_draw");
|
||||
connections_layer->set_name("CLAYER");
|
||||
connections_layer->set_disable_visibility_clip(true); // so it can draw freely and be offseted
|
||||
connections_layer->set_disable_visibility_clip(true); // so it can draw freely and be offset
|
||||
connections_layer->set_mouse_filter(MOUSE_FILTER_IGNORE);
|
||||
|
||||
h_scroll = memnew(HScrollBar);
|
||||
|
|
|
@ -1942,7 +1942,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
|
|||
int to_column = get_selection_to_column();
|
||||
|
||||
if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) {
|
||||
// Right click is outside the seleted text
|
||||
// Right click is outside the selected text
|
||||
deselect();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1721,7 +1721,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool
|
|||
if (p_button == BUTTON_LEFT || (p_button == BUTTON_RIGHT && allow_rmb_select)) {
|
||||
/* process selection */
|
||||
|
||||
if (p_doubleclick && (!c.editable || c.mode == TreeItem::CELL_MODE_CUSTOM || c.mode == TreeItem::CELL_MODE_ICON /*|| c.mode==TreeItem::CELL_MODE_CHECK*/)) { //it' s confusing for check
|
||||
if (p_doubleclick && (!c.editable || c.mode == TreeItem::CELL_MODE_CUSTOM || c.mode == TreeItem::CELL_MODE_ICON /*|| c.mode==TreeItem::CELL_MODE_CHECK*/)) { //it's confusing for check
|
||||
|
||||
emit_signal("item_activated");
|
||||
incr_search.clear();
|
||||
|
|
|
@ -1442,7 +1442,7 @@ void Animation::track_set_key_transition(int p_track, int p_key_idx, float p_tra
|
|||
case TYPE_BEZIER:
|
||||
case TYPE_AUDIO:
|
||||
case TYPE_ANIMATION: {
|
||||
// they dont use transition
|
||||
// they don't use transition
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -294,25 +294,25 @@ Ref<PackedScene> ResourceInteractiveLoaderText::_parse_node_tag(VariantParser::R
|
|||
|
||||
if (!next_tag.fields.has("from")) {
|
||||
error = ERR_FILE_CORRUPT;
|
||||
error_text = "missing 'from' field fron connection tag";
|
||||
error_text = "missing 'from' field from connection tag";
|
||||
return Ref<PackedScene>();
|
||||
}
|
||||
|
||||
if (!next_tag.fields.has("to")) {
|
||||
error = ERR_FILE_CORRUPT;
|
||||
error_text = "missing 'to' field fron connection tag";
|
||||
error_text = "missing 'to' field from connection tag";
|
||||
return Ref<PackedScene>();
|
||||
}
|
||||
|
||||
if (!next_tag.fields.has("signal")) {
|
||||
error = ERR_FILE_CORRUPT;
|
||||
error_text = "missing 'signal' field fron connection tag";
|
||||
error_text = "missing 'signal' field from connection tag";
|
||||
return Ref<PackedScene>();
|
||||
}
|
||||
|
||||
if (!next_tag.fields.has("method")) {
|
||||
error = ERR_FILE_CORRUPT;
|
||||
error_text = "missing 'method' field fron connection tag";
|
||||
error_text = "missing 'method' field from connection tag";
|
||||
return Ref<PackedScene>();
|
||||
}
|
||||
|
||||
|
@ -358,7 +358,7 @@ Ref<PackedScene> ResourceInteractiveLoaderText::_parse_node_tag(VariantParser::R
|
|||
|
||||
if (!next_tag.fields.has("path")) {
|
||||
error = ERR_FILE_CORRUPT;
|
||||
error_text = "missing 'path' field fron connection tag";
|
||||
error_text = "missing 'path' field from connection tag";
|
||||
_printerr();
|
||||
return Ref<PackedScene>();
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ private:
|
|||
|
||||
uint64_t last_process_usec; /* for frame timing, usec when we did our processing */
|
||||
uint64_t last_commit_usec; /* for frame timing, usec when we finished committing both eyes */
|
||||
uint64_t last_frame_usec; /* time it took between process and commiting, we should probably average this over the last x frames */
|
||||
uint64_t last_frame_usec; /* time it took between process and committing, we should probably average this over the last x frames */
|
||||
|
||||
protected:
|
||||
static ARVRServer *singleton;
|
||||
|
|
|
@ -137,7 +137,7 @@ void AudioStreamPlaybackMicrophone::_mix_internal(AudioFrame *p_buffer, int p_fr
|
|||
Vector<int32_t> buf = AudioDriver::get_singleton()->get_input_buffer();
|
||||
unsigned int input_size = AudioDriver::get_singleton()->get_input_size();
|
||||
|
||||
// p_frames is multipled by two since an AudioFrame is stereo
|
||||
// p_frames is multiplied by two since an AudioFrame is stereo
|
||||
if ((p_frames + MICROPHONE_PLAYBACK_DELAY * 2) > input_size) {
|
||||
for (int i = 0; i < p_frames; i++) {
|
||||
p_buffer[i] = AudioFrame(0.0f, 0.0f);
|
||||
|
|
|
@ -105,7 +105,7 @@ bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vecto
|
|||
|
||||
int amount = space->broadphase->cull_segment(begin, end, space->intersection_query_results, SpaceSW::INTERSECTION_QUERY_MAX, space->intersection_query_subindex_results);
|
||||
|
||||
//todo, create another array tha references results, compute AABBs and check closest point to ray origin, sort, and stop evaluating results when beyond first collision
|
||||
//todo, create another array that references results, compute AABBs and check closest point to ray origin, sort, and stop evaluating results when beyond first collision
|
||||
|
||||
bool collided = false;
|
||||
Vector3 res_point, res_normal;
|
||||
|
|
|
@ -112,7 +112,7 @@ bool Physics2DDirectSpaceStateSW::intersect_ray(const Vector2 &p_from, const Vec
|
|||
|
||||
int amount = space->broadphase->cull_segment(begin, end, space->intersection_query_results, Space2DSW::INTERSECTION_QUERY_MAX, space->intersection_query_subindex_results);
|
||||
|
||||
//todo, create another array tha references results, compute AABBs and check closest point to ray origin, sort, and stop evaluating results when beyond first collision
|
||||
//todo, create another array that references results, compute AABBs and check closest point to ray origin, sort, and stop evaluating results when beyond first collision
|
||||
|
||||
bool collided = false;
|
||||
Vector2 res_point, res_normal;
|
||||
|
|
|
@ -294,7 +294,7 @@ void VisualServerViewport::draw_viewports() {
|
|||
arvr_interface->commit_for_eye(ARVRInterface::EYE_RIGHT, vp->render_target, vp->viewport_to_screen_rect);
|
||||
}
|
||||
|
||||
// and for our frame timing, mark when we've finished commiting our eyes
|
||||
// and for our frame timing, mark when we've finished committing our eyes
|
||||
ARVRServer::get_singleton()->_mark_commit();
|
||||
} else {
|
||||
VSG::rasterizer->set_current_render_target(vp->render_target);
|
||||
|
|
Loading…
Reference in New Issue