summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-09Add hysteresis to physics timestep count per frameManuel Moos
Add new class _TimerSync to manage timestep calculations. The new class handles the decisions about simulation progression previously handled by main::iteration(). It is fed the current timer ticks and determines how many physics updates are to be run and what the delta argument to the _process() functions should be. The new class tries to keep the number of physics updates per frame as constant as possible from frame to frame. Ideally, it would be N steps every render frame, but even with perfectly regular rendering, the general case is that N or N+1 steps are required per frame, for some fixed N. The best guess for N is stored in typical_physics_steps. When determining the number of steps to take, no restrictions are imposed between the choice of typical_physics_steps and typical_physics_steps+1 steps. Should more or less steps than that be required, the accumulated remaining time (as before, stored in time_accum) needs to surpass its boundaries by some minimal threshold. Once surpassed, typical_physics_steps is updated to allow the new step count for future updates. Care is taken that the modified calculation of the number of physics steps is not observable from game code that only checks the delta parameters to the _process and _physics_process functions; in addition to modifying the number of steps, the _process argument is modified as well to stay in expected bounds. Extra care is taken that the accumulated steps still sum up to roughly the real elapsed time, up to a maximum tolerated difference. To allow the hysteresis code to work correctly on higher refresh monitors, the number of typical physics steps is not only recorded and kept consistent for single render frames, but for groups of them. Currently, up to 12 frames are grouped that way. The engine parameter physics_jitter_fix controls both the maximum tolerated difference between wall clock time and summed up _process arguments and the threshold for changing typical_physics_steps. It is given in units of the real physics frame slice 1/physics_fps. Set physics_jitter_fix to 0 to disable the effects of the new code here. It starts to be effective against the random physics jitter at around 0.02 to 0.05. at values greater than 1 it starts having ill effects on the engine's ability to react sensibly to dropped frames and framerate changes.
2018-04-09Merge pull request #18083 from Noshyaar/tutorialRémi Verschelde
Add new transform tutorial to the appropriate classes
2018-04-09Merge pull request #18081 from AndreaCatania/arcleRémi Verschelde
Corrected area overlap cleaning
2018-04-09Merge pull request #18080 from Alexander-Alekseev/fix_rigidbody_config_warningRémi Verschelde
Fix of RigidBody's configuration warning for Z axis
2018-04-09Merge pull request #18079 from Crazy-P/Resolves-Inccorect-Quaternion-ConversionRémi Verschelde
Resolves Incorrect Quaternion Conversion
2018-04-09Merge pull request #18075 from guilhermefelipecgs/fix_3086Rémi Verschelde
Fix custom cursor when it's hidden
2018-04-09Merge pull request #16473 from ianb96/move_tabRémi Verschelde
Drag to Rearrange Editor Docks
2018-04-09Merge pull request #18069 from mhilbrunner/docs-scenetreeRémi Verschelde
[DOCS] SceneTree
2018-04-09Merge pull request #18054 from Mintormo/bugfix-inconsistent-sort-in-file-managerRémi Verschelde
Fixed bug #17929. Inconsistent sort in file manager.
2018-04-09Merge pull request #18040 from Paulb23/color_region_cacheRémi Verschelde
Fixed colour regions and added local colour region cache
2018-04-09Fix custom cursor when it's hiddenGuilherme Felipe
[Linux] Ensures that the custom cursor will be used when changing to MOUSE_MODE_VISIBLE. Fix #3086 [Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN. [Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
2018-04-09Add new transform tutorial to appropriate classesPoommetee Ketson
2018-04-09Fixed area overlap cleaningAndrea Catania
2018-04-09Merge pull request #17864 from NikodemL/fix_mono_bottom_panel_issue_activatedIgnacio Etcheverry
Fixed mono bottom panel to select the correct file when messages are filtered
2018-04-09Resolves Inccorect Quaternion ConversionCrazy-P
Fixes https://github.com/godotengine/godot/issues/18025
2018-04-09Fix RigidBody's configuration warning for Z axisAlexander Alekseev
2018-04-08Merge pull request #18072 from AlexHolly/masterGeorge Marques
expose Tileset TileMode to GDScript
2018-04-08Drag to rearrange Tabs and TabContainerianb96
2018-04-08Merge pull request #16297 from lpn/masterJuan Linietsky
Fixed wave file importer's broken resampling.
2018-04-08[DOCS] SceneTreeMax Hilbrunner
2018-04-08Merge pull request #16495 from Chaosus/is_point_in_triangle_fixJuan Linietsky
Fix is_point_in_triangle function
2018-04-08Merge pull request #16503 from Chaosus/particlesfixJuan Linietsky
Fix invalid particle movement when time_scale is zero
2018-04-08expose Tileset TileMode to GDScriptAlexander Holland
2018-04-08Merge pull request #16556 from aragar/masterJuan Linietsky
For-in loop variable added to autocompletion
2018-04-08Merge pull request #16571 from Zylann/find_in_filesJuan Linietsky
Added find & replace in files
2018-04-08Merge pull request #16705 from Chaosus/generate_normals_flipJuan Linietsky
Add flip switch to SurfaceTool.generate_normals
2018-04-08Merge pull request #16707 from Web-eWorks/atlasfixesJuan Linietsky
Fix Sprite3D's incorrect behavior when using AtlasTextures.
2018-04-08Merge pull request #16574 from isaacremnant/better_grow_directionJuan Linietsky
Added GROW_DIRECTION_BOTH for controls
2018-04-08Merge pull request #16898 from Lerc/masterJuan Linietsky
add Image::bumpmap_to_normalmap conversion function
2018-04-09Merge pull request #18061 from Chaosus/fixbugPoommetee Ketson
Fix crash when click on any inspector entry that takes Resource
2018-04-08Fix #18058 regressionChaosus
2018-04-08Merge pull request #16995 from mrcdk/custom_resources_inspectorJuan Linietsky
The inspector will show the custom resources added via plugin
2018-04-08Merge pull request #17123 from ↵Juan Linietsky
Jason0214/BugFix_UpdataFavoriteListWhenMoveOrRenameDir Editor: update favortite_dirs after move or rename a file in filesytem_dock
2018-04-08Merge pull request #17150 from robfram/check-animation-playing-backwardsJuan Linietsky
Added `get_playing_speed` method to AnimationPlayer, returning the actual playing speed of the animation being played
2018-04-08Merge pull request #17151 from ShyRed/disabled_shapes_2dJuan Linietsky
Remove disabled shapes from physics 2D calculations
2018-04-08Merge pull request #17227 from Faless/multiplayer_apiJuan Linietsky
[RFC] MultiplayerAPI refactor
2018-04-08Merge pull request #17232 from playster000/masterJuan Linietsky
enhance mipmaps, non power of 2 textures
2018-04-08Merge pull request #17382 from bojidar-bg/13971-path-array-unsavedJuan Linietsky
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08Merge pull request #17421 from Chaosus/fixshaderbugsJuan Linietsky
Fix few bugs in shader definitions
2018-04-08Merge pull request #17443 from Noshyaar/tilesetcrashJuan Linietsky
Fix converting to tileset crashes Godot if existing file is not tileset
2018-04-08Merge pull request #17594 from ivodopiviz/float-overflowJuan Linietsky
Changed debug max distance to avoid overflow
2018-04-08Merge pull request #17967 from Nibodhika/all-device-modeJuan Linietsky
Allows to map an action to all devices.
2018-04-08Merge pull request #17741 from Essojadojef/fix-shortcut-categoriesJuan Linietsky
Fix all categories unfold when one key binding is changed
2018-04-08Fixed bug #17929. Inconsistent sort in file manager.Mintormo
This commit fix a bug #17929 (https://github.com/godotengine/godot/issues/17929) in file manager. I'm just added sorting of files list in method FileSystemDock::_update_files.
2018-04-07Removed strange custom world2d in CanvasLayer, been there since always and ↵Juan Linietsky
not sure why. Fixes #17524, fixes #17523.
2018-04-07Allows to map an action to all devices.Nibodhika
This is accomplished by setting a special value (-1) to the device variable in the InputEvent that's being used to compare with the one received from the OS. This special value is invalid for a regular input, so it should be safe. Implements #17942
2018-04-07Merge pull request #17583 from RandomShaper/enhance-uri-utilsJuan Linietsky
Enhance uri utils
2018-04-07Document condition to avoid mistakes (like #17690)Juan Linietsky
2018-04-07Merge pull request #17602 from ivodopiviz/tscn-issuesJuan Linietsky
Removed unnecessary newlines from tscn
2018-04-07Merge pull request #17636 from rainerdeyke/fix_issue_17585Juan Linietsky
Fixes moving files causes scene corruption