summaryrefslogtreecommitdiff
path: root/core/config/engine.cpp
AgeCommit message (Collapse)Author
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-10-09Implement adjusting the maximum number of physics steps per rendered frameHugo Locurcio
When using high physics FPS (which is a requirement to minimize input lag and improve precision in simulation racing games), a higher value prevents the game from slowing down at low rendering FPS. This can be done via an Engine property for run-time changes, or a project setting for initial changes.
2022-10-03Rename `Engine.target_fps` and associated project setting to `max_fps`Hugo Locurcio
This makes the setting easier to find, as research has found there are numerous use cases to limiting FPS. This also improves documentation related to the Engine property and project setting. The project setting also works in projects exported in release mode, so its location in the `debug/` section was misleading.
2022-09-03Fix arm32 detection in Engine.Fabio Alessandrelli
The `__ARM_ARCH_7A__` and `__ARM_ARCH_7S__` are not enough, since they do not cover e.g. `__ARM_ARCH_8A__` in 32 bit mode, so instead of trying to cover any possible ARM version that can work in 32 bit mode, we can replace it with the `__arm__` macro which is defined for arm32 only (arm64 uses `__aarch64__`).
2022-08-27[Windows] Improve build environment detection, add support for Windows on ARM.bruvzg
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-19Add Startup benchmarking supportJuan Linietsky
This adds support for benchmarking engine startup (and editor startup if used). The goal is to use this in the benchmarking server to track improvements and changes to engine, editor, importer and scene loading startup times.
2022-08-08Print expected `os.arch` tuple for current platform in GDExtension errorHugo Locurcio
This also adds `Engine.get_architecture_name()` to get the name of the CPU architecture the Godot binary was built for.
2022-08-02Merge pull request #61315 from lawnjelly/variant_bucket_poolsRémi Verschelde
Variant memory pools
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-04Variant memory poolslawnjelly
Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
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-01-17Merge pull request #55020 from bruvzg/vlk_device_surface_checkRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-11-22[Vulkan] Check each device capabilities before selecting it.bruvzg
Split instance and physical device selection function and move device selection to window creation, to reject devices without present capability. Add device preferred type check in discrete > integrated > virtual > cpu > other order. Add device list printout. Add command line argument to override device selection.
2021-10-13Fix character encoding of Engine::get_copyright_infoNathan Franke
2021-08-25Add ability to register singletons from engine APIreduz
* Exposed functions in Engine to register and unregister singletons. * Added the concept of user singletons, which can be removed (the system ones can't).
2021-08-11Rename `iterations_per_second` to `physics_ticks_per_second`Hugo Locurcio
This makes it clearer that this property is only about physics FPS, not rendering FPS. The `physics_fps` project setting was also renamed to `physics_ticks_per_second` for consistency.
2021-08-09Use doubles for time in many other placesAaron Franke
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-06-25Implement native extension systemreduz
* Deprecates GDNative in favor of a simpler, lower level interface. * New extension system allows registering core engine classes. * Simple header interface in gdnative_interace.h
2021-06-20Merge pull request #48359 from Calinou/add-engine-print-error-propertyRémi Verschelde
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-01Add `Engine.print_error_messages` property to disable printing errorsHugo Locurcio
This can be used during unit test suite runs to hide error and warning messages. Care should be taken when using this feature, as it can hide important information if used wrongly.
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-11-23Make warning about Reference singletons more accuratePedro J. Estébanez
2020-11-19Warn about singleton being a ReferencePedro J. Estébanez
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code