Commit Graph

183 Commits

Author SHA1 Message Date
Rémi Verschelde 8028b65442 Remove unused includes in scene with clangd-tidy 2026-03-10 16:40:00 +01:00
Rémi Verschelde 2dd1f4ef60 Decouple node.h from scene_tree.h, minimize its other includes 2026-03-05 13:54:46 +01:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
lawnjelly 087dea4b15 FTI - Camera2D accepts resets only after entering tree 2025-11-15 12:02:43 +00:00
Rémi Verschelde 04a089d469 Merge pull request #111651 from zuedev/zuedev/issue-111587
Fix Camera2D limit checks for inverted boundaries
2025-11-01 19:05:24 +01:00
Alex Pooley (@zuedev) 3d7b3fa0e4 Fix Camera2D limit checks for inverted boundaries
Update limit boundary conditions to properly detect when limits are inverted (left > right or top > bottom).

Issue #111587
2025-10-14 18:49:48 +01:00
Harper Stoeckle 6aab67da6b Fix incorrect transform calculation in Camera2D when using a custom viewport 2025-10-07 15:17:56 -06:00
nocommentsgood 65a2d733b7 Rename Camera2D set_position_smoothing_enabled parameter 2025-07-30 16:05:30 -05:00
kobewi 9a941441c4 Fix smoothed camera position with limits 2025-07-02 13:54:30 +02:00
Haoyu Qiu a7ab249a2a Make PROPERTY_HINT_GROUP_ENABLE hide properties by default 2025-06-16 20:03:49 +08:00
kobewi efbc5aabe1 Allow overriding 2D editor cursor 2025-06-12 14:00:19 +02:00
kobewi 2bb3217819 Add a dedicated editor for Camera2D limits 2025-06-12 13:49:59 +02:00
Rémi Verschelde 590225f3d1 Merge pull request #106690 from NessaTeal/expose-camera2d-current-rotation
Expose Camera2D current rotation
2025-06-05 13:12:07 +02:00
Nessa Teal cf59d74b15 Expose Camera2D current rotation 2025-06-04 00:22:18 +03:00
Logan Detrick 1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
David Nikdel 5afb64e167 Fix for camera limits
This commit makes 2D camera limits have a well defined behavior for cases when the limits are smaller than the screen rect.

Presently the RIGHT and TOP limit take prescidence simply because they are applied second. This change adjusts behavior to split the difference in cases where both the LEFT/RIGHT or TOP/BOTTOM limits would both apply.
2025-05-20 11:09:47 -04:00
Thaddeus Crews d9c8376fe0 Merge pull request #105825 from Alex-Onceanu/playground
Fix `Camera2D` right and bottom limit to depend on bottom right corner
2025-05-13 16:22:24 -05:00
Alex Onceanu 1bdf237558 Fix Camera2D right and bottom limit to depend on bottom right corner 2025-05-12 19:05:08 +02:00
lawnjelly f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Thaddeus Crews 0bae1116af Merge pull request #105473 from rbaker87/camera2d_smoothing_fix
Fix process callback state getting overwritten by calls to `set_process_smoothing_speed`
2025-04-28 10:01:26 -05:00
Ryan Baker b7200d1e73 Fix process callback state getting overwritten by calls to set_process_smoothing_speed 2025-04-27 20:40:43 -04:00
cier ebe9370724 Add enable checkboxes to editor sections
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
kobewi ecda6b9b0b Camera2D code cleanup 2025-03-15 19:20:48 +01:00
Lazy-Rabbit-2001 5ca70d88a7 Improve usability of Camera2D 2025-03-12 09:57:31 +08:00
arkology 698cc24416 Fix Camera2D limits drawing 2025-02-15 10:02:58 +03:00
lawnjelly e46993f0db Physics Interpolation - Auto-reset on set_physics_interpolation_mode()
Fixes historical bug where auto-reset wasn't working correctly.
Also fixes process modes on Cameras when mode is changed.
2025-02-10 10:19:54 +00:00
Ricardo Buring 56fc0fd175 CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2025-01-24 14:13:20 +01:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
arkology 99886f3204 Remove double is_editor_hint() check inside NOTIFICATION_READY for Camera2D node
`Engine::get_singleton()->is_editor_hint()` is already a part of `is_part_of_edited_scene()` function.
2024-11-25 09:28:16 +03:00
Michael Alexsander 16524a8a01 Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Adam Scott 0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Ricardo Buring ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
kobewi 9f7f1809ff Update Camera2D gizmos when screen size changes 2024-06-11 18:38:43 +02:00
Ricardo Buring efb6a1c23d Fix Parallax2D fixed timestep interpolation
The camera_screen_center value was stale in case of interpolation.
2024-05-26 23:08:35 +02:00
Bn-Fang 5d0a229a58 Fixed Typo in Camera 2D node's anchor mode
Fixed the Camera 2D node's anchor mode descriptor from "Fixed TopLeft" to "Fixed Top Left"
2024-04-23 16:24:45 -04:00
ajreckof 07406af6cc Fix negative value for position_smoothing_speed being allowed. 2024-04-04 17:15:53 +02:00
Ricardo Buring 2ed2ccc2d8 Fixed Timestep Interpolation (2D)
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
markdibarry a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
Danni 734166f796 Ensure Camera2D scroll is updated on transform like 3.x 2023-11-05 18:01:34 -05:00
kleonc 836d80b306 Fix screen center position returned for rotated Camera2D 2023-10-16 09:02:49 +02:00
Mounir Tohami 4e4a725fff Fix Camera2D is not working inside EditorPlugin 2023-08-13 22:14:13 +00:00
Adam Scott deb45c0cab Fix Camera2D crash when edited scene root is null 2023-07-18 20:36:40 -04:00
Yuri Sizov 553fd238cf Merge pull request #73897 from TheSecondReal0/camera-line-width
Draw Camera2D outlines as 2 point primitives instead of 4 (consistent with how origin is drawn in 2D editor)
2023-03-25 13:49:12 +01:00
Asa Sprow 574293532d Draw Camera2D outlines as 2 point primitives instead of 4 2023-03-23 15:19:32 -07:00
Marcus Elg a835dfd96d Fix Camera2D position smoothing properties not being grouped 2023-03-03 19:28:39 +01:00
kobewi cf50eb130e Fix custom viewports in Camera2D 2023-02-24 13:26:31 +01:00
kobewi 3f31c64300 Fix camera reparenting 2023-02-10 23:46:55 +01:00