summaryrefslogtreecommitdiff
path: root/doc/classes/@GlobalScope.xml
AgeCommit message (Collapse)Author
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-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.
2022-07-22Implement a Worker ThreadPoolreduz
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks that can be run on threads (and then waited for). It satisfies the following use cases: * HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads. * Thread spawning is slow in general, so reusing threads is faster anyway. * This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks. After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-15Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg
support to the GDextension API.
2022-07-12Remove unused hintskobewi
2022-06-29Adding print_rich for printing with BBCodeVoylin
2022-06-28Merge pull request #62468 from V-Sekai/core-const-expressionsRémi Verschelde
Add a const call mode to Object, Variant and Script.
2022-06-27Merge pull request #62449 from Chaosus/wrap_funcRémi Verschelde
Add generalized version of `wrap` function
2022-06-27Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script). This mode ensures only const functions can be called, making it safe to use from the editor. Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27Refactor bezier interpolation functionsHendrik Brucker
2022-06-27Add generalized version of `wrap` functionYuri Rubinsky
2022-06-27Merge pull request #62185 from reduz/export-node-pointer-pathRémi Verschelde
Add ability to export Node pointers as NodePaths
2022-06-25Add ability to export Node pointers as NodePathsreduz
This PR implements: * A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string. * The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path. * When scene is saved, the node path is saved, then restored as a pointer. NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid. Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language. Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path). Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
2022-06-24Rename export_range's noslider option to no_sliderMarcus Elg
2022-06-21Merge pull request #62122 from reduz/implement-movie-writerRémi Verschelde
Implement a Movie Maker mode
2022-06-21Implement Running Godot as Movie Writerreduz
* Allows running the game in "movie writer" mode. * It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time). * If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult. * Implements a simple, default MJPEG writer. This new features has two main use cases, which have high demand: * Saving game videos in high quality and ensuring the frame rate is *completely* stable, always. * Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this). **Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly). Usage: $ godot --write-movie movie.avi [scene_file.tscn] Missing: * Options for configuring video writing via GLOBAL_DEF * UI Menu for launching with this mode from the editor. * Add to list of command line options. * Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-17Merge pull request #62132 from timothyqiu/doc-fixesRémi Verschelde
2022-06-17Classref typo fixes and improvementsHaoyu Qiu
2022-06-16Adding function key support from F17 to F35gregcsokas
OSX supports everything by default, Linux is also capable of supporting every function key, Windows as I know support only up to F24
2022-06-14Add vector value linkingkobewi
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-07Bind vararg method flag in core constantssps1112
2022-05-25finish renaming AUTH to AUTHORITYNathan Franke
2022-05-11Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky
2022-04-30Document lerp_angle behavior when angles are approximately PI apartHaoyu Qiu
2022-04-27Merge pull request #60331 from KoBeWi/tween_static()Rémi Verschelde
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-04-17Make Tween.interpolate_value() statickobewi
2022-04-12Improves EditorInspector documentationHaoyu Qiu
2022-03-23Document how to specify explicit value for `PROPERTY_HINT_ENUM` namesHaoyu Qiu
2022-03-11Merge pull request #58751 from bruvzg/loc_str_propsRémi Verschelde
2022-03-07VariantUtility: Unexpose `Math::range_step_decimals`Rémi Verschelde
This method was meant only as a convenience for editor code to allow using a step of 0 to disable snapping. It was exposed by mistake when refactoring GlobalScope.
2022-03-07Merge pull request #57812 from piiertho/bugfix/add-none-enum-global-constantsRémi Verschelde
2022-03-07bugfix: bind core enums' none valuesPierre-Thomas Meisels
2022-03-04Improve app name and system permission message localization.bruvzg
Add localizable string (Dictionary<Lang Code, String>) property editor and property hint. Add localized "app name" property to the project settings. Add localized permission and copyright properties to the macOS and iOS export settings. Remove some duplicated ("app name") and deprecated ("info") macOS and iOS export properties.
2022-02-17Fix a typo in PROPERTY_HINT_ENUM_SUGGESTION descriptionYuri Sizov
2022-02-15Add an XML schema for documentationHugo Locurcio
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-12Implement cubic_interpolate() as MathFunc for refactoringSilc 'Tokage' Renew
2022-02-08[GDExtension] Add binds for missing methods, operators, and constants ↵bruvzg
required for GDExtension TextServer implementation.
2022-01-18Improve locale detection.bruvzg
Use separate language, script and country lists. Add locale selection dialog and property hint.
2022-01-10Add joystick button index boundary check. Increase max. button number to 128 ↵bruvzg
(max. buttons supported by DirectInput).
2022-01-06Merge pull request #56224 from Calinou/variant-rename-packed-array-constantsRémi Verschelde
2022-01-04Document InputEventMIDI and add some missing 0xF MIDI messagesAaron Franke
2022-01-04Improve `lerp()`, `lerp_angle()` and `inverse_lerp()` documentationHugo Locurcio
This clarifies that `lerp()` can be used both for interpolation and extrapolation.
2022-01-02Fix various typosluz paz
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn` Update editor/import/resource_importer_layered_texture.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update doc/classes/TileSetScenesCollectionSource.xml Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/graph_edit.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/rich_text_label.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Revert previously committed change
2021-12-24Rename Variant Packed*Array constants for consistencyHugo Locurcio
All arrays are now prefixed with `PACKED_` to distinguish them from GDScript's generic typed arrays. `RAW_ARRAY` is now `PACKED_BYTE_ARRAY` (RawArray was the name of PackedByteArray back in Godot 2.x).
2021-12-09align to horizontal_alignment, valign to vertical_alignment, relatedNathan Franke
2021-11-25Enchance descriptions of @GlobalScope/@GDScriptYuri Roubinsky
2021-11-23Correct the doc about ease()kobewi
2021-11-17Expose `randfn` to global scopeYuri Roubinsky
2021-11-12Use "enum class" for input enumsAaron Franke