summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2022-08-02Merge pull request #61315 from lawnjelly/variant_bucket_poolsRémi Verschelde
Variant memory pools
2022-08-02Merge pull request #53956 from bruvzg/icu_uax_31Rémi Verschelde
2022-08-02[TextServer] Implement ICU/UAX 31 based `is_valid_identifier` function.bruvzg
2022-08-01Improve easing inspector usabilityHugo Locurcio
- Add `positive_only` property hint to disallow using negative presets. These values are clamped in several places in the editor already, so this avoids displaying presets that don't work. - Move the Zero preset at the end of the positive list to match the custom property editor. It's also used less often than Linear, Ease In and Ease Out. - Rename presets to be consistent between the easing property editor and custom property editor. - Remove unused `inout` hint which was redundant since it was already the default.
2022-08-01Expose the "restart on exit" OS functionalityHugo Locurcio
This can be used to restart a project with specific command line arguments applied. This can work in tandem with `OS.get_cmdline_args()` to restart with the same command line arguments as used to originally run the project. Example use cases: - Restart to apply an user setting change that requires a restart to work. - Restart with a Godot command line argument to change the video driver, audio driver, etc.
2022-08-01Merge pull request #63733 from akien-mga/file-get_as_text-skip-CRRémi Verschelde
File: Re-add support to skip CR (`\r`) in `File::get_as_text`
2022-08-01Merge pull request #63624 from reduz/commandline-user-argsRémi Verschelde
Add support for command-line user arguments.
2022-08-01Fix `Vector4::min_axis_index` for equal componentsRaul Santos
The documentation says if all components are equal it must return AXIS_W but it was returning AXIS_X.
2022-08-01Add support for command-line user arguments.Juan Linietsky
Implements the standard Unix double dash (--) commandline argument: * Arguments after a double dash (--) are ignored by Godot and stored for the user. * User can access them via `OS.get_cmdline_user_args()` Example: `godot.exe scene_to_run.tscn --fullscreen -- --start-level 2`
2022-08-01File: Re-add support to skip CR (`\r`) in `File::get_as_text`Rémi Verschelde
This was removed in #63481, and we confirmed that it's better like this, but we add back the possibility to strip CR as an option, to optionally restore the previous behavior. For performance this is done directly in `String::parse_utf8`. Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR. Supersedes #63717.
2022-07-31Expose load_threaded_request's cachemode to GDScriptRobin Arys
2022-07-30Fix using wrong variable when checking in `ResourceSaver::save`Rindbee
2022-07-29Merge pull request #61647 from KoBeWi/SaverResourceRémi Verschelde
2022-07-29Merge pull request #63593 from TokageItLab/improve-exp-mapRémi Verschelde
2022-07-29Swap arguments of ResourceSaver.save()kobewi
2022-07-29Merge pull request #63595 from reduz/remove-signal-connect-bindsRémi Verschelde
Remove Signal connect binds
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-29Fix Vector4 serializationkobewi
2022-07-29Make `spherical_cubic_interpolate()` more stableSilc Renew
2022-07-28Merge pull request #63049 from Faless/mp/4.x_as_moduleRémi Verschelde
2022-07-28Merge pull request #63532 from TokageItLab/rename-cubic-slerpRémi Verschelde
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-28Merge pull request #63378 from nathanfranke/t3d-errorsRémi Verschelde
Add equal checks to Transform3D::looking_at and Transform3D::set_look_at, fixes misleading error.
2022-07-28Merge pull request #62414 from Calinou/movie-maker-add-quit-on-endRémi Verschelde
2022-07-27HTML5: Add support for `Input.vibrate_handheld()`pattlebass
2022-07-27Add a Movie Quit On Finish property to AnimationPlayerHugo Locurcio
This quits the project when an animation is done playing in the given AnimationPlayer, but only in Movie Maker mode. When this happens, a message is printed with the absolute path of the AnimationPlayer node that caused the engine to quit. This can be used to create videos that stop at a specified time without having to write any script. A report is now also printed to the console when the video is done recording (as long as the engine was exited properly). This report is unfortunately not always visible in the editor's Output panel, as it's printed too late. A method was also added to get the path to the output file from the scripting API.
2022-07-27rename and unify notation for spherical interpolationSilc Renew
2022-07-27Merge pull request #62973 from bruvzg/sysfont_supportRémi Verschelde
2022-07-27Merge pull request #63380 from V-Sekai/fix-cubic-slerp-dotRémi Verschelde
2022-07-27Merge pull request #63463 from KoBeWi/Vector5Rémi Verschelde
Add some missing Vector4 methods
2022-07-27Merge pull request #63494 from akien-mga/color-fix-set-hsvRémi Verschelde
2022-07-26Merge pull request #63481 from ↵Rémi Verschelde
m4gr3d/fix_remaining_scoped_storage_regressions_main Address remaining scoped storage regressions
2022-07-26Address remaining scoped storage regressionsFredia Huya-Kouadio
- Accelerate common path used to check the storage scope for a given path - Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
2022-07-26Color: Fix resetting alpha when setting H/S/V separatelyRémi Verschelde
Fixes #63487.
2022-07-26[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli
- RPC configurations are now dictionaries. - Script.get_rpc_methods renamed to Script.get_rpc_config. - Node.rpc[_id] and Callable.rpc now return an Error. - Refactor MultiplayerAPI to allow extension. - New MultiplayerAPI.rpc method with Array argument (for scripts). - Move the default MultiplayerAPI implementation to a module.
2022-07-26Implement support for loading system fonts on Linux, macOS / iOS and Windows.bruvzg
2022-07-25Allow loading override.cfg from PCK filesAaron Franke
2022-07-26Add some missing Vector4 methodskobewi
2022-07-25Merge pull request #63443 from rburing/bvh_debug_fixupRémi Verschelde
2022-07-25add equal checks to Transform3D::looking_at and Transform3D::set_look_atNathan Franke
2022-07-25Fixup BVH debugging statementsRicardo Buring
2022-07-25Fix cubic_slerpSilc 'Tokage' Renew
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com> Co-authored-by: Pasi Nuutinmaki <gnssstylist@sci.fi>
2022-07-25Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient. It can also be better debugged.
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-25Merge pull request #63219 from reduz/implement-vector4-projectionRémi Verschelde
2022-07-24Merge pull request #63098 from Xwdit/fix_qualifiers_script_docRémi Verschelde
2022-07-24Fix missing method qualifiers in script docXwdit
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-24Solve discrepancy between code and class reference for PlaneJcrespo
On #43310, class reference was automatically updated from source, causing xml documentation to disagree with parameter naming description on Plane.intersects_segment(). Weirdly, it also changed the parameter for Plane.is_point_over() from point to plane, when only the first has sense (and it is defined on math.Plane as "const Vector3 &p_point"). Manual mistake? * Update begin/end to from/to on Plane.intersects_segment(...) docs description to match source * Update Plane bindings to use points instread of plane for is_point_over(...) * Change Plane.is_point_over(plane) to Plane.is_point_over(point) AND its description on docs Fixes godotengine/godot-docs#5976
2022-07-24Merge pull request #63262 from dsnopek/multiplayer-peer-custom-4.xFabio Alessandrelli
[4.x] Allow extending MultiplayerPeerExtension from GDScript
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.