Commit Graph

3025 Commits

Author SHA1 Message Date
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
marxin 6be77da7eb Fix new GCC 9 warnings: -Wdeprecated-copy. 2019-03-02 14:37:02 +01:00
Hein-Pieter van Braam 33c6b0ec1a Scale quickhull tolerance with mesh size
Taken from three.js's implementation. Tested with a wide variety of
meshes.
2019-03-01 20:58:39 +00:00
Juan Linietsky 3f681b0681 Clean up blend shape support in GLES2 and GLES3. 2019-03-01 16:01:44 -03:00
Juan Linietsky a5370b1b1b -Fix problem of order of import plugins, closes #26340
-Ensure resource previewer does not start until first import is done
2019-02-27 14:11:17 -03:00
Rémi Verschelde 372152220b
Merge pull request #26159 from marxin/fix-Wsuggest-attribute=format
Fix -Wsuggest-attribute=format warnings.
2019-02-27 09:23:26 +01:00
Rémi Verschelde 426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01:00
Rémi Verschelde 0ba75c195e Fix GCC 5 build after #26331 and cleanup style
Also cleanup after 01a3dd3.
2019-02-27 09:01:24 +01:00
marxin e5f665c718 Fix -Wsign-compare warnings.
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
marxin aff84ec55d Fix -Wsuggest-attribute=format warnings. 2019-02-27 06:56:50 +01:00
Juan Linietsky f669ebeeaf -Properly handle missing ETC support on export
-Added ability for resource importers to save metadata
-Added ability for resource importers to validate depending on project settings
2019-02-26 18:45:06 -03:00
Juan Linietsky 5eeb06ffd1 -Remove harcoded opengl extension testing from OS, ask rasterizer instead.
-Fixed a bug where etc textures were imported broken
2019-02-26 11:58:47 -03:00
Juan Linietsky 3299045988 Remove setting that caused is_inside_tree() errors on doppler tracking enabled. 2019-02-26 09:16:23 -03:00
Juan Linietsky a32b26dfa2 Several fixes to make GLES2 on HTML5 work much better.
Changed math class error reporting to be a bit less paranoid.
2019-02-25 21:47:29 -03:00
Michael Alexsander Silva Dias dcf6c4a368 Revert "Fix 'UndoRedo's 'MERGE_ALL' mode repeating instructions when quickly commiting actions"
This reverts commit 79f1d8b4fb.
2019-02-25 14:09:33 -03:00
Chaosus bc4d781277 Fix wrapi to use int64_t instead int 2019-02-25 10:51:04 +03:00
Juan Linietsky 61b41d6001 Ensure all properties are refreshed when setting a script, fixes #24845 2019-02-24 10:50:43 -03:00
Juan Linietsky 3ea04c1366 Prevent circular references to scene being saved, fixes #24384 2019-02-24 10:48:38 -03:00
Rémi Verschelde 4ebb544ffa
Merge pull request #26171 from Calinou/fix-wrapi-crash
Fix crash when using `wrapi()` with a range of zero
2019-02-24 02:37:04 +01:00
Hugo Locurcio 18b90508a1
Fix crash when using `wrapi()` with a range of zero
`wrapi()` and `wrapf()` will now return the value of
the `min` parameter if the range is equal to zero.
2019-02-23 16:16:32 +01:00
Juan Linietsky 9d78274e06 Make allowed pid for window takeover happen immediately, fixes #21431 2019-02-23 12:09:35 -03:00
Hein-Pieter van Braam 4f49d09272 Don't crash when parse_utf8 receives a NULL pointer
This can happen when chaining calls to various string methods when the
string is empty.
2019-02-22 19:28:19 +01:00
Rémi Verschelde 7e69c160a4
Merge pull request #26129 from YeldhamDev/undoredo_merge_all_fix
Fix 'UndoRedo's 'MERGE_ALL' mode repeating instructions when quickly commiting actions
2019-02-22 09:57:23 +01:00
Rémi Verschelde 726f31e992
Merge pull request #26132 from marxin/fix-Wignored-qualifiers
Fix warnings seen with -Wignored-qualifiers.
2019-02-22 09:55:27 +01:00
Rémi Verschelde 60fe9321ac
Merge pull request #26099 from marxin/fix-Wtype-limits-warnings
Fix all -Wtype-limits warnings.
2019-02-22 09:44:59 +01:00
Juan Linietsky 8b231b96e3 Implement a cleaner (and better) way to save imagedata from ImageTexture, fixes #18801 2019-02-21 20:49:42 -03:00
marxin c11e7ffd0e Fix warnings seen with -Wignored-qualifiers. 2019-02-21 20:24:29 +01:00
Michael Alexsander Silva Dias 79f1d8b4fb Fix 'UndoRedo's 'MERGE_ALL' mode repeating instructions when quickly commiting actions
It seems that the merge operation validation is only useful to the 'MERGE_ENDS' mode, causing problems when in 'MERGE_ALL'.

Fixes #26118.
2019-02-21 15:36:45 -03:00
marxin 7de7f0ef17 Fix all -Wtype-limits warnings. 2019-02-21 19:34:35 +01:00
Rémi Verschelde b970c4187d
Merge pull request #26115 from WindyDarian/fix_dictionary_erase_returing_null
Fix return value for Dictionary.erase(key) in script
2019-02-21 13:54:34 +01:00
Windy Darian 7d4a653223 Fix return value for Dictionary.erase() 2019-02-21 18:52:29 +08:00
Rémi Verschelde b39e1df704 Fix VariantWriter overflow on 64-bit int
Integers in Godot are signed 64-bit ints (int64_t), but var2str used
int behind the scenes and would thus overflow after 2^31.

Also properly documented the actual bounds of int and the behaviour
when overflowing them.
2019-02-21 11:24:00 +01:00
marxin 8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Rémi Verschelde 132e2f458d
Merge pull request #26015 from hedin-hiervard/master
fixed AStar improper point deletion (leads to crash)
2019-02-20 18:20:23 +01:00
Rémi Verschelde 5023cc111b
Merge pull request #26095 from lupoDharkael/right-left
Fix wrong bounds check in String::right
2019-02-20 17:48:53 +01:00
hedin c496781bf6 fixed AStar improper point deletion (leads to crash) 2019-02-20 17:24:58 +01:00
lupoDharkael 597aac382b Fix wrong bounds check in String::right 2019-02-20 16:47:25 +01:00
Rémi Verschelde 75c89aaaef
Merge pull request #26069 from hpvb/align-variant
Align the Variant data member
2019-02-20 13:27:05 +01:00
Hein-Pieter van Braam b6b113cc2b Align the Variant data member
This should avoid potential alignment issues when _mem holds real
values and speed up some floating point operations in some cases.
2019-02-20 11:14:22 +00:00
Fabio Alessandrelli 0e5655694c Fix HTTPClient keep alive with chunked encoding.
We need to consume the trailer part and final CRLF after last chunk
as per RFC 7230 section 4.1:

```
chunked-body   = *chunk
                 last-chunk
                 trailer-part
                 CRLF
```

We do not return the trailer part, just consume it allowing following
requests to work as expected when using keep alive.
2019-02-20 05:13:51 +01:00
Fabio Alessandrelli 10e4821260 HTTPClient read until EOF fixes 2019-02-20 03:06:02 +01:00
JFonS 54b95b6c5a Add FRUSTUM camera mode, allowing tilted frustums
This new camera mode makes it easy to create tilted frustums for mirror
or portal effects.

This work was kindly sponsored by IMVU.
2019-02-19 17:48:08 +01:00
marxin 155cbe0b37 Fix warnings seen with warnings=all and recent GCC 8.2. 2019-02-18 21:54:31 +01:00
IronicallySerious 4121df235e Fix parameterised macros in core. Addresses #25488
This adds the saves the programmer of doing something like SWAP(x++, y--)
and getting the wrong result unless the parameters are evaluated
before use.
2019-02-18 22:08:42 +05:30
Rémi Verschelde 2e6501d879 Add hex-encoded version number to Engine singleton for easy comparisons 2019-02-17 13:38:52 +01:00
Rémi Verschelde f6fcbcfe9e
Merge pull request #25680 from Chaosus/random_fix
Fix random generation, to not always retrieve 0 after seed()
2019-02-16 23:24:02 +01:00
Rémi Verschelde 44d24e8b78
Merge pull request #25952 from pbrunet/fix/rand
Fix typo for randd and randf
2019-02-16 22:05:23 +01:00
Juan Linietsky 1f9c54bd55 Make resource loader cycle checker work on a per-thread basis.
This removes editor errors saying cycles existed when the thumbnailer was running.
2019-02-16 17:39:06 -03:00
Pierrick Brunet 3b6d05db3e Fix typo for randd and randf
* And improve documentation according to issue #25938
2019-02-16 21:05:18 +01:00
Rémi Verschelde ca5ec803fc
Merge pull request #25944 from Faless/net/http_editor_fixes
Fix keep-alive without header in HTTP client
2019-02-16 17:58:48 +01:00
Fabio Alessandrelli 673caa5f46 Fix keep-alive without header in HTTP client 2019-02-16 17:05:13 +01:00
Rémi Verschelde 7a79eee523 Expose OS::get_current_video_driver to scripting languages 2019-02-16 14:41:07 +01:00
Rémi Verschelde 29359c169b
Merge pull request #25924 from Calinou/add-gamepad-button-shortcut
Make Button shortcuts triggerable by gamepads
2019-02-16 14:17:26 +01:00
MrCdK 3441e2a96f Added PoolIntArray, PoolRealArray and PoolColorArray interpolate 2019-02-16 12:20:01 +01:00
Hein-Pieter van Braam 24e7a54cd0 Fix alignment and locking issues with CommandQueueMT
The allocations of commands in CommandQueueMT weren't aligned. This
commit aligns all accesses on 64bit boundaries regardless of target
platform. This ensures that all types are aligned.

Lock-wise the semaphores were maked as usable when the command had ran
but not when the synchronous stub had finished with it. This lead to a
race condition where sometimes the semaphore got reused before it was
waited on. We now mark the semaphore as free only once we're done
waiting on it.
2019-02-16 04:00:19 +01:00
Hugo Locurcio b54910eb05
Make Button shortcuts triggerable by gamepads
This closes #25741.
2019-02-16 00:29:23 +01:00
Juan Linietsky 4a24ba6e77 -Fixes to undo redo to avoid crash, closes #24251
-Changed Animation to have a special signal when tracks are changed, to avoid unnecesary track cache rebuilds in AnimationPlayer
-Added missing emit_changed whe modifying keys to Animation
-Changed AnimationPlayer to use the new refcounted connections instead of the previous hacky way to keep references
-Changed AnimationEditor to update the current track when keys are edited
-Fixed bug where undo/redo did not work with AnimationKeyEdit (was not being updated)
-Made sure UndoRedo does not mind deleted objects in undo/redo history, this would corrupt the history or clear it without need.
2019-02-14 10:22:34 -03:00
Rémi Verschelde 5fc86026ca Fix typos with codespell
Using codespell 1.14.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde 55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00
Aaron Franke 06df7b0963 [Core] Transform2D add set_scale and fix set_rotation
Note: These are still not exposed to GDScript
2019-02-12 17:59:29 -05:00
QbieShay c4eb974a8a Added a setting for files in which the editor should search (project wise).
Remembers the tickboxes but only during the same execution

Fixes #25440
2019-02-12 21:24:07 +01:00
Rémi Verschelde c4835c4345
Merge pull request #25721 from neikeq/ww
Use script instance binding for objects constructed from C#
2019-02-12 15:29:25 +01:00
Rémi Verschelde b7cc2bb1e2 Core: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`

Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Rémi Verschelde 13c50e8aa5
Merge pull request #25481 from hpvb/fix-ubsan-asan-reports
Fix many asan and ubsan reported issues
2019-02-12 12:21:01 +01:00
Rémi Verschelde b6e03d927e
Merge pull request #25727 from aaronfranke/matrix3-basis
[Core] Rename Matrix3 file to Basis
2019-02-10 12:32:32 +01:00
Chaosus f946b28f75 Fix random generation, to not retrieve 0 after seed() 2019-02-10 14:16:02 +03:00
Rémi Verschelde 034cd62a77 Warn when using GPU particles with GLES2
Closes #25733.
2019-02-09 20:49:58 +01:00
Aaron Franke 3f837d5cc5 [Core] Rename Matrix3 file to Basis
The code already referred to "Basis", it's just the file name that was different for some reason.
2019-02-09 14:42:23 -05:00
Ignacio Etcheverry 9df44c2d2c Use script instance binding for objects constructed from C#
Only possible if the object class is a "native type". If the object class is a user class (that derives a "native type") then a script is needed.
Since CSharpLanguage does cleanup of script instance bindings when finished, cases like #25621 will no longer cause problems.

Fixed ~Object() trying to free script instance bindings after the language has already been removed, which would result in a NULL dereference.
2019-02-09 00:32:18 +01:00
Rémi Verschelde 1772d6fa23 Image: Fix decompressing ETC2
Thanks to @Rriik for finding the bug and its cause.

Fixes #25595.
2019-02-08 17:26:47 +01:00
Ignacio Etcheverry 3233083f63 Mono: Lifetime fixes for CSharpInstance and instance binding data
Avoid CSharpInstance from accessing its state after self destructing (by deleting the Reference owner).
It's now safe to replace the script instance without leaking or crashing.

Also fixed godot_icall_Object_weakref return reference being freed before returning.
2019-02-03 06:47:25 +01:00
Ignacio Etcheverry 4e4e889c75
Merge pull request #25478 from neikeq/rr
Mono: Fix MonoPosixHelper not being found
2019-02-03 06:31:52 +01:00
Ignacio Etcheverry 41873ffa88 Added set_environment to OS class 2019-02-03 05:38:47 +01:00
Rémi Verschelde 463123a661
Merge pull request #25494 from RandomShaper/fix-21677
Let memory stat functions return uint64_t
2019-01-31 10:33:18 +01:00
Bojidar Marinov e34a4c63a7
Fix AStar crashing with large (>1e30) estimated values
Fixes #21601
2019-01-30 20:22:08 +02:00
Pedro J. Estébanez 496d8f19fc Let memory stat functions return uint64_t 2019-01-30 19:07:46 +01:00
Hein-Pieter van Braam d308eb091a Fix many asan and ubsan reported issues
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
2019-01-30 06:43:56 +01:00
Rémi Verschelde cc0842f9a6 Prevent upscaled SVG from exceeding Image bounds
Also expose Image MAX_WIDTH and MAX_HEIGHT.

Fixes #24455.
2019-01-28 16:00:15 +01:00
Juan Linietsky 11642b92d1 Avoid cyclic resource loading of any type, fixes #22673 2019-01-27 19:24:55 -03:00
Rémi Verschelde c3b0ee5941 Fix code style issues 2019-01-26 22:35:31 +01:00
Juan Linietsky c2f59de212 Warn of invalid pointer when converting object to RID, closes #19023 2019-01-26 15:41:26 -03:00
Marcelo Fernandez fd59732298 Expose InputEventMIDI to scripts 2019-01-23 09:09:03 -03:00
Rémi Verschelde a0581cca1f Revert "Revert "Update random_pcg.h""
This reverts commit 6f704c338a.

Sorry about this, this was a test and not meant to be pushed to master. :/
2019-01-23 10:36:36 +01:00
Rémi Verschelde 6f704c338a Revert "Update random_pcg.h"
This reverts commit 64e584a97e.
2019-01-23 10:30:18 +01:00
Ivan Ponomarev 8edfc3b5ac Fixed possible crash in pck_packer.cpp due to wrong memory freeing. 2019-01-22 20:02:19 +03:00
Juan Linietsky 6fa632b821 Add function to obtain filesystem type from DirAccess.
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
2019-01-21 18:06:14 -03:00
Martin Capitanio a6ab7a91ef Print the path of a corrupt image
After scanning a path in the project manager or starting a project it is not clear which
image can not be loaded.

After errors

```
    ERROR: _png_error_function: Not a PNG file
       At: drivers/png/image_loader_png.cpp:62.
    libpng error: Not a PNG file
    ERROR: _load_image: PNG Corrupted
       At: drivers/png/image_loader_png.cpp:94.
```

add

```
    ERROR: load_image: Error loading image: path/bad.png
       At: core/io/image_loader.cpp:69.
```
2019-01-20 04:19:12 +01:00
Leon Krause 35466475fe Fix HTML5 build warning 2019-01-20 00:12:50 +01:00
Fabio Alessandrelli 60d235622d Don't reset MultiplayerAPI when setting same peer.
A GDScript call to:
`multiplayer.network_peer.some_prop = true`
seems to transalte to:
```
var temp = multiplayer.network_peer
temp.some_prop = true
multiplayer.network_peer = temp
```
Which caused the MultiplayerAPI to be resetted.
The call to set_network_peer is now ignored if the peer that's beeing
set is the same as the currently set one.
2019-01-15 11:14:51 +01:00
Fabio Alessandrelli 1f7846abf8 Fix MultiplayerAPI initialization, clear.
rpc_sender_id is now correctly initialized to 0 so get_rpc_sender_id()
work reliably even if called before receiving any RPC.
root_node is initialized to NULL (fix crashes when incorrectly using the
MultiplayerAPI).
clear function now resets the packet cache size to free more memory when
not running.
2019-01-15 10:35:26 +01:00
Rémi Verschelde 7346afb0ee
Merge pull request #24987 from akien-mga/gles2-nvidia-rect-hack-opt-in
GLES2: Make Nvidia flicker workaround opt-in
2019-01-14 20:20:56 +01:00
Juan Linietsky 91290f0ded Added a flag to specify an exported node path must be supplied from scene root, fixes #24412 2019-01-14 15:46:56 -03:00
Rémi Verschelde 02ffc59270 GLES2: Make Nvidia flicker workaround opt-in
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.
2019-01-14 19:02:07 +01:00
Juan Linietsky 6d8083ea65 Do not use the workaround for desktop nvidia on mobile and html5. 2019-01-14 11:24:00 -03:00
Juan Linietsky ae99530a8d Do not allow flushing while already flushing the message queue. Added to help track bugs in ProgressDialog in editor. 2019-01-14 11:04:25 -03:00
Juan Linietsky 4bb0080b3d Do not allow adding tasks while in the middle of flushing a message queue 2019-01-14 11:00:05 -03:00
Rémi Verschelde 9ddf1115bc
Revert "fixed invalid implementation of Plane::intersects_segment and Plane::intersects_ray" 2019-01-13 11:06:34 +01:00
Rémi Verschelde 3652442a92
Merge pull request #24897 from GlaDos28/master
fixed invalid implementation of Plane::intersects_segment and Plane::intersects_ray
2019-01-11 22:56:03 +01:00
Evgeny Savelyev 2c36078be4 fixed invalid implementations of Plane::intersects_segment and Plane::intersects_ray 2019-01-12 00:38:16 +03:00
Poommetee Ketson 2caaa7c97d
Fix error explanation in core_bind Thread::_start_func 2019-01-11 10:12:13 +07:00
Rémi Verschelde 658296856c
Merge pull request #24877 from neikeq/issue-24280
Fix properties being lost when reloading placeholder GDScript instance
2019-01-10 18:02:57 +01:00
Rémi Verschelde e5f1d19352 Consistency in resource format saver/loader de-registration
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.

Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
2019-01-10 12:45:57 +01:00
Ignacio Etcheverry ea85ff0dc2 Fix properties being lost when reloading placeholder GDScript instance
During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing.
The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance.

I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
2019-01-10 01:58:50 +01:00
Juan Linietsky e46f28e02d Removed splits in Polygon editor, replace by internal vertices and polygon support. 2019-01-08 19:11:08 -03:00
Calamander 64e584a97e
Update random_pcg.h
little fix to function types
2019-01-07 23:13:16 +01:00
Ibrahn Sahir cbb396c006 Repair String lstrip and rstrip.
Background: lstrip and rstrip were broken by changes to String in:
0e29f7974b
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.
2019-01-07 17:34:44 +00:00
Hein-Pieter van Braam 5e6c6f3bb7
Merge pull request #21708 from hpvb/fix-21242v2
String[size()] should return a default constructed CharType
2019-01-04 20:57:22 +01:00
Hein-Pieter van Braam ac99ed3cda String[size()] should return a default constructed CharType
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.
2019-01-04 17:48:03 +00:00
Rémi Verschelde 70de8ca9a9
Merge pull request #24585 from Xrayez/fix-crash-hex-number
Fix crash when checking empty string for valid hex number
2019-01-04 16:19:29 +01:00
Rémi Verschelde 578c6316c8
Merge pull request #24732 from hpvb/vector-pod-optimization
Optimizations for trivial types
2019-01-04 15:09:05 +01:00
Guilherme Felipe e64391f47b Update zstd to 1.3.8 2019-01-03 22:35:20 -02:00
Hein-Pieter van Braam 4240e3d668 Optimizations for trivial types
Relying on various compiler primitives we can reduce the work done
in our memory allocators and CowData. For types with trivial ctors or
dtors we can skip looping over all elements when creating, resizing,
and destroying lists of objects.

These primitives are supported by clang, msvc, and GCC. However, once
we've moved to C++11 we can rely on several std:: primitives that do
the same thing and are standardized.

In my testing the extra conditionals introduced here get removed from
the generated program entirely as the results for these primitives is
known at compile time.
2019-01-03 08:47:34 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde 2e39e38c10 doc: Sync classref with current source
Fix various code formatting issues and argument names.
2018-12-27 11:10:18 +01:00
Andrii Doroshenko (Xrayez) b8f1fe9ed8 Bind `is_valid_hex_number` string method to GDScript 2018-12-24 20:54:36 +02:00
Andrii Doroshenko (Xrayez) c891cf32ca Fix crash when checking empty string for valid hex number 2018-12-24 20:06:35 +02:00
Rémi Verschelde 616beb1041 ProjectManager: Warn when projects have different config_version
When opening projects for edition through the project manager, the
following checks are now done:

1. If the config_version is lower than the one used by the current
   engine version, users are asked if they want to convert to the new
   format or abort editing. Fixes #20626.
2. If the config_version is higher than the expected one (project
   from a more recent and incompatible engine version), projects are
   grayed out and can't be edited. Fixes #18758.

When editing from the command line, the behaviour is unchanged:
projects in situation (1) are automatically converted, while projects
in situation (2) show an error message (made more explicit).

The "Run" option from the project manager was not changed, so it will
still run (1) projects without converting them, and fail running (2)
projects.

Co-authored-by: groud <gilles.roudiere@gmail.com>
2018-12-21 12:45:27 +01:00
Rémi Verschelde d8067e905c
Merge pull request #24500 from akien-mga/drop-global_defaults
Core: Drop unused global_defaults logic
2018-12-20 11:49:32 +01:00
Rémi Verschelde 9cb18232c2 Core: Drop unused global_defaults logic
It used to be used for Android and iOS to specify platform-specific
project settings overrides, but we now have feature tags for that.
2018-12-20 11:02:49 +01:00
volzhs 84d060c768 Added OS.get_system_time_msecs() 2018-12-20 18:50:50 +09:00
Mateus Felipe C. C. Pinto ca1935d6f7 Add settings for single-quotes on completion 2018-12-18 12:48:36 -02:00
Rémi Verschelde 7fdb324647
Merge pull request #24388 from Chaosus/fix_csv_spam
Removed error message arriving whenever csv file changed
2018-12-17 08:04:57 +01:00
Rémi Verschelde 9c7bc127b9
Merge pull request #24385 from hpvb/reduce-string-coew
Reduce String CoW
2018-12-16 19:13:35 +01:00
Hein-Pieter van Braam 4e25e5066b Reduce String CoW
By introducing an intermediate proxy class for the array subscript
operator for String and CharString we can control better when CowData
will actually CoW.

This should improve performance of String usage for most cases.
2018-12-16 16:51:38 +01:00
Rémi Verschelde 9df7ed59fb
Merge pull request #19501 from Zylann/custom_loaders
Added basic support for custom resource savers and loaders
2018-12-16 14:26:56 +01:00
Chaosus 70c3270dfa Removed error message arriving whenever csv file changed 2018-12-16 07:09:33 +03:00
Marc Gilleron 065e2670af Added basic support for custom resource savers and loaders 2018-12-15 05:34:53 +00:00
Hein-Pieter van Braam 3ef7ecf546 Don't allocate in Vector's ctor
By relying on the fact that a struct or class's first member has the
same address as the struct itself we can cast VectorWriteProxy<T> to
Vector<T> and access the CowData field.

This allows a Vector to be moved in memory without invalidating the
pointer to the cowdata field.
2018-12-14 20:07:35 +00:00
Rémi Verschelde f11047aa81
Merge pull request #21856 from AlexHolly/fix-undo-not-showing-error
Fix undo redo not showing errors
2018-12-14 17:13:16 +01:00
Rémi Verschelde 29a527fb90
Merge pull request #23799 from marcelofg55/custom_ps
Add application/config/project_settings_override option to override project settings
2018-12-14 08:58:29 +01:00
Marcelo Fernandez 8dad3811c5 Add application/config/project_settings_override option to override project settings 2018-12-13 18:23:51 -03:00
Rémi Verschelde a1954e51e8
Merge pull request #24135 from Chaosus/rng
Added ranged integer generation function to RNG class
2018-12-12 14:07:47 +01:00
Rémi Verschelde c8a5400654
Merge pull request #24241 from Rubonnek/move-to-initializer-list
Moved member variables to initializer list
2018-12-12 09:25:34 +01:00
Wilson E. Alvarez 08f22f1cf0
Moved member variables to initializer list 2018-12-11 18:33:01 -05:00
Rémi Verschelde 4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +01:00
Xavier Sellier e2c3bbabb0 Feature: Add SHA256 for PoolByteArray 2018-12-10 14:58:47 -05:00
Michael Alexsander Silva Dias e425f2d498 Expose "meta" to the Inspector 2018-12-08 02:27:20 -02:00
Rémi Verschelde fa91944c06
Merge pull request #22630 from dualtagh/22478
22478: Can't duplicate folder with another folder inside
2018-12-07 23:12:06 +01:00
Rémi Verschelde dc2fadc14d
Merge pull request #22733 from guilhermefelipecgs/fix_wm_class
[x11] Use "application/config/name" for WM_CLASS
2018-12-07 22:35:17 +01:00
Rémi Verschelde ce3f3a9f82
Merge pull request #24194 from bojidar-bg/23567-fix-message-queue-overflow
Make thumbnail cache less tasking on the message queue
2018-12-06 20:31:08 +01:00
Bojidar Marinov 68e69fd45b
Make thumbnail cache less tasking on the message queue
Fixes #23567
2018-12-06 17:25:57 +02:00
Chaosus d376be2bf4 Added integer number generation function to RNG class 2018-12-06 14:49:52 +03:00
Rémi Verschelde ceb46e194c
Merge pull request #24090 from RandomShaper/fix-blit-from-negative
Fix blitting from negative position
2018-12-06 12:30:42 +01:00
Ibrahn Sahir a758653199 const char* operator on CharString now const. 2018-12-03 20:25:23 +00:00
Paulb23 69fe17639e Fix text files constantly asking for reload as no last modified time 2018-12-02 16:24:23 +00:00
Pedro J. Estébanez 6dc9a1b475 Fix blitting from negative position 2018-11-30 18:01:00 +01:00
Rémi Verschelde 43f28452e1
Merge pull request #24039 from clayjohn/transform_bug
Construct Transform from Transform2D bug
2018-11-28 18:57:53 +01:00
clayjohn 928ca2e1f2 construct transform from transform2d bug 2018-11-28 07:54:22 -08:00
Juan Linietsky db595980bf
Revert "Construct Transform from Transform2D " 2018-11-28 11:16:06 -03:00
Rémi Verschelde 348708cad3
Merge pull request #23976 from clayjohn/transform_bug
Construct Transform from Transform2D
2018-11-28 15:14:02 +01:00
Aaron Franke cb01268562 Fix many errors found by PVS-Studio
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
2018-11-28 05:03:24 -05:00
Juan Linietsky 3a93499f89 Allow signal connecting even if script is invalid (only when compiled with tools), fixes #17070 2018-11-27 19:55:37 -03:00
clayjohn d22bc7413c construct transform from transform2d bug 2018-11-25 21:14:45 -08:00
bruvzg 4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative. 2018-11-23 14:07:48 +02:00
Fabian a01608c389 Improved support for custom image loaders 2018-11-23 08:16:54 +10:30
allkhor eacb8600f4 FileAccess::store_csv_line() don't added unnecessary double quotes. 2018-11-22 19:31:34 +06:00
Juan Linietsky a2a606794c Ensure array and dict editors show edited object IDs, fixes #20225 2018-11-21 22:10:58 -03:00
Rémi Verschelde 173b342ca7 Remove trailing whitespace
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
Rémi Verschelde 16a2c31e53
Merge pull request #23812 from YeldhamDev/clear_history_version_optional
Add argument to UndoRedo's "clear_history()" to not increase the version
2018-11-20 08:49:17 +01:00
Rémi Verschelde 99a4274f51 Make add_property error more explicit on duplicates
Would have helped solve #23800 faster.
2018-11-20 08:47:21 +01:00
Rémi Verschelde 35fbbeb99b
Merge pull request #20627 from malcolmhoward/core-dictionary-get-key
#20488 core dictionary get key
2018-11-19 21:11:55 +01:00
m bf1867aaab Added Python-like .get() method to Dictionary in GDScript #20488
Added .get() method to Dictionary class in GDScript to return the value if the key exists, or return Null if the key does not exist.
2018-11-19 14:03:13 -05:00
Juan Linietsky 60cbb69c7c Increase number of image loaders (why was it this low..), fixes #19037 2018-11-18 22:07:00 -03:00
Michael Alexsander Silva Dias 6ba94d5ca0 Add argument to UndoRedo's "clear_history()" to not increase the version 2018-11-18 19:46:35 -02:00
Juan Linietsky 2d6b994e47 Massive speed up on deleting nodes, fixes #18673
Also makes the editor exit faster
2018-11-18 11:48:21 -03:00
Fabio Alessandrelli 1ef9e9ef6a Properly accept wildcard when binding IPv4 socket.
Also never return null for is_ipv4 to avoid crashes due to engine bug.
(better to get an error and a broken socket then seeing your game crash)
2018-11-18 14:54:40 +01:00
Rémi Verschelde adc0752da7
Merge pull request #23771 from Faless/fix_release_export
Always initialize VariantCall return_type.
2018-11-18 10:46:43 +01:00
Davide Baldo b98263013a Fixed the default value for Input.action_press() from commit 8c45282 2018-11-17 20:45:24 +00:00
Fabio Alessandrelli c449512318 Always initialize VariantCall return_type.
The return_type is used by the GDScript parser (and possibly other
scripting languages), so it MUST be initialized at least.
It could be initialized to Variant::NIL in release, but I see no reason
for not setting the actual value.
See similar issue in 95dfa5b .
2018-11-17 19:06:18 +01:00
Juan Linietsky f141f747de Fix Squish decompression, closes #18109 2018-11-16 19:12:00 -03:00
Juan Linietsky 9e85d17241 Clearing history increments version, else it does not generate an asterisk on modification if the scene was just saved. Fixes #18027.
Still I feel this line was commented for a reason. If you bisect a bug and find
this commit, let me know.
2018-11-16 16:20:10 -03:00
Rémi Verschelde 5d00407388
Merge pull request #23685 from Kanabenki/add-store-csv-line
Add store_csv_line method for File
2018-11-16 15:21:57 +01:00
Juan Linietsky 0b1e93ccd4 -Make sure monitorable cant be flipped while flushing queries, fixes #17330
-Also added set_deferred, this was missing.
2018-11-16 08:49:26 -03:00
Kanabenki 48166a9f3c Add store_csv_line method for File 2018-11-16 11:09:05 +01:00
Juan Linietsky 16022da187 Ensure that array passed to physics is always counter clockwise, fixes #15361. 2018-11-14 15:55:50 -03:00
Rémi Verschelde b2f96b2892
Merge pull request #22940 from Faless/lws_buffers_bis
Better buffering for WebSocket
2018-11-13 09:54:06 +01:00
Chaosus f8151a9e50 Implement random number generator
Co-authored-by: Zirak <zirakertan@gmail.com>
2018-11-13 10:50:07 +03:00
Fabio Alessandrelli c0435959da RingBuffer::decrease_write 2018-11-12 21:49:50 +01:00
Rémi Verschelde 8c45282d21
Merge pull request #23621 from workless/allow_strength_in_action_press
Allow to specify a custom strength when calling Input.action_press(),…
2018-11-10 21:35:07 +01:00
Rémi Verschelde 87d27e1250
Merge pull request #23639 from neikeq/gg
Fix GDScript placeholder fallback
2018-11-10 21:33:19 +01:00
Ignacio Etcheverry 7c4c646749 Fix GDScript placeholder fallback 2018-11-10 20:06:17 +01:00
Davide Baldo 1b0c7515ff Allow to specify a custom strength when calling Input.action_press(), this allows virtual axis, mainly for mobile. 2018-11-10 10:25:59 +00:00
Poommetee Ketson aa311320d9 Fix formatting -0.0 by %+f displays +-0.0 2018-11-09 15:27:06 +07:00
Juan Linietsky da1f53c8d9 User more correct plus file on get_current_dir. 2018-11-08 19:05:12 -03:00
Juan Linietsky f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
Marcelo Fernandez 4de0cbba15 Expose OS::move_window_to_foreground 2018-11-07 11:51:15 -03:00
Aaron Franke 81be9542eb Remove unused "dtoll" methods
These methods aren't used anywhere in Godot's code, and all they do is cast floating types to int64_t. There's no reason to have these lines, they literally do nothing, and they aren't useful functions to begin with.
2018-11-02 05:02:27 -04:00
Juan Linietsky 34426be9a0
Merge pull request #23346 from santouits/you-shall-not-execute
Error running Expression.execute after parse error
2018-11-01 14:02:18 -03:00
Juan Linietsky c8765b459a
Merge pull request #23159 from DavidSichma/string-escape
Fix: String::format Variant to String conversion
2018-11-01 12:54:51 -03:00
Juan Linietsky e647342140 Moved folding outside the resource files, now saved outside the project. 2018-10-29 16:37:09 -03:00
Juan Linietsky 6cc116d415 Ability to revert any property, not just from inherited scenes or scripts. 2018-10-29 12:25:56 -03:00
santouits b0df0b46ac Error running Expression.execute after parse error
There happens a segmentation fault when you use Expression.parse() and you don't check for errors and then run Expression.execute(). So we check if there was a parse error in the execute method now.
2018-10-28 12:13:39 +02:00
lupoDharkael 2380f320e0 Update GDNantive API
Add missing Rect2 methods to GDNative API
Add missing Quat methods to GDNative API
Add missing NodePath methods to GDNative API
Add missing String methods to GDNative API
Add missing Array methods to GDNative API
Add missing Basis methods to GDNative API
Add missing Color methods to GDNative API
Update gdnative_api.json
2018-10-26 17:25:57 +02:00
David Sichma 62848f94ee Fix: String::format Variant to String conversion
Previosly String::format used variant.get_construct_string() to convert
the passed Variants to Strings. This however did not match the expected
printing behavior of some datatypes: Strings for example turned out
escaped.

This fix replaces the call to get_construct_string() with a simple
conversion. This makes String::format consistent with "%s" % "sth" and
formated Variants turn out like printed as expected.
2018-10-25 20:36:49 +02:00
Rémi Verschelde 1169196f04
Merge pull request #22779 from Superwaitsum/LimitSettings
Limit several project settings
2018-10-25 11:38:06 +02:00
Superwaitsum e5041ad0f5 Add some limits on the Editor Settings 2018-10-24 19:46:33 -05:00
Rémi Verschelde 9d926b72e1 Fix .pck lookup for extensionless binary names with a dot
This was not a problem on Windows as binary names are guaranteed to end
with '.exe', but on Unix systems binary extensions are purely cosmetic
and thus optional, which is a problem when using `get_basename()` to
lookup a potential '.pck' file, as it can fail on e.g. "My Game 2.0" (#15188).

To fix this, ProjectSettings::setup now checks for both basename + '.pck'
and filename + '.pck'.

Fixes #15188, supersedes and closes #22755.

Also took the opportunity to improve documentation on this core method.
2018-10-24 20:11:39 +02:00
Dualtagh Murray b902a2f2a7 Fixing warnings generated by MSVC
Fixes #22684.
2018-10-19 11:45:24 +02:00
Andrii Doroshenko (Xrayez) 31f6fad90e Bind missing subresource flag in ResourceSaver 2018-10-18 17:58:44 +03:00
Rémi Verschelde 32afd19541
Merge pull request #22548 from fire/visualscript_whitespace
Visualscript search fixes
2018-10-16 12:54:43 +02:00
K. S. Ernest (iFire) Lee 47b42787e3 Make visualscript search better.
* There were spaces unequally inside the function definitions.
* camelcase_to_underscore() should also work for numbers inside of the camel case.
* Removed the builtin concept
* Capitalize descriptions from methods too.
* Match the visual script functions by removing the empty arguments "( )"
* Add some test cases
2018-10-11 14:22:40 -07:00
Florian Jung 0353182e7b Fix bug with OAHashMap corruption on insertion
When an item has been inserted into an already-occupied slot, and
the original inhabitant of that slot was moved on, it was wrongly
moved with the inserted-item's key/value instead of its own.

This closes #22928.
2018-10-11 12:53:32 +02:00
Rémi Verschelde c730957c42 Revert "Added a check in sort_custom thats test wether the given method exists."
This reverts commit 6415454581.

That patch was correct but Object::has_method is not a reliable way to check
if we can use the given method, as it doesn't support inner classes (#22838).
2018-10-09 09:53:17 +02:00
Rémi Verschelde b17e71b6e5
Merge pull request #22808 from KellyThomas/vector-one
Add ONE constants to Vector2 and Vector3
2018-10-07 18:57:27 +02:00
Rémi Verschelde cebbb2a325
Merge pull request #22827 from qonnop/optimize-interpolation
Optimize interpolation algorithms
2018-10-07 18:56:26 +02:00
exts 18b6f5a6c9 fixes #22828 - res://user had incorrect substr value 2018-10-07 09:49:48 -05:00
qonnop 50fae2b1a7 Optimize interpolation algorithms
Interpolation in the form of va + (vb - va) * c is faster and prevents floating point issues for int/string
Followup to https://github.com/godotengine/godot/pull/22786
2018-10-07 15:43:51 +02:00
Kelly Thomas 215db9ff71 add ONE constants to Vector2 and Vector3 2018-10-07 21:33:18 +08:00
Fabio Alessandrelli 67177586d3 Fix potentially unininitialized pointer write. 2018-10-07 14:50:14 +02:00
Fabio Alessandrelli 83acd5f17e One less local variable in marshalls 2018-10-07 12:56:07 +02:00
Rémi Verschelde d4108573bf
Merge pull request #22705 from DualMatrix/debugging_the_debugger_grand_finale
Cleaned up/Fixed some bugs in the remote inspector code.
2018-10-07 11:42:37 +02:00
Rémi Verschelde bf6dcb9105
Merge pull request #22722 from akien-mga/fix-warnings
Fix more "may be used initialized" warnings from GCC 7
2018-10-07 11:07:13 +02:00
Rémi Verschelde 44d82b3a07
Merge pull request #22752 from aaronfranke/equals-redundant
Remove redundant "== true" and "== false" code
2018-10-07 10:58:45 +02:00
Rémi Verschelde c27b2adb10
Merge pull request #22786 from qonnop/fix-int-interpolation
Fixed int interpolation issue, closes #22763
2018-10-07 10:31:07 +02:00
Aaron Franke 4f7b33cdcf Remove redundant "== false" code
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
Aaron Franke 37386f112b Remove redundant "== true" code
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-10-06 16:12:36 -04:00
Rémi Verschelde 6a37f15e5a Readd mipmaps 'bug' in Image::expand_x2_hq2x, fixing it caused a regression
Fixes #22747.
2018-10-06 17:34:59 +02:00
qonnop bbfc6f6985 Fixed int interpolation issue, closes #22763
When interpolating between two equal int values a and b, floating point
calculation imprecisions can result in different values depending on
the interpolation factor.
2018-10-06 15:52:42 +02:00
Rémi Verschelde 86d384e953
Merge pull request #22783 from eska014/html5-warnings
Fix warnings in HTML5 build outside platform files
2018-10-06 12:51:58 +02:00
Leon Krause 5f45476dc1 Fix warnings in HTML5 build outside platform files 2018-10-06 00:08:17 +02:00
Juan Linietsky f12cb82e0f Fixes to baker, restored xatlas and fixed bake options. 2018-10-05 19:00:32 -03:00
Guilherme Felipe f402253939 [x11] Use "application/config/name" for WM_CLASS 2018-10-05 17:18:10 -03:00
Marc Gilleron c1bba054e6 Don't delete FileAccess when it is null 2018-10-05 20:24:28 +01:00
Rémi Verschelde fc6cf69a90
Merge pull request #22737 from DualMatrix/warn_sort_custom
Added a check in sort_custom that test whether the given method exists.
2018-10-05 09:15:05 +02:00
DualMatrix 6415454581 Added a check in sort_custom thats test wether the given method exists.
Added a check in sort_custom thats test wether the given method exists.
2018-10-04 23:38:31 +02:00
Rémi Verschelde 3e9740ac93 Fix more "may be used initialized" warnings from GCC 7
Fixes the following GCC 7 warnings:
```
core/cowdata.h:269:47: warning: 'alloc_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/error_macros.h:163:26: warning: 'nearest_point' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1579:5: warning: 'colormap_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1582:12: warning: 'size_height' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1590:23: warning: 'size_width' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:1599:29: warning: 'pixel_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/math/face3.cpp:207:15: warning: 'tri_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/math/face3.cpp:209:15: warning: 'tri_min' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_scene_gles3.cpp:665:22: warning: 'best_used_frame' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_storage_gles3.cpp:865:27: warning: 'blit_target' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/rasterizer_storage_gles3.cpp:980:29: warning: 'blit_target' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::frag_id' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::id' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/gles3/shader_gles3.h:122:9: warning: '<anonymous>.ShaderGLES3::Version::vert_id' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/plugins/script_editor_plugin.cpp:1980:31: warning: 'se' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/scene_tree_dock.cpp:840:30: warning: 'new_node' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'a1' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'lll' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4259:9: warning: 'lul' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4260:9: warning: 'a2' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4261:9: warning: 'a3' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4265:3: warning: 'enable_lin' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4294:3: warning: 'enable_ang' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4311:34: warning: 'll' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/spatial_editor_gizmos.cpp:4311:34: warning: 'ul' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1655:47: warning: 'cone_dirs' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1656:73: warning: 'cone_weights' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/gui/texture_progress.cpp:181:6: warning: 'cp' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/gui/texture_progress.cpp:181:6: warning: 'cq' may be used uninitialized in this function [-Wmaybe-uninitialized]
servers/physics/shape_sw.cpp:1056:19: warning: 'support_max' may be used uninitialized in this function [-Wmaybe-uninitialized]
```
2018-10-04 18:54:20 +02:00
Simon Wenner 10718b0961 Fix some cppcheck errors
cppcheck: fix broken pre-processor statement
cppcheck: fix Uninitialized struct members in canvas editor plugin
cppcheck: fix uninitialized struct member: method_api.is_virtual
2018-10-04 18:16:04 +02:00
Rémi Verschelde f5532bb650 Fix unused variable and wrong warning workaround
I had been looking at the wrong line all along when attempting to fix:
```
core/os/memory.cpp:184:13: warning: unused variable 's' [-Wunused-variable]
                uint64_t *s = (uint64_t *)mem;
                          ^
```
2018-10-04 15:38:03 +02:00
DualMatrix c4ac2707dc Cleaned up/Fixed some bugs in the remote inspector code.
Cleaned up/Fixed some bugs in the remote inspector code.

This makes some of my previous code cleaner while resolving a bunch of bugs.
2018-10-04 15:13:44 +02:00
Rémi Verschelde f48ee838e7 Fix GCC 8 warnings about potentially unitialized variables
Fixes the following GCC 8 warnings:
```
core/image.cpp:730:44: warning: 'mip1_weight' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:293:20: warning: 'mip2' may be used uninitialized in this function [-Wmaybe-uninitialized]
core/image.cpp:293:20: warning: 'mip1' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/audio_stream_preview.cpp:58:19: warning: 'vmax' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/audio_stream_preview.cpp:85:19: warning: 'vmin' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/editor_themes.cpp:306:53: warning: 'preset_contrast' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/plugins/animation_blend_space_2d_editor.cpp:459:27: warning: 'prev_idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
editor/plugins/animation_blend_space_2d_editor.cpp:443:27: warning: 'prev_idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
main/tests/test_oa_hash_map.cpp:57:29: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
modules/csg/csg.cpp:764:40: warning: 'max_angle' may be used uninitialized in this function [-Wmaybe-uninitialized]
modules/csg/csg_shape.cpp:1945:3: warning: 'face_count' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1593:8: warning: 'cone_aperture' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/3d/voxel_light_baker.cpp:1592:6: warning: 'cone_dir_count' may be used uninitialized in this function [-Wmaybe-uninitialized]
scene/animation/animation_blend_space_2d.cpp:471:8: warning: 'mind' may be used uninitialized in this function [-Wmaybe-uninitialized]

core/os/memory.cpp:94: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
core/os/memory.cpp:95: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
core/os/memory.cpp:98: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
```
2018-10-04 13:08:41 +02:00
Rémi Verschelde 97b9697ea2 Fix some OSX and iOS Clang warnings
Fixes the following XCode 9.4.1 warnings:
```
core/os/memory.cpp:175:13: warning: unused variable 's' [-Wunused-variable]
drivers/coremidi/core_midi.cpp:68:14: warning: comparison between NULL and non-pointer ('MIDIEndpointRef' (aka 'unsigned int') and NULL) [-Wnull-arithmetic]
drivers/gles2/rasterizer_gles2.cpp:77:24: warning: unused function '_gl_debug_print' [-Wunused-function,34]
drivers/unix/thread_posix.cpp:106:12: warning: unused variable 'running_thread' [-Wunused-variable,34]
modules/gdnative/nativescript/nativescript.h:371:16: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
platform/iphone/gl_view.mm:56:14: warning: unused variable 'video_previous_volume' [-Wunused-variable,34]
platform/iphone/gl_view.mm:251:12: warning: unused function 'get_first_id' [-Wunused-function,34]
platform/iphone/main.m:45:15: warning: unused variable 'app' [-Wunused-variable,34]
platform/osx/os_osx.mm:79:15: warning: unused function 'convertRectToBacking' [-Wunused-function]
```
2018-10-04 11:50:16 +02:00
karroffel a0f206aae8 fix enum cast warnings on clang 2018-10-04 09:17:59 +02:00
Rémi Verschelde dec20a987b Fix some warnings raised by MSVC 2017
Disabled signed/unsigned warnings like for GCC/Clang
(warning C4018: '>=': signed/unsigned mismatch).

Fixes the following MSVC 2017 warnings:
```
core\image.cpp(999): warning C4804: '>': unsafe use of type 'bool' in operation

core\io\compression.cpp(178): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
editor\doc\doc_dump.cpp(226): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
scene/resources/material.h(289): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
scene/resources/material.h(298): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)

editor\editor_themes.cpp(379): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation
```
2018-10-03 17:34:56 +02:00
Rémi Verschelde 95131e6f23 Fix warnings on release builds (not DEBUG_ENABLED)
Fixes the following Clang 5 warnings:
```
modules/bmp/image_loader_bmp.cpp:46:60: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
modules/bmp/image_loader_bmp.cpp:48:61: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
drivers/png/image_loader_png.cpp:231:20: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
scene/gui/graph_edit.cpp:1045:8: warning: comparison of constant 0 with expression of type 'bool' is always false [-Wtautological-constant-out-of-range-compare]

core/class_db.cpp:812:13: warning: unused variable 'check' [-Wunused-variable]
core/io/file_access_pack.cpp:172:11: warning: unused variable 'ver_rev' [-Wunused-variable]
core/math/bsp_tree.cpp:195:13: warning: unused variable 'plane' [-Wunused-variable]
core/math/bsp_tree.cpp:168:6: warning: unused variable 'plane_count' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:685:10: warning: unused variable 'ok' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:706:10: warning: unused variable 'ok' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:755:19: warning: unused variable 'var_type' [-Wunused-variable]
modules/gdscript/gdscript_function.cpp:1306:12: warning: unused variable 'err' [-Wunused-variable]

modules/gdscript/gdscript_function.cpp:158:15: warning: unused function '_get_var_type' [-Wunused-function]
modules/gdscript/gdscript_parser.cpp:750:20: warning: unused variable 'lv' [-Wunused-variable]
modules/gdscript/gdscript_parser.cpp:59:15: warning: unused function '_find_function_name' [-Wunused-function]
scene/main/node.cpp:2489:13: warning: unused function '_Node_debug_sn' [-Wunused-function]
```
2018-10-03 17:34:55 +02:00
Rémi Verschelde 6ab78d9ffb Fix some more warnings reported by CI
Fixes the following Clang 7 warnings:
```
core/io/marshalls.cpp:872:10: warning: unused variable 'f' [-Wunused-variable]

core/ustring.cpp:1831:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
core/ustring.cpp:1832:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]

drivers/gles3/rasterizer_gles3.cpp:82:24: warning: unused function '_gl_debug_print' [-Wunused-function,34]

main/main.cpp:118:13: warning: unused variable 'auto_build_solutions' [-Wunused-variable]

modules/csg/csg_gizmos.cpp:225:46: warning: 'current' may be used uninitialized in this function [-Wmaybe-uninitialized]
```
2018-10-03 14:13:42 +02:00
Juan Linietsky 75c29879b0 Disable forced inline when building in debug. 2018-10-02 13:54:15 -03:00
Dualtagh Murray f325896c80 22478: Can't duplicate folder with another folder inside 2018-10-02 16:21:35 +01:00
Rémi Verschelde c026e3957a Fix warnings on virtual methods [-Woverloaded-virtual] [-Wdelete-non-virtual-dtor]
Fixes the following Clang 7 warnings:
```
editor/editor_help.h:123:7: warning: 'EditorHelpIndex::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:95:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:96:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/curve_editor_plugin.h:141:15: warning: 'CurvePreviewGenerator::generate' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/script_editor_plugin.h:70:7: warning: 'ScriptEditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/quick_open.h:69:7: warning: 'EditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
main/tests/test_io.cpp:53:15: warning: 'TestIO::TestMainLoop::input_event' hides overloaded virtual function [-Woverloaded-virtual]
servers/audio/effects/audio_effect_record.h:69:15: warning: 'AudioEffectRecordInstance::process_silence' hides overloaded virtual function [-Woverloaded-virtual]

core/os/memory.h:119:2: warning: destructor called on non-final 'ContextGL_X11' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'EditorScriptCodeCompletionCache' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'Engine' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'PhysicalBone::JointData' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerScene' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerViewport' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
```
2018-10-02 13:40:17 +02:00
Rémi Verschelde b4c1d40869
Merge pull request #21492 from Maykeye/astar
Changed A* exit condition, added 2 tests for it
2018-10-02 10:30:12 +02:00
Rémi Verschelde ffa8420aec
Merge pull request #22223 from Faless/fix_int32_encode
Fix put_var encoding some 32bits ints as 64bits.
2018-10-02 09:40:21 +02:00
Rémi Verschelde 8cabd31577
Merge pull request #22297 from DualMatrix/no_more_method_not_found_error
Fixed method not found error when connecting with signal that fires in editor
2018-10-02 09:38:57 +02:00
Rémi Verschelde 53fbd93409
Merge pull request #22593 from akien-mga/fix-warnings
Fix various warnings raised by Clang 7
2018-10-02 00:01:31 +02:00
Rémi Verschelde b1b625f4f5 Fix various Clang 7 warnings about unused stuff
Namely:
[-Wunneeded-internal-declaration]
[-Wunused-comparison]
[-Wunused-const-variable]
[-Wunused-function]
[-Wunused-private-fields]

Fixes the following Clang 7 warnings:
```
editor/plugins/script_editor_plugin.cpp:1417:20: warning: function '_find_node_with_script' is not needed and will not be emitted [-Wunneeded-internal-declaration]
editor/scene_tree_dock.cpp:1859:14: warning: function '_find_last_visible' is not needed and will not be emitted [-Wunneeded-internal-declaration]

modules/gdscript/gdscript_parser.cpp:7838:19: warning: equality comparison result unused [-Wunused-comparison]

scene/resources/mesh.cpp:549:35: warning: unused variable '_array_types' [-Wunused-const-variable]
scene/resources/mesh.cpp:563:18: warning: unused variable '_format_translate' [-Wunused-const-variable]

drivers/gles3/rasterizer_scene_gles3.cpp:54:28: warning: unused function 'store_transform2d' [-Wunused-function]

core/io/file_access_network.h:50:6: warning: private field 'ml' is not used [-Wunused-private-field]
core/io/file_access_zip.h:93:14: warning: private field 'archive' is not used [-Wunused-private-field]
core/io/resource_format_binary.h:122:6: warning: private field 'bin_meta_idx' is not used [-Wunused-private-field]
core/message_queue.h:47:9: warning: private field 'mutex' is not used [-Wunused-private-field]
main/tests/test_gui.cpp:63:11: warning: private field 'control' is not used [-Wunused-private-field]
modules/gdscript/gdscript_parser.h:558:7: warning: private field 'completion_static' is not used [-Wunused-private-field]
platform/x11/os_x11.h:148:11: warning: private field 'ip_unix' is not used [-Wunused-private-field]
platform/x11/os_x11.h:180:7: warning: private field 'net_wm_icon' is not used [-Wunused-private-field]
platform/x11/os_x11.h:189:6: warning: private field 'audio_driver_index' is not used [-Wunused-private-field]
platform/x11/os_x11.h:190:15: warning: private field 'capture_idle' is not used [-Wunused-private-field]
servers/physics/body_pair_sw.h:79:6: warning: private field 'cc' is not used [-Wunused-private-field]
servers/visual/visual_server_raster.h:62:7: warning: private field 'draw_extra_frame' is not used [-Wunused-private-field]
```
2018-10-01 17:32:12 +02:00
Rémi Verschelde 686f6ff279 Fix mismatched class/struct definition warnings [-Wmismatched-tags]
Fixes the following Clang 7 warnings:
```
core/object.cpp:44:1: warning: '_ObjectDebugLock' defined as a struct here but previously declared as a class [-Wmismatched-tags]
core/variant_call.cpp:43:1: warning: '_VariantCall' defined as a struct here but previously declared as a class [-Wmismatched-tags]
drivers/gles3/rasterizer_storage_gles3.h:765:2: warning: 'MultiMesh' defined as a struct here but previously declared as a class [-Wmismatched-tags]
editor/editor_node.h:794:1: warning: 'EditorProgress' defined as a struct here but previously declared as a class [-Wmismatched-tags]
modules/bullet/rigid_body_bullet.h:230:17: warning: class 'KinematicUtilities' was previously declared as a struct [-Wmismatched-tags]
modules/bullet/space_bullet.h:60:1: warning: class 'btSoftBodyWorldInfo' was previously declared as a struct [-Wmismatched-tags]
scene/resources/world_2d.cpp:40:1: warning: 'SpatialIndexer2D' defined as a struct here but previously declared as a class [-Wmismatched-tags]
scene/resources/world.cpp:39:1: warning: 'SpatialIndexer' defined as a struct here but previously declared as a class [-Wmismatched-tags]
servers/audio/reverb_sw.cpp:60:1: warning: 'ReverbParamsSW' defined as a struct here but previously declared as a class [-Wmismatched-tags]
thirdparty/bullet/BulletSoftBody/btSoftBody.h:43:1: warning: 'btSoftBodyWorldInfo' defined as a struct here but previously declared as a class [-Wmismatched-tags]
```
2018-10-01 17:02:47 +02:00
Rémi Verschelde 34dec26a50 Add support for '.[0-9]' numbers in Expression
Fixes #21874, supersedes #22065.
2018-10-01 16:06:21 +02:00
Rémi Verschelde 7ad1edcc41
Merge pull request #22572 from akien-mga/fix-warnings
Fix unnecessary parentheses warnings with GCC 8 [-Wparentheses]
2018-10-01 08:14:47 +02:00
Rémi Verschelde 36e02a0fb5
Merge pull request #22537 from Zylann/fix_objectid_leak_thread
Fix dirty read of ObjectID counter when threads are involved
2018-09-30 22:28:41 +02:00
Rémi Verschelde 6d27d2d75e Fix unnecessary parentheses warnings with GCC 8 [-Wparentheses]
Fixes the following GCC 8 warnings:
```
core/object.h:321:32: warning: unnecessary parentheses in declaration of '_get_get' [-Wparentheses]
core/object.h:331:32: warning: unnecessary parentheses in declaration of '_get_set' [-Wparentheses]
core/object.h:341:32: warning: unnecessary parentheses in declaration of '_get_get_property_list' [-Wparentheses]
core/object.h:360:32: warning: unnecessary parentheses in declaration of '_get_notification' [-Wparentheses]
core/object.h:517:32: warning: unnecessary parentheses in declaration of '_get_get' [-Wparentheses]
core/object.h:520:32: warning: unnecessary parentheses in declaration of '_get_set' [-Wparentheses]
core/object.h:523:32: warning: unnecessary parentheses in declaration of '_get_get_property_list' [-Wparentheses]
core/object.h:526:32: warning: unnecessary parentheses in declaration of '_get_notification' [-Wparentheses]
```
2018-09-30 22:25:57 +02:00
Rémi Verschelde 62ecb44035 Fix warning about functions defined but not used [-Wunused-function]
Fixes the following GCC 5 warnings:
```
core/io/zip_io.h:128:26: warning: 'zlib_filefunc_def zipio_create_io_from_file(FileAccess**)' defined but not used [-Wunused-function]
core/script_debugger_remote.cpp:110:17: warning: 'ObjectID safe_get_instance_id(const Variant&)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:103:12: warning: 'int _socket_create(IP::Type&, int, int)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:45:15: warning: 'size_t _set_sockaddr(sockaddr_storage*, const IP_Address&, int, IP::Type)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:76:15: warning: 'size_t _set_listen_sockaddr(sockaddr_storage*, int, IP::Type, IP_Address)' defined but not used [-Wunused-function]
editor/editor_fonts.cpp:40:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
editor/editor_themes.cpp:85:26: warning: 'Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat>, Color)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:493:13: warning: 'void _generate_normals(const PoolVector<int>&, const PoolVector<Vector3>&, PoolVector<Vector3>&)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:524:13: warning: 'void _generate_tangents_and_binormals(const PoolVector<int>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, PoolVector<float>&)' defined but not used [-Wunused-function]
editor/pvrtc_compress.cpp:118:13: warning: 'void _compress_etc(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:89:13: warning: 'void _decompress_etc1(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:93:13: warning: 'void _decompress_etc2(Image*)' defined but not used [-Wunused-function]
modules/gdscript/editor/gdscript_highlighter.cpp:46:13: warning: 'bool _is_whitespace(CharType)' defined but not used [-Wunused-function]
scene/2d/cpu_particles_2d.cpp:510:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/3d/cpu_particles.cpp:474:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:123:20: warning: 'Ref<Shader> make_shader(const char*, const char*, const char*)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:130:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
```

Had to split `core/io/zip_io.h` into header and .cpp file without 'static' keyword.

Not fixed yet (static definition in header used in some files but not all):
```
modules/websocket/lws_helper.h:111:13: warning: 'void _lws_make_protocols(void*, int (*)(lws*, lws_callback_reasons, void*, void*, size_t), PoolVector<String>, _LWSRef**)' defined but not used [-Wunused-function]
```

Also fixed a couple other warnings missed in previous commits.
2018-09-29 22:26:12 +02:00
Marc Gilleron a392d553c2 Fix dirty read of ObjectID counter when threads are involved 2018-09-29 15:45:09 +01:00
Juan Linietsky c83742ba86 -Lightmap and lightmap capture support for GLES2
-Added hint to not show some properties when running on low end gfx
2018-09-28 20:33:18 -03:00
Rémi Verschelde 2091f20443 Fix warnings about wrong member initialization order [-Wreorder]
Fixes the following GCC 5 warnings:
```
core/object.h:193:11: warning: 'MethodInfo::flags' will be initialized after [-Wreorder]
core/object.h:192:15: warning:   'PropertyInfo MethodInfo::return_val' [-Wreorder]
core/object.cpp:278:1: warning:   when initialized here [-Wreorder]
core/script_debugger_remote.h:97:6: warning: 'ScriptDebuggerRemote::max_cps' will be initialized after [-Wreorder]
core/script_debugger_remote.h:91:6: warning:   'int ScriptDebuggerRemote::max_messages_per_frame' [-Wreorder]
core/script_debugger_remote.cpp:1086:1: warning:   when initialized here [-Wreorder]
core/script_debugger_remote.h:98:6: warning: 'ScriptDebuggerRemote::char_count' will be initialized after [-Wreorder]
core/script_debugger_remote.h:92:6: warning:   'int ScriptDebuggerRemote::n_messages_dropped' [-Wreorder]
core/script_debugger_remote.cpp:1086:1: warning:   when initialized here [-Wreorder]
modules/bullet/area_bullet.h:102:7: warning: 'AreaBullet::isScratched' will be initialized after [-Wreorder]
modules/bullet/area_bullet.h:92:39: warning:   'PhysicsServer::AreaSpaceOverrideMode AreaBullet::spOv_mode' [-Wreorder]
modules/bullet/area_bullet.cpp:46:1: warning:   when initialized here [-Wreorder]
modules/bullet/collision_object_bullet.h:127:15: warning: 'CollisionObjectBullet::space' will be initialized after [-Wreorder]
modules/bullet/collision_object_bullet.h:117:7: warning:   'CollisionObjectBullet::Type CollisionObjectBullet::type' [-Wreorder]
modules/bullet/collision_object_bullet.cpp:67:1: warning:   when initialized here [-Wreorder]
modules/bullet/godot_ray_world_algorithm.h:48:7: warning: 'GodotRayWorldAlgorithm::m_ownManifol1d' will be initialized after [-Wreorder]
modules/bullet/godot_ray_world_algorithm.h:46:33: warning:   'const btDiscreteDynamicsWorld* GodotRayWorldAlgorithm::m_world' [-Wreorder]
modules/bullet/godot_ray_world_algorithm.cpp:50:1: warning:   when initialized here [-Wreorder]
modules/bullet/godot_result_callbacks.h:91:18: warning: 'GodotAllConvexResultCallback::m_exclude' will be initialized after [-Wreorder]
modules/bullet/godot_result_callbacks.h:89:6: warning:   'int GodotAllConvexResultCallback::m_resultMax' [-Wreorder]
modules/bullet/godot_result_callbacks.h:93:2: warning:   when initialized here [-Wreorder]
modules/bullet/godot_result_callbacks.h:142:18: warning: 'GodotAllContactResultCallback::m_exclude' will be initialized after [-Wreorder]
modules/bullet/godot_result_callbacks.h:140:6: warning:   'int GodotAllContactResultCallback::m_resultMax' [-Wreorder]
modules/bullet/godot_result_callbacks.h:147:2: warning:   when initialized here [-Wreorder]
modules/bullet/godot_result_callbacks.h:168:18: warning: 'GodotContactPairContactResultCallback::m_exclude' will be initialized after [-Wreorder]
modules/bullet/godot_result_callbacks.h:166:6: warning:   'int GodotContactPairContactResultCallback::m_resultMax' [-Wreorder]
modules/bullet/godot_result_callbacks.h:173:2: warning:   when initialized here [-Wreorder]
modules/bullet/godot_result_callbacks.h:195:18: warning: 'GodotRestInfoContactResultCallback::m_exclude' will be initialized after [-Wreorder]
modules/bullet/godot_result_callbacks.h:191:7: warning:   'bool GodotRestInfoContactResultCallback::m_collided' [-Wreorder]
modules/bullet/godot_result_callbacks.h:199:2: warning:   when initialized here [-Wreorder]
modules/bullet/rigid_body_bullet.h:200:9: warning: 'RigidBodyBullet::gravity_scale' will be initialized after [-Wreorder]
modules/bullet/rigid_body_bullet.h:199:9: warning:   'real_t RigidBodyBullet::mass' [-Wreorder]
modules/bullet/rigid_body_bullet.cpp:258:1: warning:   when initialized here [-Wreorder]
modules/bullet/rigid_body_bullet.h:222:28: warning: 'RigidBodyBullet::force_integration_callback' will be initialized after [-Wreorder]
modules/bullet/rigid_body_bullet.h:219:7: warning:   'bool RigidBodyBullet::isTransformChanged' [-Wreorder]
modules/bullet/rigid_body_bullet.cpp:258:1: warning:   when initialized here [-Wreorder]
modules/bullet/rigid_body_bullet.h:220:7: warning: 'RigidBodyBullet::previousActiveState' will be initialized after [-Wreorder]
modules/bullet/rigid_body_bullet.h:208:6: warning:   'int RigidBodyBullet::maxCollisionsDetection' [-Wreorder]
modules/bullet/rigid_body_bullet.cpp:258:1: warning:   when initialized here [-Wreorder]
modules/bullet/soft_body_bullet.h:69:9: warning: 'SoftBodyBullet::total_mass' will be initialized after [-Wreorder]
modules/bullet/soft_body_bullet.h:68:6: warning:   'int SoftBodyBullet::simulation_precision' [-Wreorder]
modules/bullet/soft_body_bullet.cpp:38:1: warning:   when initialized here [-Wreorder]
modules/bullet/soft_body_bullet.h:76:9: warning: 'SoftBodyBullet::drag_coefficient' will be initialized after [-Wreorder]
modules/bullet/soft_body_bullet.h:61:14: warning:   'btSoftBody* SoftBodyBullet::bt_soft_body' [-Wreorder]
modules/bullet/soft_body_bullet.cpp:38:1: warning:   when initialized here [-Wreorder]
modules/bullet/space_bullet.h:97:22: warning: 'SpaceBullet::solver' will be initialized after [-Wreorder]
modules/bullet/space_bullet.h:95:35: warning:   'btDefaultCollisionConfiguration* SpaceBullet::collisionConfiguration' [-Wreorder]
modules/bullet/space_bullet.cpp:333:1: warning:   when initialized here [-Wreorder]
modules/bullet/space_bullet.h:101:23: warning: 'SpaceBullet::soft_body_world_info' will be initialized after [-Wreorder]
modules/bullet/space_bullet.h:99:23: warning:   'btGhostPairCallback* SpaceBullet::ghostPairCallback' [-Wreorder]
modules/bullet/space_bullet.cpp:333:1: warning:   when initialized here [-Wreorder]
modules/gdnative/nativescript/nativescript.h:79:13: warning: 'NativeScriptDesc::base_native_type' will be initialized after [-Wreorder]
modules/gdnative/nativescript/nativescript.h:73:9: warning:   'String NativeScriptDesc::documentation' [-Wreorder]
modules/gdnative/nativescript/nativescript.h:88:9: warning:   when initialized here [-Wreorder]
modules/gdscript/gdscript.h:296:6: warning: 'GDScriptWarning::line' will be initialized after [-Wreorder]
modules/gdscript/gdscript.h:294:4: warning:   'GDScriptWarning::Code GDScriptWarning::code' [-Wreorder]
modules/gdscript/gdscript.h:303:2: warning:   when initialized here [-Wreorder]
scene/3d/physics_body.h:544:7: warning: 'PhysicalBone::simulate_physics' will be initialized after [-Wreorder]
scene/3d/physics_body.h:543:7: warning:   'bool PhysicalBone::_internal_static_body' [-Wreorder]
scene/3d/physics_body.cpp:2502:1: warning:   when initialized here [-Wreorder]
scene/3d/physics_body.h:546:6: warning: 'PhysicalBone::bone_id' will be initialized after [-Wreorder]
scene/3d/physics_body.h:539:12: warning:   'Skeleton* PhysicalBone::parent_skeleton' [-Wreorder]
scene/3d/physics_body.cpp:2502:1: warning:   when initialized here [-Wreorder]
scene/3d/spring_arm.h:44:11: warning: 'SpringArm::mask' will be initialized after [-Wreorder]
scene/3d/spring_arm.h:43:8: warning:   'float SpringArm::current_spring_length' [-Wreorder]
scene/3d/spring_arm.cpp:37:1: warning:   when initialized here [-Wreorder]
scene/animation/skeleton_ik.h:159:11: warning: 'SkeletonIK::target_node_override' will be initialized after [-Wreorder]
scene/animation/skeleton_ik.h:152:7: warning:   'bool SkeletonIK::use_magnet' [-Wreorder]
scene/animation/skeleton_ik.cpp:418:1: warning:   when initialized here [-Wreorder]
scene/resources/tile_set.h:84:9: warning: 'TileSet::AutotileData::size' will be initialized after [-Wreorder]
scene/resources/tile_set.h:83:7: warning:   'int TileSet::AutotileData::spacing' [-Wreorder]
scene/resources/tile_set.h:92:12: warning:   when initialized here [-Wreorder]
scene/resources/tile_set.h:115:12: warning: 'TileSet::TileData::tile_mode' will be initialized after [-Wreorder]
scene/resources/tile_set.h:114:9: warning:   'Color TileSet::TileData::modulate' [-Wreorder]
scene/resources/tile_set.h:120:12: warning:   when initialized here [-Wreorder]
servers/physics/body_sw.h:84:19: warning: 'BodySW::direct_state_query_list' will be initialized after [-Wreorder]
servers/physics/body_sw.h:57:11: warning:   'uint16_t BodySW::locked_axis' [-Wreorder]
servers/physics/body_sw.cpp:756:1: warning:   when initialized here [-Wreorder]
```

Nothing really relevant for us, but it's not a bad consistency
improvement anyway so worth taking.
2018-09-28 17:30:28 +02:00
Rémi Verschelde 3a2ca68af3 SCons: Build thirdparty code in own env, disable warnings
Also remove unnecessary `Export('env')` in other SCsubs,
Export should only be used when exporting *new* objects.
2018-09-28 14:07:39 +02:00
Rémi Verschelde a9e17af09a SCons: Build core's thirdparty code in own environment
Also move Zlib and Zstd's build instructions to core/SCsub.
2018-09-28 11:40:41 +02:00
Rémi Verschelde 7b081a7fc8 Fix warnings about unhandled enum value in switch [-Wswitch]
Fixes GCC 5 warnings of the form:

core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch]
core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch]

Those can be trivial cases where adding a default fallback is the solution,
or more complex issues/hidden bugs where missed values are actually meant
to be handled.
2018-09-27 18:34:30 +02:00
Rémi Verschelde cdc411fd54 Fix various warnings: [-Waddress], [-Wpointer-arith], [-Wwrite-strings], [-Wreturn-local-addr] and more
Fixes the following GCC 5 warnings:
```
core/os/file_access.cpp:49:19: warning: the address of 'FileAccess::create_func' will always evaluate as 'true' [-Waddress]
servers/audio_server.cpp:192:70: warning: comparison with string literal results in unspecified behaviour [-Waddress]

drivers/gles2/rasterizer_storage_gles2.cpp:4095:90: warning: NULL used in arithmetic [-Wpointer-arith]

modules/gdnative/register_types.cpp:237:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
platform/android/export/export.cpp:207:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

modules/gdscript/gdscript.h:150:67: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:119:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:123:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:127:50: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:131:52: warning: returning reference to temporary [-Wreturn-local-addr]

editor/plugins/skeleton_editor_plugin.cpp:34:36: warning: extra tokens at end of #include directive
modules/bullet/bullet_types_converter.cpp:31:9: warning: #pragma once in main file

editor/import/editor_scene_importer_gltf.cpp:1996:51: warning: name lookup of 'i' changed
modules/visual_script/visual_script_property_selector.cpp:402:45: warning: name lookup of 'E' changed
scene/gui/tree.cpp:1268:25: warning: name lookup of 'i' changed
scene/resources/visual_shader.cpp:808:32: warning: name lookup of 'i' changed
```
2018-09-27 16:33:52 +02:00
Rémi Verschelde e5bbcb8bcf Fix warnings for comparison between signed and unsigned integers [-Wsign-compare]
Also turn off -Wsign-compare warnings in the future, we do not consider them important.

Fixes the following GCC 5 warnings:
```
core/node_path.cpp:279:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/oa_hash_map.h:169:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/oa_hash_map.h:314:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles2/shader_gles2.cpp:985:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles3/rasterizer_storage_gles3.cpp:1075:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/pulseaudio/audio_driver_pulseaudio.cpp:343:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/editor_plugin.cpp:525:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/editor_properties_array_dict.cpp:747:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/spatial_editor_plugin.cpp:2078:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/spatial_editor_plugin.cpp:4096:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/sprite_editor_plugin.cpp💯20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:122:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:134:77: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:339:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/etc/image_etc.cpp:222:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/gdnative/register_types.cpp:242:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/gdnative/register_types.cpp:258:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:200:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:222:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:246:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1085:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1489:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1623:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:206:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:356:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:406:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:493:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/audio_stream_player_3d.cpp:420:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/audio_stream_sample.cpp:565:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/audio_stream_sample.cpp:571:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_rb_resampler.cpp:156:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
```

The following warnings were not fixed, as they implied casting for no gain:
```
core/io/packet_peer.cpp:228:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/io/resource_format_binary.cpp:109:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles2/rasterizer_scene_gles2.cpp:144:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/unix/file_access_unix.cpp:249:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:889:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:1020:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:1154:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:2255:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/bit_mask.cpp:336:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:141:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:150:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:154:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio_server.cpp:86:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio_server.cpp:89:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
```
2018-09-27 16:25:23 +02:00
Rémi Verschelde d8b30d42f5 Fix warnings for operator precedence disambiguation [-Wparentheses]
Fixes the following GCC 5 warnings:
```
core/io/resource_format_binary.cpp:1721:29: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
core/typedefs.h:108:24: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses]
editor/plugins/spatial_editor_plugin.cpp:2202:58: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses]
editor/plugins/spatial_editor_plugin.cpp:5002:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
main/input_default.cpp:346:59: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
main/input_default.cpp:348:60: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
main/input_default.cpp:579:57: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
modules/gridmap/grid_map_editor_plugin.cpp:613:14: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
modules/theora/video_stream_theora.cpp:335:34: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
modules/theora/video_stream_theora.cpp:336:35: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
modules/visual_script/visual_script_property_selector.cpp:215:38: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/rich_text_label.cpp:424:84: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/rich_text_label.cpp:512:80: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/scroll_container.cpp:173:36: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/scroll_container.cpp:173:86: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/tree.cpp:1419:98: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
```
2018-09-27 10:29:48 +02:00
Fabio Alessandrelli 7e097cd00b Better MultiplayerAPI error logs. 2018-09-25 20:13:45 +02:00
Fabio Alessandrelli f6e8579569 Skip RPC/RSET when MASTERSYNC and we are master. 2018-09-25 17:45:28 +02:00
allkhor 79d6bde5ac Fixed scons warning: Ignoring missing 'core/helper/SCsub' after #22351. 2018-09-23 21:45:35 +06:00
Rémi Verschelde 2c7908739a
Merge pull request #22351 from DualMatrix/remove_obsolete
Removed obsoleted core/helper/value_evaluator.h and moved math_fieldwise to core/math/
2018-09-23 15:27:20 +02:00
DualMatrix f483460e38 Removed obsoleted core/helper/value_evaluator.h and moved math_fieldwise to core/math/
Removed obsoleted core/helper/value_evaluator.h and moved math_fieldwise to core/math/
2018-09-23 14:58:15 +02:00
Rémi Verschelde 87535fe291 Fallback to "en" when invalid locale is requested
Close #22365.
2018-09-23 13:58:01 +02:00
Fabio Alessandrelli b9707ce08f StreamPeer get[_utf8]_string with negative length.
If the "bytes" parameter of get_string and get_utf8_string is negative,
the length will be read from the stream instead.
The bytes parameter has now a default (-1), allowing to use them
directly as reverses of put_string and put_utf8_string .
put_string was not implemented, so I implemented it to allow sending
ASCII strings (which are much smaller than UTF8 ones).
2018-09-22 13:35:41 +02:00
Fabio Alessandrelli 92de6df113 Add checks for clean disconnect in HTTP/TCP/SSL.
Half-open TCP connection can, of course, only be detected by
writing the socket, or waiting for TCP timeout.
2018-09-21 14:34:57 +02:00
DualMatrix 992a5892f1 Fixed method not found error when connecting with signal that fires in editor
Fixed method not found error when connecting with signal that fires in editor.

This is a  better solution to the problem than #22033. As discussed on IRC

This properly fixes #13070 then.
2018-09-21 00:05:39 +02:00
Rémi Verschelde c19dc39630
Merge pull request #22201 from DualMatrix/error_spam_2_electric_boogaloo
Fixed error spam in remote debugger
2018-09-20 14:45:21 +02:00
Aaron Franke 5f4f9ca4a5 Fix: Strip integer part in "decimals"
Note: Core only.
2018-09-19 23:47:33 -04:00
DualMatrix 54286e1711 Fixed error spam in remote debugger
Fixed error spam in remote debugger.
2018-09-19 11:32:11 +02:00
Fabio Alessandrelli dba8c3999d Fix put_var encoding some 32bits ints as 64bits. 2018-09-18 18:31:37 +02:00
Rémi Verschelde c4f14e091c Color: Fix rounding error converting from float to 8-bit
Fixes #16736.
2018-09-18 17:11:15 +02:00
Rémi Verschelde 7f5e653a22
Merge pull request #22066 from Faless/bundle_certs
Bundle SSL certs with the templates
2018-09-16 01:22:47 +02:00
Fabio Alessandrelli 26677d5e0c Fix HTTPClient _get_http_data bug after #21976. 2018-09-15 21:17:15 +02:00
Fabio Alessandrelli 0e56377e96 Allow system certs file to be used by Editor.
Note, it will only used by the Editor, not when running the game.
This allows package maintainer to compile Godot to use system installed
certificates when accessing the AssetLib.
2018-09-15 14:45:54 +02:00
Fabio Alessandrelli d2b38aabec Bundle SSL certs with the templates.
If this is undesired it can be avoided by specifying builtin_certs=no .
Bundled SSL certs will be used unless you specify an override in:
Project Settings -> SSL -> Certificates .
2018-09-15 10:54:00 +02:00
Rémi Verschelde 4547e22393 doc: Sync classref with current source 2018-09-15 03:13:47 +02:00
Fabio Alessandrelli 1e9b46d687 Clearly deprecate sync too in favor of remotesync.
NOTE: This changes the RPC_MODE_* enum values.
Games should be re-exported. GDNative rebuilt.
2018-09-15 00:06:03 +02:00
Fabio Alessandrelli d6b31daec6 Rename slave keyword to puppet
The slave keyword will still be available as deprecated in 3.1 but will
be dropped from future releases.
2018-09-15 00:06:03 +02:00
Rémi Verschelde c9df3fbfdb
Merge pull request #21954 from isaacremnant/fix_inputs
Fix is_action_pressed for InputEventActions
2018-09-14 18:06:11 +02:00
elasota 88c74aa017 Fix FileAccessCompressed::get_8 returning 0 for the last byte of a file 2018-09-13 19:10:35 -04:00
Rémi Verschelde 1259cbf13c
Merge pull request #21976 from Faless/http_client_eof_fix
Fix non chunked HTTP reading till eof.
2018-09-13 11:17:14 +02:00
Rémi Verschelde 3d0638b8e9
Merge pull request #22020 from Faless/tcp_fix
Fix TCP connecting state not set correctly
2018-09-13 11:04:01 +02:00
Rémi Verschelde 1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
Fabio Alessandrelli 3d12eb6ca2 Fix TCP connecting state not set correctly 2018-09-13 08:08:55 +02:00
luz.paz 08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Fabio Alessandrelli 634d057a52 Less verbose ScriptDebugger, message on connect.
Short diff, long explaination:

This will hopefully clarify whether or not issues are about the dubgger
like the case of the never ending thread about MacOS "Remote debugger
fails", which started as a real issue, and ended up being referenced for
every strange OSX issue where the window was not visible or the engine
crashed without appearing on screen.
2018-09-13 01:57:58 +02:00
Fabio Alessandrelli 30327872e0 Unify StreamPeerTCP/TCP_Server with NetSocket API 2018-09-12 15:56:20 +02:00
Fabio Alessandrelli 1b99806b47 Unify PacketPeerUDP using NetSocket 2018-09-12 15:56:16 +02:00
Fabio Alessandrelli b4e3be7519 New NetSocket interface, BSD/Win implementation
Unified BSD and Winsock sockets into a single implementation of a
generic NetSocket interface.

This is some ground work for few network improvements:
- Reuse as much code as possible between Posix and Windows.
- Provide a single point of implementation for exotic sdks (consoles).
- Provide platform agnostic StreamPeerTCP and PacketPeerUDP in core.
- Implement connect for UDP allowing for DTLS implementation.
2018-09-12 15:46:37 +02:00
Fabio Alessandrelli ab0e610e86 Fix non chunked HTTP reading till eof. 2018-09-12 12:42:48 +02:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
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.
2018-09-12 09:52:22 +02:00
isaacremnant bf16f89a30 Fix is_action_pressed for InputEventAction. 2018-09-10 15:15:06 -04:00
Alexander Holland f5a8637e7a Fix undo redo not showing errors 2018-09-08 03:14:13 +02:00
DualMatrix 35248a03be Fixed error spam when inspecting remote tree
Fixed error spam when inspecting remote tree, fixes #20365
2018-09-08 00:48:39 +02:00
Juan Linietsky f1e5b7cf42 Print an error if you try to instantiate an editor class outside the editor, fixes #17624 2018-09-06 21:07:46 -03:00
Jared 4ccf25a577 Added multi-monitor support for center_window() 2018-09-03 07:41:04 +03:00
Juan Linietsky 19d57894d8 Change ResourceLoader::load to make it more thread safe. 2018-09-02 14:00:16 -03:00
Michael Alexsander Silva Dias cf183efbcf Change some instances of args named "ev" to "event" 2018-09-01 17:03:41 -03:00
DualMatrix a35286e24b Fixed duplicating AnimationPlayers leaving empty tracks.
Fixed duplicating AnimationPlayers leaving empty tracks.
I don't think duplicating arrays worked before. There was even this weird
//does not make a long of sense but should work
comment at the changed line. Fixes #21616
2018-09-01 13:56:17 +02:00
Rémi Verschelde 9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
Maykeye 40562a67c8 Changed A* exit condition, added 2 tests for it
A* now exits when next node from open set with least cost happens to be end_point,
not when node with least cost has end_point as a neigbour.

Added two tests for astar:
* ABC tests case where start and end node are
neigbours
* ABCX tests case with intermediate nodes
2018-08-28 19:48:07 +06:00
Fabio Alessandrelli 97757cd1d1 Fix DNS resolution when cache is invalid.
Fix StreamPeerTCP.connect_to_host return value.
2018-08-28 12:32:04 +02:00
Juan Linietsky 0565adb20f Removed fallback system and merged bptc into s3tc 2018-08-27 13:47:35 -03:00
Rémi Verschelde 66778eae71
Merge pull request #21420 from elasota/fix-last-mipmap
Fix uninitialized mipmap levels
2018-08-27 17:48:41 +02:00
Rémi Verschelde 72996df656
Revert "Try closing gracefully before terminating process" 2018-08-27 17:32:43 +02:00
Ignacio Etcheverry 78bb53f85d
Merge pull request #21205 from KellyThomas/c-sharp-feature-parity-quat
[Mono] Quat - add some missing constructors and methods
2018-08-27 16:18:09 +02:00
elasota de2a36505a Fix mipmap levels not being initialized 2018-08-25 17:22:53 -04:00
Juan Linietsky 8c435a343e
Merge pull request #16927 from neikeq/rework-refcount-notify
Notify instance binding data api of refcount increment/decrement
2018-08-25 11:01:55 -03:00
Juan Linietsky c6b340ea98
Merge pull request #20712 from marcelofg55/midi_open_close
Add OS::open_midi_inputs and OS::close_midi_inputs
2018-08-24 12:17:14 -03:00
Juan Linietsky c6e3394d55 Fix bug leading to crashes in CSG due to bug in OAHashMap, closes #20403 2018-08-24 10:02:43 -03:00
Rémi Verschelde 52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Rémi Verschelde de59fe04e7 Add print_verbose to print to stdout only in verbose mode
Equivalent of the cumbersome:
if (OS::get_singleton()->is_stdout_verbose())
	print_line(msg);
2018-08-24 09:23:20 +02:00
Kelly Thomas a941684590 mono: Quat - add some missing constructors and methods 2018-08-24 07:56:54 +08:00
Juan Linietsky adc0188d9f Added max() and min() functions to array to return greater or lesser element (or null if data is not of compatible type or empty array). Closes #15697 2018-08-23 15:32:02 -03:00
Juan Linietsky a1b594c2fc Switched AnimatedTexture to a readers-writers lock, solves a race condition and fixes #20221 2018-08-23 13:28:36 -03:00
Rémi Verschelde 92aafa898f
Merge pull request #21305 from Mr-Slurpy/expression-fix
Fixed bugs in expression class
2018-08-23 12:10:54 +02:00
Rémi Verschelde 1e729630d6
Merge pull request #21240 from aaronfranke/mono-project-vector
[Mono] Vector2/3 Project methods
2018-08-23 08:59:26 +02:00
Rémi Verschelde a2acbb0bfb
Merge pull request #21167 from elasota/squish-quality-config
Support higher-quality S3TC compression modes
2018-08-23 08:58:44 +02:00
Daniel Eliasinski fb3506d796 Fixed bugs in expression class 2018-08-23 01:29:24 -04:00
Ignacio Etcheverry 908a30964a Notify instance binding data api of refcount increment/decrement 2018-08-23 01:38:48 +02:00
Juan Linietsky 9c69671611 get rid of default template function arguments, works on cxx03 2018-08-22 17:57:09 -03:00
Juan Linietsky 3fd2fc1e01 Make sure resizing of float and half float images works, fixes #21157 2018-08-22 16:40:43 -03:00
Aaron Franke 434973fb83 [Mono] Vector2/3 Project methods 2018-08-22 13:27:35 -04:00
elasota 4cd866685e Use cluster fit at higher quality levels 2018-08-22 12:05:25 -04:00
elasota 35f6ba5c5d BPTC support 2018-08-21 22:56:04 -04:00
Rémi Verschelde 4bf15d8090
Merge pull request #21236 from dragmz/windows-graceful-close
Try closing gracefully before terminating process
2018-08-21 22:47:21 +02:00
Rémi Verschelde 65c8a49122
Merge pull request #21250 from dragmz/ref-ptr-n(eq)-op
== and != operators for Ref<T> / T*
2018-08-21 21:28:29 +02:00
Rémi Verschelde a319d72071
Merge pull request #21253 from aaronfranke/plane-constants
Rename Plane constants, add to Mono
2018-08-21 21:16:41 +02:00
Rémi Verschelde 28e9aedbdd
Merge pull request #21267 from akien-mga/color-grayscale
Deprecate incorrect Color::gray()
2018-08-21 20:29:56 +02:00
Andrea Catania c153489e25 Added comment to class_db to know how to bind more then 6 params 2018-08-21 18:51:08 +02:00
Rémi Verschelde 2969dffbe3 Deprecate incorrect Color::gray()
This average is not a proper approximation of a grayscale value,
get_v() is better suited for that.

If we want a real to_grayscale() conversion, it's somewhat more
involved: https://en.wikipedia.org/wiki/Grayscale

Remove the deprecated Gray() from C# bindings as it conflicts
with new named color constants.
2018-08-21 17:48:31 +02:00
Marcin Zawiejski a1d2fbdeb2 == and != operators for Ref<T> / T*
This is to prevent crashes for code like:

...
void Material::set_next_pass(const Ref<Material> &p_pass) {

	ERR_FAIL_COND(p_pass == this);
...

that's been fixed in 031f763d4f
2018-08-21 13:25:50 +02:00
Aaron Franke a986686ac4 Rename Plane constants, add to Mono
But I'm not tagging PR as [Core] or [Mono] due to it being a minor change anyway.
2018-08-21 01:35:07 -04:00
Rémi Verschelde f0b914fa68 Remove circle/diamond and NodePath String constants
They were introduced in #14704 but need more discussion IMO,
they don't strike me as core features that would have to be
registered in Variant directly.

Moreover, they currently break the documentation XML as string
constants end up encoded as e.g. `value=""..""`.
2018-08-21 00:23:35 +02:00
Rémi Verschelde 35d232b100
Merge pull request #21228 from Noshyaar/docs-bind
Fix arg name in docs, some copy-paste errors
2018-08-21 00:08:05 +02:00
Marcin Zawiejski ca1c851dbd Try closing gracefully before terminating process
Use a Microsoft recommended way of process termination for the project
process run from the editor. This allows loaded DLLs to receive and handle
DLL_PROCESS_DETACH notification and cleanup any global state before the
process actually exits.
2018-08-20 22:41:06 +02:00
Juan Linietsky 031f763d4f Crash fixes for material and animtree 2018-08-20 16:35:36 -03:00
Poommetee Ketson 76adef2704 Fix arg name in docs, some copy-paste errors 2018-08-21 01:51:19 +07:00
Juan Linietsky c7e4527a88 Massive rewrite to AnimationTree. Many APIs changed in order to:
-Reuse resources
-Expose properties in AnimationTree
2018-08-20 13:39:16 -03:00
Rémi Verschelde 661c9ece7c Add PROPERTY_HINT_PLACEHOLDER_TEXT for String properties
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.
2018-08-20 13:48:05 +02:00
Hein-Pieter van Braam 33669a8bca Remove faces in in QuickHull::build() that we don't need anymore
We delete the faces for consideration in this loop but we can still
sometimes find an edge that connects to this face. We now interate over
all edges and disconnect edges connecting to this face.

This fixes #16560 and fixes #17569
2018-08-20 00:22:47 +02:00
Thomas Herzog 037f4638ab add project method to Vector2/3 2018-08-16 12:52:38 +02:00
Rémi Verschelde 040c6be426
Merge pull request #20560 from willnationsdev/class_icons
Add custom icons to script classes.
2018-08-15 15:16:29 +02:00
Rémi Verschelde 4548ec4a49
Merge pull request #20945 from neikeq/dict-erase-retbool
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-15 01:08:23 +02:00
Rémi Verschelde 5d86b1e155
Merge pull request #21008 from groud/fix_action_init
Fixes initialization of action list
2018-08-15 01:06:58 +02:00
Juan Linietsky 4e55835e48
Merge pull request #18096 from aaronfranke/master
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Juan Linietsky ef5095720b -Deprecate ImageTexture::load
-Add warning to Image::load when loading resources
-Add script binding for get_configuration_warning
2018-08-14 16:53:20 -03:00
Will Nations 6d9cc032e7 Add custom icons to script classes. 2018-08-14 14:18:05 -05:00
Rémi Verschelde b4f579b5ba
Merge pull request #20583 from neikeq/issue-15371
Fix case where exported properties value is lost
2018-08-14 21:08:56 +02:00
Rémi Verschelde 66da2ca320
Merge pull request #20856 from KoBeWi/pretty-dictionary-print
Add some curly braces to make dictionary printing less ambiguous
2018-08-14 20:51:42 +02:00
Ignacio Etcheverry 21d285e30f Dictionary: remove erase_checked(key), make erase(key) return bool 2018-08-14 19:19:05 +02:00
groud 6ccf3d887c Fixes initialization of action list 2018-08-14 18:44:22 +02:00
Rémi Verschelde 7718b90d92
Merge pull request #20443 from AlexHolly/add-string-format-no-index
Added String.format "no index" support
2018-08-14 16:13:34 +02:00
Rémi Verschelde 9a6e4d10b4
Merge pull request #20772 from dragmz/string_copy_oob_read_fix
Fix out of buffer read when copying from a non-null-terminated string
2018-08-14 15:47:34 +02:00
Rémi Verschelde 240462e998
Merge pull request #20992 from Chaosus/conversion_fix
Fix int(String) != int(int) conversion
2018-08-14 15:31:10 +02:00
Rémi Verschelde f33a9db279
Merge pull request #20826 from raphael10241024/mybranch
fix #20390: handle time before year 1970
2018-08-14 09:59:05 +02:00
Chaosus 3b10bd1fa2 Fix int(String) != int(int) conversion 2018-08-14 10:56:10 +03:00
Rémi Verschelde 623529ce2f
Merge pull request #20778 from ibrahn/remove-zero-append-typos
removed some surplus null appends that got typoed in 0e29f7974b59e444…
2018-08-13 12:31:46 +02:00
RaphaelHunter 43825dce47 fix #20390 :get_unix_time_from_datetime and get_date_time_from_unix_time can handle time before year 1970 now 2018-08-13 15:37:27 +08:00
Rémi Verschelde d29ea4337f Fix ResourceLoader::exists() false negative and readd deprecated has() 2018-08-12 12:44:38 +02:00
Aaron Franke cf136a91d6 [Core] Completely kill math_2d.h, change includes 2018-08-11 03:08:34 -05:00
Aaron Franke 14fe7230f4 [Core] Move Vector2i and Rect2i out of math_2d.h 2018-08-11 00:33:01 -05:00
Aaron Franke 2eb8a9749e [Core] Move Rect2 and Transform2D to their own files
Math2D includes Transform2D, which includes Rect2, which includes Vector2.
2018-08-10 23:40:50 -05:00
Aaron Franke 9170d932e3 [Core] Grammar, move defs to defs
Math constant definitions belong in `math_defs.h`. Also, the grammer in these files really needed some updating.
2018-08-10 22:42:02 -05:00
Aaron Franke 28fc195339 [Core] Change math_2d includes to vector2 includes where relevant 2018-08-10 14:59:29 -05:00
Aaron Franke 9d1b5f4e3b [Core] Move Vector2 to its own file
Makes 2D math code easier to read and makes Vector2 consistent with Vector3. In the future, we may move other things out of math_2d as well.
2018-08-10 14:59:29 -05:00
Juan Linietsky 783fd23dea
Merge pull request #19993 from vnen/gdscript-warnings
System for GDScript warnings
2018-08-10 16:22:41 -03:00
George Marques eb48119821
Added system for GDScript warnings
- Count and panel per script.
- Ability to disable warnings per script using special comments.
- Ability to disable warnings globally using Project Settings.
- Option to treat enabled warnings as errors.
2018-08-10 16:00:47 -03:00
Juan Linietsky 852378109f Added function ResourceLoader.exists(), to check if a resource exists. Closes #19140 2018-08-10 15:57:43 -03:00
Juan Linietsky ea3d997f9d
Revert "added get_creation_time function for gdscript" 2018-08-10 13:29:49 -03:00
Juan Linietsky 275e0d5ee4
Merge pull request #18914 from notwarp/master
added get_creation_time function for gdscript
2018-08-10 13:28:47 -03:00
Juan Linietsky c76f444c4e
Merge pull request #14704 from poke1024/colorconstants
Allow some non-integer built-in constants in gdscript
2018-08-10 12:57:20 -03:00
Juan Linietsky b4006f68b3
Merge pull request #15536 from poke1024/fix3327
Fix SortArray crashing with bad comparison functions
2018-08-10 12:51:11 -03:00
Tomasz Chabora 929b416fdb Add some curly braces to make dictionary printing less ambiguous 2018-08-09 21:44:41 +02:00
Marcelo Fernandez da1f1619fe Fix clang compile error 2018-08-09 08:50:06 -03:00
Juan Linietsky a71a5fc0c3 Ability to pass custom variables to expression. 2018-08-08 17:47:51 -03:00
Juan Linietsky 934c641a15 -Add Expression class, used to evaluate expressions
-Added expression evaluation to EditorSpinSlider, fixes #20813, fixes #18932
2018-08-08 17:35:23 -03:00
Juan Linietsky e0456f7976 Make sure warn deprecated uses a volatile bool (for multithreading) 2018-08-07 12:25:48 -03:00
Thomas Herzog 6ffd2d3529
Merge pull request #20636 from goodyttoor/hdr_import
Fix #20564 HDR import fail
2018-08-07 16:37:38 +02:00
Ibrahn Sahir 62f0dd9d57 removed some surplus null appends that got typoed in 0e29f7974b
A couple of null appends got typoed to append a '0' character instead.
Removed them here since String already takes care of the null terminator for us.
2018-08-07 03:30:14 +01:00
Marcin Zawiejski f3b2689aa6 fix out of buffer read when copying non-null terminated strings 2018-08-06 23:51:07 +02:00
Juan Linietsky edde52c8de Added proper import support for 3D and Array textures 2018-08-06 14:56:06 -03:00
Hein-Pieter van Braam b5a20d21f2
Merge pull request #20573 from hpvb/fix-nested-vector-cow
Fix nested Vectors
2018-08-05 22:31:51 +02:00
willnationsdev 417e5457b8 ResourceFormatLoaderImage::get_resource_type now uses file path 2018-08-04 15:14:28 -05:00
Marcelo Fernandez 05fc12ddb6 Add OS::open_midi_inputs and OS::close_midi_inputs 2018-08-04 10:07:46 -03:00
poke1024 9d27bd3c3b Fix SortArray crashing with bad comparison functions 2018-08-04 14:08:34 +02:00
Bernhard Liebl ba974b8d1e Allow some non-integer built-in constants in gdscript 2018-07-31 17:56:48 +02:00
Unknown 7fbb826422 Fix #20564 HDR import fail
Token has extra "0" at the end so it fail condition checking.
2018-07-31 21:34:44 +07:00
Juan Linietsky ac52eb444f Ensure one shot signals are not disconnected while edited, closes #7776 2018-07-29 21:05:31 -03:00
Ignacio Etcheverry f3c7527225 Fix case where exported properties value is lost
Fixes exported property modified values lost when creating a placeholder script instance with a failed script compilation

- Object set/get will call PlaceHolderScriptInstance's new fallback set/get methods as a last resort. This way, placeholder script instances can keep the values for storage or until the script is compiled successfuly.
- Script::can_instance() will only return true if a real script instance can be created. Otherwise, in the case of placeholder script instances, it will return false.
- Object::set_script(script) is now in charge of requesting the creation of placeholder script instances. It's no longer Script::instance_create(owner)'s duty.
- PlaceHolderScriptInstance has a new method set_build_failed(bool) to determine whether it should call into its script methods or not.
- Fixed a few problems during reloading of C# scripts.
2018-07-29 22:40:12 +02:00
Juan Linietsky 317dee95de It is now possible to import images as a separate resource, closes #5738 and likely many others 2018-07-29 16:45:23 -03:00
Hein-Pieter van Braam 2d98b40d47 Fix nested Vectors
When a Vector of Vectors gets resized the 'this' pointer of the Vectors
change. This means that the VectorWriteProxy _parent references get
invalidated. Thanks a lot to @ibrahn for finding the root cause of this.

To fix this we now create a pointer to CowData in Vector (which won't
change when the vectors move) and pass that to the write proxy also.

This fixes #20475
2018-07-29 17:03:35 +02:00
Fabio Alessandrelli feaf03421d Fix marshalls size checks.
Yesterday, when playing around with my network code, I realized there is
a security issue in decode_variant, at least when decoding PoolArrays.
Basically, the size of the PoolArray is encoded in a uint32_t, when
decoding it, that value is cast to int when comparing if the packet is
actually that size causing numbers with MSB=1 to be interpreted as
negative thus always passing the check. That same value though, is used
as uint32_t again to resize the output vector.  For this reason, sending
a malformed packet with declared type PoolByteArray and size of 2^31(+x)
causes the engine to try to allocate 2+GB of pool memory, causing the
engine to crash.

(cherry picked from commit 5262d1bbcc)
2018-07-29 03:00:34 +02:00
dragmz 8fd337e2df fix windows build using python 3.7
fixes NameError (missing "subprocess_main" and "basestring")
2018-07-28 18:13:48 +02:00
Rémi Verschelde 4e4702e386
Merge pull request #20464 from Calinou/add-editor-standalone-feature-tags
Add "editor" and "standalone" feature tags
2018-07-28 10:49:27 +02:00
Rémi Verschelde e6aec27428
Merge pull request #20511 from maksloboda/InputEventActionFix
Fixed shortcuts not working with InputEventActions
2018-07-28 09:48:44 +02:00
Viktor Ferenczi c5bd0c37ce Running builder (content generator) functions in subprocesses on Windows
- 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.
2018-07-27 21:37:55 +02:00
Max c2be1a75a0 Fixed shortcuts not working with InputEventActions 2018-07-27 15:09:41 +03:00
Rémi Verschelde 0494bbc5ca
Merge pull request #20478 from mattiascibien/main_Scene_filter
Fix main scene file filter
2018-07-26 13:45:18 +02:00
Rémi Verschelde 391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +02:00
Mattias Cibien 4462819e63 Fix main scene file filter 2018-07-26 11:48:12 +02:00
Rémi Verschelde 47a7dc7b3c
Merge pull request #18282 from aaronfranke/better-mathf
[Core] [Mono] Fix Color missing int export methods, added 64-bit
2018-07-26 10:48:47 +02:00
Rémi Verschelde 5c8919aac6
Merge pull request #18955 from tagcup/fix_set_scale
Removed incorrect Basis::set_scale().
2018-07-26 10:37:03 +02:00
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
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.
2018-07-26 00:54:16 +02:00
Hugo Locurcio 0254a40817
Add "editor" and "standalone" feature tags
These feature tags can be used to check whether the project was
started from an editor binary or from an export template binary.
2018-07-25 23:27:50 +02:00
Aaron Franke 55d976467d Expose 64-bit Color methods to GDScript and fix/update Color XML doc 2018-07-25 15:35:29 -05:00
Aaron Franke de4b096898 [Core] 64-bit int Color methods 2018-07-25 15:34:24 -05:00
Alexander Holland 2290cc6227 Added String.format "no index" support 2018-07-25 13:23:44 +02:00
Alexander Holland 84db7056b7 Fix format ignores case in placeholder 2018-07-25 12:14:48 +02:00
Rémi Verschelde a501678ba1
Merge pull request #20154 from marcelofg55/midi_driver
Added a new MIDIDriver class
2018-07-25 01:17:57 +02:00
Rémi Verschelde 540da3683f
Merge pull request #20411 from ibrahn/remove-substr-strlen
removed redundant strlen calculation from String::substr
2018-07-24 23:53:37 +02:00
Max Hilbrunner 9377f8db55
Merge pull request #20407 from akien-mga/po-newline-eof
Fix loading PO files with missing newline after last msgstr
2018-07-24 18:12:51 +02:00
Ibrahn Sahir e0df1221bf removed redundant strlen calculation from String::substr 2018-07-24 16:08:45 +01:00
Rémi Verschelde 12d69ef53e Fix loading PO files with missing newline after last msgstr
Fixes #20375.
2018-07-24 13:32:37 +02:00
karroffel 7211fd604c reduce clang warning spam 2018-07-24 12:13:05 +02:00
Wilson E. Alvarez a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
Ignacio Etcheverry 779c9d638e
Merge pull request #15880 from neikeq/better-collections
Mono: Add Dictionary and Array classes
2018-07-23 23:59:04 +02:00
Juan Linietsky b66580927e
Merge pull request #19313 from RandomShaper/improve-image
Image trilinear scaling + Optimization
2018-07-23 16:21:45 -03:00
Pedro J. Estébanez c09734b401 Optimize image scaling routines 2018-07-23 21:08:10 +02:00
Pedro J. Estébanez 8c05c2830c Add trilinear filtering to image scaling 2018-07-23 21:08:10 +02:00
Juan Linietsky dc976cac57
Merge pull request #12678 from AndreaCatania/soft
Soft body
2018-07-23 16:04:32 -03:00
AndreaCatania b204389762 Added function append_array to vector 2018-07-23 12:48:00 +02:00
Marcelo Fernandez ecb071b221 Fix upper/lower case convertion for characters >= 0x80 2018-07-22 14:10:28 -03:00
Marcelo Fernandez 7a5f9fc08e Added a new MIDIDriver class 2018-07-21 09:09:42 -03:00
George Marques 03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Juan Linietsky 6c09cdd136
Merge pull request #20157 from GodotExplorer/image-load-webp
Add webp buffer loader for Image
2018-07-20 12:00:21 -03:00
Rémi Verschelde 8c9e10553c Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
volzhs 515c848ba8 Fix unwanted restarting 2018-07-20 10:41:32 +09:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-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
2018-07-19 19:02:04 -03:00
Juan Linietsky 43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Ignacio Etcheverry 2f69e36cef Add Dictionary::erase_checked(key) method
Same as erase, but it returns a boolean value indicating whether the pair was erased or not.
This method should be removed during the next compatibility breakage, and 'Dictionary::erase(key)' should be changed to return a boolean.
2018-07-18 23:07:31 +02:00
karroffel 43ae1c712f fix nameclash with MSVC 2018-07-18 19:28:26 +02:00
Rémi Verschelde 7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
matthew1006 25e64ffa20 Fixed OS.has_feature not using custom feature tags. 2018-07-18 09:22:59 +01:00
Ibrahn Sahir 8ff52c5923 reworked ustring.rsplit to fix behaviour.
Previous problems include failure to remove the splitter from the last
element found and a possible infinite loop dealing with multi-character
splitter strings.
2018-07-17 20:44:17 +01:00
Max Hilbrunner 2ba1f76870
Merge pull request #20195 from Faless/ssl_handshake
Non-blocking SSL handshake
2018-07-17 12:09:31 +02:00
geequlim c5efe5d625 Add webp buffer loader for Image
Cleanup the code memory load related code for Image
Fix jpeg buff load function always returns OK event failed
2018-07-17 12:03:45 +08:00
Fabio Alessandrelli 9ba8f0d2d8 HTTP client now uses non blocking handshake 2018-07-16 13:08:17 +02:00
Fabio Alessandrelli 99d0b7ba14 Implement non blocking-handshake for StreamPeerSSL 2018-07-16 13:08:17 +02:00
Juan Linietsky a3f1ee5c57 Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
unknown 9cc41a59ac Added support for extra mouse buttons. 2018-07-09 14:34:19 +03:00
Fabio Alessandrelli e82f0fefbc MultiplayerAPI::send_bytes transfer mode support.
Added as extra parameter, allow you to specify which transfer mode to
use for those specific bytes
2018-07-08 09:47:22 +02:00
Max Hilbrunner c41d322e11
Merge pull request #19183 from Nallebeorn/rename-main-scene
Update resource file project settings after renaming/moving the files
2018-07-05 00:44:23 +02:00
Max Hilbrunner c538f2ff80
Merge pull request #19279 from aaronfranke/core-fposmod-fix
[Core] [Math] Fix fposmod() function
2018-07-05 00:35:46 +02:00
Max Hilbrunner dc2d8d4dee
Merge pull request #19229 from RandomShaper/fix-focus-steal
Fix debugger focus stealing
2018-07-05 00:27:08 +02:00
GagaPete 8a4dccc4ce Fix CORS problems due to added headers on JS target
Before this change, missing User-Agent and Accept headers were automatically
added on all platforms. Setting the User-Agent header forces the browser to
do a CORS preflight (see 1) which fails if the HTTP endpoint is not
configured appropriate. It's not neccesary to set either header as the
browser sets them and so this commit disables that functionality on the JS
target.

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2018-07-04 01:56:44 +02:00
Max Hilbrunner 2017119a3d
Merge pull request #19919 from marcelofg55/notif_crash
Add a new notification to detect crashes on native scripts
2018-07-03 18:42:49 +02:00
Benjamin 4cd69e91fc Update resource file project settings on rename 2018-07-03 18:08:41 +02:00
Max Hilbrunner fb838bf1b4
Merge pull request #19192 from marcelofg55/undo_redo_msg
Add a message when there is nothing to Undo or Redo
2018-07-03 17:32:16 +02:00
Juan Linietsky e179bf0726 Ensure, if a texture meant for a normal map is imported and size limit exists, that it's renormalized after resize. 2018-07-03 10:56:31 -03:00
Max Hilbrunner f276e24ea8
Merge pull request #19802 from matthew1006/custom-feature-tag-fix
Fixed project settings overrides not using custom feature tags.
2018-07-03 15:37:02 +02:00
Max Hilbrunner 045944f83a
Merge pull request #19819 from MetaSaval/master
Change the neighbours vector to a set in AStar
2018-07-03 15:32:15 +02:00
Juan Linietsky d280b14e6e Hacked around duplication bug. I think duplicate needs to be even smarter, maybe pass two bools? (containers and/or resources) 2018-07-03 08:34:06 -03:00
Juan Linietsky 7fc2367508 Added ability for SSAO to affect AO textures too 2018-07-02 16:50:52 -03:00
Marcelo Fernandez deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
Juan Linietsky 2dc738ce27 -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
Juan Linietsky b3627e29f0 -Fixes to OBJ importer, option to disable optimization
-Fixes to script language, PlaceHolder can now get and check methods
2018-06-30 19:59:16 -03:00
Danny 9b60bb2c7c Change the neighbours vector to a set in AStar
This fixes an issue where one could not disconnect two points that were connected more than once.
2018-06-27 22:36:38 -07:00
Juan Linietsky eeab3502d5 Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
matthew1006 1844704c20 Fixed project settings overrides not using custom feature tags. 2018-06-27 12:37:55 +01:00
Juan Linietsky 4f5a7ebaec State machine animation node 2018-06-25 16:22:41 -03:00
Juan Linietsky ad4666f8e0
Merge pull request #19193 from tagcup/quat_norm
Fixed Basis -> Quat conversions, added a few safety checks.
2018-06-25 10:58:04 -03:00
Rémi Verschelde 8bf5b50222
Merge pull request #19695 from rraallvv/nocache_gen_master
Add NoCache wrapper to Command (master)
2018-06-22 09:44:45 +02:00
Juan Linietsky 2365fe472b Added auto triangle generation in blend space, using Delaunay. 2018-06-21 22:48:47 -03:00
Juan Linietsky b76143bfde Remove error messages 2018-06-21 18:46:17 -03:00
Rhody Lugo 920224a535 add NoCache wrapper to Command 2018-06-21 03:00:33 -04:00
Max 83b98785b3 Fixed float Color conversions to int types 2018-06-19 22:19:08 +03:00
Juan Linietsky 0a1c1c660f -Added AnimationGraphPlayer (still missing features)
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18 22:12:08 -03:00
Marc Gilleron 4705dc4f00 Expose OS.get_ticks_usec() 2018-06-18 21:03:55 +02:00
Rémi Verschelde 8efbe9ed3d
Merge pull request #19487 from JFonS/better_3d_select
Improve 3D selection
2018-06-13 18:49:35 +02:00
JFonS 9cd1c20f6a Polished 3D selection 2018-06-13 17:52:37 +02:00
Rémi Verschelde d6d8237a5a
Merge pull request #19509 from SaracenOne/ime
IME context detection.
2018-06-13 15:26:50 +02:00
Michael Alexsander Silva Dias 1971baf8a9 Fixed regression making the logger not respect the max files limit. 2018-06-12 12:57:48 -03:00
Saracen c5bdb5b1d8 IME context detection. 2018-06-11 17:22:11 +01:00
Aaron Franke eebe41b1b0 [Core] [Math] Fix fposmod() function
ffff


meth
2018-06-10 15:06:44 -05:00
Andrea Catania 0b7c4db5ee Added functions to get trimesh info 2018-06-07 15:46:17 +02:00
Rémi Verschelde 255d6470ee
Merge pull request #19263 from vnen/fix-get-return
Fix return type of _get() virtual method
2018-05-31 18:47:55 +02:00
Rémi Verschelde 43b7ebf0a0 Style: Apply clang-format (5.0) to some missed files 2018-05-31 09:00:37 +02:00
Juan Linietsky 10cab25f72
Merge pull request #19278 from karroffel/image-rgbe-srgb
added rgbe_to_srgb method to Image
2018-05-30 18:37:21 -03:00
karroffel 130bf14ac8 added rgbe_to_srgb method to Image 2018-05-30 21:16:45 +02:00
Michael Alexsander Silva Dias cf9520ba2e Don't add a period to a log file name if it has no extension. 2018-05-30 11:31:29 -03:00
Max Hilbrunner 63b607257b
Merge pull request #19266 from akien-mga/os-execute-doc
Improve return value and docs on OS.execute regarding blocking/non-blocking variants
2018-05-30 15:00:10 +02:00
Rémi Verschelde f392650be2 Improve return value of OS.execute in blocking/non-blocking variants
Initialized the PID to -2, which will be the value returns in blocking-
mode where the PID is not available. (-1 was already taken to signify an
execution failure).

OS::execute will now properly return a non-OK error code when it fails
to execute the target file.

The documentation was rewritten to be very clear about the differences
between blocking and non-blocking mode.

Fixes #19056.
2018-05-30 12:55:17 +02:00
George Marques 34e2ccc593
Fix return type of _get() virtual method 2018-05-29 23:30:01 -03:00
Fabio Alessandrelli 4524153b6e New sync RPC modes to match all combinations 2018-05-29 20:26:41 +02:00
Fabio Alessandrelli 1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
Max Hilbrunner 4c69a495c9
Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
Max Hilbrunner d0b62ce155
Merge pull request #19021 from Faless/rpc_sync_fix
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
Pedro J. Estébanez 2fcbf9dd81 Fix debugger focus stealing
At least on Windows, the authorization must be given every time, not only at startup.
2018-05-28 21:49:48 +02:00
Rémi Verschelde 4c5dd51eb9 Sync classref with current source
Also fix binding of Basis.slerp
2018-05-28 14:53:15 +02:00
Juan Linietsky 5bb412f389
Revert "Make the performance reporting update frequency customizable" 2018-05-28 08:47:09 -03:00
Rémi Verschelde ced113136b
Merge pull request #19213 from bit-shift-io/master
Fix for not picking up locale of some .po translation files
2018-05-28 12:50:35 +02:00
Rémi Verschelde bce002f5c3
Merge pull request #18410 from GodotExplorer/debugger-inherited-variables
Add inherited variables support for script debugger
2018-05-28 11:59:18 +02:00
Rémi Verschelde 98846b39ee
Merge pull request #18899 from ibrahn/gdscript-license-info
GDScript access to copyright, license, author and donor information.
2018-05-28 11:58:20 +02:00
Fabian 1065f06eef Fix for not picking up locale of some .po translation files 2018-05-28 12:51:05 +09:30
tagcup 9d41161596 Fixed Basis -> Quat conversions, added a few safety checks.
Fixes #19027.
2018-05-27 14:15:47 -04:00
Marcelo Fernandez e9db8964e3 Add a message when there is nothing to Undo or Redo 2018-05-27 12:53:52 -03:00
Max Hilbrunner 130fd6bcb8
Merge pull request #18279 from RandomShaper/allow-naive-http
Allow body-up-to-EOF HTTP responses
2018-05-26 19:58:39 +02:00
Max Hilbrunner 16974d81d8
Merge pull request #18998 from Calinou/customizable-performance-reporting-rate
Make the performance reporting update frequency customizable
2018-05-26 17:31:52 +02:00
Fabio Alessandrelli 19ba3d5da3 New sync RPC modes to match all combinations 2018-05-26 10:43:43 +02:00
Fabio Alessandrelli 9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
Max Hilbrunner acf6c326fb
Merge pull request #14715 from Krakean/string_add_rsplit2
Added rsplit() method to String class
2018-05-23 17:19:35 +02:00
Pedro J. Estébanez 2587fcccee Allow body-up-to-EOF HTTP responses
Implements the same heuristic as Curl (and web browsers): if no `Content-Length`, no `Connection: keep-alive` and no chunked transfer encoding, assume th rest of the data until EOF is the body, gracefully setting the HTTP client back to the disconnected state.

Theoretically, this is not compliant with HTTP 1.1, by which `keep-alive` is the default, but in practice, an explicit header is sent by servers.
2018-05-22 15:08:31 +02:00
Juan Linietsky 9b567cc549 Dictionary editing support in inspector 2018-05-19 17:57:44 -03:00
Ibrahn Sahir 1433c2cbbb GDScript access to copyright, license, author and donor information.
Adds following functions to the Engine singleton:
get_author_info - names of Godot authors
get_copyright_info - detailed source copyright get_license_info
get_donor_info - donor names
get_license_info - full text of licenses used, indexed by license names
get_license_text - the text of the Godot Expat license
2018-05-19 00:40:16 +01:00
Hugo Locurcio 228ae60a63
Make the performance reporting update frequency customizable
The default update frequency has been changed from 1000ms to 250ms.
2018-05-18 11:49:21 +02:00
tagcup 1bba6eeeb9 Removed incorrect Basis::set_scale().
Also added a missing constructor in Basis, and fixed usage of inverse and affine inverse in Transform.
2018-05-17 19:39:04 -04:00
nemerle 2bbe6144ff Fix PoolAllocator::resize for too large p_new_size
The code had a subtle signed/unsigned bug -
```cpp
if( signed - unsigned < 0)
// signed - unsigned is unsigned in c++, so
if( unsigned < 0)
// and thus the if block will never be executed
```

Thus all the following code would be ran, including unnecessary retries
of compacting the pool.
2018-05-17 00:35:47 +02:00
Rémi Verschelde 36a74696d6
Merge pull request #18804 from tagcup/vec_slerp
Add SLERP to Vector{2,3}, optimize Quat's Vector3 rotation.
2018-05-16 23:24:56 +02:00
Guilherme Felipe 35024d4e7b Add missing copyright headers 2018-05-16 14:50:44 -03:00
Daniele Giuliani d315b0fb8a added get_creation_time function for gdscript 2018-05-16 00:50:57 +02:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Juan Linietsky 47d4a011d8
Merge pull request #18545 from vnen/editor-autoload
Enable autoload in editor
2018-05-14 17:59:34 -03:00
Fabio Alessandrelli c7466eb144 Allow sending raw bytes through MultiplayerAPI 2018-05-12 23:17:24 +02:00
tagcup ed7aadcd87 Add SLERP to Vector{2,3}, optimize Quat's Vector3 rotation.
Also even out Basis and Quat APIs a little.
2018-05-12 13:05:04 -04:00
Max Hilbrunner e744d12e56
Merge pull request #18709 from Faless/multiplayer_docs
Rename multiplayer_api to multiplayer, add docs
2018-05-09 01:41:01 +02:00
Hein-Pieter van Braam e668757aa9
Merge pull request #14622 from bruvzg/non-rectangular-windows
Experimental support for windows with per-pixel transparency.
2018-05-08 16:44:35 +02:00
Juan Linietsky 06b076f687
Merge pull request #15305 from poke1024/checks-peer
Checks on input_buffer in PacketPeerStream
2018-05-08 10:45:39 -03:00
Juan Linietsky 06f1d1ae23
Merge pull request #15282 from poke1024/check-obj-class
Check implicit casts on object classes in bound method calls
2018-05-08 10:43:44 -03:00
Fabio Alessandrelli e391b493d5 Internal methods in MultiplayerAPI start with _ 2018-05-08 14:46:52 +02:00
Blazej Floch c45f44d856 Local debugger fixes and extensions
- Adds q/quit option to console debugging
- Adds options (variable_prefix)
- Breaks into debugger with Ctrl-C in local debug mode (Unix/Windows)
- Added option to list all breakpoints
- Fixes add/remove breakpoint bug (invalid path parsing)
- Minor cleanup
2018-05-07 23:17:06 -04:00
Juan Linietsky cb1fc5734b
Merge pull request #17316 from ShyRed/significantdigits
Adjust decimal precision
2018-05-07 20:25:06 -03:00
Juan Linietsky 633bbdb231
Merge pull request #17353 from zmanuel/timer_hysteresis_multiframe_pr1
Use hysteresis for smoother physics update frequency
2018-05-07 19:27:32 -03:00
Juan Linietsky 69a96ff4a6
Merge pull request #15943 from poke1024/geometry-line-line
Add Geometry::line_intersects_line_2d()
2018-05-07 17:54:33 -03:00
Juan Linietsky cbd849d13f
Merge pull request #16033 from poke1024/marshalls-dict
Detects crash-related marshalling errors due to NAN values
2018-05-07 17:51:06 -03:00
Juan Linietsky ff1e7cfbf4 Add is_instance_valid() method to GDScript, ending more than a decade of pain. 2018-05-07 17:30:03 -03:00
Juan Linietsky 80b9edf0f6
Merge pull request #16893 from GodotExplorer/debugger-improvement-3
Save runtime node as scene from remote scene tree.
2018-05-07 16:41:34 -03:00
Juan Linietsky 3f3b4703e4
Merge pull request #18121 from Crazy-P/Resolves-Freeze-on-change-reflection-probe
Resolves editor freezes on change of reflection probe
2018-05-07 15:39:25 -03:00
Juan Linietsky e6b938ef16
Merge pull request #18219 from AlexHolly/fix-image-blit-blend
blit and blend fix when dst<Vector2
2018-05-07 15:23:54 -03:00
Juan Linietsky 863781dd3c
Merge pull request #18505 from AlexHolly/image-point2-helper
add Point2 helper for Image.get_pixel and Image.set_pixel
2018-05-07 12:20:32 -03:00
RaphaelHunter 63e258cc8f add condition check in Imgae::create(...) 2018-05-05 16:46:51 +08:00
Max Hilbrunner 1d47266490
Merge pull request #18501 from touilleMan/clean-variant-_data-RefPtr
Remove unused Variant._data.RefPtr
2018-05-05 06:53:48 +02:00
Max Hilbrunner 5d529ba2e1
Merge pull request #18488 from AndreaCatania/ie0
Added method to clear input events of an action
2018-05-05 06:49:46 +02:00
Alexander Alekseev 26963473a9 Vector3::round, Vector2::round & Vector2::ceil methods were added.
Now both structs (Vector2 & Vector3) have round, floor & ceil methods.
(see #18603)
2018-05-04 12:43:50 +03:00
Juan Linietsky f056b09f5a
Merge pull request #18589 from karroffel/oahashmap-robinhood
updated OAHashMap to use robinhood hashing
2018-05-03 14:47:07 -03:00
karroffel bf24d570bb updated OAHashMap to use robinhood hashing 2018-05-03 17:00:21 +02:00
Rémi Verschelde b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
AndreaCatania c510e2586d Added method to clear input events of an action 2018-05-03 00:26:49 +02:00
Rémi Verschelde 18c28c159d
Merge pull request #17196 from RandomShaper/improve-gui-touch
Implement universal translation of touch to mouse (3.1)
2018-05-02 10:47:49 +02:00
Rémi Verschelde f86a67c4d1
Merge pull request #18520 from paulloz/gdscript-api-string-path
fix API string path
2018-05-02 10:36:25 +02:00
Rémi Verschelde c5fe3d9d93
Merge pull request #18530 from garyo/missing-arg-err
Handle missing arg pointer in Variant::get_call_error_text
2018-05-01 19:17:43 +02:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Rémi Verschelde 85c8953c9f
Merge pull request #16649 from ibrahn/visual-script-release-crash
fix for segfault when using CallBasic in visual script on release build
2018-05-01 17:48:27 +02:00
George Marques decf178033
Enable autoload in editor
- Tool scripts will be executed and can be accessed by plugins.
- Other script languages can implement add/remove_named_global_constant
to make use of this functionality.
2018-05-01 11:44:08 -03:00
Manuel Moos 954f7cca60 Fix #17019 : overrides with unknown base setting
If at the time of the _GLOBAL_DEF call a setting itself was unknown,
the function would always return the supplied default value instead of
checking for overrides. This commit changes that, lookup now always
happens which correctly takes overrides into account.
2018-05-01 16:25:48 +02:00
Rémi Verschelde 5281415a7b
Merge pull request #18428 from groud/fix_input
Fixing input strength and the impossibility to erase action events
2018-05-01 11:15:51 +02:00
Rémi Verschelde 4602e58698
Merge pull request #18355 from ShyRed/fix18344
Keep alpha when changing h, s or v Color property in GDScript
2018-05-01 09:38:50 +02:00
Rémi Verschelde 4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Gary Oberbrunner 8d5c30ce83 Handle missing arg pointer in get_call_error_text
I had a situation coming from godot-python where the caller of
Variant::get_call_error_text() passed null for `p_argptrs`. In
addition to fixing that in the caller, seems like good practice to
defend against that situation in the callee to prevent a crash.

So this patch just substitutes some semi-useful text for the source
type name and keeps going so the user's actual error gets emitted.
2018-04-30 15:30:21 -04:00
Pedro J. Estébanez de9d40a953 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Max Hilbrunner 1ff89b547a
Merge pull request #18284 from mhilbrunner/pck-version
Fix .pck exporting via PCKPacker
2018-04-30 17:11:10 +02:00
Paul Joannon a35c8bbdc7 fix API string path 2018-04-30 09:38:18 +02:00
Juan Linietsky 6244b9e2e1 Add option to renormalize mipmaps when generating them for normalmaps.
Reduces some aliasing.
2018-04-29 21:52:21 -03:00
Ignacio Etcheverry 3a86dffc5e ClassDB API hash now only includes exposed classes 2018-04-29 19:50:33 +02:00
Alexander Holland 97485c8df0 add Point2 helper for Image.get_pixel and Image.set_pixel
image-point2-helper
2018-04-29 15:17:06 +02:00
Geequlim 7e499683a2 Send inherited variables and constants from remote debugger 2018-04-29 20:27:20 +08:00
Emmanuel Leblond c55ef807c0
Remove unused Variant._data.RefPtr 2018-04-29 11:41:36 +02:00
groud 0aa8b35ee6 Fixing input strength and the impossibility to erase action events 2018-04-25 22:32:09 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
George Marques ca25f1e6ea
Merge pull request #18176 from nikibobi/string-trim
Add string trim_prefix, trim_suffix, lstrip and rstrip methods
2018-04-22 12:29:44 -03:00
ShyRed 100a775260 Keep alpha when changing h, s or v on color
When modifying the h, s or v properties of a color in GDScript the alpha value needs to stay unchanged.
2018-04-22 17:00:45 +02:00
Crazy-P e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Rémi Verschelde 8ae042a895
Merge pull request #18280 from groud/fix_input
Fixes left/up axis not mappable as actions
2018-04-19 21:06:17 +02:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Max Hilbrunner a3aa5ad0d0 PCKPacker:pck_start(): Update version 2018-04-19 00:45:22 +02:00
Rémi Verschelde 9a75975042 Fix some Coverity warnings in String API
- StringName::StringName(const StringName &p_name)
  Non-static class member _data is not initialized in this constructor nor in any functions that it calls.

- StringName::_Data()
  Non-static class member idx is not initialized in this constructor nor in any functions that it calls.

- String::num_uint64(...)
  This less-than-zero comparison of an unsigned value is never true. n % base < 0UL.

- String::hex_to_int(...) and String::hex_to_int64(...)
  Execution cannot reach this statement (deadcode)
2018-04-18 22:20:39 +02:00
Gilles Roudiere 7e89dc432c Fixes left/up axis not mappable as actions 2018-04-18 21:38:52 +02:00
Juan Linietsky a2f26a96dc Add a macro to deprecate methods 2018-04-18 14:27:26 +02:00
Rémi Verschelde 3018132244
Merge pull request #18204 from tagcup/quat_scale
Avoid converting Quat to Euler angles when not necessary.
2018-04-18 13:55:35 +02:00
Rémi Verschelde 8e2b29b659
Merge pull request #18227 from bojidar-bg/fix-date-unix-crash
Fix crash resulting from bad month check in core_bind.cpp
2018-04-18 13:30:04 +02:00
Juan Linietsky 1a3688d0cc
Merge pull request #16902 from groud/analog_action_system
Allow actions to provide an analog value
2018-04-18 07:21:29 -03:00
Bojidar Marinov 4b9cf93338
Fix crash resulting from bad month check in core_bind.cpp
Also, make it clear that day is 0-based. This might cause very slight differcies in existing games.
Fixes #18221
2018-04-17 22:44:08 +03:00
bosak 79ecdee496
add string trim_prefix trim_suffix lstrip and rstrip methods 2018-04-17 14:15:43 +03:00
Gilles Roudiere ebfa731012 Allow actions to provide an analog value 2018-04-16 23:20:43 +02:00
George Marques fefee533ae
Fix names of Variant operators 2018-04-16 14:54:49 -03:00
Alexander Holland 7cfdffcdf8 blit and blend fix when dst<Vector2 2018-04-15 22:37:28 +02:00
tagcup a5e0bb447c Avoid converting Quat to Euler angles when not necessary.
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.

Added various missing functions and constructors.

Should close #17968.
2018-04-14 15:53:25 -04:00
Gilles Roudiere e7445c3d82
Merge pull request #18170 from Chaosus/improvewrapf
Small performance fix to wrapf
2018-04-14 15:00:47 +02:00
Chaosus ac4c340a45 Small performance fix to wrapf 2018-04-13 13:50:17 +03:00
Pedro J. Estébanez 00e98458ba Revert "Unify http- and percent- encode/decode"
This reverts commit b76ee30917.
2018-04-12 21:12:34 +02:00
Crazy-P 68dda540fd Fixes incorrect adding to last in self_list
Fixes https://github.com/godotengine/godot/issues/18052
2018-04-11 19:59:41 +08:00
Ruslan Mustakov 1d9a3a9b1c iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.
2018-04-11 14:53:24 +07:00
Poommetee Ketson 72aa87758a
Update classref and docs, fix missing parameters' name 2018-04-11 10:20:22 +07:00
Guilherme Felipe 4f05190fb0 Implement Input.set_default_cursor_shape to change the default shape
Closes #18043
2018-04-10 11:38:34 -03:00
Manuel Moos d5abd4eb75 Add hysteresis to physics timestep count per frame
Add new class _TimerSync to manage timestep calculations.
The new class handles the decisions about simulation progression
previously handled by main::iteration(). It is fed the current timer
ticks and determines how many physics updates are to be run and what
the delta argument to the _process() functions should be.

The new class tries to keep the number of physics updates per frame as
constant as possible from frame to frame. Ideally, it would be N steps
every render frame, but even with perfectly regular rendering, the
general case is that N or N+1 steps are required per frame, for some
fixed N. The best guess for N is stored in typical_physics_steps.

When determining the number of steps to take, no restrictions are
imposed between the choice of typical_physics_steps and
typical_physics_steps+1 steps. Should more or less steps than that be
required, the accumulated remaining time (as before, stored in
time_accum) needs to surpass its boundaries by some minimal threshold.
Once surpassed, typical_physics_steps is updated to allow the new step
count for future updates.

Care is taken that the modified calculation of the number of physics
steps is not observable from game code that only checks the delta
parameters to the _process and _physics_process functions; in addition
to modifying the number of steps, the _process argument is modified as
well to stay in expected bounds. Extra care is taken that the accumulated
steps still sum up to roughly the real elapsed time, up to a maximum
tolerated difference.

To allow the hysteresis code to work correctly on higher refresh
monitors, the number of typical physics steps is not only recorded and
kept consistent for single render frames, but for groups of them.
Currently, up to 12 frames are grouped that way.

The engine parameter physics_jitter_fix controls both the maximum
tolerated difference between wall clock time and summed up _process
arguments and the threshold for changing typical_physics_steps. It is
given in units of the real physics frame slice 1/physics_fps. Set
physics_jitter_fix to 0 to disable the effects of the new code here.
It starts to be effective against the random physics jitter at around
0.02 to 0.05. at values greater than 1 it starts having ill effects on
the engine's ability to react sensibly to dropped frames and framerate
changes.
2018-04-09 22:27:29 +02:00
Crazy-P ae7a9df292 Resolves Inccorect Quaternion Conversion
Fixes https://github.com/godotengine/godot/issues/18025
2018-04-09 14:48:03 +08:00
Juan Linietsky cef01f1f49
Merge pull request #16495 from Chaosus/is_point_in_triangle_fix
Fix is_point_in_triangle function
2018-04-08 18:18:19 -03:00
Juan Linietsky 59cdc5eb9d
Merge pull request #16898 from Lerc/master
add Image::bumpmap_to_normalmap conversion function
2018-04-08 15:52:05 -03:00
Juan Linietsky e9e5aa617e
Merge pull request #17227 from Faless/multiplayer_api
[RFC] MultiplayerAPI refactor
2018-04-08 11:04:16 -03:00
Juan Linietsky 1faea81e15
Merge pull request #17232 from playster000/master
enhance mipmaps, non power of 2 textures
2018-04-08 10:49:13 -03:00
Juan Linietsky 4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky 47ffe107e6
Merge pull request #17967 from Nibodhika/all-device-mode
Allows to map an action to all devices.
2018-04-08 09:04:14 -03:00
Nibodhika 1e28f63bcf Allows to map an action to all devices.
This is accomplished by setting a special value (-1) to the device variable
in the InputEvent that's being used to compare with the one received from the OS.

This special value is invalid for a regular input, so it should be safe.
Implements #17942
2018-04-07 20:08:09 +00:00
Juan Linietsky cd7e9d9642
Merge pull request #17583 from RandomShaper/enhance-uri-utils
Enhance uri utils
2018-04-07 17:07:29 -03:00
Juan Linietsky 5a1a90c3db
Merge pull request #17636 from rainerdeyke/fix_issue_17585
Fixes moving files causes scene corruption
2018-04-07 16:56:02 -03:00
bruvzg ddae098dee
Experimental support for windows with per-pixel transparency (macOS, X11 and Windows). 2018-04-07 17:11:45 +03:00
Andrea Catania 2f9354016f
Fixed signal input variable name 2018-04-06 09:09:40 +02:00
Pedro J. Estébanez 1fc85b87bd Fix buggy percent-encoding
Fixes #17875.
2018-04-05 21:49:44 +02:00
Rémi Verschelde 866254343b
Merge pull request #17827 from bruvzg/macos_shortcut_key_remapping_fix
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.
2018-04-05 13:22:52 +02:00
Rémi Verschelde 1710582473
Merge pull request #17847 from Faless/lws_update
LWS v2.4.2, mbedTLS v2.8.0, Websocket  SSL support
2018-04-03 23:14:01 +02:00
Felix Yang 7d5a40c3e6 Ctrl+Clicking a enum now scrolls down to it in the docs. 2018-04-03 21:56:54 +02:00
Fabio Alessandrelli 490dd9f946 Generalize SSL cert reading from file 2018-04-03 20:13:57 +02:00
bruvzg 5ba984fc8c
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts. 2018-03-28 20:22:59 +03:00
Pedro J. Estébanez 8d8e9d54c8 Enhance HTTPClient.query_string_from_dict() 2018-03-27 19:18:32 +02:00
Pedro J. Estébanez b76ee30917 Unify http- and percent- encode/decode
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative).
This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
2018-03-27 19:18:30 +02:00
Rainer Deyke 31c6d6649f Fixes scene corruption when updating dependencies.
This commit fixes issue #17585: renaming/moving resources can corrupt
scene files.  The corruption was caused by
'ResourceFormatLoaderBinary::rename_dependencies' updating the file
format version field of the affected scene file to the latest version
without actually updating the content of the file to that version,
resulting in a file whose content does not match its file format version
field.  The fix preserves the file format version field and the engine
version fields when renaming dependencies.
2018-03-24 15:08:55 +01:00
Marcelo Fernandez bbd21c2203 Fix for clang warning at distance_to 2018-03-22 13:26:04 -03:00
Marcelo Fernandez 35d21c0881 Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
Rémi Verschelde baa092e99d
Merge pull request #17653 from eska014/rwlock-dummy
Add RWLockDummy for NO_THREADS builds
2018-03-21 17:40:01 +01:00
Leon Krause 25800ffb0e Add RWLockDummy for NO_THREADS builds 2018-03-20 05:37:42 +01:00
Pedro J. Estébanez 536611704a Fix listing files inside directory in pack file
When adding a directory path to the inventory of the pack, an empty file name was being added to the file list. That made `Directory.get_ntext()` signal end-of-list too early so that files in a subdirectory were missed.

Fixes #15801.
Helps with #16798.
2018-03-18 14:04:50 +01:00
Fabio Alessandrelli c531262190
Merge pull request #16947 from Faless/ui_actions
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
Fabio Alessandrelli b0186b41bb
Merge pull request #17237 from RandomShaper/fix-ssl-handshake
Fix HTTPClient SNI support when verify is off
2018-03-15 22:43:34 +01:00
Neil Graham 4bea98de40 change bumpmap_to_normalmap range from [1...255] to [0...255] 2018-03-16 10:22:48 +13:00
Hein-Pieter van Braam 9bc0503c91
Merge pull request #17376 from marcelofg55/file_get_path
Added File.get_path and File.get_path_absolute functions
2018-03-15 22:21:21 +01:00
Hein-Pieter van Braam f8706cbdf2
Merge pull request #17407 from poke1024/fix-hsv-mismatch
Fix mismatch between Color.h and Color.from_hsv()
2018-03-15 22:16:57 +01:00
Rémi Verschelde 99c1323a08
Merge pull request #17388 from Hinsbart/mono_class_name
Mono: Avoid invalid class names.
2018-03-15 19:47:39 +01:00