-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
The previous code would never trigger the subsequent conditionals (for
moving the control points) when in EDIT_MODE because the point
conditionals were nested instead of being a conjunction.
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
Adapted the plugin to recent changes in input classes and pool arrays.
Fixed an out-of-bounds bug in the process.
Doesn't display anything for a single point (existing issue).
- Fix movement input affecting all viewports even when clicking outside
- Freelook up movement is now relative
- Prevent tool shortcut conflict when moving
- De-hardcode tool shortcuts (select, move, rotate, scale, wireframe)
- Movement speed depends on zoom distance (like panning)
- Mouse wheel controls speed (Blender-style) due to above point
- Added zoom distance indicator, hides after short delay
- Triggered by holding RMB
- Can look around in FPS style
- Can move with WASD
- Movement speed accelerates over time
- Can multiply speed with a modifier key to go faster or slower
- Configurable in editor settings and shortcuts
Notable changes:
- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.
Fixes:
- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
Make snapping affect nodes created by drag & drop
Make snapping for a single Node2D refer to its pivot
Refactor duplicate drag setup code
Replace one occurrence of the old set_pos by set_position
Enabled by default as in Blender, but can be disabled separately for 2D & 3D;
the core functionality is in Input so this could be reused or even exposed to scripts in the future
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.