Skip to content

Commit

Permalink
Merge pull request godotengine#31 from lawnjelly/plus_merge
Browse files Browse the repository at this point in the history
Sync with 3.x
  • Loading branch information
lawnjelly authored Apr 19, 2023
2 parents 6c02676 + f133e12 commit 30b7dba
Show file tree
Hide file tree
Showing 6 changed files with 262 additions and 10 deletions.
241 changes: 238 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,244 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).


## [3.6] - TBD

### Added

#### 2D

- Add Gradient resource preview generator ([GH-68990](https://github.com/godotengine/godot/pull/68990)).

#### 3D

- Add rotation ability to material editor preview ([GH-49466](https://github.com/godotengine/godot/pull/49466)).
- Automatically add root node when drag-and-dropping in 3D editor ([GH-55626](https://github.com/godotengine/godot/pull/55626)).
- Add `TorusMesh` ([GH-64044](https://github.com/godotengine/godot/pull/64044)).
- Make Camera3D gizmo clickable ([GH-68003](https://github.com/godotengine/godot/pull/68003)).

#### Audio

- Backport text-to-speech support ([GH-61316](https://github.com/godotengine/godot/pull/61316)).
- Backport panning strength parameters ([GH-64579](https://github.com/godotengine/godot/pull/64579)).

#### Core

- Add boot splash minimum display time setting ([GH-41833](https://github.com/godotengine/godot/pull/41833)).
- Add an `use_hdr` property to GradientTexture to allow storing HDR colors ([GH-48372](https://github.com/godotengine/godot/pull/48372)).
- Add optional readahead to VariantParser ([GH-65079](https://github.com/godotengine/godot/pull/65079), [GH-69963](https://github.com/godotengine/godot/pull/69963)).
- Add ability to pick random value from array ([GH-67444](https://github.com/godotengine/godot/pull/67444)).
- Expose `OS.read_string_from_stdin()` to the scripting API ([GH-70378](https://github.com/godotengine/godot/pull/70378)).
- Add Color + alpha constructor for Color ([GH-74973](https://github.com/godotengine/godot/pull/74973)).

#### Editor

- Add support for documenting most editor settings in the class reference ([GH-48548](https://github.com/godotengine/godot/pull/48548)).
- Add vector value linking ([GH-59125](https://github.com/godotengine/godot/pull/59125)).
- Backport locale selection improvements ([GH-61878](https://github.com/godotengine/godot/pull/61878)).
- Mark Script button if it's tool in Scene Tree Editor ([GH-65088](https://github.com/godotengine/godot/pull/65088)).
- Add navigation controls to the spatial editor viewport for mobile (Android editor) ([GH-67681](https://github.com/godotengine/godot/pull/67681)).
- Add built-in action toggle in Input Map settings ([GH-69331](https://github.com/godotengine/godot/pull/69331)).

#### GUI

- Support multiline strings in buttons ([GH-41464](https://github.com/godotengine/godot/pull/41464)).
- Add dumb theme item cache to `Control` ([GH-64314](https://github.com/godotengine/godot/pull/64314)).
- Support AtlasTexture in radial modes of TextureProgress ([GH-68246](https://github.com/godotengine/godot/pull/68246)).
- Add alignment options to flow container ([GH-68556](https://github.com/godotengine/godot/pull/68556)).

#### Import

- Add 16-bits TGA support ([GH-65717](https://github.com/godotengine/godot/pull/65717)).
- glTF imports & exports material texture filters ([GH-66856](https://github.com/godotengine/godot/pull/66856)).
- Backport the GLTFDocumentExtension system ([GH-70411](https://github.com/godotengine/godot/pull/70411)).

#### Input

- Add support for multiple virtual keyboard types ([GH-58537](https://github.com/godotengine/godot/pull/58537)).
- Add `MOUSE_MODE_CONFINED_HIDDEN` to MouseMode enum ([GH-63643](https://github.com/godotengine/godot/pull/63643)).
- Add `double_tap` attribute to `InputEventScreenTouch` ([GH-67607](https://github.com/godotengine/godot/pull/67607)).
- Add support for pointer capture ([GH-68441](https://github.com/godotengine/godot/pull/68441)).

#### Mono (C#)

- Support explicit values in flag properties, add C# flags support ([GH-59328](https://github.com/godotengine/godot/pull/59328)).

#### Navigation

- Add NavigationMesh baking for HeightMapShape ([GH-63935](https://github.com/godotengine/godot/pull/63935)).

#### Particles

- Improve visibility rect/AABB generation usability in Particles ([GH-50180](https://github.com/godotengine/godot/pull/50180)).
- Add options for sorting transparent objects ([GH-63040](https://github.com/godotengine/godot/pull/63040)).
- Allow negative scale in Particles and CPUParticles ([GH-53852](https://github.com/godotengine/godot/pull/53852)).

#### Physics

- Add `ShapeCast` and `ShapeCast2D` nodes ([GH-63659](https://github.com/godotengine/godot/pull/63659)).
- Add area monitor callback error checking ([GH-64079](https://github.com/godotengine/godot/pull/64079)).

#### Porting

- Android: Add cursor shape support ([GH-66945](https://github.com/godotengine/godot/pull/66945)).
- Android: Implement file provider capabilities ([GH-72496](https://github.com/godotengine/godot/pull/72496)).
- iOS: Swift runtime support for iOS Plugins ([GH-49828](https://github.com/godotengine/godot/pull/49828)).
- iOS: Add iOS UI Options ([GH-68189](https://github.com/godotengine/godot/pull/68189)).
- iOS: Add ProMotion/High Refresh Rate support ([GH-68190](https://github.com/godotengine/godot/pull/68190)).
- macOS: Simplify code signing options, add support for rcodesign tool for signing and notarization ([GH-66093](https://github.com/godotengine/godot/pull/66093)).
- Web: Expose API to force file system sync ([GH-71132](https://github.com/godotengine/godot/pull/71132)).
- Windows: Enable ANSI escape code processing on Windows 10 and later ([GH-66216](https://github.com/godotengine/godot/pull/66216)).

#### Shaders

- Add `hint_transparent` to use a transparent black placeholder texture ([GH-51676](https://github.com/godotengine/godot/pull/51676)).
- Backport additional spatial shader built-ins ([GH-63971](https://github.com/godotengine/godot/pull/63971)).

### Changed

#### 2D

- Remove error condition from `get_global_transform()` ([GH-67710](https://github.com/godotengine/godot/pull/67710)).

#### 3D

- Make CollisionShape selection box use shape AABB ([GH-71320](https://github.com/godotengine/godot/pull/71320)).

#### Animation

- Advance animation after confirming ([GH-48995](https://github.com/godotengine/godot/pull/48995)).

#### Audio

- Optimize `AudioServer::_driver_process()` ([GH-63430](https://github.com/godotengine/godot/pull/63430)).
- Fix MIDI note-on events being converted to note-off events ([GH-66003](https://github.com/godotengine/godot/pull/66003)).

#### Buildsystem

- SCons: Refactor LTO options with `lto=<none|thin|full>` ([GH-63309](https://github.com/godotengine/godot/pull/63309)).
- SCons: Refactor handling of `production` flag and per-platform LTO defaults ([GH-65745](https://github.com/godotengine/godot/pull/65745)).

#### Core

- Faster queue free ([GH-62444](https://github.com/godotengine/godot/pull/62444)).
- Optimize `String.repeat()` ([GH-64995](https://github.com/godotengine/godot/pull/64995)).
- Make MessageQueue growable ([GH-75527](https://github.com/godotengine/godot/pull/75527)).

#### Editor

- Keep property values when extending script ([GH-43081](https://github.com/godotengine/godot/pull/43081)).
- Improvements to EditorResourcePicker ([GH-56398](https://github.com/godotengine/godot/pull/56398)).
- Simplify Subresource Saving ([GH-62318](https://github.com/godotengine/godot/pull/62318)).
- Rework scene creation dialog ([GH-62746](https://github.com/godotengine/godot/pull/62746)).
- Use `FlowContainer` to handle toolbar overflow more gracefully ([GH-63250](https://github.com/godotengine/godot/pull/63250)).
- Overhaul CLI argument forwarding to processes started by the editor ([GH-64375](https://github.com/godotengine/godot/pull/64375)).

#### Mono (C#)

- Deprecate string extensions that will be removed in 4.x ([GH-69304](https://github.com/godotengine/godot/pull/69304)).

#### Networking

- UPNP: Don't delete previous mappings when adding new port mappings ([GH-63809](https://github.com/godotengine/godot/pull/63809)).

#### Porting

- Android: Use the new API for virtual keyboard height detection ([GH-74399](https://github.com/godotengine/godot/pull/74399)).
- Android: Bump the target SDK version to 33 (Android 13) ([GH-75205](https://github.com/godotengine/godot/pull/75205)).
- macOS: Disable Dock and Menu in fullscreen mode ([GH-68260](https://github.com/godotengine/godot/pull/68260)).
- Windows: Icon export improvements ([GH-68858](https://github.com/godotengine/godot/pull/68858)).

#### Rendering

- Clamp SpatialMaterial triplanar sharpness to values that never look broken ([GH-58601](https://github.com/godotengine/godot/pull/58601)).
- Use interleaved gradient noise and circular fade for distance fade ([GH-64052](https://github.com/godotengine/godot/pull/64052), [GH-69959](https://github.com/godotengine/godot/pull/69959)).

#### Thirdparty

- Embree updated to version 3.13.5.
- libpng updated to version 1.6.39.
- libwebp updated to version 1.2.4.
- MbedTLS updated to version 2.28.2.
- miniupnpc updated to version 2.2.3.
- zlib/minizip updated to version 1.2.13.
- zstd updated to version 1.5.2.
- CA root certificates updated to 2022.10 bundle from Mozilla.
- SDL GameControllerDB updated to 2023-02-27 git snapshot.

#### XR

- Expose `ARVRInterface::get_transform_for_eye()` to GDScript ([GH-68384](https://github.com/godotengine/godot/pull/68384)).

### Fixed

#### Animation

- Create reset tracks with the right update mode ([GH-63119](https://github.com/godotengine/godot/pull/63119)).
- Don't store frame of playing AnimatedSprite ([GH-66155](https://github.com/godotengine/godot/pull/66155)).
- Fix animation signal `caches_cleared` firing timing ([GH-69474](https://github.com/godotengine/godot/pull/69474)).

#### Core

- Mark node groups as dirty for every children if parent is moved ([GH-61578](https://github.com/godotengine/godot/pull/61578)).
- Fix nested resources being cached if no-cache argument used ([GH-62408](https://github.com/godotengine/godot/pull/62408)).

#### GDScript

- Fix script editor completion doesn't suggest members of a script for type hints ([GH-48037](https://github.com/godotengine/godot/pull/48037)).
- Fix local variables not showing in debugger when break-pointing on final line ([GH-58201](https://github.com/godotengine/godot/pull/58201)).
- Fix inner class parsing when statement after colon is on the same line ([GH-61993](https://github.com/godotengine/godot/pull/61993)).
- LSP: Improve handling of file URI scheme ([GH-69960](https://github.com/godotengine/godot/pull/69960)).
- Make `dict2inst` to work with arbitrary `_init` parameters ([GH-70786](https://github.com/godotengine/godot/pull/70786)).
- Improve parser speed for very long scripts ([GH-74782](https://github.com/godotengine/godot/pull/74782), [GH-74794](https://github.com/godotengine/godot/pull/74794)).

#### GUI

- Update root order on layer change ([GH-59479](https://github.com/godotengine/godot/pull/59479)).
- Fix theme propagation for children of top level controls ([GH-61588](https://github.com/godotengine/godot/pull/61588)).
- Remove redundant checkbox check ([GH-62644](https://github.com/godotengine/godot/pull/62644)).
- Fix Range doesn't take into account the min value when setting the value ([GH-65101](https://github.com/godotengine/godot/pull/65101)).
- PopupMenu rework and enhancements ([GH-66711](https://github.com/godotengine/godot/pull/66711)).
- Improve font glyph cache packing and texture update ([GH-67626](https://github.com/godotengine/godot/pull/67626)).

#### Import

- glTF import external images correctly ([GH-66889](https://github.com/godotengine/godot/pull/66889)).

#### Input

- Fix mouse speed not changing fast enough ([GH-56765](https://github.com/godotengine/godot/pull/56765)).
- Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter ([GH-63109](https://github.com/godotengine/godot/pull/63109)).

#### Mono (C#)

- Various fixes to C# documentation generator ([GH-64019](https://github.com/godotengine/godot/pull/64019)).

#### Porting

- Android: Fix incorrect scancodes ([GH-62886](https://github.com/godotengine/godot/pull/62886)).
- Android: Clean-up and refactor of the input implementation ([GH-65398](https://github.com/godotengine/godot/pull/65398)).
- Android: Fix wrong key mapping ([GH-68287](https://github.com/godotengine/godot/pull/68287)).
- Android: Update the logic to calculate the screen scale ([GH-71838](https://github.com/godotengine/godot/pull/71838)).
- Android: Fix directory access when the running app has the `All files access` permission ([GH-75147](https://github.com/godotengine/godot/pull/75147)).
- Linux: Fix MIDI input with ALSA ([GH-54309](https://github.com/godotengine/godot/pull/54309)).

#### Rendering

- Validate RIDs before freeing ([GH-55764](https://github.com/godotengine/godot/pull/55764)).
- Visual instance layers are regarded during shadow culling ([GH-61841](https://github.com/godotengine/godot/pull/61841)).
- Fix Viewport size change not updating textures ([GH-64735](https://github.com/godotengine/godot/pull/64735)).
- Take FXAA samples from half-pixel coordinates to improve quality ([GH-66466](https://github.com/godotengine/godot/pull/66466)).
- Fix GLES 2 SpotLight bug with shadow filter mode ([GH-69826](https://github.com/godotengine/godot/pull/69826)).
- Eliminate collision checks between geometry in rendering BVH ([GH-72511](https://github.com/godotengine/godot/pull/72511)).
- Fix Line2D UVs when using BOX end cap mode ([GH-73070](https://github.com/godotengine/godot/pull/73070)).
- Fix shadows when using 2 directional lights ([GH-74539](https://github.com/godotengine/godot/pull/74539)).
- Fixed whitescreen issue in GLES2 glow setting ([GH-74953](https://github.com/godotengine/godot/pull/74953)).

#### XR

- Correctly apply `world_scale` in WebXR ([GH-71880](https://github.com/godotengine/godot/pull/71880)).


## [3.5] - 2022-08-05

See the [release announcement](https://godotengine.org/article/godot-3-5-cant-stop-wont-stop) for details.
Expand Down Expand Up @@ -180,7 +418,6 @@ See the [release announcement](https://godotengine.org/article/godot-3-5-cant-st
- WebXR: Rendering and touch events now supported on smartphone AR ([GH-55869](https://github.com/godotengine/godot/pull/55869), [GH-56819](https://github.com/godotengine/godot/pull/56819)).
- WebXR: Allow mapping VR controller joystick/button IDs to match other AR/VR interfaces ([GH-59994](https://github.com/godotengine/godot/pull/59994)).


### Changed

#### Audio
Expand Down Expand Up @@ -320,7 +557,6 @@ See the [release announcement](https://godotengine.org/article/godot-3-5-cant-st

- Updated Meta hand tracking version ([GH-60639](https://github.com/godotengine/godot/pull/60639)).


### Removed

#### Porting
Expand All @@ -332,7 +568,6 @@ See the [release announcement](https://godotengine.org/article/godot-3-5-cant-st
- Removed support for `1f` or `0f` float literal syntax which is invalid in GLSL ([GH-55623](https://github.com/godotengine/godot/pull/55623)).
Floats should be written with a decimal separator (`1.0f` or `0.f`).


### Fixed

#### 2D
Expand Down
2 changes: 2 additions & 0 deletions core/image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3031,6 +3031,8 @@ void Image::_bind_methods() {
BIND_ENUM_CONSTANT(COMPRESS_PVRTC4);
BIND_ENUM_CONSTANT(COMPRESS_ETC);
BIND_ENUM_CONSTANT(COMPRESS_ETC2);
BIND_ENUM_CONSTANT(COMPRESS_BPTC);
BIND_ENUM_CONSTANT(COMPRESS_MAX);

BIND_ENUM_CONSTANT(COMPRESS_SOURCE_GENERIC);
BIND_ENUM_CONSTANT(COMPRESS_SOURCE_SRGB);
Expand Down
6 changes: 6 additions & 0 deletions doc/classes/Image.xml
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,12 @@
<constant name="COMPRESS_ETC2" value="4" enum="CompressMode">
Use ETC2 compression.
</constant>
<constant name="COMPRESS_BPTC" value="5" enum="CompressMode">
Use BPTC compression.
</constant>
<constant name="COMPRESS_MAX" value="6" enum="CompressMode">
Represents the size of the [enum CompressMode] enum.
</constant>
<constant name="COMPRESS_SOURCE_GENERIC" value="0" enum="CompressSource">
Source texture (before compression) is a regular texture. Default for all textures.
</constant>
Expand Down
8 changes: 8 additions & 0 deletions modules/webxr/native/library_godot_webxr.js
Original file line number Diff line number Diff line change
Expand Up @@ -171,13 +171,21 @@ const GodotWebXR = {
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.uniform1i(GodotWebXR.programInfo.uniformLocations.uSampler, 0);

const blend_enabled = gl.getParameter(gl.BLEND);
if (blend_enabled) {
gl.disable(gl.BLEND);
}

gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);

// Restore state.
gl.bindTexture(gl.TEXTURE_2D, null);
gl.disableVertexAttribArray(GodotWebXR.programInfo.attribLocations.vertexPosition);
gl.bindBuffer(gl.ARRAY_BUFFER, null);
gl.useProgram(orig_program);
if (blend_enabled) {
gl.enable(gl.BLEND);
}
},

// Holds the controllers list between function calls.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,12 @@ public void onTextChanged(final CharSequence pCharSequence, final int start, fin
public boolean onEditorAction(final TextView pTextView, final int pActionID, final KeyEvent pKeyEvent) {
if (this.mEdit == pTextView && this.isFullScreenEdit() && pKeyEvent != null) {
final String characters = pKeyEvent.getCharacters();

for (int i = 0; i < characters.length(); i++) {
final int ch = characters.codePointAt(i);
GodotLib.key(ch, 0, ch, true);
GodotLib.key(ch, 0, ch, false);
if (characters != null) {
for (int i = 0; i < characters.length(); i++) {
final int ch = characters.codePointAt(i);
GodotLib.key(ch, 0, ch, true);
GodotLib.key(ch, 0, ch, false);
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions scene/resources/default_theme/default_theme.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -898,8 +898,8 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
theme->set_constant("vseparation", "GridContainer", 4 * scale);
theme->set_constant("separation", "HSplitContainer", 12 * scale);
theme->set_constant("separation", "VSplitContainer", 12 * scale);
theme->set_constant("autohide", "HSplitContainer", 1 * scale);
theme->set_constant("autohide", "VSplitContainer", 1 * scale);
theme->set_constant("autohide", "HSplitContainer", 1);
theme->set_constant("autohide", "VSplitContainer", 1);
theme->set_constant("hseparation", "HFlowContainer", 4 * scale);
theme->set_constant("vseparation", "HFlowContainer", 4 * scale);
theme->set_constant("hseparation", "VFlowContainer", 4 * scale);
Expand Down

0 comments on commit 30b7dba

Please sign in to comment.