Age | Commit message (Collapse) | Author |
|
Reorder reverse caps characters table for string lower case conversion
|
|
Fixes physic_fps=0 bug that prevented quit.
|
|
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.
The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.
Fixes #26135.
|
|
The binary search algorithm used to lookup character codes in the table
relies that the data must be ordered. This fixes `to_lower()` string
method to convert upper case to lower case properly, so that the
algorithm doesn't terminate prematurely.
Co-authored-by: AndreevAndrei (avandrei) <avandrei@MacBookAAV.local>
|
|
This reverts commit fb37284c027b494ed3ec21124001fcb729f42cc4.
This reverts commit 4db0f51b9aa76cfc7649787fe1970af606ce8dab.
|
|
|
|
Fixes #26789
|
|
Make the Tooltip Position Offset Configurable
|
|
Fix fake null-motion mouse event flood
|
|
This commit also improves a bit the code quality by making the intent of fake events (and themselves) more explicit.
Fixes #26460.
|
|
Added a condition to check if the loop exited without iteration
being run by checking the return value from idle().
Fixes: #26321
|
|
We need it in setup() already before initializing the renderer,
as it's used to force fallback to GLES2 if GLES3 fails.
Fixes #26806.
|
|
Improve/fix picking
|
|
Synced with gabomdq/SDL_GameControllerDB@4f9962c7b268e32fa9a2a96308cfdf66795e782a.
|
|
Acknowledge mouse button events as position tellers (to make picking more solid; for instance, the touch mouse is raised with a mouse unpressed event that may have a more current position)
Forget mouse position for physics if touch mouse raised (because the position known as last is no longer meaningful)
Remove needless check for mouse over/exit (now there's code to inject an spurious move for cases where camera/objects have moved)
Restrict 2D mouse over/exit to mouse events (including emulated from touch; true touches shouldn't trigger the signals)
Fixes #26460.
|
|
GLES2 is not designed to be a drop-in replacement for the GLES3 backend,
so the fallback mode has to be used knowingly. It *can* make sense for
simple projects which make sure to handle the differences between both
rendering backends, but most users should stick to one supported backend.
By making it opt-in, we can now use this parameter to define whether to
export ETC textures to Android and iOS when using GLES3 + Fallback.
When using GLES3 without Fallback on Android, set the proper min GLES
version in the AndroidManifest.
Also made the option boolean and renamed it for clarity and to avoid
conflict with the previous String option (which would always evaluate as
"true" otherwise).
Fixes #26569.
|
|
|
|
|
|
|
|
|
|
Fixes #25184.
|
|
|
|
This can happen when chaining calls to various string methods when the
string is empty.
|
|
Fixes #25316.
|
|
ProjectSettings: fix category for per pixel transparency settings
|
|
|
|
They had been reserved for future implementation, but we now have the
`match` CF keyword which does the same and more.
According to @reduz `do` was even added by mistake when copying from
the shader language parser, it was never intended to add support for
`do`... `while` loops, as the syntax would be awkward in GDScript,
and the added sugar is not worth it.
Fixes #25787.
|
|
|
|
Renamed:
- `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h`
(same for `coremidi` and `winmidi`)
- `main/timer_sync.h` -> `main_timer_sync.h`
- `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
|
|
Fix many asan and ubsan reported issues
|
|
Also drop empty "image" test, and print proper error when passing wrong
test name.
Fixes #25638.
|
|
The code already referred to "Basis", it's just the file name that was different for some reason.
|
|
This allows most demos to run without any ubsan or asan errors. There
are still some things in thirdpart/ and some things in AudioServer that
needs a look but this fixes a lot of issues. This should help debug less
obvious issues, hopefully.
This fixes #25217 and fixes #25218
|
|
|
|
not crash. Fixes #25272
Eventually some sort of main even queue should be implemented to do this properly.
|
|
|
|
Synced with gabomdq/SDL_GameControllerDB@c5af5d58f44e070b1fa127f70f38eeeaaaff12a3.
Closes #25138.
|
|
|
|
Fixes items 10, 16 and 19 from PVS-Studio blog post
in #24014.
|
|
It has a big impact on 2D and text rendering performance (cf. #24466)
so the solution seems worse than the bug it aims to work around.
It's now opt-in via "rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround"
for those who need it and have a simple enough game for the performance
drop not to be an issue.
Fixes #24466.
|
|
Background: lstrip and rstrip were broken by changes to String in:
0e29f7974b59e4440cf02e1388fb9d8ab2b5c5fd
which removed it's access to Vector::find(CharType).
Moved Vector's find up into CowData so it can be shared by Vector and String.
Added String::find_char using CowData::find.
Implemented rstrip and lstrip using find_char.
Added a few tests for String rstrip and lstrip.
|
|
|
|
As per the C++ standard 21.3.4.1 for std::string:
Returns: If pos < size(), returns data()[pos]. Otherwise, if pos ==
size(), the const version returns charT(). Otherwise, the behavior is
undefined.
Since the behavior is undefined Godot now does the same thing for const
and non-const versions of operator[].
This fixes #21242 and fixes #22221.
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
It used to be used for Android and iOS to specify platform-specific
project settings overrides, but we now have feature tags for that.
|
|
Fixes the following warnings in `p=server target=release_debug` builds
on Travis CI:
```
./core/os/memory.h: In function 'MainLoop* TestOAHashMap::test()':
./core/os/memory.h:108:111: warning: 'dummy' may be used uninitialized in this function [-Wmaybe-uninitialized]
#define memnew_placement(m_placement, m_class) _post_initialize(new (m_placement, sizeof(m_class), "") m_class)
^
main/tests/test_oa_hash_map.cpp:98:7: note: 'dummy' was declared here
int dummy;
^
scene/resources/bit_mask.cpp:447:3: warning: 'next_i' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/resources/bit_mask.cpp:448:4: warning: 'next_j' may be used uninitialized in this function [-Wmaybe-uninitialized]
```
|
|
Added basic support for custom resource savers and loaders
|
|
|
|
Fixes is_pressed when holding double click.
|