Commit graph

5313 commits

Author SHA1 Message Date
reduz
6236a688b7 Implement Feature Build Profiles
This PR is a continuation of #50381 (which was implemented exactly a year ago!)

* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.

Obligatory Screen:

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size

TODO:

* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.

In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
Rémi Verschelde
184f62cb46
Merge pull request #60458 from KoBeWi/Deprecated-hint,-unused- 2022-07-14 00:20:30 +02:00
Hugo Locurcio
21ea1c3835
Rename soft shadow quality project settings for easier searching
`rendering/quality/shadows` is now `rendering/quality/positional_shadow`
to explicitly denote that the settings only affect positional light shadows,
not directional light shadows.

Shadow atlas settings now contain the word "atlas" for easier searching.

Soft shadow quality settings were renamed to contain the word "filter".
This makes the settings appear when searching for "filter" in the
project settings dialog, like in Godot 3.x.
2022-07-13 19:56:02 +02:00
Rémi Verschelde
4639050c64 SpriteFrames: Sort animations alphabetically
And finally remove the 'frames' property which was added for compatibility with 2.1
in bed3efb17e.
Fixes #21765.

The 'animations' property on the other hand is needed, contrarily to what its comment
said (copy-paste mistake probably).

Also removes unused '_get_animation_list'.
2022-07-13 16:15:11 +02:00
Rémi Verschelde
b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
Rémi Verschelde
fcc9dab73b
Merge pull request #62748 from fire-forge/filedialog_filter
Seperate `filter` and `description` arguments in `EditorFileDialog/FileDialog.add_filter()`
2022-07-13 14:07:50 +02:00
Yuri Sizov
42537daeb1
Merge pull request #41833 from dalexeev/splash_delay
Add boot splash minimum display time setting
2022-07-12 15:58:15 +03:00
kobewi
2f777b9a1e Remove unused hints 2022-07-12 00:44:13 +02:00
FireForge
af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge
e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
kobewi
d2900429e8 Add static methods for creating Image and ImageTexture 2022-07-08 13:40:47 +02:00
Rémi Verschelde
eedb729771 AudioStreamPlayer: Clarify that no validation is made on 'bus' name
Supersedes #39605.
Fixes #39585.
2022-07-08 09:33:25 +02:00
Rémi Verschelde
6a34b038d5
Merge pull request #42708 from drentsoft/improved_treeitem_docs_branch 2022-07-08 09:22:27 +02:00
Rémi Verschelde
7d3ff927de
Merge pull request #62075 from Vitika9/gsoc-colorpicker 2022-07-08 09:06:47 +02:00
Derwent Ready (drentsoft)
df5a922880 Clarified usage of TreeItem get_next*() and get_prev*() functions. 2022-07-08 08:49:56 +02:00
Rémi Verschelde
6892df6b78
Merge pull request #62751 from jjor2/lightmapgi-typo
Fix small typo in LightmapGI class reference
2022-07-08 07:45:09 +02:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3 2022-07-07 12:22:49 +02:00
Vitika9
0011d93c81 ColorPicker Refactor 2022-07-06 22:11:43 +05:30
Rémi Verschelde
635d447a69
Merge pull request #62713 from YuriSizov/docs-scripting-annotations 2022-07-06 15:31:19 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Rémi Verschelde
cf19484746
Merge pull request #62374 from reduz/implement-bitfield-hint
Implement a BitField hint
2022-07-06 09:35:40 +02:00
Hugo Locurcio
983ce7e9f3
Disable Expand by default in VideoStreamPlayer
This ensures videos are always visible as soon as a video file
is specified in the VideoStreamPlayer node. The node will no longer
be resized to 0×0 by default, making the video invisible in the process
(even if the audio can still be heard).
2022-07-06 00:51:27 +02:00
Jadon Orr
1b80d99d78 Fix small typo in LightmapGI class reference 2022-07-05 17:19:47 -04:00
reduz
5ac42cf576 Implement a BitField hint
Allows to specify the binder that an enum must be treated as a bitfield.
2022-07-05 22:13:37 +02:00
Hugo Locurcio
aa9403bcda
Clamp VoxelGI extents to reasonable values to avoid breaking baking
This also prevents crashes when resizing a VoxelGI's extents to 0
on any axis.
2022-07-05 18:32:44 +02:00
Rémi Verschelde
fd10de5b94
Merge pull request #62726 from jmpelletier/jmpelletier-patch-2 2022-07-05 11:25:01 +02:00
Rémi Verschelde
3a38ee96ce
Merge pull request #62259 from KoBeWi/textpand 2022-07-05 09:52:22 +02:00
Jean-Marc Pelletier
63d5f31561 StyleBox: Document correct methods to draw with a RID 2022-07-05 09:45:11 +02:00
Rémi Verschelde
3770b5be99
Merge pull request #62724 from KoBeWi/xml_explorer 2022-07-05 08:43:55 +02:00
kobewi
415c7dda37 Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
Hugo Locurcio
fa799ec2c6
Document changing the Decal and Light3D projector texture filter modes 2022-07-04 22:17:16 +02:00
Rémi Verschelde
344b42703b
Merge pull request #62212 from hansemro/eraser-detect-4
Add inversion/eraser-end property for tablet pens
2022-07-04 21:48:19 +02:00
Hansem Ro
6dcc9d1131 [macOS, Windows, X11] Add stylus inverted/eraser support to
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
Yuri Sizov
a9098e6147 Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
kobewi
41f6e7c50e Allow to disable TextEdit vertical scroll 2022-07-04 15:02:15 +02:00
Rémi Verschelde
1d06fec535
Merge pull request #62448 from MinusKube/completion-scroll-click
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-04 10:13:20 +02:00
MinusKube
336400dc42 Add the ability to drag the code completion scrollbar using the mouse click 2022-07-03 23:47:52 +02:00
Rémi Verschelde
00b3822306 Input: Re-enable input accumulation by default
I turned it off by mistake in #38697.
See also #62664 for details on this boolean's complex history :)
2022-07-03 12:16:16 +02:00
Rémi Verschelde
a2459c7d35
Merge pull request #61610 from TokageItLab/importer-retarget-registered-gdhumanoid 2022-07-02 00:17:21 +02:00
Rémi Verschelde
692c2d9215
Merge pull request #50755 from foxydevloper/add-global-position-and-global-rotation
Add global_position and global_rotation to Node3D
2022-07-01 21:50:42 +02:00
Hugo Locurcio
e7315fcc45
Clamp Decal's upper/lower fade to positive values
Negative easing values result in broken rendering.
2022-07-01 19:23:57 +02:00
Rémi Verschelde
e75bd53fb2
Merge pull request #62439 from timothyqiu/str-format 2022-07-01 18:03:59 +02:00
foxydevloper
8b16a4131f Add global_position and global_rotation to Node3D 2022-07-01 10:27:07 -04:00
kobewi
1a9fc25e00 Restore and improve some ParticlesMaterial docs 2022-07-01 15:09:41 +02:00
Rémi Verschelde
daec5bed57
Merge pull request #59089 from KoBeWi/I_am_root
Add `root_subfolder` to FileDialog
2022-07-01 11:53:33 +02:00
Rémi Verschelde
88192269a8
Merge pull request #62477 from lyuma/packedbytearray
Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.
2022-07-01 09:03:20 +02:00
Lyuma
33fd7c63e1 Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays. 2022-06-30 18:04:33 -07:00
Silc Renew
dc43cfc830 implement bone renamer in importer 2022-07-01 03:55:28 +09:00
leogeier
359f7fc51f Exposes methods for adding and removing ResourceFormatLoaders and -Savers in the ClassDB 2022-06-29 21:38:20 +02:00
Rémi Verschelde
a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00