summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2020-07-14Merge pull request #40354 from bruvzg/add_vulkan_init_messageRémi Verschelde
Display error popup instead of crashing if Vulkan init failed.
2020-07-13Commit other files changed by file_format.shAaron Franke
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.
2020-07-10Add override keywords.Marcel Admiraal
2020-07-10Merge pull request #40121 from Calinou/enable-file-loggingRémi Verschelde
Enable file logging by default on desktops to help with troubleshooting
2020-07-09Keep debug & verbose options after loading project from project managerPouleyKetchoupp
2020-07-08Enable file logging by default on desktops to help with troubleshootingHugo Locurcio
- Use the `.log` file extension (recognized on Windows out of the box) to better hint that generated files are logs. Some editors provide dedicated syntax highlighting for those files. - Use an underscore to separate the basename from the date and the date from the time in log filenames. This makes the filename easier to read. - Keep only 5 log files by default to decrease disk usage in case messages are spammed.
2020-07-06Add a map of autoloads to ProjectSettingsGeorge Marques
So places that need to look into it can use the list instead of parsing ProjectSettings details (like checking "*" in path for testing if it's singleton).
2020-07-05Fix string test code for MinGWAaron Franke
2020-07-04Merge pull request #40092 from hinlopen/remove-find-lastRémi Verschelde
Remove String::find_last (same as rfind)
2020-07-03Remove String::find_last (same as rfind)Stijn Hinlopen
2020-07-02Fix content scale mode, closes #37941Juan Linietsky
2020-07-01Merge pull request #38713 from aaronfranke/string-64bitRémi Verschelde
Make all String integer conversion methods be 64-bit
2020-07-01Merge pull request #36885 from Xrayez/doctool-err-msgRémi Verschelde
Fix doctool misleading error message
2020-06-30Move frame delaying functions from Main to OS.Fabio Alessandrelli
Will allow specific platforms to override it and avoid blocking on the main/GUI thread.
2020-06-29Added Custom Performance Monitor and feature to read intermediate values of ↵simpu
Monitor Custom monitors can be added/removed/checked using `Performance.add_custom_monitor`/`Performance.remove_custom_monitor`/`Performance.has_custom_monitor` The value can be viewed in the `Monitor` tab of Debugger. Text before `/` is used to categorize the custom monitor. `EditorPerformanceProfiler` class is created to separate logic from `ScriptEditorDebugger` User can click on the graph of monitors to read the value at that point. Graph includes intermediate base lines.
2020-06-25Style: Fix copyright headersRémi Verschelde
2020-06-24Merge pull request #36052 from Calinou/improve-low-processor-sleepRémi Verschelde
Improve the low processor mode sleep precision
2020-06-24Main::cleanup: Move MessageQueue deletion further down where it's saferRémi Verschelde
Partial revert of #15702 which triggered the issue. Fixes #39786.
2020-06-18Mono: Always define options in main.cpp to keep them in docsRémi Verschelde
Otherwise generating docs with non-Mono builds removes them, which is not so convenient for the documentation work.
2020-06-16Merge pull request #39541 from Ev1lbl0w/feature/disable-renderingRémi Verschelde
Expose disable_render_loop property to GDScript
2020-06-16Expose disable_render_loop property to GDScriptEv1lbl0w
2020-06-16Add a suffix to the window title when running from a debug buildHugo Locurcio
Since projects started from the editor or exported in debug mode run slower than those exported in release mode, this should be clearly presented to the user. This partially addresses #20219.
2020-06-15Merge pull request #39483 from AndreaCatania/eulerRémi Verschelde
Added more euler rotation orders support.
2020-06-15Improve the low processor mode sleep precisionHugo Locurcio
The Low Processor Usage Mode Sleep Usec setting is now used as a FPS limiter rather than a constant sleep duration. This will increase CPU/GPU usage slightly due to the higher effective FPS, but the increase in overall smoothness is worth it. If both Force Fps and Low Processor Usage Mode settings are enabled in the project settings, only the setting that causes the highest sleep duration will be retained. This closes #11030.
2020-06-15Main: Ensure existing of user data dir in `setup()`Rémi Verschelde
When it was in `setup2()`, it would arrive too late for the optional file logging feature. Fixes #32488.
2020-06-12- Added more euler rotation orders support.Andrea Catania
- Fixed floating point issue on the old one. - Fixed the equation on the get_euler_yxz function. - Added unit tests. This work has been kindly sponsored by IMVU.
2020-06-03Remove 32-bit String to_int methodAaron Franke
2020-05-29Merge pull request #39051 from Xrayez/geometry-splitRémi Verschelde
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-26Merge pull request #28289 from aaronfranke/gridRémi Verschelde
Dynamic infinite 3D grid
2020-05-25Add `custom_modules` build option to compile external user modulesAndrii Doroshenko (Xrayez)
This patch adds ability to include external, user-defined C++ modules to be compiled as part of Godot via `custom_modules` build option which can be passed to `scons`. ``` scons platform=x11 tools=yes custom_modules="../project/modules" ``` Features: - detects all available modules under `custom_modules` directory the same way as it does for built-in modules (not recursive); - works with both relative and absolute paths on the filesystem; - multiple search paths can be specified as a comma-separated list. Module custom documentation and editor icons collection and generation process is adapted to work with absolute paths needed by such modules. Also fixed doctool bug mixing absolute and relative paths respectively. Implementation details: - `env.module_list` is a dictionary now, which holds both module name as key and either a relative or absolute path to a module as a value. - `methods.detect_modules` is run twice: once for built-in modules, and second for external modules, all combined later. - `methods.detect_modules` was not doing what it says on the tin. It is split into `detect_modules` which collects a list of available modules and `write_modules` which generates `register_types` sources for each. - whether a module is built-in or external is distinguished by relative or absolute paths respectively. `custom_modules` scons converter ensures that the path is absolute even if relative path is supplied, including expanding user paths and symbolic links. - treats the parent directory as if it was Godot's base directory, so that there's no need to change include paths in cases where custom modules are included as dependencies in other modules.
2020-05-25Merge pull request #38887 from AndreaCatania/oahash_impRémi Verschelde
OAHashMap crash fix and copy feature.
2020-05-25- Make sure it's impossible to initialize an OAHashMap with 0 capacity ↵Andrea Catania
(would cause division by 0) - Added possibility to copy an OAHashMap - Added unit tests This code is generously donated by IMVU.
2020-05-22Dynamic infinite 3D gridAaron Franke
Well, infinite for all intents and purposes.
2020-05-22Merge pull request #38942 from neikeq/hinjaku-hinjakuRémi Verschelde
Fix editor ignoring 'single_window_mode' with no main scene
2020-05-22Fix editor ignoring 'single_window_mode' with no main sceneIgnacio Etcheverry
Previously the editor would ignore the 'single_window_mode' editor setting if the edited project didn't have a main scene configured in the project settings.
2020-05-22Fix condition in ClassDB tests that should returnIgnacio Etcheverry
Also changed the name of the test macros to be clearer.
2020-05-20Merge pull request #38874 from bruvzg/tab_drv_sel_40Rémi Verschelde
[Windows] Add tablet driver selection.
2020-05-20Merge pull request #38515 from Calinou/cli-scene-allow-res-tresRémi Verschelde
Allow `.res` and `.tres` extensions in the scene CLI positional argument
2020-05-20[Windows] Add tablet driver selection.bruvzg
2020-05-18Merge pull request #38723 from neikeq/initial-classdb-testRémi Verschelde
Added tests for ClassDB
2020-05-18Fix leaks and crashes in OAHashMapPedro J. Estébanez
This changes the way the lifespan of items is managed to be consistent. Bonus: Simplify cases of destroy-then-emplace.
2020-05-16Added tests for ClassDBIgnacio Etcheverry
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Remove redundant void argument listsRémi Verschelde
Using clang-tidy's `modernize-redundant-void-arg`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14Modernize remaining uses of 0/NULL instead of nullptr (C++11)Rémi Verschelde
Using clang-tidy's `modernize-use-nullptr`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.