summaryrefslogtreecommitdiff
path: root/core/bind
AgeCommit message (Collapse)Author
2018-05-30Improve return value of OS.execute in blocking/non-blocking variantsRémi Verschelde
Initialized the PID to -2, which will be the value returns in blocking- mode where the PID is not available. (-1 was already taken to signify an execution failure). OS::execute will now properly return a non-OK error code when it fails to execute the target file. The documentation was rewritten to be very clear about the differences between blocking and non-blocking mode. Fixes #19056.
2018-05-19GDScript access to copyright, license, author and donor information.Ibrahn Sahir
Adds following functions to the Engine singleton: get_author_info - names of Godot authors get_copyright_info - detailed source copyright get_license_info get_donor_info - donor names get_license_info - full text of licenses used, indexed by license names get_license_text - the text of the Godot Expat license
2018-05-08Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam
Experimental support for windows with per-pixel transparency.
2018-05-07Merge pull request #17353 from zmanuel/timer_hysteresis_multiframe_pr1Juan Linietsky
Use hysteresis for smoother physics update frequency
2018-05-07Merge pull request #15943 from poke1024/geometry-line-lineJuan Linietsky
Add Geometry::line_intersects_line_2d()
2018-04-22Change ".." punctuation for "..." in editor strings (#16507)Hugo Locurcio
2018-04-18Merge pull request #18227 from bojidar-bg/fix-date-unix-crashRémi Verschelde
Fix crash resulting from bad month check in core_bind.cpp
2018-04-17Fix crash resulting from bad month check in core_bind.cppBojidar Marinov
Also, make it clear that day is 0-based. This might cause very slight differcies in existing games. Fixes #18221
2018-04-11iPhone X support and iOS-related fixesRuslan Mustakov
Starting from April 2018 Apple no longer accepts apps that do not support iPhone X. For games this mainly means respecting the safe area, unobstructed by notch and virtual home button. UI controls must be placed within the safe area so that users can interact with them. This commit: - Adds OS::get_window_safe_area method that returns unobscured area of the window, where interactive controls should be rendered. - Reorganizes how launch screens are exported - the previous way was incorrect and modern iPhones did not pick up the correct screens and because of that used a non-native resolution to render the game. - Adds launch screen options for iPhone X. - Makes launch screens optional in the export template. If not specified, a white screen will be used. - Adds App Store icon (1024x1024) export option as it now has to be bundled with the app instead of being provided in iTunes Connect. - Fixes crash when launching games in iOS Simulator. It happened because controllerWasConnected callback came before the engine was initialized. Now in such case the controllers will be queued up and registered after initialization is done. - Fixes issue with the virtual keyboard where for some reason autocorrection panel would intersect with the keyboard itself and not allow you to use the top row of the keyboard. This is fixed by disabling autocorrection altogether. Closes #17358. Fixes #17428. Fixes #17331.
2018-04-11Update classref and docs, fix missing parameters' namePoommetee Ketson
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-07Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg
Windows).
2018-03-13Added File.get_path and File.get_path_absolute functionsMarcelo Fernandez
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-02-14Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde
Add new window setting: always on top
2018-02-12Added OS::center_window to center the window precisely on desktop platformsMarcelo Fernandez
2018-01-21Add Geometry::line_intersects_line_2d()Bernhard Liebl
2018-01-12get_target_fps and set_target_fps now both use an intPaul Joannon
2018-01-12Bind many more properties to scriptsBojidar Marinov
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
2018-01-08Merge pull request #15337 from ↵Rémi Verschelde
touilleMan/fix-classdb_get_method_list-without-instrospection Fix _ClassDB::get_method_list when instrospection is disabled
2018-01-05Print error if a resource can't load from script, fixes #15313Juan Linietsky
2018-01-05Add new window setting: always on topPedro J. Estébanez
Implemented for Windows and Linux.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-04Fix _ClassDB::get_method_list to returns only what's available when ↵Emmanuel Leblond
introspection is disabled
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-06Merge pull request #12603 from GodotExplorer/beautify-jsonRémi Verschelde
Add indent and sort keys support for JSON.print
2017-11-17Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde
Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
2017-11-14Move singleton management from ProjectSettings to EngineLeon Krause
2017-11-07Add indent and sort keys support for JSON.printGeequlim
2017-11-05Basic docs for Geometry plus two new functionsBernhard Liebl
2017-10-30Add Colemak keybindings to editor for osxN0hbdy
2017-10-04Merge pull request #11823 from endragor/virtual-keyboard-heightGilles Roudiere
Allow to obtain virtual keyboard height
2017-10-04Allow to obtain virtual keyboard heightRuslan Mustakov
On mobile platforms virtual keyboards take up significant amount of screen space and UI containing a text box may need to be adjusted after the keyboard appears to keep the text box visible to user. This commit adds a way to obtain virtual keyabord height so that controls are aware of how much they need to move.
2017-10-03fixed the OS.has_feature() API, and added support for 32 and 64.Juan Linietsky
2017-10-03Merge pull request #11782 from eska014/persistent-userfs-testHein-Pieter van Braam
Add OS::is_userfs_persistent, allow starting HTML5 platform in private mode
2017-10-02Add OS::is_userfs_persistent to check user:// persistenceLeon Krause
Allows starting HTML5 export when IndexedDB is not available.
2017-09-30Renamed fixed_process to physics_processAndreaCatania
2017-09-20Rename pos to position in user facing methods and variablesletheed
Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
2017-09-17Merge pull request #11294 from karroffel/json-objectThomas Herzog
added JSON singleton
2017-09-16Adds _OS::PowerState enumIgnacio Etcheverry
2017-09-15added JSON singletonkarroffel
There was no way to access JSON functionality in scripting languages apart from GDScript because the JSON class wasn't exposed to ClassDB.
2017-09-13Fix enums bindingsMaxim Sheronov
Add missed bindings for enums Move some enums to class to have correct output of api.json
2017-09-02Fix typos 'a' and 'an'Poommetee Ketson
2017-09-01Fix signed and unsigned comparisonsHein-Pieter van Braam
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-22Merge pull request #10487 from marcelofg55/curscr_as_defaultRémi Verschelde
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22Merge pull request #10340 from Rubonnek/remove-unnecessary-assignmentsRémi Verschelde
Removed unnecessary assignments
2017-08-21Merge pull request #10351 from neikeq/enums-are-for-the-weakJuan Linietsky
ClassDB: Provide the enum name of integer constants
2017-08-21p_screen param from get_screen_* funcs now default to the current screenMarcelo Fernandez