Commit graph

26830 commits

Author SHA1 Message Date
Rémi Verschelde
2f237d181b
Merge pull request #36515 from reduz/packed-array-64-bits
Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
2020-02-25 15:27:09 +01:00
Rémi Verschelde
b8f0da7bed
Merge pull request #36529 from akien-mga/expression-int64
Expression: Fix parsing integers as 32-bit
2020-02-25 14:35:52 +01:00
Rémi Verschelde
fe1dfb5fb7
Merge pull request #36481 from nekomatata/fix-crash-connect-callable
Fixed crash when connecting a signal in GDScript
2020-02-25 13:26:08 +01:00
Rémi Verschelde
ceba2b6761 Expression: Fix parsing integers as 32-bit 2020-02-25 13:20:04 +01:00
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Rémi Verschelde
376a8255a9
Merge pull request #36513 from Calinou/editor-icons-pascalcase-filenames
Use PascalCase file names for editor icons
2020-02-25 11:26:44 +01:00
Rémi Verschelde
c19488bd89
Merge pull request #36527 from akien-mga/travis-python-3.8
Travis: Use Python 3.8 alias instead of specific version
2020-02-25 10:46:29 +01:00
Rémi Verschelde
c418966623 Travis: Use Python 3.8 alias instead of specific version
Otherwise it breaks when they update the container to a new version,
like they did today with 3.7.6.
2020-02-25 10:30:51 +01:00
Rémi Verschelde
2ca5f22bce
Merge pull request #36525 from nathanwfranke/fix-project-godot-class-name
Fix project.godot for projects with class_name
2020-02-25 08:29:39 +01:00
Rémi Verschelde
a4125bbe2f
Merge pull request #36502 from nathanwfranke/re-remove-invalid-signal-connect
Re-Remove this signal call that was mistakenly added in #36244
2020-02-25 08:28:32 +01:00
nathanwfranke
1569c47c1a Fix project.godot for projects with class_name
Fixes #36438
2020-02-24 21:28:14 -06:00
Hugo Locurcio
1f8c82df32
Use PascalCase file names for editor icons
Using PascalCase file names without any conversion step is
less confusing to new contributors.
2020-02-24 18:53:05 +01:00
Rémi Verschelde
5e181ac9f1
Merge pull request #36506 from kuruk-mm/marshall_to_object
Core: Change _Marshall class from inherit Reference to Object
2020-02-24 14:58:18 +01:00
Mateo Dev .59
9e8e5ebdc7 Core: Change _Marshall class inherit from Reference to Object 2020-02-24 10:45:19 -03:00
Rémi Verschelde
9e4d11d10d
Merge pull request #36503 from Redwan13/mac_os_build_fix
Scons: fixed build for vanilla clang in mac os x
2020-02-24 10:35:17 +01:00
Nickolai Korshunov
c491232ae2 Scons: fixed build for vanilla clang in mac os x 2020-02-24 12:19:41 +03:00
nathanwfranke
e0bb28c624 Remove this signal call that was mistakenly added in #36244
The original change was in #36340
2020-02-24 02:38:27 -06:00
Rémi Verschelde
128a55a597
Merge pull request #36494 from akien-mga/callable-fixes
Fix some signals and non-debug branch for callable_mp
2020-02-24 08:00:23 +01:00
Rémi Verschelde
49118315ba
Merge pull request #36489 from YeldhamDev/more_icons
Add icons for some new variants
2020-02-24 00:19:58 +01:00
Rémi Verschelde
b9757545ca
Merge pull request #36488 from Chaosus/capsule_y
Changed default capsule axis to vertical
2020-02-24 00:19:21 +01:00
Rémi Verschelde
15e6a82faf Signals: Fix invalid connections to missing callbacks
These bugs existed since those lines were added, so I assume that
their intended use is no longer relevant.
2020-02-23 23:48:44 +01:00
Rémi Verschelde
220c8e8344 callable_mp: Fix non-debug branch
Was missed in #36393 because no `callable_mp()` calls were actually
compiled with `tools=no` in that PR.

Also work around GCC warning that also affects the
`call_with_variant_args_ret_helper` variant.
2020-02-23 23:48:44 +01:00
Rémi Verschelde
65429f11a6 Signals: Make callbacks non-const, callable_mp can't handle it 2020-02-23 23:48:44 +01:00
Rémi Verschelde
4b6c0560da
Merge pull request #36492 from reduz/variant-vector-refcounted
Store arrays inside of Variant as shared.
2020-02-23 23:44:09 +01:00
Juan Linietsky
88f84c78ca Store arrays inside of Variant as shared.
Arrays inside of Variant are unique and use reference counting.
When you assign a variant containing a packed array to another, or
when you call non const functions to arrays, this will work even
if the array is inside a dictionary, so they will from now pass
as reference.

The difference with regular variant arrays is that, once passed
to a function in the C++ API, they are no longer shared. This is
required for security and thread safety, as those arrays are
mainly used to pass data back and forth even between threads.
2020-02-23 22:42:26 +01:00
Rémi Verschelde
194fd2d5a5
Merge pull request #36089 from dreamsComeTrue/fix-autocomplete-quotes
Fix: auto brace complete for quoted strings
2020-02-23 22:13:27 +01:00
Rémi Verschelde
bd76ca01d4
Merge pull request #36485 from ofrank123/master
Fix crash after closing a GDScript LSP session
2020-02-23 21:42:31 +01:00
Rémi Verschelde
c3dc5fe12f
Merge pull request #36484 from akien-mga/scons-compiler-version-check
SCons: Add GCC/Clang minimum version check
2020-02-23 21:34:45 +01:00
Yuri Roubinsky
3b0638fe1c Changed default capsule axis to vertical
Co-authored-by: Hugo Locurcio <https://hugo.pro>
2020-02-23 23:18:01 +03:00
Rémi Verschelde
214d852ffd SCons: Add GCC/Clang minimum version check
Prevent using GCC 8 as it does not properly support C++17's
guaranteed copy elision which we now need.
(Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521)

Follow-up to #36457 and #36436.
2020-02-23 21:13:29 +01:00
Michael Alexsander
f8c1bafc40 Add icons for some new variants 2020-02-23 16:48:19 -03:00
Oliver Frank
ed482f6167 Fix crash after closing a GDScript LSP session 2020-02-23 19:25:41 +00:00
Rémi Verschelde
a920f9727a
Merge pull request #36482 from Faless/debugger/fix_bp_cmp
Fix Breakpoint compare in new Debugger.
2020-02-23 14:34:40 +01:00
Fabio Alessandrelli
f72905aa29 Fix Breakpoint compare in new Debugger.
Only used to keep the hashmap, but clearly bogus.
2020-02-23 14:15:22 +01:00
Rémi Verschelde
223c5ef8a3
Merge pull request #36478 from qarmin/supsicious_operators_everywhere
Fix suspicious | and + operators
2020-02-23 10:30:06 +01:00
PouleyKetchoupp
a5505ce643 Fixed crash when connecting a signal in GDScript 2020-02-23 10:06:13 +01:00
Rafał Mikrut
d0621b954b Fix suspicious | and + operators 2020-02-23 09:28:54 +01:00
Rémi Verschelde
c9e1d98c62
Merge pull request #36411 from Janglee123/rect2-tween
Added tween support for Rect2
2020-02-23 08:46:48 +01:00
Rémi Verschelde
bd10c70458
Merge pull request #36461 from akien-mga/c++17-fallthrough-attribute
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
2020-02-23 08:43:18 +01:00
janglee
4bbe87abb7 Added tween support for Rect2
Fixes #34575
2020-02-23 07:21:04 +05:30
Rémi Verschelde
63b0d822d1
Merge pull request #36436 from reduz/new-variant-types
Add support for Vector2i, Rect2i and Vector3i to Variant
2020-02-23 01:38:23 +01:00
Rémi Verschelde
2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky
6da0eef9e6 Add support for Vector2i, Rect2i and Vector3i to Variant
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous
operator problems in Variant.

This was added for this commit (and future C++17 uses) in #36457.
2020-02-22 23:16:44 +01:00
Rémi Verschelde
f2d8c4eb8b
Merge pull request #36465 from YeldhamDev/debugger_top_margin
Remove extra margin in the top of the debugger
2020-02-22 23:16:27 +01:00
Rémi Verschelde
a7891b9d12
Merge pull request #36463 from akien-mga/scons-msvc-c++17-cxxflags
SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
2020-02-22 23:13:40 +01:00
Rémi Verschelde
5ee50db3f3
Merge pull request #36464 from akien-mga/travis-macos-xcode-11.3-c++17
Travis: Use Xcode 11.3 for macOS/iOS
2020-02-22 23:13:18 +01:00
Michael Alexsander
5c5a2b7472 Remove extra margin in the top of the debugger 2020-02-22 18:41:22 -03:00
Rémi Verschelde
a92e2eb317 Travis: Use Xcode 11.3 for macOS/iOS
Xcode 10+ is needed for exhaustive C++17 support (gnu++17).

11.3 is the latest available version on Travis, and we don't have a
specific reason not to use it.

Follow-up to #36457.
2020-02-22 22:31:29 +01:00
Rémi Verschelde
17a81cffb2 SCons: Ensure that MSVC gets /std:c++17 in CCFLAGS
We were running this logic too early, so `env.msvc` was not initialized
yet and MSVC used the same branch as GCC/Clang.
2020-02-22 22:07:08 +01:00
Rémi Verschelde
9a55f1564c
Merge pull request #36457 from akien-mga/c++-standard-gnu++17
SCons: Bump required C++ standard to C++17
2020-02-22 20:38:28 +01:00