Commit Graph

44 Commits

Author SHA1 Message Date
91e598aa7b Ported: SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.
- akien-mga
b0b759e6da
2022-12-22 17:42:54 +01:00
bruvzg
84e3dbd406 Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing.
(cherry picked from commit d99c32668a55ec56442f01e51f698a0cedb96bff)
2022-12-12 12:19:44 +01:00
Pedro J. Estébanez
53a2098620 Fix newlines not honored in Windows console
This is relevant when building with `windows_subsystem=console`.

(cherry picked from commit e14c5186e25020a3759f7e444eba00fb3aa82bb3)
2022-11-30 19:25:59 +01:00
bruvzg
f4d5d82a99 Windows icon export improvements.
Regenerate Windows icon on export to ensure correct icon size order.
Add support for using PNG/WebP/SVG files as an icon for Windows exports.
Allow using WebP/SVG files as icon for macOS exports.
Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-30 14:38:28 +01:00
47ee4c6415 Clean up exception ahndling and rtti flags for msvc. 2022-10-09 10:41:24 +02:00
bruvzg
3c49c13d1a Fix WM_CHAR processing code using Unicode char instead of Virtual key. 2022-10-08 17:00:48 +02:00
Hugo Locurcio
2d2615e0ea Enable ANSI escape code processing on Windows 10 and later
This lets the engine and projects use the same color codes
in the terminal on all platforms.
2022-10-08 16:50:02 +02:00
bruvzg
160462c57b Simplify code signing options, add support for rcodesign tool for signing and notarization. 2022-10-08 16:37:21 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
Rémi Verschelde
c708c44180 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.

Also add `linker` option to `server` platform missed in #63283.

Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-16 22:54:09 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
56f71c7275 Ported: Refactor the export checking logic to improve separation of concerns - m4gr3d
d2213f76a9
2022-08-19 12:08:35 +02:00
99e94b08c4 Moved base input related classes to core/input. 2022-08-17 17:02:24 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
4204828965 Ported: Improve some export error messages. - bruvzg
e0101e511c
2022-08-02 18:01:58 +02:00
Kevin Smith
3f1e2ac44d Use bigobj for release MSVC builds
Previously it was used only on debug builds, but recent
additions to variant_call.cpp have made that unit too
large even in release_debug.

It was originally set to debug only because using it
breaks mingw, so this only reinstates it for MSVC where
it shouldn't have any drawbacks (famous last words).

Test-Information:
Builds for me with
scons -j 40 platform=windows target=release_debug
and my game then runs from it.

(cherry picked from commit d8900e0020b21d449069ef2a301253371fb70a21)
2022-07-29 23:21:04 +02:00
bruvzg
f8be7dd320 Improve OS.set_current_screen
Fix moving fullscreen windows on macOS and Windows
Fix window position on Linux/X11
2022-07-29 21:58:20 +02:00
e7100658d4 Ported: Fix exit code of --help and --version, and test them in CI
Corrects prior regression which caused ERROR output and exit code of 1. - Bromeon
861e155543
2022-07-29 21:45:04 +02:00
88fe196e79 Ported: [3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event.
- hansemro
193d5c11f3
2022-07-29 20:31:16 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
bruvzg
780e820b67 Remove cached icon earlier, to prevent double free crash on exit. 2022-07-27 23:41:19 +02:00
Haoyu Qiu
8790700593 Try to convert OS::execute() output to Unicode on Windows
(cherry picked from commit a71e8081124eaf4eac6059bfeb3550a400bc2002)
2022-07-27 18:41:55 +02:00
bruvzg
e7f9cc8db3 Save and re-apply window icon when changing window style.
(cherry picked from commit b268c4b4bc8a1c246984249b2ce88277df47fe78)
2022-07-27 18:41:32 +02:00
850a84584d ported: Add OS::is_process_running function.
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function. - mdavisprog
53fb0440d3
I did change it a bit.
2022-07-27 14:46:53 +02:00
Rémi Verschelde
4ca6458457 Crash handler: Use print_error to include backtrace in logs 2022-07-27 14:25:16 +02:00
bruvzg
127060d953 Fix export plugins after embedded PCK loading changes. 2022-07-27 14:10:05 +02:00
b26a1cd3b4 Ported: [3.x] Improve embedded PCK loading and exporting. - bruvzg
bea7c9be5d
2022-07-27 09:33:39 +02:00
Lyuma
3554a0aa81 Keep editor at normal priority on windows.
The multithreaded importer often causes system-wide hangs when importing more than 20 files at a time.
Running the editor at normal priority allows other applications on the system to be responsive during long imports.

(cherry picked from commit ee02a7f785b672304346028bc500949050432fa5)
2022-07-26 11:49:59 +02:00
C.Even
b3761f4973 Retrieve primary monitor size in fullscreen mode
* Fixes #21674
2022-07-25 18:16:31 +02:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
40b60f3c86 Backported: - Fix DST Error on Windows (cherry picked from commit 4802f15) - ztc0611 (658877c350) 2022-03-20 19:00:38 +01:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
9fd8fc6eed Same change to classes under platform. 2022-03-17 22:38:14 +01:00
3965d70ac5 Moved more includes to cpp files. 2022-03-17 19:35:23 +01:00
257f1f6175 Fix typo and missing include in the windows and oxs backends. 2022-03-16 09:09:42 +01:00
00285e8b24 Removed the gles3 driver. There are still mentions of it in a few places, I did not removed all of those. 2022-03-15 17:01:21 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00