Age | Commit message (Collapse) | Author |
|
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
|
|
Add check for negative values.
Fixes #21721
|
|
Cursor hotspot must be inside image on Linux. Adding validation for all
platforms for consistency.
|
|
This adds a static is_viable() method to all rasterizers which has to be
called before initializing the rasterizer. This allows us to check what
rasterizer to use in OS::initialize together with the GL context
initialization.
This commit also adds a new project setting
"rendering/quality/driver/driver_fallback" which allows the creator of a
project to specify whether or not fallback to GLES2 is allowed. This
setting is ignored for the editor so the editor will always open even if
the project itself cannot run. This will hopefully reduce confusion for
users downloading projects from the internet.
We also no longer crash when GLES3 is not functioning on a platform.
This fixes #15324
|
|
Add OS::open_midi_inputs and OS::close_midi_inputs
|
|
|
|
Fixes file hints so the file dialog actually displays the files with given extension (e.g. *.apk).
|
|
|
|
Use it to provide a better example for application identifiers
on Android, iOS and macOS, where users thought they *had* to use
this as a magic token.
|
|
|
|
- Refactored all builder (make_*) functions into separate Python modules along to the build tree
- Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere
- Introduced stub to use the builders module as a stand alone script and invoke a selected function
There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp)
on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky
builds. Running all such content generators in a new subprocess instead of directly inside the
build script works around the issue.
Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle.
Suggested workaround did not fully work either.
Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of
running a cross-compilation on Windows they would still be used, but likely it will not happen
in practice. What counts is that the build itself is running on which platform, not the target
platform.
Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
|
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
|
|
Added a new MIDIDriver class
|
|
-Add extra flag optimize=[size,speed] to be able to prioritize size
|
|
|
|
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
|
|
|
|
|
|
|
|
|
|
This also removes `unix_global_settings_path` from SConstruct
since it is no longer used.
|
|
|
|
Add validation in set_custom_mouse_cursor
|
|
Check if the image is valid.
|
|
|
|
[x11] Preserve window size when calling this method.
[osx] Make sure it don't make the window resizable if it's not needed.
[windows] clean up the code.
|
|
Fix mouse confined and set_borderless_window
|
|
|
|
- Fix a bug when mouse is confined don't update the cursor shape.
- Don't let the mouse leave the window when resizing to a smaller
resolution when MOUSE_MODE_CONFINED.
- Fix set_borderless_window to preserve the actual video_mode.widht/height.
|
|
Catch NSException in macOS run loop to prevent crashs
|
|
|
|
Fix custom cursor disappearing on osx
|
|
|
|
|
|
|
|
Experimental support for windows with per-pixel transparency.
|
|
[Linux] Ensures that the custom cursor will be used when changing to
MOUSE_MODE_VISIBLE. Fix #3086
[Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN.
[Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
|
|
Windows).
|
|
|
|
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.
|
|
[macOS] Return exit code specified by `OS.exit_code` parameter.
|
|
|
|
|
|
|
|
This reverts commit e42576548f2c0ae2c6cb24ce2b0437ffb8978d65.
|
|
|
|
|
|
|
|
|