summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2022-02-14[Crypto] Implement CryptoCore::RandomGenerator.Fabio Alessandrelli
As a cryptographically secure random generator. Internally it uses mbedTLS CTR-DRBG implementation which gets re-seeded with entropy from OS::get_entropy when needed. CryptoCore now additionally depends on `ctr_drbg.c` and `entropy.c` thirdparty mbedtls files.
2022-02-14[OS/Crypto] Add get_entropy to OS.Fabio Alessandrelli
Implemented via `BCryptGenRandom` on Windows. Implemented via `getentropy` syscall when available. Implemented via `/dev/urandom` device as a fallback. The `/dev/urandom` fallback can be disabled via the `NO_URANDOM` build flag. Note: The HTML5 version relies on emscripten file system urandom device which itself uses the Crypto API when available or the plain old not crypto-safe `Math.random()` otherwise. Restore get_entropy.
2022-02-13Merge pull request #57954 from TokageItLab/refactor-cubic-interpolateRémi Verschelde
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-12Merge pull request #52742 from Geometror/improve-project-manager-file-dialogRémi Verschelde
2022-02-12Use EditorFileDialog instead of FileDialog in the project managerHendrik Brucker
2022-02-12Fix resource reuse in binary loaderreduz
* Reuse was not setting the internal index. * Supersedes #52599, without re-reading all properties.
2022-02-12Implement cubic_interpolate() as MathFunc for refactoringSilc 'Tokage' Renew
2022-02-12Merge pull request #57703 from lawnjelly/float_literals_math_funcsRémi Verschelde
2022-02-12Merge pull request #57641 from Geometror/compilation-time-improvements-1Rémi Verschelde
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-11Merge pull request #57972 from BimDav/fix_has_setting4Rémi Verschelde
2022-02-11has_setting now correctly returns true when the setting is present due to a ↵BimDav
feature tag
2022-02-11Fix Variant Ref<> assignment.reduz
-Creating from object pointer via funcptr API was missing reference initialization. -Supersedes https://github.com/godotengine/godot-cpp/pull/662 -Fixes several crashes in GDExtension
2022-02-10Float literals - fix main primitives to use .flawnjelly
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations.
2022-02-10Reorganize inspector layout workflow for Control nodesYuri Sizov
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-09Merge pull request #57715 from Faless/debugger/4.x_core_includes_and_serversRémi Verschelde
[Debugger] Move most profilers to ServersDebugger, fix core includes.
2022-02-09Merge pull request #57843 from Pineapple/vector2-brackets-operator-masterRémi Verschelde
2022-02-09Core: Move generated `VERSION_HASH` to a `.cpp` fileRémi Verschelde
This lets us have its definition in `core/version.h` and avoid rebuilding a handful of files every time the commit hash changes.
2022-02-09Fix Vector2 and Vector2i coord access via operator[]Bartłomiej T. Listwon
2022-02-08Merge pull request #57066 from KoBeWi/in_the_name_of_the_customRémi Verschelde
2022-02-08Merge pull request #57788 from reduz/describe-sname-usageRémi Verschelde
2022-02-08Merge pull request #57795 from bruvzg/gde_missing_bindsRémi Verschelde
2022-02-08Clarify SNAME usagereduz
* Explain where it should be used, with examples. * Clarify that it should _not_ be used everywhere, only where needed. * Supersedes #57720 This PR is the result of the discussion that happened in a contractor meeting, and it attempts to clarify the intended use for this macro for other contributors. As a personal note, It is my view that other approaches to using SNAME (like having a global or per class table of string names) are mere overengineering without any real benefit (performance remains the same, and usage of stringnames becomes more cumbersome. Additionally, there was not any significant amount of errors in name mismatching as a result of using strings since Godot was open sourced).
2022-02-08Merge pull request #43015 from Xrayez/refactor-auto-instapropRémi Verschelde
Refactor auto-instantiation of `Object` properties in editor
2022-02-08[GDExtension] Add binds for missing methods, operators, and constants ↵bruvzg
required for GDExtension TextServer implementation.
2022-02-07Fix script editor errors with CustomCallableskobewi
2022-02-07ResourceImporter: Restore default append logic for new importersRémi Verschelde
This was changed in #56943 to allow adding new importers from plugins that take precedence over built-in ones, but this should be opt-in, not the default behavior. Fixes #57730.
2022-02-07Merge pull request #57729 from TechnoPorg/astar-fix-invalid-includeRémi Verschelde
Remove a cross include from a_star.cpp
2022-02-06Remove a cross include from a_star.cppTechnoPorg
2022-02-06[Debugger] Move servers-related behaviours to ServersDebugger.Fabio Alessandrelli
Forcing draw during debug break is now handled by ServersDebugger, and only happens when the proper message is sent from the EditorDebugger ("servers:draw"). In a similar way, briging the window in foreground is now also handled by ServersDebugger upon receiving "servers:foreground" which is sent by the EditorDebugger when resuming from a break ("continue").
2022-02-06[Debugger] Move most profilers to ServersDebugger.Fabio Alessandrelli
Also splits bandwidth/rpc profiler (RPCProfiler is now in SceneDebugger).
2022-02-06[Debugger] New extensible EngineProfiler class.Fabio Alessandrelli
Uses GDExtension, replaces old Callable system for profilers, and is also used internally.
2022-02-06Fix integer vector mul/div operators and bindings.reduz
* Vector2i and Vector3i mul/div by a float results in Vector2 and Vector3 respectively. * Create specializations to allow proper bindings. This fixes #44408 and supersedes #44441 and keeps the same rule of int <op> float returnig float, like with scalars.
2022-02-05Merge pull request #57017 from godotengine/string-name-static-false-unclaimedRémi Verschelde
2022-02-05Merge pull request #56943 from V-Sekai/override-importRémi Verschelde
Make add_importer and add_post_importer_plugin override existing importers.
2022-02-05Merge pull request #57646 from Faless/mp/4.x_interfacesRémi Verschelde
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05Merge pull request #57657 from lawnjelly/err_macros_flushRémi Verschelde
Add fflush to error macros
2022-02-05Add fflush to error macroslawnjelly
CRASH_NOW macros would previously crash before outputting any error messages. This PR ensures calling fflush for stdout before terminating.
2022-02-05Remove RID_Owner.get_rid_by_indexreduz
* Implementing this function efficiently is not really possible. * Replaced by an option to get all RIDs into a buffer for performance.
2022-02-05Merge pull request #49775 from fire/faster-cvttRémi Verschelde
Faster CVTT by lowering default quality
2022-02-05Merge pull request #57620 from Haydoggo/expression-exp-fixRémi Verschelde
Fix Expression's parsing of positive exponent literals
2022-02-05Make parser treat all exponent literals as floatHayden
2022-02-05[Net] Fix bogus FileAccessNetwork deconstructor.Fabio Alessandrelli
Now correctly erases old instances. The code will likely need overhaul anyway to be usable. It doesn't apply to editor runs, there's a bunch of inconsistencies on how to clients are handled, and I don't really understand why multiple instances are created for a single client/server.
2022-02-05[Net] Move RPC, Node cache out of MultiplayerAPI.Fabio Alessandrelli
Now uses two interfaces so it can be overridden in the future, and core no longer depends on Node. The interfaces are implements in scene/multiplayer. Replaces root_node with root_path. Remove all Node references from MultiplayerAPI.
2022-02-04Faster CVTT by reducing quality.K. S. Ernest (iFire) Lee
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04Merge pull request #55950 from Faless/mp/4.x_replication_nodesRémi Verschelde
2022-02-04Merge pull request #57623 from akien-mga/core-math-struct-em-allRémi Verschelde
2022-02-04Core: Make all Variant math types structsRémi Verschelde
Some were declared as structs (public by default) and others as classes (private by default) but in practice all these math types exposed as Variants are all 100% public.
2022-02-04Core: Move Vector2i to its own `vector2i.h` headerRémi Verschelde
Also reduce interdependencies and clean up a bit.