summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/classes/TileSet.xml32
-rw-r--r--doc/classes/VisibilityEnabler.xml2
-rw-r--r--doc/classes/VisibilityEnabler2D.xml6
-rw-r--r--drivers/gles2/shaders/scene.glsl18
-rw-r--r--drivers/gles2/shaders/stdlib.glsl9
-rw-r--r--platform/javascript/http_client_javascript.cpp6
-rw-r--r--platform/javascript/javascript_eval.cpp3
-rw-r--r--platform/javascript/os_javascript.cpp24
8 files changed, 59 insertions, 41 deletions
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index b98161e483..3f0d6317a6 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -85,7 +85,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Creates a new tile which will be referenced by the given ID.
+ Creates a new tile with the given ID.
</description>
</method>
<method name="find_tile_by_name" qualifiers="const">
@@ -117,7 +117,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Removes the tile referenced by the given ID.
+ Removes the given tile ID.
</description>
</method>
<method name="tile_add_shape">
@@ -134,6 +134,7 @@
<argument index="4" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
+ Adds a shape to the tile.
</description>
</method>
<method name="tile_get_light_occluder" qualifiers="const">
@@ -142,7 +143,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the light occluder of the tile.
+ Returns the tile's light occluder.
</description>
</method>
<method name="tile_get_material" qualifiers="const">
@@ -151,7 +152,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the material of the tile.
+ Returns the tile's material.
</description>
</method>
<method name="tile_get_modulate" qualifiers="const">
@@ -160,6 +161,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns the tile's modulation color.
</description>
</method>
<method name="tile_get_name" qualifiers="const">
@@ -168,7 +170,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the name of the tile.
+ Returns the tile's name.
</description>
</method>
<method name="tile_get_navigation_polygon" qualifiers="const">
@@ -195,6 +197,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns the tile's normal map texture.
</description>
</method>
<method name="tile_get_occluder_offset" qualifiers="const">
@@ -223,6 +226,7 @@
<argument index="1" name="shape_id" type="int">
</argument>
<description>
+ Returns a tile's given shape.
</description>
</method>
<method name="tile_get_shape_count" qualifiers="const">
@@ -231,6 +235,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns the number of shapes assigned to a tile.
</description>
</method>
<method name="tile_get_shape_offset" qualifiers="const">
@@ -241,6 +246,7 @@
<argument index="1" name="shape_id" type="int">
</argument>
<description>
+ Returns the offset of a tile's shape.
</description>
</method>
<method name="tile_get_shape_one_way" qualifiers="const">
@@ -251,6 +257,7 @@
<argument index="1" name="shape_id" type="int">
</argument>
<description>
+ Returns the one-way collision value of a tile's shape.
</description>
</method>
<method name="tile_get_shape_transform" qualifiers="const">
@@ -261,6 +268,7 @@
<argument index="1" name="shape_id" type="int">
</argument>
<description>
+ Returns the [Transform2D] of a tile's sahpe.
</description>
</method>
<method name="tile_get_shapes" qualifiers="const">
@@ -269,7 +277,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the array of shapes of the tile.
+ Returns an array of the tile's shapes.
</description>
</method>
<method name="tile_get_texture" qualifiers="const">
@@ -278,7 +286,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the texture of the tile.
+ Returns the tile's texture.
</description>
</method>
<method name="tile_get_texture_offset" qualifiers="const">
@@ -296,6 +304,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns the tile's [enum TileMode].
</description>
</method>
<method name="tile_get_z_index" qualifiers="const">
@@ -304,6 +313,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns the tile's z-index (drawing layer).
</description>
</method>
<method name="tile_set_light_occluder">
@@ -391,7 +401,7 @@
<argument index="1" name="occluder_offset" type="Vector2">
</argument>
<description>
- Set an offset for the tile's light occluder.
+ Sets an offset for the tile's light occluder.
</description>
</method>
<method name="tile_set_region">
@@ -402,7 +412,7 @@
<argument index="1" name="region" type="Rect2">
</argument>
<description>
- Set the tile's sub-region in the texture. This is common in texture atlases.
+ Sets the tile's sub-region in the texture. This is common in texture atlases.
</description>
</method>
<method name="tile_set_shape">
@@ -415,6 +425,7 @@
<argument index="2" name="shape" type="Shape2D">
</argument>
<description>
+ Sets a shape for the tile, enabling collision.
</description>
</method>
<method name="tile_set_shape_offset">
@@ -427,6 +438,7 @@
<argument index="2" name="shape_offset" type="Vector2">
</argument>
<description>
+ Sets the offset of a tile's shape.
</description>
</method>
<method name="tile_set_shape_one_way">
@@ -439,6 +451,7 @@
<argument index="2" name="one_way" type="bool">
</argument>
<description>
+ Enables one-way collision on a tile's shape.
</description>
</method>
<method name="tile_set_shape_transform">
@@ -451,6 +464,7 @@
<argument index="2" name="shape_transform" type="Transform2D">
</argument>
<description>
+ Sets a [Transform2D] on a tile's shape.
</description>
</method>
<method name="tile_set_shapes">
diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml
index 83ba9495e5..5f0a4ef0f4 100644
--- a/doc/classes/VisibilityEnabler.xml
+++ b/doc/classes/VisibilityEnabler.xml
@@ -14,8 +14,10 @@
</methods>
<members>
<member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [RigidBody] nodes will be paused.
</member>
<member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [AnimationPlayer] nodes will be paused.
</member>
</members>
<constants>
diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml
index 8dfbaec6e8..eab9bd1991 100644
--- a/doc/classes/VisibilityEnabler2D.xml
+++ b/doc/classes/VisibilityEnabler2D.xml
@@ -14,16 +14,22 @@
</methods>
<members>
<member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [RigidBody2D] nodes will be paused.
</member>
<member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [AnimatedSprite] nodes will be paused.
</member>
<member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [AnimationPlayer] nodes will be paused.
</member>
<member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] [Particles2D] nodes will be paused.
</member>
<member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] the parent's [method Node._physics_process] will be stopped.
</member>
<member name="process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ If [code]true[/code] the parent's [method Node._process] will be stopped.
</member>
</members>
<constants>
diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl
index 2b0b095ac9..958de94485 100644
--- a/drivers/gles2/shaders/scene.glsl
+++ b/drivers/gles2/shaders/scene.glsl
@@ -1218,11 +1218,11 @@ LIGHT_SHADER_CODE
#define SAMPLE_SHADOW_TEXEL_PROJ(p_shadow, p_pos) step(p_pos.z, texture2DProj(p_shadow, p_pos).r)
float sample_shadow(
- highp sampler2D shadow,highp vec4 spos) {
+ highp sampler2D shadow, highp vec4 spos) {
#ifdef SHADOW_MODE_PCF_13
- spos.xyz/=spos.w;
+ spos.xyz /= spos.w;
vec2 pos = spos.xy;
float depth = spos.z;
@@ -1244,7 +1244,7 @@ float sample_shadow(
#ifdef SHADOW_MODE_PCF_5
- spos.xyz/=spos.w;
+ spos.xyz /= spos.w;
vec2 pos = spos.xy;
float depth = spos.z;
@@ -1541,9 +1541,8 @@ FRAGMENT_SHADER_CODE
#ifdef USE_SHADOW
-
#ifdef USE_VERTEX_LIGHTING
-//compute shadows in a mobile friendly way
+ //compute shadows in a mobile friendly way
#ifdef LIGHT_USE_PSSM4
//take advantage of prefetch
@@ -1552,7 +1551,6 @@ FRAGMENT_SHADER_CODE
float shadow3 = sample_shadow(light_directional_shadow, shadow_coord3);
float shadow4 = sample_shadow(light_directional_shadow, shadow_coord4);
-
if (depth_z < light_split_offsets.w) {
float pssm_fade = 0.0;
float shadow_att = 1.0;
@@ -1605,7 +1603,6 @@ FRAGMENT_SHADER_CODE
}
#endif
light_att *= shadow_att;
-
}
#endif //LIGHT_USE_PSSM4
@@ -1616,8 +1613,6 @@ FRAGMENT_SHADER_CODE
float shadow1 = sample_shadow(light_directional_shadow, shadow_coord);
float shadow2 = sample_shadow(light_directional_shadow, shadow_coord2);
-
-
if (depth_z < light_split_offsets.y) {
float shadow_att = 1.0;
float pssm_fade = 0.0;
@@ -1680,12 +1675,11 @@ FRAGMENT_SHADER_CODE
#ifdef LIGHT_USE_PSSM4
-
if (depth_z < light_split_offsets.y) {
- if (depth_z < light_split_offsets.x) {
+ if (depth_z < light_split_offsets.x) {
pssm_coord = shadow_coord;
-#ifdef LIGHT_USE_PSSM_BLEND
+#ifdef LIGHT_USE_PSSM_BLEND
pssm_coord2 = shadow_coord2;
pssm_blend = smoothstep(0.0, light_split_offsets.x, depth_z);
diff --git a/drivers/gles2/shaders/stdlib.glsl b/drivers/gles2/shaders/stdlib.glsl
index 8662dcfe53..3674d70c9f 100644
--- a/drivers/gles2/shaders/stdlib.glsl
+++ b/drivers/gles2/shaders/stdlib.glsl
@@ -39,10 +39,9 @@ highp vec4 texel2DFetch(highp sampler2D tex, ivec2 size, ivec2 coord) {
#ifndef USE_GLES_OVER_GL
highp mat4 transpose(highp mat4 src) {
return mat4(
- vec4( src[0].x, src[1].x, src[2].x, src[3].x ),
- vec4( src[0].y, src[1].y, src[2].y, src[3].y ),
- vec4( src[0].z, src[1].z, src[2].z, src[3].z ),
- vec4( src[0].w, src[1].w, src[2].w, src[3].w )
- );
+ vec4(src[0].x, src[1].x, src[2].x, src[3].x),
+ vec4(src[0].y, src[1].y, src[2].y, src[3].y),
+ vec4(src[0].z, src[1].z, src[2].z, src[3].z),
+ vec4(src[0].w, src[1].w, src[2].w, src[3].w));
}
#endif
diff --git a/platform/javascript/http_client_javascript.cpp b/platform/javascript/http_client_javascript.cpp
index 4fb41d4dc9..ccf4f8a11b 100644
--- a/platform/javascript/http_client_javascript.cpp
+++ b/platform/javascript/http_client_javascript.cpp
@@ -237,7 +237,7 @@ Error HTTPClient::poll() {
case STATUS_CONNECTION_ERROR:
return ERR_CONNECTION_ERROR;
- case STATUS_REQUESTING:
+ case STATUS_REQUESTING: {
#ifdef DEBUG_ENABLED
if (!has_polled) {
@@ -281,6 +281,10 @@ Error HTTPClient::poll() {
godot_xhr_get_response(xhr_id, write.ptr(), polled_response.size());
write = PoolByteArray::Write();
break;
+ }
+
+ default:
+ ERR_FAIL_V(ERR_BUG);
}
return OK;
}
diff --git a/platform/javascript/javascript_eval.cpp b/platform/javascript/javascript_eval.cpp
index 07b4c192e6..9b8174cc71 100644
--- a/platform/javascript/javascript_eval.cpp
+++ b/platform/javascript/javascript_eval.cpp
@@ -140,8 +140,9 @@ Variant JavaScript::eval(const String &p_code, bool p_use_global_exec_context) {
case Variant::POOL_BYTE_ARRAY:
arr_write = PoolByteArray::Write();
return arr;
+ default:
+ return Variant();
}
- return Variant();
}
#endif // JAVASCRIPT_EVAL_ENABLED
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp
index 27f03daf55..7c7aeac980 100644
--- a/platform/javascript/os_javascript.cpp
+++ b/platform/javascript/os_javascript.cpp
@@ -121,14 +121,14 @@ void OS_JavaScript::set_window_size(const Size2 p_size) {
emscripten_exit_soft_fullscreen();
window_maximized = false;
}
- emscripten_set_canvas_size(p_size.x, p_size.y);
+ emscripten_set_canvas_element_size(NULL, p_size.x, p_size.y);
}
}
Size2 OS_JavaScript::get_window_size() const {
- int canvas[3];
- emscripten_get_canvas_size(canvas, canvas + 1, canvas + 2);
+ int canvas[2];
+ emscripten_get_canvas_element_size(NULL, canvas, canvas + 1);
return Size2(canvas[0], canvas[1]);
}
@@ -378,15 +378,13 @@ static void set_css_cursor(const char *p_cursor) {
/* clang-format on */
}
-static const char *get_css_cursor() {
+static bool is_css_cursor_hidden() {
- char cursor[16];
/* clang-format off */
- EM_ASM_INT({
- stringToUTF8(Module.canvas.style.cursor ? Module.canvas.style.cursor : 'auto', $0, 16);
- }, cursor);
+ return EM_ASM_INT({
+ return Module.canvas.style.cursor === 'none';
+ });
/* clang-format on */
- return cursor;
}
void OS_JavaScript::set_cursor_shape(CursorShape p_shape) {
@@ -430,7 +428,7 @@ void OS_JavaScript::set_mouse_mode(OS::MouseMode p_mode) {
OS::MouseMode OS_JavaScript::get_mouse_mode() const {
- if (String::utf8(get_css_cursor()) == "none")
+ if (is_css_cursor_hidden())
return MOUSE_MODE_HIDDEN;
EmscriptenPointerlockChangeEvent ev;
@@ -835,13 +833,13 @@ bool OS_JavaScript::main_loop_iterate() {
strategy.canvasResizedCallback = NULL;
emscripten_enter_soft_fullscreen(NULL, &strategy);
} else {
- emscripten_set_canvas_size(windowed_size.width, windowed_size.height);
+ emscripten_set_canvas_element_size(NULL, windowed_size.width, windowed_size.height);
}
just_exited_fullscreen = false;
}
- int canvas[3];
- emscripten_get_canvas_size(canvas, canvas + 1, canvas + 2);
+ int canvas[2];
+ emscripten_get_canvas_element_size(NULL, canvas, canvas + 1);
video_mode.width = canvas[0];
video_mode.height = canvas[1];
if (!window_maximized && !video_mode.fullscreen && !just_exited_fullscreen && !entering_fullscreen) {