summaryrefslogtreecommitdiffstats
path: root/core/core_constants.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `@export_tool_button` annotation for easily creating inspector buttonsDanil Alexeev2024-09-271-0/+1
| | | | | | Co-authored-by: jordi <creptthrust@gmail.com> Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com> Co-authored-by: Mack <86566939+Macksaur@users.noreply.github.com>
* Implement typed dictionariesThaddeus Crews2024-09-041-0/+1
|
* Add PackedVector4Array Variant typeK. S. Ernest (iFire) Lee2024-05-031-0/+1
| | | | | Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Add InputEventKey.location to tell left from rightMel Collins2024-01-261-0/+4
| | | | | | | | | | This adds a new enum `KeyLocation` and associated property `InputEventKey.location`, which indicates the left/right location of key events which may come from one of two physical keys, eg. Shift, Ctrl. It also adds simulation of missing Shift KEYUP events for Windows. When multiple Shifts are held down at the same time, Windows natively only sends a KEYUP for the last one to be released.
* Add const lvalue ref to container parametersMuller-Castro2024-01-051-1/+1
|
* Fix StringName leaks in GDExtension, core, and editor themesYuri Sizov2023-10-181-0/+2
|
* Add missing YEN, SECTION and OPENURL names to keycode mappingsAttackButton2023-08-281-4/+4
|
* Merge pull request #76165 from and-rad/safe-credentialsRémi Verschelde2023-05-101-0/+1
|\ | | | | | | Store sensitive export options in dedicated credentials file
| * Store sensitive export options in dedicated credentials fileAndreas Raddau2023-05-101-0/+1
| |
* | Rework Navigation Avoidancesmix82023-05-101-0/+1
|/ | | | Rework Navigation Avoidance.
* Make global scope enums accessible as types in GDScriptGeorge Marques2023-02-191-56/+181
| | | | | | Add functions to CoreConstant so enums can be properly deduced. Also add the enums in release builds to make consistent with ClassDB enums and avoid differences in script compilation between debug and release.
* Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for scriptAaron Franke2023-01-241-0/+1
| | | | Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
* PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"Aaron Franke2023-01-241-1/+1
|
* Cleanup and unify keyboard input.bruvzg2023-01-231-75/+5
| | | | | | | | | | - Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes. - Unify IME behaviour, add inline composition string display on Windows and X11. - Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events. - Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS. - Add support for media key handling on macOS. Co-authored-by: Raul Santos <raulsntos@gmail.com>
* Removed unused property hints and `Object::get_translatable_strings()`Juan Linietsky2023-01-091-12/+2
| | | | | | | | | | | | | | | | * Remove unused `EditorPropertyMember` and related hints, previouly used by VisualScript. Such logic should be implemented in the VS module itself. * As the above broke compatibility with the VS module, clean up the other hacks that were still in core in support of VisualScript. * `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's `get_translatable_strings()`, which is a legacy function not used anywhere. So both are removed. * Reordered some usage flags after the above removal to minimize the diff. * General clean up. Fixes #30203. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Use BitField<> in core type masksJuan Linietsky2023-01-081-59/+88
| | | | | | | | * All core types masks are now correctly marked as bitfields. * The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks. * Most bitmask operations replaced by functions in BitField<> * Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is. * Documentation and API dump updated to reflect bitfields in core types.
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* [RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.bruvzg2022-12-151-0/+1
|
* Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/PlayerSilc Renew2022-12-021-1/+0
| | | | #69357
* Remove `PROPERTY_HINT_IMAGE_COMPRESS` constantsMicky2022-11-151-2/+0
| | | | These were used in 3.x but there's no reference of them in the codebase, at all.
* Move EulerOrder enum to math_defs.h and global scopeAaron Franke2022-11-021-0/+7
|
* Expose `PROPERTY_USAGE_READ_ONLY`Marc Gilleron2022-09-281-0/+1
|
* Fix key mapping changes when moving from macOS to other platformbruvzg2022-09-071-1/+1
| | | | | Removes separate `Command` key (use `Meta` instead). Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
* [macOS export] Simplify code signing options, add support for rcodesign tool ↵bruvzg2022-08-261-0/+1
| | | | for signing and notarization.
* Implement Quaternion EditorSilc Renew2022-08-241-0/+1
|
* [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli2022-07-261-10/+0
| | | | | | | | | - 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.
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-0/+3
| | | | | | | | | | | | | 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.
* Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg2022-07-151-0/+1
| | | | support to the GDextension API.
* Remove unused hintskobewi2022-07-121-7/+0
|
* Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee2022-06-271-0/+1
| | | | | | | 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>
* Add ability to export Node pointers as NodePathsreduz2022-06-251-0/+1
| | | | | | | | | | | | | 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).
* Merge pull request #62122 from reduz/implement-movie-writerRémi Verschelde2022-06-211-0/+1
|\ | | | | Implement a Movie Maker mode
| * Implement Running Godot as Movie Writerreduz2022-06-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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).
* | Make enum/constant binds 64-bit.bruvzg2022-06-171-10/+10
| |
* | Adding function key support from F17 to F35gregcsokas2022-06-161-0/+19
|/ | | | | | OSX supports everything by default, Linux is also capable of supporting every function key, Windows as I know support only up to F24
* Add vector value linkingkobewi2022-06-141-0/+1
| | | | Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
* Bind vararg method flag in core constantssps11122022-06-071-0/+1
|
* finish renaming AUTH to AUTHORITYNathan Franke2022-05-251-1/+1
|
* Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky2022-05-111-0/+1
|
* Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-021-1/+1
| | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* Merge pull request #58751 from bruvzg/loc_str_propsRémi Verschelde2022-03-111-0/+1
|\
| * Improve app name and system permission message localization.bruvzg2022-03-041-0/+1
| | | | | | | | | | | | | | 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.
* | bugfix: bind core enums' none valuesPierre-Thomas Meisels2022-03-071-0/+3
|/
* [GDExtension] Add binds for missing methods, operators, and constants ↵bruvzg2022-02-081-0/+3
| | | | required for GDExtension TextServer implementation.
* Improve locale detection.bruvzg2022-01-181-0/+1
| | | | | Use separate language, script and country lists. Add locale selection dialog and property hint.
* Merge pull request #56224 from Calinou/variant-rename-packed-array-constantsRémi Verschelde2022-01-061-9/+9
|\
| * Rename Variant Packed*Array constants for consistencyHugo Locurcio2021-12-241-9/+9
| | | | | | | | | | | | | | | | 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).
* | Document InputEventMIDI and add some missing 0xF MIDI messagesAaron Franke2022-01-041-0/+11
| |
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* align to horizontal_alignment, valign to vertical_alignment, relatedNathan Franke2021-12-091-21/+22
|