Commit graph

5398 commits

Author SHA1 Message Date
Rémi Verschelde
91dee347ad
Merge pull request #81609 from AThousandShips/gizmo_fix
Fix local 3D translation editing
2023-09-16 21:24:06 +02:00
Rémi Verschelde
7ca579cb27
Merge pull request #81554 from Calinou/editor-gizmos-add-decal
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
2023-09-16 21:22:54 +02:00
kobewi
447a4b6bcf Fix rotated 2D movement gizmo 2023-09-16 19:26:20 +02:00
A Thousand Ships
dae27d1311 Fix local 3D translation editing 2023-09-16 11:11:54 +02:00
Hugo Locurcio
5345cf3e75
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
- Tweak CPUParticles3D editor gizmo icon to use the same outline
  color as other gizmo icons. Make the internal icon easier to see
  by using an orange color instead of gray.

Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2023-09-15 20:44:45 +02:00
A Thousand Ships
75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov
2febb246e1 Merge pull request #81606 from jsjtxietian/hide-animation-tool--correctly-when-switching-scenes
Hide animation toolbar above the viewport correctly when switching scenes
2023-09-15 19:48:23 +02:00
Yuri Sizov
df6cd37a69 Merge pull request #81516 from YuriSizov/editor-theme-access-the-success
Fix accessing editor theme items throughout the UI
2023-09-15 19:48:14 +02:00
Yuri Sizov
508a758eab Merge pull request #75303 from Calinou/3d-gizmos-only-selected
Show visual-oriented 3D node gizmos only when selected
2023-09-15 19:48:10 +02:00
Yuri Sizov
8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
jsjtxietian
0113e6961d Hide animation tool correctly when switching scenes 2023-09-15 10:48:26 +08:00
Hugo Locurcio
1024ba0c0d
Show visual-oriented 3D node gizmos only when selected
Affected nodes:

- DirectionalLight3D, OmniLight3D, SpotLight3D
- ReflectionProbe
- LightmapGI
- VoxelGI
- GPUParticles3D (but not collision/attractor nodes)
- AudioStreamPlayer3D

This reduces visual clutter in the editor with 3D scenes.
2023-09-15 01:59:49 +02:00
Rémi Verschelde
5a74ce9a56
Merge pull request #81557 from YuriSizov/editor-toolbars-divided
Improve the looks of 2D/3D viewport contextual toolbars
2023-09-14 23:40:33 +02:00
Yuri Sizov
f542dffb39 Improve the looks of 2D/3D viewport contextual toolbars 2023-09-13 13:04:55 +02:00
kobewi
015953a3d9 Add helper for 3D gizmos and unify box 2023-09-12 18:08:02 +02:00
Haoyu Qiu
b8b0339549 Improve undo action names
* Avoid concating strings manually for better i18n and easy l10n
   * Use `vformat` when possible
   * Use separate strings if the changing part is only a few hardcoded strings
* Don't put a period at the end of the name
2023-09-12 18:53:50 +08:00
Rémi Verschelde
3e68ed0ca1
Merge pull request #81255 from JohnGabrielUK/primary-line-separate-xy
Allow configuring primary line X/Ys separately
2023-09-12 12:01:15 +02:00
Rémi Verschelde
475860839c
Merge pull request #80144 from KoBeWi/freedom_tiles
Add per-tile flipping and transposing
2023-09-12 12:00:20 +02:00
John Gabriel
984eb96c43 Allow configuring primary line X/Ys separately 2023-09-12 10:24:07 +01:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Rémi Verschelde
7471ac2c4d
Merge pull request #81543 from DarioSamo/lightmap-size-crash-fix
Propagate error correctly when max texture size for lightmaps is too small.
2023-09-12 08:50:45 +02:00
Jean-Michel Bernard
67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
Dario
7dfb854556 Propagate error correctly when max texture size for lightmaps is too small.
Add error handling for BAKE_ERROR_LIGHTMAP_TOO_SMALL, which was previously ignored. Fixes #81453.
2023-09-11 09:14:39 -03:00
kobewi
a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
Yuri Sizov
639aba4ee1 Improve handling of archives when installing assets 2023-09-08 20:45:49 +02:00
Hendrik Brucker
5afe78bd9c Clean up/refactor GraphNode and make it more flexible
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
Rémi Verschelde
074931a3aa
Merge pull request #81410 from bitsawer/fix_shader_include_reload
Fix shader text editor include file reloading
2023-09-07 16:32:54 +02:00
Rémi Verschelde
7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
bitsawer
d50595c0e9 Fix shader text editor include file reloading 2023-09-07 14:35:26 +03:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Yuri Sizov
fc01e2e7f6 Add a theme preview switcher to the 2D viewport
This commit adds a new View submenu that allows switching
between the project theme (default), the editor theme, and
the default theme. The last selected option is stored per
project and is restored when reloading the project.
2023-09-06 19:40:43 +02:00
Yuri Sizov
512182f147 Add theme contexts to various parts of the editor
This change defines additional theme contexts for editor
branches to prevent theme leaking between the default
theme, the project theme, and the editor theme.

- Both editor window and EditorNode define an editor-specific
context with the editor theme and the default theme.
- The 2D viewport defines a project-specific context with
the project theme and the default theme.
- Theme editor preview tabs define the default-only context
with the default theme.

Additionally, the default theme context now only includes
the project theme for running projects (both export and debug).
This prevents the project theme from leaking into the editor.

This commit also does a little clean up on the theming aspects
of the EditorNode.
2023-09-06 19:40:43 +02:00
Yuri Sizov
3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
Fredia Huya-Kouadio
8cc7739197 Godot Android plugin re-architecture 2023-09-03 17:04:10 -07:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde
07035466e8
Merge pull request #81189 from jsjtxietian/Fix-press-space-when-enter-editor-layout-name-will-confirm-save
Use `ui_text_submit` instead of `ui_accept` to confirm and close text prompts
2023-09-02 14:30:12 +02:00
jsjtxietian
ba41910967 Use ui_text_submit to confirm and close text prompts
Fix press space when enter editor layout name will
confirm and save layout, same in theme editor
2023-09-01 12:23:30 +08:00
jsjtxietian
cfd7dfd985 Fix a crash when built-in script is not saved and have syntax error
When built-in script is not saved, it has empty path, and origin
code assumes error with empty path is a depended_error but that's
not always the case.
Also add protection before access list index 0.
2023-08-30 17:45:58 +08:00
Rémi Verschelde
3417f34a37
Merge pull request #80529 from KoBeWi/unfortunate_fix_is_unfortunate🤦‍♂️
Fix TileSet not disappearing on deselecting TileMap
2023-08-29 12:43:10 +02:00
Rémi Verschelde
1ffc24e19e
Merge pull request #80124 from Calinou/3d-editor-frame-time-initialize-fps
Initialize View Frame Time estimates to match 120 FPS
2023-08-29 12:42:16 +02:00
Rémi Verschelde
9229ea121c
Merge pull request #77986 from KoBeWi/outside_the_texture,_only_death_awaits
Cleanup tiles outside the texture
2023-08-28 20:37:04 +02:00
Hugo Locurcio
15b31f0891
Initialize View Frame Time estimates to match 120 FPS
This prevents the estimation from being extremely high (close to 100,000 FPS)
until enough time has passed to display an accurate estimation.
2023-08-28 17:25:56 +02:00
kobewi
52d41cc555 Add option to cleanup tiles outside the texture 2023-08-28 15:15:45 +02:00
Rémi Verschelde
6636ccc3ea
Merge pull request #80943 from rakkarage/tileset-atlas-merge-rgb8
Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed
2023-08-28 15:04:16 +02:00
Rémi Verschelde
bcbe1fd5e0
Merge pull request #80754 from KoBeWi/TileSetImprovementsCollectionSource
Improve scene tiles workflow
2023-08-28 15:03:26 +02:00
Rémi Verschelde
a7ded904de
Merge pull request #79678 from thiagola92/auto_create_tilesets_for_multiple_atlas
Auto create tile for multiple atlases
2023-08-28 15:02:37 +02:00
Rémi Verschelde
2d42357464
Merge pull request #77316 from rakkarage/tileset_atlas_merge
Include animation frames in tile atlas merge.
2023-08-28 15:01:24 +02:00
Juan Linietsky
407b16ab00
Debug CanvasItem redraw
I wanted to add this tool for years and always forget. This command line option:

```
$ godot.exe -e --debug-canvas-item-redraw
```

Allows to see when a canvas item is redrawn. This helps find out if something
in the UI is refreshing in a way it should not. Examples as such:

* Signals causing more of the UI to redraw.
* Container resizing causes more UI elements to redraw.
* Something using a timer is redrawing all time time, which can go unnoticed.

To my surprise, the editor UI is redrawing very efficiently. There is some
weird stuff with the scene tabs, redrawing when the inspector changes but most
things for the most part are fine.
2023-08-28 12:53:56 +02:00
Rémi Verschelde
00d1fafc77
Merge pull request #81022 from YuriSizov/editor-run-scripts-valid-and-toasty
Improve warnings when running scripts in the editor
2023-08-28 12:08:37 +02:00
Rémi Verschelde
8f07644867
Merge pull request #81011 from 21dhruvp/remove-meta-array
Added checks to remove meta arrays when creating and undoing guides
2023-08-28 12:07:03 +02:00
Rémi Verschelde
0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Rémi Verschelde
33a3e12fe1
Merge pull request #80435 from YuriSizov/region-editor-quality-pass
Fix multiple usability issues in the texture region editor
2023-08-28 12:04:18 +02:00
thiagola92
c8a94ea3e8 Support auto create tiles when adding multiple atlases
TileSet add button support multiple files
Join most of the code of `_drop_data_fw()` and `_texture_file_selected()` in a new function `_load_texture_files()`
Rename `init_source` to `init_new_atlases`
2023-08-27 10:45:03 -03:00
Yuri Sizov
4b7d0c84a1 Fix multiple usability issues in the texture region editor
- Correctly display atlas textures when used by other objects.
- Make region handles easier to hit in ninepatchable objects.
- Correctly initialize and restore various visual properties.
- Improve code quality.
2023-08-27 14:25:49 +02:00
Yuri Sizov
2270f4917a Improve warnings when running scripts in the editor 2023-08-27 13:59:06 +02:00
21dhruvp
a7b2819540 Added checks to remove meta arrays when creating and undoing guides
Added checks to remove meta arrays when creating and undoing guides

Update editor/plugins/canvas_item_editor_plugin.cpp

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update editor/plugins/canvas_item_editor_plugin.cpp

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-26 10:35:54 -04:00
Yuri Sizov
6da4ad1662 Merge pull request #80968 from rakkarage/alternative-icon-scale
Call `add_child` after `set_rect` to fix size bug
2023-08-25 21:26:50 +02:00
Yuri Sizov
43f61836ad Merge pull request #80934 from philippesic/TileSet-Sep-Suffix
Add `px` suffix for TileSet `separation` property
2023-08-25 21:26:41 +02:00
Pippo Pesic
0044217a7f Add px suffix to TileSet Separation value
Add px suffix to TileSet separation value
2023-08-25 08:58:11 -07:00
Rakka Rage
e93d2a04df Call add_child after set_rect to fix size bug 2023-08-25 10:10:47 -04:00
Yuri Sizov
e21ded8f8f Merge pull request #80450 from KoBeWi/settings_freeze,_no_more_changes
Deprecate `project_settings_changed` signal
2023-08-25 14:58:32 +02:00
Rakka Rage
dc2aa69c46 Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed 2023-08-23 19:26:57 -04:00
Rakka Rage
c17848f07d Include animation frames in tile atlas merge. 2023-08-23 16:19:24 -04:00
Rémi Verschelde
cc01b28886
Merge pull request #80779 from Chaosus/cpuparticles_converter
Implement conversion from `CPUParticles` to `GPUParticles` (3D/2D)
2023-08-21 19:26:48 +02:00
Rémi Verschelde
23db0240a2
Merge pull request #78996 from Tetane/create_shader_node_popup
Fix "Create Shader Node" window position when visual shader editor is floating
2023-08-21 08:20:42 +02:00
Yuri Roubinski
7fcb91f077 Implement conversion from CPUParticles to GPUParticles (3D/2D) 2023-08-19 11:58:57 +03:00
kobewi
0d8f8d7054 Simplify making texture nodes in 2D editor 2023-08-19 00:17:34 +02:00
kobewi
a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Rémi Verschelde
446dfdbd87
Merge pull request #80329 from xiongyaohua/path3d_tilt_gizmo
Add handles to control Curve3D tilt
2023-08-17 12:29:55 +02:00
Rémi Verschelde
a42f95f9e2
Merge pull request #80689 from AThousandShips/gizmo_fix
Fix gizmo for `BoxShape3D`
2023-08-17 11:27:28 +02:00
Rémi Verschelde
c7356c795b
Merge pull request #80647 from jsjtxietian/CollisionShape3D-Shape-Size-handles-missing-when-Script-editor-floating
Fix 2D/3D viewport context switching issues when script editor is floating
2023-08-17 11:27:04 +02:00
Rémi Verschelde
8d0c9a4c87
Merge pull request #80317 from KoBeWi/taking_shortcuts
Ensure TileMap editor shortcuts are handled
2023-08-17 11:24:39 +02:00
Rémi Verschelde
aa9e4b8ace
Merge pull request #77096 from spanzeri/skeleton-editor-cleanup-followup
Additional cleanup of bone editors
2023-08-17 11:19:44 +02:00
A Thousand Ships
1dcb45a79c Fix gizmo for BoxShape3D 2023-08-16 16:49:04 +02:00
jsjtxietian
fec0396cac fix CollisionShape3D Shape Size handle will missing
when Script editor floating
2023-08-15 12:41:20 +08:00
Rémi Verschelde
c78be12f42
Merge pull request #80610 from lawnjelly/fix_tilemap_editor_plugin_crash2
Fix `TileMapEditorPlugin` crash by storing tilemap ID instead of pointer
2023-08-14 15:31:19 +02:00
lawnjelly
356fc728a4 Fix TileMapEditorPlugin crash by storing tilemap ID instead of pointer
Store the tilemap ObjectID instead of raw pointer, and check it is valid before access.
2023-08-14 12:56:52 +01:00
lawnjelly
fa7be20ee1 Fix crash on exit where TileSet calls destroyed TileSetAtlasSourceEditor
Removes signal from TileSet on destroying TileSetAtlasSourceEditor, to prevent TileSet calling function in destroyed TileSetAtlasSourceEditor.
2023-08-14 10:25:50 +01:00
Yuri Sizov
2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
Daniel Roberts
46e395abb1 Add handles to control Curve3D tilt 2023-08-12 14:55:38 +08:00
kobewi
6b7829b5ff Fix TileSet not disappearing on deselecting TileMap 2023-08-12 00:47:26 +02:00
Rémi Verschelde
48a447b5ee
Merge pull request #58389 from rcorre/blender-numeric
Implement numeric blender-style transforms.
2023-08-11 10:31:40 +02:00
kobewi
fca3ab5564 Deprecate project_settings_changed signal 2023-08-10 15:07:25 +02:00
Ryan Roden-Corrent
d6a83a6bac
Implement numeric blender-style transforms.
This allows the user to input numbers during an "instant" (blender
style) transform operation to specify exactly how far to transform the
object. For example:

g2.5xx: Translate 2.5 units along the local x-axis
ry-45: Rotate -45 degrees around the y-axis
s.25Z: Scale by a factor of .25 on the xy plane

Some shared code between the traslate/rotate/scale branches of update_transform
was refactored into apply_transform so numeric transforms could reuse it.

This removes any "{X,Y,Z}-Axis Transform" messages. These prevented the
"Transforming: (x,y,z)" messages from showing, and the latter are more
useful, as they tell you the actual units.

This also rearranges finish_transform to clear _edit before updating
the axis rendering, so an axis doesn't remain highlighted.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-08-10 07:18:18 -04:00
kobewi
f02133a4a2 Fix TileSet with TileMap handling 2023-08-09 23:50:45 +02:00
Rémi Verschelde
8375f73680
Merge pull request #80355 from jcovin293/issue/80347/fix-missing-ellipsis
Fix menu items that trigger secondary interface missing ellipsis
2023-08-09 17:46:26 +02:00
RandomWalrus13
585633ea85 Fix menu items that trigger secondary interface missing ellipsis
fix #80347
2023-08-09 08:30:35 -05:00
Rémi Verschelde
f6b9d445b5
Merge pull request #80285 from YeldhamDev/just_a_little_bit
Further separate icon from text of buttons in both editor and default themes
2023-08-09 15:20:25 +02:00
Rémi Verschelde
1163dac9e3
Merge pull request #80215 from clayjohn/HDR-2D
Add option to enable HDR rendering in 2D
2023-08-08 16:57:33 +02:00
Hugo Locurcio
e21388d9f4
Readd a Camera3D icon gizmo to the 3D editor, renew Camera2D/3D icons
The lack of icon gizmo made it no longer possible to select Camera3D
nodes in the 3D viewport by clicking on them.

A new Camera3D icon gizmo was designed to be direction-neutral.
This avoids the issue that the previous icon gizmo had, since it was
always facing right.

This also adds icons for CameraAttributesPractical and CameraAttributesPhysical.
2023-08-08 16:04:53 +02:00
Michael Alexsander
98bdb56815
Further separate icon from text of buttons in both editor and default themes 2023-08-07 13:22:39 -03:00
Rémi Verschelde
169a28bd0f
Merge pull request #80362 from Calinou/string-use-unicode-compiletime
Use compile-time Unicode string conversion
2023-08-07 14:55:58 +02:00
Rémi Verschelde
02709d57ee
Merge pull request #78858 from MewPurPur/tweak-mesh-preview
Improve material and mesh preview buttons
2023-08-07 14:44:34 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
clayjohn
57eb762bae Add option to enable HDR rendering in 2D
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance

Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
Hugo Locurcio
e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
kobewi
181eecc51b Ensure TileMap editor shortcuts are handled 2023-08-06 03:38:03 +02:00
MewPurPur
50f4c298e6 Improve material and mesh preview buttons 2023-08-04 01:47:32 +03:00
Yuri Sizov
e4b8dc81b8 Merge pull request #78300 from ajreckof/fix-replace-node-destroying-Node-properties
Auto-update properties when replacing a node
2023-08-03 22:37:40 +02:00
ocean (they/them)
bf3af190c3 Increase vertical size of CurveEdit when Inspector widens
This should allow users to edit points in a less constrained space,
which feels like a UX improvement.

That said, changing minimum size according to current size might be a
hack that causes issues in certain situations.
2023-08-03 16:02:28 -04:00
ajreckof
4da9927faf Fix replace node deleting Node properties.
Update editor/scene_tree_dock.cpp

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-08-03 18:38:24 +02:00
kobewi
0a9a8c75fa Improve editing of box collision shapes 2023-08-03 14:09:10 +02:00
Yuri Sizov
1886dee28f Merge pull request #79588 from magian1127/4.0Fix78052
Fix the error when clicking AnimationTree in the editor
2023-08-02 21:36:56 +02:00
Magian
0b3c073c9e Fix the error when clicking AnimationTree in the editor 2023-08-02 22:45:09 +08:00
Rémi Verschelde
f823bccdf8
Merge pull request #80135 from KoBeWi/A_NumbER_Is_REQuIrEd
Ignore null "id" in tile source proxy
2023-08-02 12:22:48 +02:00
Rémi Verschelde
2132638937
Merge pull request #79404 from raulsntos/dotnet/lines-open-in-external-editor
C#: Fix line in OpenInExternalEditor
2023-08-02 12:17:31 +02:00
kobewi
91328a86cd Ignore null "id" in tile source proxy 2023-08-01 22:52:16 +02:00
Yuri Sizov
de0a06ee80 Merge pull request #79258 from KoBeWi/drag_and_drop_anarchy
Assume root when dropping node to unassigned script
2023-08-01 20:03:38 +02:00
kobewi
3f272f4910 Assume root when dropping node to unassigned script 2023-08-01 17:36:51 +02:00
Yuri Sizov
6731accf80 Merge pull request #79419 from KoBeWi/no_ID_for_you
Unexpose tile source ID
2023-08-01 17:25:11 +02:00
Yuri Sizov
0387defcbe Merge pull request #80037 from KoBeWi/we_are_reaching_levels_of_hacks_that_should_not_be_possible
Edit TileSet source on double click
2023-07-31 21:01:47 +02:00
Yuri Sizov
25f3f660c5 Merge pull request #79610 from aaronfranke/toggle-comment-slash
Add Ctrl+/ as a shortcut to toggle comment in addition to Ctrl+K
2023-07-31 21:01:17 +02:00
kobewi
2a5db5949f Rework modifying tile source ID 2023-07-31 20:57:09 +02:00
kobewi
d39b040114 Edit TileSet source on double click 2023-07-30 02:27:40 +02:00
Yuri Sizov
6c11fcd01a
Merge pull request #74717 from KoBeWi/tilesetmap_handler_plugin
Add separate editor plugin for TileMap and TileSet
2023-07-27 19:11:37 +02:00
Yuri Sizov
4aae6d3f23 Merge pull request #78944 from bgie/particle_mask
Add option to center image when loading particle emission mask
2023-07-27 15:22:58 +02:00
Yuri Sizov
b2e2973a67 Merge pull request #79928 from timothyqiu/fonts
Sort system font menu in Inspector
2023-07-27 15:22:47 +02:00
Yuri Sizov
6535b7475d Merge pull request #79908 from YeldhamDev/output_icon_space
Fix spacing between icon and "Output" button
2023-07-27 15:22:44 +02:00
Yuri Sizov
cd074f965f Merge pull request #79904 from KoBeWi/how_to_create_huge_tiles_using_a_simple_trick
Add help label about creating multiple/big tiles
2023-07-27 15:22:40 +02:00
Yuri Sizov
f29a0ad21c Merge pull request #79512 from KoBeWi/tile_expanded_universe
Add option to expand tile polygon editors
2023-07-27 15:22:36 +02:00
Michael Alexsander
2883a40aa1
Fix spacing between icon and "Output" button 2023-07-26 15:22:44 -03:00
Yuri Sizov
7fe88c7710 Merge pull request #79899 from KoBeWi/snapped_in_half
Improve atlas tile size dragging
2023-07-26 18:40:38 +02:00
Yuri Sizov
bc0e646076 Merge pull request #78827 from Rindbee/fix-history-mismatch
Fix history mismatch
2023-07-26 18:39:32 +02:00
Haoyu Qiu
7de4fef959 Sort system font menu in Inspector 2023-07-26 23:56:57 +08:00
kobewi
ec24d50469 Add separate editor plugin for TileMap and TileSet 2023-07-26 17:23:41 +02:00
Patrick
65b0989f68 Additional Visual Shader Nodes
* RotationByAxis Visual Shader Node added
* WorldPositionFromDepth Visual Shader Node added
* ScreenNormalWorldSpace Visual Shader Node added
2023-07-26 00:39:12 +02:00
kobewi
df69073589 Add help label about creating multiple/big tiles 2023-07-25 22:55:29 +02:00
kobewi
965847b6e9 Improve atlas tile size dragging 2023-07-25 22:06:38 +02:00
Yuri Sizov
4d4e5145b3 Merge pull request #79734 from somecrepe/master
Change the text for the flat button preview to follow pattern
2023-07-25 21:26:10 +02:00
Danil Alexeev
0d39121b3a
SpriteFrames Editor: Fix Frame Duration applied to wrong frame when switching frame 2023-07-25 10:55:37 +03:00
Danil Alexeev
2f1e135573
SpriteFrames Editor: Fix FPS applied to two animations when switching animation 2023-07-25 10:51:35 +03:00
somecrepe
97fd8cbdb3 Change the text for the flat button preview to follow pattern
Changed text for flat button preview to follow pattern set by previous two.
2023-07-24 13:24:59 -07:00
Yuri Sizov
0cbdad47f9 Merge pull request #79837 from KoBeWi/CursorShaper
Fix `get_cursor_shape()` in tile atlas editor
2023-07-24 19:33:41 +02:00
Yuri Sizov
7dbbf2eef9 Merge pull request #79743 from TokageItLab/fix-name-list-asp
Make animation name list scroll to new animation in `SpriteEditor`
2023-07-24 19:33:23 +02:00
Yuri Sizov
dbff173597 Merge pull request #79676 from KoBeWi/MissingNo.Layers
Add placeholder items to TileSet layer list
2023-07-24 19:33:09 +02:00
Yuri Sizov
fb2c3ae8f7 Merge pull request #79308 from Geometror/refactor-graphedit
Clean up/refactor GraphEdit
2023-07-24 19:32:33 +02:00
Yuri Sizov
fefd02b411 Merge pull request #79175 from MewPurPur/curve-deselect
Deselect curve point with RMB on the empty space
2023-07-24 19:32:29 +02:00
Yuri Sizov
74d20fe17e Merge pull request #75216 from rune-scape/rune-dependancy-errors
Script editor (GDScript): Show depended script errors
2023-07-24 19:32:20 +02:00
Yuri Sizov
2bd904e3db Merge pull request #73196 from Vilcrow/fix-lookup-symbol
Fix jumping to function definition using `Ctrl+LMB` or the "Lookup Symbol" button
2023-07-24 19:32:12 +02:00
Hendrik Brucker
a38fd09669 Clean up/refactor GraphEdit 2023-07-24 18:37:23 +02:00
Yuri Sizov
91258e52be
Merge pull request #79307 from Geometror/remove-graph-node-comment
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
rune-scape
83b01708b2 Script editor: Show depended script errors 2023-07-24 15:49:39 +02:00
kobewi
4408f82c93 Fix get_cursor_shape() in tile atlas editor 2023-07-23 23:06:23 +02:00
kobewi
f837624d75 Add option to expand tile polygon editors 2023-07-22 22:21:05 +02:00
Yuri Sizov
7573a458be Merge pull request #79600 from Rindbee/fix-rename-animation-in-SpriteFramesEditor
Fix rename animation in SpriteFramesEditor
2023-07-21 17:54:47 +02:00
Yuri Sizov
ce92f052ec Merge pull request #79562 from KoBeWi/click_here_yo
Improve message when no tile is selected to edit
2023-07-21 17:54:43 +02:00
Yuri Sizov
5ae617627d Merge pull request #78519 from groud/add_white_rect_to_tilemap_selection
Add white rect to TileMap selection tool
2023-07-21 17:54:17 +02:00
Yuri Sizov
bf73ac2891 Merge pull request #73641 from KoBeWi/yolo_exiting
Don't save scripts when exiting editor
2023-07-21 17:15:14 +02:00
Silc Lizard (Tokage) Renew
99451b55c2 Make animation name list scroll to new animation in SpriteEditor
Co-authored-by: DarellLdark <darell.ldark@gmail.com>
2023-07-21 19:36:25 +09:00
kobewi
bb64588796 Add placeholder items to TileSet layer list
Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2023-07-20 14:31:00 +02:00
Yuri Roubinski
01101134f4 Make the dragging connections more user-friendly in visual shaders 2023-07-20 15:00:19 +03:00
Gilles Roudière
0fc56646f1 Add white rect to TileMap selection tool 2023-07-19 17:42:29 +02:00
Fredia Huya-Kouadio
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
Yuri Sizov
9c39fe0690 Merge pull request #79609 from KoBeWi/one_dollar_mistake
Fix wrong Curve connection
2023-07-18 15:10:13 +02:00
kobewi
b883f32188 Check for unsaved changes when closing a scene 2023-07-18 14:27:56 +02:00
kobewi
000471ee56 Add unsaved status for script and shader editors 2023-07-18 14:18:36 +02:00
Aaron Franke
df3a1c18f1
Add Ctrl+/ as a shortcut to toggle comment in addition to Ctrl+K 2023-07-18 07:00:59 -05:00
kobewi
a076792a3c Fix wrong Curve connection 2023-07-18 13:55:04 +02:00
Rindbee
e9cd29cf22 Fix rename animation in SpriteFramesEditor/AnimationNodeStateMachineEditor
When the name suffix grows, the old name is used if it is obtained first.

Fix the case where the following error message would appear when renaming
an animation.

```
ERROR: Animation '' doesn't exist.
   at: get_frame_count (scene/resources/sprite_frames.cpp:71)
```
2023-07-18 15:39:02 +08:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Raul Santos
132a1daf1a
C#: Fix line in OpenInExternalEditor 2023-07-17 18:44:17 +02:00
Hendrik Brucker
a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
kobewi
7b8c70c668 Improve message when no tile is selected to edit 2023-07-17 02:41:36 +02:00
Yuri Sizov
a7583881af Merge pull request #68460 from Geometror/split_texture_src
Extract and reorganize texture resource classes
2023-07-14 21:28:06 +02:00
Yuri Sizov
c10b8ac735 Merge pull request #79198 from theraot/enchance_onready_drop
Make onready variables created from dropping nodes include custom types
2023-07-14 21:28:02 +02:00
Yuri Sizov
5f23b8b916 Merge pull request #78451 from alula/integer-zoom
Add option to swap default Alt+scroll zooming behavior in 2D editor
2023-07-14 21:27:54 +02:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
a927b22f65 Merge pull request #77257 from rakkarage/tile_animation_sync
Add `TileSetAtlasSource::TileAnimationMode` options and allow to shuffle tile animations
2023-07-12 21:02:31 +02:00
S.V.I. Vilcrow
56e2fad319 Fixed the jumping to function definition using 'Ctrl+LMB' and the 'Lookup Symbol' button. 2023-07-12 21:30:35 +03:00
Yuri Sizov
770b7e974b Merge pull request #79337 from KoBeWi/best_fix_ever
Change default Save Script shortcut
2023-07-12 17:17:11 +02:00
Yuri Sizov
91fefcb546 Merge pull request #79285 from KoBeWi/instant_atlas
Streamline creating tile atlas sources
2023-07-12 17:17:07 +02:00
Yuri Sizov
4d862d6cc9 Merge pull request #78772 from MineBill/master
Fix VoxelGI saving VoxelGIData as a built-in file, despite being prompted to save it to an external file
2023-07-12 17:16:29 +02:00
Yuri Sizov
c457480ca9 Merge pull request #78604 from KoBeWi/gotta_close_fast
Speed up closing multiple scripts
2023-07-12 17:16:24 +02:00
Yuri Sizov
56a1d5118f Merge pull request #59467 from rcorre/blender-wrap
Wrap mouse for blender-style transforms.
2023-07-12 17:15:08 +02:00
Yuri Sizov
6960a1d0e8 Merge pull request #78248 from felaugmar/load-svg-adjustable-scale
Added `Image::load_svg_from_(buffer|string)`
2023-07-12 15:09:03 +02:00
Theraot
a51116c6c7 Make onready variables created from dropping nodes include custom types 2023-07-12 07:58:26 -05:00
kobewi
6a7567e8f7 Change default Save Script shortcut 2023-07-12 14:25:36 +02:00
Hendrik Brucker
662d8c76b3 Remove GraphNode's comment property and related functionality
(this functionality will be reintroduced in a new and more flexible way)
2023-07-11 02:05:25 +02:00
Rindbee
28db5e7649 Fix history mismatch
Set the properties of the resource's proxy instead of setting the resource's
properties directly. (For action "Set ...")

Update the path of the edited scene when saving the scene. (For action "Add
atlas source")
2023-07-11 05:45:37 +08:00
kobewi
bdb7e62029 Streamline creating tile atlas sources 2023-07-10 15:36:00 +02:00
Rémi Verschelde
bdcbfd71a8
Merge pull request #79158 from jpcerrone/shaderinclude_fixes
Fix comments and indentation in .gdshaderinc files
2023-07-08 18:22:42 +02:00
Rémi Verschelde
e3dee8cea9
Merge pull request #78694 from Yadnesh-Kulkarni/bugfix-grid-view-disappear-#78588
Fix 3D viewport grid disappearing on scene tab changes
2023-07-08 18:16:55 +02:00
Ryan Roden-Corrent
90bddd21c8
Wrap mouse for blender-style transforms.
When performing a blender-style translate or scale (but not rotate),
wrap the mouse inside the bounds of the viewport. This allows moving the
mouse indefinitely for large translate or scale operations, and is
consistent with how blender works.

This enables global input processing during blender-style transforms, so
we can capture and wrap mouse events outside the bounds of the viewport.

Other wrapping operations use _sinput, which I assume is possible
because a mouse button is held, so the control receives input even when
the mouse exits the control.

This does not implement wrapping for regular (gizmo-driven) transforms,
though this could be done if desired.

Fixes godotengine/godot-proposals#4255.
2023-07-08 07:53:47 -04:00
MewPurPur
d8d53e3370 Deselect curve point with RMB on the empty space 2023-07-08 00:31:17 +03:00
jpcerrone
71b8a9d274 Fix comments and indentation in .gdshaderinc files
Fixes #78205
The handling of comments and indentation in the shader editor
wasn't considering shader include files.
2023-07-07 11:18:30 -03:00
Rémi Verschelde
81c6694014
Merge pull request #78522 from MewPurPur/improve-tileset-labels
Improve string drawing in the tiledata editor
2023-07-07 16:03:02 +02:00
Rémi Verschelde
443820686c
Merge pull request #79112 from bitsawer/fix_preprocessor_keyword_colors
Make shader preprocessor keyword colors consistent
2023-07-07 08:36:13 +02:00
bitsawer
a5d6152949 Make shader preprocessor keyword colors consistent 2023-07-06 17:56:26 +03:00
Tetane
1cd0a34e47 Fix Create shader Node window position on second monitor 2023-07-03 20:17:56 +02:00
Brecht Kuppens
86117f8cba Added option to center image when loading particle emission mask 2023-07-02 12:22:38 +02:00
Rindbee
fec731bf33 Make sure the shortcut key respects the context in TileSetAtlasSourceEditor 2023-07-02 06:40:14 +08:00
MineBill
c34d5627fb Set the VoxelGIData path before saving, otherwise the ResourceSave will revert it to an empty String 2023-06-28 10:28:36 +03:00
Yadnesh Kulkarni
a8dde286ce Fixed grid disappearance 2023-06-26 09:27:25 -04:00
Yuri Sizov
8cfbc6bda2 Revert "Remember only permanent bottom tabs"
This reverts commit 5dde57e958.
2023-06-23 15:23:36 +02:00
Rémi Verschelde
9ab388c146
Merge pull request #78609 from KoBeWi/—GodotEngine
Unify window title format
2023-06-23 12:36:44 +02:00
kobewi
44bec97d5e Unify window title format 2023-06-23 12:21:56 +02:00
kobewi
9a302e32c8 Speed up closing multiple scripts 2023-06-23 11:19:09 +02:00
kobewi
5dde57e958 Remember only permanent bottom tabs 2023-06-23 10:53:39 +02:00
Felipe Augusto Marques
26eb3db234 Added Image's load_svg_from_(buffer|string)
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Gilles Roudière
bca1f91291 Fixes crash in TileSetAtlasSourceEditor 2023-06-22 15:03:53 +02:00
Alula
9676905aee
Add option to swap Alt+scroll zooming behavior in 2D editor
Update doc/classes/EditorSettings.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 18:56:58 +02:00
MewPurPur
1649dcad0b Improve string printing in the tiledata editor 2023-06-21 17:43:45 +02:00
Yuri Sizov
4fc045e9b5
Merge pull request #76152 from timothyqiu/tile-resize-clamp
Fix tile resizing towards atlas boundary
2023-06-21 11:19:24 +02:00
Rémi Verschelde
9e56f28d0e
Merge pull request #75345 from Rindbee/fix-wrong-description-in-EditorSettings
Fix wrong descriptions in EditorSettings
2023-06-21 10:18:09 +02:00
Yuri Sizov
38ae7b58d1
Merge pull request #78350 from ajreckof/you-know-when-you-want-to-search-this-member-you-don't-know-and-then-you-have-the-script-editor-all-over-the-place-now-it-should-not-happen-anymore-hopefully
Fix placement and style of the "Make Floating" button
2023-06-21 03:03:19 +02:00
Rindbee
19d77ea90d Fix wrong descriptions in EditorSettings
Fix wrong descriptions about `editors/3d/grid_division_level_max`
and `editors/3d/grid_division_level_min`.
2023-06-21 07:16:30 +08:00
ajreckof
13e65da804 Fix wrong placement of the Make Floating Button. 2023-06-21 01:00:37 +02:00
Samuele Panzeri
4067907074 Fix insert key crash with no animation 2023-06-20 17:39:09 +02:00
Gilles Roudière
94b1bc0d68 Fix TileMap draw preview when switching CI editor tool 2023-06-20 12:12:01 +02:00
Rémi Verschelde
e4deaa2727
Merge pull request #76787 from RedworkDE/avoid-localvector-copy
Avoid making unnecessary copies of `LocalVector`
2023-06-20 00:01:55 +02:00
Haoyu Qiu
ac36776729 Fix tile resizing towards atlas boundary 2023-06-20 00:36:37 +08:00
Artyom Lunchenkov
613c060e0b
Add a line break to error messages in the script editor
Fixes #71002
2023-06-19 15:57:27 +02:00
Rémi Verschelde
cdfaf8a10f
Merge pull request #78418 from brno32/apply-texture-filter-2d-polygon-editor
Apply selected texture filter when editing UV
2023-06-19 13:28:36 +02:00
Alex Drozd
0c75d5d70c apply selected texture filter when editing UV 2023-06-18 22:56:26 +02:00
Qiqi Wu
9321e9fa86 fix TexturePreview crash from an invalid image 2023-06-18 13:08:06 +08:00
clayjohn
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times

This also adds memory tracking to textures and buffers to catch memory leaks.

This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
kleonc
77b8e0fcb7 Allow setting negative WorldBoundaryShape2D.distance through the editor 2023-06-14 14:54:00 +02:00
Rémi Verschelde
7aa530c4ca
Merge pull request #78171 from MewPurPur/fix-curve-editor-crash
Fix Curve Editor crash with null curve
2023-06-13 13:53:02 +02:00
Haoyu Qiu
8b5d5dc2c4 Fix crash when opening a TileSet with invalid tiles 2023-06-13 18:50:08 +08:00
MewPurPur
beae9b0bc1 Fix Curve Editor crash with null curve 2023-06-13 11:35:35 +02:00
Yuri Sizov
593d5ca29f
Merge pull request #77962 from KoBeWi/some_hand-holding_is_ok,_probably
Improve some tile editor hint labels
2023-06-12 18:23:23 +02:00
Rémi Verschelde
6306eb4047
Merge pull request #76372 from sygi/dont_propagate_lock_view
Store lock view rotation whether its on or off
2023-06-12 17:09:38 +02:00
kobewi
0a4d0506d1 Fix problems reloading MeshLibrary 2023-06-11 19:42:24 +02:00
Rémi Verschelde
b083c1dbf5
Merge pull request #78005 from Sauermann/fix-some-simplifications
Some code simplifications
2023-06-09 11:06:26 +02:00
Rémi Verschelde
577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
Markus Sauermann
5ddab1f363 Some code simplifications
AnimationNodeBlendSpace2DEditor:
- `!tree` is always false, because it is checked a few lines above

CurveEdit:
- grabbing != GRAB_NONE is redundant

GradientTexture2DEdit:
- grabbed != HANDLE_FROM is redundant
- grabbed != HANDLE_TO is redundant

Viewport:
- index is not used afterwards
- In these cases `gui.mouse_focus` is always valid. Move check to a DEV_ASSERT
- simplify `stopped` calculation
2023-06-08 16:15:22 +02:00
kobewi
0972e15df5 Improve some tile editor hint labels 2023-06-07 15:59:19 +02:00
kobewi
16ac217aa0 Draw materials in tile atlas view 2023-06-07 01:03:55 +02:00
Rémi Verschelde
46c4068821
Merge pull request #77170 from lawnjelly/scu_build_master
Add support for single compilation unit builds
2023-06-06 17:58:09 +02:00
lawnjelly
b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Rakka Rage
6dbae30000 Add tile_animation_mode option:
- to tile animation properties
- when "Default" each animation starts at time 0.
- when "Random Start Times" each animation starts at random time.
2023-06-06 09:31:18 -04:00
Rémi Verschelde
67c0467e04
Merge pull request #77860 from ajreckof/add-move-control-points-button-for-Path3D
Add move control points button to Path3D Editor.
2023-06-05 18:05:02 +02:00
ajreckof
7f4f219a24 Add move control points button to PAth3D Editor 2023-06-05 04:54:48 +02:00
ajreckof
05dd9c0f8b Make panning the 3D view with trackpad goes the right way 2023-06-05 02:12:52 +02:00
Yuri Sizov
dc8a0c3cd1
Merge pull request #77674 from ProbablyWorks/77562-tilemap-center-view-button-offset-fix
Set the grow direction for the "Center View" button in the TileMap editor
2023-06-02 15:52:44 +02:00
ProbablyWorks
882ffdfaae set the grow direction of the center view button after setting the anchors 2023-06-01 21:44:16 -04:00
Kongfa Waroros
aeb9b8381a Add null checking when finding a lightmap baking path 2023-06-02 04:06:19 +07:00
Rémi Verschelde
42775ff75b
Merge pull request #77705 from MewPurPur/less-code-for-mouse-exit
Use NOTIFICATION_MOUSE_EXIT instead of a signal for a few editor plugins
2023-06-01 15:52:12 +02:00
Rémi Verschelde
0b5c5022f2
Merge pull request #77663 from RedworkDE/audiostream-preview-crash
Fix crash in AudioStream preview
2023-06-01 15:52:08 +02:00
VolTer
6566b96b63 Use NOTIFICATION_MOUSE_EXIT instead of a signal for a few editor plugins 2023-05-31 20:03:04 +02:00
Yuri Sizov
282f5ebda1
Merge pull request #47628 from Calinou/2d-editor-remove-contrained-view
Remove constrained view in the 2D editor
2023-05-31 16:35:54 +02:00
kobewi
b8a136c385 Add Center View button to 2D editor 2023-05-31 12:56:18 +02:00
Yuri Sizov
e7345c3e89
Merge pull request #77208 from KoBeWi/the_tooltip_centipede
Small rework of tooltip plugins
2023-05-31 12:37:42 +02:00
Yuri Sizov
8d6c472f6a
Merge pull request #77135 from KoBeWi/Vector∞
Refactor vector editor properties
2023-05-31 12:36:37 +02:00
kobewi
267728a240 Refactor vector editor properties 2023-05-31 00:14:28 +02:00
kobewi
5baebf75f2 Small rework of tooltip plugins 2023-05-30 23:13:50 +02:00
RedworkDE
301731c7e6 Fix crash in AudioStream preview 2023-05-30 20:26:10 +02:00
Rémi Verschelde
c79f96d23a
Merge pull request #77592 from nklbdev/fix_update_animation_duration_in_every_selected_tile
Fix update animation frame duration in every selected tile
2023-05-30 09:33:20 +02:00
Nikolay Lebedev
779c39f478 Fix update animation frame duration in every selected tile 2023-05-29 23:15:40 +05:00
Haoyu Qiu
b30a332009 Fix theme of editor VCS dialogs
These dialogs were added to the plugin itself so theme can't be
propagated.

Also moved initialization of the VCS menu after the creation of
EditorInterface.
2023-05-29 21:25:31 +08:00