Commit Graph

2540 Commits

Author SHA1 Message Date
Rémi Verschelde c2a669a9f0 SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGS
Many contributors (me included) did not fully understand what CCFLAGS,
CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them
in the way they are intended to be.

As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html

- CCFLAGS: General options that are passed to the C and C++ compilers.
- CFLAGS: General options that are passed to the C compiler (C only;
  not C++).
- CXXFLAGS: General options that are passed to the C++ compiler. By
  default, this includes the value of $CCFLAGS, so that setting
  $CCFLAGS affects both C and C++ compilation.
- CPPFLAGS: User-specified C preprocessor options. These will be
  included in any command that uses the C preprocessor, including not
  just compilation of C and C++ source files [...], but also [...]
  Fortran [...] and [...] assembly language source file[s].

TL;DR: Compiler options go to CCFLAGS, unless they must be restricted
to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to
CPPFLAGS.
2019-04-24 16:57:58 +02:00
Rémi Verschelde c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Juan Linietsky a20235aeb0 Add ability to edit editor feature profiles
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
Rémi Verschelde 918de768a5
Merge pull request #27711 from neikeq/ifdef-clang-tidy
Replace a few #if/#elif with #ifdef and "#elif defined"
2019-04-08 12:24:30 +02:00
Rémi Verschelde 3cf2bdbd84
Merge pull request #27506 from Chaosus/astar
Added functions to AStar for disable/enable points to effectivly create obstacles
2019-04-08 12:19:51 +02:00
Rémi Verschelde 7f3373d79f
Merge pull request #27452 from Chaosus/direction_to
Added method to retrieve a direction vector from one point to another
2019-04-08 12:00:54 +02:00
Rémi Verschelde a994db62df
Merge pull request #27644 from lupoDharkael/bus
Allow default audio bus layout modification
2019-04-08 11:06:35 +02:00
Rémi Verschelde 1ca555f1fb
Merge pull request #26760 from Xrayez/26744-fix-string-to-lower
Reorder reverse caps characters table for string lower case conversion
2019-04-08 10:48:15 +02:00
Rémi Verschelde d211aff777
Merge pull request #27231 from Chaosus/smoothstep
Added smoothstep built-in function
2019-04-08 10:03:42 +02:00
Chaosus cc71fb2308 Added functions to AStar for disable/enable points 2019-04-08 09:28:03 +03:00
Juan Linietsky cd4449e7ab Add FileAccess::set_unix_permissions for Unix platforms 2019-04-07 15:45:30 -03:00
Hein-Pieter van Braam f2d3d3e679
Merge pull request #24269 from xsellier/feature/master-add-sha256
Add SHA256 for PoolByteArray
2019-04-23 06:38:03 +03:00
Hein-Pieter van Braam 5d33f241f0
Merge pull request #26064 from JFonS/add_frustum_camera_mode
Add FRUSTUM camera mode, allowing tilted frustums
2019-04-23 06:20:13 +03:00
Ibrahn Sahir 9d0b3b300c fixed an access after free in OS_X11::set_context.
Added constructor and assignment operator for CharString
from const char* to simplify memory management when working with
utf8/ascii strings for APIs taking char*.
Reworked OS_X11::set_context to use CharString and avoid some manual
memory management.
2019-04-22 13:34:17 +01:00
Rémi Verschelde 05dda9f87c
Merge pull request #26787 from ptrojahn/utf8assign
Support UTF-8 input action names
2019-04-22 12:02:05 +02:00
Rémi Verschelde 3610b4fd77
Merge pull request #28179 from neikeq/welp
Use StringBuilder in C# bindings generator
2019-04-22 11:52:30 +02:00
Rémi Verschelde c66ed35004
Merge pull request #27376 from follower/patch-1
Typo fix: "the function exists" -> "the function exits"
2019-04-21 20:16:56 +02:00
Hein-Pieter van Braam bc7178422e
Merge pull request #28217 from hpvb/fix-28089
Don't crash on printing nested types
2019-04-21 00:46:07 +03:00
Fabio Alessandrelli 175942dcd1
Merge pull request #24951 from Mr-Slurpy/local-rpc-sender-id-fix
Sender network id is now set to local network id for local rpc calls.
2019-04-20 13:39:05 +02:00
Rémi Verschelde b3d2584960
Merge pull request #28210 from hpvb/fix-28134
Object::script may not be a valid Ref<Script>
2019-04-20 10:25:39 +02:00
Hein-Pieter van Braam-Stewart 20b0046945 Object::script may not be a valid Ref<Script>
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
2019-04-20 02:13:28 +02:00
Hein-Pieter van Braam-Stewart 8b1e297fc6 Don't crash on printing nested types
When adding an Array or Dictionary to itself operator String() got in an
infinite loop. This commit adds a stack to operator String() (Through
the use of a new 'stringify method'). This stack keeps track of all
unique Arrays and Dictionaries it has seen. When a duplicate is found
only a static string is printed '[...]' or '{...}'.

This mirror Python's behavior in a similar case.
2019-04-20 02:01:55 +02:00
Juan Linietsky 04847ef5f9 Added ability for multiple images to be imported as an atlas
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Ignacio Etcheverry f64aa02933 Use StringBuilder in C# bindings generator
- Also fixed generation of empty summary comments when no comment should have been generated.
2019-04-19 02:11:39 +02:00
Rémi Verschelde 20265879e2 Compression: Set Zstd max window size via public parameter
`ZSTD_DCtx_setMaxWindowSize` is still part of the experimental API
(thus unexposed in the shared library). Upstream examples seem to
use `ZSTD_d_windowLogSize` instead, so it's probably what we should
use too.

Fixes #17374.
Distro packagers can now unbundle Zstd.
2019-04-18 13:47:42 +02:00
Daniel Eliasinski 0606062268 Sender network id is now set to local network id for local rpc calls. 2019-04-16 21:53:09 -04:00
Rémi Verschelde 4f81945fed
Merge pull request #28052 from muiroc/settings_decodes_objects
Enable object decoding when serializing binary project settings
2019-04-16 10:33:34 +02:00
Guilherme Felipe 1bae73d7d0 Add Input::get_current_cursor_shape
[Clean up] Removed unused/unnecessary methods.
2019-04-15 15:22:09 -03:00
muiroc 1f54b11da6 Enable object decoding when serializing binary project settings 2019-04-15 15:30:54 +02:00
Juan Linietsky c1dcdf6109 No more metadata and dependency indices kept in resources saved.
-Node folding is now saved externally together with the properties
-External resources remember their ID when scenes are saved.
2019-04-11 14:36:58 -03:00
Juan Linietsky e33764744c Added generator audio stream, and spectrum analyzer audio effect
Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.
2019-04-10 12:58:06 -03:00
Ignacio Roldán Etcheverry 9e326ce090
Merge pull request #27776 from neikeq/issue-27772
core_bind: Use the appropriate enum instead of int
2019-04-07 19:35:16 +02:00
Ignacio Etcheverry ebe2f4ea09 core_bind: Use the appropriate enum instead of int 2019-04-07 18:52:39 +02:00
Chaosus 514a3fb96a Added smoothstep built-in function 2019-04-07 14:11:26 +03:00
Yuri Roubinsky 134be5c728
Merge pull request #27043 from Chaosus/randfn
Added gaussian distribution function to RNG
2019-04-07 08:32:04 +03:00
Rémi Verschelde de825df121
Merge pull request #27733 from nekomatata/transform_flip_fix
Fixed Transform FLIP_Y and FLIP_Z set as identity transform
2019-04-06 21:13:48 +02:00
Rémi Verschelde 3b697ce8d5
Merge pull request #26486 from marxin/fix-Wdeprecated-copy
Fix new GCC 9 warnings: -Wdeprecated-copy.
2019-04-06 18:21:18 +02:00
PouleyKetchoupp 8828385792 Fixed Transform FLIP_Y and FLIP_Z set as identity transform 2019-04-06 17:40:15 +02:00
Ignacio Etcheverry 2f3328a039 Fix wrong method binds and registered class 2019-04-06 16:12:59 +02:00
Rémi Verschelde 34ea708596
Merge pull request #26699 from Schroedi/fix-line-circle-intersect
Fixes Geometry.segment_intersects_circle working only one way.
2019-04-06 12:42:16 +02:00
Ignacio Etcheverry ad2127a3e8 Replace a few #if/#elif with #ifdef and "#elif defined" 2019-04-05 23:41:51 +02:00
Rémi Verschelde cc349336e7 Revert "Properly explain RPC/RSET mode failure."
This reverts commit 95ad747dea.
It introduced regressions, see #27655.
2019-04-05 18:18:08 +02:00
lupoDharkael 650b698f51 Allow default audio bus layout modification 2019-04-05 17:19:25 +02:00
Rémi Verschelde a61ad365f5
Merge pull request #27677 from akien-mga/Wimplicit-fallthrough
Fix -Wimplicit-fallthrough warnings from GCC 8
2019-04-05 16:12:45 +02:00
Chaosus 55f3bd97a2 Added direction_to method to vectors 2019-04-05 17:09:57 +03:00
Rémi Verschelde fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
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.
2019-04-05 15:14:53 +02:00
Andrii Doroshenko (Xrayez) 34e6737413 Reorder reverse caps characters table for string lower case conversion
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>
2019-04-05 11:10:15 +03:00
qarmin 8460d0678c Small fixes to static analyzer bugs 2019-04-04 22:00:16 +02:00
Michael Alexsander Silva Dias e63e3875d7 Fix 'UndoRedo' increasing its version on actions that should be merged 2019-04-04 14:37:45 -03:00
Juan Linietsky a18989602b Clean up notifications and merge Node and MainLoop ones for clarity, closes #27614 2019-04-04 10:34:41 -03:00
Fabio Alessandrelli 95ad747dea Properly explain RPC/RSET mode failure.
_can_call_mode used to call is_network_master/get_network_master
internally.
This would reset any potential last error set via ERR_EXPLAIN,
preventing it from being displayed correctly.
_can_call_mode now expects the node master ID to be passed instead.
2019-04-03 21:55:42 +02:00
Rémi Verschelde 76cbe7a9ae
Merge pull request #27214 from marcelofg55/midi_note_off
Fix MIDI Note Off missing on some devices
2019-04-03 09:17:07 +02:00
Rémi Verschelde 25c1363a11
Merge pull request #27597 from marxin/fix-Wnon-virtual-dtor-warnings
Fix -Wnon-virtual-dtor warnings.
2019-04-02 18:25:02 +02:00
marxin e7f22ebdcd Enable warnings=extra on clang and GCC testers.
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
marxin f9f2413e69 Fix -Wnon-virtual-dtor warnings.
Example of the warning:
./core/script_language.h:198:7: warning: 'class ScriptCodeCompletionCache' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
2019-04-02 14:07:29 +02:00
Rémi Verschelde 29a1202d39
Merge pull request #27171 from Chaosus/randfix
Properly setup seed in RNG
2019-04-01 17:17:30 +02:00
Rémi Verschelde e3bd84fa57
Merge pull request #27485 from Faless/io/encode_decode_safety_pr
Safer encode/decode variant.
2019-04-01 17:00:40 +02:00
Juan Linietsky dee98d3b6d Some improvements to is_equal_approx, restored Quat operator. 2019-04-01 11:11:02 -03:00
Fabio Alessandrelli 393e62b98a Add object encoding param to serialization methods
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.

Break ABI compatibaility (API compatibility for GDNative).
2019-04-01 15:53:19 +02:00
Fabio Alessandrelli 53ab3a1ba9 Multiplayer API now respects allow_object_decoding
Add doc about allow_object_decoding in PacketPeer
2019-04-01 15:53:08 +02:00
Fabio Alessandrelli e61a074a8e Use same boolean for objects encode and decode.
In a very unintuitive move encode needed false to encode an object,
decode needed true to decode it.
They now need the same value: `true`.
2019-03-28 10:43:34 +01:00
Chaosus 6280be46a6 Properly setup seed in RNG 2019-03-27 19:37:25 +03:00
follower bab27547d3
Typo fix: "the function exists" -> "the function exits"
As far as I can tell, the intended word here is "exits" rather than "exists" but it's not 100% clear.

I'm assuming the intention is to express something along the lines of "An index has failed if m_index >=m_size; [if this happens then] the function exits."
2019-03-25 04:02:04 +13:00
lupoDharkael 6232e7eed3 Add missing methods to Rect2i
Replace inline with _FORCE_INLINE_ in short methods.
Remove unused and redundant method no_area() as we already have has_no_area().
Add grow_individual() grow_margin() and expand() to Rect2i.
2019-03-21 17:35:01 +01:00
Pedro J. Estébanez 9c3ddf05cb Revert accidental commits
This reverts commit fb37284c02.
This reverts commit 4db0f51b9a.
2019-03-20 21:43:55 +01:00
Pedro J. Estébanez 4db0f51b9a Create live view dock [wip] 2019-03-20 20:44:43 +01:00
Pedro J. Estébanez fb37284c02 Create class for shared memory blocks [wip] 2019-03-20 20:44:43 +01:00
Marcelo Fernandez ea0c398a19 Fix MIDI Note Off missing on some devices 2019-03-18 15:54:32 -03:00
Chaosus 5f137925dc Added normally distributed generation function to RNG 2019-03-17 08:09:46 +03:00
Rémi Verschelde aff3dd36ba
Merge pull request #25495 from IronicallySerious/fix-expand-macros
Fix parameterised macros in core. Addresses #25488
2019-03-16 11:20:52 -07:00
Rémi Verschelde bba854bac6
Merge pull request #26851 from RandomShaper/fix-26460-fake-event-flood
Fix fake null-motion mouse event flood
2019-03-09 22:40:53 +01:00
Pedro J. Estébanez f757460ec8 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.
2019-03-09 22:04:17 +01:00
Rémi Verschelde 0d728123c6
Merge pull request #26818 from vnen/class_name-inheritance
Allow class_name scripts to have nested inheritance
2019-03-09 14:27:43 +01:00
George Marques 25f9aee005
Allow class_name scripts to have nested inheritance 2019-03-09 00:47:27 -03:00
DESKTOP-3H3MR3A\eloisa b22cf46fdb Request Android record permission when needed 2019-03-08 12:38:36 -03:00
Paul Trojahn a7430a9d06 Support UTF-8 input action names
Fixes #26380
2019-03-08 12:27:14 +01:00
Rémi Verschelde 201cb8d7ed
Merge pull request #26745 from akien-mga/android-modules-def
Define android/modules globally so it appears in Project Settings
2019-03-07 23:06:05 +01:00
Rémi Verschelde bce56cf337 Fix -Wc++11-extensions warning after #26737
Fixes #26769.
2019-03-07 22:48:00 +01:00
Juan Linietsky 6cb841edcb Ensure ETC2 textures are ALSO compressed to Po2 when have mipmaps. Fixes #26733 2019-03-07 12:16:20 -03:00
Rémi Verschelde c74bf2e6b1 Define android/modules globally so it appears in Project Settings
Until now people had to add it manually to project.godot to load custom modules.
2019-03-07 11:25:58 +01:00
MidZik 4eccb58bc5 Fixed get_seed() not returning the correct seed. 2019-03-07 02:45:18 -06:00
Rémi Verschelde c67e9a4dd4
Merge pull request #26665 from bojidar-bg/19704-singleton-constants
Fix enums coming from other classes without preload
2019-03-06 18:20:48 +01:00
Juan Linietsky 9b5c6f539b Safer way to update animation if changed, fixes #26670 2019-03-06 10:22:38 -03:00
Christoph Schroeder dcbe55a1fa Fixes Geometry.segment_intersects_circle working only one way. 2019-03-06 12:28:54 +01:00
Luis Martinez 9e465c9fd0 Fixes stderr silence; adds missing quote from exe args(windows)
8d117b214f/core/bind/core_bind.cpp (L452)
This function calls the bottom function

8d117b214f/drivers/unix/os_unix.cpp (L312)

OS.execute doesn't send out a value to stderr, so stderr defaults to
false, which will invoke this bottom line and always silence stderr.

8d117b214f/drivers/unix/os_unix.cpp (L315)

Some programs, such as FFmpeg, will print out to stderr with valuable
and vital information. This fixes stderr always being silenced, user can
now opt to have it be read as normal.
2019-03-05 17:07:00 -06:00
marxin 64bce5a24b Use GCC builtins for bswap as compiler can then emit these via instructions.
Using current macros, one get for:

static inline int BSWAP32(int x) {
	return ((x << 24) | ((x << 8) & 0x00FF0000) | ((x >> 8) & 0x0000FF00) | (x >> 24));
}
int main(int argc, char **argv)
{
  return BSWAP32(argc);
}

main:
.LFB1:
	.cfi_startproc
	movl	%edi, %eax
	movl	%edi, %edx
	sarl	$24, %edx
	sall	$24, %eax
	orl	%edx, %eax
	movl	%edi, %edx
	sarl	$8, %edi
	sall	$8, %edx
	andl	$65280, %edi
	andl	$16711680, %edx
	orl	%edx, %eax
	orl	%edi, %eax
	ret

while using:

int main(int argc, char **argv)
{
  return __builtin_bswap32(argc);
}

one gets:

main:
.LFB0:
	.cfi_startproc
	movl	%edi, %eax
	bswap	%eax
	ret
2019-03-05 22:27:02 +01:00
Bojidar Marinov 9637e42705
Fix enums coming from other classes without preload
Fix #19704, fix #26001
2019-03-05 23:19:02 +02:00
Rémi Verschelde 45e7306b5a
Merge pull request #26629 from bojidar-bg/18386-object-callv-errors
Print errors comming from callv
2019-03-05 12:44:01 +01:00
Bojidar Marinov dadcb33302
Print errors comming from callv
Fixes #18386
2019-03-05 12:24:21 +02:00
Hein-Pieter van Braam 80618700ca
Merge pull request #26614 from MarianoGnu/tileset_editor
TileSet/TileMap: Decompose solid non-convex polygons into convexes.
2019-03-05 02:02:53 +01:00
Mariano Suligoy 078b869d9a TileSet/TileMap: Decompose solid non-convex polygons into convexes. Real fix for #24003 2019-03-04 21:03:10 -03:00
Juan Linietsky ffd44530fb Make sure ResurceLoader.exists works on imported files, fixes #23555 2019-03-04 21:01:21 -03:00
Juan Linietsky e653c79ef7 Better warnings when resources can't be saved. Fixes #26531 2019-03-04 11:06:49 -03:00
Rémi Verschelde b811207406 More style cleanup... 2019-03-04 10:11:29 +01:00
Juan Linietsky a1e73dcc94 Add support for event accumlation (off by default, on for editor), fixes #26536 2019-03-03 19:53:13 -03:00
Juan Linietsky a9fe834a8e
Merge pull request #26547 from vnen/gdscript-dependency-parse
Add a parse mode for GDScript which doesn't load dependencies
2019-03-03 18:00:12 -03:00
Juan Linietsky 8b4c4d9b2f Implement a more coherent (and way less hack) way to block animation updates, fixes #24618 2019-03-03 17:57:16 -03:00
Juan Linietsky ae886a6f32 Ability to keep pumping messages while being debugged, may be a solution for #21431 2019-03-03 17:12:19 -03:00
George Marques 4f0590338f
Add function to get String from FileAccess 2019-03-03 16:51:53 -03:00
Rémi Verschelde dd5376f9df
Merge pull request #25934 from mrcdk/pool_int_real_color_interpolate
Added PoolIntArray, PoolRealArray and PoolColorArray interpolate
2019-03-03 13:30:43 +01:00