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
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