summaryrefslogtreecommitdiff
path: root/scene/animation
AgeCommit message (Collapse)Author
2021-08-26Fix AnimationBlendTree reset on resource loadingPouleyKetchoupp
When reset_state was called on an existing AnimationBlendTree, the output node would disappear, causing some errors in the editor and preventing animations to play properly. This change ensures the output node is always present in the node tree.
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-13Style: Cleanup code using `text_editor/completion/use_single_quotes`Rémi Verschelde
2021-08-09Some work on double supportAaron Franke
2021-08-09Use doubles for time in animation codeAaron Franke
2021-08-02Add null check to Tween.bind_node()kobewi
2021-07-28Use bullet points in the editor instead of dashes where relevantHugo Locurcio
2021-07-26Use Ref<T> references as iterators where relevantRémi Verschelde
And const when possible.
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-21Use is_equal_approx in more placesAaron Franke
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-13Merge pull request #48375 from bowling-allie/discrete-carry-bugRémi Verschelde
2021-07-06Increase the number of arguments accepted by UndoRedo methodsGilles Roudière
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-30Merge pull request #50014 from reduz/remove-immediateRémi Verschelde
Deprecate ImmediateGeometry
2021-06-30Deprecate ImmediateGeometryreduz
* Removed entirely from RenderingServer. * Replaced by ImmediateMesh resource. * ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future. * Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4). * RootMotionView works again. * Polygon3D editor works again.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #41794 from KoBeWi/shiny_new_tweensRémi Verschelde
2021-06-19Complete rewrite of TweensTomasz Chabora
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-06-17Add PROPERTY_USAGE_NONE and use itAaron Franke
2021-06-12Consistently prefix bound virtual methods with _kobewi
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-04Disable Skeleton3D when compiling without 3DAaron Franke
Make animation code not depend on Skeleton3D or even Node3D
2021-06-03Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3DAaron Franke
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-25Tweak dozens of editor property hints for consistencyHugo Locurcio
- Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.
2021-05-09Merge pull request #41416 from TokageItLab/fix_animation_tree_cacheRémi Verschelde
fix unintentional object rotation by anim tree
2021-05-06Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY.bowling-allie
When BlendSpace2D switches animations, it will now correctly calculate the previous animation position and length and apply is to the new animation.
2021-04-11Use Array for node configuration warningsNathan Franke
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-03-21Rename Array.invert() to Array.reverse()Marcel Admiraal
Does the same internally for List and Vector<>, which includes all PackedArray types.
2021-03-17Check AnimationNode to update propertiesKongfa Waroros
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-03-03fix no tween repeat after stop_all() and start() againjmb462
2021-02-24Tween: Add null check for target objectChristoffer Sundbom
Fixes #45399.
2021-02-19Merge pull request #45990 from charles-l/masterRémi Verschelde
improve error message when travel() is called on an AnimationNodeStateMachine when the state machine is not playing
2021-02-18Refactor Process Modereduz
Implements https://github.com/godotengine/godot-proposals/issues/1835#issuecomment-727186192 * PauseMode is now ProcessMode, containing the following states: ``` PROCESS_MODE_INHERIT, // same as parent node PROCESS_MODE_NORMAL, // process only if not paused PROCESS_MODE_PAUSE_ONLY, // process only if paused PROCESS_MODE_ALWAYS, // process always PROCESS_MODE_DISABLED, // never process ``` * NOTIFICATION_PAUSED and NOTIFICATION_UNPAUSED are received effectively when the node is paused and unpaused (not any longer when pause mode is set in SceneTree). * Renamed some nodes that used ProcessMode/process_mode to specify a callback type to ProcessCallback to avoid clashes.
2021-02-15improve error message when travel() is called on an ↵nc
AnimationNodeStateMachine when the state machine is not playing
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10Merge pull request #45845 from qarmin/cppcheck_scene_2Rémi Verschelde
Initialize class variables with default values in scene/ [2/2]
2021-02-09Fix animation reset-on-save on inactive scene tabsPedro J. Estébanez
2021-02-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-02-07Initialize class variables with default values in scene/ [1/2]Rafał Mikrut
2021-02-04Use the blend parameter passed to blend_animation during graph processingmuiroc
2021-01-02Merge pull request #42188 from ↵Rémi Verschelde
Eoin-ONeill-Yokai/animationstateplayback/missing_binds AnimationStateMachinePlayback: Added Missing Method Bindings